コード例 #1
0
ファイル: c2te.py プロジェクト: nileshjchoudhary/GenIce
def argparser(arg):
    global pairs, fixed, waters, coord, density, cell, cagetype, cagepos
    logger = getLogger()

    # Ref. C2
    atoms = """
O1 0.0000 0.0000 0.1937
Ne1 0.0000 0.0000 0.7066
    """

    # Ref. C2
    # space group: I4_1md No. 109 http://img.chem.ucl.ac.uk/sgp/large/109az1.htm
    symops = """
      x,            y,            z
     -x,           -y,            z
     -y,          1/2+x,        1/4+z
      y,          1/2-x,        1/4+z
     -x,            y,            z
      x,           -y,            z
      y,          1/2+x,        1/4+z
     -y,          1/2-x,        1/4+z

      x+1/2,            y+1/2,            z+1/2
     -x+1/2,           -y+1/2,            z+1/2
     -y+1/2,          1/2+x+1/2,        1/4+z+1/2
      y+1/2,          1/2-x+1/2,        1/4+z+1/2
     -x+1/2,            y+1/2,            z+1/2
      x+1/2,           -y+1/2,            z+1/2
      y+1/2,          1/2+x+1/2,        1/4+z+1/2
     -y+1/2,          1/2-x+1/2,        1/4+z+1/2
    """.replace(',', ' ')

    # Ref. C2
    a = 4.409 / 10.0  #nm
    c = 6.251 / 10.0  #nm

    from genice.cell import cellvectors
    cell = cellvectors(a, a, c)

    # helper routines to make from CIF-like data
    from genice import CIF
    atomd = CIF.atomdic(atoms)
    atoms = CIF.fullatoms(atomd, CIF.symmetry_operators(symops))

    cagetype = []
    cagepos = []
    for name, pos in pick_atoms(atoms, ("Ne1", ), repeat=(2, 2, 2)):
        cagetype.append(name)
        cagepos.append(pos)

    waters, pairs = CIF.waters_and_pairs(cell,
                                         atomd,
                                         CIF.symmetry_operators(symops),
                                         rep=(2, 2, 2))

    density = 18 * len(waters) / 6.022e23 / (np.linalg.det(cell) * 1e-21)

    coord = "relative"
コード例 #2
0
ファイル: ice1hte.py プロジェクト: nileshjchoudhary/GenIce
def argparser(arg):
    global pairs, fixed, waters, coord, density, cell, cagetype, cagepos
    logger = getLogger()

    # Ref. Ih
    atoms="""
O1 0.0000 0.6699 0.0488 
O2 0.0000 0.3377 -0.0557
Ne1 0.0000 0.0013 0.7539
    """

    # Ref. Ih
    # space group: Cmc2_1
    symops="""
      x,            y,            z
     -x,            y,            z
      x,           -y,          1/2+z
     -x,           -y,          1/2+z
      x+1/2,            y+1/2,            z
     -x+1/2,            y+1/2,            z
      x+1/2,           -y+1/2,          1/2+z
     -x+1/2,           -y+1/2,          1/2+z
    """.replace(',', ' ')

    # Ref. Ih
    a=4.568 / 10.0 #nm
    b=7.980 / 10.0 #nm
    c=6.894 / 10.0 #nm

    from genice.cell import cellvectors
    cell  = cellvectors(a,b,c)

    # helper routines to make from CIF-like data
    from genice import CIF
    atomd = CIF.atomdic(atoms)
    atoms = CIF.fullatoms(atomd, CIF.symmetry_operators(symops))

    cagetype = []
    cagepos  = []
    for name, pos in pick_atoms(atoms, ("Ne1",), repeat=(2,1,1)):
        cagetype.append(name)
        cagepos.append(pos)
    
    waters, pairs = CIF.waters_and_pairs(cell, atomd, CIF.symmetry_operators(symops), rep=(2,1,1))

    density = 18*len(waters)/6.022e23 / (np.linalg.det(cell)*1e-21)

    coord = "relative"
コード例 #3
0
ファイル: ice2.py プロジェクト: nileshjchoudhary/GenIce
def argparser(arg):
    global pairs, fixed, waters, coord, density, cell
    logger = getLogger()

    # Ref. 2atom
    atoms="""
    O1   0.2716    0.0259   -0.1471
    O2   0.4798    0.7571    0.3389
    D1   0.7284    0.4038    0.4034
    D2   0.1491    0.0412   -0.2023
    D3   0.7420    0.1978    0.3708
    D4   0.4232    0.1954   -0.0164
    """

    # Ref. 2cell
    # space group: R-3
    symops="""
      x,            y,            z
      z,            x,            y
      y,            z,            x

     -x,           -y,           -z
     -z,           -x,           -y
     -y,           -z,           -x
    """.replace(',', ' ')

    # Ref. 2cell
    a=7.78 / 10.0 #nm
    A=113.1

    from genice.cell import cellvectors
    cell  = cellvectors(a,a,a,A,A,A)

    # helper routines to make from CIF-like data
    from genice import CIF
    atomd = CIF.atomdic(atoms)
    sops  = CIF.symmetry_operators(symops)
    waters, fixed = CIF.waters_and_pairs(cell, atomd, sops)

    # set pairs in this way for hydrogen-ordered ices.
    pairs = fixed

    import numpy as np
    density = 18*len(waters)/6.022e23 / (np.linalg.det(cell)*1e-21)

    coord = "relative"
