hdmolecule module

This module defines the HDMolecule class closely inspired by one of the ASE example at: https://wiki.fysik.dtu.dk/ase/tutorials/atomization.html

It also provides a couple of example functions to show how to use this class.

class hdmolecule.HDMolecule(element_symbol, distance)

Bases: object

A HDMolecule represents a homonuclear diatomic molecule, i.e., a linear molecule that consists of two atoms of the same element.

A homonuclear diatomic molecule is fully defined by the element and distance between the two atoms.

The class provides a number of methods to calculate various energy expressions for this type of molecule using the ASE EMT energy calculator.

atom_energy()

Calculate the energy of one separated atom of the element the homonuclear diatomic molecule consists of using the ASE EMT energy calculator.

Returns:

float: the energy of the atom in eV

atomization_energy()

Calculate the atomization energy of the homonuclear diatomic molecule using the ASE EMT energy calculator.

The atomization energy is the energy it takes to break apart a molecule into separate atoms. It is calculated as: the energy of the individual atoms - the energy of the molecule.

Returns:

float: the atomization energy of the molecule in eV

molecule_energy()

Calculate the energy of the homonuclear diatomic molecule using the ASE EMT energy calculator.

Returns:

float: the energy of the molecule in eV

hdmolecule.analyze_N2(distance)

Print out an energy analysis an N2 molecule with a bond given bond length in Å.

Args:

distance (float): The distance between the two Nitrogen atoms in Å.

hdmolecule.analyze_exp_N2()

Print out an energy analysis an N2 molecule with a bond length of 1.1 Å as found in experiments.