EOS task calculates the equation of state (EOS) for a crystal. It:
- Fully relaxes the input structure (positions + cell) using
OPT. - Generates
npointsuniformly strained copies of the relaxed cell spanning±max_abs_strain. - Relaxes atomic positions inside each strained cell (cell shape fixed).
- Fits a Birch-Murnaghan EOS to the resulting energy-volume data.
Function signature
Parameters
ase.Atoms
required
Input structure. A copy is made internally.
ase.calculators.calculator.BaseCalculator
required
ASE calculator for energies and forces.
Optimizer | str
default:"BFGSLineSearch"
Optimizer passed to the internal
OPT tasks. See structure optimization for valid values.dict | None
default:"None"
Extra keyword arguments forwarded to the optimizer.
Filter | str | None
default:"FrechetCell"
Cell filter used for the initial full relaxation. Set to
None to skip cell relaxation.dict | None
default:"None"
Extra keyword arguments forwarded to the filter.
dict | None
default:"None"
Convergence criterion dict forwarded to each
OPT run (e.g. {"fmax": 0.01}).number
default:"0.1"
Maximum absolute volumetric strain applied to the equilibrium cell. A value of
0.1 spans cell scale factors from 0.9^(1/3) to 1.1^(1/3) along each axis.number
default:"11"
Number of volume points sampled along the strain range, including the endpoints.
boolean
default:"true"
If
True, all per-strain OPT tasks are submitted concurrently using OPT.submit() and collected with prefect.futures.wait. Set to False for serial execution.boolean
default:"false"
If
True, intermediate OPT results are persisted and cached in Prefect’s result store. Useful when re-running the EOS with the same structure.Return value
Returns adict with the following keys on success, or a Prefect State object if the initial relaxation fails:
Example
1
Import and prepare
2
Run the EOS task
3
Inspect results
The EOS task uses a Birch-Murnaghan fit via
pymatgen.analysis.eos.BirchMurnaghan. At least 4 converged points are needed for a meaningful fit. Increase npoints if you need higher resolution on the E-V curve.