Computation engines are used to calculate molecular energies (e.g. heat of formation, electronic, electrostatic, total, etc.) and properties associated with energy (e.g. charge distribution, dipole moment, electrostatic potential, etc.). The energy calculation capabilities vary between the three different types of engines (i.e. empirical, semiempirical, and ab initio) and their specific implementations