Ejemplo n.º 1
0
    def test_construction_from_content(self):
        " Make sure we can construct xyz file object from content string."
        content = """          19\nSTEP =      208\nH         1.2205526       1.2669640        7.889939\nC         0.6099598       2.3301233        8.089289\nO         0.4463443       2.7548679        9.193083\nNi        0.3159743       0.0807476       0.1953107\nNi        0.3159743       2.5693302       0.1953107\nNi        2.4711501      -1.1635438       0.1953107\nNi        2.4711501       1.3250389       0.1953107\nNi        1.0343662       1.3250389         2.22723\nNi        1.0343662       3.8136215         2.22723\nNi        3.1895420       0.0807476         2.22723\nNi        3.1895420       2.5693302         2.22723\nNi        1.7497810       0.0876549        4.241213\nNi        3.9059343      -1.1526532        4.244936\nNi        1.7448029       2.5773365        4.245788\nNi        3.8955944       1.3376415        4.262553\nNi        2.4322196       1.3387538        6.300457\nNi        0.2766297       2.6108661        6.334991\nNi        0.2884736       0.0896520        6.252682\nNi        2.4521349      -1.1427412        6.231869\n"""

        xyz = XyzFile(content=content)
        ret_content = xyz.get_xyz_content()
        self.assertEqual(ret_content, content)
Ejemplo n.º 2
0
    def test_construction_from_content(self):
        " Make sure we can construct xyz file object from content string."
        content = """          19\nSTEP =      208\nH         1.2205526       1.2669640        7.889939\nC         0.6099598       2.3301233        8.089289\nO         0.4463443       2.7548679        9.193083\nNi        0.3159743       0.0807476       0.1953107\nNi        0.3159743       2.5693302       0.1953107\nNi        2.4711501      -1.1635438       0.1953107\nNi        2.4711501       1.3250389       0.1953107\nNi        1.0343662       1.3250389         2.22723\nNi        1.0343662       3.8136215         2.22723\nNi        3.1895420       0.0807476         2.22723\nNi        3.1895420       2.5693302         2.22723\nNi        1.7497810       0.0876549        4.241213\nNi        3.9059343      -1.1526532        4.244936\nNi        1.7448029       2.5773365        4.245788\nNi        3.8955944       1.3376415        4.262553\nNi        2.4322196       1.3387538        6.300457\nNi        0.2766297       2.6108661        6.334991\nNi        0.2884736       0.0896520        6.252682\nNi        2.4521349      -1.1427412        6.231869\n"""

        xyz = XyzFile(content=content)
        ret_content = xyz.get_xyz_content()
        self.assertEqual(ret_content, content)
Ejemplo n.º 3
0
    def test_construction_from_content(self):
        " Make sure we can construct xyz file object from content string."
        content = """          19\nSTEP =      208\nH        1.22055264      1.26696399      7.88993886\nC         0.6099598      2.33012325      8.08928947\nO        0.44634426      2.75486791      9.19308296\nNi        0.3159743      0.08074755      0.19531066\nNi        0.3159743       2.5693302      0.19531066\nNi       2.47115009     -1.16354378      0.19531066\nNi       2.47115009      1.32503887      0.19531066\nNi       1.03436623      1.32503887      2.22722988\nNi       1.03436623      3.81362152      2.22722988\nNi       3.18954202      0.08074755      2.22722988\nNi       3.18954202      2.56933019      2.22722988\nNi         1.749781      0.08765486      4.24121319\nNi       3.90593433     -1.15265324      4.24493562\nNi       1.74480294      2.57733648      4.24578757\nNi       3.89559445      1.33764149      4.26255328\nNi       2.43221958      1.33875376       6.3004568\nNi       0.27662972      2.61086614      6.33499111\nNi       0.28847357      0.08965201      6.25268207\nNi       2.45213494     -1.14274124      6.23186924\n"""

        xyz = XyzFile(content=content)
        ret_content = xyz.get_xyz_content()
        self.assertEqual(ret_content, content)
