atomate.vasp.firetasks package — atomate 0.3 documentation

# atomate.vasp.firetasks package

## Submodules

## atomate.vasp.firetasks.glue_tasks module

class `atomate.vasp.firetasks.glue_tasks.` `CheckBandgap`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Checks the band gap of an entry. If band gap is >min_gap or <max_gap, then the task will return a FWAction that will defuse all remaining tasks.

  Required params:
    (none) - but you should set either min_gap or max_gap
  Optional params:
    min_gap: (float) minimum gap energy in eV to proceed max_gap: (float) maximum gap energy in eV to proceed vasprun_path: (str) path to vasprun.xml file
  `optional_params` = [u'min_gap', u'max_gap', u'vasprun_path']
  `required_params` = []
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.glue_tasks.` `CheckStability`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Checks the stability of the entry against the Materials Project database. If the stability is less than the cutoff (default is 0.1 eV/atom), then the task will return a FWAction that will defuse all remaining tasks.

  Required params:
    (none) - but your MAPI key must be set as an environ var in this case
  Optional params:
    ehull_cutoff: (float) energy in eV/atom to use as ehull cutoff. Default
      is 0.05 eV/atom.

    MAPI_KEY: (str) set MAPI key directly. Supports env_chk. calc_dir: (str) string to path containing vasprun.xml (default currdir)

  `optional_params` = [u'ehull_cutoff', u'MAPI_KEY', u'calc_dir']
  `required_params` = []
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.glue_tasks.` `CopyVaspOutputs`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Copy files from a previous VASP run directory to the current directory. By default, copies ‘INCAR’, ‘POSCAR’, ‘KPOINTS’, ‘POTCAR’, ‘OUTCAR’, and ‘vasprun.xml’. Additional files, e.g. ‘CHGCAR’, can also be specified. Automatically handles files that have a ”.gz” extension (copies and unzips).

  Note that you must specify either “calc_loc” or “calc_dir” to indicate the directory containing the previous VASP run.

  Required params:
    (none) - but you must specify either “calc_loc” OR “calc_dir”
  Optional params:
    calc_loc (str OR bool): if True will set most recent calc_loc. If str
      search for the most recent calc_loc with the matching name

    calc_dir (str): path to dir that contains VASP output files. filesystem (str): remote filesystem. e.g. username@host additional_files ([str]): additional files to copy,

    > e.g. [“CHGCAR”, “WAVECAR”]. Use $ALL if you just want to copy everything

    contcar_to_poscar(bool): If True (default), will move CONTCAR to
      POSCAR (original POSCAR is not copied).
  `optional_params` = [u'calc_loc', u'calc_dir', u'filesystem', u'additional_files', u'contcar_to_poscar']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.glue_tasks.` `PassEpsilonTask`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Pass the epsilon(dielectric constant) corresponding to the given normal mode and displacement.

  Required params:
    mode (int): normal mode index displacement (float): displacement along the normal mode in Angstroms
  `required_params` = [u'mode', u'displacement']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.glue_tasks.` `PassNormalmodesTask`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Extract and pass the normal mode eigenvalues and vectors.

  optional_params:
    calc_dir (str): path to the calculation directory
  `optional_params` = [u'calc_dir']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.glue_tasks.` `PassStressStrainData`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Passes the stress and deformation for an elastic deformation calculation

  Required params:
    deformation: the deformation gradient used in the elastic analysis.
  `required_params` = [u'deformation']
  `run_task`(fw_spec)

## atomate.vasp.firetasks.parse_outputs module

class `atomate.vasp.firetasks.parse_outputs.` `BoltztrapToDBTask`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Enter a Boltztrap run into the database.

  Optional params:
    db_file (str): path to file containing the database credentials.
      Supports env_chk. Default: write data to JSON file.

    hall_doping (bool): set True to retain hall_doping in dict

  `optional_params` = [u'db_file', u'hall_doping']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.parse_outputs.` `ElasticTensorToDbTask`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Analyzes the stress/strain data of an elastic workflow to produce an elastic tensor and various other quantities.

  `optional_params` = [u'db_file']
  `required_params` = [u'structure']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.parse_outputs.` `FitEquationOfStateTask`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Retrieve the energy and volume data and fit it to the given equation of state. The summary dict is written to ‘bulk_modulus.json’ file.

  required_params:
    tag (str): unique tag appended to the task labels in other fireworks so that all the
      required data can be queried directly from the database.

    db_file (str): path to the db file eos (str): equation of state used for fitting the energies and the volumes.

    > options supported by pymatgen: “quadratic”, “murnaghan”, “birch”, “birch_murnaghan”, “pourier_tarantola”, “vinet”, “deltafactor”

  `required_params` = [u'tag', u'db_file', u'eos']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.parse_outputs.` `GibbsFreeEnergyTask`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Compute the quasi-harmonic gibbs free energy. There are 2 options available for the quasi-harmonic approximation (set via ‘qha_type’ parameter): 1. use the phonopy package quasi-harmonic approximation interface or 2. use the debye model. Note: Instead of relying on fw_spec, this task gets the required data directly from the tasks collection for processing. The summary dict is written to ‘gibbs.json’ file.

  required_params:
    tag (str): unique tag appended to the task labels in other fireworks so that all the
      required data can be queried directly from the database.

    db_file (str): path to the db file

  optional_params:
    qha_type(str): quasi-harmonic approximation type: “debye_model” or “phonopy”,
      default is “debye_model”

    t_min (float): min temperature t_step (float): temperature step t_max (float): max temperature mesh (list/tuple): reciprocal space density eos (str): equation of state used for fitting the energies and the volumes.

    > options supported by phonopy: “vinet”, “murnaghan”, “birch_murnaghan”.

    pressure (float): in GPa, optional.

  `optional_params` = [u'qha_type', u't_min', u't_step', u't_max', u'mesh', u'eos', u'pressure']
  `required_params` = [u'tag', u'db_file']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.parse_outputs.` `RamanSusceptibilityTensorToDbTask`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Raman susceptibility tensor for each mode = Finite difference derivative of the dielectric
    tensor wrt the displacement along that mode.

  See: 10.1103/PhysRevB.73.104304

  optional_params:
    db_file (str): path to the db file
  `optional_params` = [u'db_file']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.parse_outputs.` `ThermalExpansionCoeffTask`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Compute the quasi-harmonic thermal expansion coefficient using phonopy.

  required_params:
    tag (str): unique tag appended to the task labels in other fireworks so that all the
      required data can be queried directly from the database.

    db_file (str): path to the db file

  optional_params:

    t_min (float): min temperature t_step (float): temperature step t_max (float): max temperature mesh (list/tuple): reciprocal space density eos (str): equation of state used for fitting the energies and the volumes.

    > options supported by phonopy: “vinet”, “murnaghan”, “birch_murnaghan”.

    pressure (float): in GPa, optional.

  `optional_params` = [u't_min', u't_step', u't_max', u'mesh', u'eos', u'pressure']
  `required_params` = [u'tag', u'db_file']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.parse_outputs.` `VaspToDbTask`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Enter a VASP run into the database. Uses current directory unless you specify calc_dir or calc_loc.

  Optional params:
    calc_dir (str): path to dir (on current filesystem) that contains VASP
      output files. Default: use current working directory.
    calc_loc (str OR bool): if True will set most recent calc_loc. If str
      search for the most recent calc_loc with the matching name
    parse_dos (bool): whether to parse the DOS and store in GridFS.
      Defaults to False.
    bandstructure_mode (str): Set to “uniform” for uniform band structure.
      Set to “line” for line mode. If not set, band structure will not be parsed.

    additional_fields (dict): dict of additional fields to add fw_spec_field (str): if set, will update the task doc with the contents

    > of this key in the fw_spec.

    db_file (str): path to file containing the database credentials.
      Supports env_chk. Default: write data to JSON file.
    defuse_unsuccessful (bool): Defuses children fireworks if VASP run state
      is not “successful”; i.e. both electronic and ionic convergence are reached. Defaults to True.
  `optional_params` = [u'calc_dir', u'calc_loc', u'parse_dos', u'bandstructure_mode', u'additional_fields', u'db_file', u'fw_spec_fields', u'defuse_unsuccessful']
  `run_task`(fw_spec)

## atomate.vasp.firetasks.run_calc module

class `atomate.vasp.firetasks.run_calc.` `RunBoltztrap`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Run Boltztrap directly. Requires vasprun.xml and OUTCAR to be in current dir.

  Required params:
    (none)
  Optional params:
    scissor: (float) scissor band gap amount in eV tmax: (float) max temperature to evaluate (default = 1300K) tgrid: (float) temperature interval (default = 50K) doping: ([float]) doping levels you want to compute
  `optional_params` = [u'scissor', u'tmax', u'tgrid', u'doping']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.run_calc.` `RunVaspCustodian`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Run VASP using custodian “on rails”, i.e. in a simple way that supports most common options.

  Required params:
    vasp_cmd (str): the name of the full executable for running VASP.
      Supports env_chk.
  Optional params:
    job_type: (str) - choose from “normal” (default),
      “double_relaxation_run” (two consecutive jobs), and “full_opt_run”
    handler_group: (str) - group of handlers to use. See handler_groups
      dict in the code for the groups and complete list of handlers in each group.
    max_force_threshold: (float) - if >0, adds MaxForceErrorHandler.
      Not recommended for nscf runs.
    scratch_dir: (str) - if specified, uses this directory as the root
      scratch dir. Supports env_chk.

    gzip_output: (bool) - gzip output (default=T) max_errors: (int) - maximum # of errors to fix before giving up (default=2) ediffg: (float) shortcut for setting EDIFFG in special custodian jobs auto_npar: (bool) - use auto_npar (default=F). Recommended set to T

    > for single-node jobs only. Supports env_chk.

    gamma_vasp_cmd: (str) - cmd for Gamma-optimized VASP compilation.
      Supports env_chk.

    wall_time (int): Total wall time in seconds. Activates WalltimeHandler if set.

  `optional_params` = [u'job_type', u'handler_group', u'max_force_threshold', u'scratch_dir', u'gzip_output', u'max_errors', u'ediffg', u'auto_npar', u'gamma_vasp_cmd', u'wall_time']
  `required_params` = [u'vasp_cmd']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.run_calc.` `RunVaspCustodianFromObjects`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Run VASP using custodian in a generic manner using built-in custodian objects

  Required params:
    jobs: ([Job]) - a list of custodian jobs to run handlers: ([ErrorHandler]) - a list of error handlers
  Optional params:
    validators: ([Validator]) - a list of Validators custodian_params ({}) - dict of all other custodian parameters
  `optional_params` = [u'validators', u'custodian_params']
  `required_params` = [u'jobs', u'handlers']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.run_calc.` `RunVaspDirect`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Run VASP directly (no custodian).

  Required params:
    vasp_cmd (str): the name of the full executable for running VASP. Supports env_chk.
  `required_params` = [u'vasp_cmd']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.run_calc.` `RunVaspFake`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Vasp Emulator

  Required params:
    ref_dir (string): Path to reference vasp run directory with input files
      in the folder named ‘inputs’ and output files in the folder named ‘outputs’.
  Optional params:
    params_to_check (list): optional list of incar parameters to check.
  `optional_params` = [u'params_to_check']
  `required_params` = [u'ref_dir']
  `run_task`(fw_spec)

## atomate.vasp.firetasks.write_inputs module

class `atomate.vasp.firetasks.write_inputs.` `ModifyIncar`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Modify an INCAR file.

  Required params:
    (none)
  Optional params:

    incar_update (dict): overwrite Incar dict key. Supports env_chk. incar_multiply ([{<str>:<float>}]) - multiply Incar key by a constant

    > factor. Supports env_chk.

    incar_dictmod ([{}]): use DictMod language to change Incar.
      Supports env_chk.

    input_filename (str): Input filename (if not “INCAR”) output_filename (str): Output filename (if not “INCAR”)

  `optional_params` = [u'incar_update', u'incar_multiply', u'incar_dictmod', u'input_filename', u'output_filename']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.write_inputs.` `WriteNormalmodeDisplacedPoscar`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Displace the structure from the previous calculation along the provided normal mode by the given amount and write the corresponding Poscar file.

  Required params:
    mode (int): normal mode index displacement (float): displacement along the normal mode in Angstroms
  `required_params` = [u'mode', u'displacement']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.write_inputs.` `WriteTransmutedStructureIOSet`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Apply the provided transformations to the input structure and write the input set for that structure. Reads structure from POSCAR if no structure provided

  Required params:

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

    > the modules in pymatgen.transformations

    vasp_input_set (VaspInputSet): VASP input set.

  Optional params:
    transformation_params (list): list of dicts where each dict specifies the input parameters
      to instantiate the transformation class in the transformations list.

    override_default_vasp_params (dict): additional user input settings. prev_calc_dir: path to previous calculation if using structure from another calculation.

  `optional_params` = [u'prev_calc_dir', u'transformation_params', u'override_default_vasp_params']
  `required_params` = [u'structure', u'transformations', u'vasp_input_set']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.write_inputs.` `WriteVaspFromIOSet`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Create VASP input files using implementations of pymatgen’s AbstractVaspInputSet. An input set can be provided as an object or as a String/parameter combo.

  Required params:

    structure (Structure): structure vasp_input_set (AbstractVaspInputSet or str): Either a VaspInputSet

    > object or a string name for the VASP input set (e.g., “MPRelaxSet”).

  Optional params:
    vasp_input_params (dict): When using a string name for VASP input set,
      use this as a dict to specify kwargs for instantiating the input set parameters. For example, if you want to change the user_incar_settings, you should provide: {“user_incar_settings”: ...}. This setting is ignored if you provide the full object representation of a VaspInputSet rather than a String.
  `optional_params` = [u'vasp_input_params']
  `required_params` = [u'structure', u'vasp_input_set']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.write_inputs.` `WriteVaspFromPMGObjects`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Write VASP files using pymatgen objects.

  Required params:
    (none)
  Optional params:
    incar (Incar): pymatgen Incar object poscar (Poscar): pymatgen Poscar object kpoints (Kpoints): pymatgen Kpoints object potcar (Potcar): pymatgen Potcar object
  `optional_params` = [u'incar', u'poscar', u'kpoints', u'potcar']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.write_inputs.` `WriteVaspHSEBSFromPrev`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Writes input files for HSE Gap run. Assumes that output files from a an NSCF job (for getting VBM/CBM) can be accessed.

  Required params:
    prev_calc_dir
  Optional params:
    (documentation for all optional params can be found in MPHSEBSSet)
  `optional_params` = [u'mode', u'reciprocal_density', u'kpoints_line_density']
  `required_params` = [u'prev_calc_dir']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.write_inputs.` `WriteVaspNSCFFromPrev`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Writes input files for an NSCF static run. Assumes that output files from an scf job can be accessed. There are many options, e.g. uniform mode, line mode, adding the optical properties, etc.

  Required params:
    (none)
  Optional params:
    (documentation for all optional params can be found in NonSCFVaspInputSet)
  `optional_params` = [u'copy_chgcar', u'nbands_factor', u'reciprocal_density', u'kpoints_line_density', u'small_gap_multiply', u'standardize', u'sym_prec', u'international_monoclinic', u'mode', u'nedos', u'optics', u'other_params']
  `required_params` = [u'prev_calc_dir']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.write_inputs.` `WriteVaspSOCFromPrev`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Writes input files for a spinorbit coupling calculation.

  Required params:
    prev_calc_dir: path to previous calculation magmom (list): magnetic moment values for each site in the structure. saxis (list): magnetic field direction
  Optional params:
    (none)
  `optional_params` = [u'copy_chgcar', u'nbands_factor', u'reciprocal_density', u'small_gap_multiply', u'standardize', u'sym_prec', u'international_monoclinic', u'other_params']
  `required_params` = [u'prev_calc_dir', u'magmom', u'saxis']
  `run_task`(fw_spec)

class `atomate.vasp.firetasks.write_inputs.` `WriteVaspStaticFromPrev`(*args, **kwargs)

  Bases: `fireworks.core.firework.FireTaskBase`

  Writes input files for a static run. Assumes that output files from a relaxation job can be accessed. Also allows lepsilon calcs.

  Required params:
    (none)
  Optional params:
    (documentation for all optional params can be found in MPStaticSet)
  `optional_params` = [u'reciprocal_density', u'small_gap_multiply', u'standardize', u'sym_prec', u'international_monoclinic', u'lepsilon', u'other_params']
  `required_params` = [u'prev_calc_dir']
  `run_task`(fw_spec)

## Module contents