root / ase / test / bader.py @ 4
Historique | Voir | Annoter | Télécharger (809 octet)
| 1 | 1 | tkerber | import os |
|---|---|---|---|
| 2 | 1 | tkerber | from ase.data.molecules import molecule |
| 3 | 1 | tkerber | from ase.io.bader import attach_charges |
| 4 | 1 | tkerber | |
| 5 | 1 | tkerber | fname = 'ACF.dat'
|
| 6 | 1 | tkerber | f = open(fname, 'w') |
| 7 | 1 | tkerber | print >> f, """ |
| 8 | 1 | tkerber | # X Y Z CHARGE MIN DIST
|
| 9 | 1 | tkerber | ----------------------------------------------------------------
|
| 10 | 1 | tkerber | 1 7.0865 8.5038 9.0672 9.0852 1.3250
|
| 11 | 1 | tkerber | 2 7.0865 9.9461 7.9403 0.4574 0.3159
|
| 12 | 1 | tkerber | 3 7.0865 7.0615 7.9403 0.4574 0.3159
|
| 13 | 1 | tkerber | ----------------------------------------------------------------
|
| 14 | 1 | tkerber | NUMBER OF ELECTRONS: 9.99999
|
| 15 | 1 | tkerber | """
|
| 16 | 1 | tkerber | f.close() |
| 17 | 1 | tkerber | |
| 18 | 1 | tkerber | atoms = molecule('H2O')
|
| 19 | 1 | tkerber | atoms.set_cell([7.5, 9, 9]) |
| 20 | 1 | tkerber | atoms.center() |
| 21 | 1 | tkerber | |
| 22 | 1 | tkerber | attach_charges(atoms) |
| 23 | 1 | tkerber | attach_charges(atoms, fname) |
| 24 | 1 | tkerber | os.remove(fname) |
| 25 | 1 | tkerber | |
| 26 | 1 | tkerber | for atom in atoms: |
| 27 | 1 | tkerber | print 'Atom', atom.symbol, 'Bader charge', atom.charge |