Skip to content

Surface Energy

Computes the surface energy of one or more slab terminations for a given Miller index.

from ase.build import bulk
from materialsframework.analysis import SurfaceAnalyzer
from materialsframework.calculators import RandomCalculator

struct = bulk("Fe", "bcc", a=2.87, cubic=True)
calc = RandomCalculator()

surface = SurfaceAnalyzer(calculator=calc, miller_index=(1, 1, 0))
res = surface.calculate(struct)

print(res["bulk_energy_per_atom"])       # eV/atom
print(res["slabs"][0]["gamma"])          # surface energy (eV/Ų)
print(res["slabs"][0]["gamma_J_m2"])     # surface energy (J/m²)

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