phono3py/test/conftest.py

104 lines
3.5 KiB
Python
Raw Normal View History

2020-08-23 09:42:49 +08:00
import os
2020-08-22 19:54:11 +08:00
import pytest
2020-08-26 11:55:17 +08:00
import phonopy
2020-08-22 19:54:11 +08:00
import phono3py
2021-01-24 08:00:34 +08:00
from phonopy.interface.phonopy_yaml import read_cell_yaml
2020-08-22 19:54:11 +08:00
2020-08-23 09:42:49 +08:00
current_dir = os.path.dirname(os.path.abspath(__file__))
2020-08-22 19:54:11 +08:00
2021-01-24 08:00:34 +08:00
@pytest.fixture(scope='session')
def agno2_cell():
cell = read_cell_yaml(os.path.join(current_dir, "AgNO2_cell.yaml"))
return cell
2020-08-22 19:54:11 +08:00
@pytest.fixture(scope='session')
def si_pbesol():
2020-08-23 09:42:49 +08:00
yaml_filename = os.path.join(current_dir, "phono3py_si_pbesol.yaml")
forces_fc3_filename = os.path.join(current_dir, "FORCES_FC3_si_pbesol")
return phono3py.load(yaml_filename,
forces_fc3_filename=forces_fc3_filename,
2020-08-22 19:54:11 +08:00
log_level=1)
2020-08-25 06:24:35 +08:00
@pytest.fixture(scope='session')
def si_pbesol_nosym():
yaml_filename = os.path.join(current_dir, "phono3py_si_pbesol.yaml")
forces_fc3_filename = os.path.join(current_dir, "FORCES_FC3_si_pbesol")
return phono3py.load(yaml_filename,
forces_fc3_filename=forces_fc3_filename,
is_symmetry=False,
produce_fc=False,
log_level=1)
@pytest.fixture(scope='session')
def si_pbesol_nomeshsym():
yaml_filename = os.path.join(current_dir, "phono3py_si_pbesol.yaml")
forces_fc3_filename = os.path.join(current_dir, "FORCES_FC3_si_pbesol")
return phono3py.load(yaml_filename,
forces_fc3_filename=forces_fc3_filename,
is_mesh_symmetry=False,
produce_fc=False,
log_level=1)
2021-01-27 15:05:08 +08:00
@pytest.fixture(scope='session')
def si_pbesol_compact_fc():
yaml_filename = os.path.join(current_dir, "phono3py_si_pbesol.yaml")
forces_fc3_filename = os.path.join(current_dir, "FORCES_FC3_si_pbesol")
return phono3py.load(yaml_filename,
forces_fc3_filename=forces_fc3_filename,
is_compact_fc=True,
log_level=1)
2020-08-25 06:24:35 +08:00
@pytest.fixture(scope='session')
def si_pbesol_111():
yaml_filename = os.path.join(current_dir, "phono3py_params_Si111.yaml")
return phono3py.load(yaml_filename, log_level=1)
2020-08-26 11:55:17 +08:00
@pytest.fixture(scope='session')
def si_pbesol_iterha_111():
yaml_filename = os.path.join(current_dir,
"phonopy_params-Si111-iterha.yaml.gz")
2020-08-26 11:55:17 +08:00
return phonopy.load(yaml_filename, log_level=1, produce_fc=False)
2020-09-25 18:22:19 +08:00
@pytest.fixture(scope='session')
def nacl_pbe():
yaml_filename = os.path.join(current_dir,
"phono3py_params_NaCl222.yaml.xz")
return phono3py.load(yaml_filename, log_level=1)
2021-02-22 15:02:01 +08:00
@pytest.fixture(scope='session')
def nacl_pbe_cutoff_fc3():
yaml_filename = os.path.join(current_dir,
"phono3py_params_NaCl222.yaml.xz")
ph3 = phono3py.load(yaml_filename, log_level=1)
forces = ph3.forces
ph3.generate_displacements(cutoff_pair_distance=5)
dataset = ph3.dataset
dataset['first_atoms'][0]['forces'] = forces[0]
dataset['first_atoms'][1]['forces'] = forces[0]
count = 2
for first_atoms in dataset['first_atoms']:
for second_atoms in first_atoms['second_atoms']:
assert second_atoms['id'] == count + 1
second_atoms['forces'] = forces[count]
count += 1
ph3.dataset = dataset
ph3.produce_fc3(symmetrize_fc3r=True)
return ph3
2021-02-22 15:02:01 +08:00
@pytest.fixture(scope='session')
def aln_lda():
yaml_filename = os.path.join(current_dir,
"phono3py_params_AlN332.yaml.xz")
return phono3py.load(yaml_filename, log_level=1)