Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(atom_type), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | id | |||
integer, | intent(in) | :: | species_id | |||
integer, | intent(in) | :: | atom_id | |||
real(kind=dp), | intent(in) | :: | charge | |||
real(kind=dp), | intent(in) | :: | radius | |||
real(kind=dp), | intent(in), | dimension(:), target | :: | coordinate | ||
real(kind=dp), | intent(in), | dimension(:), target | :: | force | ||
type(multipoles_type), | intent(in) | :: | multipoles | |||
logical, | intent(in) | :: | overlapped |
subroutine init_atom(this, id, &
species_id, atom_id, &
charge, radius, &
coordinate, force, &
multipoles, overlapped)
class(atom_type), intent(inout) :: this
integer, intent(in) :: id, species_id, atom_id
real(dp), intent(in) :: charge, radius
real(dp), dimension(:), intent(in), target :: coordinate, force
type(multipoles_type), intent(in) :: multipoles
logical, intent(in) :: overlapped
call this%nucleus_type%init(id, species_id, atom_id, charge, coordinate, force, overlapped)
this%radius = radius
this%multipoles = multipoles
end subroutine init_atom