root / ase / io / cmdft.py @ 17
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 |