File: test_gulp.py

package info (click to toggle)
python-ase 3.21.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 13,936 kB
  • sloc: python: 122,428; xml: 946; makefile: 111; javascript: 47
file content (59 lines) | stat: -rw-r--r-- 2,347 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
def test_gulp():
    # flake8: noqa
    from ase.calculators.gulp import GULP, Conditions
    from ase import Atoms
    import numpy as np

    cluster = Atoms(symbols='O4SiOSiO2SiO2SiO2SiOSiO2SiO3SiO3H8',
              pbc=np.array([False, False, False], dtype=bool),
              cell=np.array(
          [[ 0.,  0.,  0.],
           [ 0.,  0.,  0.],
           [ 0.,  0.,  0.]]),
              positions=np.array(
          [[-1.444348, -0.43209 , -2.054785],
           [-0.236947,  2.98731 ,  1.200025],
           [ 3.060238, -1.05911 ,  0.579909],
           [ 2.958277, -3.289076,  2.027579],
           [-0.522747,  0.847624, -2.47521 ],
           [-2.830486, -2.7236  , -2.020633],
           [-0.764328, -1.251141,  1.402431],
           [ 3.334801,  0.041643, -4.168601],
           [-1.35204 , -2.009562,  0.075892],
           [-1.454655, -1.985635, -1.554533],
           [ 0.85504 ,  0.298129, -3.159972],
           [ 1.75833 ,  1.256026,  0.690171],
           [ 2.376446, -0.239522, -2.881245],
           [ 1.806515, -4.484208, -2.686456],
           [-0.144193, -2.74503 , -2.177778],
           [ 0.167583,  1.582976,  0.47998 ],
           [-1.30716 ,  1.796853, -3.542121],
           [ 1.441364, -3.072993, -1.958788],
           [-1.694171, -1.558913,  2.704219],
           [ 4.417516,  1.263796,  0.563573],
           [ 3.066366,  0.49743 ,  0.071898],
           [-0.704497,  0.351869,  1.102318],
           [ 2.958884,  0.51505 , -1.556651],
           [ 1.73983 , -3.161794, -0.356577],
           [ 2.131519, -2.336982,  0.996026],
           [ 0.752313, -1.788039,  1.687183],
           [-0.142347,  1.685301, -1.12086 ],
           [ 2.32407 , -1.845905, -2.588202],
           [-2.571557, -1.937877,  2.604727],
           [ 2.556369, -4.551103, -3.2836  ],
           [ 3.032586,  0.591698, -4.896276],
           [-1.67818 ,  2.640745, -3.27092 ],
           [ 5.145483,  0.775188,  0.95687 ],
           [-2.81059 , -3.4492  , -2.650319],
           [ 2.558023, -3.594544,  2.845928],
           [ 0.400993,  3.469148,  1.733289]]))


    c = Conditions(cluster)
    c.min_distance_rule('O', 'H', 'O2', 'H', 'O1')
    cluster.calc = GULP(
        keywords='opti conp phon noden distance molq compare angle nono',
        shel=['O1','O2'],
        conditions=c)
    print(cluster.get_potential_energy())