コード例 #4
0
ファイル: c0te.py プロジェクト: nileshjchoudhary/GenIce
def argparser(arg):
    global pairs, fixed, waters, coord, density, cell, cagetype, cagepos
    logger = getLogger()

    # Ref. 2atom
    atoms="""
    O1 0.2342 0.4721 0.8019
    O2 0.7648 0.5306 0.2941
    Ne1 -0.0647 0.7868 0.7669
    """

    # Ref. 
    # space group: P3_2
    symops="""
      x,            y,            z
-y,x-y,z+2/3
-x+y,-x,z+1/3
    """.replace(',', ' ')

    # Ref. 2cell
    a=6.177 / 10.0 #nm
    c=6.054 / 10.0 #nm
    C=120.0

    from genice.cell import cellvectors
    cell  = cellvectors(a,a,c,C=C)

    # helper routines to make from CIF-like data
    from genice import CIF
    atomd = CIF.atomdic(atoms)
    atoms = CIF.fullatoms(atomd, CIF.symmetry_operators(symops))

    cagetype = []
    cagepos  = []
    for atomname, pos in atoms:
        if atomname == "Ne1":
            cagetype.append(atomname)
            cagepos.append(pos)
            
    waters, pairs = CIF.waters_and_pairs(cell, atomd, CIF.symmetry_operators(symops))

    density = 18*len(waters)/6.022e23 / (np.linalg.det(cell)*1e-21)

    coord = "relative"
コード例 #5
0
symops = """
     x            y            z
    1/2+x        1/2-y         -z
    1/2-x        1/2+y         -z
     -x           -y            z
"""

# in nm
a, b, c = 0.7176, 0.4428, 0.5040

from genice.cell import cellvectors

cell = cellvectors(a, b, c)

# helper routines to make from CIF-like data
from genice import CIF

atomd = CIF.atomdic(atoms)
sops = CIF.symmetry_operators(symops)
# the unit cell is too small to handle; multiply (2,2,2)
waters, fixed = CIF.waters_and_pairs(cell, atomd, sops, rep=(2, 2, 2))

# set pairs in this way for hydrogen-ordered ices.
pairs = fixed

import numpy as np

density = 18 * len(waters) / 6.022e23 / (np.linalg.det(cell) * 1e-21)

coord = "relative"
コード例 #6
0
ファイル: c1te.py プロジェクト: nileshjchoudhary/GenIce
def argparser(arg):
    global pairs, fixed, waters, coord, density, cell, cagepos, cagetype
    logger = getLogger()

    # Ref. C1
    atoms="""
O1 0.2228 0.1966 0.0454
O2 0.5236 0.8974  0.1466
H1 0.8184 0.5344  0.3198
H2 0.2244 0.2188 0.2045
H3 0.4384 0.8815  0.1496
H4 0.5729 -0.0253 0.2297
Ne1 0.0000 0.0000 0.7361
    """

    # Ref. C1
    # space group: R-3 No. 148
    # in a rhombus cell
    symops="""
     x,            y,            z
     -y,           x-y,           z
    -x+y,          -x,            z
 
     -x,           -y,           -z
      y,          -x+y,          -z
     x-y,           x,           -z

      x+2/3,            y+1/3,           z+1/3
     -y+2/3,          x-y+1/3,           z+1/3
   -x+y+2/3,           -x+1/3,           z+1/3
 
     -x+2/3,           -y+1/3,          -z+1/3
      y+2/3,         -x+y+1/3,          -z+1/3
    x-y+2/3,            x+1/3,          -z+1/3

      x+1/3,            y+2/3,           z+2/3
     -y+1/3,          x-y+2/3,           z+2/3
   -x+y+1/3,           -x+2/3,           z+2/3
 
     -x+1/3,           -y+2/3,          -z+2/3
      y+1/3,         -x+y+2/3,          -z+2/3
    x-y+1/3,            x+2/3,          -z+2/3
    """.replace(',', ' ')

    # Ref. C1
    a=12.673 / 10.0 #nm
    c= 6.017 / 10.0 #nm
    C= 120

    from genice.cell import cellvectors
    cell  = cellvectors(a,a,c,C=C)

    # helper routines to make from CIF-like data
    from genice import CIF
    atomd = CIF.atomdic(atoms)
    atoms = CIF.fullatoms(atomd, CIF.symmetry_operators(symops))

    cagetype = []
    cagepos  = []
    for name, pos in pick_atoms(atoms, ("Ne1",)):
        cagetype.append(name)
        cagepos.append(pos)
        
    sops  = CIF.symmetry_operators(symops)
    waters, fixed = CIF.waters_and_pairs(cell, atomd, sops)

    # set pairs in this way for hydrogen-ordered ices.
    pairs = fixed

    density = 18*len(waters)/6.022e23 / (np.linalg.det(cell)*1e-21)

    coord = "relative"