OpticsMaker#

class atomate2.vasp.flows.core.OpticsMaker(name='static and optics', static_maker=<factory>, band_structure_maker=<factory>)[source]#

Bases: Maker

Maker to create optical absorption calculation VASP jobs.

This workflow contains an initial static calculation, and then a non-self-consistent field calculation with LOPTICS set. The purpose of the static calculation is i) to determine if the material needs magnetism set, and ii) to determine the total number of bands (the second calculation contains 1.3 * number of bands as the initial static) as often the highest bands are not properly converged in VASP.

Note

The magnetism will be disabled in the non-self-consistent field calculation if all MAGMOMs are less than 0.02.

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

  • static_maker (.BaseVaspMaker) – The maker to use for the static calculation.

  • band_structure_maker (.BaseVaspMaker) – The maker to use for the uniform optics calculation.

make(structure, prev_dir=None)[source]#

Run a static and then a non-scf optics calculation.

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 static and nscf with optics flow.

Return type:

Flow