CompOutput class

class AaronTools.comp_output.CompOutput(fname='', get_all=True, freq_name=None, conf_name=None, determine_pg=False)

Attributes:

  • geometry - the last Geometry

  • opts - list of Geometry for each optimization steps

  • frequency - Frequency object

  • archive - a string containing the archive entry

  • energy, enthalpy, free_energy, grimme_g,

  • mass, temperature, rotational_temperature,

  • multiplicity, charge, rotational_symmetry_number

  • error, error_msg, finished,

  • gradient, E_ZPVE, ZPVE

__init__(fname='', get_all=True, freq_name=None, conf_name=None, determine_pg=False)
static boltzmann_weights(thermo_cos, nrg_cos=None, weighting='RRHO', temperature=298.15, v0=100)
Parameters:
  • thermo_cos (list(CompOutput)) – list of CompOutput instances for thermochem corrections

  • nrg_cos (list(CompOutput)) – list of CompOutput to take the electronic energy from order should correspond to thermo_cos if not given, the energies from thermo_cos are used

  • weighting (str) –

    type of energy to use for weighting can be:

    • ”NRG”

    • ”ZPE”

    • ”ENTHALPY”

    • ”QHARM”

    • ”QRRHO”

    • ”RRHO”

  • temperature (float) – temperature in K

  • v0 (float) – parameter for quasi free energy corrections

Returns:

boltzmann weights

Return type:

np.ndarray

calc_zpe(anharmonic=False)

returns ZPVE correction

therm_corr(temperature=None, v0=100, method='RRHO', enthalpy_method='RRHO', pressure=1)

returns thermal correction to energy, enthalpy correction to energy, and entropy for the specified cutoff frequency and temperature in that order (Hartrees for corrections, Eh/K for entropy)

Parameters:
  • temperature (float) – temperature in K- None will use self.temperature

  • pressure (float) – pressure in atm

  • v0 (float) – float, cutoff/damping parameter for quasi G corrections

  • method (str) –

    treatment of entropy:

    • RRHO - no quasi treatment

    • QRRHO - Grimme’s quasi-RRHO see Grimme, S. (2012), Supramolecular Binding Thermodynamics by Dispersion‐Corrected Density Functional Theory. Chem. Eur. J., 18: 9955-9964. (DOI: 10.1002/chem.201200497) for details

    • QHARM - Truhlar’s quasi-harmonic see J. Phys. Chem. B 2011, 115, 49, 14556–14562 (DOI: 10.1021/jp205508z) for details

  • enthalpy_method (str) –

    treatment of enthalpy:

    • RRHO - no quasi treatment

    • QRRHO - quasi-RRHO see Yi-Pei Li, Joseph Gomes, Shaama Mallikarjun Sharada, Alexis T. Bell, and Martin Head-Gordon The Journal of Physical Chemistry C 2015 119 (4), 1840-1850 DOI: 10.1021/jp509921r for details

calc_G_corr(temperature=None, v0=0, method='RRHO', **kwargs)

returns quasi rrho free energy correction (Eh)

Parameters:
  • temperature (float) – temperature; default is self.temperature

  • v0 (float) – parameter for quasi-rrho or quasi-harmonic entropy

  • method (str) – (RRHO, QRRHO, QHARM) method for treating entropy see CompOutput.therm_corr for references

calc_Grimme_G(temperature=None, v0=100, **kwargs)

returns quasi rrho free energy (Eh)

see Grimme, S. (2012), Supramolecular Binding Thermodynamics by Dispersion‐Corrected Density Functional Theory. Chem. Eur. J., 18: 9955-9964. (DOI: 10.1002/chem.201200497) for details

Parameters:
  • temperature (float) – temperature; default is self.temperature

  • v0 (float) – parameter for quasi-RRHO or quasi-harmonic entropy

bond_change(atom1, atom2, threshold=0.25)

detects changes in bonds by comparing each structure along optimization (starting with opts[0])

Parameters:
  • atom1 (Atom) – first atom

  • atom2 (Atom) – second atom - bond being inspected is between atom1 and atom2

  • threshold (float) – threshold for a bond being considered “changed”; if the difference of the distances between the atoms is below the threshold then it is not considered changed.

Returns:

index of the LATEST geometry where the bond is changed

Return type:

int

parse_archive()

Reads info from archive string

Returns: a dictionary with the parsed information

follow(reverse=False, step=0.1)

Follow imaginary mode

compute_rot_temps()

sets self’s ‘rotational_temperature’ attribute by using self.geometry

not recommended b/c atoms should be specific isotopes, but this uses average atomic weights

exists because older versions of ORCA don’t print rotational temperatures