pymatgen.analysis.molecule_structure_comparator module

class CovalentRadius[source]

Covalent Radius of the elements.

Beatriz C. et al. Dalton Trans. 2008, 2832-2838. DOI: 10.1039/b801115j

radius = {u'Ac': 2.15, u'Ag': 1.45, u'Al': 1.21, u'Am': 1.8, u'Ar': 1.06, u'As': 1.19, u'At': 1.5, u'Au': 1.36, u'B': 0.84, u'Ba': 2.15, u'Be': 0.96, u'Bi': 1.48, u'Br': 1.2, u'C': 0.73, u'Ca': 1.76, u'Cd': 1.44, u'Ce': 2.04, u'Cl': 1.02, u'Cm': 1.69, u'Co': 1.38, u'Cr': 1.39, u'Cs': 2.44, u'Cu': 1.32, u'Dy': 1.92, u'Er': 1.89, u'Eu': 1.98, u'F': 0.57, u'Fe': 1.42, u'Fr': 2.6, u'Ga': 1.22, u'Gd': 1.96, u'Ge': 1.2, u'H': 0.31, u'He': 0.28, u'Hf': 1.75, u'Hg': 1.32, u'Ho': 1.92, u'I': 1.39, u'In': 1.42, u'Ir': 1.41, u'K': 2.03, u'Kr': 1.16, u'La': 2.07, u'Li': 1.28, u'Lu': 1.87, u'Mg': 1.41, u'Mn': 1.5, u'Mo': 1.54, u'N': 0.71, u'Na': 1.66, u'Nb': 1.64, u'Nd': 2.01, u'Ne': 0.58, u'Ni': 1.24, u'Np': 1.9, u'O': 0.66, u'Os': 1.44, u'P': 1.07, u'Pa': 2.0, u'Pb': 1.46, u'Pd': 1.39, u'Pm': 1.99, u'Po': 1.4, u'Pr': 2.03, u'Pt': 1.36, u'Pu': 1.87, u'Ra': 2.21, u'Rb': 2.2, u'Re': 1.51, u'Rh': 1.42, u'Rn': 1.5, u'Ru': 1.46, u'S': 1.05, u'Sb': 1.39, u'Sc': 1.7, u'Se': 1.2, u'Si': 1.11, u'Sm': 1.98, u'Sn': 1.39, u'Sr': 1.95, u'Ta': 1.7, u'Tb': 1.94, u'Tc': 1.47, u'Te': 1.38, u'Th': 2.06, u'Ti': 1.6, u'Tl': 1.45, u'Tm': 1.9, u'U': 1.96, u'V': 1.53, u'W': 1.62, u'Xe': 1.4, u'Y': 1.9, u'Yb': 1.87, u'Zn': 1.22, u'Zr': 1.75}
class MoleculeStructureComparator(bond_length_cap=0.3, covalent_radius={u'Ac': 2.15, u'Ag': 1.45, u'Al': 1.21, u'Am': 1.8, u'Ar': 1.06, u'As': 1.19, u'At': 1.5, u'Au': 1.36, u'B': 0.84, u'Ba': 2.15, u'Be': 0.96, u'Bi': 1.48, u'Br': 1.2, u'C': 0.73, u'Ca': 1.76, u'Cd': 1.44, u'Ce': 2.04, u'Cl': 1.02, u'Cm': 1.69, u'Co': 1.38, u'Cr': 1.39, u'Cs': 2.44, u'Cu': 1.32, u'Dy': 1.92, u'Er': 1.89, u'Eu': 1.98, u'F': 0.57, u'Fe': 1.42, u'Fr': 2.6, u'Ga': 1.22, u'Gd': 1.96, u'Ge': 1.2, u'H': 0.31, u'He': 0.28, u'Hf': 1.75, u'Hg': 1.32, u'Ho': 1.92, u'I': 1.39, u'In': 1.42, u'Ir': 1.41, u'K': 2.03, u'Kr': 1.16, u'La': 2.07, u'Li': 1.28, u'Lu': 1.87, u'Mg': 1.41, u'Mn': 1.5, u'Mo': 1.54, u'N': 0.71, u'Na': 1.66, u'Nb': 1.64, u'Nd': 2.01, u'Ne': 0.58, u'Ni': 1.24, u'Np': 1.9, u'O': 0.66, u'Os': 1.44, u'P': 1.07, u'Pa': 2.0, u'Pb': 1.46, u'Pd': 1.39, u'Pm': 1.99, u'Po': 1.4, u'Pr': 2.03, u'Pt': 1.36, u'Pu': 1.87, u'Ra': 2.21, u'Rb': 2.2, u'Re': 1.51, u'Rh': 1.42, u'Rn': 1.5, u'Ru': 1.46, u'S': 1.05, u'Sb': 1.39, u'Sc': 1.7, u'Se': 1.2, u'Si': 1.11, u'Sm': 1.98, u'Sn': 1.39, u'Sr': 1.95, u'Ta': 1.7, u'Tb': 1.94, u'Tc': 1.47, u'Te': 1.38, u'Th': 2.06, u'Ti': 1.6, u'Tl': 1.45, u'Tm': 1.9, u'U': 1.96, u'V': 1.53, u'W': 1.62, u'Xe': 1.4, u'Y': 1.9, u'Yb': 1.87, u'Zn': 1.22, u'Zr': 1.75}, priority_bonds=(), priority_cap=0.8, ignore_ionic_bond=True, bond_13_cap=0.05)[source]

Bases: monty.json.MSONable

Class to check whether the connection tables of the two molecules are the same. The atom in the two molecule must be paired accordingly.

Parameters:
  • bond_length_cap – The ratio of the elongation of the bond to be acknowledged. If the distance between two atoms is less than ( empirical covalent bond length) X (1 + bond_length_cap), the bond between the two atoms will be acknowledged.
  • covalent_radius – The covalent radius of the atoms. dict (element symbol -> radius)
  • priority_bonds – The bonds that are known to be existed in the initial molecule. Such bonds will be acknowledged in a loose criteria. The index should start from 0.
  • priority_cap – The ratio of the elongation of the bond to be acknowledged for the priority bonds.
are_equal(mol1, mol2)[source]

Compare the bond table of the two molecules.

Parameters:
  • mol1 – first molecule. pymatgen Molecule object.
  • mol2 – second moleculs. pymatgen Molecule objec.
as_dict()[source]
classmethod from_dict(d)[source]
static get_13_bonds(priority_bonds)[source]
halogen_list = [u'F', u'Cl', u'Br', u'I']
ionic_element_list = [u'Na', u'Mg', u'Al', u'Sc', u'V', u'Cr', u'Mn', u'Fe', u'Co', u'Ni', u'Cu', u'Zn', u'Ga', u'Rb', u'Sr']