phono3py 3.3.1__tar.gz → 3.3.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {phono3py-3.3.1 → phono3py-3.3.2}/PKG-INFO +1 -1
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/_version.py +2 -2
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/api_phono3py.py +18 -8
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/cui/create_force_constants.py +56 -29
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/cui/load.py +39 -16
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/cui/phono3py_script.py +3 -2
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/dataset.py +11 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/version.py +1 -1
- {phono3py-3.3.1 → phono3py-3.3.2}/test/conftest.py +16 -0
- phono3py-3.3.2/test/cui/test_phono3py_load.py +18 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/cui/test_phono3py_load_script.py +1 -1
- {phono3py-3.3.1 → phono3py-3.3.2}/CMakeLists.txt +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/LICENSE +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/README.md +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/_phono3py.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/_phono3py.cpp +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/_phononcalc.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/_phononcalc.cpp +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/_recgrid.cpp +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/bzgrid.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/bzgrid.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/collision_matrix.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/collision_matrix.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/dynmat.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/dynmat.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/fc3.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/fc3.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/funcs.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/funcs.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/grgrid.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/grgrid.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/gridsys.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/gridsys.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/imag_self_energy_with_g.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/imag_self_energy_with_g.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/interaction.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/interaction.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/isotope.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/isotope.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/lagrid.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/lagrid.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/lapack_wrapper.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/lapack_wrapper.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/niggli.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/niggli.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/phono3py.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/phono3py.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/phonoc_array.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/phonoc_const.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/phonon.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/phonon.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/phononcalc.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/phononcalc.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/pp_collision.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/pp_collision.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/real_self_energy.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/real_self_energy.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/real_to_reciprocal.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/real_to_reciprocal.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/recgrid.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/recgrid.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/reciprocal_to_normal.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/reciprocal_to_normal.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/snf3x3.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/snf3x3.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/tetrahedron_method.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/tetrahedron_method.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/triplet.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/triplet.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/triplet_grid.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/triplet_grid.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/triplet_iw.c +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/c/triplet_iw.h +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/ctest/CMakeLists.txt +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/ctest/README.md +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/ctest/fortran/CMakeLists.txt +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/ctest/fortran/gridsysf/CMakeLists.txt +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/doc/README.md +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/AlN-LDA/BORN +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/AlN-LDA/FORCES_FC2 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/AlN-LDA/FORCES_FC3.lzma +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/AlN-LDA/POSCAR-unitcell +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/AlN-LDA/README.md +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/AlN-LDA/phono3py_disp.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/AlN-LDA/phono3py_disp_dimfc2.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/NaCl-alm/README.md +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/NaCl-alm/phono3py_params_NaCl222.yaml.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-CRYSTAL/FORCES_FC2 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-CRYSTAL/FORCES_FC3 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-CRYSTAL/README +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-CRYSTAL/TEMPLATE +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-CRYSTAL/TEMPLATE3 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-CRYSTAL/crystal.o +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-CRYSTAL/outputs.tar.gz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-LDA/FORCES_FC3 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-LDA/POSCAR-unitcell +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-LDA/README.md +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-LDA/phono3py_disp.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-LDA/vasprun_xmls.tar.lzma +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBE/FORCES_FC3 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBE/POSCAR-unitcell +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBE/README.md +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBE/phono3py_disp.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBE/vasprun_xmls.tar.lzma +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/FORCES_FC3 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/POSCAR-unitcell +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/README.md +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/Si-band-DOS.png +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/Si-kaccum.png +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/Si.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/phono3py_disp.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/phono3py_disp_dimfc2.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/vasprun_xml_fc2/disp-fc2-00001/INCAR +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/vasprun_xml_fc2/disp-fc2-00001/POSCAR +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/vasprun_xml_fc2/disp-fc2-00001/vasprun.xml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-PBEsol/vasprun_xmls.tar.lzma +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-QE/FORCES_FC3 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-QE/README.md +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-QE/Si.in +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-QE/phono3py_disp.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-QE/supercell_out.tar.lzma +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-TURBOMOLE/FORCES_FC2 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-TURBOMOLE/FORCES_FC3 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-TURBOMOLE/README +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-TURBOMOLE/control +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-TURBOMOLE/coord +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Si-TURBOMOLE/outputs.tar.gz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Wigner_La2Zr2O7/BORN +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Wigner_La2Zr2O7/POSCAR +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Wigner_La2Zr2O7/command.sh +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Wigner_La2Zr2O7/fc2.hdf5 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Wigner_La2Zr2O7/kappa-m191919.hdf5 +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/Wigner_La2Zr2O7/tc_La2Zr2O7.out.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/zb-ZnTe-PBEsol/README.md +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/zb-ZnTe-PBEsol/launch_phono3py_ZnTe_PBEsol_222.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/example/zb-ZnTe-PBEsol/phono3py_params_ZnTe.yaml.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/fortran/CMakeLists.txt +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/api_isotope.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/api_jointdos.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/conductivity/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/conductivity/base.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/conductivity/direct_solution.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/conductivity/kubo.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/conductivity/rta.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/conductivity/utils.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/conductivity/wigner.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/cui/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/cui/create_force_sets.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/cui/create_supercells.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/cui/kaccum_script.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/cui/phono3py_argparse.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/cui/settings.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/cui/show_log.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/cui/triplets_info.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/file_IO.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/interface/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/interface/alm.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/interface/calculator.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/interface/fc_calculator.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/interface/phono3py_yaml.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/other/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/other/isotope.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/other/kaccum.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/other/tetrahedron_method.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon/func.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon/grid.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon/group_velocity_matrix.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon/heat_capacity_matrix.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon/solver.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon/velocity_operator.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/collision_matrix.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/displacement_fc3.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/fc3.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/gruneisen.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/imag_self_energy.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/interaction.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/joint_dos.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/real_self_energy.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/real_to_reciprocal.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/reciprocal_to_normal.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/spectral_function.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/phonon3/triplets.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/scripts/phono3py.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/scripts/phono3py_coleigplot.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/scripts/phono3py_kaccum.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/scripts/phono3py_kdeplot.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/scripts/phono3py_load.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/sscha/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/phono3py/sscha/sscha.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/pyproject.toml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/AgNO2_cell.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/BORN_NaCl +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/FORCES_FC3_si_pbesol +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/FORCE_SETS_NaCl +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/Si-111-222-fd.tar.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/Si-111-222-rd.tar.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/api/test_api_phono3py.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/conductivity/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/conductivity/test_kappa_LBTE.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/conductivity/test_kappa_LBTE_Wigner.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/conductivity/test_kappa_RTA.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/conductivity/test_kappa_RTA_Wigner.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/cui/phono3py_params-qe-Si222.yaml.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/file_IO/test_file_IO.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/interface/test_phono3py_yaml.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/other/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/other/test_isotope.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/other/test_kaccum.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phono3py_params-Si111-rd.yaml.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phono3py_params_AlN332.yaml.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phono3py_params_MgO-222rd-444rd.yaml.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phono3py_params_NaCl111.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phono3py_params_NaCl222.yaml.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phono3py_params_Si-111-222-fd.yaml.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phono3py_params_Si-111-222-rd.yaml.xz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phono3py_params_Si-111-222.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phono3py_params_Si111.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phono3py_si_pbesol.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon/test_grid.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon/test_velocity_operator.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon3/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon3/test_displacements.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon3/test_fc3.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon3/test_imag_self_energy.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon3/test_interaction.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon3/test_joint_dos.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon3/test_real_self_energy.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon3/test_spectral_function.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonon3/test_triplets.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonopy_disp_NaCl.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonopy_params-Si111-iterha.yaml.gz +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/phonopy_params_Si.yaml +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/sscha/__init__.py +0 -0
- {phono3py-3.3.1 → phono3py-3.3.2}/test/sscha/test_sscha.py +0 -0
|
@@ -81,7 +81,7 @@ from phono3py.conductivity.rta import get_thermal_conductivity_RTA
|
|
|
81
81
|
from phono3py.interface.fc_calculator import get_fc3
|
|
82
82
|
from phono3py.interface.phono3py_yaml import Phono3pyYaml
|
|
83
83
|
from phono3py.phonon.grid import BZGrid
|
|
84
|
-
from phono3py.phonon3.dataset import get_displacements_and_forces_fc3
|
|
84
|
+
from phono3py.phonon3.dataset import forces_in_dataset, get_displacements_and_forces_fc3
|
|
85
85
|
from phono3py.phonon3.displacement_fc3 import (
|
|
86
86
|
direction_to_displacement,
|
|
87
87
|
get_third_order_displacements,
|
|
@@ -846,6 +846,9 @@ class Phono3py:
|
|
|
846
846
|
"""
|
|
847
847
|
dataset = self._dataset
|
|
848
848
|
|
|
849
|
+
if self._dataset is None:
|
|
850
|
+
raise RuntimeError("displacement dataset is not set.")
|
|
851
|
+
|
|
849
852
|
if "first_atoms" in dataset:
|
|
850
853
|
num_scells = len(dataset["first_atoms"])
|
|
851
854
|
for disp1 in dataset["first_atoms"]:
|
|
@@ -863,7 +866,7 @@ class Phono3py:
|
|
|
863
866
|
for disp2 in disp1["second_atoms"]:
|
|
864
867
|
displacements[i, disp2["number"]] = disp2["displacement"]
|
|
865
868
|
i += 1
|
|
866
|
-
elif "
|
|
869
|
+
elif "displacements" in dataset:
|
|
867
870
|
displacements = dataset["displacements"]
|
|
868
871
|
else:
|
|
869
872
|
raise RuntimeError("displacement dataset has wrong format.")
|
|
@@ -1218,10 +1221,10 @@ class Phono3py:
|
|
|
1218
1221
|
|
|
1219
1222
|
def generate_displacements(
|
|
1220
1223
|
self,
|
|
1221
|
-
distance=0.03,
|
|
1222
|
-
cutoff_pair_distance=None,
|
|
1223
|
-
is_plusminus="auto",
|
|
1224
|
-
is_diagonal=True,
|
|
1224
|
+
distance: float = 0.03,
|
|
1225
|
+
cutoff_pair_distance: Optional[float] = None,
|
|
1226
|
+
is_plusminus: Union[bool, str] = "auto",
|
|
1227
|
+
is_diagonal: bool = True,
|
|
1225
1228
|
number_of_snapshots: Optional[int] = None,
|
|
1226
1229
|
random_seed: Optional[int] = None,
|
|
1227
1230
|
is_random_distance: bool = False,
|
|
@@ -1410,7 +1413,7 @@ class Phono3py:
|
|
|
1410
1413
|
self,
|
|
1411
1414
|
symmetrize_fc3r: bool = False,
|
|
1412
1415
|
is_compact_fc: bool = False,
|
|
1413
|
-
fc_calculator: Optional[str] = None,
|
|
1416
|
+
fc_calculator: Optional[Union[str, dict]] = None,
|
|
1414
1417
|
fc_calculator_options: Optional[Union[str, dict]] = None,
|
|
1415
1418
|
):
|
|
1416
1419
|
"""Calculate fc3 from displacements and forces.
|
|
@@ -2150,7 +2153,9 @@ class Phono3py:
|
|
|
2150
2153
|
log_level=_log_level,
|
|
2151
2154
|
)
|
|
2152
2155
|
|
|
2153
|
-
def save(
|
|
2156
|
+
def save(
|
|
2157
|
+
self, filename: str = "phono3py_params.yaml", settings: Optional[dict] = None
|
|
2158
|
+
):
|
|
2154
2159
|
"""Save parameters in Phono3py instants into file.
|
|
2155
2160
|
|
|
2156
2161
|
Parameters
|
|
@@ -2541,6 +2546,11 @@ class Phono3py:
|
|
|
2541
2546
|
Return None if tagert data is not found rather than raising exception.
|
|
2542
2547
|
|
|
2543
2548
|
"""
|
|
2549
|
+
if self._dataset is None:
|
|
2550
|
+
return None
|
|
2551
|
+
if not forces_in_dataset(self._dataset):
|
|
2552
|
+
return None
|
|
2553
|
+
|
|
2544
2554
|
if target in self._dataset: # type-2
|
|
2545
2555
|
return self._dataset[target]
|
|
2546
2556
|
elif "first_atoms" in self._dataset: # type-1
|
|
@@ -68,6 +68,7 @@ from phono3py.file_IO import (
|
|
|
68
68
|
)
|
|
69
69
|
from phono3py.interface.fc_calculator import extract_fc2_fc3_calculators
|
|
70
70
|
from phono3py.interface.phono3py_yaml import Phono3pyYaml
|
|
71
|
+
from phono3py.phonon3.dataset import forces_in_dataset
|
|
71
72
|
from phono3py.phonon3.fc3 import (
|
|
72
73
|
set_permutation_symmetry_fc3,
|
|
73
74
|
set_translational_invariance_fc3,
|
|
@@ -95,8 +96,6 @@ def create_phono3py_force_constants(
|
|
|
95
96
|
symmetrize_fc3r = settings.is_symmetrize_fc3_r or settings.fc_symmetry
|
|
96
97
|
symmetrize_fc2 = settings.is_symmetrize_fc2 or settings.fc_symmetry
|
|
97
98
|
|
|
98
|
-
(fc_calculator, fc_calculator_options) = get_fc_calculator_params(settings)
|
|
99
|
-
|
|
100
99
|
if log_level:
|
|
101
100
|
show_phono3py_force_constants_settings(settings)
|
|
102
101
|
|
|
@@ -113,6 +112,9 @@ def create_phono3py_force_constants(
|
|
|
113
112
|
):
|
|
114
113
|
pass
|
|
115
114
|
else:
|
|
115
|
+
(fc_calculator, fc_calculator_options) = get_fc_calculator_params(
|
|
116
|
+
settings, log_level=(not settings.read_fc3) * 1
|
|
117
|
+
)
|
|
116
118
|
if settings.read_fc3:
|
|
117
119
|
_read_phono3py_fc3(phono3py, symmetrize_fc3r, input_filename, log_level)
|
|
118
120
|
else: # fc3 from FORCES_FC3 or ph3py_yaml
|
|
@@ -292,10 +294,17 @@ def parse_forces(
|
|
|
292
294
|
# Type-1 FORCES_FC*.
|
|
293
295
|
# dataset comes either from disp_fc*.yaml or phono3py*.yaml.
|
|
294
296
|
if not forces_in_dataset(dataset):
|
|
295
|
-
if
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
297
|
+
if force_filename is not None:
|
|
298
|
+
if fc_type == "phonon_fc2":
|
|
299
|
+
parse_FORCES_FC2(dataset, filename=force_filename)
|
|
300
|
+
else:
|
|
301
|
+
parse_FORCES_FC3(dataset, filename=force_filename)
|
|
302
|
+
|
|
303
|
+
if log_level:
|
|
304
|
+
print(
|
|
305
|
+
f'Sets of supercell forces were read from "{force_filename}".',
|
|
306
|
+
flush=True,
|
|
307
|
+
)
|
|
299
308
|
|
|
300
309
|
# Unit of displacements is already converted.
|
|
301
310
|
# Therefore, only unit of forces is converted.
|
|
@@ -305,28 +314,10 @@ def parse_forces(
|
|
|
305
314
|
force_to_eVperA=physical_units["force_to_eVperA"],
|
|
306
315
|
)
|
|
307
316
|
|
|
308
|
-
if log_level:
|
|
309
|
-
print('Sets of supercell forces were read from "%s".' % force_filename)
|
|
310
|
-
sys.stdout.flush()
|
|
311
|
-
|
|
312
317
|
return dataset
|
|
313
318
|
|
|
314
319
|
|
|
315
|
-
def
|
|
316
|
-
"""Return whether forces in dataset or not."""
|
|
317
|
-
return "forces" in dataset or (
|
|
318
|
-
"first_atoms" in dataset and "forces" in dataset["first_atoms"][0]
|
|
319
|
-
)
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
def displacements_in_dataset(dataset: Optional[dict]) -> bool:
|
|
323
|
-
"""Return whether displacements in dataset or not."""
|
|
324
|
-
if dataset is None:
|
|
325
|
-
return False
|
|
326
|
-
return "displacements" in dataset or "first_atoms" in dataset
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
def get_fc_calculator_params(settings):
|
|
320
|
+
def get_fc_calculator_params(settings, log_level=0):
|
|
330
321
|
"""Return fc_calculator and fc_calculator_params from settings."""
|
|
331
322
|
fc_calculator = None
|
|
332
323
|
fc_calculator_list = []
|
|
@@ -339,13 +330,49 @@ def get_fc_calculator_params(settings):
|
|
|
339
330
|
if fc_calculator_list:
|
|
340
331
|
fc_calculator = "|".join(fc_calculator_list)
|
|
341
332
|
|
|
342
|
-
fc_calculator_options =
|
|
343
|
-
if settings.
|
|
344
|
-
|
|
333
|
+
fc_calculator_options = settings.fc_calculator_options
|
|
334
|
+
if settings.cutoff_pair_distance:
|
|
335
|
+
if fc_calculator_list and fc_calculator_list[-1] in ("alm", "symfc"):
|
|
336
|
+
if fc_calculator_list[-1] == "alm":
|
|
337
|
+
cutoff_str = f"-1 {settings.cutoff_pair_distance}"
|
|
338
|
+
if fc_calculator_list[-1] == "symfc":
|
|
339
|
+
cutoff_str = f"{settings.cutoff_pair_distance}"
|
|
340
|
+
fc_calculator_options = _set_cutoff_in_fc_calculator_options(
|
|
341
|
+
fc_calculator_options,
|
|
342
|
+
cutoff_str,
|
|
343
|
+
log_level,
|
|
344
|
+
)
|
|
345
345
|
|
|
346
346
|
return fc_calculator, fc_calculator_options
|
|
347
347
|
|
|
348
348
|
|
|
349
|
+
def _set_cutoff_in_fc_calculator_options(
|
|
350
|
+
fc_calculator_options: Optional[str],
|
|
351
|
+
cutoff_str: str,
|
|
352
|
+
log_level: int,
|
|
353
|
+
):
|
|
354
|
+
str_appended = f"cutoff={cutoff_str}"
|
|
355
|
+
calc_opts = fc_calculator_options
|
|
356
|
+
if calc_opts is None:
|
|
357
|
+
calc_opts = "|"
|
|
358
|
+
if "|" in calc_opts:
|
|
359
|
+
calc_opts_fc2, calc_opts_fc3 = [v.strip() for v in calc_opts.split("|")][:2]
|
|
360
|
+
else:
|
|
361
|
+
calc_opts_fc2 = calc_opts
|
|
362
|
+
calc_opts_fc3 = calc_opts
|
|
363
|
+
|
|
364
|
+
if calc_opts_fc3 == "":
|
|
365
|
+
calc_opts_fc3 += f"{str_appended}"
|
|
366
|
+
if log_level:
|
|
367
|
+
print(f'Set "{str_appended}" to fc_calculator_options for fc3.')
|
|
368
|
+
elif "cutoff" not in calc_opts_fc3:
|
|
369
|
+
calc_opts_fc3 += f", {str_appended}"
|
|
370
|
+
if log_level:
|
|
371
|
+
print(f'Appended "{str_appended}" to fc_calculator_options for fc3.')
|
|
372
|
+
|
|
373
|
+
return f"{calc_opts_fc2}|{calc_opts_fc3}"
|
|
374
|
+
|
|
375
|
+
|
|
349
376
|
def _read_phono3py_fc3(phono3py: Phono3py, symmetrize_fc3r, input_filename, log_level):
|
|
350
377
|
if input_filename is None:
|
|
351
378
|
filename = "fc3.hdf5"
|
|
@@ -417,7 +444,7 @@ def _read_phono3py_fc2(phono3py, symmetrize_fc2, input_filename, log_level):
|
|
|
417
444
|
|
|
418
445
|
def read_type2_dataset(natom, filename="FORCES_FC3", log_level=0) -> Optional[dict]:
|
|
419
446
|
"""Read type-2 FORCES_FC3."""
|
|
420
|
-
if not pathlib.Path(filename).exists():
|
|
447
|
+
if filename is None or not pathlib.Path(filename).exists():
|
|
421
448
|
return None
|
|
422
449
|
|
|
423
450
|
with open(filename, "r") as f:
|
|
@@ -49,13 +49,13 @@ from phonopy.structure.cells import determinant
|
|
|
49
49
|
|
|
50
50
|
from phono3py import Phono3py
|
|
51
51
|
from phono3py.cui.create_force_constants import (
|
|
52
|
-
forces_in_dataset,
|
|
53
52
|
parse_forces,
|
|
54
53
|
run_pypolymlp_to_compute_forces,
|
|
55
54
|
)
|
|
56
55
|
from phono3py.file_IO import read_fc2_from_hdf5, read_fc3_from_hdf5
|
|
57
56
|
from phono3py.interface.fc_calculator import extract_fc2_fc3_calculators
|
|
58
57
|
from phono3py.interface.phono3py_yaml import Phono3pyYaml
|
|
58
|
+
from phono3py.phonon3.dataset import forces_in_dataset
|
|
59
59
|
from phono3py.phonon3.fc3 import show_drift_fc3
|
|
60
60
|
|
|
61
61
|
|
|
@@ -453,7 +453,7 @@ def compute_force_constants_from_datasets(
|
|
|
453
453
|
fc3_calculator = extract_fc2_fc3_calculators(fc_calculator, 3)
|
|
454
454
|
fc2_calculator = extract_fc2_fc3_calculators(fc_calculator, 2)
|
|
455
455
|
if not read_fc["fc3"] and (ph3py.dataset or ph3py.mlp_dataset):
|
|
456
|
-
if ph3py.mlp_dataset
|
|
456
|
+
if use_pypolymlp and forces_in_dataset(ph3py.mlp_dataset):
|
|
457
457
|
run_pypolymlp_to_compute_forces(
|
|
458
458
|
ph3py,
|
|
459
459
|
mlp_params=mlp_params,
|
|
@@ -462,17 +462,22 @@ def compute_force_constants_from_datasets(
|
|
|
462
462
|
random_seed=random_seed,
|
|
463
463
|
log_level=log_level,
|
|
464
464
|
)
|
|
465
|
-
ph3py.
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
465
|
+
if forces_in_dataset(ph3py.dataset):
|
|
466
|
+
ph3py.produce_fc3(
|
|
467
|
+
symmetrize_fc3r=symmetrize_fc,
|
|
468
|
+
is_compact_fc=is_compact_fc,
|
|
469
|
+
fc_calculator=fc3_calculator,
|
|
470
|
+
fc_calculator_options=extract_fc2_fc3_calculators(
|
|
471
|
+
fc_calculator_options, 3
|
|
472
|
+
),
|
|
473
|
+
)
|
|
471
474
|
|
|
472
|
-
|
|
473
|
-
|
|
475
|
+
if log_level and symmetrize_fc and fc_calculator is None:
|
|
476
|
+
print("fc3 was symmetrized.")
|
|
474
477
|
|
|
475
|
-
if not read_fc["fc2"] and (
|
|
478
|
+
if not read_fc["fc2"] and (
|
|
479
|
+
forces_in_dataset(ph3py.dataset) or forces_in_dataset(ph3py.phonon_dataset)
|
|
480
|
+
):
|
|
476
481
|
ph3py.produce_fc2(
|
|
477
482
|
symmetrize_fc2=symmetrize_fc,
|
|
478
483
|
is_compact_fc=is_compact_fc,
|
|
@@ -495,6 +500,7 @@ def _get_dataset_or_fc3(
|
|
|
495
500
|
p2s_map = ph3py.primitive.p2s_map
|
|
496
501
|
read_fc3 = False
|
|
497
502
|
dataset = None
|
|
503
|
+
|
|
498
504
|
if fc3_filename is not None or pathlib.Path("fc3.hdf5").exists():
|
|
499
505
|
if fc3_filename is None:
|
|
500
506
|
_fc3_filename = "fc3.hdf5"
|
|
@@ -532,8 +538,17 @@ def _get_dataset_or_fc3(
|
|
|
532
538
|
cutoff_pair_distance,
|
|
533
539
|
log_level,
|
|
534
540
|
)
|
|
535
|
-
|
|
536
|
-
|
|
541
|
+
elif ph3py_yaml is not None and ph3py_yaml.dataset is not None:
|
|
542
|
+
# not forces_in_dataset(ph3py_yaml.dataset)
|
|
543
|
+
# but want to read displacement dataset.
|
|
544
|
+
dataset = _get_dataset_for_fc3(
|
|
545
|
+
ph3py,
|
|
546
|
+
ph3py_yaml,
|
|
547
|
+
None,
|
|
548
|
+
phono3py_yaml_filename,
|
|
549
|
+
cutoff_pair_distance,
|
|
550
|
+
log_level,
|
|
551
|
+
)
|
|
537
552
|
|
|
538
553
|
return read_fc3, dataset
|
|
539
554
|
|
|
@@ -558,7 +573,7 @@ def _get_dataset_phonon_dataset_or_fc2(
|
|
|
558
573
|
ph3py.fc2 = fc2
|
|
559
574
|
read_fc2 = True
|
|
560
575
|
if log_level:
|
|
561
|
-
print(f'fc2 was read from "{
|
|
576
|
+
print(f'fc2 was read from "{_fc2_filename}".')
|
|
562
577
|
elif (
|
|
563
578
|
ph3py_yaml is not None
|
|
564
579
|
and ph3py_yaml.phonon_dataset is not None
|
|
@@ -585,8 +600,16 @@ def _get_dataset_phonon_dataset_or_fc2(
|
|
|
585
600
|
"phonon_fc2",
|
|
586
601
|
log_level,
|
|
587
602
|
)
|
|
588
|
-
|
|
589
|
-
|
|
603
|
+
elif ph3py_yaml is not None and ph3py_yaml.phonon_dataset is not None:
|
|
604
|
+
# not forces_in_dataset(ph3py_yaml.dataset)
|
|
605
|
+
# but want to read displacement dataset.
|
|
606
|
+
phonon_dataset = _get_dataset_for_fc2(
|
|
607
|
+
ph3py,
|
|
608
|
+
ph3py_yaml,
|
|
609
|
+
None,
|
|
610
|
+
"phonon_fc2",
|
|
611
|
+
log_level,
|
|
612
|
+
)
|
|
590
613
|
|
|
591
614
|
return read_fc2, phonon_dataset
|
|
592
615
|
|
|
@@ -528,8 +528,6 @@ def store_force_constants(
|
|
|
528
528
|
if log_level:
|
|
529
529
|
print("-" * 29 + " Force constants " + "-" * 30)
|
|
530
530
|
|
|
531
|
-
(fc_calculator, fc_calculator_options) = get_fc_calculator_params(settings)
|
|
532
|
-
|
|
533
531
|
read_fc = set_dataset_and_force_constants(
|
|
534
532
|
phono3py,
|
|
535
533
|
ph3py_yaml=ph3py_yaml,
|
|
@@ -538,6 +536,9 @@ def store_force_constants(
|
|
|
538
536
|
use_pypolymlp=settings.use_pypolymlp,
|
|
539
537
|
log_level=log_level,
|
|
540
538
|
)
|
|
539
|
+
(fc_calculator, fc_calculator_options) = get_fc_calculator_params(
|
|
540
|
+
settings, log_level=(not read_fc["fc3"]) * 1
|
|
541
|
+
)
|
|
541
542
|
try:
|
|
542
543
|
compute_force_constants_from_datasets(
|
|
543
544
|
phono3py,
|
|
@@ -34,6 +34,8 @@
|
|
|
34
34
|
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
35
35
|
# POSSIBILITY OF SUCH DAMAGE.
|
|
36
36
|
|
|
37
|
+
from typing import Optional
|
|
38
|
+
|
|
37
39
|
import numpy as np
|
|
38
40
|
|
|
39
41
|
|
|
@@ -94,3 +96,12 @@ def get_displacements_and_forces_fc3(disp_dataset):
|
|
|
94
96
|
return disp_dataset["displacements"], disp_dataset["forces"]
|
|
95
97
|
else:
|
|
96
98
|
raise RuntimeError("disp_dataset doesn't contain correct information.")
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
def forces_in_dataset(dataset: Optional[dict]) -> bool:
|
|
102
|
+
"""Return whether forces in dataset or not."""
|
|
103
|
+
if dataset is None:
|
|
104
|
+
return False
|
|
105
|
+
return "forces" in dataset or (
|
|
106
|
+
"first_atoms" in dataset and "forces" in dataset["first_atoms"][0]
|
|
107
|
+
)
|
|
@@ -69,6 +69,22 @@ def si_pbesol(request) -> Phono3py:
|
|
|
69
69
|
)
|
|
70
70
|
|
|
71
71
|
|
|
72
|
+
@pytest.fixture(scope="session")
|
|
73
|
+
def si_pbesol_without_forcesets(request) -> Phono3py:
|
|
74
|
+
"""Return Phono3py instance of Si 2x2x2 without force sets.
|
|
75
|
+
|
|
76
|
+
* with symmetry
|
|
77
|
+
|
|
78
|
+
"""
|
|
79
|
+
yaml_filename = cwd / "phono3py_si_pbesol.yaml"
|
|
80
|
+
enable_v2 = request.config.getoption("--v2")
|
|
81
|
+
return phono3py.load(
|
|
82
|
+
yaml_filename,
|
|
83
|
+
make_r0_average=not enable_v2,
|
|
84
|
+
log_level=1,
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
|
|
72
88
|
@pytest.fixture(scope="session")
|
|
73
89
|
def si_pbesol_grg(request) -> Phono3py:
|
|
74
90
|
"""Return Phono3py instance of Si 2x2x2.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"""Tests of Phono3py load."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
from phono3py import Phono3py
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def test_phono3py_load(si_pbesol_without_forcesets: Phono3py):
|
|
9
|
+
"""Test phono3py.load.
|
|
10
|
+
|
|
11
|
+
Check phono3py.load can read displacements from phono3py_disp.yaml like file
|
|
12
|
+
that doesn't contain forces.
|
|
13
|
+
|
|
14
|
+
"""
|
|
15
|
+
ph3 = si_pbesol_without_forcesets
|
|
16
|
+
assert ph3.dataset is not None
|
|
17
|
+
assert ph3.displacements.shape == (111, 64, 3)
|
|
18
|
+
assert ph3.forces is None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|