matmethods.vasp.workflows.base package

Submodules

matmethods.vasp.workflows.base.bulk_modulus module

matmethods.vasp.workflows.base.bulk_modulus.get_wf_bulk_modulus(structure, deformations, vasp_input_set=None, vasp_cmd=u'vasp', db_file=None, user_kpoints_settings=None, eos=u'vinet')

Returns the workflow that computes the bulk modulus by fitting to the given equation of state.

Args:

structure (Structure): input structure. deformations (list): list of deformation matrices(list of lists). vasp_input_set (VaspInputSet) vasp_cmd (str): vasp command to run. db_file (str): path to the db file. user_kpoints_settings (dict): example: {“grid_density”: 7000} eos (str): equation of state used for fitting the energies and the volumes.

supported equation of states: “quadratic”, “murnaghan”, “birch”, “birch_murnaghan”, “pourier_tarantola”, “vinet”, “deltafactor”. See pymatgen.analysis.eos.py
Returns:
Workflow

matmethods.vasp.workflows.base.core module

matmethods.vasp.workflows.base.core.get_wf(structure, wf_filename, params=None, common_params=None, vis=None)

A generic function to load generic VASP library workflows, while overriding some of the parameters via the function arguments

Args:

structure: (Structure) structure to run wf_filename: filename in library subdir, e.g. “band_structure.yaml” params: (list of dicts) set params for each Firework; format is list

that is same length as # of fws in the workflow

common_params: (dict) set common params vis: (VaspInputSet) A VaspInputSet to use for the first FW

Returns:
A Workflow

matmethods.vasp.workflows.base.deformations module

matmethods.vasp.workflows.base.deformations.get_wf_deformations(structure, deformations, name=u'deformation', vasp_input_set=None, lepsilon=False, vasp_cmd=u'vasp', db_file=None, user_kpoints_settings=None, pass_stress_strain=False, tag=u'', relax_deformed=False)

Returns a structure deformation workflow.

Firework 1 : structural relaxation

Firework 2 - len(deformations): Deform the optimized structure and run static calculations.

Args:

structure (Structure): input structure to be optimized and run deformations (list of 3x3 array-likes): list of deformations name (str): some appropriate name for the transmuter fireworks. vasp_input_set (DictVaspInputSet): vasp input set. lepsilon (bool): whether or not compute static dielectric constant/normal modes vasp_cmd (str): command to run db_file (str): path to file containing the database credentials. user_kpoints_settings (dict): example: {“grid_density”: 7000} pass_stress_strain (bool): if True, stress and strain will be parsed and passed on. tag (str): some unique string that will be appended to the names of the fireworks so that

the data from those tagged fireworks can be queried later during the analysis.
Returns:
Workflow

matmethods.vasp.workflows.base.elastic module

matmethods.vasp.workflows.base.elastic.get_wf_elastic_constant(structure, vasp_input_set=None, vasp_cmd=u'vasp', norm_deformations=None, shear_deformations=None, additional_deformations=None, db_file=None, user_kpoints_settings=None, add_analysis_task=True)

Returns a workflow to calculate elastic constants.

Firework 1
: write vasp input set for structural relaxation,
run vasp, pass run location, database insertion.

Firework 2 - number of total deformations: Static runs on the deformed structures

last Firework : Analyze Stress/Strain data and fit the elastic tensor

Args:
structure (Structure): input structure to be optimized and run. norm_deformations (list): list of values to for normal deformations. shear_deformations (list): list of values to for shear deformations. additional_deformations (list of 3x3 array-likes): list of additional deformations. vasp_input_set (DictVaspInputSet): vasp input set. vasp_cmd (str): command to run. db_file (str): path to file containing the database credentials. user_kpoints_settings (dict): example: {“grid_density”: 7000} add_analysis_task (bool): boolean indicating whether to add analysis
Returns:
Workflow

matmethods.vasp.workflows.base.gibbs module

matmethods.vasp.workflows.base.gibbs.get_wf_gibbs_free_energy(structure, deformations, vasp_input_set=None, vasp_cmd=u'vasp', db_file=None, user_kpoints_settings=None, t_step=10, t_min=0, t_max=1000, mesh=(20, 20, 20), eos=u'vinet', qha_type=u'debye_model', pressure=0.0)

Returns quasi-harmonic gibbs free energy workflow. Note: phonopy package is required for the final analysis step if qha_type=”phonopy”

Args:

structure (Structure): input structure. deformations (list): list of deformation matrices(list of lists). vasp_input_set (VaspInputSet) vasp_cmd (str): vasp command to run. db_file (str): path to the db file. user_kpoints_settings (dict): example: {“grid_density”: 7000} t_step (float): temperature step (in K) t_min (float): min temperature (in K) t_max (float): max temperature (in K) 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”. Note: pymatgen supports more options than phonopy. see pymatgen.analysis.eos.py
qha_type(str): quasi-harmonic approximation type: “debye_model” or “phonopy”,
default is “debye_model”

pressure (float): in GPa

Returns:
Workflow

matmethods.vasp.workflows.base.raman module

matmethods.vasp.workflows.base.raman.get_wf_raman_spectra(structure, modes=None, step_size=0.005, vasp_cmd=u'vasp', db_file=None)
Raman susceptibility tensor workflow:
Calculation of phonon normal modes followed by the computation of dielectric tensor for structures displaced along the normal modes. Finally the dielectric tensors corresponding to each mode are used to compute the Raman susceptibility tensor using finite difference( central difference scheme).
Args:

structure (Structure): Input structure. modes (tuple/list): list of modes for which the Raman spectra need to be calculated.

The default is to use all the 3N modes.
step_size (float): site displacement along the normal mode in Angstroms. Used to compute
the finite difference(central difference scheme) first derivative of the dielectric constant along the normal modes.

vasp_cmd (str): vasp command to run. db_file (str): path to file containing the database credentials.

Returns:
Workflow

matmethods.vasp.workflows.base.thermal_expansion module

matmethods.vasp.workflows.base.thermal_expansion.get_wf_thermal_expansion(structure, deformations, vasp_input_set=None, vasp_cmd=u'vasp', db_file=None, user_kpoints_settings=None, t_step=10, t_min=0, t_max=1000, mesh=(20, 20, 20), eos=u'vinet', pressure=0.0)

Returns quasi-harmonic thermal expansion workflow. Note: phonopy package is required for the final analysis step.

Args:

structure (Structure): input structure. deformations (list): list of deformation matrices(list of lists). vasp_input_set (VaspInputSet) vasp_cmd (str): vasp command to run. db_file (str): path to the db file. user_kpoints_settings (dict): example: {“grid_density”: 7000} t_step (float): temperature step (in K) t_min (float): min temperature (in K) t_max (float): max temperature (in K) 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”. Note: pymatgen supports more options than phonopy. see pymatgen.analysis.eos.py

pressure (float): in GPa

Returns:
Workflow

Module contents