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 workflowcommon_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.pypressure (float): in GPa
- Returns:
- Workflow