From 2439dea4382e3d64b3269684619005d51390da04 Mon Sep 17 00:00:00 2001 From: Francesco Ricci Date: Tue, 5 Dec 2023 19:00:50 -0800 Subject: [PATCH] fix reciprocal_density in MPHSEBSSet and tests (#3499) * fix reciprocal_density in MPHSEBSSet and tests * pre-commit auto-fixes --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- pymatgen/io/vasp/sets.py | 6 +++--- tests/io/vasp/test_sets.py | 10 ++++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pymatgen/io/vasp/sets.py b/pymatgen/io/vasp/sets.py index 1dde636684f..a845ca71cdf 100644 --- a/pymatgen/io/vasp/sets.py +++ b/pymatgen/io/vasp/sets.py @@ -1457,10 +1457,10 @@ def __init__( self.added_kpoints = added_kpoints if added_kpoints is not None else [] self.mode = mode - if not reciprocal_density or "reciprocal_density" not in self.user_kpoints_settings: - self.reciprocal_density = 50 - else: + if reciprocal_density or "reciprocal_density" in self.user_kpoints_settings: self.reciprocal_density = reciprocal_density or self.user_kpoints_settings["reciprocal_density"] + else: + self.reciprocal_density = 50 self.kpoints_line_density = kpoints_line_density self.copy_chgcar = copy_chgcar diff --git a/tests/io/vasp/test_sets.py b/tests/io/vasp/test_sets.py index fc4b070e3bf..4331ed2d658 100644 --- a/tests/io/vasp/test_sets.py +++ b/tests/io/vasp/test_sets.py @@ -1423,6 +1423,16 @@ def test_init(self): assert vis.incar["ISYM"] == 3 assert len(vis.kpoints.kpts) == 180 + vis = self.set.from_prev_calc(prev_calc_dir=prev_run, mode="uniform", reciprocal_density=50) + assert vis.reciprocal_density == 50 + + vis = self.set.from_prev_calc(prev_calc_dir=prev_run, mode="uniform", reciprocal_density=100) + assert vis.reciprocal_density == 100 + + uks = {"reciprocal_density": 100} + vis = self.set.from_prev_calc(prev_calc_dir=prev_run, mode="uniform", user_kpoints_settings=uks) + assert vis.reciprocal_density == 100 + with pytest.warns(BadInputSetWarning, match=r"Hybrid functionals"): vis = self.set(PymatgenTest.get_structure("Li2O"), user_incar_settings={"ALGO": "Fast"}) vis.incar.items()