root / ase / io / cmdft.py @ 14
Historique | Voir | Annoter | Télécharger (653 octet)
| 1 | 1 | tkerber | from math import pi, cos, sin, sqrt, acos |
|---|---|---|---|
| 2 | 1 | tkerber | import numpy as np |
| 3 | 1 | tkerber | |
| 4 | 1 | tkerber | from ase.atom import Atom |
| 5 | 1 | tkerber | from ase.atoms import Atoms |
| 6 | 1 | tkerber | from ase.parallel import paropen |
| 7 | 1 | tkerber | from ase.units import Bohr |
| 8 | 1 | tkerber | |
| 9 | 1 | tkerber | |
| 10 | 1 | tkerber | def read_I_info(fileobj, index=-1): |
| 11 | 1 | tkerber | if isinstance(fileobj, str): |
| 12 | 1 | tkerber | fileobj = open(fileobj)
|
| 13 | 1 | tkerber | |
| 14 | 1 | tkerber | lines = fileobj.readlines() |
| 15 | 1 | tkerber | |
| 16 | 1 | tkerber | del lines[0] |
| 17 | 1 | tkerber | |
| 18 | 1 | tkerber | finished = False
|
| 19 | 1 | tkerber | s = Atoms() |
| 20 | 1 | tkerber | while not finished: |
| 21 | 1 | tkerber | w = lines.pop(0).split()
|
| 22 | 1 | tkerber | if w[0].startswith('"'): |
| 23 | 1 | tkerber | position = Bohr * np.array([float(w[3]), float(w[4]), float(w[5])]) |
| 24 | 1 | tkerber | s.append(Atom(w[0].replace('"',''), position)) |
| 25 | 1 | tkerber | else:
|
| 26 | 1 | tkerber | finished = True
|
| 27 | 1 | tkerber | |
| 28 | 1 | tkerber | return s |