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