root / ase / test / rotate_euler.py @ 4
Historique | Voir | Annoter | Télécharger (347 octet)
| 1 |
from math import pi, sqrt |
|---|---|
| 2 |
from ase import Atoms, Atom |
| 3 |
|
| 4 |
d = 1.14
|
| 5 |
a = Atoms([Atom('C', (0, 0, 0)), Atom('O', (d, 0, 0))]) |
| 6 |
a.rotate_euler(phi=pi/2, theta=pi/4, psi=pi) |
| 7 |
for p in a[0].position: |
| 8 |
assert p == 0.0 |
| 9 |
assert abs(a[1].position[0]) < 1e-15 |
| 10 |
d2 = d / sqrt(2)
|
| 11 |
assert abs(a[1].position[1] - d2) < 1e-15 |
| 12 |
assert abs(a[1].position[2] - d2) < 1e-15 |