Statistiques
| Révision :

root / ase / optimize / test / CO_Au111.py @ 1

Historique | Voir | Annoter | Télécharger (870 octet)

1
from math import sin, cos, pi
2
from ase import Atoms
3
from ase.calculators.emt import EMT
4
from ase.constraints import FixAtoms
5
from ase.optimize.test import run_test
6
from ase.lattice.surface import fcc111, add_adsorbate
7

    
8
name = 'CO_Au111'
9

    
10
def get_atoms():
11
    zpos = cos(134.3/2.0*pi/180.0)*1.197
12
    xpos = sin(134.3/2.0*pi/180.0)*1.19
13
    no2 =Atoms('CO', positions=[(-xpos+1.2,0,-zpos), (-xpos+1.2,-1.1,-zpos)])
14

    
15
    # Surface slab
16
    slab =fcc111('Au', size=(2, 2, 4),vacuum=2*5, orthogonal = True )
17
    slab.center()
18
    add_adsorbate(slab,no2,1.5,'bridge')
19
    slab.set_pbc((True,True,False))
20

    
21
    #constraints
22
    constraint = FixAtoms(mask=[(a.tag == 4) or (a.tag == 3) or (a.tag==2) for a in slab])
23
    slab.set_constraint(constraint)
24
    return slab
25

    
26
def get_calculator():
27
    calc = EMT()
28
    return calc
29

    
30
run_test(get_atoms, get_calculator, name, steps=200)