Skip to content

Equation of State

Fits energy-volume data to an equation of state (EOS) to extract equilibrium volume, equilibrium energy, and bulk modulus.

from ase.build import bulk
from materialsframework.analysis import EOSAnalyzer
from materialsframework.calculators import CHGNetCalculator

struct = bulk("Cu", "fcc", a=3.6, cubic=True)
calc = CHGNetCalculator()

eos = EOSAnalyzer(calculator=calc)
res = eos.calculate(struct)

print(res["e0"])       # equilibrium energy (eV)
print(res["v0"])       # equilibrium volume (ų)
print(res["b0"])       # bulk modulus (eV/ų)
print(res["b0_GPa"])   # bulk modulus (GPa)
print(res["b1"])       # pressure derivative of bulk modulus

See Theory for the derivation, or the API Reference for the full parameter list.