atomate.vasp.fireworks package

Submodules

atomate.vasp.fireworks.core module

class atomate.vasp.fireworks.core.BoltztrapFW(parents=None, structure=None, name='boltztrap', db_file=None, scissor=0.0, doping=None, tmax=1300, tgrid=50, prev_calc_dir=None, soc=False, additional_fields=None, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(parents=None, structure=None, name='boltztrap', db_file=None, scissor=0.0, doping=None, tmax=1300, tgrid=50, prev_calc_dir=None, soc=False, additional_fields=None, **kwargs)

Run Boltztrap (which includes writing bolztrap input files and parsing outputs). Assumes you have a previous FW with the calc_locs passed into the current FW.

Args:

structure (Structure): - only used for setting name of FW name (str): name of this FW db_file (str): path to the db file parents (Firework): Parents of this particular Firework. FW or list of FWS. prev_calc_dir (str): Path to a previous calculation to copy from scissor (float): if scissor > 0, apply scissor on the band structure so that new

band gap = scissor (in eV)

doping: ([float]) doping levels you want to compute tmax: (float) max temperature to evaluate tgrid: (float) temperature interval soc (bool): whether the band structure is calculated with spin-orbit coupling additional_fields (dict): fields added to the document such as user-defined tags or name, ids, etc **kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.DFPTFW(structure=None, prev_calc_dir=None, name='static dielectric', vasp_cmd='vasp', copy_vasp_outputs=True, lepsilon=True, db_file=None, parents=None, user_incar_settings=None, pass_nm_results=False, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(structure=None, prev_calc_dir=None, name='static dielectric', vasp_cmd='vasp', copy_vasp_outputs=True, lepsilon=True, db_file=None, parents=None, user_incar_settings=None, pass_nm_results=False, **kwargs)
Static DFPT calculation Firework
Args:
structure (Structure): Input structure. If copy_vasp_outputs, used only to set the
name of the FW.

name (str): Name for the Firework. lepsilon (bool): Turn on LEPSILON to calculate polar properties vasp_cmd (str): Command to run vasp. copy_vasp_outputs (str or bool): Whether to copy outputs from previous

run. Defaults to True.

prev_calc_dir (str): Path to a previous calculation to copy from db_file (str): Path to file specifying db credentials. parents (Firework): Parents of this particular Firework.

FW or list of FWS.

user_incar_settings (dict): Parameters in INCAR to override pass_nm_results (bool): if true the normal mode eigen vals and vecs are passed so that

next firework can use it.

**kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.HSEBSFW(parents=None, prev_calc_dir=None, structure=None, mode='gap', name=None, vasp_cmd='vasp', db_file=None, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(parents=None, prev_calc_dir=None, structure=None, mode='gap', name=None, vasp_cmd='vasp', db_file=None, **kwargs)

For getting a more accurate band gap or a full band structure with HSE - requires previous calculation that gives VBM/CBM info or the high-symmetry kpoints.

Args:

parents (Firework): Parents of this particular Firework. FW or list of FWS. prev_calc_dir (str): Path to a previous calculation to copy from structure (Structure): Input structure - used only to set the name of the FW. mode (string): options:

“line” to get a full band structure along symmetry lines or “uniform” for uniform mesh band structure or “gap” to get the energy at the CBM and VBM

name (str): Name for the Firework. vasp_cmd (str): Command to run vasp. db_file (str): Path to file specifying db credentials. **kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.LepsFW(structure, name='static dielectric', vasp_cmd='vasp', copy_vasp_outputs=True, db_file=None, parents=None, phonon=False, mode=None, displacement=None, user_incar_settings=None, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(structure, name='static dielectric', vasp_cmd='vasp', copy_vasp_outputs=True, db_file=None, parents=None, phonon=False, mode=None, displacement=None, user_incar_settings=None, **kwargs)

Standard static calculation Firework for dielectric constants using DFPT.

Args:
structure (Structure): Input structure. If copy_vasp_outputs, used only to set the
name of the FW.

name (str): Name for the Firework. vasp_cmd (str): Command to run vasp. copy_vasp_outputs (bool): Whether to copy outputs from previous

run. Defaults to True.

db_file (str): Path to file specifying db credentials. parents (Firework): Parents of this particular Firework.

FW or list of FWS.
phonon (bool): Whether or not to extract normal modes and pass it. This argument along
with the mode and displacement arguments must be set for the calculation of dielectric constant in the Raman tensor workflow.

mode (int): normal mode index. displacement (float): displacement along the normal mode in Angstroms. user_incar_settings (dict): Parameters in INCAR to override **kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.MDFW(structure, start_temp, end_temp, nsteps, name='molecular dynamics', vasp_input_set=None, vasp_cmd='vasp', override_default_vasp_params=None, wall_time=19200, db_file=None, parents=None, copy_vasp_outputs=True, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(structure, start_temp, end_temp, nsteps, name='molecular dynamics', vasp_input_set=None, vasp_cmd='vasp', override_default_vasp_params=None, wall_time=19200, db_file=None, parents=None, copy_vasp_outputs=True, **kwargs)

Standard firework for a single MD run.

Args:

structure (Structure): Input structure. start_temp (float): Start temperature of MD run. end_temp (float): End temperature of MD run. nsteps (int): Number of MD steps name (string): Name for the Firework. vasp_input_set (string): string name for the VASP input set (e.g.,

“MITMDVaspInputSet”).

vasp_cmd (string): Command to run vasp. override_default_vasp_params (dict): If this is not None,

these params are passed to the default vasp_input_set, i.e., MITMDSet. This allows one to easily override some settings, e.g., user_incar_settings, etc. Particular to MD, one can control time_step and all other settings of the input set.

wall_time (int): Total wall time in seconds before writing STOPCAR. copy_vasp_outputs (bool): Whether to copy outputs from previous run. Defaults to True. db_file (string): Path to file specifying db credentials. parents (Firework): Parents of this particular Firework. FW or list of FWS. **kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.NEBFW(spec, neb_label, from_images=True, user_incar_settings=None, user_kpoints_settings=None, additional_cust_args=None, **kwargs)

Bases: fireworks.core.firework.Firework

CI-NEB Firework in NEB Workflow.

Task 1) Read in image structures from spec and generates input sets.
The group of structures are labeled with neb_label (1, 2…)

Task 2) Run NEB VASP using Custodian Task 3) Update structure to spec Task 4) Pass CalcLocs named “neb_{}”.format(neb_label)

__init__(spec, neb_label, from_images=True, user_incar_settings=None, user_kpoints_settings=None, additional_cust_args=None, **kwargs)
Args:

spec (dict): Specification of the job to run. neb_label (str): “1”, “2”…, label neb run. from_images (bool): Set True to initialize from image structures, False starting

from relaxed endpoint structures.

user_incar_settings (dict): Additional INCAR settings. user_kpoints_settings (dict): Additional KPOINTS settings. additional_cust_args (dict): Other kwargs that are passed to RunVaspCustodian. **kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.NEBRelaxationFW(spec, label, user_incar_settings=None, user_kpoints_settings=None, additional_cust_args=None, **kwargs)

Bases: fireworks.core.firework.Firework

Relaxation Firework in NEB Workflow.

Task 1) Read in a structure with “st_label” (“rlx”, “ep0” or “ep1”) and generates input sets. Task 2) Run VASP using Custodian Task 3) Update structure to spec Task 4) Pass CalcLocs named “{}_dir”.format(st_label)

