hetero2d.fireworks package¶
Submodules¶
hetero2d.fireworks.core module¶
These classes implements various fireworks needed to compute the thermodynamic stability, electronic properties, and structural transformations of 2D thin films substrates, and adsorbed 2D films on a substrate slab surface.
-
class
hetero2d.fireworks.core.
HeteroOptimizeFW
(spec, structure, name='Structure Optimization', vasp_input_set=None, user_incar_settings=None, vasp_cmd='>>vasp_cmd<<', ediffg=None, db_file='>>db_file<<', force_gamma=True, parents=None, job_type='double_relaxation_run', max_force_threshold=0.25, half_kpts_first_relax=False, auto_npar='>>auto_npar<<', **kwargs)¶ Bases:
fireworks.Firework
Optimize the given structure with additional tags for the heterostructure workflow.
- Parameters
structure (Structure) – Input structure.
spec (dict) – The specification parameters used to control the workflow and pass variables.
- Other Parameters
name (str) – Name for the Firework.
user_incar_settings (dict) – Input settings to update the settings for the vasp input set.
vasp_input_set (VaspInputSet) – input set to use. Defaults to CMDLInterfaceSet() if None.
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
hetero2d.fireworks.core.
SubstrateSlabFW
(spec, structure, slab_params, vasp_input_set=None, user_incar_settings=None, prev_calc_dir=None, vasp_cmd='>>vasp_cmd<<', name='Slab Structure Optimization', copy_vasp_outputs=True, db_file=None, parents=None, **kwargs)¶ Bases:
fireworks.Firework
Apply the transformations to the bulk structure, write the slab set corresponding to the transformed structure, and run vasp. Note that if a transformation yields many structures from one, only the last structure in the list is used. By default all structures will have selective dynamics tags as one of the transformations applied to the input structure.
- Parameters
name (string) – Name for the Firework.
spec (dict) – The specification parameters used to control the workflow and pass variables.
structure (Structure) – Bulk input structure to apply transformations onto.
slab_params (dict) – A dictionary containing a list of transformations and transformation_params to generate the substrate slab structure for the hetero_interface. Example: slab_params = {‘transformations’: [‘SlabTransformation’, ‘AddSitePropertyTransformation’],’transformation_params’: [{},{}]}. Definitions: transformations (list): list of names of transformation classes as defined in the modules in pymatgen.transformations. transformation_params (list): list of dicts where each dict specify the input parameters to instantiate the transformation class in the transformations list.
- Other Parameters
user_incar_settings (dict) – VASP INCAR settings to override default settings for the vasp input set.
vasp_input_set (VaspInputSet) – VASP input set, used to write the input set for the transmuted structure. Defaults to CMDLInterfaceSet.
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.
kwargs – Other kwargs that are passed to Firework.__init__.
-
class
hetero2d.fireworks.core.
GenHeteroStructuresFW
(spec, structure, heterotransformation_params, vasp_input_set=None, user_incar_settings=None, prev_calc_dir=None, name='Generate Heterostructures', vasp_cmd='>>vasp_cmd<<', db_file='>>db_file<<', copy_vasp_outputs=False, parents=None, **kwargs)¶ Bases:
fireworks.Firework
Apply transformations to 2D material and substrate slab to generate fireworks that create and relax hetero_interface structures using vdW corrections. Note: If the transformation produces many from one, all structures are simulated.
- Parameters
spec (dict) – Specification of the job to run.
structure (Structure) – 2D material to align onto the substrate.
hetero_transformation_params (dict) – dictionary containing the input to control the hetero2d.manipulate.hetero_transmuter modules.
transformations (list) – list of transformations to apply to the structure as defined in the modules in hetero2d.manipulate module.
transformation_params (list) – list of dicts where each dict specifies the input parameters to instantiate the transformation class in the transformations list. Example: h_params={‘transformations’: [‘hetero_interfaces’], ‘transformation_params’:[{hetero_interface parameters dictionary}]}.
- Other Parameters
user_incar_settings (dict) – Input settings to update the settings for the vasp input set.
vasp_input_set (VaspInputSet) – VASP input set, used to write the input set for the transmuted structure. Defaults to CMDLInterfaceSet.
name (string) – Name for the Firework. Default is “Generate HeteroStructures {2D}-on-{Substrate} {unique_id}”.
vasp_cmd (string) – Command to run vasp.
copy_vasp_outputs (bool) – Whether to copy outputs from the previous run. Defaults to False.
prev_calc_dir (str) – Path to a previous calculation to copy data from.
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
hetero2d.fireworks.core.
HeteroStructuresFW
(spec, structure, name=None, transformation=None, vasp_input_set=None, user_incar_settings=None, vasp_cmd='>>vasp_cmd<<', db_file='>>db_file<<', copy_vasp_outputs=False, prev_calc_dir=None, parents=None, **kwargs)¶ Bases:
fireworks.Firework
Relax the hetero_structures generated by CreateHeterostructureTask and perform various energetic analyses to store in the database.
- Parameters
spec (dict) – The specification dictionary used to control the firework analysis. Spec file boolean triggers default to True resulting in Binding_Energy and Adsorption_Energy being calculated. If you wish to skip this, specify in user_addition.
structure (Slab) – Heterostructure slab structure.
- Other Parameters
transformation (dict) – The list of dictionaries containing the input used to create the hetero_interfaces. Defaults to none.
name (str) – The name for this firework. Defaults to wf_name + heterostructure optimization (used as the fw_name).
transformation (dict) – transformation parameters used to create the heterostructure.
user_incar_settings (dict) – Input settings to update the settings for the vasp input set.
vasp_input_set (VaspInputSet) – VASP input set for the transformed 2d on sub-slab. Default CMDLInterfaceSet.
prev_calc_dir – path to previous calculation if using structure from another calculation.