Ejemplo n.º 4
0
    def test_construction_from_content(self):
        " Make sure we can construct xyz file object from content string."
        content = """          19\nSTEP =      208\nH        1.22055264      1.26696399      7.88993886\nC         0.6099598      2.33012325      8.08928947\nO        0.44634426      2.75486791      9.19308296\nNi        0.3159743      0.08074755      0.19531066\nNi        0.3159743       2.5693302      0.19531066\nNi       2.47115009     -1.16354378      0.19531066\nNi       2.47115009      1.32503887      0.19531066\nNi       1.03436623      1.32503887      2.22722988\nNi       1.03436623      3.81362152      2.22722988\nNi       3.18954202      0.08074755      2.22722988\nNi       3.18954202      2.56933019      2.22722988\nNi         1.749781      0.08765486      4.24121319\nNi       3.90593433     -1.15265324      4.24493562\nNi       1.74480294      2.57733648      4.24578757\nNi       3.89559445      1.33764149      4.26255328\nNi       2.43221958      1.33875376       6.3004568\nNi       0.27662972      2.61086614      6.33499111\nNi       0.28847357      0.08965201      6.25268207\nNi       2.45213494     -1.14274124      6.23186924\n"""

        xyz = XyzFile(content=content)
        ret_content = xyz.get_xyz_content()
        self.assertEqual(ret_content, content)
Ejemplo n.º 5
0
    def test_get_poscar_content(self):
        " Make sure we can get the correct poscar content. "
        filename = path + "/ts.xyz"
        xyz = XyzFile(filename=filename)

        ref_content = """Created by VASPy\n 1.000000000\n    1.00000000    0.00000000    0.00000000\n    0.00000000    1.00000000    0.00000000\n    0.00000000    0.00000000    1.00000000\n    H    C    O   Ni\n    1    1    1   16\nSelective Dynamics\nDirect\n    1.220552640000    1.266963990000    7.889938860000 T    T    T    \n    0.609959800000    2.330123250000    8.089289470000 T    T    T    \n    0.446344260000    2.754867910000    9.193082960000 T    T    T    \n    0.315974300000    0.080747550000    0.195310660000 T    T    T    \n    0.315974300000    2.569330200000    0.195310660000 T    T    T    \n    2.471150090000   -1.163543780000    0.195310660000 T    T    T    \n    2.471150090000    1.325038870000    0.195310660000 T    T    T    \n    1.034366230000    1.325038870000    2.227229880000 T    T    T    \n    1.034366230000    3.813621520000    2.227229880000 T    T    T    \n    3.189542020000    0.080747550000    2.227229880000 T    T    T    \n    3.189542020000    2.569330190000    2.227229880000 T    T    T    \n    1.749781000000    0.087654860000    4.241213190000 T    T    T    \n    3.905934330000   -1.152653240000    4.244935620000 T    T    T    \n    1.744802940000    2.577336480000    4.245787570000 T    T    T    \n    3.895594450000    1.337641490000    4.262553280000 T    T    T    \n    2.432219580000    1.338753760000    6.300456800000 T    T    T    \n    0.276629720000    2.610866140000    6.334991110000 T    T    T    \n    0.288473570000    0.089652010000    6.252682070000 T    T    T    \n    2.452134940000   -1.142741240000    6.231869240000 T    T    T    \n"""

        ret_content = xyz.get_poscar_content()

        self.assertEqual(ref_content, ret_content)
Ejemplo n.º 6
0
    def test_get_poscar_content(self):
        " Make sure we can get the correct poscar content. "
        filename = path + "/ts.xyz"
        xyz= XyzFile(filename=filename)

        ref_content = """Created by VASPy\n 1.000000000\n    1.00000000    0.00000000    0.00000000\n    0.00000000    1.00000000    0.00000000\n    0.00000000    0.00000000    1.00000000\n    H    C    O   Ni\n    1    1    1   16\nSelective Dynamics\nDirect\n    1.220552640000    1.266963990000    7.889938860000 T    T    T    \n    0.609959800000    2.330123250000    8.089289470000 T    T    T    \n    0.446344260000    2.754867910000    9.193082960000 T    T    T    \n    0.315974300000    0.080747550000    0.195310660000 T    T    T    \n    0.315974300000    2.569330200000    0.195310660000 T    T    T    \n    2.471150090000   -1.163543780000    0.195310660000 T    T    T    \n    2.471150090000    1.325038870000    0.195310660000 T    T    T    \n    1.034366230000    1.325038870000    2.227229880000 T    T    T    \n    1.034366230000    3.813621520000    2.227229880000 T    T    T    \n    3.189542020000    0.080747550000    2.227229880000 T    T    T    \n    3.189542020000    2.569330190000    2.227229880000 T    T    T    \n    1.749781000000    0.087654860000    4.241213190000 T    T    T    \n    3.905934330000   -1.152653240000    4.244935620000 T    T    T    \n    1.744802940000    2.577336480000    4.245787570000 T    T    T    \n    3.895594450000    1.337641490000    4.262553280000 T    T    T    \n    2.432219580000    1.338753760000    6.300456800000 T    T    T    \n    0.276629720000    2.610866140000    6.334991110000 T    T    T    \n    0.288473570000    0.089652010000    6.252682070000 T    T    T    \n    2.452134940000   -1.142741240000    6.231869240000 T    T    T    \n"""

        ret_content = xyz.get_poscar_content()

        self.assertEqual(ref_content, ret_content)
