ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki
ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki
ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>ASE</strong> <strong>Manual</strong>, <strong>Release</strong> 3.6.1.2828<br />
Example<br />
symmetrynumber [integer] symmetry number of the molecule. See, for example, Table 10.1 and Appendix<br />
B of C. Cramer “Essentials of Computational Chemistry”, 2nd Ed.<br />
spin [float] the total electronic spin. (0 for molecules in which all electrons are paired, 0.5 for a free radical<br />
with a single unpaired electron, 1.0 for a triplet with two unpaired electrons, such as O_2.)<br />
get_enthalpy(temperature, verbose=True)<br />
Returns the enthalpy, in eV, in the ideal gas approximation at a specified temperature (K).<br />
get_entropy(temperature, pressure, verbose=True)<br />
Returns the entropy, in eV/K, in the ideal gas approximation at a specified temperature (K) and pressure<br />
(Pa).<br />
get_free_energy(temperature, pressure, verbose=True)<br />
Returns the free energy, in eV, in the ideal gas approximation at a specified temperature (K) and<br />
pressure (Pa).<br />
The IdealGasThermo class would generally be called after an energy optimization and a vibrational analysis.<br />
The user needs to supply certain parameters if the entropy or free energy are desired, such as the geometry and<br />
symmetry number. An example on the nitrogen molecule is:<br />
from ase.data.molecules import molecule<br />
from ase.calculators.emt import EMT<br />
from ase.optimize import QuasiNewton<br />
from ase.vibrations import Vibrations<br />
from ase.thermochemistry import IdealGasThermo<br />
atoms = molecule(’N2’)<br />
atoms.set_calculator(EMT())<br />
dyn = QuasiNewton(atoms)<br />
dyn.run(fmax=0.01)<br />
electronicenergy = atoms.get_potential_energy()<br />
vib = Vibrations(atoms)<br />
vib.run()<br />
vib_energies = vib.get_energies()<br />
thermo = IdealGasThermo(vib_energies=vib_energies,<br />
electronicenergy=electronicenergy, atoms=atoms,<br />
geometry=’linear’, symmetrynumber=2, spin=0)<br />
G = thermo.get_free_energy(temperature=298.15, pressure=101325.)<br />
This will give the thermodynamic summary output:<br />
Enthalpy components at T = 298.15 K:<br />
===============================<br />
E_elec 0.000 eV<br />
E_ZPE 0.116 eV<br />
Cv_trans (0->T) 0.039 eV<br />
Cv_rot (0->T) 0.026 eV<br />
Cv_vib (0->T) 0.000 eV<br />
(C_v -> C_p) 0.026 eV<br />
-------------------------------<br />
H 0.206 eV<br />
===============================<br />
Entropy components at T = 298.15 K and P = 101325.0 Pa:<br />
=================================================<br />
S T*S<br />
S_trans (1 atm) 0.0015579 eV/K 0.464 eV<br />
S_rot 0.0004314 eV/K 0.129 eV<br />
174 Chapter 7. Documentation for modules in <strong>ASE</strong>