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