18.11.2012 Views

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

SHOW MORE
SHOW LESS

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>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!