Added an option to enable phono3py-v1 emulation.

This commit is contained in:
Atsushi Togo 2021-07-19 15:16:39 +09:00
parent 2fbb2bb310
commit bfadfba049
1 changed files with 41 additions and 17 deletions

View File

@ -7,7 +7,15 @@ from phonopy.interface.phonopy_yaml import read_cell_yaml
current_dir = os.path.dirname(os.path.abspath(__file__))
store_dense_gp_map = False
store_dense_gp_map = True
def pytest_addoption(parser):
"""Activate v1 emulation with --v1 option."""
parser.addoption(
"--v1", action="store_false", default=True,
help="Run with phono3py v1.x emulation."
)
@pytest.fixture(scope='session')
@ -18,7 +26,7 @@ def agno2_cell():
@pytest.fixture(scope='session')
def si_pbesol():
def si_pbesol(request):
"""Return Phono3py instance of Si 2x2x2.
* with symmetry
@ -27,14 +35,16 @@ def si_pbesol():
"""
yaml_filename = os.path.join(current_dir, "phono3py_si_pbesol.yaml")
forces_fc3_filename = os.path.join(current_dir, "FORCES_FC3_si_pbesol")
enable_v2 = request.config.getoption('--v1')
return phono3py.load(yaml_filename,
forces_fc3_filename=forces_fc3_filename,
store_dense_gp_map=store_dense_gp_map,
store_dense_gp_map=enable_v2,
store_dense_svecs=enable_v2,
log_level=1)
@pytest.fixture(scope='session')
def si_pbesol_nosym():
def si_pbesol_nosym(request):
"""Return Phono3py instance of Si 2x2x2.
* without symmetry
@ -43,16 +53,18 @@ 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")
enable_v2 = request.config.getoption('--v1')
return phono3py.load(yaml_filename,
forces_fc3_filename=forces_fc3_filename,
is_symmetry=False,
produce_fc=False,
store_dense_gp_map=store_dense_gp_map,
store_dense_gp_map=enable_v2,
store_dense_svecs=enable_v2,
log_level=1)
@pytest.fixture(scope='session')
def si_pbesol_nomeshsym():
def si_pbesol_nomeshsym(request):
"""Return Phono3py instance of Si 2x2x2.
* without mesh-symmetry
@ -61,16 +73,18 @@ 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")
enable_v2 = request.config.getoption('--v1')
return phono3py.load(yaml_filename,
forces_fc3_filename=forces_fc3_filename,
is_mesh_symmetry=False,
produce_fc=False,
store_dense_gp_map=store_dense_gp_map,
store_dense_gp_map=enable_v2,
store_dense_svecs=enable_v2,
log_level=1)
@pytest.fixture(scope='session')
def si_pbesol_compact_fc():
def si_pbesol_compact_fc(request):
"""Return Phono3py instance of Si 2x2x2.
* with symmetry
@ -79,15 +93,17 @@ 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")
enable_v2 = request.config.getoption('--v1')
return phono3py.load(yaml_filename,
forces_fc3_filename=forces_fc3_filename,
is_compact_fc=True,
store_dense_gp_map=store_dense_gp_map,
store_dense_gp_map=enable_v2,
store_dense_svecs=enable_v2,
log_level=1)
@pytest.fixture(scope='session')
def si_pbesol_111():
def si_pbesol_111(request):
"""Return Phono3py instance of Si 1x1x1.
* with symmetry
@ -95,8 +111,10 @@ def si_pbesol_111():
"""
yaml_filename = os.path.join(current_dir, "phono3py_params_Si111.yaml")
enable_v2 = request.config.getoption('--v1')
return phono3py.load(yaml_filename,
store_dense_gp_map=store_dense_gp_map,
store_dense_gp_map=enable_v2,
store_dense_svecs=enable_v2,
log_level=1)
@ -116,7 +134,7 @@ def si_pbesol_iterha_111():
@pytest.fixture(scope='session')
def nacl_pbe():
def nacl_pbe(request):
"""Return Phono3py instance of NaCl 2x2x2.
* with symmetry
@ -125,13 +143,15 @@ def nacl_pbe():
"""
yaml_filename = os.path.join(current_dir,
"phono3py_params_NaCl222.yaml.xz")
enable_v2 = request.config.getoption('--v1')
return phono3py.load(yaml_filename,
store_dense_gp_map=store_dense_gp_map,
store_dense_gp_map=enable_v2,
store_dense_svecs=enable_v2,
log_level=1)
@pytest.fixture(scope='session')
def nacl_pbe_cutoff_fc3():
def nacl_pbe_cutoff_fc3(request):
"""Return Phono3py instance of NaCl 2x2x2.
* cutoff pair with 5
@ -139,8 +159,10 @@ def nacl_pbe_cutoff_fc3():
"""
yaml_filename = os.path.join(current_dir,
"phono3py_params_NaCl222.yaml.xz")
enable_v2 = request.config.getoption('--v1')
ph3 = phono3py.load(yaml_filename,
store_dense_gp_map=store_dense_gp_map,
store_dense_gp_map=enable_v2,
store_dense_svecs=enable_v2,
produce_fc=False,
log_level=1)
forces = ph3.forces
@ -160,7 +182,7 @@ def nacl_pbe_cutoff_fc3():
@pytest.fixture(scope='session')
def aln_lda():
def aln_lda(request):
"""Return Phono3py instance of AlN 3x3x2.
* with symmetry
@ -169,6 +191,8 @@ def aln_lda():
"""
yaml_filename = os.path.join(current_dir,
"phono3py_params_AlN332.yaml.xz")
enable_v2 = request.config.getoption('--v1')
return phono3py.load(yaml_filename,
store_dense_gp_map=store_dense_gp_map,
store_dense_gp_map=enable_v2,
store_dense_svecs=enable_v2,
log_level=1)