예제 #1
0
파일: geometry.py 프로젝트: jboes/ase
#                    [  8.1625    ,   6.121875  ,  -14.284375  ],
#                    [ 10.211875  ,   0.00875   ,    2.049375  ],
#                    [ 24.49041667,  -4.07833333,  -16.32208333],
#                    [ 18.37145833,  14.29020833,  -24.48166667],
#                    [ 24.49916667,  12.25541667,  -20.39458333],
#                    [ 18.36854167,  16.32791667,  -30.60645833],
#                    [ 19.0575    ,   0.01166667,    5.45333333],
#                    [ 23.13388889,   6.80888889,    1.36722222],
#                    [ 35.3825    ,   5.45333333,  -16.31333333]])
#

# Test the wrap function.
scaled_positions = np.array([[2.0, 3.2, 4.3]])
cell = np.array([[5.43, 5.43, 0.0], [5.43, -5.43, 0.0], [0.00, 0.00, 40.0]])
atoms = Atoms(scaled_positions=scaled_positions, symbols=["Si"], cell=cell, pbc=[True, True, False])
atoms.wrap()
correct_pos = np.array([0.0, 0.2, 4.3])
assert np.allclose(correct_pos, atoms.get_scaled_positions(wrap=False))

positions = np.array(
    [
        [4.0725, -4.0725, -1.3575],
        [1.3575, -1.3575, -1.3575],
        [2.715, -2.715, 0.0],
        [4.0725, 1.3575, -1.3575],
        [0.0, 0.0, 0.0],
        [2.715, 2.715, 0.0],
        [6.7875, -1.3575, -1.3575],
        [5.43, 0.0, 0.0],
    ]
)