Skip to content

Commit c0b9ad7

Browse files
authored
Merge pull request #1427 from dyllamt/master
Allow user kpoints in NSCF calculations
2 parents 3c52f53 + 118397b commit c0b9ad7

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

pymatgen/io/vasp/sets.py

+6
Original file line numberDiff line numberDiff line change
@@ -931,6 +931,12 @@ def kpoints(self):
931931
style=Kpoints.supported_modes.Reciprocal,
932932
num_kpts=len(ir_kpts),
933933
kpts=kpts, kpts_weights=weights)
934+
935+
# override pymatgen kpoints if provided
936+
user_kpoints = self.kwargs.get("user_kpoints_settings", None)
937+
if isinstance(user_kpoints, Kpoints):
938+
kpoints = user_kpoints
939+
934940
return kpoints
935941

936942
@classmethod

pymatgen/io/vasp/tests/test_sets.py

+12
Original file line numberDiff line numberDiff line change
@@ -428,6 +428,18 @@ def test_optics(self):
428428
self.assertTrue(vis.incar["LOPTICS"])
429429
self.assertEqual(vis.kpoints.style, Kpoints.supported_modes.Reciprocal)
430430

431+
def test_user_kpoint_override(self):
432+
user_kpoints_override = Kpoints(
433+
style=Kpoints.supported_modes.Gamma,
434+
kpts=((1, 1, 1),)) # the default kpoints style is reciprocal
435+
436+
prev_run = self.TEST_FILES_DIR / "relaxation"
437+
vis = MPNonSCFSet.from_prev_calc(
438+
prev_calc_dir=prev_run, copy_chgcar=False, optics=True,
439+
mode="Uniform", nedos=2001,
440+
user_kpoints_settings=user_kpoints_override)
441+
self.assertEqual(vis.kpoints.style, Kpoints.supported_modes.Gamma)
442+
431443
def tearDown(self):
432444
shutil.rmtree(self.tmp)
433445
warnings.simplefilter("default")

0 commit comments

Comments
 (0)