fragment types
generic fragment
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | id | fragment id |
|||
integer, | public | :: | num_atoms | number of atoms |
|||
real(kind=dp), | public | :: | charge | total charge |
|||
type(atom_type), | public, | dimension(:), pointer | :: | atoms | array of atoms |
procedure, public :: init => init_fragment | |
procedure, public :: centroid => fragment_centroid | |
procedure, public :: center_of_mass => fragment_center_of_mass | |
procedure, public :: center_of_charge => fragment_center_of_charge |
quantum system representation (currently can only be one per simulation)
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
integer, | public | :: | id | id of the quantum fragment |
|||
integer, | public | :: | num_nuclei | number of nuclei |
|||
real(kind=dp), | public | :: | charge | total charge |
|||
real(kind=dp), | public | :: | nuclear_charge | nuclear charge |
|||
real(kind=dp), | public | :: | electronic_charge | electron charge |
|||
type(nucleus_type), | public, | dimension(:), allocatable | :: | nuclei | array of nuclei |
||
type(cell_type), | public | :: | cell | simulation cell data |
|||
type(density_type), | public | :: | density | grid representation of the electron density |
|||
type(potential_type), | public | :: | potential | grid representation of the external potential |
|||
type(multipoles_type), | public | :: | nuclear_multipoles | nuclear multipole moments |
|||
type(multipoles_type), | public | :: | electronic_multipoles | electronic multipole moments |
procedure, public :: init => init_quantum_fragment | |
procedure, public :: compute_nuclear_multipoles | |
procedure, public :: compute_electronic_multipoles | |
procedure, public :: centroid => quantum_fragment_centroid | |
procedure, public :: center_of_mass => quantum_fragment_center_of_mass | |
procedure, public :: center_of_charge => quantum_fragment_center_of_charge |
compute the fragment centroid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(fragment_type), | intent(in) | :: | this |
compute the fragment center-of-mass
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(fragment_type), | intent(in) | :: | this |
compute the fragment center-of-charge
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(fragment_type), | intent(in) | :: | this |
compute quantum-fragment centroid
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(quantum_fragment_type), | intent(in) | :: | this |
compute quantum-fragment center-of-mass
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(quantum_fragment_type), | intent(in) | :: | this |
compute quantum-fragment center-of-charge
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(quantum_fragment_type), | intent(in) | :: | this |
intialize fragment
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(fragment_type), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | id | |||
type(atom_type), | intent(in), | dimension(:), target | :: | atoms |
Initialize quantum fragment
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(quantum_fragment_type), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | id | |||
type(nucleus_type), | intent(in), | dimension(:) | :: | nuclei | ||
type(cell_type), | intent(in) | :: | cell | |||
type(density_type), | intent(in) | :: | density | |||
type(potential_type), | intent(in), | optional | :: | potential |
compute multipole expansion of the electrostatic potential from a set of nuclei around an origin
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(quantum_fragment_type), | intent(inout) | :: | this | |||
real(kind=dp), | intent(in), | dimension(3) | :: | origin | origin of the multipole expansion |
|
integer, | intent(in) | :: | order | order of the multipole expansion |
compute multipole expansion of the electrostatic potential from an electronic density (which is represented on a grid) around an origin
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(quantum_fragment_type), | intent(inout) | :: | this | |||
real(kind=dp), | intent(in), | dimension(3) | :: | expansion_origin | origin of the multipole expansion |
|
integer, | intent(in) | :: | expansion_order | order of the multipole expansion |
||
integer, | intent(in) | :: | a_start | start index of real space mesh of lattice vector a |
||
integer, | intent(in) | :: | a_end | end index of real space mesh of lattice vector a |