Skip to content

Commit

Permalink
Merge pull request #1233 from ruixingw/master
Browse files Browse the repository at this point in the history
from_file: recognize ".vasp" extension as POSCAR-type
  • Loading branch information
shyuep committed Aug 10, 2018
2 parents 10cf55a + 0721d46 commit 054caf9
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 3 deletions.
4 changes: 2 additions & 2 deletions pymatgen/__init__.py
Expand Up @@ -104,11 +104,11 @@ def loadfn(fname):
(obj) if *json* (passthrough to monty.serialization.loadfn)
"""
if (fnmatch(fname, "*POSCAR*") or fnmatch(fname, "*CONTCAR*") or
".cif" in fname.lower()):
".cif" in fname.lower()) or fnmatch(fname, "*.vasp"):
return Structure.from_file(fname)
elif fnmatch(fname, "*vasprun*"):
from pymatgen.io.vasp import Vasprun
return Vasprun(fname)
elif fnmatch(fname, "*.json*"):
from monty.serialization import loadfn
return loadfn(fname)
return loadfn(fname)
2 changes: 1 addition & 1 deletion pymatgen/core/structure.py
Expand Up @@ -1657,7 +1657,7 @@ def from_file(cls, filename, primitive=False, sort=False, merge_tol=0.0):
return cls.from_str(contents, fmt="cif",
primitive=primitive, sort=sort,
merge_tol=merge_tol)
elif fnmatch(fname, "*POSCAR*") or fnmatch(fname, "*CONTCAR*"):
elif fnmatch(fname, "*POSCAR*") or fnmatch(fname, "*CONTCAR*") or fnmatch(fname, "*.vasp"):
s = cls.from_str(contents, fmt="poscar",
primitive=primitive, sort=sort,
merge_tol=merge_tol)
Expand Down
2 changes: 2 additions & 0 deletions pymatgen/tests/test_init.py
Expand Up @@ -39,6 +39,8 @@ def test_loadfn(self):
self.assertIsInstance(obj, Structure)
obj = loadfn(os.path.join(test_dir, "POSCAR"))
self.assertIsInstance(obj, Structure)
obj = loadfn(os.path.join(test_dir, "LiFePO4.vasp"))
self.assertIsInstance(obj, Structure)
obj = loadfn(os.path.join(test_dir, "vasprun.xml"))
self.assertIsInstance(obj, Vasprun)

Expand Down
31 changes: 31 additions & 0 deletions test_files/LiFePO4.vasp
@@ -0,0 +1,31 @@
LiFePO4
-300.65685512
10.4117668700 0.0000000000 0.0000000000
0.0000000000 6.0671718800 0.0000000000
0.0000000000 0.0000000000 4.7594895400
4 4 16
direct
0.2187282200 0.7500000000 0.4748671100 Fe
0.2812717800 0.2500000000 0.9748671100 Fe
0.7187282200 0.7500000000 0.0251328900 Fe
0.7812717800 0.2500000000 0.5251328900 Fe
0.0946130900 0.2500000000 0.4182432700 P
0.4053869100 0.7500000000 0.9182432700 P
0.5946130900 0.2500000000 0.0817567300 P
0.9053869100 0.7500000000 0.5817567300 P
0.0433723100 0.7500000000 0.7071376700 O
0.0966424400 0.2500000000 0.7413203500 O
0.1657097400 0.0460723300 0.2853839400 O
0.1657097400 0.4539276700 0.2853839400 O
0.3342902600 0.5460723300 0.7853839400 O
0.3342902600 0.9539276700 0.7853839400 O
0.4033575600 0.7500000000 0.2413203500 O
0.4566276900 0.2500000000 0.2071376700 O
0.5433723100 0.7500000000 0.7928623300 O
0.5966424400 0.2500000000 0.7586796500 O
0.6657097400 0.0460723300 0.2146160600 O
0.6657097400 0.4539276700 0.2146160600 O
0.8342902600 0.5460723300 0.7146160600 O
0.8342902600 0.9539276700 0.7146160600 O
0.9033575600 0.7500000000 0.2586796500 O
0.9566276900 0.2500000000 0.2928623300 O

0 comments on commit 054caf9

Please sign in to comment.