Skip to content

Commit

Permalink
Update naming
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrew-S-Rosen committed Jun 9, 2023
1 parent 24a867b commit 21406c2
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 21 deletions.
8 changes: 4 additions & 4 deletions src/atomate2/vasp/flows/mp.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,13 @@

from atomate2.vasp.jobs.base import BaseVaspMaker

from atomate2.vasp.jobs.mp import MPPreRelaxMaker, MPRelaxMaker
from atomate2.vasp.jobs.mp import MPMetaRelaxMaker, MPPreRelaxMaker

__all__ = ["MPMetaGGARelax"]
__all__ = ["MPMetaRelax"]


@dataclass
class MPMetaGGARelax(Maker):
class MPMetaRelax(Maker):
"""
Maker to perform a VASP r2SCAN relaxation workflow with MP settings.
Expand All @@ -44,7 +44,7 @@ class MPMetaGGARelax(Maker):
name: str = "MP Meta-GGA Relax"
initial_relax_maker: BaseVaspMaker = field(default_factory=MPPreRelaxMaker)
initial_static_maker: BaseVaspMaker | None = None
final_relax_maker: BaseVaspMaker | None = field(default_factory=MPRelaxMaker)
final_relax_maker: BaseVaspMaker | None = field(default_factory=MPMetaRelaxMaker)

def make(self, structure: Structure, prev_vasp_dir: str | Path | None = None):
"""
Expand Down
12 changes: 6 additions & 6 deletions src/atomate2/vasp/jobs/mp.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
)


class MPRelaxR2SCANGenerator(VaspInputGenerator):
class MPMetaRelaxGenerator(VaspInputGenerator):
config_dict: dict = _BASE_MP_R2SCAN_RELAX_SET


Expand Down Expand Up @@ -62,14 +62,14 @@ class MPPreRelaxMaker(BaseVaspMaker):

name: str = "MP PreRelax"
input_set_generator: VaspInputGenerator = field(
default_factory=lambda: MPRelaxR2SCANGenerator(
default_factory=lambda: MPMetaRelaxGenerator(
user_incar_settings={"EDIFFG": -0.05, "METAGGA": None, "GGA": "PS"}
)
)


@dataclass
class MPRelaxMaker(BaseVaspMaker):
class MPMetaRelaxMaker(BaseVaspMaker):
"""
Maker to create VASP relaxation job using r2SCAN by default.
Expand Down Expand Up @@ -99,7 +99,7 @@ class MPRelaxMaker(BaseVaspMaker):

name: str = "MP Relax"
input_set_generator: VaspInputGenerator = field(
default_factory=MPRelaxR2SCANGenerator
default_factory=MPMetaRelaxGenerator
)

def make(
Expand Down Expand Up @@ -131,7 +131,7 @@ def make(


@dataclass
class MPStaticMaker(BaseVaspMaker):
class MPMetaStaticMaker(BaseVaspMaker):
"""
Maker to create VASP static job using r2SCAN by default.
Expand Down Expand Up @@ -161,7 +161,7 @@ class MPStaticMaker(BaseVaspMaker):

name: str = "MP Static"
input_set_generator: VaspInputGenerator = field(
default_factory=lambda: MPRelaxR2SCANGenerator(
default_factory=lambda: MPMetaRelaxGenerator(
user_incar_settings={"NSW": 0, "ISMEAR": -5, "LREAL": False}
)
)
Expand Down
26 changes: 15 additions & 11 deletions tests/vasp/flows/test_mp.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
import pytest
from pytest import approx

from atomate2.vasp.flows.mp import MPMetaGGARelax
from atomate2.vasp.jobs.mp import MPPreRelaxMaker, MPRelaxMaker, _get_kspacing_params
from atomate2.vasp.flows.mp import MPMetaRelax
from atomate2.vasp.jobs.mp import (
MPMetaRelaxMaker,
MPPreRelaxMaker,
_get_kspacing_params,
)

expected_incar = {
"ISIF": 3,
Expand All @@ -28,8 +32,8 @@ def test_MPPreRelaxMaker_default_values():
assert actual == expected, f"{key=}, {actual=}, {expected=}"


def test_MPRelaxMaker_default_values():
maker = MPRelaxMaker()
def test_MPMetaRelaxMaker_default_values():
maker = MPMetaRelaxMaker()
assert maker.name == "MP Relax"
assert {*maker.input_set_generator.config_dict} >= {"INCAR", "KPOINTS", "POTCAR"}
for key, expected in expected_incar.items():
Expand All @@ -40,14 +44,14 @@ def test_MPRelaxMaker_default_values():
@pytest.mark.parametrize(
"initial_static_maker,final_relax_maker",
[
(MPPreRelaxMaker(), MPRelaxMaker()),
(MPPreRelaxMaker(), MPMetaRelaxMaker()),
(MPPreRelaxMaker(), None),
(None, MPRelaxMaker()),
(None, MPMetaRelaxMaker()),
(None, None), # test it works without optional makers
],
)
def test_MPMetaGGARelax_default_values(initial_static_maker, final_relax_maker):
job = MPMetaGGARelax(
def test_MPMetaRelax_default_values(initial_static_maker, final_relax_maker):
job = MPMetaRelax(
initial_relax_maker=initial_static_maker, final_relax_maker=final_relax_maker
)
assert isinstance(job.initial_relax_maker, type(initial_static_maker))
Expand All @@ -61,10 +65,10 @@ def test_MPMetaGGARelax_default_values(initial_static_maker, final_relax_maker):
assert job.name == "MP Meta-GGA Relax"


def test_MPMetaGGARelax_custom_values():
def test_MPMetaRelax_custom_values():
initial_relax_maker = MPPreRelaxMaker()
final_relax_maker = MPRelaxMaker()
job = MPMetaGGARelax(
final_relax_maker = MPMetaRelaxMaker()
job = MPMetaRelax(
name="Test",
initial_relax_maker=initial_relax_maker,
final_relax_maker=final_relax_maker,
Expand Down

0 comments on commit 21406c2

Please sign in to comment.