CommonEosMaker

class atomate2.common.flows.eos.CommonEosMaker(name='EOS Maker', initial_relax_maker=None, eos_relax_maker=None, static_maker=None, linear_strain=(-0.05, 0.05), number_of_frames=6, postprocessor=<factory>, _store_transformation_information=False)[source]

Bases: Maker

Generate equation of state data.

First relax a structure using relax_maker. Then perform a series of deformations on the relaxed structure, and evaluate single-point energies with static_maker.

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 (.atomate2.common.jobs.EOSPostProcessor) – 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

  • linear_strain (tuple[float, float])

make(structure, prev_dir=None)[source]

Run an EOS flow.

Parameters:
  • structure (Structure) – A pymatgen structure object.

  • prev_dir (str or Path or None) – A previous calculation directory to copy output files from.

Return type:

.Flow, an EOS flow