@@ -36,15 +36,16 @@ def obj_to_dict(obj, skip_attrs=None):
36
36
class CompOutput :
37
37
"""
38
38
Attributes:
39
- geometry the last Geometry
40
- opts list of Geometry for each optimization steps
41
- frequency Frequency object
42
- archive a string containing the archive entry
43
- energy, enthalpy, free_energy, grimme_g,
44
- mass, temperature, rotational_temperature,
45
- multiplicity, charge, rotational_symmetry_number
46
- error, error_msg, finished,
47
- gradient, E_ZPVE, ZPVE
39
+
40
+ * geometry the last Geometry
41
+ * opts list of Geometry for each optimization steps
42
+ * frequency Frequency object
43
+ * archive a string containing the archive entry
44
+ * energy, enthalpy, free_energy, grimme_g,
45
+ * mass, temperature, rotational_temperature,
46
+ * multiplicity, charge, rotational_symmetry_number
47
+ * error, error_msg, finished,
48
+ * gradient, E_ZPVE, ZPVE
48
49
"""
49
50
50
51
ELECTRONIC_ENERGY = "NRG"
@@ -159,21 +160,27 @@ def boltzmann_weights(
159
160
v0 = 100 ,
160
161
):
161
162
"""
162
- returns boltzmann weights
163
- thermo_cos - list of CompOutput instances for thermochem corrections
164
- nrg_cos - list of CompOutput to take the electronic energy from
165
- order should correspond to thermo_cos
166
- if not given, the energies from thermo_cos are used
167
- weighting - type of energy to use for weighting
163
+ :param list(CompOutput) thermo_cos: list of CompOutput
164
+ instances for thermochem corrections
165
+ :param list(CompOutput) nrg_cos: list of CompOutput to
166
+ take the electronic energy from order should correspond
167
+ to thermo_cos if not given, the energies from thermo_cos
168
+ are used
169
+ :param str weighting:type of energy to use for weighting
168
170
can be:
169
- "NRG"
170
- "ZPE"
171
- "ENTHALPY"
172
- "QHARM"
173
- "QRRHO"
174
- "RRHO"
175
- temperature - temperature in K
176
- v0 - parameter for quasi free energy corrections
171
+
172
+ * "NRG"
173
+ * "ZPE"
174
+ * "ENTHALPY"
175
+ * "QHARM"
176
+ * "QRRHO"
177
+ * "RRHO"
178
+
179
+ :param float temperature: temperature in K
180
+ :param float v0: parameter for quasi free energy corrections
181
+
182
+ :returns: boltzmann weights
183
+ :rtype: np.ndarray
177
184
"""
178
185
if not nrg_cos :
179
186
nrg_cos = thermo_cos
@@ -254,18 +261,18 @@ def therm_corr(self, temperature=None, v0=100, method="RRHO", pressure=1):
254
261
for the specified cutoff frequency and temperature
255
262
in that order (Hartrees for corrections, Eh/K for entropy)
256
263
257
- temperature: float, temperature in K- None will use self.temperature
258
- pressure: float, pressure in atm
259
- v0: float, cutoff/damping parameter for quasi G corrections
260
- method: str - type of quasi treatment :
261
- RRHO - no quasi treatment
262
- QRRHO - Grimme's quasi-RRHO
263
- see Grimme, S. (2012), Supramolecular Binding Thermodynamics by
264
- Dispersion‐Corrected Density Functional Theory. Chem. Eur. J.,
265
- 18: 9955-9964. (DOI: 10.1002/chem.201200497) for details
266
- QHARM - Truhlar's quasi-harmonic
267
- see J. Phys. Chem. B 2011, 115, 49, 14556–14562
268
- (DOI: 10.1021/jp205508z) for details
264
+ :param float temperature: temperature in K- None will use self.temperature
265
+ :param float pressure: pressure in atm
266
+ :param float v0: float, cutoff/damping parameter for quasi G corrections
267
+ :param str method: type of free energy\ :
268
+ * RRHO - no quasi treatment
269
+ * QRRHO - Grimme's quasi-RRHO
270
+ see Grimme, S. (2012), Supramolecular Binding Thermodynamics by
271
+ Dispersion‐Corrected Density Functional Theory. Chem. Eur. J.,
272
+ 18: 9955-9964. (DOI: 10.1002/chem.201200497) for details
273
+ * QHARM - Truhlar's quasi-harmonic
274
+ see J. Phys. Chem. B 2011, 115, 49, 14556–14562
275
+ (DOI: 10.1021/jp205508z) for details
269
276
"""
270
277
if self .frequency is None :
271
278
msg = "Vibrational frequencies not found, "
@@ -398,10 +405,11 @@ def therm_corr(self, temperature=None, v0=100, method="RRHO", pressure=1):
398
405
def calc_G_corr (self , temperature = None , v0 = 0 , method = "RRHO" , ** kwargs ):
399
406
"""
400
407
returns quasi rrho free energy correction (Eh)
401
- temperature: float, temperature; default is self.temperature
402
- v0: float, parameter for quasi-rrho or quasi-harmonic entropy
403
- method: str (RRHO, QRRHO, QHARM) method for treating entropy
404
- see CompOutput.therm_corr for references
408
+
409
+ :param float temperature: temperature; default is self.temperature
410
+ :param float v0: parameter for quasi-rrho or quasi-harmonic entropy
411
+ :param str method: (RRHO, QRRHO, QHARM) method for treating entropy
412
+ see CompOutput.therm_corr for references
405
413
"""
406
414
Ecorr , Hcorr , Stot = self .therm_corr (temperature , v0 , method , ** kwargs )
407
415
T = temperature if temperature is not None else self .temperature
@@ -412,6 +420,7 @@ def calc_G_corr(self, temperature=None, v0=0, method="RRHO", **kwargs):
412
420
def calc_Grimme_G (self , temperature = None , v0 = 100 , ** kwargs ):
413
421
"""
414
422
returns quasi rrho free energy (Eh)
423
+
415
424
see Grimme, S. (2012), Supramolecular Binding Thermodynamics by
416
425
Dispersion‐Corrected Density Functional Theory. Chem. Eur. J.,
417
426
18: 9955-9964. (DOI: 10.1002/chem.201200497) for details
@@ -538,8 +547,10 @@ def follow(self, reverse=False, step=0.1):
538
547
def compute_rot_temps (self ):
539
548
"""
540
549
sets self's 'rotational_temperature' attribute by using self.geometry
550
+
541
551
not recommended b/c atoms should be specific isotopes, but this uses
542
552
average atomic weights
553
+
543
554
exists because older versions of ORCA don't print rotational temperatures
544
555
"""
545
556
COM = self .geometry .COM (mass_weight = True )
0 commit comments