__init__(spec, label, user_incar_settings=None, user_kpoints_settings=None, additional_cust_args=None, **kwargs)
Args:
spec (dict): Specification of the job to run. label (str): “parent”, “ep0” or “ep1” vasp_input_set (VaspInputSet): Input set to use. user_kpoints_settings (dict): Additional KPOINTS settings. additional_cust_args (dict): Other kwargs that are passed to RunVaspCustodian. **kwargs: Other kwargs that are passed to Firework.__init__.
class atomate.vasp.fireworks.core.NonSCFFW(parents=None, prev_calc_dir=None, structure=None, name='nscf', mode='uniform', vasp_cmd='vasp', copy_vasp_outputs=True, db_file=None, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(parents=None, prev_calc_dir=None, structure=None, name='nscf', mode='uniform', vasp_cmd='vasp', copy_vasp_outputs=True, db_file=None, **kwargs)

Standard NonSCF Calculation Firework supporting both uniform and line modes.

Args:

structure (Structure): Input structure - used only to set the name of the FW. name (str): Name for the Firework. mode (str): “uniform” or “line” mode. vasp_cmd (str): Command to run vasp. copy_vasp_outputs (bool): Whether to copy outputs from previous

run. Defaults to True.

prev_calc_dir (str): Path to a previous calculation to copy from db_file (str): Path to file specifying db credentials. parents (Firework): Parents of this particular Firework.

FW or list of FWS.

**kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.OptimizeFW(structure, name='structure optimization', vasp_input_set=None, vasp_cmd='vasp', override_default_vasp_params=None, ediffg=None, db_file=None, force_gamma=True, job_type='double_relaxation_run', max_force_threshold=0.25, auto_npar='>>auto_npar<<', half_kpts_first_relax=False, parents=None, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(structure, name='structure optimization', vasp_input_set=None, vasp_cmd='vasp', override_default_vasp_params=None, ediffg=None, db_file=None, force_gamma=True, job_type='double_relaxation_run', max_force_threshold=0.25, auto_npar='>>auto_npar<<', half_kpts_first_relax=False, parents=None, **kwargs)

Optimize the given structure.

Args:

structure (Structure): Input structure. name (str): Name for the Firework. vasp_input_set (VaspInputSet): input set to use. Defaults to MPRelaxSet() if None. override_default_vasp_params (dict): If this is not None, these params are passed to

the default vasp_input_set, i.e., MPRelaxSet. This allows one to easily override some settings, e.g., user_incar_settings, etc.

vasp_cmd (str): Command to run vasp. ediffg (float): Shortcut to set ediffg in certain jobs db_file (str): Path to file specifying db credentials to place output parsing. force_gamma (bool): Force gamma centered kpoint generation job_type (str): custodian job type (default “double_relaxation_run”) max_force_threshold (float): max force on a site allowed at end; otherwise, reject job auto_npar (bool or str): whether to set auto_npar. defaults to env_chk: “>>auto_npar<<” half_kpts_first_relax (bool): whether to use half the kpoints for the first relaxation parents ([Firework]): Parents of this particular Firework. **kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.RamanFW(mode, displacement, prev_calc_dir=None, structure=None, name='raman', vasp_cmd='vasp', db_file=None, parents=None, user_incar_settings=None, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(mode, displacement, prev_calc_dir=None, structure=None, name='raman', vasp_cmd='vasp', db_file=None, parents=None, user_incar_settings=None, **kwargs)

Static calculation Firework that computes the DFPT dielectric constant for structure displaced along the given normal mode direction.

Args:
structure (Structure): Input structure. If copy_vasp_outputs, used only to set the
name of the FW.

mode (int): normal mode index. displacement (float): displacement along the normal mode in Angstroms. name (str): Name for the Firework. prev_calc_dir (str): Path to a previous calculation to copy from vasp_cmd (str): Command to run vasp. db_file (str): Path to file specifying db credentials. parents (Firework): Parents of this particular Firework.

FW or list of FWS.

user_incar_settings (dict): Parameters in INCAR to override **kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.SOCFW(magmom, structure=None, name='spin-orbit coupling', saxis=(0, 0, 1), prev_calc_dir=None, vasp_cmd='vasp_ncl', copy_vasp_outputs=True, db_file=None, parents=None, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(magmom, structure=None, name='spin-orbit coupling', saxis=(0, 0, 1), prev_calc_dir=None, vasp_cmd='vasp_ncl', copy_vasp_outputs=True, db_file=None, parents=None, **kwargs)

Firework for spin orbit coupling calculation.

Args:
structure (Structure): Input structure. If copy_vasp_outputs, used only to set the
name of the FW.

name (str): Name for the Firework. prev_calc_dir (str): Path to a previous calculation to copy from vasp_cmd (str): Command to run vasp. copy_vasp_outputs (bool): Whether to copy outputs from previous

run. Defaults to True.

db_file (str): Path to file specifying db credentials. parents (Firework): Parents of this particular Firework.

FW or list of FWS.

**kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.StaticFW(structure=None, name='static', vasp_input_set=None, vasp_input_set_params=None, vasp_cmd='vasp', prev_calc_loc=True, prev_calc_dir=None, db_file=None, vasptodb_kwargs={}, parents=None, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(structure=None, name='static', vasp_input_set=None, vasp_input_set_params=None, vasp_cmd='vasp', prev_calc_loc=True, prev_calc_dir=None, db_file=None, vasptodb_kwargs={}, parents=None, **kwargs)

Standard static calculation Firework - either from a previous location or from a structure.

Args:
structure (Structure): Input structure. Note that for prev_calc_loc jobs, the structure
is only used to set the name of the FW and any structure with the same composition can be used.

name (str): Name for the Firework. vasp_input_set (VaspInputSet): input set to use (for jobs w/no parents)

Defaults to MPStaticSet() if None.

vasp_input_set_params (dict): Dict of vasp_input_set kwargs. vasp_cmd (str): Command to run vasp. prev_calc_loc (bool or str): If true (default), copies outputs from previous calc. If

a str value, retrieves a previous calculation output by name. If False/None, will create new static calculation using the provided structure.

prev_calc_dir (str): Path to a previous calculation to copy from db_file (str): Path to file specifying db credentials. parents (Firework): Parents of this particular Firework. FW or list of FWS. **kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.StaticInterpolateFW(structure, start, end, name='static', vasp_input_set='MPStaticSet', vasp_input_set_params=None, vasp_cmd='vasp', db_file=None, parents=None, this_image=None, nimages=None, autosort_tol=0, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(structure, start, end, name='static', vasp_input_set='MPStaticSet', vasp_input_set_params=None, vasp_cmd='vasp', db_file=None, parents=None, this_image=None, nimages=None, autosort_tol=0, **kwargs)

Standard static calculation Firework that interpolates structures from two previous calculations.

Args:

structure (Structure): Input structure used to name FireWork. start (str): PassCalcLoc name of StaticFW or RelaxFW run of starting structure. end (str): PassCalcLoc name of StaticFW or RelaxFW run of ending structure. name (str): Name for the Firework. vasp_input_set (str): Input set to use. Defaults to MPStaticSet. vasp_input_set_params (dict): Dict of vasp_input_set_kwargs. vasp_cmd (str): Command to run vasp. copy_vasp_outputs (bool): Whether to copy outputs from previous run. Defaults to True. db_file (str): Path to file specifying db credentials. parents (Firework): Parents of this particular Firework. FW or list of FWS. this_image (int): which interpolation to use for this run nimages (int): number of interpolations autosort_tol (float): a distance tolerance in angstrom in which

to automatically sort end_structure to match to the closest points in this particular structure.

**kwargs: Other kwargs that are passed to Firework.__init__.

class atomate.vasp.fireworks.core.TransmuterFW(structure, transformations, transformation_params=None, vasp_input_set=None, prev_calc_dir=None, name='structure transmuter', vasp_cmd='vasp', copy_vasp_outputs=True, db_file=None, parents=None, override_default_vasp_params=None, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(structure, transformations, transformation_params=None, vasp_input_set=None, prev_calc_dir=None, name='structure transmuter', vasp_cmd='vasp', copy_vasp_outputs=True, db_file=None, parents=None, override_default_vasp_params=None, **kwargs)

Apply the transformations to the input structure, write the input set corresponding to the transformed structure, and run vasp on them. Note that if a transformation yields many structures from one, only the last structure in the list is used.

Args:

structure (Structure): Input structure. transformations (list): list of names of transformation classes as defined in

the modules in pymatgen.transformations. eg: transformations=[‘DeformStructureTransformation’, ‘SupercellTransformation’]
transformation_params (list): list of dicts where each dict specify the input
parameters to instantiate the transformation class in the transformations list.
vasp_input_set (VaspInputSet): VASP input set, used to write the input set for the
transmuted structure.

name (string): Name for the Firework. vasp_cmd (string): Command to run vasp. copy_vasp_outputs (bool): Whether to copy outputs from previous run. Defaults to True. prev_calc_dir (str): Path to a previous calculation to copy from db_file (string): Path to file specifying db credentials. parents (Firework): Parents of this particular Firework. FW or list of FWS. override_default_vasp_params (dict): additional user input settings for vasp_input_set. **kwargs: Other kwargs that are passed to Firework.__init__.

atomate.vasp.fireworks.polarization module

class atomate.vasp.fireworks.polarization.LcalcpolFW(structure, name='static dipole moment', static_name='static', vasp_cmd='vasp', vasp_input_set=None, vasp_input_set_params=None, db_file=None, parents=None, gap_threshold=0.01, interpolate=False, start=None, end=None, this_image=0, nimages=5, **kwargs)

Bases: fireworks.core.firework.Firework

__init__(structure, name='static dipole moment', static_name='static', vasp_cmd='vasp', vasp_input_set=None, vasp_input_set_params=None, db_file=None, parents=None, gap_threshold=0.01, interpolate=False, start=None, end=None, this_image=0, nimages=5, **kwargs)

Static Firework that calculates the dipole moment of structure or a single interpolated image of structures output by two calculations specified by PassCalcLoc names start and end.

This Firework uses three steps to calculate the dipole moment. 1. A StaticFW or StaticInterpolatFW calculation is performed to compute the band gap of the structure. 2. Because VASP cannot compute the dipole moment of metallic structures, CheckBandgap checks that the structure has a band gap greater than gap_threshold. If the structure has a band gap less than gap_threshold, the Firework defuses. Otherwise, 3. a polarization calculation (LCALCPOL=TRUE) is performed to calculate the dipole moment.

If interpolate is equal to True, the keywords start and end are PassCalcLoc names used to locate the output structures (CONTCAR) of two previous calculations. These two structures must have the same number and type of atoms given in identical order in the structures. These structures are used to create nimages structures interpolations.

this_image specifies which of the interpolated structures to use in this Firework. For example in the ferroelectric workflow, two structures that can be distorted into one another (a high-symmetry nonpolar structure and a low-symmetry polar structure) are relaxed using OptimizeFW. Then the dipole moment is calculated for nimages intermediate structures generated by interpolating between these two relaxed structures.

Args:
structure (Structure): Input structure. For an interpolation, this is a dummy structure. See interpolate arg
description.

name (str): Name for the polarization FireWork. static_name (str): Name for the SCF run to be used in PassCalcLoc if copy_vasp_outputs != True. vasp_cmd (str): Command to run vasp. vasp_input_set (str): string name for the VASP input set (e.g., “MITMDVaspInputSet”). vasp_input_set_params (dict): Dict of vasp_input_set_kwargs. db_file (str): Path to file specifying db credentials. parents (Firework): Parents of this particular Firework. FW or list of FWS. gap_threshold: Band gap cutoff for determining whether polarization calculation will proceed from

SCF band gap.
interpolate (bool): use structure created by interpolating CONTCAR structure from calculations indicated by
start and end PassCalcLoc names. If interpolate is False, start and end do not need to be set.

start (str): PassCalcLoc name of StaticFW or RelaxFW run of starting structure end (str): PassCalcLoc name of StaticFW or RelaxFW run of ending structure this_image (int): which interpolation to use for this run of the nimage interpolations. nimages (int): number of interpolations between CONTCAR structures from calculations indicated by start and

end args.

Module contents