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