root / ase / optimize / test / C2_Cu100.py @ 1
Historique | Voir | Annoter | Télécharger (4,72 ko)
1 | 1 | tkerber | #PBS -l nodes=4:ppn=8
|
---|---|---|---|
2 | 1 | tkerber | #PBS -l walltime=13:00:00
|
3 | 1 | tkerber | import numpy as np |
4 | 1 | tkerber | from ase import Atoms |
5 | 1 | tkerber | from ase.constraints import FixedPlane, FixAtoms |
6 | 1 | tkerber | from ase.optimize.test import run_test |
7 | 1 | tkerber | from gpaw import GPAW, Mixer |
8 | 1 | tkerber | from gpaw.poisson import PoissonSolver |
9 | 1 | tkerber | |
10 | 1 | tkerber | def get_calculator(): |
11 | 1 | tkerber | basis = 'szp(dzp)'
|
12 | 1 | tkerber | calc = GPAW(gpts=(64, 64, 128), # ca h=0.25 |
13 | 1 | tkerber | width=0.1,
|
14 | 1 | tkerber | nbands=-5,
|
15 | 1 | tkerber | xc='LDA',
|
16 | 1 | tkerber | mode='lcao',
|
17 | 1 | tkerber | txt='C2_Cu100.txt',
|
18 | 1 | tkerber | mixer=Mixer(beta=0.1, nmaxold=5, weight=50.0), |
19 | 1 | tkerber | poissonsolver=PoissonSolver(nn='M', relax='GS'), |
20 | 1 | tkerber | stencils=(3, 3), |
21 | 1 | tkerber | maxiter=400,
|
22 | 1 | tkerber | basis=basis) |
23 | 1 | tkerber | return calc
|
24 | 1 | tkerber | |
25 | 1 | tkerber | def get_atoms(): |
26 | 1 | tkerber | srf = Atoms('Cu64',[(1.2763, 1.2763, 4.0000), |
27 | 1 | tkerber | (3.8290, 1.2763, 4.0000), |
28 | 1 | tkerber | (6.3816, 1.2763, 4.0000), |
29 | 1 | tkerber | (8.9343, 1.2763, 4.0000), |
30 | 1 | tkerber | (1.2763, 3.8290, 4.0000), |
31 | 1 | tkerber | (3.8290, 3.8290, 4.0000), |
32 | 1 | tkerber | (6.3816, 3.8290, 4.0000), |
33 | 1 | tkerber | (8.9343, 3.8290, 4.0000), |
34 | 1 | tkerber | (1.2763, 6.3816, 4.0000), |
35 | 1 | tkerber | (3.8290, 6.3816, 4.0000), |
36 | 1 | tkerber | (6.3816, 6.3816, 4.0000), |
37 | 1 | tkerber | (8.9343, 6.3816, 4.0000), |
38 | 1 | tkerber | (1.2763, 8.9343, 4.0000), |
39 | 1 | tkerber | (3.8290, 8.9343, 4.0000), |
40 | 1 | tkerber | (6.3816, 8.9343, 4.0000), |
41 | 1 | tkerber | (8.9343, 8.9343, 4.0000), |
42 | 1 | tkerber | (0.0000, 0.0000, 5.8050), |
43 | 1 | tkerber | (2.5527, 0.0000, 5.8050), |
44 | 1 | tkerber | (5.1053, 0.0000, 5.8050), |
45 | 1 | tkerber | (7.6580, 0.0000, 5.8050), |
46 | 1 | tkerber | (0.0000, 2.5527, 5.8050), |
47 | 1 | tkerber | (2.5527, 2.5527, 5.8050), |
48 | 1 | tkerber | (5.1053, 2.5527, 5.8050), |
49 | 1 | tkerber | (7.6580, 2.5527, 5.8050), |
50 | 1 | tkerber | (0.0000, 5.1053, 5.8050), |
51 | 1 | tkerber | (2.5527, 5.1053, 5.8050), |
52 | 1 | tkerber | (5.1053, 5.1053, 5.8050), |
53 | 1 | tkerber | (7.6580, 5.1053, 5.8050), |
54 | 1 | tkerber | (0.0000, 7.6580, 5.8050), |
55 | 1 | tkerber | (2.5527, 7.6580, 5.8050), |
56 | 1 | tkerber | (5.1053, 7.6580, 5.8050), |
57 | 1 | tkerber | (7.6580, 7.6580, 5.8050), |
58 | 1 | tkerber | (1.2409, 1.2409, 7.6081), |
59 | 1 | tkerber | (3.7731, 1.2803, 7.6603), |
60 | 1 | tkerber | (6.3219, 1.3241, 7.6442), |
61 | 1 | tkerber | (8.8935, 1.2669, 7.6189), |
62 | 1 | tkerber | (1.2803, 3.7731, 7.6603), |
63 | 1 | tkerber | (3.8188, 3.8188, 7.5870), |
64 | 1 | tkerber | (6.3457, 3.8718, 7.6649), |
65 | 1 | tkerber | (8.9174, 3.8340, 7.5976), |
66 | 1 | tkerber | (1.3241, 6.3219, 7.6442), |
67 | 1 | tkerber | (3.8718, 6.3457, 7.6649), |
68 | 1 | tkerber | (6.3945, 6.3945, 7.6495), |
69 | 1 | tkerber | (8.9576, 6.3976, 7.6213), |
70 | 1 | tkerber | (1.2669, 8.8935, 7.6189), |
71 | 1 | tkerber | (3.8340, 8.9174, 7.5976), |
72 | 1 | tkerber | (6.3976, 8.9576, 7.6213), |
73 | 1 | tkerber | (8.9367, 8.9367, 7.6539), |
74 | 1 | tkerber | (0.0582, 0.0582, 9.4227), |
75 | 1 | tkerber | (2.5965, -0.2051, 9.4199), |
76 | 1 | tkerber | (5.1282, 0.0663, 9.4037), |
77 | 1 | tkerber | (7.6808, -0.0157, 9.4235), |
78 | 1 | tkerber | (-0.2051, 2.5965, 9.4199), |
79 | 1 | tkerber | (2.1913, 2.1913, 9.6123), |
80 | 1 | tkerber | (5.0046, 2.5955, 9.4873), |
81 | 1 | tkerber | (7.5409, 2.5336, 9.4126), |
82 | 1 | tkerber | (0.0663, 5.1282, 9.4037), |
83 | 1 | tkerber | (2.5955, 5.0046, 9.4873), |
84 | 1 | tkerber | (5.3381, 5.3381, 9.6106), |
85 | 1 | tkerber | (7.8015, 5.0682, 9.4237), |
86 | 1 | tkerber | (-0.0157, 7.6808, 9.4235), |
87 | 1 | tkerber | (2.5336, 7.5409, 9.4126), |
88 | 1 | tkerber | (5.0682, 7.8015, 9.4237), |
89 | 1 | tkerber | (7.6155, 7.6155, 9.4317)]) |
90 | 1 | tkerber | c2=Atoms('C2', [(3.2897, 3.2897, 10.6627), |
91 | 1 | tkerber | (4.2113, 4.2113, 10.6493)]) |
92 | 1 | tkerber | srf.extend(c2) |
93 | 1 | tkerber | srf.pbc=(1, 1, 0) |
94 | 1 | tkerber | srf.set_cell([ 10.2106, 10.2106, 20.6572],scale_atoms=False) |
95 | 1 | tkerber | |
96 | 1 | tkerber | mask=[a.index < 32 for a in srf] |
97 | 1 | tkerber | c1 = FixedPlane(-1, (1/np.sqrt(2), 1/np.sqrt(2), 1)) |
98 | 1 | tkerber | c2 = FixedPlane(-2, (1/np.sqrt(2), 1/np.sqrt(2), 1)) |
99 | 1 | tkerber | constraint = FixAtoms(mask=mask) |
100 | 1 | tkerber | srf.set_constraint([constraint, c1, c2]) |
101 | 1 | tkerber | return srf
|
102 | 1 | tkerber | |
103 | 1 | tkerber | run_test(get_atoms, get_calculator, 'C2_Cu100') |