Draft: ENH: Introduce `potential_energy` property
Closes #1379
The potential energy is a clearly defined quantity in physics: It is the function that yields forces when differentiation it w.r.t. the atomic positions.
This commit introduces this quantity as a first class citizen in ASE and implementes it for FHI-aims.
This results in 3 distinct energy definitions:
-
free_energy
: The electronic free energy including broadening from occupation broadening (that usually does not correspond to a physical temperature), -
energy
: the electronic free energy extrapolated to 0K to remove the (artifical) broadening (corrected total energy), -
potential_energy
: the force-consistent energy, often this is thefree_energy
, but it does not have to be because of implementation details or because there is no notion of "free energy".
In force fields, there is typically only 1 energy, which is the potential_energy
. A notion of "electronic free energy" does (usually) not exist. (To be precise, it does exist in some force fields as well).
The get_potential_energy
returns the potential_energy
which will be consistent with the forces. Which energy that is depends on the calculator, it can be energy
, free_energy
, or yet another one.
Explicit get
interfaces for these 3 energies are introduced on the calculator.