type representing an atom
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | id | particle id |
|||
real(kind=dp), | public | :: | charge | particle charge |
|||
real(kind=dp), | public | :: | mass | particle mass |
|||
real(kind=dp), | public, | dimension(:), pointer | :: | coordinate | => | null() | pointer to coordinate of the particle |
real(kind=dp), | public, | dimension(:), pointer | :: | force | => | null() | pointer to force acting on particle |
logical, | public | :: | overlapped | flag indicating that the particle is treated by some other code |
|||
integer, | public | :: | species_id | id of CPMD species |
|||
integer, | public | :: | atom_id | id of CPMD atom |
|||
real(kind=dp), | public | :: | radius | covalent radius |
|||
type(multipoles_type), | public | :: | multipoles | multipoles |
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 |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(nucleus_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), | dimension(:), target | :: | coordinate | ||
real(kind=dp), | intent(in), | dimension(:), target | :: | force | ||
logical, | intent(in) | :: | overlapped |
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 |
type, extends(nucleus_type) :: atom_type
private
!> covalent radius
real(dp), public :: radius
!> multipoles
type(multipoles_type), public :: multipoles
contains
private
procedure :: init_atom
generic, public :: init => init_atom
end type atom_type