root / ase / test / jacapo.py @ 4
Historique | Voir | Annoter | Télécharger (1,33 ko)
| 1 | 1 | tkerber | # do some tests here before we import
|
|---|---|---|---|
| 2 | 1 | tkerber | # Right version of Scientific?
|
| 3 | 1 | tkerber | from ase.test import NotAvailable |
| 4 | 1 | tkerber | import string, os |
| 5 | 1 | tkerber | try:
|
| 6 | 1 | tkerber | import Scientific |
| 7 | 1 | tkerber | version = string.split(Scientific.__version__,".")
|
| 8 | 1 | tkerber | print 'Found ScientifPython version: ',Scientific.__version__ |
| 9 | 1 | tkerber | if map(int,version) < [2,8]: |
| 10 | 1 | tkerber | print 'ScientificPython 2.8 or greater required for numpy support in NetCDF' |
| 11 | 1 | tkerber | raise NotAvailable('ScientificPython version 2.8 or greater is required') |
| 12 | 1 | tkerber | except:
|
| 13 | 1 | tkerber | print "No Scientific python found. Check your PYTHONPATH" |
| 14 | 1 | tkerber | raise NotAvailable('ScientificPython version 2.8 or greater is required') |
| 15 | 1 | tkerber | |
| 16 | 1 | tkerber | if not (os.system('which dacapo.run') == 0): |
| 17 | 1 | tkerber | print "No Dacapo Fortran executable (dacapo.run) found. Check your path settings." |
| 18 | 1 | tkerber | raise NotAvailable('dacapo.run is not installed on this machine or not in the path') |
| 19 | 1 | tkerber | |
| 20 | 1 | tkerber | # Now Scientific 2.8 and dacapo.run should both be available
|
| 21 | 1 | tkerber | |
| 22 | 1 | tkerber | from ase import Atoms, Atom |
| 23 | 1 | tkerber | from ase.calculators.jacapo import Jacapo |
| 24 | 1 | tkerber | |
| 25 | 1 | tkerber | atoms = Atoms([Atom('H',[0,0,0])], |
| 26 | 1 | tkerber | cell=(2,2,2)) |
| 27 | 1 | tkerber | |
| 28 | 1 | tkerber | calc = Jacapo('Jacapo-test.nc',
|
| 29 | 1 | tkerber | pw=200,
|
| 30 | 1 | tkerber | nbands=2,
|
| 31 | 1 | tkerber | kpts=(1,1,1), |
| 32 | 1 | tkerber | spinpol=False,
|
| 33 | 1 | tkerber | dipole=False,
|
| 34 | 1 | tkerber | symmetry=False,
|
| 35 | 1 | tkerber | ft=0.01)
|
| 36 | 1 | tkerber | |
| 37 | 1 | tkerber | atoms.set_calculator(calc) |
| 38 | 1 | tkerber | |
| 39 | 1 | tkerber | print atoms.get_potential_energy()
|
| 40 | 1 | tkerber | os.system('rm -f Jacapo-test.nc Jacapo-test.txt') |