specifications
This module evaluates the topological parameters of a given structure, e.q if a molecule is planar/general contains linear submolecules. The final result of the script is the specifications dictionary, this dictionary safes all the parameters for the given molecule an is the foundation for the topological analysis
- specifications.bound_to_atom(query_atom, bonds, central_atom) bool
given a query_atom and a central atom and a bond checks if the query atom is bound to the central atom
- specifications.calculation_specification(specification, atoms, molecule_pg, bonds, angles, linear_angles) dict
Calculates the specification dictionary, for example the numbers mu, beta, the planarity of a system, the multiplicity of the atoms, and a list of linear bond
- Attributes:
- atoms:
a object of the Molecule class
- molecule_pg:
the point group of a given molecular structure
- bonds:
the bonds given as a list of tuples
- angles:
the angles given as a list of tuples
- linear_angles:
the linear angles given as a list of tuples
- specifications.get_linear_bonds(linear_angles) list
Uses the linear angles (i.e lists of the form [“H”,”O”,”H”]) to determine linear bonds and safe them in a list of tuples
- specifications.is_string_in_tuples(string, list_of_tuples) bool
checks if a given string is contained in a list of tuples
- specifications.is_system_planar(coordinates, tolerance=0.1) bool
Calculates if a given system is planar, here three non linear atoms are selected, a normal vector perpenticular to the plane of the three atoms gets calculates. Then one calculates the dot product and compares it with a given tolerance
- Attributes:
- coordinates:
a list of coordinates for each atom
- tolerance = 1e-1
the given tolerance to determine planarity