Cartesius Library
|
Procedures for creating and manipulating atomic and hybrid orbitals. More...
Data Types | |
interface | addhybridorbital |
type | angularpart |
Angular parts of orbitals. More... | |
type | angularpart_ptr |
interface | changehybridcoefficients |
type | hybridatomicorbital |
interface | makehybridatomicorbital |
type | orbital |
All the data fields necessary for orbitals. More... | |
type | orbital_ptr |
type | orbitalbasis |
type | orbitalexpansioncoefficient |
Orbital and its expansion coefficient. More... | |
type | slaterradialpart |
Radial parts of orbitals. More... | |
type | spinorbital |
type | spinorbital_ptr |
type | spinorbitalbasis |
interface | trfmd_hybs_same |
interface | trfmd_hybs_same_ordered |
Functions/Subroutines | |
type(angularpart) function, pointer | pangularpart (l, m) |
integer function | l_and_m_index_sp (l, m) |
Returns an array index corresponding to the order s, px, py, pz, starting from 0. More... | |
subroutine | createatomicorbital (atom, idnum, n, l, m, set_of_primitives, ao) |
Function to make atomic orbital. More... | |
subroutine | setatomicorbitalexpansion (set_of_primitives, ao) |
Adds an orbital expansion to a basis in an atomic basis set based on the provided set_of_primitives More... | |
subroutine | addcreatedatomicorbital_ptr (atom, orb_ptr) |
Supplementary procedure to add an already created atomic orbital (given as a pointer to an orbital_ptr) to the hybrid list of the atom. More... | |
recursive subroutine | createsameorbitalattachedtonewatom (old, new, newAtom) |
Copies all of the data of the given orbital to the new orbital, changing the pAtom pointer. All coefficient pointers in the orbital expansions point to the location of the old expansion coefficients. More... | |
subroutine | createsameatomicorbitalsattachedtonewatom (old_orbitals_list, new_atom) |
Copies all orbitals in the list to the new atom, changing the pAtom pointer. All coefficient pointers in the orbital expansions point to the location of the old expansion coefficients. More... | |
recursive real function | eval_orbital_radial_part (orbital1, r) |
Find the value of the radial part of an orbital at given r value. More... | |
subroutine | getsizeofbasis (part, sizeOfBasis) |
Function which allows to get size of basis of AOs for some polyatomic particles in valence approximation. More... | |
subroutine | getatomicvalenceorbitals (atom, shell) |
Returns an array of orbitals of atoms lighter than Na. More... | |
subroutine | makeorbitalexpansioncoefficient (someOrbital, coef, oec) |
Generates a variable of type orbitalExpansionCoefficient. More... | |
subroutine | makemolecularorbital (id, orbitals, coefficients, mo) |
Creates a molecular orbital with an expansion over input orbitals with their coefficients. More... | |
subroutine | makespinorbitalwithspinalpha (num, someOrbital, AlphaSpinOrbital) |
subroutine | makespinorbitalwithspinbeta (num, someOrbital, BetaSpinOrbital) |
subroutine | generatespinorbitalsfrombasis (basis, spinOrbitals) |
Assigns every odd orbital in the basis spin alpha, and every even one - beta. More... | |
subroutine | sortorbitalarraybynumbers (orbitals) |
Sorts array of orbitals by ID's in ascending order. More... | |
subroutine | sortorbitallistbynumbers (orbitals) |
Sorts linked list of orbitals by ID's in ascending order. More... | |
logical function | sortkeyfororbitals (x1, x2) |
Returns TRUE of the ID of x1 is less than the ID of x2. More... | |
logical function | sortkeyfororbitalpointers (x1, x2) |
Returns TRUE of the ID of x1 is less than the ID of x2. More... | |
logical function | sortkeyforspinorbitals (x1, x2) |
logical function | sortkeyforexpansioncoefficients (x1, x2) |
subroutine | whatisorbitaltype (someOrbital, typeName) |
logical function | isatomicorbital (someOrbital) |
If pAtom and pY pointers are associated, returns true. More... | |
logical function | ismolecularorbital (someOrbital) |
If pAtom pointer is not associated, but the orbital expansion is, returns true. More... | |
logical function | ishybridatomicorbital (someOrbital) |
Is the pAtom and orbital exoansion pointers are associated, but the pY is not, returns true. More... | |
subroutine | whatisspinorbitaltype (someSpinOrbital, typeName) |
logical function | isspinatomicorbital (someSpinOrbital) |
logical function | isspinmolecularorbital (someSpinOrbital) |
logical function | issameorbitals (orbital1, orbital2) |
logical function | issamespinorbitals (spinOrbital1, spinOrbital2) |
logical function | do_aos_belong_to_same_particle (orbital1, orbital2) |
Checks if atomic orbitals belong to the same particles or different. More... | |
subroutine | orbitallisttoarrayptr (orbital_list, orbital_array) |
Converts list of orbitals to allocatable array of type orbital_ptr. More... | |
subroutine | orbitallisttoarray (orbital_list, orbital_array) |
Converts list of orbitals to type orbitalsBasis. More... | |
subroutine | orbitalarrayptrtolist (orbital_array, orbital_list) |
Converts array of type orbital_ptr to list. More... | |
subroutine | orbitalarraytolist (orbital_array, orbital_list) |
Converts orbitalBasis to list of orbitals. More... | |
type(orbital) function, pointer | orbital_from_polymorphic (x) |
Converts a polymorphic pointer to an orbital pointer if possible, else returns a null-pointer. More... | |
type(orbital_ptr) function, pointer | orbital_ptr_from_polymorphic (x) |
Converts a polymorphic pointer to an orbital_ptr pointer if possible, else returns a null-pointer. More... | |
type(orbitalexpansioncoefficient) function, pointer | orbital_expansion_coef_from_polymorphic (x) |
Converts a polymorphic pointer to an OrbitalExpansionCoefficient pointer if possible, else returns a null-pointer. More... | |
logical function | isorbitalprimitive (orb) |
Checks if orbital is atomic primitive (not a linear combination of STOs or others). More... | |
type(list) function, pointer | getorbitals (someParticle) |
Returns the particle's orbitals contained in AttributeList. More... | |
type(list) function, pointer | getorbitalswithangularnumber (someParticle, l) |
From the list returned by GetOrbitals, creates a list of orbitals with given angular number l. More... | |
type(orbital) function, pointer | getorbitalwithquantumnumbers (someParticle, n, l, m) |
type(list) function, pointer | getsorbitals (someParticle) |
From the list returned by GetOrbitals, creates a list of orbitals with angular number zero. More... | |
type(list) function, pointer | getporbitals (someParticle) |
From the list returned by GetOrbitals, creates a list of orbitals with angular number one. More... | |
type(list) function, pointer | getdorbitals (someParticle) |
From the list returned by GetOrbitals, creates a list of orbitals with angular number two. More... | |
type(list) function, pointer | getforbitals (someParticle) |
From the list returned by GetOrbitals, creates a list of orbitals with angular number three. More... | |
type(orbital_ptr) function, dimension(0:3) | getsandporbitals_array_fn (someParticle) |
Returns an array of orbital pointers to s, px, py, pz. If any of the orbitals are not present, the corresponding pointer is null. More... | |
type(list) function, pointer | gethybridorbitals (someParticle) |
Returns the hybrid orbitals of the atom in the form a list. More... | |
type(orbitalbasis) function | gethybridorbitalsarray (someParticle) |
Returns the hybrid orbitals of the atom in the form of an array (type orbitalBasis). More... | |
type(orbital) function, pointer | gethybridorbital_from_coeffs (someParticle, coeffs) |
subroutine | makehybridatomicorbital_from_array_noid (coefs, atom, hybridOrbital) |
Creates a new hybrid orbital with the expansion coefficients (in an array). More... | |
subroutine | makehybridatomicorbital_from_array_ptr_noid (coefs, atom, hybridOrbital) |
Creates a new hybrid orbital with the expansion coefficients pointing to the given data locations. More... | |
subroutine | makehybridatomicorbital_from_array (id, coefs, atom, hybridOrbital) |
Creates a new hybrid orbital with the given expansion coefficients (in an array). Contains an id field for backwards compatibility. More... | |
subroutine | makehybridatomicorbital_from_vals (id, s, px, py, pz, atom, hybridOrbital) |
Creates a new hybrid orbital with the given expansion coefficients. Contains an id field for backwards compatibility. More... | |
subroutine | addhybridorbital_from_array (atom, coefs, outputHybrid) |
Creates a new hybrid with given coefficients (in an array) and adds it to the hybrid list of the atom. More... | |
subroutine | addhybridorbital_from_vals (atom, s, px, py, pz, outputHybrid) |
Creates a new hybrid with given coefficients and adds it to the hybrid list of the atom. More... | |
subroutine | addhybridorbital_from_array_ptr (atom, coefs, outputHybrid) |
Creates a new hyrbid with coefficients pointing to the given data locations and adds it to the hybrid list of the atom. More... | |
subroutine | addcreatedhybridorbital_ptr (atom, hybrid_ptr) |
Supplementary procedure to add an already created hybrid (given as a pointer to an orbital_ptr) to the hybrid list of the atom. More... | |
subroutine | createsamehybridorbitalsattachedtonewatom (old_hybrids_list, new_atom) |
Creates hybrids on the new atom with coefficients pointing to the old data locations. More... | |
real function, dimension(0:3) | gethybridorbitalcoeffs (hybrid) |
Returns an array of coefficients of the given hybrid. More... | |
type(real_ptr) function, dimension(0:3) | gethybridorbitalcoeffs_ptr (hybrid) |
Returns an array of pointers to the data locations of the coefficients of the given hybrid. More... | |
type(quaternion) function, pointer | gethybridorbitalquaternion (hybrid) |
Returns the coefficients of the hybrid in quaternion form. More... | |
subroutine | changehybridcoefficients_from_array (hybrid, new_coefs) |
Changes the coeffiecients of the given hybrid. More... | |
subroutine | changehybridcoefficients_from_array_ptr (hybrid, new_coefs) |
Changes the data location of the coeffiecients of the given hybrid. More... | |
subroutine | changehybridcoefficients_from_vals (hybrid, s, px, py, pz) |
Changes the coeffiecients of the given hybrid. More... | |
subroutine | deallocatehybridcoefficients (hybrid) |
subroutine | normalize_hybrid_order (atom) |
If the determinant of the hybridization matrix is negative, rotates the order of hybrids, which changes the sign. More... | |
subroutine | set_image_hybrid_coeffs_explicit_list (trfm, pim_hybs, im_hybs) |
subroutine | set_image_hybrid_coeffs_implicit (pim_atom, im_atom) |
logical function | trfmd_hybs_same_explicit_list (trfm, pim_hyblist, im_hyblist) |
Given the explicit transformation matrix, returns true if the image hybrid list contains every image of the preimage hybrids (in any order) More... | |
logical function | trfmd_hybs_same_explicit (trfm, preim_atom, im_atom) |
Given the explicit transformation matrix, returns true if the image atom's hybrid list contains every image of the preimage atom's hybrids (in any order) More... | |
logical function | trfmd_hybs_same_implicit (preim_atom, im_atom) |
Same as above, but computes the transformation matrix from the spaceTree. More... | |
subroutine | reorder_hyblist_for_transform_list (trfm, pim_hyblist, im_hyblist) |
Reorders the elements of the image list so that applying the given transform to preimage hybrids results gives the image hybrids in the same order. More... | |
logical function | trfmd_hybs_same_ordered_explicit_list (trfm, pim_hyblist, im_hyblist) |
Given the explicit transformation matrix, returns true if the image hybrid list contains every image of the preimage hybrids (in the same order). More... | |
logical function | trfmd_hybs_same_ordered_explicit (trfm, preim_atom, im_atom) |
Given the explicit transformation matrix, returns true if the image atom's hybrid list contains every image of the preimage atom's hybrids (in the same order). More... | |
logical function | trfmd_hybs_same_ordered_implicit (preim_atom, im_atom) |
Same as above, but computes the transformation matrix from the spaceTree. More... | |
subroutine | writehybridstoatom (atom, hybridMatrix, carbonHybrids) |
subroutine | rewritehybridscoefficients (atom, hyb) |
Changes all of the hybrid coefficients of this atom based on the given matrix. More... | |
subroutine | writehybridizationmatrixtoatom (atom) |
Adds the hybridization matrix (taken from the already present hybrid expansions) to the attribute list of the atom. More... | |
real function, dimension(4, 4) | gethybridizationmatrix_from_list (hybrids_list) |
Returns the hybridization matrix defined in the given hybrids list. More... | |
subroutine | getatomichybridizationmatrix (atom, hybMatrix) |
Returns the hybridization matrix of the atom. More... | |
subroutine | getatomichybridizationmatrix_lab (atom, hybMatrix) |
Returns the hybridization matrix in the laboratory frame. More... | |
recursive subroutine | deallocate_orbital (pOrbital) |
Deallocates a non-hybrid orbital or orbital_ptr. An orbital is assumed to be dependent only on primitives (or itself be a primitive), so its orbital expansion is completely deallocated. More... | |
subroutine | deallocate_hybrid (pOrbital) |
Deallocates a hybrid orbital. Does not deallocate its non-hybrid orbitals. More... | |
subroutine | deallocate_molecular_orbital (pOrbital) |
Deallocates a molecular orbital. Does not deallocate its consituent orbitals. More... | |
subroutine | deallocate_spinorbital (pSpinOrbital) |
Deallocates a spinOrbital or a spinOrbital_ptr. More... | |
subroutine | deallocate_orbitalexpansioncoefficient (pOEC) |
Deallocates an orbital expansion coefficient. Deallocation of the orbital it points to should be done on its own. More... | |
Variables | |
character(len=3), public | typeofbasis |
type(angularpart), dimension(0:0), target, save, public | sangularparts = [AngularPart(0,0)] |
type(angularpart), dimension(-1:1), target, save, public | pangularparts = [AngularPart(1,-1), AngularPart(1,0), AngularPart(1,1)] |
type(angularpart), dimension(-2:2), target, save, public | dangularparts = [AngularPart(2,-2), AngularPart(2,-1), AngularPart(2,0), AngularPart(2,1), AngularPart(2,2)] |
type(angularpart), dimension(-3:3), target, save, public | fangularparts = [AngularPart(3,-3), AngularPart(3,-2), AngularPart(3,-1), AngularPart(3,0), AngularPart(3,1), AngularPart(3,2), AngularPart(3,3)] |
type(angularpart_ptr), dimension(:), allocatable, protected | allangularparts |
integer, target, save, public | spinalpha = 1 |
integer, target, save, public | spinbeta = -1 |
Procedures for creating and manipulating atomic and hybrid orbitals.
subroutine orbitals_base::addcreatedatomicorbital_ptr | ( | type(particle), intent(inout) | atom, |
type(orbital_ptr), intent(in), pointer | orb_ptr | ||
) |
Supplementary procedure to add an already created atomic orbital (given as a pointer to an orbital_ptr) to the hybrid list of the atom.
subroutine orbitals_base::addcreatedhybridorbital_ptr | ( | type(particle), intent(inout) | atom, |
type(orbital_ptr), intent(in), pointer | hybrid_ptr | ||
) |
Supplementary procedure to add an already created hybrid (given as a pointer to an orbital_ptr) to the hybrid list of the atom.
subroutine orbitals_base::addhybridorbital_from_array | ( | type (particle), intent(inout), target | atom, |
real, dimension(0:3), intent(in) | coefs, | ||
type(orbital_ptr), optional, pointer | outputHybrid | ||
) |
Creates a new hybrid with given coefficients (in an array) and adds it to the hybrid list of the atom.
subroutine orbitals_base::addhybridorbital_from_array_ptr | ( | type (particle), intent(inout), target | atom, |
type(real_ptr), dimension(0:3), intent(in) | coefs, | ||
type(orbital_ptr), optional, pointer | outputHybrid | ||
) |
Creates a new hyrbid with coefficients pointing to the given data locations and adds it to the hybrid list of the atom.
subroutine orbitals_base::addhybridorbital_from_vals | ( | type (particle), intent(inout), target | atom, |
real, intent(in) | s, | ||
real, intent(in) | px, | ||
real, intent(in) | py, | ||
real, intent(in) | pz, | ||
type(orbital_ptr), optional, pointer | outputHybrid | ||
) |
Creates a new hybrid with given coefficients and adds it to the hybrid list of the atom.
subroutine orbitals_base::changehybridcoefficients_from_array | ( | type(orbital), intent(inout), pointer | hybrid, |
real, dimension(0:3), intent(in) | new_coefs | ||
) |
Changes the coeffiecients of the given hybrid.
subroutine orbitals_base::changehybridcoefficients_from_array_ptr | ( | type(orbital), intent(inout), pointer | hybrid, |
type(real_ptr), dimension(0:3), intent(in) | new_coefs | ||
) |
Changes the data location of the coeffiecients of the given hybrid.
subroutine orbitals_base::changehybridcoefficients_from_vals | ( | type(orbital), intent(inout), pointer | hybrid, |
real, intent(in) | s, | ||
real, intent(in) | px, | ||
real, intent(in) | py, | ||
real, intent(in) | pz | ||
) |
Changes the coeffiecients of the given hybrid.
subroutine orbitals_base::createatomicorbital | ( | type(particle), intent(in), target | atom, |
integer, intent(in) | idnum, | ||
integer, intent(in) | n, | ||
integer, intent(in) | l, | ||
integer, intent(in) | m, | ||
type(primitive), dimension(:), intent(in) | set_of_primitives, | ||
type(orbital), intent(out), target | ao | ||
) |
Function to make atomic orbital.
subroutine orbitals_base::createsameatomicorbitalsattachedtonewatom | ( | type(list), intent(inout) | old_orbitals_list, |
type(particle), intent(inout), target | new_atom | ||
) |
Copies all orbitals in the list to the new atom, changing the pAtom pointer. All coefficient pointers in the orbital expansions point to the location of the old expansion coefficients.
subroutine orbitals_base::createsamehybridorbitalsattachedtonewatom | ( | type(list), intent(inout) | old_hybrids_list, |
type(particle), intent(inout), target | new_atom | ||
) |
Creates hybrids on the new atom with coefficients pointing to the old data locations.
recursive subroutine orbitals_base::createsameorbitalattachedtonewatom | ( | type(orbital), intent(inout) | old, |
type(orbital), intent(inout) | new, | ||
type(particle), intent(inout), target | newAtom | ||
) |
Copies all of the data of the given orbital to the new orbital, changing the pAtom pointer. All coefficient pointers in the orbital expansions point to the location of the old expansion coefficients.
subroutine orbitals_base::deallocate_hybrid | ( | class(*), intent(inout), pointer | pOrbital | ) |
Deallocates a hybrid orbital. Does not deallocate its non-hybrid orbitals.
subroutine orbitals_base::deallocate_molecular_orbital | ( | class(*), intent(inout), pointer | pOrbital | ) |
Deallocates a molecular orbital. Does not deallocate its consituent orbitals.
recursive subroutine orbitals_base::deallocate_orbital | ( | class(*), intent(inout), pointer | pOrbital | ) |
Deallocates a non-hybrid orbital or orbital_ptr. An orbital is assumed to be dependent only on primitives (or itself be a primitive), so its orbital expansion is completely deallocated.
subroutine orbitals_base::deallocate_orbitalexpansioncoefficient | ( | class(*), intent(inout), pointer | pOEC | ) |
Deallocates an orbital expansion coefficient. Deallocation of the orbital it points to should be done on its own.
subroutine orbitals_base::deallocate_spinorbital | ( | class(*), intent(inout), pointer | pSpinOrbital | ) |
Deallocates a spinOrbital or a spinOrbital_ptr.
subroutine orbitals_base::deallocatehybridcoefficients | ( | type(orbital), intent(inout), pointer | hybrid | ) |
logical function orbitals_base::do_aos_belong_to_same_particle | ( | type(orbital), intent(inout) | orbital1, |
type(orbital), intent(inout) | orbital2 | ||
) |
Checks if atomic orbitals belong to the same particles or different.
recursive real function orbitals_base::eval_orbital_radial_part | ( | type(orbital), intent(in) | orbital1, |
real, intent(in) | r | ||
) |
Find the value of the radial part of an orbital at given r value.
subroutine orbitals_base::generatespinorbitalsfrombasis | ( | type (orbitalbasis), intent(in) | basis, |
type(spinorbital), dimension(:), intent(inout), allocatable | spinOrbitals | ||
) |
Assigns every odd orbital in the basis spin alpha, and every even one - beta.
subroutine orbitals_base::getatomichybridizationmatrix | ( | type(particle), intent(inout) | atom, |
real, dimension(4,4), intent(out) | hybMatrix | ||
) |
Returns the hybridization matrix of the atom.
subroutine orbitals_base::getatomichybridizationmatrix_lab | ( | type(particle), intent(inout) | atom, |
real, dimension(4,4), intent(out) | hybMatrix | ||
) |
Returns the hybridization matrix in the laboratory frame.
subroutine orbitals_base::getatomicvalenceorbitals | ( | type(particle), intent(inout), target | atom, |
type(orbital), dimension(:), intent(out), allocatable | shell | ||
) |
Returns an array of orbitals of atoms lighter than Na.
From the list returned by GetOrbitals, creates a list of orbitals with angular number two.
From the list returned by GetOrbitals, creates a list of orbitals with angular number three.
real function, dimension(4,4) orbitals_base::gethybridizationmatrix_from_list | ( | type(list), intent(inout) | hybrids_list | ) |
Returns the hybridization matrix defined in the given hybrids list.
type(orbital) function, pointer orbitals_base::gethybridorbital_from_coeffs | ( | type(particle), intent(in) | someParticle, |
real, dimension(4), intent(in) | coeffs | ||
) |
real function, dimension(0:3) orbitals_base::gethybridorbitalcoeffs | ( | type(orbital), intent(in) | hybrid | ) |
Returns an array of coefficients of the given hybrid.
type(real_ptr) function, dimension(0:3) orbitals_base::gethybridorbitalcoeffs_ptr | ( | type(orbital), intent(in) | hybrid | ) |
Returns an array of pointers to the data locations of the coefficients of the given hybrid.
type(quaternion) function, pointer orbitals_base::gethybridorbitalquaternion | ( | type(orbital) | hybrid | ) |
Returns the coefficients of the hybrid in quaternion form.
Returns the hybrid orbitals of the atom in the form a list.
type(orbitalbasis) function orbitals_base::gethybridorbitalsarray | ( | type(particle) | someParticle | ) |
Returns the hybrid orbitals of the atom in the form of an array (type orbitalBasis).
Returns the particle's orbitals contained in AttributeList.
type(list) function, pointer orbitals_base::getorbitalswithangularnumber | ( | type(particle), intent(in) | someParticle, |
integer, intent(in) | l | ||
) |
From the list returned by GetOrbitals, creates a list of orbitals with given angular number l.
type(orbital) function, pointer orbitals_base::getorbitalwithquantumnumbers | ( | type(particle), intent(in) | someParticle, |
integer, intent(in) | n, | ||
integer, intent(in) | l, | ||
integer, intent(in) | m | ||
) |
From the list returned by GetOrbitals, creates a list of orbitals with angular number one.
type(orbital_ptr) function, dimension(0:3) orbitals_base::getsandporbitals_array_fn | ( | type(particle), intent(in) | someParticle | ) |
Returns an array of orbital pointers to s, px, py, pz. If any of the orbitals are not present, the corresponding pointer is null.
subroutine orbitals_base::getsizeofbasis | ( | type(node), intent(inout) | part, |
integer, intent(out) | sizeOfBasis | ||
) |
Function which allows to get size of basis of AOs for some polyatomic particles in valence approximation.
From the list returned by GetOrbitals, creates a list of orbitals with angular number zero.
logical function orbitals_base::isatomicorbital | ( | type(orbital) | someOrbital | ) |
If pAtom and pY pointers are associated, returns true.
logical function orbitals_base::ishybridatomicorbital | ( | type(orbital) | someOrbital | ) |
Is the pAtom and orbital exoansion pointers are associated, but the pY is not, returns true.
logical function orbitals_base::ismolecularorbital | ( | type(orbital) | someOrbital | ) |
If pAtom pointer is not associated, but the orbital expansion is, returns true.
logical function orbitals_base::isorbitalprimitive | ( | type(orbital), intent(in) | orb | ) |
Checks if orbital is atomic primitive (not a linear combination of STOs or others).
logical function orbitals_base::issamespinorbitals | ( | type(spinorbital) | spinOrbital1, |
type(spinorbital) | spinOrbital2 | ||
) |
logical function orbitals_base::isspinatomicorbital | ( | type(spinorbital) | someSpinOrbital | ) |
logical function orbitals_base::isspinmolecularorbital | ( | type(spinorbital) | someSpinOrbital | ) |
integer function orbitals_base::l_and_m_index_sp | ( | integer, intent(in) | l, |
integer, intent(in) | m | ||
) |
Returns an array index corresponding to the order s, px, py, pz, starting from 0.
subroutine orbitals_base::makehybridatomicorbital_from_array | ( | integer, intent(in) | id, |
real, dimension(0:3), intent(in) | coefs, | ||
type(particle), intent(in), target | atom, | ||
type(orbital), intent(out) | hybridOrbital | ||
) |
Creates a new hybrid orbital with the given expansion coefficients (in an array). Contains an id
field for backwards compatibility.
subroutine orbitals_base::makehybridatomicorbital_from_array_noid | ( | real, dimension(0:3), intent(in) | coefs, |
type(particle), intent(in), target | atom, | ||
type(orbital), intent(out) | hybridOrbital | ||
) |
Creates a new hybrid orbital with the expansion coefficients (in an array).
subroutine orbitals_base::makehybridatomicorbital_from_array_ptr_noid | ( | type(real_ptr), dimension(0:3), intent(in) | coefs, |
type(particle), intent(in), target | atom, | ||
type(orbital), intent(out) | hybridOrbital | ||
) |
Creates a new hybrid orbital with the expansion coefficients pointing to the given data locations.
subroutine orbitals_base::makehybridatomicorbital_from_vals | ( | integer, intent(in) | id, |
real, intent(in) | s, | ||
real, intent(in) | px, | ||
real, intent(in) | py, | ||
real, intent(in) | pz, | ||
type(particle), intent(in), target | atom, | ||
type(orbital), intent(out) | hybridOrbital | ||
) |
Creates a new hybrid orbital with the given expansion coefficients. Contains an id
field for backwards compatibility.
subroutine orbitals_base::makemolecularorbital | ( | integer, intent(in) | id, |
type (orbital_ptr), dimension(:), intent(in), target | orbitals, | ||
real, dimension(:), intent(in) | coefficients, | ||
type(orbital), intent(out) | mo | ||
) |
Creates a molecular orbital with an expansion over input orbitals with their coefficients.
subroutine orbitals_base::makeorbitalexpansioncoefficient | ( | class(*), intent(in), pointer | someOrbital, |
real, intent(in), optional | coef, | ||
type(orbitalexpansioncoefficient), intent(out) | oec | ||
) |
Generates a variable of type orbitalExpansionCoefficient.
subroutine orbitals_base::makespinorbitalwithspinalpha | ( | integer, intent(in), optional, target | num, |
type(orbital), intent(in), target | someOrbital, | ||
type(spinorbital), intent(out) | AlphaSpinOrbital | ||
) |
subroutine orbitals_base::makespinorbitalwithspinbeta | ( | integer, intent(in), optional, target | num, |
type(orbital), intent(in), target | someOrbital, | ||
type(spinorbital), intent(out) | BetaSpinOrbital | ||
) |
subroutine orbitals_base::normalize_hybrid_order | ( | type(particle), intent(inout) | atom | ) |
If the determinant of the hybridization matrix is negative, rotates the order of hybrids, which changes the sign.
type(orbitalexpansioncoefficient) function, pointer orbitals_base::orbital_expansion_coef_from_polymorphic | ( | class(*), intent(in), pointer | x | ) |
Converts a polymorphic pointer to an OrbitalExpansionCoefficient pointer if possible, else returns a null-pointer.
type(orbital) function, pointer orbitals_base::orbital_from_polymorphic | ( | class(*), intent(in), pointer | x | ) |
Converts a polymorphic pointer to an orbital pointer if possible, else returns a null-pointer.
type(orbital_ptr) function, pointer orbitals_base::orbital_ptr_from_polymorphic | ( | class(*), intent(in), pointer | x | ) |
Converts a polymorphic pointer to an orbital_ptr pointer if possible, else returns a null-pointer.
subroutine orbitals_base::orbitalarrayptrtolist | ( | type(orbital_ptr), dimension(:), intent(in) | orbital_array, |
type(list), intent(out) | orbital_list | ||
) |
subroutine orbitals_base::orbitalarraytolist | ( | type(orbitalbasis), intent(in) | orbital_array, |
type(list), intent(out) | orbital_list | ||
) |
Converts orbitalBasis to list of orbitals.
subroutine orbitals_base::orbitallisttoarray | ( | type(list), intent(inout) | orbital_list, |
type(orbitalbasis), intent(out) | orbital_array | ||
) |
Converts list of orbitals to type orbitalsBasis.
subroutine orbitals_base::orbitallisttoarrayptr | ( | type(list), intent(inout) | orbital_list, |
type(orbital_ptr), dimension(:), intent(out), allocatable | orbital_array | ||
) |
Converts list of orbitals to allocatable array of type orbital_ptr.
type(angularpart) function, pointer orbitals_base::pangularpart | ( | integer, intent(in) | l, |
integer, intent(in) | m | ||
) |
subroutine orbitals_base::reorder_hyblist_for_transform_list | ( | real, dimension(3,3), intent(in) | trfm, |
type(list), intent(inout) | pim_hyblist, | ||
type(list), intent(inout) | im_hyblist | ||
) |
Reorders the elements of the image list so that applying the given transform to preimage hybrids results gives the image hybrids in the same order.
subroutine orbitals_base::rewritehybridscoefficients | ( | type(particle), intent(inout) | atom, |
real, dimension(4,4), intent(in) | hyb | ||
) |
Changes all of the hybrid coefficients of this atom based on the given matrix.
subroutine orbitals_base::set_image_hybrid_coeffs_explicit_list | ( | real, dimension(3,3), intent(in) | trfm, |
type(list), intent(inout) | pim_hybs, | ||
type(list), intent(inout) | im_hybs | ||
) |
subroutine orbitals_base::set_image_hybrid_coeffs_implicit | ( | type(particle), intent(inout) | pim_atom, |
type(particle), intent(inout) | im_atom | ||
) |
subroutine orbitals_base::setatomicorbitalexpansion | ( | type(primitive), dimension(:), intent(in) | set_of_primitives, |
type(orbital), intent(inout), target | ao | ||
) |
Adds an orbital expansion to a basis in an atomic basis set based on the provided set_of_primitives
logical function orbitals_base::sortkeyforexpansioncoefficients | ( | class(*), pointer | x1, |
class(*), pointer | x2 | ||
) |
logical function orbitals_base::sortkeyfororbitalpointers | ( | class(*), pointer | x1, |
class(*), pointer | x2 | ||
) |
Returns TRUE of the ID of x1 is less than the ID of x2.
logical function orbitals_base::sortkeyfororbitals | ( | class(*), pointer | x1, |
class(*), pointer | x2 | ||
) |
Returns TRUE of the ID of x1 is less than the ID of x2.
logical function orbitals_base::sortkeyforspinorbitals | ( | class(*), pointer | x1, |
class(*), pointer | x2 | ||
) |
subroutine orbitals_base::sortorbitalarraybynumbers | ( | type (orbital_ptr), dimension(:), intent(inout) | orbitals | ) |
Sorts array of orbitals by ID's in ascending order.
subroutine orbitals_base::sortorbitallistbynumbers | ( | type(list), intent(inout) | orbitals | ) |
Sorts linked list of orbitals by ID's in ascending order.
logical function orbitals_base::trfmd_hybs_same_explicit | ( | real, dimension(3,3), intent(in) | trfm, |
type(particle), intent(in) | preim_atom, | ||
type(particle), intent(in) | im_atom | ||
) |
Given the explicit transformation matrix, returns true if the image atom's hybrid list contains every image of the preimage atom's hybrids (in any order)
logical function orbitals_base::trfmd_hybs_same_explicit_list | ( | real, dimension(3,3), intent(in) | trfm, |
type(list), intent(inout) | pim_hyblist, | ||
type(list), intent(inout) | im_hyblist | ||
) |
Given the explicit transformation matrix, returns true if the image hybrid list contains every image of the preimage hybrids (in any order)
logical function orbitals_base::trfmd_hybs_same_implicit | ( | type(particle), intent(in) | preim_atom, |
type(particle), intent(in) | im_atom | ||
) |
Same as above, but computes the transformation matrix from the spaceTree.
logical function orbitals_base::trfmd_hybs_same_ordered_explicit | ( | real, dimension(3,3), intent(in) | trfm, |
type(particle), intent(in) | preim_atom, | ||
type(particle), intent(in) | im_atom | ||
) |
Given the explicit transformation matrix, returns true if the image atom's hybrid list contains every image of the preimage atom's hybrids (in the same order).
logical function orbitals_base::trfmd_hybs_same_ordered_explicit_list | ( | real, dimension(3,3), intent(in) | trfm, |
type(list), intent(inout) | pim_hyblist, | ||
type(list), intent(inout) | im_hyblist | ||
) |
Given the explicit transformation matrix, returns true if the image hybrid list contains every image of the preimage hybrids (in the same order).
logical function orbitals_base::trfmd_hybs_same_ordered_implicit | ( | type(particle), intent(in) | preim_atom, |
type(particle), intent(in) | im_atom | ||
) |
Same as above, but computes the transformation matrix from the spaceTree.
subroutine orbitals_base::whatisorbitaltype | ( | type(orbital), intent(in) | someOrbital, |
character(len=*), intent(out) | typeName | ||
) |
subroutine orbitals_base::whatisspinorbitaltype | ( | type(spinorbital), intent(in) | someSpinOrbital, |
character(len=*), intent(out) | typeName | ||
) |
subroutine orbitals_base::writehybridizationmatrixtoatom | ( | type(particle), intent(inout) | atom | ) |
Adds the hybridization matrix (taken from the already present hybrid expansions) to the attribute list of the atom.
subroutine orbitals_base::writehybridstoatom | ( | type(particle), intent(inout) | atom, |
real, dimension(4,4), intent(inout) | hybridMatrix, | ||
type(orbital_ptr), dimension(4), target | carbonHybrids | ||
) |
type(angularpart_ptr), dimension(:), allocatable, protected orbitals_base::allangularparts |
type(angularpart), dimension(-2:2), target, save, public orbitals_base::dangularparts = [AngularPart(2,-2), AngularPart(2,-1), AngularPart(2,0), AngularPart(2,1), AngularPart(2,2)] |
type(angularpart), dimension(-3:3), target, save, public orbitals_base::fangularparts = [AngularPart(3,-3), AngularPart(3,-2), AngularPart(3,-1), AngularPart(3,0), AngularPart(3,1), AngularPart(3,2), AngularPart(3,3)] |
type(angularpart), dimension(-1:1), target, save, public orbitals_base::pangularparts = [AngularPart(1,-1), AngularPart(1,0), AngularPart(1,1)] |
type(angularpart), dimension(0:0), target, save, public orbitals_base::sangularparts = [AngularPart(0,0)] |
integer, target, save, public orbitals_base::spinalpha = 1 |
integer, target, save, public orbitals_base::spinbeta = -1 |
character(len=3), public orbitals_base::typeofbasis |