MPMorphMDMaker

class atomate2.common.flows.mpmorph.MPMorphMDMaker(production_md_maker, name='Base MPMorph MD', equilibrium_volume_maker=None, quench_maker=None)[source]

Bases: Maker

Base MPMorph flow for amorphous solid equilibration.

This flow uses NVT molecular dynamics to: (1 - optional) Determine the equilibrium volume of an amorphous

structure via EOS fit.

(2 - optional) Quench the equilibrium volume structure from a higher

temperature down to a lower desired “production” temperature.

  1. Run a production, longer-time MD run in NVT. The production run can be broken up into smaller steps to ensure the simulation does not hit wall time limits.

Check atomate2.vasp.flows.mpmorph for MPMorphVaspMDMaker

Parameters:
  • name (str) – Name of the flows produced by this maker.

  • equilibrium_volume_maker (EquilibriumVolumeMaker) – MDMaker to generate the equilibrium volumer searcher

  • production_md_maker (Maker) – MDMaker to generate the production run(s)

  • quench_maker (SlowQuenchMaker or FastQuenchMaker or None) –

    SlowQuenchMaker - MDMaker that quenches structure from

    high to low temperature

    FastQuenchMaker - DoubleRelaxMaker + Static that

    ”quenches” structure at 0K

make(structure, prev_dir=None)[source]

Create an MPMorph equilibration workflow.

Converegence and quench steps are optional, and may be used to equilibrate the cell volume (useful for high temperature production runs of structures extracted from Materials Project) and to quench the structure from high to low temperature (e.g. amorphous structures), respectively.

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

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

Returns:

A flow containing series of molecular dynamics run (and relax+static).

Return type:

Flow

abstract classmethod from_temperature_and_steps(temperature, n_steps_convergence=5000, n_steps_production=10000, end_temp=None, md_maker=None, quench_maker=None)[source]

Create an MPMorph flow from a temperature and number of steps.

This is a convenience class constructor. The user need only input the desired temperature and steps for convergence / production MD runs.

Parameters:
  • temperature (float) – The (starting) temperature

  • n_steps_convergence (int = 5000) – The number of steps used in MD runs for equilibrating structures.

  • n_steps_production (int = 10000) – The number of steps used in MD production runs.

  • end_temp (float or None) – If a float, the temperature to ramp down to in the production run. If None (default), set to temperature.

  • base_md_maker (Maker) – The Maker used to start MD runs.

  • quench_maker (SlowQuenchMaker or FastQuenchMaker or None) –

    SlowQuenchMaker - MDMaker that quenches structure from

    high to low temperature

    FastQuenchMaker - DoubleRelaxMaker + Static that

    ”quenches” structure at 0K

  • md_maker (Maker)

Return type:

Self