Source code for atomate2.vasp.jobs.phonons

"""Define the PhononDisplacementMaker for VASP."""

from dataclasses import dataclass, field

from atomate2.vasp.jobs.base import BaseVaspMaker
from atomate2.vasp.sets.base import VaspInputGenerator
from atomate2.vasp.sets.core import StaticSetGenerator


[docs] @dataclass class PhononDisplacementMaker(BaseVaspMaker): """ Maker to perform a static calculation as a part of the finite displacement method. The input set is for a static run with tighter convergence parameters. Both the k-point mesh density and convergence parameters are stricter than a normal relaxation. Parameters ---------- name : str The job name. input_set_generator : .VaspInputGenerator A generator used to make the input set. write_input_set_kwargs : dict Keyword arguments that will get passed to :obj:`.write_vasp_input_set`. copy_vasp_kwargs : dict Keyword arguments that will get passed to :obj:`.copy_vasp_outputs`. run_vasp_kwargs : dict Keyword arguments that will get passed to :obj:`.run_vasp`. task_document_kwargs : dict Keyword arguments that will get passed to :obj:`.TaskDoc.from_directory`. stop_children_kwargs : dict Keyword arguments that will get passed to :obj:`.should_stop_children`. write_additional_data : dict Additional data to write to the current directory. Given as a dict of {filename: data}. Note that if using FireWorks, dictionary keys cannot contain the "." character which is typically used to denote file extensions. To avoid this, use the ":" character, which will automatically be converted to ".". E.g. ``{"my_file:txt": "contents of the file"}``. """ name: str = "phonon static" input_set_generator: VaspInputGenerator = field( default_factory=lambda: StaticSetGenerator( user_kpoints_settings={"reciprocal_density": 100}, user_incar_settings={ "IBRION": 2, "ISIF": 3, "ENCUT": 700, "EDIFF": 1e-7, "LAECHG": False, "LREAL": False, "ALGO": "Normal", "NSW": 0, "LCHARG": False, }, auto_ispin=True, ) )