Ejemplo n.º 7
0
 def __iter__(self):
     """ Make MultiXyz object iterable.
     """
     with open(self.filename, "r") as f:
         content_list = []
         for i, line in enumerate(f):
             if (i + 1) % (self.natom + 2) == 0:
                 content_list.append(line)
                 yield XyzFile(content_list=content_list)
                 content_list = []
             else:
                 content_list.append(line)
Ejemplo n.º 8
0
import numpy as np

from vaspy.atomco import XyzFile, PosCar
from vaspy.functions import str2list


class ContinueError(Exception):
    pass

if len(sys.argv) != 2:
    print 'Usage: %s *.xyz' % sys.argv[0]
    exit(1)
filename = sys.argv[1]

a = XyzFile(filename=filename)
b = PosCar(filename='POSCAR')
#create new dir
if not os.path.exists('./continue'):
    os.mkdir('./continue')
if os.path.isfile('./fort.188'):
    fail = os.system("cp INCAR POTCAR KPOINTS fort.188 vasp.script ./continue")
else:
    fail = os.system("cp INCAR POTCAR KPOINTS vasp.script ./continue")

if not fail:
    #new fort.188
    #change distance of 2 atoms
    with open('./continue/fort.188', 'r') as f:
        content_list = f.readlines()
    m, n, distance = str2list(content_list[5])  # atom number and distance
Ejemplo n.º 9
0
import numpy as np

from vaspy.atomco import XyzFile, PosCar
from vaspy.functions import str2list


class ContinueError(Exception):
    pass

if len(sys.argv) != 2:
    print 'Usage: %s *.xyz' % sys.argv[0]
    exit(1)
filename = sys.argv[1]

a = XyzFile(filename=filename)
b = PosCar(filename='POSCAR')
#create new dir
if not os.path.exists('./continue'):
    os.mkdir('./continue')
if os.path.isfile('./fort.188'):
    fail = os.system("cp INCAR POTCAR KPOINTS fort.188 vasp.script ./continue")
else:
    fail = os.system("cp INCAR POTCAR KPOINTS vasp.script ./continue")

if not fail:
    #new fort.188
    #change distance of 2 atoms
    with open('./continue/fort.188', 'r') as f:
        content_list = f.readlines()
    m, n, distance = str2list(content_list[5])  # atom number and distance
Ejemplo n.º 10
0
import numpy as np

from vaspy.atomco import XyzFile, PosCar
from vaspy.functions import str2list


class ContinueError(Exception):
    pass


if len(sys.argv) != 2:
    print 'Usage: %s *.xyz' % sys.argv[0]
    exit(1)
filename = sys.argv[1]

a = XyzFile(filename=filename)
b = PosCar(filename='POSCAR')
#create new dir
if not os.path.exists('./continue'):
    os.mkdir('./continue')
if os.path.isfile('./fort.188'):
    fail = os.system("cp INCAR POTCAR KPOINTS fort.188 vasp.script ./continue")
else:
    fail = os.system("cp INCAR POTCAR KPOINTS vasp.script ./continue")

if not fail:
    #new fort.188
    #change distance of 2 atoms
    with open('./continue/fort.188', 'r') as f:
        content_list = f.readlines()
    m, n, distance = str2list(content_list[5])  # atom number and distance