Atomization energy
The following script will calculate the atomization energy of a nitrogen molecule:
from ase import Atoms from ase.calculators.emt import EMT atom = Atoms('N') atom.calc = EMT() e_atom = atom.get_potential_energy() d = 1.1 molecule = Atoms('2N', [(0., 0., 0.), (0., 0., d)]) molecule.calc = EMT() e_molecule = molecule.get_potential_energy() e_atomization = e_molecule - 2 * e_atom print('Nitrogen atom energy: %5.2f eV' % e_atom) print('Nitrogen molecule energy: %5.2f eV' % e_molecule) print('Atomization energy: %5.2f eV' % -e_atomization)
First, an Atoms
object containing one nitrogen is created and a
fast EMT calculator is attached to it simply as an argument. The total
energy for the isolated atom is then calculated and stored in the
e_atom
variable.
The molecule
object is defined, holding the nitrogen molecule at
the experimental bond length. The EMT calculator is then attached to
the molecule and the total energy is extracted into the e_molecule
variable.
Running the script will produce the output:
Nitrogen atom energy: 5.10 eV
Nitrogen molecule energy: 0.44 eV
Atomization energy: 9.76 eV