matmethods.vasp.firetasks package

Submodules

matmethods.vasp.firetasks.glue_tasks module

class matmethods.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 matmethods.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 matmethods.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 matmethods.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 matmethods.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 matmethods.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)

matmethods.vasp.firetasks.parse_outputs module

class matmethods.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 matmethods.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 matmethods.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 matmethods.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 matmethods.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 matmethods.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 matmethods.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)

matmethods.vasp.firetasks.run_calc module

class matmethods.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 matmethods.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 matmethods.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 matmethods.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 matmethods.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)

matmethods.vasp.firetasks.write_inputs module

class matmethods.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 matmethods.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 matmethods.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 matmethods.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 matmethods.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 matmethods.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 matmethods.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 matmethods.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 matmethods.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