Statistiques
| Révision :

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

Historique | Voir | Annoter | Télécharger (1,53 ko)

1
#/usr/bin/env python
2
#PBS -l nodes=4:ppn=8
3
#PBS -l walltime=02:15:00
4

    
5
from ase import Atom, Atoms
6
from ase.io import read
7
from ase.constraints import FixAtoms
8
from ase.optimize.test import run_test
9
from gpaw import GPAW
10
from gpaw import Mixer
11
from gpaw.poisson import PoissonSolver
12

    
13
name = 'nanoparticle'
14

    
15
def get_atoms():
16
    atoms = Atoms([
17
        Atom('Pd', [5.078689759346383, 5.410678028467162, 4.000000000000000]),
18
        Atom('Pd', [7.522055777772603, 4.000000000000000, 4.000000000000000]),
19
        Atom('Pd', [7.522055777772603, 6.821356056934325, 4.000000000000000]),
20
        Atom('Pd', [6.707600438297196, 5.410678028467162, 6.303627574066606]),
21
        Atom('N',  [4.807604264052752, 5.728625577716107, 5.919407072553396]),
22
        Atom('H',  [4.000000000000000, 5.965167390141987, 6.490469524180266]),
23
    ])
24

    
25
    constraint = FixAtoms(mask=[a.symbol == 'Pd' for a in atoms])
26
    atoms.set_constraint(constraint)
27
    atoms.center(vacuum=4.0)
28
    atoms.set_pbc(False)
29
    return atoms
30

    
31
def get_calculator():
32
    calc = GPAW(gpts=(64, 64, 64), #h=0.18, gives 64x60x60
33
                mode='lcao', 
34
                basis='szp(dzp)',
35
                nbands=-5,
36
                xc='LDA',
37
                width=0.1,
38
                mixer=Mixer(beta=0.1, nmaxold=5, weight=50.0),
39
                poissonsolver=PoissonSolver(nn='M', relax='GS'),
40
                convergence={'energy': 1e-4, 'bands': -3},
41
                stencils=(3, 3),
42
                txt='nanoparticle.txt')
43
    return calc
44

    
45
run_test(get_atoms, get_calculator, name, fmax=0.05, steps=200)