AdsorptionMaker

class atomate2.vasp.flows.adsorption.AdsorptionMaker(name='adsorption workflow', mol_relax_maker=<factory>, mol_static_maker=<factory>, bulk_relax_maker=<factory>, slab_relax_maker=<factory>, slab_static_maker=<factory>, min_vacuum=20.0, min_slab_size=10.0, min_lw=10.0, surface_idx=(0, 0, 1))[source]

Bases: Maker

Workflow that calculates the adsorption energy of a molecule on a surface.

The flow consists of the following steps: 1. Optimize the molecule structure and calculate its static energy. 2. Optimize the bulk structure. 3. Generate a slab structure using the optimized bulk structure and calculate its static energy. 4. Generate adsorption sites on the slab and calculate corresponding static energy. 5. Calculate the adsorption energy by calculating the energy difference between the slab with adsorbed molecule and the sum of the slab without the adsorbed molecule and the molecule.

Parameters:
  • name (str) – Name of the flow.

  • bulk_relax_maker (BaseVaspMaker) – Maker for bulk relaxation.

  • mol_relax_maker (BaseVaspMaker) – Maker for molecule relaxation.

  • slab_relax_maker (BaseVaspMaker) – Maker for slab relaxation with adsorption.

  • slab_static_maker (BaseVaspMaker) – Maker for slab static energy calculation.

  • mol_static_maker (BaseVaspMaker) – Maker for molecule static energy calculation.

  • min_vacuum (float) – The minimum size of the vacuum region. In Angstroms or number of hkl planes.

  • min_slab_size (float) – The minimum size of layers of the slab. In Angstroms or number of hkl planes.

  • min_lw (float) – Minimum length and width of the slab

  • surface_idx (tuple) – Miller index [h, k, l] of plane parallel to surface.

make(molecule, structure, prev_dir_mol=None, prev_dir_bulk=None)[source]

Generate a flow for calculating adsorption energies.

Parameters:
  • molecule (Molecule) – A pymatgen molecule object. The molecule to be adsorbed.

  • structure (Structure) – A pymatgen structure object. The bulk structure to be used for slab generation.

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

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

Returns:

A flow object for calculating adsorption energies.

Return type:

Flow