atomate.vasp.fireworks package — atomate 0.9.2 documentation

# 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_cmd<<', copy_vasp_outputs=True, lepsilon=True, db_file='>>db_file<<', 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_cmd<<', copy_vasp_outputs=True, lepsilon=True, db_file='>>db_file<<', 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_cmd<<', db_file='>>db_file<<', **kwargs)

  Bases: `fireworks.core.firework.Firework`

  `__init__`(parents=None, prev_calc_dir=None, structure=None, mode='gap', name=None, vasp_cmd='>>vasp_cmd<<', db_file='>>db_file<<', **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_cmd<<', copy_vasp_outputs=True, db_file='>>db_file<<', 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_cmd<<', copy_vasp_outputs=True, db_file='>>db_file<<', 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_cmd<<', override_default_vasp_params=None, wall_time=19200, db_file='>>db_file<<', 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_cmd<<', override_default_vasp_params=None, wall_time=19200, db_file='>>db_file<<', 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_cmd<<', copy_vasp_outputs=True, db_file='>>db_file<<', input_set_overrides=None, **kwargs)

  Bases: `fireworks.core.firework.Firework`

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

    Standard NonSCF Calculation Firework supporting 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.

      input_set_overrides (dict): Arguments passed to the

        “from_prev_calc” method of the MPNonSCFSet. This parameter allows a user to modify the default values of the input set. For example, passing the key value pair

        > {‘reciprocal_density’: 1000}

        will override default k-point meshes for uniform calculations.

      **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_cmd<<', override_default_vasp_params=None, ediffg=None, db_file='>>db_file<<', 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_cmd<<', override_default_vasp_params=None, ediffg=None, db_file='>>db_file<<', 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_cmd<<', db_file='>>db_file<<', 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_cmd<<', db_file='>>db_file<<', 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_cmd<<', prev_calc_loc=True, prev_calc_dir=None, db_file='>>db_file<<', vasptodb_kwargs=None, 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_cmd<<', prev_calc_loc=True, prev_calc_dir=None, db_file='>>db_file<<', vasptodb_kwargs=None, 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. vasptodb_kwargs (dict): kwargs to pass to VaspToDb **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_cmd<<', db_file='>>db_file<<', 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_cmd<<', db_file='>>db_file<<', 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_cmd<<', copy_vasp_outputs=True, db_file='>>db_file<<', 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_cmd<<', copy_vasp_outputs=True, db_file='>>db_file<<', 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.nmr module

class `atomate.vasp.fireworks.nmr.` `NMRFW`(structure=None, mode='cs', isotopes=None, name='nmr tensor', prev_calc_dir=None, vasp_cmd='vasp', copy_vasp_outputs=True, db_file=None, parents=None, **kwargs)

  Bases: `fireworks.core.firework.Firework`

  `__init__`(structure=None, mode='cs', isotopes=None, name='nmr tensor', prev_calc_dir=None, vasp_cmd='vasp', copy_vasp_outputs=True, db_file=None, parents=None, **kwargs)

    Firework for NMR tensor calculations

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

        name of the FW.

      mode (str): the NMR calculation type: cs or efg, default is cs isotopes (list): list of isotopes to include, default is to include the

      > lowest mass quadrupolar isotope for all applicable elements

      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__.

## 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