contains particle types
base type for particles
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 |
type representing a nucleus
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 |
procedure, private :: init_nucleus | |
generic, public :: init => init_nucleus |
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 |
procedure, private :: init_atom | |
generic, public :: init => init_nucleus, init_atom |
non-atomic site (e.g. bond midpoints)
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 |
|||
real(kind=dp), | private, | dimension(3) | :: | internal_coordinate | coordinate of site |
||
real(kind=dp), | private, | dimension(3) | :: | internal_force | force acting on site |
||
type(multipoles_type), | public | :: | multipoles | multipoles associated with the site |
procedure, public :: init => init_site |
computes minimum distance between two sets of particles
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(particle_type), | intent(in), | dimension(:) | :: | particles_one | ||
class(particle_type), | intent(in), | dimension(:) | :: | particles_two |
compute centroid of a set of particles
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(particle_type), | intent(in), | dimension(:) | :: | particles |
compute center-of-mass of a set of particles
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(particle_type), | intent(in), | dimension(:) | :: | particles |
compute center-of-charge of a set particles
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(particle_type), | intent(in), | dimension(:) | :: | particles |
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 | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(site_type), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | id | |||
real(kind=dp), | intent(in), | dimension(:) | :: | coordinate | ||
real(kind=dp), | intent(in), | dimension(:) | :: | force | ||
type(multipoles_type), | intent(in), | optional | :: | multipoles | ||
logical, | intent(in) | :: | overlapped |