Skip to content

Commit d58530b

Browse files
Update {Elastic,run,surf,Vasp,vasp}.py: To be compatible with Pymatgen (#1302)
To be compatible with old and new versions of Pymatgen (materialsproject/pymatgen#3158) --------- Signed-off-by: Levi Zhou <[email protected]> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
1 parent 4b69200 commit d58530b

File tree

5 files changed

+36
-9
lines changed

5 files changed

+36
-9
lines changed

dpgen/auto_test/Elastic.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,10 @@ def post_process(self, task_list):
221221
kspacing = incar.get("KSPACING")
222222
kgamma = incar.get("KGAMMA", False)
223223
ret = vasp.make_kspacing_kpoints(poscar_start, kspacing, kgamma)
224-
kp = Kpoints.from_string(ret)
224+
try:
225+
kp = Kpoints.from_string(ret)
226+
except AttributeError:
227+
kp = Kpoints.from_str(ret)
225228
if os.path.isfile("KPOINTS"):
226229
os.remove("KPOINTS")
227230
kp.write_file("KPOINTS")

dpgen/auto_test/VASP.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,10 @@ def make_input_file(self, output_dir, task_type, task_param):
194194
os.symlink("../INCAR", "INCAR")
195195
os.chdir(cwd)
196196
ret = vasp.make_kspacing_kpoints(self.path_to_poscar, kspacing, kgamma)
197-
kp = Kpoints.from_string(ret)
197+
try:
198+
kp = Kpoints.from_string(ret)
199+
except AttributeError:
200+
kp = Kpoints.from_str(ret)
198201
kp.write_file(os.path.join(output_dir, "KPOINTS"))
199202

200203
def compute(self, output_dir):

dpgen/auto_test/lib/vasp.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -510,7 +510,10 @@ def make_vasp_kpoints_from_incar(work_dir, jdata):
510510
assert os.path.exists("INCAR")
511511
with open("INCAR") as fp:
512512
incar = fp.read()
513-
standard_incar = incar_upper(Incar.from_string(incar))
513+
try:
514+
standard_incar = incar_upper(Incar.from_string(incar))
515+
except AttributeError:
516+
standard_incar = incar_upper(Incar.from_str(incar))
514517
if fp_aniso_kspacing is None:
515518
try:
516519
kspacing = standard_incar["KSPACING"]
@@ -533,6 +536,9 @@ def make_vasp_kpoints_from_incar(work_dir, jdata):
533536
assert os.path.exists("POSCAR")
534537
# make kpoints
535538
ret = make_kspacing_kpoints("POSCAR", kspacing, gamma)
536-
kp = Kpoints.from_string(ret)
539+
try:
540+
kp = Kpoints.from_string(ret)
541+
except AttributeError:
542+
kp = Kpoints.from_str(ret)
537543
kp.write_file("KPOINTS")
538544
os.chdir(cwd)

dpgen/data/surf.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -410,7 +410,10 @@ def poscar_scale(poscar_in, poscar_out, scale):
410410
else:
411411
raise RuntimeError("Unknow poscar style at line 7: %s" % lines[7])
412412

413-
poscar = Poscar.from_string("".join(lines))
413+
try:
414+
poscar = Poscar.from_string("".join(lines))
415+
except AttributeError:
416+
poscar = Poscar.from_str("".join(lines))
414417
with open(poscar_out, "w") as fout:
415418
fout.write(poscar.get_string(direct=False))
416419

dpgen/generator/run.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2924,14 +2924,20 @@ def make_pwmat_input(jdata, filename):
29242924
def make_vasp_incar_ele_temp(jdata, filename, ele_temp, nbands_esti=None):
29252925
with open(filename) as fp:
29262926
incar = fp.read()
2927-
incar = incar_upper(Incar.from_string(incar))
2927+
try:
2928+
incar = incar_upper(Incar.from_string(incar))
2929+
except AttributeError:
2930+
incar = incar_upper(Incar.from_str(incar))
29282931
incar["ISMEAR"] = -1
29292932
incar["SIGMA"] = ele_temp * pc.Boltzmann / pc.electron_volt
29302933
incar.write_file("INCAR")
29312934
if nbands_esti is not None:
29322935
nbands = nbands_esti.predict(".")
29332936
with open(filename) as fp:
2934-
incar = Incar.from_string(fp.read())
2937+
try:
2938+
incar = Incar.from_string(fp.read())
2939+
except AttributeError:
2940+
incar = Incar.from_str(fp.read())
29352941
incar["NBANDS"] = nbands
29362942
incar.write_file("INCAR")
29372943

@@ -3008,7 +3014,10 @@ def make_fp_vasp_kp(iter_index, jdata):
30083014
assert os.path.exists("INCAR")
30093015
with open("INCAR") as fp:
30103016
incar = fp.read()
3011-
standard_incar = incar_upper(Incar.from_string(incar))
3017+
try:
3018+
standard_incar = incar_upper(Incar.from_string(incar))
3019+
except AttributeError:
3020+
standard_incar = incar_upper(Incar.from_str(incar))
30123021
if fp_aniso_kspacing is None:
30133022
try:
30143023
kspacing = standard_incar["KSPACING"]
@@ -3031,7 +3040,10 @@ def make_fp_vasp_kp(iter_index, jdata):
30313040
assert os.path.exists("POSCAR")
30323041
# make kpoints
30333042
ret = make_kspacing_kpoints("POSCAR", kspacing, gamma)
3034-
kp = Kpoints.from_string(ret)
3043+
try:
3044+
kp = Kpoints.from_string(ret)
3045+
except AttributeError:
3046+
kp = Kpoints.from_str(ret)
30353047
kp.write_file("KPOINTS")
30363048
os.chdir(cwd)
30373049

0 commit comments

Comments
 (0)