MACEEosMaker¶
- class atomate2.forcefields.flows.eos.MACEEosMaker(name='MACE EOS Maker', initial_relax_maker=<factory>, eos_relax_maker=<factory>, static_maker=None, linear_strain=(-0.05, 0.05), number_of_frames=6, postprocessor=<factory>, _store_transformation_information=False)[source]¶
Bases:
CommonEosMaker
Generate equation of state data using the MACE ML forcefield.
First relax a structure using relax_maker. Then perform a series of deformations on the relaxed structure, and relax atomic positions within the cell. For ML forcefields, there is no distinction between relax and static energies, unlike in a VASP calculation. Therefore these EosMakers default to static_maker = None.
- Parameters:
name (str) – Name of the flows produced by this maker.
initial_relax_maker (.Maker | None) – Maker to relax the input structure, defaults to None (no initial relaxation).
eos_relax_maker (.Maker) – Maker to relax deformed structures for the EOS fit.
static_maker (.Maker | None) – Maker to generate statics after each relaxation, defaults to None.
strain (tuple[float]) – Percentage linear strain to apply as a deformation, default = -5% to 5%.
number_of_frames (int) – Number of strain calculations to do for EOS fit, default = 6.
postprocessor (.job) – Optional postprocessing step, defaults to atomate2.common.jobs.PostProcessEosEnergy.
_store_transformation_information (.bool = False) – Whether to store the information about transformations. Unfortunately needed at present to handle issues with emmet and pydantic validation TODO: remove this when clash is fixed