File: test_noncollinear.py

package info (click to toggle)
python-ase 3.21.1-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 13,936 kB
  • sloc: python: 122,428; xml: 946; makefile: 111; javascript: 47
file content (24 lines) | stat: -rw-r--r-- 685 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from ase import Atoms


def test_noncollinear():
    a = Atoms('H2')

    a[0].magmom = 1
    m = a.get_initial_magnetic_moments()
    assert m.shape == (2,) and (m == [1, 0]).all()

    a[1].magmom = -1
    m = a.get_initial_magnetic_moments()
    assert m.shape == (2,) and (m == [1, -1]).all()
    assert a[1].magmom == -1

    a.set_initial_magnetic_moments()
    a[0].magmom = (0, 1, 0)
    m = a.get_initial_magnetic_moments()
    assert m.shape == (2, 3) and (m == [(0, 1, 0), (0, 0, 0)]).all()

    a[1].magmom = (1, 0, 0)
    m = a.get_initial_magnetic_moments()
    assert m.shape == (2, 3) and (m == [(0, 1, 0), (1, 0, 0)]).all()
    assert (a[1].magmom == (1, 0, 0)).all()