ConvergenceMaker

class atomate2.aims.jobs.convergence.ConvergenceMaker(convergence_field, convergence_steps, name='convergence', maker=<factory>, criterion_name='energy_per_atom', epsilon=0.001)[source]

Bases: Maker

Defines a convergence workflow with a maximum number of steps.

A job that performs convergence run for a given number of steps. Stops either when all steps are done, or when the convergence criterion is reached, that is when the absolute difference between the subsequent values of the convergence field is less than a given epsilon.

Parameters:
  • convergence_field (str) – An input parameter that changes to achieve convergence

  • convergence_steps (Iterable) – An iterable of the possible values for the convergence field. If the iterable is depleted and the convergence is not reached, then the job is failed

  • name (str) – A name for the job

  • maker (.BaseAimsMaker) – A maker for the run

  • criterion_name (str) – A name for the convergence criterion. Must be in the run results

  • epsilon (float) – A difference in criterion value for subsequent runs

make(structure, prev_dir=None, convergence_data=None, prev_output_value=None)[source]

Create a top-level flow controlling convergence iteration.

Parameters:
  • structure (Structure or Molecule) – a structure to run a job

  • prev_dir (str or Path or None) – An FHI-aims calculation directory in which previous run contents are stored

  • convergence_data (dict or None) – The convergence information to date.

  • prev_output_value (float or None) – The output value being converged from the previous aims calculation.

Return type:

ConvergenceSummary