Cartesius Library
particles.f90 File Reference

Data Types

type  particles::particle
 
type  particles::particle_ptr
 
type  particles::particlearray
 
type  particles::interatomicdistance
 

Modules

module  particles
 

Functions/Subroutines

subroutine particles::writesomepropertytoparticle (someParticle, someName, someModus, someValue, pDeallocator)
 
subroutine particles::getpropertybykeyword (someParticle, propertyName, prop)
 Returns the attribute of the atom with the matching property name. More...
 
class(*) function, pointer particles::getpropertybykeyword_fn (someParticle, propertyName)
 Same as above, but can be used as a function. More...
 
subroutine particles::removepropertybykeyword (someParticle, propertyName)
 Deallocates a property in the attribute list if it exists. If it doesn't, does nothing. More...
 
subroutine particles::purgepropertybykeyword (someParticle, propertyName)
 Deallocates a property in the attribute list if it exists. If it doesn't, does nothing. More...
 
type(particle) function, pointer particles::getparticlefromsystem (system, particleID)
 
type(node) function, pointer particles::getparticlesystem (someParticle)
 
real function, pointer particles::getmadelungpotential (someParticle)
 
type(particle) function, pointer particles::getparticlepreimage (someParticle)
 Wrapper to get the preimage of a symmetric particle. More...
 
type(list) function, pointer particles::getparticleimages (someParticle)
 
type(point) function, pointer particles::getparticlepoint (someParticle)
 
integer function, pointer particles::getatomicnumber (someParticle)
 
integer function, pointer particles::getnumberofatoms (someParticle)
 
integer function, pointer particles::getnumberofelectrons (someParticle)
 
real function, pointer particles::getweight (someParticle)
 
real function, pointer particles::getcorecharge (someParticle)
 
real function, pointer particles::getelectronaffinity (someParticle)
 
real function, pointer particles::getpotentialofionization (someParticle)
 
type(chargedistribution) function, pointer particles::getchargeparameters (someParticle)
 
type(lennardjonesparameters) function, pointer particles::getlennardjonesparameters (someParticle)
 
real function particles::getatomicmass (p)
 
subroutine particles::particlelisttoarrayptr (particle_list, particle_array)
 
subroutine particles::particlelisttoarray (particle_list, particle_array)
 
subroutine particles::particlearrayptrtolist (particle_array, particle_list)
 
subroutine particles::particlearraytolist (particle_array, particle_list)
 
real function particles::distancebetweenparticles (particle1, particle2)
 Returns the distance between particles 1 ans 2. More...
 
real function particles::anglebetweenthreeparticles (particle1, particle2, particle3)
 Returns the angle created by particles 123. More...
 
subroutine particles::geteuleranglesforrotationconnectedwithlocalframe (atom1, atom2, alpha, beta, gamma)
 Returns Euler angles (ZYZ) which rotate a Z unit vector to align with bond atom1 -> atom2. More...
 
subroutine particles::getcayleykleinforrotationconnectedtolocalframe (atom1, atom2, ck_a, ck_b)
 
subroutine particles::geteuleranglesforrotationconnectedwithparticle (someParticle, alpha, beta, gamma)
 
subroutine particles::getcayleykleinforrotationconnectedwithparticle (someParticle, a, b)
 
logical function particles::isatom (CurrentParticle)
 
logical function particles::isconditionsatisfiedforparticle (CurrentParticle)
 
logical function particles::iscondition_0_satisfiedforparticle (CurrentParticle)
 
logical function particles::iscondition_1_satisfiedforparticle (CurrentParticle, a)
 
logical function particles::issomethingtrueaboutparticle (CurrentParticle, pSomething)
 
subroutine particles::dosomethingtoparticle (CurrentParticle)
 
subroutine particles::sumparticlepropertyrecursively (someParticle, summ)
 
subroutine particles::sumparticleproperty (someParticle, summ)
 
subroutine particles::getatomarrayptr (tree, atomArray)
 Returns a particle_ptr array of all atoms in the given tree. More...
 
subroutine particles::getatomarray (tree, atomArray)
 Returns a particleArray variable containing all atoms in the given tree. More...
 
subroutine particles::getatomlist (tree, atomList)
 Returns a list of all atoms in the given tree. More...
 
subroutine particles::getatomlist_node (tree, arg)
 
type(particle) function, pointer particles::particle_from_polymorphic (x)
 Converts a polymorphic pointer to a particle pointer if possible, else returns a null-pointer. More...
 
type(particle_ptr) function, pointer particles::particle_ptr_from_polymorphic (x)
 Converts a polymorphic pointer to a particle pointer if possible, else returns a null-pointer. More...
 
subroutine particles::searchatoms (someParticle, atoms)
 
subroutine particles::getatoms (someParticle, atoms)
 
subroutine particles::searchdatoms (someParticle, atoms)
 
subroutine particles::getdatom (someParticle, atoms)
 
subroutine particles::searchfatoms (someParticle, atoms)
 
subroutine particles::getfatom (someParticle, atoms)
 
subroutine particles::getinteratomicdistances (molecule, interatomicDistances)
 
subroutine particles::searchbondingatoms (atoms, interatomicDistances, bondingAtoms)
 
real function, dimension(3) particles::get_connecting_vector_coeffs (atom1, atom2)
 
real function, dimension(3) particles::get_connecting_unitvector_coeffs (atom1, atom2)
 
type(vector) function, pointer particles::getunitvectorofbondconnectingatoms (atom1, atom2)
 
subroutine particles::typicalbondlenghts (n, k, BondLenght)
 
subroutine particles::sum2particlespropertyrecursively (someParticle1, someParticle2, summ)
 
subroutine particles::sum2particlesproperty (someParticle1, someParticle2, summ)
 
type(unitcell) function, pointer particles::getunitcell (system)
 Return pointer to unit cell of a crystal. More...
 
subroutine particles::writegeometry_poscar (system)
 
subroutine particles::deallocate_particle (pParticle)
 Deallocates all fields of the given particle to prevent memory leaks. More...
 
subroutine particles::deallocate_particlearray (pParticleArray)
 Deallocates a particleArray. More...
 
subroutine particles::deallocate_interatomicdistance (pInteratomicDistance)
 Dealloctaes a variable of type :: interatomicDistance. Does not deallocate the particles it points to. More...
 

Variables

real, parameter, public particles::distance_cc = 1.8
 
real, parameter, public particles::distance_nn = 0.0
 
real, parameter, public particles::distance_oo = 0.0
 
real, parameter, public particles::distance_ch = 1.094
 
real, parameter, public particles::distance_nh = 0.0
 
real, parameter, public particles::distance_oh = 0.0
 
real, parameter, public particles::distance_cn = 1.474
 
real, parameter, public particles::distance_co = 1.425
 
real, parameter, public particles::distance_no = 0.0
 
real, parameter, public particles::angle_hch = 109.47*Pi/180
 
real, parameter, public particles::angle_ccc = 109.47*Pi/180