diff --git a/docs/user/codes/vasp.md b/docs/user/codes/vasp.md index f62b6fe6bb..83e61ce9ff 100644 --- a/docs/user/codes/vasp.md +++ b/docs/user/codes/vasp.md @@ -229,7 +229,7 @@ Modifying input sets -------------------- The inputs for a calculation can be modified in several ways. Every VASP job -takes a {obj}`.VaspInputSetGenerator` as an argument (`input_set_generator`). One +takes a {obj}`.VaspInputGenerator` as an argument (`input_set_generator`). One option is to specify an alternative input set generator: ```python @@ -295,13 +295,13 @@ Powerups return a copy of the original flow or Maker and do not modify it in pla ``` In addition to the ability to change INCAR parameters on-the-fly, the -{obj}`.VaspInputSetGenerator`, `Maker` object, and "powerups" allow for the manual +{obj}`.VaspInputGenerator`, `Maker` object, and "powerups" allow for the manual modification of several additional VASP settings, such as the k-points (`user_kpoints_settings`) and choice of pseudopotentials (`user_potcar_settings`). If a greater degree of flexibility is needed, the user can define a default set of input -arguments (`config_dict`) that can be provided to the {obj}`.VaspInputSetGenerator`. -By default, the {obj}`.VaspInputSetGenerator` uses a base set of VASP input parameters +arguments (`config_dict`) that can be provided to the {obj}`.VaspInputGenerator`. +By default, the {obj}`.VaspInputGenerator` uses a base set of VASP input parameters from {obj}`.BaseVaspSet.yaml`, which each `Maker` is built upon. If desired, the user can define a custom `.yaml` file that contains a different base set of VASP settings to use. An example of how this can be done is shown below for a representative static @@ -310,7 +310,7 @@ calculation. ``` from atomate2.vasp.sets.core import StaticSetGenerator from atomate2.vasp.jobs.core import StaticMaker -from atomate2.vasp.jobs.base import VaspInputSetGenerator +from atomate2.vasp.jobs.base import VaspInputGenerator from monty.serialization import loadfn # read in a custom config file diff --git a/src/atomate2/common/sets.py b/src/atomate2/common/sets.py deleted file mode 100644 index 85a24a6a6e..0000000000 --- a/src/atomate2/common/sets.py +++ /dev/null @@ -1,77 +0,0 @@ -"""Module defining an abstract interface for software inputs.""" - -import abc -from pathlib import Path -from typing import Union - -from monty.json import MSONable - - -class InputSet(MSONable): - """ - Abstract base class for code input sets. - - InputSet classes serve as containers for all calculation input data. - - All InputSet subclasses must implement a ``write_inputs`` method. Implementing the - ``from_files`` method and ``is_valid`` property are optional. - """ - - @abc.abstractmethod - def write_input( - self, - directory: Union[str, Path], - make_dir: bool = True, - overwrite: bool = True, - ): - """ - Write inputs to files. - - Parameters - ---------- - directory - Directory to write input files to. - make_dir - Whether to create the directory if it does not already exist. - overwrite - Whether to overwrite an input file if it already exists. - """ - - @classmethod - def from_directory(cls, directory: Union[str, Path]): - """ - Construct an InputSet from a directory containing one or more files. - - Parameters - ---------- - directory - Directory to read input files from. - """ - raise NotImplementedError(f"from_files has not been implemented in {cls}") - - @property - def is_valid(self) -> bool: - """ - Verify the validity of an input set. - - Can be as simple or as complex as desired. - - Will raise a NotImplementedError unless overloaded by the inheriting class. - """ - raise NotImplementedError( - f"is_valid has not been implemented in {self.__class__}" - ) - - -class InputSetGenerator(MSONable): - """ - A generator for an input set. - - It contains settings or sets of instructions for how to create InputSets from - coordinates/structures or a previous calculation directory. - """ - - @staticmethod - @abc.abstractmethod - def get_input_set(*args, **kwargs) -> InputSet: - """Generate an InputSet object.""" diff --git a/src/atomate2/vasp/files.py b/src/atomate2/vasp/files.py index 3f7b930e50..1939c5c9d7 100644 --- a/src/atomate2/vasp/files.py +++ b/src/atomate2/vasp/files.py @@ -13,7 +13,7 @@ from atomate2.common.files import copy_files, get_zfile, gunzip_files, rename_files from atomate2.utils.file_client import FileClient, auto_fileclient from atomate2.utils.path import strip_hostname -from atomate2.vasp.sets.base import VaspInputSetGenerator +from atomate2.vasp.sets.base import VaspInputGenerator __all__ = ["copy_vasp_outputs", "get_largest_relax_extension"] @@ -143,7 +143,7 @@ def get_largest_relax_extension( def write_vasp_input_set( structure: Structure, - input_set_generator: VaspInputSetGenerator, + input_set_generator: VaspInputGenerator, directory: Union[str, Path] = ".", from_prev: bool = False, apply_incar_updates: bool = True, @@ -158,7 +158,7 @@ def write_vasp_input_set( ---------- structure : .Structure A structure. - input_set_generator : .VaspInputSetGenerator + input_set_generator : .VaspInputGenerator A VASP input set generator. directory : str or Path The directory to write the input files to. diff --git a/src/atomate2/vasp/jobs/amset.py b/src/atomate2/vasp/jobs/amset.py index 70515436b4..dd2a5aea95 100644 --- a/src/atomate2/vasp/jobs/amset.py +++ b/src/atomate2/vasp/jobs/amset.py @@ -21,7 +21,7 @@ from atomate2.utils.path import strip_hostname from atomate2.vasp.jobs.base import BaseVaspMaker from atomate2.vasp.jobs.core import HSEBSMaker, NonSCFMaker -from atomate2.vasp.sets.base import VaspInputSetGenerator +from atomate2.vasp.sets.base import VaspInputGenerator from atomate2.vasp.sets.core import ( HSEBSSetGenerator, HSEStaticSetGenerator, @@ -50,7 +50,7 @@ class DenseUniformMaker(NonSCFMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -71,7 +71,7 @@ class DenseUniformMaker(NonSCFMaker): """ name: str = "dense uniform" - input_set_generator: VaspInputSetGenerator = field( + input_set_generator: VaspInputGenerator = field( default_factory=lambda: NonSCFSetGenerator( mode="uniform", reciprocal_density=1000, user_incar_settings={"LWAVE": True} ) @@ -91,7 +91,7 @@ class StaticDeformationMaker(BaseVaspMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -112,7 +112,7 @@ class StaticDeformationMaker(BaseVaspMaker): """ name: str = "static deformation" - input_set_generator: VaspInputSetGenerator = field( + input_set_generator: VaspInputGenerator = field( default_factory=lambda: StaticSetGenerator( user_kpoints_settings={"reciprocal_density": 100}, user_incar_settings={"KSPACING": None}, @@ -133,7 +133,7 @@ class HSEStaticDeformationMaker(BaseVaspMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -154,7 +154,7 @@ class HSEStaticDeformationMaker(BaseVaspMaker): """ name: str = "static deformation" - input_set_generator: VaspInputSetGenerator = field( + input_set_generator: VaspInputGenerator = field( default_factory=lambda: HSEStaticSetGenerator( user_kpoints_settings={"reciprocal_density": 100}, user_incar_settings={"KSPACING": None}, @@ -171,7 +171,7 @@ class HSEDenseUniformMaker(HSEBSMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -192,7 +192,7 @@ class HSEDenseUniformMaker(HSEBSMaker): """ name: str = "dense uniform" - input_set_generator: VaspInputSetGenerator = field( + input_set_generator: VaspInputGenerator = field( default_factory=lambda: HSEBSSetGenerator( mode="uniform_dense", zero_weighted_reciprocal_density=1000, diff --git a/src/atomate2/vasp/jobs/base.py b/src/atomate2/vasp/jobs/base.py index ad602ba702..4a8c05f0db 100644 --- a/src/atomate2/vasp/jobs/base.py +++ b/src/atomate2/vasp/jobs/base.py @@ -20,7 +20,7 @@ from atomate2.vasp.files import copy_vasp_outputs, write_vasp_input_set from atomate2.vasp.run import run_vasp, should_stop_children from atomate2.vasp.schemas.task import TaskDocument -from atomate2.vasp.sets.base import VaspInputSetGenerator +from atomate2.vasp.sets.base import VaspInputGenerator __all__ = ["BaseVaspMaker", "vasp_job"] @@ -83,7 +83,7 @@ class BaseVaspMaker(Maker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -104,9 +104,7 @@ class BaseVaspMaker(Maker): """ name: str = "base vasp job" - input_set_generator: VaspInputSetGenerator = field( - default_factory=VaspInputSetGenerator - ) + input_set_generator: VaspInputGenerator = field(default_factory=VaspInputGenerator) write_input_set_kwargs: dict = field(default_factory=dict) copy_vasp_kwargs: dict = field(default_factory=dict) run_vasp_kwargs: dict = field(default_factory=dict) diff --git a/src/atomate2/vasp/jobs/core.py b/src/atomate2/vasp/jobs/core.py index a2af0395a4..82f697aba2 100644 --- a/src/atomate2/vasp/jobs/core.py +++ b/src/atomate2/vasp/jobs/core.py @@ -11,7 +11,7 @@ from pymatgen.core.structure import Structure from atomate2.vasp.jobs.base import BaseVaspMaker, vasp_job -from atomate2.vasp.sets.base import VaspInputSetGenerator +from atomate2.vasp.sets.base import VaspInputGenerator from atomate2.vasp.sets.core import ( HSEBSSetGenerator, HSERelaxSetGenerator, @@ -48,7 +48,7 @@ class StaticMaker(BaseVaspMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -69,9 +69,7 @@ class StaticMaker(BaseVaspMaker): """ name: str = "static" - input_set_generator: VaspInputSetGenerator = field( - default_factory=StaticSetGenerator - ) + input_set_generator: VaspInputGenerator = field(default_factory=StaticSetGenerator) @dataclass @@ -83,7 +81,7 @@ class RelaxMaker(BaseVaspMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -104,9 +102,7 @@ class RelaxMaker(BaseVaspMaker): """ name: str = "relax" - input_set_generator: VaspInputSetGenerator = field( - default_factory=RelaxSetGenerator - ) + input_set_generator: VaspInputGenerator = field(default_factory=RelaxSetGenerator) @dataclass @@ -118,7 +114,7 @@ class TightRelaxMaker(BaseVaspMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -139,7 +135,7 @@ class TightRelaxMaker(BaseVaspMaker): """ name: str = "tight relax" - input_set_generator: VaspInputSetGenerator = field( + input_set_generator: VaspInputGenerator = field( default_factory=TightRelaxSetGenerator ) @@ -153,7 +149,7 @@ class NonSCFMaker(BaseVaspMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -174,9 +170,7 @@ class NonSCFMaker(BaseVaspMaker): """ name: str = "non-scf" - input_set_generator: VaspInputSetGenerator = field( - default_factory=NonSCFSetGenerator - ) + input_set_generator: VaspInputGenerator = field(default_factory=NonSCFSetGenerator) @vasp_job def make( @@ -224,7 +218,7 @@ class HSERelaxMaker(BaseVaspMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -245,7 +239,7 @@ class HSERelaxMaker(BaseVaspMaker): """ name: str = "hse relax" - input_set_generator: VaspInputSetGenerator = field( + input_set_generator: VaspInputGenerator = field( default_factory=HSERelaxSetGenerator ) @@ -278,7 +272,7 @@ class HSETightRelaxMaker(BaseVaspMaker): """ name: str = "hse tight relax" - input_set_generator: VaspInputSetGenerator = field( + input_set_generator: VaspInputGenerator = field( default_factory=HSETightRelaxSetGenerator ) @@ -292,7 +286,7 @@ class HSEStaticMaker(BaseVaspMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -313,7 +307,7 @@ class HSEStaticMaker(BaseVaspMaker): """ name: str = "hse static" - input_set_generator: VaspInputSetGenerator = field( + input_set_generator: VaspInputGenerator = field( default_factory=HSEStaticSetGenerator ) @@ -334,7 +328,7 @@ class HSEBSMaker(BaseVaspMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -355,9 +349,7 @@ class HSEBSMaker(BaseVaspMaker): """ name: str = "hse band structure" - input_set_generator: VaspInputSetGenerator = field( - default_factory=HSEBSSetGenerator - ) + input_set_generator: VaspInputGenerator = field(default_factory=HSEBSSetGenerator) @vasp_job def make( @@ -494,9 +486,7 @@ class TransmuterMaker(BaseVaspMaker): name: str = "transmuter" transformations: tuple[str, ...] = field(default_factory=tuple) transformation_params: tuple[dict, ...] | None = None - input_set_generator: VaspInputSetGenerator = field( - default_factory=StaticSetGenerator - ) + input_set_generator: VaspInputGenerator = field(default_factory=StaticSetGenerator) @vasp_job def make( diff --git a/src/atomate2/vasp/jobs/elastic.py b/src/atomate2/vasp/jobs/elastic.py index a86e1aa2fb..4d514519ed 100644 --- a/src/atomate2/vasp/jobs/elastic.py +++ b/src/atomate2/vasp/jobs/elastic.py @@ -22,7 +22,7 @@ from atomate2.common.schemas.elastic import ElasticDocument from atomate2.common.schemas.math import Matrix3D from atomate2.vasp.jobs.base import BaseVaspMaker -from atomate2.vasp.sets.base import VaspInputSetGenerator +from atomate2.vasp.sets.base import VaspInputGenerator from atomate2.vasp.sets.core import StaticSetGenerator logger = logging.getLogger(__name__) @@ -48,7 +48,7 @@ class ElasticRelaxMaker(BaseVaspMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. @@ -69,7 +69,7 @@ class ElasticRelaxMaker(BaseVaspMaker): """ name: str = "elastic relax" - input_set_generator: VaspInputSetGenerator = field( + input_set_generator: VaspInputGenerator = field( default_factory=lambda: StaticSetGenerator( user_kpoints_settings={"grid_density": 7000}, user_incar_settings={ diff --git a/src/atomate2/vasp/jobs/elph.py b/src/atomate2/vasp/jobs/elph.py index f39b0fb6f3..a9418903d3 100644 --- a/src/atomate2/vasp/jobs/elph.py +++ b/src/atomate2/vasp/jobs/elph.py @@ -60,7 +60,7 @@ class SupercellElectronPhononDisplacedStructureMaker(TransmuterMaker): ---------- name : str The job name. - input_set_generator : .VaspInputSetGenerator + 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`. diff --git a/src/atomate2/vasp/powerups.py b/src/atomate2/vasp/powerups.py index 53b1cfb721..e700c7cf72 100644 --- a/src/atomate2/vasp/powerups.py +++ b/src/atomate2/vasp/powerups.py @@ -18,7 +18,7 @@ def update_user_incar_settings( class_filter: type[Maker] | None = BaseVaspMaker, ) -> Job | Flow | Maker: """ - Update the user_incar_settings of any VaspInputSetGenerators in the flow. + Update the user_incar_settings of any VaspInputGenerators in the flow. Alternatively, if a Maker is supplied, the user_incar_settings of the maker will be updated. @@ -73,7 +73,7 @@ def update_user_potcar_settings( class_filter: type[Maker] | None = BaseVaspMaker, ) -> Job | Flow | Maker: """ - Update the user_potcar_settings of any VaspInputSetGenerators in the flow. + Update the user_potcar_settings of any VaspInputGenerators in the flow. Alternatively, if a Maker is supplied, the user_potcar_settings of the maker will be updated. @@ -128,7 +128,7 @@ def update_user_potcar_functional( class_filter: type[Maker] | None = BaseVaspMaker, ) -> Job | Flow | Maker: """ - Update the user_potcar_functional of any VaspInputSetGenerators in the flow. + Update the user_potcar_functional of any VaspInputGenerators in the flow. Alternatively, if a Maker is supplied, the user_potcar_functional of the maker will be updated. @@ -181,7 +181,7 @@ def update_user_kpoints_settings( class_filter: type[Maker] | None = BaseVaspMaker, ) -> Job | Flow | Maker: """ - Update the user_kpoints_settings of any VaspInputSetGenerators in the flow. + Update the user_kpoints_settings of any VaspInputGenerators in the flow. Alternatively, if a Maker is supplied, the user_kpoints_settings of the maker will be updated. @@ -243,7 +243,7 @@ def use_auto_ispin( class_filter: type[Maker] | None = BaseVaspMaker, ) -> Job | Flow | Maker: """ - Update the auto_ispin setting of any VaspInputSetGenerators in the flow. + Update the auto_ispin setting of any VaspInputGenerators in the flow. Alternatively, if a Maker is supplied, the auto_ispin of the maker will be updated. diff --git a/src/atomate2/vasp/sets/base.py b/src/atomate2/vasp/sets/base.py index 8ad5190bb0..63af24fc6a 100644 --- a/src/atomate2/vasp/sets/base.py +++ b/src/atomate2/vasp/sets/base.py @@ -14,6 +14,7 @@ from pkg_resources import resource_filename from pymatgen.core import Structure from pymatgen.electronic_structure.core import Magmom +from pymatgen.io.core import InputGenerator, InputSet from pymatgen.io.vasp import Incar, Kpoints, Outcar, Poscar, Potcar, Vasprun from pymatgen.io.vasp.sets import ( BadInputSetWarning, @@ -24,11 +25,10 @@ from pymatgen.symmetry.bandstructure import HighSymmKpath from atomate2 import SETTINGS -from atomate2.common.sets import InputSet, InputSetGenerator _BASE_VASP_SET = loadfn(resource_filename("atomate2.vasp.sets", "BaseVaspSet.yaml")) -__all__ = ["VaspInputSet", "VaspInputSetGenerator"] +__all__ = ["VaspInputSet", "VaspInputGenerator"] class VaspInputSet(InputSet): @@ -200,7 +200,7 @@ def is_valid(self) -> bool: @dataclass -class VaspInputSetGenerator(InputSetGenerator): +class VaspInputGenerator(InputGenerator): """ A class to generate VASP input sets. diff --git a/src/atomate2/vasp/sets/core.py b/src/atomate2/vasp/sets/core.py index 2ad4524b97..edaccbb6ce 100644 --- a/src/atomate2/vasp/sets/core.py +++ b/src/atomate2/vasp/sets/core.py @@ -9,7 +9,7 @@ from pymatgen.io.vasp import Outcar, Vasprun from atomate2.common.schemas.math import Vector3D -from atomate2.vasp.sets.base import VaspInputSetGenerator +from atomate2.vasp.sets.base import VaspInputGenerator __all__ = [ "RelaxSetGenerator", @@ -25,7 +25,7 @@ @dataclass -class RelaxSetGenerator(VaspInputSetGenerator): +class RelaxSetGenerator(VaspInputGenerator): """Class to generate VASP relaxation input sets.""" def get_incar_updates( @@ -61,7 +61,7 @@ def get_incar_updates( @dataclass -class TightRelaxSetGenerator(VaspInputSetGenerator): +class TightRelaxSetGenerator(VaspInputGenerator): """Class to generate tight VASP relaxation input sets.""" def get_incar_updates( @@ -107,7 +107,7 @@ def get_incar_updates( @dataclass -class StaticSetGenerator(VaspInputSetGenerator): +class StaticSetGenerator(VaspInputGenerator): """ Class to generate VASP static input sets. @@ -120,7 +120,7 @@ class StaticSetGenerator(VaspInputSetGenerator): Whether to set LCALCPOL (used for calculating the electronic contribution to the polarization) **kwargs - Other keyword arguments that will be passed to :obj:`VaspInputSetGenerator`. + Other keyword arguments that will be passed to :obj:`VaspInputGenerator`. """ lepsilon: bool = False @@ -174,7 +174,7 @@ def get_incar_updates( @dataclass -class NonSCFSetGenerator(VaspInputSetGenerator): +class NonSCFSetGenerator(VaspInputGenerator): """ Class to generate VASP non-self-consistent field input sets. @@ -194,7 +194,7 @@ class NonSCFSetGenerator(VaspInputSetGenerator): Multiplicative factor for NBANDS when starting from a previous calculation. Choose a higher number if you are doing an LOPTICS calculation. **kwargs - Other keyword arguments that will be passed to :obj:`VaspInputSetGenerator`. + Other keyword arguments that will be passed to :obj:`VaspInputGenerator`. """ mode: str = "line" @@ -322,7 +322,7 @@ def get_incar_updates( @dataclass -class HSERelaxSetGenerator(VaspInputSetGenerator): +class HSERelaxSetGenerator(VaspInputGenerator): """Class to generate VASP HSE06 relaxation input sets. .. note:: @@ -376,7 +376,7 @@ def get_incar_updates( @dataclass -class HSETightRelaxSetGenerator(VaspInputSetGenerator): +class HSETightRelaxSetGenerator(VaspInputGenerator): """Class to generate tight VASP HSE relaxation input sets. .. note:: @@ -435,7 +435,7 @@ def get_incar_updates( @dataclass -class HSEStaticSetGenerator(VaspInputSetGenerator): +class HSEStaticSetGenerator(VaspInputGenerator): """Class to generate VASP HSE06 static input sets. .. note:: @@ -491,7 +491,7 @@ def get_incar_updates( @dataclass -class HSEBSSetGenerator(VaspInputSetGenerator): +class HSEBSSetGenerator(VaspInputGenerator): """ Class to generate VASP HSE06 band structure input sets. @@ -539,7 +539,7 @@ class HSEBSSetGenerator(VaspInputSetGenerator): added_kpoints A list of kpoints in fractional coordinates to add as zero-weighted points. **kwargs - Other keyword arguments that will be passed to :obj:`VaspInputSetGenerator`. + Other keyword arguments that will be passed to :obj:`VaspInputGenerator`. """ mode: str = "gap" @@ -685,7 +685,7 @@ def get_incar_updates( @dataclass -class ElectronPhononSetGenerator(VaspInputSetGenerator): +class ElectronPhononSetGenerator(VaspInputGenerator): """ Class to generate VASP electron phonon input sets. diff --git a/src/atomate2/vasp/sets/defect.py b/src/atomate2/vasp/sets/defect.py index 5f3919582d..522ea66bbb 100644 --- a/src/atomate2/vasp/sets/defect.py +++ b/src/atomate2/vasp/sets/defect.py @@ -5,11 +5,11 @@ from pymatgen.core import Structure from pymatgen.io.vasp import Outcar, Vasprun -from atomate2.vasp.sets.base import VaspInputSetGenerator +from atomate2.vasp.sets.base import VaspInputGenerator @dataclass -class AtomicRelaxSetGenerator(VaspInputSetGenerator): +class AtomicRelaxSetGenerator(VaspInputGenerator): """Class to generate VASP atom-only relaxation input sets.""" use_structure_charge: bool = True diff --git a/tests/vasp/conftest.py b/tests/vasp/conftest.py index 276860afa5..e583212739 100644 --- a/tests/vasp/conftest.py +++ b/tests/vasp/conftest.py @@ -63,7 +63,7 @@ def mock_vasp(monkeypatch, vasp_test_dir): import atomate2.vasp.jobs.base import atomate2.vasp.jobs.defect import atomate2.vasp.run - from atomate2.vasp.sets.base import VaspInputSetGenerator + from atomate2.vasp.sets.base import VaspInputGenerator def mock_run_vasp(): from jobflow import CURRENT_JOB @@ -72,7 +72,7 @@ def mock_run_vasp(): ref_path = vasp_test_dir / _REF_PATHS[name] fake_run_vasp(ref_path, **_FAKE_RUN_VASP_KWARGS.get(name, {})) - get_input_set_orig = VaspInputSetGenerator.get_input_set + get_input_set_orig = VaspInputGenerator.get_input_set def mock_get_input_set(self, *args, **kwargs): kwargs["potcar_spec"] = True @@ -84,8 +84,8 @@ def mock_get_nelect(*_, **__): monkeypatch.setattr(atomate2.vasp.run, "run_vasp", mock_run_vasp) monkeypatch.setattr(atomate2.vasp.jobs.base, "run_vasp", mock_run_vasp) monkeypatch.setattr(atomate2.vasp.jobs.defect, "run_vasp", mock_run_vasp) - monkeypatch.setattr(VaspInputSetGenerator, "get_input_set", mock_get_input_set) - monkeypatch.setattr(VaspInputSetGenerator, "get_nelect", mock_get_nelect) + monkeypatch.setattr(VaspInputGenerator, "get_input_set", mock_get_input_set) + monkeypatch.setattr(VaspInputGenerator, "get_nelect", mock_get_nelect) def _run(ref_paths, fake_run_vasp_kwargs=None): if fake_run_vasp_kwargs is None: