File: test_pwmat.py

package info (click to toggle)
phonopy 2.44.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 29,136 kB
  • sloc: python: 42,934; xml: 12,080; ansic: 3,227; cpp: 525; sh: 213; makefile: 20
file content (34 lines) | stat: -rw-r--r-- 1,130 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
"""Tests for PWmat calculater interface."""

import os

import numpy as np

from phonopy.interface.phonopy_yaml import read_cell_yaml
from phonopy.interface.pwmat import read_atom_config
from phonopy.structure import cells

data_dir = os.path.dirname(os.path.abspath(__file__))


def test_read_pwmat():
    """Test of read_PWmat."""
    cell = read_atom_config(os.path.join(data_dir, "Si-pwmat.config"))
    filename = os.path.join(data_dir, "Si-pwmat.yaml")
    cell_ref = read_cell_yaml(filename)
    assert cells.isclose(cell, cell_ref)
    diff_pos = cell.scaled_positions - cell_ref.scaled_positions
    diff_pos -= np.rint(diff_pos)
    assert (np.abs(diff_pos) < 1e-5).all()
    for s, s_r in zip(cell.symbols, cell_ref.symbols):
        assert s == s_r


def test_magmom():
    """Test of read_PWmat_magmom."""
    cell = read_atom_config(os.path.join(data_dir, "Si-pwmat.config"))
    filename = os.path.join(data_dir, "Si-pwmat.yaml")
    cell_ref = read_cell_yaml(filename)
    assert cells.isclose(cell, cell_ref)
    diff_mag = cell_ref.magnetic_moments - np.array([1] * 8)
    assert (np.abs(diff_mag) < 1e-5).all()