API Reference¶
Cosymlib¶
-
class
cosymlib.
Cosymlib
(structures, ignore_atoms_labels=False, ignore_connectivity=False, connectivity=None, connectivity_thresh=None)[source]¶ Main cosymlib class
Parameters: - structures (list) – List of
Geometry
orMolecule
- ignore_atoms_labels (bool) – Ignore atomic element labels is symmetry calculations
- ignore_connectivity (bool) – Ignore connectivity in symmetry calculations
- connectivity (list) – List of pairs if atom indices that are considered connected
- connectivity_thresh (bool) – Connectivity threshold (Ionic radius is used as reference)
-
get_molecule_path_deviation
(shape_label1, shape_label2, central_atom=0)[source]¶ Get molecule path deviation
Parameters:
-
get_n_atoms
()[source]¶ Get the number of atoms if all structures contains the same number of atoms, else raise exception.
Returns: Number of atoms Return type: int
-
get_point_group
(tol=0.01)[source]¶ Get the point group of all structures
Parameters: tol (float) – Tolerance Returns: a list of point group labels Return type: list
-
get_shape_measure
(label, kind, central_atom=0, fix_permutation=False)[source]¶ Get shape measure
Parameters: Returns: Shape measures
Return type:
-
print_esym_orientation
(group, axis=None, axis2=None, center=None, output=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)[source]¶ Prints down an xyz file of the molecule with the orientation_axis
Parameters:
-
print_geometric_measure_info
(label, multi=1, central_atom=0, center=None, output=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)[source]¶ Prints geometric symmetry measure verbose
Parameters: Type: hook
-
print_geometric_symmetry_measure
(label, central_atom=0, center=None, output=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)[source]¶ Prints geometric symmetry measure in format
Parameters:
-
print_minimum_distortion_path_shape
(shape_label1, shape_label2, central_atom=0, min_dev=None, max_dev=None, min_gco=None, max_gco=None, num_points=20, output=None)[source]¶ Print the minimum distortion path
Parameters:
-
print_shape_measure
(shape_reference, central_atom=0, fix_permutation=False, output=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)[source]¶ Prints the shape measure of all structures in format
Parameters:
-
print_shape_structure
(shape_reference, central_atom=0, fix_permutation=False, output=<_io.TextIOWrapper name='<stdout>' mode='w' encoding='UTF-8'>)[source]¶ Prints the nearest shape structure in format
Parameters:
- structures (list) – List of
Symmetry¶
-
class
cosymlib.symmetry.
Symmetry
(structure, central_atom=0, center=None, connect_thresh=1.2, multi=1, axis=None, axis2=None)[source]¶ Symmetry main class
Parameters: - structure (Geometry, Molecule, np.array) – a geometry, molecule or array type object
- central_atom (int) – central atom position
- center (list) – center of symmetry in Cartesian coordinates. By default center is optimized
- connect_thresh (float) – Connectivity threshold (Ionic radius is used as reference)
- multi (int) – Number of symmetry axis to find
- axis (list) – Main symmetry axis (If None, then optimize)
- axis2 (list) – secondary symmetry axis (If None, then optimize)
-
axis_multi
(label, multi=1)[source]¶ Get the optimum N axis
Parameters: Returns: List of axis
Return type:
-
csm_multi
(label, multi=1)[source]¶ Get symmetry measure of the optimum N axis
Parameters: Returns: The measures
Return type:
-
measure
(label)[source]¶ Get symmetry measure
Parameters: label (str) – Point group label Returns: The measure Return type: float
-
nearest_structure
(label)[source]¶ Get nearest structure
Parameters: label (str) – Point group label Returns: The structure Return type: Structure
-
optimum_axis
(label)[source]¶ Get the optimum main symmetry axis
Parameters: label (str) – Point group label Returns: The axis Return type: list
-
optimum_permutation
(label)[source]¶ Get the optimum atoms permutation
Parameters: label – point group label Returns: The permutation Return type: list
Shape¶
-
class
cosymlib.shape.
Shape
(structure)[source] Shape main class
Parameters: structure (Geometry, Molecule, np.array) – a geometry, molecule or array type object -
generalized_coordinate
(shape_label1, shape_label2, central_atom=0)[source] Get the generalized coordinate
Parameters: Returns: The generalized coordinate
-
measure
(reference, central_atom=0, fix_permutation=False)[source] Get shape measure
Parameters: Returns: The measure
Return type:
-
path_deviation
(shape_label1, shape_label2, central_atom=0)[source] Get the path deviation
Parameters: Returns: The path deviation
Return type:
-
structure
(reference, central_atom=0, fix_permutation=False)[source] Get the nearest structure to reference
Parameters: Returns: The structure
Return type: Structure
-
Molecule¶
-
class
cosymlib.molecule.
Molecule
(geometry, electronic_structure=None, name=None)[source]¶ Main molecule class
Parameters: - geometry (Geometry) – The geometry
- electronic_structure (ElectronicStructure) – The electronic structure
- name (str) – Molecule name
-
electronic_structure
¶ Get the electronic structure
Returns: The electronic structure Return type: ElectronicStructure
-
get_pointgroup
(tol=0.01)[source]¶ Get the symmetry point group
Parameters: tol (float) – The tolerance Returns: The point group Return type: str
Geometry¶
-
class
cosymlib.molecule.geometry.
Geometry
(positions, symbols=(), name='', connectivity=None, connectivity_thresh=1.2)[source]¶ Main geometry class
Parameters: Example: water = Geometry(positions=[[0.0, 0.0, 0.0], [0.0, 1.0, 0.0], [0.0, 0.0, 1.0], symbols=['O', 'H', 'H'], name='water molecule', connectivity=[[1, 2], [1, 3]])
-
get_connectivity
()[source]¶ Get connectivity as a list of pairs of connected atoms
Returns: The connectivity Return type: list
-
get_pointgroup
(tol=0.01)[source]¶ Get the symmetry point group :param tol: The tolerance :type tol: float :return: The point group :rtype: str
-
get_positions
()[source]¶ Get the positions in Cartesian coordinates
Returns: the coordinates Return type: list
-
get_shape_measure
(shape_label, central_atom=0, fix_permutation=False)[source]¶ Get the Shape measure
Parameters: Returns: The measure
Return type:
-
get_symmetry_measure
(label, central_atom=0, center=None, multi=1)[source]¶ Get the symmetry measure
Parameters: Returns: The symmetry measure
Return type:
-
Electronic structure¶
-
class
cosymlib.molecule.electronic_structure.
ElectronicStructure
(basis, orbital_coefficients, multiplicity=None, alpha_energies=None, beta_energies=None, alpha_occupancy=None, beta_occupancy=None)[source]¶ Main Electronic structure class
Parameters: - basis (dict) – The basis set
- orbital_coefficients (list) – Molecular orbital coefficients
- multiplicity (int) – The multiplicity
- alpha_energies (list) – Alpha molecular orbital energies in Hartree
- beta_energies (list) – Beta molecular orbital energies in Hartree
- alpha_occupancy (list) – Occupancy of alpha orbitals
- beta_occupancy (list) – Occupancy of beta orbitals