phono3py 3.2.0__tar.gz → 3.3.0__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.
Files changed (245) hide show
  1. phono3py-3.3.0/CMakeLists.txt +398 -0
  2. phono3py-3.3.0/PKG-INFO +107 -0
  3. phono3py-3.3.0/c/_phono3py.cpp +1195 -0
  4. phono3py-3.3.0/c/_phononcalc.cpp +100 -0
  5. {phono3py-3.2.0 → phono3py-3.3.0}/c/phono3py.h +9 -0
  6. {phono3py-3.2.0 → phono3py-3.3.0}/c/phononcalc.h +8 -0
  7. phono3py-3.3.0/ctest/CMakeLists.txt +42 -0
  8. phono3py-3.3.0/ctest/README.md +16 -0
  9. phono3py-3.3.0/ctest/fortran/CMakeLists.txt +1 -0
  10. phono3py-3.3.0/ctest/fortran/gridsysf/CMakeLists.txt +12 -0
  11. phono3py-3.3.0/doc/README.md +34 -0
  12. phono3py-3.3.0/fortran/CMakeLists.txt +24 -0
  13. phono3py-3.3.0/phono3py/_version.py +16 -0
  14. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/api_phono3py.py +18 -4
  15. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon/solver.py +22 -7
  16. phono3py-3.2.0/scripts/phono3py → phono3py-3.3.0/phono3py/scripts/phono3py.py +3 -3
  17. phono3py-3.2.0/scripts/phono3py-coleigplot → phono3py-3.3.0/phono3py/scripts/phono3py_coleigplot.py +2 -3
  18. phono3py-3.2.0/scripts/phono3py-kaccum → phono3py-3.3.0/phono3py/scripts/phono3py_kaccum.py +3 -3
  19. phono3py-3.2.0/scripts/phono3py-kdeplot → phono3py-3.3.0/phono3py/scripts/phono3py_kdeplot.py +2 -3
  20. phono3py-3.2.0/scripts/phono3py-load → phono3py-3.3.0/phono3py/scripts/phono3py_load.py +3 -3
  21. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/version.py +1 -1
  22. phono3py-3.3.0/pyproject.toml +72 -0
  23. phono3py-3.2.0/MANIFEST.in +0 -6
  24. phono3py-3.2.0/PKG-INFO +0 -17
  25. phono3py-3.2.0/__nanoversion__.txt +0 -1
  26. phono3py-3.2.0/phono3py.egg-info/PKG-INFO +0 -17
  27. phono3py-3.2.0/phono3py.egg-info/SOURCES.txt +0 -232
  28. phono3py-3.2.0/phono3py.egg-info/dependency_links.txt +0 -1
  29. phono3py-3.2.0/phono3py.egg-info/requires.txt +0 -7
  30. phono3py-3.2.0/phono3py.egg-info/top_level.txt +0 -1
  31. phono3py-3.2.0/pyproject.toml +0 -19
  32. phono3py-3.2.0/setup.cfg +0 -12
  33. phono3py-3.2.0/setup.py +0 -340
  34. {phono3py-3.2.0 → phono3py-3.3.0}/LICENSE +0 -0
  35. {phono3py-3.2.0 → phono3py-3.3.0}/README.md +0 -0
  36. {phono3py-3.2.0 → phono3py-3.3.0}/c/_phono3py.c +0 -0
  37. {phono3py-3.2.0 → phono3py-3.3.0}/c/_phononcalc.c +0 -0
  38. {phono3py-3.2.0 → phono3py-3.3.0}/c/bzgrid.c +0 -0
  39. {phono3py-3.2.0 → phono3py-3.3.0}/c/bzgrid.h +0 -0
  40. {phono3py-3.2.0 → phono3py-3.3.0}/c/collision_matrix.c +0 -0
  41. {phono3py-3.2.0 → phono3py-3.3.0}/c/collision_matrix.h +0 -0
  42. {phono3py-3.2.0 → phono3py-3.3.0}/c/dynmat.c +0 -0
  43. {phono3py-3.2.0 → phono3py-3.3.0}/c/dynmat.h +0 -0
  44. {phono3py-3.2.0 → phono3py-3.3.0}/c/fc3.c +0 -0
  45. {phono3py-3.2.0 → phono3py-3.3.0}/c/fc3.h +0 -0
  46. {phono3py-3.2.0 → phono3py-3.3.0}/c/grgrid.c +0 -0
  47. {phono3py-3.2.0 → phono3py-3.3.0}/c/grgrid.h +0 -0
  48. {phono3py-3.2.0 → phono3py-3.3.0}/c/gridsys.c +0 -0
  49. {phono3py-3.2.0 → phono3py-3.3.0}/c/gridsys.h +0 -0
  50. {phono3py-3.2.0 → phono3py-3.3.0}/c/imag_self_energy_with_g.c +0 -0
  51. {phono3py-3.2.0 → phono3py-3.3.0}/c/imag_self_energy_with_g.h +0 -0
  52. {phono3py-3.2.0 → phono3py-3.3.0}/c/interaction.c +0 -0
  53. {phono3py-3.2.0 → phono3py-3.3.0}/c/interaction.h +0 -0
  54. {phono3py-3.2.0 → phono3py-3.3.0}/c/isotope.c +0 -0
  55. {phono3py-3.2.0 → phono3py-3.3.0}/c/isotope.h +0 -0
  56. {phono3py-3.2.0 → phono3py-3.3.0}/c/lagrid.c +0 -0
  57. {phono3py-3.2.0 → phono3py-3.3.0}/c/lagrid.h +0 -0
  58. {phono3py-3.2.0 → phono3py-3.3.0}/c/lapack_wrapper.c +0 -0
  59. {phono3py-3.2.0 → phono3py-3.3.0}/c/lapack_wrapper.h +0 -0
  60. {phono3py-3.2.0 → phono3py-3.3.0}/c/niggli.c +0 -0
  61. {phono3py-3.2.0 → phono3py-3.3.0}/c/niggli.h +0 -0
  62. {phono3py-3.2.0 → phono3py-3.3.0}/c/phono3py.c +0 -0
  63. {phono3py-3.2.0 → phono3py-3.3.0}/c/phonoc_array.h +0 -0
  64. {phono3py-3.2.0 → phono3py-3.3.0}/c/phonoc_const.h +0 -0
  65. {phono3py-3.2.0 → phono3py-3.3.0}/c/phonoc_utils.c +0 -0
  66. {phono3py-3.2.0 → phono3py-3.3.0}/c/phonoc_utils.h +0 -0
  67. {phono3py-3.2.0 → phono3py-3.3.0}/c/phonon.c +0 -0
  68. {phono3py-3.2.0 → phono3py-3.3.0}/c/phonon.h +0 -0
  69. {phono3py-3.2.0 → phono3py-3.3.0}/c/phononcalc.c +0 -0
  70. {phono3py-3.2.0 → phono3py-3.3.0}/c/pp_collision.c +0 -0
  71. {phono3py-3.2.0 → phono3py-3.3.0}/c/pp_collision.h +0 -0
  72. {phono3py-3.2.0 → phono3py-3.3.0}/c/real_self_energy.c +0 -0
  73. {phono3py-3.2.0 → phono3py-3.3.0}/c/real_self_energy.h +0 -0
  74. {phono3py-3.2.0 → phono3py-3.3.0}/c/real_to_reciprocal.c +0 -0
  75. {phono3py-3.2.0 → phono3py-3.3.0}/c/real_to_reciprocal.h +0 -0
  76. {phono3py-3.2.0 → phono3py-3.3.0}/c/reciprocal_to_normal.c +0 -0
  77. {phono3py-3.2.0 → phono3py-3.3.0}/c/reciprocal_to_normal.h +0 -0
  78. {phono3py-3.2.0 → phono3py-3.3.0}/c/snf3x3.c +0 -0
  79. {phono3py-3.2.0 → phono3py-3.3.0}/c/snf3x3.h +0 -0
  80. {phono3py-3.2.0 → phono3py-3.3.0}/c/tetrahedron_method.c +0 -0
  81. {phono3py-3.2.0 → phono3py-3.3.0}/c/tetrahedron_method.h +0 -0
  82. {phono3py-3.2.0 → phono3py-3.3.0}/c/triplet.c +0 -0
  83. {phono3py-3.2.0 → phono3py-3.3.0}/c/triplet.h +0 -0
  84. {phono3py-3.2.0 → phono3py-3.3.0}/c/triplet_grid.c +0 -0
  85. {phono3py-3.2.0 → phono3py-3.3.0}/c/triplet_grid.h +0 -0
  86. {phono3py-3.2.0 → phono3py-3.3.0}/c/triplet_iw.c +0 -0
  87. {phono3py-3.2.0 → phono3py-3.3.0}/c/triplet_iw.h +0 -0
  88. {phono3py-3.2.0 → phono3py-3.3.0}/example/AlN-LDA/BORN +0 -0
  89. {phono3py-3.2.0 → phono3py-3.3.0}/example/AlN-LDA/FORCES_FC2 +0 -0
  90. {phono3py-3.2.0 → phono3py-3.3.0}/example/AlN-LDA/FORCES_FC3.lzma +0 -0
  91. {phono3py-3.2.0 → phono3py-3.3.0}/example/AlN-LDA/POSCAR-unitcell +0 -0
  92. {phono3py-3.2.0 → phono3py-3.3.0}/example/AlN-LDA/README.md +0 -0
  93. {phono3py-3.2.0 → phono3py-3.3.0}/example/AlN-LDA/phono3py_disp.yaml +0 -0
  94. {phono3py-3.2.0 → phono3py-3.3.0}/example/AlN-LDA/phono3py_disp_dimfc2.yaml +0 -0
  95. {phono3py-3.2.0 → phono3py-3.3.0}/example/NaCl-alm/README.md +0 -0
  96. {phono3py-3.2.0 → phono3py-3.3.0}/example/NaCl-alm/phono3py_params_NaCl222.yaml.xz +0 -0
  97. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-CRYSTAL/FORCES_FC2 +0 -0
  98. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-CRYSTAL/FORCES_FC3 +0 -0
  99. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-CRYSTAL/README +0 -0
  100. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-CRYSTAL/TEMPLATE +0 -0
  101. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-CRYSTAL/TEMPLATE3 +0 -0
  102. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-CRYSTAL/crystal.o +0 -0
  103. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-CRYSTAL/outputs.tar.gz +0 -0
  104. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-LDA/FORCES_FC3 +0 -0
  105. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-LDA/POSCAR-unitcell +0 -0
  106. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-LDA/README.md +0 -0
  107. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-LDA/phono3py_disp.yaml +0 -0
  108. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-LDA/vasprun_xmls.tar.lzma +0 -0
  109. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBE/FORCES_FC3 +0 -0
  110. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBE/POSCAR-unitcell +0 -0
  111. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBE/README.md +0 -0
  112. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBE/phono3py_disp.yaml +0 -0
  113. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBE/vasprun_xmls.tar.lzma +0 -0
  114. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/FORCES_FC3 +0 -0
  115. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/POSCAR-unitcell +0 -0
  116. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/README.md +0 -0
  117. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/Si-band-DOS.png +0 -0
  118. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/Si-kaccum.png +0 -0
  119. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/Si.py +0 -0
  120. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/phono3py_disp.yaml +0 -0
  121. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/phono3py_disp_dimfc2.yaml +0 -0
  122. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/vasprun_xml_fc2/disp-fc2-00001/INCAR +0 -0
  123. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/vasprun_xml_fc2/disp-fc2-00001/POSCAR +0 -0
  124. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/vasprun_xml_fc2/disp-fc2-00001/vasprun.xml +0 -0
  125. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-PBEsol/vasprun_xmls.tar.lzma +0 -0
  126. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-QE/FORCES_FC3 +0 -0
  127. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-QE/README.md +0 -0
  128. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-QE/Si.in +0 -0
  129. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-QE/phono3py_disp.yaml +0 -0
  130. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-QE/supercell_out.tar.lzma +0 -0
  131. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-TURBOMOLE/FORCES_FC2 +0 -0
  132. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-TURBOMOLE/FORCES_FC3 +0 -0
  133. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-TURBOMOLE/README +0 -0
  134. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-TURBOMOLE/control +0 -0
  135. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-TURBOMOLE/coord +0 -0
  136. {phono3py-3.2.0 → phono3py-3.3.0}/example/Si-TURBOMOLE/outputs.tar.gz +0 -0
  137. {phono3py-3.2.0 → phono3py-3.3.0}/example/Wigner_La2Zr2O7/BORN +0 -0
  138. {phono3py-3.2.0 → phono3py-3.3.0}/example/Wigner_La2Zr2O7/POSCAR +0 -0
  139. {phono3py-3.2.0 → phono3py-3.3.0}/example/Wigner_La2Zr2O7/command.sh +0 -0
  140. {phono3py-3.2.0 → phono3py-3.3.0}/example/Wigner_La2Zr2O7/fc2.hdf5 +0 -0
  141. {phono3py-3.2.0 → phono3py-3.3.0}/example/Wigner_La2Zr2O7/kappa-m191919.hdf5 +0 -0
  142. {phono3py-3.2.0 → phono3py-3.3.0}/example/Wigner_La2Zr2O7/tc_La2Zr2O7.out.xz +0 -0
  143. {phono3py-3.2.0 → phono3py-3.3.0}/example/zb-ZnTe-PBEsol/README.md +0 -0
  144. {phono3py-3.2.0 → phono3py-3.3.0}/example/zb-ZnTe-PBEsol/launch_phono3py_ZnTe_PBEsol_222.py +0 -0
  145. {phono3py-3.2.0 → phono3py-3.3.0}/example/zb-ZnTe-PBEsol/phono3py_params_ZnTe.yaml.xz +0 -0
  146. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/__init__.py +0 -0
  147. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/api_isotope.py +0 -0
  148. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/api_jointdos.py +0 -0
  149. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/conductivity/__init__.py +0 -0
  150. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/conductivity/base.py +0 -0
  151. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/conductivity/direct_solution.py +0 -0
  152. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/conductivity/kubo.py +0 -0
  153. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/conductivity/rta.py +0 -0
  154. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/conductivity/utils.py +0 -0
  155. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/conductivity/wigner.py +0 -0
  156. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/cui/__init__.py +0 -0
  157. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/cui/create_force_constants.py +0 -0
  158. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/cui/create_force_sets.py +0 -0
  159. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/cui/create_supercells.py +0 -0
  160. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/cui/kaccum_script.py +0 -0
  161. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/cui/load.py +0 -0
  162. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/cui/phono3py_argparse.py +0 -0
  163. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/cui/phono3py_script.py +0 -0
  164. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/cui/settings.py +0 -0
  165. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/cui/show_log.py +0 -0
  166. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/cui/triplets_info.py +0 -0
  167. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/file_IO.py +0 -0
  168. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/interface/__init__.py +0 -0
  169. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/interface/alm.py +0 -0
  170. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/interface/calculator.py +0 -0
  171. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/interface/fc_calculator.py +0 -0
  172. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/interface/phono3py_yaml.py +0 -0
  173. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/other/__init__.py +0 -0
  174. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/other/isotope.py +0 -0
  175. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/other/kaccum.py +0 -0
  176. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/other/tetrahedron_method.py +0 -0
  177. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon/__init__.py +0 -0
  178. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon/func.py +0 -0
  179. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon/grid.py +0 -0
  180. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon/group_velocity_matrix.py +0 -0
  181. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon/heat_capacity_matrix.py +0 -0
  182. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon/velocity_operator.py +0 -0
  183. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/__init__.py +0 -0
  184. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/collision_matrix.py +0 -0
  185. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/dataset.py +0 -0
  186. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/displacement_fc3.py +0 -0
  187. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/fc3.py +0 -0
  188. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/gruneisen.py +0 -0
  189. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/imag_self_energy.py +0 -0
  190. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/interaction.py +0 -0
  191. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/joint_dos.py +0 -0
  192. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/real_self_energy.py +0 -0
  193. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/real_to_reciprocal.py +0 -0
  194. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/reciprocal_to_normal.py +0 -0
  195. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/spectral_function.py +0 -0
  196. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/phonon3/triplets.py +0 -0
  197. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/sscha/__init__.py +0 -0
  198. {phono3py-3.2.0 → phono3py-3.3.0}/phono3py/sscha/sscha.py +0 -0
  199. {phono3py-3.2.0 → phono3py-3.3.0}/test/AgNO2_cell.yaml +0 -0
  200. {phono3py-3.2.0 → phono3py-3.3.0}/test/BORN_NaCl +0 -0
  201. {phono3py-3.2.0 → phono3py-3.3.0}/test/FORCES_FC3_si_pbesol +0 -0
  202. {phono3py-3.2.0 → phono3py-3.3.0}/test/FORCE_SETS_NaCl +0 -0
  203. {phono3py-3.2.0 → phono3py-3.3.0}/test/Si-111-222-fd.tar.xz +0 -0
  204. {phono3py-3.2.0 → phono3py-3.3.0}/test/Si-111-222-rd.tar.xz +0 -0
  205. {phono3py-3.2.0 → phono3py-3.3.0}/test/api/test_api_phono3py.py +0 -0
  206. {phono3py-3.2.0 → phono3py-3.3.0}/test/conductivity/__init__.py +0 -0
  207. {phono3py-3.2.0 → phono3py-3.3.0}/test/conductivity/test_kappa_LBTE.py +0 -0
  208. {phono3py-3.2.0 → phono3py-3.3.0}/test/conductivity/test_kappa_LBTE_Wigner.py +0 -0
  209. {phono3py-3.2.0 → phono3py-3.3.0}/test/conductivity/test_kappa_RTA.py +0 -0
  210. {phono3py-3.2.0 → phono3py-3.3.0}/test/conductivity/test_kappa_RTA_Wigner.py +0 -0
  211. {phono3py-3.2.0 → phono3py-3.3.0}/test/conftest.py +0 -0
  212. {phono3py-3.2.0 → phono3py-3.3.0}/test/cui/phono3py_params-qe-Si222.yaml.xz +0 -0
  213. {phono3py-3.2.0 → phono3py-3.3.0}/test/cui/test_phono3py_load_script.py +0 -0
  214. {phono3py-3.2.0 → phono3py-3.3.0}/test/file_IO/test_file_IO.py +0 -0
  215. {phono3py-3.2.0 → phono3py-3.3.0}/test/interface/test_phono3py_yaml.py +0 -0
  216. {phono3py-3.2.0 → phono3py-3.3.0}/test/other/__init__.py +0 -0
  217. {phono3py-3.2.0 → phono3py-3.3.0}/test/other/test_isotope.py +0 -0
  218. {phono3py-3.2.0 → phono3py-3.3.0}/test/other/test_kaccum.py +0 -0
  219. {phono3py-3.2.0 → phono3py-3.3.0}/test/phono3py_params-Si111-rd.yaml.xz +0 -0
  220. {phono3py-3.2.0 → phono3py-3.3.0}/test/phono3py_params_AlN332.yaml.xz +0 -0
  221. {phono3py-3.2.0 → phono3py-3.3.0}/test/phono3py_params_MgO-222rd-444rd.yaml.xz +0 -0
  222. {phono3py-3.2.0 → phono3py-3.3.0}/test/phono3py_params_NaCl111.yaml +0 -0
  223. {phono3py-3.2.0 → phono3py-3.3.0}/test/phono3py_params_NaCl222.yaml.xz +0 -0
  224. {phono3py-3.2.0 → phono3py-3.3.0}/test/phono3py_params_Si-111-222-fd.yaml.xz +0 -0
  225. {phono3py-3.2.0 → phono3py-3.3.0}/test/phono3py_params_Si-111-222-rd.yaml.xz +0 -0
  226. {phono3py-3.2.0 → phono3py-3.3.0}/test/phono3py_params_Si-111-222.yaml +0 -0
  227. {phono3py-3.2.0 → phono3py-3.3.0}/test/phono3py_params_Si111.yaml +0 -0
  228. {phono3py-3.2.0 → phono3py-3.3.0}/test/phono3py_si_pbesol.yaml +0 -0
  229. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon/__init__.py +0 -0
  230. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon/test_grid.py +0 -0
  231. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon/test_velocity_operator.py +0 -0
  232. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon3/__init__.py +0 -0
  233. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon3/test_displacements.py +0 -0
  234. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon3/test_fc3.py +0 -0
  235. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon3/test_imag_self_energy.py +0 -0
  236. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon3/test_interaction.py +0 -0
  237. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon3/test_joint_dos.py +0 -0
  238. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon3/test_real_self_energy.py +0 -0
  239. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon3/test_spectral_function.py +0 -0
  240. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonon3/test_triplets.py +0 -0
  241. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonopy_disp_NaCl.yaml +0 -0
  242. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonopy_params-Si111-iterha.yaml.gz +0 -0
  243. {phono3py-3.2.0 → phono3py-3.3.0}/test/phonopy_params_Si.yaml +0 -0
  244. {phono3py-3.2.0 → phono3py-3.3.0}/test/sscha/__init__.py +0 -0
  245. {phono3py-3.2.0 → phono3py-3.3.0}/test/sscha/test_sscha.py +0 -0
@@ -0,0 +1,398 @@
1
+ cmake_minimum_required(VERSION 3.20)
2
+
3
+ option(BUILD_PHPHCALC_LIB "Option to build phph calculation module" OFF)
4
+ option(BUILD_PHONONCALC_LIB "Option to build phonon calculation module" OFF)
5
+ option(BUILD_GRIDSYS_LIB "Option to build gridsys module" OFF)
6
+ option(PHONO3PY_WITH_Fortran "enable fortran interface" OFF)
7
+ option(PHONO3PY_USE_OMP "Option to search OpenMP library" ON)
8
+ option(PHONO3PY_USE_MTBLAS "Use multithread BLAS if it exists" ON)
9
+ option(PHONO3PY_WITH_TESTS "build unit tests" OFF)
10
+ option(BUILD_SHARED_LIBS "Option to build shared library" OFF)
11
+
12
+ if(PHONO3PY_WITH_Fortran)
13
+ enable_language(Fortran)
14
+ set(BUILD_GRIDSYS_LIB ON)
15
+ endif()
16
+
17
+ if(PHONO3PY_WITH_TESTS)
18
+ set(BUILD_SHARED_LIBS ON)
19
+ set(BUILD_GRIDSYS_LIB ON)
20
+ endif()
21
+
22
+ if((NOT BUILD_PHPHCALC_LIB)
23
+ AND (NOT BUILD_PHONONCALC_LIB)
24
+ AND (NOT BUILD_GRIDSYS_LIB))
25
+ set(BUILD_NANOBIND_MODULE ON)
26
+ message(STATUS "Build nanobind module of ${SKBUILD_PROJECT_NAME}")
27
+ else()
28
+ set(BUILD_NANOBIND_MODULE OFF)
29
+ endif()
30
+
31
+ if(BUILD_NANOBIND_MODULE)
32
+ project(${SKBUILD_PROJECT_NAME})
33
+ set(DEV_MODULE Development.Module)
34
+ find_package(
35
+ Python 3.8 REQUIRED
36
+ COMPONENTS Interpreter ${DEV_MODULE}
37
+ OPTIONAL_COMPONENTS Development.SABIModule)
38
+ else()
39
+ project(phono3py C)
40
+ set(CMAKE_MACOSX_RPATH 1)
41
+ set(CMAKE_C_FLAGS_RELEASE "-Wall -O2")
42
+ set(CMAKE_C_FLAGS_DEBUG "-g -DLAGWARNING -DTHMWARNING")
43
+
44
+ # Version numbers
45
+ file(READ ${PROJECT_SOURCE_DIR}/phono3py/version.py version_file)
46
+ string(REGEX MATCH "__version__.*([0-9]+)[.]([0-9]+)[.]([0-9]+)"
47
+ phono3py_version ${version_file})
48
+ set(MAJOR_VERSION ${CMAKE_MATCH_1})
49
+ set(MINOR_VERSION ${CMAKE_MATCH_2})
50
+ set(MICRO_VERSION ${CMAKE_MATCH_3})
51
+ set(SERIAL "${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}")
52
+ set(SOSERIAL "1")
53
+ include(GNUInstallDirs)
54
+ endif()
55
+
56
+ if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
57
+ set(CMAKE_BUILD_TYPE
58
+ Release
59
+ CACHE STRING "Choose the type of build." FORCE)
60
+ set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
61
+ "MinSizeRel" "RelWithDebInfo")
62
+ endif()
63
+
64
+ message(STATUS "Build type: ${CMAKE_BUILD_TYPE}")
65
+ message(STATUS "CMAKE_SYSTEM_PREFIX_PATH: ${CMAKE_SYSTEM_PREFIX_PATH}")
66
+
67
+ if(USE_CONDA_PATH AND DEFINED ENV{CONDA_PREFIX})
68
+ message(STATUS "$ENV{CONDA_PREFIX}")
69
+ set(CMAKE_MODULE_PATH $ENV{CONDA_PREFIX})
70
+ set(MY_INCLUDES $ENV{CONDA_PREFIX}/include ${PROJECT_SOURCE_DIR}/c)
71
+ link_directories($ENV{CONDA_PREFIX}/lib)
72
+ else()
73
+ set(MY_INCLUDES ${PROJECT_SOURCE_DIR}/c)
74
+ endif()
75
+
76
+ if(PHONO3PY_USE_OMP)
77
+ message(STATUS "Find OpenMP library")
78
+ find_package(OpenMP)
79
+
80
+ if(OpenMP_FOUND)
81
+ message(STATUS "OpenMP libs: ${OpenMP_C_LIBRARIES}")
82
+ message(STATUS "OpenMP flags: ${OpenMP_C_FLAGS}")
83
+ endif()
84
+ else()
85
+ message(STATUS "OpenMP is not used.")
86
+ set(OpenMP_FOUND OFF) # cmake-lint: disable=C0103
87
+ endif()
88
+
89
+ if(BUILD_PHPHCALC_LIB
90
+ OR BUILD_PHONONCALC_LIB
91
+ OR BUILD_NANOBIND_MODULE)
92
+ find_package(BLAS REQUIRED) # set BLAS_LIBRARIES
93
+
94
+ if(BLAS_FOUND)
95
+ message(STATUS "BLAS libs: ${BLAS_LIBRARIES}")
96
+ message(STATUS "BLAS flags: ${BLAS_LINKER_FLAGS}")
97
+ endif()
98
+
99
+ find_package(LAPACK REQUIRED) # set LAPACK_LIBRARIES
100
+
101
+ if(LAPACK_FOUND)
102
+ message(STATUS "LAPACK libs: ${LAPACK_LIBRARIES}")
103
+ message(STATUS "LAPACK flags: ${LAPACK_LINKER_FLAGS}")
104
+ endif()
105
+
106
+ if(BLAS_LIBRARIES MATCHES "libmkl")
107
+ message(STATUS "MKL detected: Set C-macro MKL_LAPACKE.")
108
+
109
+ if(PHONO3PY_USE_MTBLAS)
110
+ message(
111
+ STATUS "Set C-macro MULTITHREADED_BLAS to avoid nested OpenMP calls."
112
+ )
113
+ endif()
114
+ endif()
115
+
116
+ if(BLAS_LIBRARIES MATCHES "libopenblas")
117
+ message(STATUS "OpenBLAS detected.")
118
+
119
+ if(PHONO3PY_USE_MTBLAS)
120
+ message(
121
+ STATUS "Set C-macro MULTITHREADED_BLAS to avoid nested OpenMP calls."
122
+ )
123
+ endif()
124
+ endif()
125
+ endif()
126
+
127
+ # ###################################################################################
128
+ # Build phphcalc module #
129
+ # ###################################################################################
130
+ if(BUILD_PHPHCALC_LIB OR BUILD_NANOBIND_MODULE)
131
+ # Source code
132
+ set(SOURCES_PHPHCALC
133
+ ${PROJECT_SOURCE_DIR}/c/bzgrid.c
134
+ ${PROJECT_SOURCE_DIR}/c/collision_matrix.c
135
+ ${PROJECT_SOURCE_DIR}/c/fc3.c
136
+ ${PROJECT_SOURCE_DIR}/c/grgrid.c
137
+ ${PROJECT_SOURCE_DIR}/c/imag_self_energy_with_g.c
138
+ ${PROJECT_SOURCE_DIR}/c/interaction.c
139
+ ${PROJECT_SOURCE_DIR}/c/isotope.c
140
+ ${PROJECT_SOURCE_DIR}/c/lagrid.c
141
+ ${PROJECT_SOURCE_DIR}/c/lapack_wrapper.c
142
+ ${PROJECT_SOURCE_DIR}/c/phono3py.c
143
+ ${PROJECT_SOURCE_DIR}/c/phonoc_utils.c
144
+ ${PROJECT_SOURCE_DIR}/c/pp_collision.c
145
+ ${PROJECT_SOURCE_DIR}/c/real_self_energy.c
146
+ ${PROJECT_SOURCE_DIR}/c/real_to_reciprocal.c
147
+ ${PROJECT_SOURCE_DIR}/c/reciprocal_to_normal.c
148
+ ${PROJECT_SOURCE_DIR}/c/snf3x3.c
149
+ ${PROJECT_SOURCE_DIR}/c/tetrahedron_method.c
150
+ ${PROJECT_SOURCE_DIR}/c/triplet.c
151
+ ${PROJECT_SOURCE_DIR}/c/triplet_grid.c
152
+ ${PROJECT_SOURCE_DIR}/c/triplet_iw.c)
153
+
154
+ if(BUILD_SHARED_LIBS)
155
+ # Shared library
156
+ add_library(phphcalc_lib SHARED ${SOURCES_PHPHCALC})
157
+
158
+ if(OpenMP_FOUND)
159
+ target_link_libraries(phphcalc_lib PRIVATE BLAS::BLAS LAPACK::LAPACK
160
+ OpenMP::OpenMP_C)
161
+ else()
162
+ target_link_libraries(phphcalc_lib PRIVATE BLAS::BLAS LAPACK::LAPACK)
163
+ endif()
164
+
165
+ target_include_directories(phphcalc_lib PRIVATE ${MY_INCLUDES})
166
+
167
+ if(BLAS_LIBRARIES MATCHES "libmkl")
168
+ if(PHONO3PY_USE_MTBLAS)
169
+ target_compile_definitions(
170
+ phphcalc_lib PRIVATE MKL_LAPACKE MULTITHREADED_BLAS
171
+ THM_EPSILON=1e-10)
172
+ else()
173
+ target_compile_definitions(phphcalc_lib PRIVATE MKL_LAPACKE
174
+ THM_EPSILON=1e-10)
175
+ endif()
176
+ endif()
177
+
178
+ if(BLAS_LIBRARIES MATCHES "libopenblas")
179
+ if(PHONO3PY_USE_MTBLAS)
180
+ target_compile_definitions(phphcalc_lib PRIVATE MULTITHREADED_BLAS
181
+ THM_EPSILON=1e-10)
182
+ else()
183
+ target_compile_definitions(phphcalc_lib PRIVATE THM_EPSILON=1e-10)
184
+ endif()
185
+ endif()
186
+ else()
187
+ # Static link library
188
+ add_library(phphcalc_lib STATIC ${SOURCES_PHPHCALC})
189
+
190
+ if(OpenMP_FOUND)
191
+ target_link_libraries(phphcalc_lib BLAS::BLAS LAPACK::LAPACK
192
+ OpenMP::OpenMP_C)
193
+ else()
194
+ target_link_libraries(phphcalc_lib BLAS::BLAS LAPACK::LAPACK)
195
+ endif()
196
+
197
+ target_include_directories(phphcalc_lib PRIVATE ${MY_INCLUDES})
198
+
199
+ if(BLAS_LIBRARIES MATCHES "libmkl")
200
+ if(PHONO3PY_USE_MTBLAS)
201
+ target_compile_definitions(
202
+ phphcalc_lib PRIVATE MKL_LAPACKE MULTITHREADED_BLAS
203
+ THM_EPSILON=1e-10)
204
+ else()
205
+ target_compile_definitions(phphcalc_lib PRIVATE MKL_LAPACKE
206
+ THM_EPSILON=1e-10)
207
+ endif()
208
+ endif()
209
+
210
+ if(BLAS_LIBRARIES MATCHES "libopenblas")
211
+ if(PHONO3PY_USE_MTBLAS)
212
+ target_compile_definitions(phphcalc_lib PRIVATE MULTITHREADED_BLAS
213
+ THM_EPSILON=1e-10)
214
+ else()
215
+ target_compile_definitions(phphcalc_lib PRIVATE THM_EPSILON=1e-10)
216
+ endif()
217
+ endif()
218
+ endif()
219
+
220
+ if(NOT BUILD_NANOBIND_MODULE)
221
+ if(BUILD_SHARED_LIBS)
222
+ set_property(TARGET phphcalc_lib PROPERTY VERSION ${SERIAL})
223
+ set_property(TARGET phphcalc_lib PROPERTY SOVERSION ${SOSERIAL})
224
+ install(TARGETS phphcalc_lib LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
225
+ else()
226
+ set_property(TARGET phphcalc_lib PROPERTY VERSION ${SERIAL})
227
+ set_property(TARGET phphcalc_lib PROPERTY SOVERSION ${SOSERIAL})
228
+ set_property(TARGET phphcalc_lib PROPERTY OUTPUT_NAME phphcalc_lib)
229
+ install(TARGETS phphcalc_lib ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
230
+ endif()
231
+
232
+ # Header file
233
+ install(FILES ${PROJECT_SOURCE_DIR}/c/phono3py.h
234
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
235
+ endif()
236
+ endif()
237
+
238
+ # ###################################################################################
239
+ # phononcalc #
240
+ # ###################################################################################
241
+ if(BUILD_PHONONCALC_LIB OR BUILD_NANOBIND_MODULE)
242
+ # Source code
243
+ set(SOURCES_PHONONCALC
244
+ ${PROJECT_SOURCE_DIR}/c/dynmat.c ${PROJECT_SOURCE_DIR}/c/lapack_wrapper.c
245
+ ${PROJECT_SOURCE_DIR}/c/phonon.c ${PROJECT_SOURCE_DIR}/c/phononcalc.c)
246
+
247
+ if(BUILD_SHARED_LIBS)
248
+ # Shared library
249
+ add_library(phononcalc_lib SHARED ${SOURCES_PHONONCALC})
250
+
251
+ if(OpenMP_FOUND)
252
+ target_link_libraries(phononcalc_lib BLAS::BLAS LAPACK::LAPACK
253
+ OpenMP::OpenMP_C)
254
+ else()
255
+ target_link_libraries(phononcalc_lib BLAS::BLAS LAPACK::LAPACK)
256
+ endif()
257
+
258
+ target_include_directories(phononcalc_lib PRIVATE ${MY_INCLUDES})
259
+
260
+ if(BLAS_LIBRARIES MATCHES "libmkl")
261
+ target_compile_definitions(phononcalc_lib PRIVATE MKL_LAPACKE
262
+ MULTITHREADED_BLAS)
263
+ endif()
264
+
265
+ if(BLAS_LIBRARIES MATCHES "libopenblas")
266
+ target_compile_definitions(phononcalc_lib PRIVATE MULTITHREADED_BLAS)
267
+ endif()
268
+
269
+ else()
270
+ # Static link library
271
+ add_library(phononcalc_lib STATIC ${SOURCES_PHONONCALC})
272
+
273
+ if(OpenMP_FOUND)
274
+ target_link_libraries(phononcalc_lib PRIVATE BLAS::BLAS LAPACK::LAPACK
275
+ OpenMP::OpenMP_C)
276
+ else()
277
+ target_link_libraries(phononcalc_lib PRIVATE BLAS::BLAS LAPACK::LAPACK)
278
+ endif()
279
+
280
+ target_include_directories(phononcalc_lib PRIVATE ${MY_INCLUDES})
281
+
282
+ if(BLAS_LIBRARIES MATCHES "libmkl")
283
+ target_compile_definitions(phononcalc_lib PRIVATE MKL_LAPACKE
284
+ MULTITHREADED_BLAS)
285
+ endif()
286
+
287
+ if(BLAS_LIBRARIES MATCHES "libopenblas")
288
+ target_compile_definitions(phononcalc_lib PRIVATE MULTITHREADED_BLAS)
289
+ endif()
290
+ endif()
291
+
292
+ if(NOT BUILD_NANOBIND_MODULE)
293
+ if(BUILD_SHARED_LIBS)
294
+ set_property(TARGET phononcalc_lib PROPERTY VERSION ${SERIAL})
295
+ set_property(TARGET phononcalc_lib PROPERTY SOVERSION ${SOSERIAL})
296
+ install(TARGETS phononcalc_lib
297
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
298
+
299
+ else()
300
+ set_property(TARGET phononcalc_lib PROPERTY VERSION ${SERIAL})
301
+ set_property(TARGET phononcalc_lib PROPERTY SOVERSION ${SOSERIAL})
302
+ set_property(TARGET phononcalc_lib PROPERTY OUTPUT_NAME phononcalc_lib)
303
+ install(TARGETS phononcalc_lib
304
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
305
+ endif()
306
+
307
+ # Header file
308
+ install(FILES ${PROJECT_SOURCE_DIR}/c/phononcalc.h
309
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
310
+ endif()
311
+ endif()
312
+
313
+ # ###################################################################################
314
+ # grid #
315
+ # ###################################################################################
316
+ if(BUILD_GRIDSYS_LIB)
317
+ # Source code
318
+ set(SOURCES_GRIDSYS
319
+ ${PROJECT_SOURCE_DIR}/c/bzgrid.c
320
+ ${PROJECT_SOURCE_DIR}/c/grgrid.c
321
+ ${PROJECT_SOURCE_DIR}/c/gridsys.c
322
+ ${PROJECT_SOURCE_DIR}/c/lagrid.c
323
+ ${PROJECT_SOURCE_DIR}/c/niggli.c
324
+ ${PROJECT_SOURCE_DIR}/c/phonoc_utils.c
325
+ ${PROJECT_SOURCE_DIR}/c/snf3x3.c
326
+ ${PROJECT_SOURCE_DIR}/c/tetrahedron_method.c
327
+ ${PROJECT_SOURCE_DIR}/c/triplet.c
328
+ ${PROJECT_SOURCE_DIR}/c/triplet_grid.c
329
+ ${PROJECT_SOURCE_DIR}/c/triplet_iw.c)
330
+
331
+ if(BUILD_SHARED_LIBS)
332
+ # Shared library
333
+ add_library(gridsys SHARED ${SOURCES_GRIDSYS})
334
+
335
+ if(OpenMP_FOUND)
336
+ target_link_libraries(gridsys PRIVATE OpenMP::OpenMP_C)
337
+ endif()
338
+
339
+ target_include_directories(gridsys PRIVATE ${MY_INCLUDES})
340
+ target_compile_definitions(gridsys PRIVATE THM_EPSILON=1e-10)
341
+ set_property(TARGET gridsys PROPERTY VERSION ${SERIAL})
342
+ set_property(TARGET gridsys PROPERTY SOVERSION ${SOSERIAL})
343
+ install(TARGETS gridsys LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
344
+ else()
345
+ # Static link library
346
+ add_library(gridsys_static STATIC ${SOURCES_GRIDSYS})
347
+
348
+ if(OpenMP_FOUND)
349
+ target_link_libraries(gridsys_static PRIVATE OpenMP::OpenMP_C)
350
+ endif()
351
+
352
+ target_include_directories(gridsys_static PRIVATE ${MY_INCLUDES})
353
+ target_compile_definitions(gridsys_static PRIVATE THM_EPSILON=1e-10)
354
+ set_property(TARGET gridsys_static PROPERTY VERSION ${SERIAL})
355
+ set_property(TARGET gridsys_static PROPERTY SOVERSION ${SOSERIAL})
356
+ set_property(TARGET gridsys_static PROPERTY OUTPUT_NAME gridsys)
357
+ install(TARGETS gridsys_static ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
358
+ endif()
359
+
360
+ # Header file
361
+ install(FILES ${PROJECT_SOURCE_DIR}/c/gridsys.h
362
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
363
+ endif()
364
+
365
+ if(PHONO3PY_WITH_Fortran)
366
+ add_subdirectory(fortran)
367
+ endif()
368
+
369
+ if(PHONO3PY_WITH_TESTS)
370
+ if(PHONO3PY_WITH_Fortran)
371
+ set(LIB_MOD_DIR ${CMAKE_CURRENT_BINARY_DIR}/fortran)
372
+ endif()
373
+
374
+ add_subdirectory(ctest)
375
+ endif()
376
+
377
+ if(BUILD_NANOBIND_MODULE)
378
+ set_target_properties(phphcalc_lib PROPERTIES POSITION_INDEPENDENT_CODE ON)
379
+ set_target_properties(phononcalc_lib PROPERTIES POSITION_INDEPENDENT_CODE ON)
380
+
381
+ execute_process(
382
+ COMMAND "${Python_EXECUTABLE}" -m nanobind --cmake_dir
383
+ OUTPUT_STRIP_TRAILING_WHITESPACE
384
+ OUTPUT_VARIABLE NB_DIR)
385
+ list(APPEND CMAKE_PREFIX_PATH "${NB_DIR}")
386
+ find_package(nanobind CONFIG REQUIRED)
387
+ nanobind_add_module(_phono3py STABLE_ABI ${PROJECT_SOURCE_DIR}/c/phono3py.h
388
+ ${PROJECT_SOURCE_DIR}/c/_phono3py.cpp)
389
+ nanobind_add_module(_phononcalc STABLE_ABI ${PROJECT_SOURCE_DIR}/c/phononcalc.h
390
+ ${PROJECT_SOURCE_DIR}/c/_phononcalc.cpp)
391
+
392
+ target_link_libraries(_phono3py PRIVATE phphcalc_lib)
393
+ target_link_libraries(_phononcalc PRIVATE phononcalc_lib)
394
+
395
+ target_compile_definitions(_phono3py PRIVATE THM_EPSILON=1e-10)
396
+ install(TARGETS _phono3py LIBRARY DESTINATION ${SKBUILD_PROJECT_NAME})
397
+ install(TARGETS _phononcalc LIBRARY DESTINATION ${SKBUILD_PROJECT_NAME})
398
+ endif()
@@ -0,0 +1,107 @@
1
+ Metadata-Version: 2.1
2
+ Name: phono3py
3
+ Version: 3.3.0
4
+ Summary: This is the phono3py module.
5
+ Author-Email: Atsushi Togo <atztogo@gmail.com>
6
+ License: Copyright (c) 2015-2024, Phonopy. All rights reserved.
7
+
8
+ Redistribution and use in source and binary forms, with or without
9
+ modification, are permitted provided that the following conditions
10
+ are met:
11
+
12
+ * Redistributions of source code must retain the above copyright
13
+ notice, this list of conditions and the following disclaimer.
14
+ * Redistributions in binary form must reproduce the above copyright
15
+ notice, this list of conditions and the following disclaimer in the
16
+ documentation and/or other materials provided with the distribution.
17
+ * Neither the name of the phonopy project nor the
18
+ names of its contributors may be used to endorse or promote products
19
+ derived from this software without specific prior written permission.
20
+
21
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT
25
+ HOLDER> BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32
+ Project-URL: Homepage, https://phonopy.github.io/phono3py/
33
+ Project-URL: Repository, https://github.com/phonopy/phono3py
34
+ Requires-Python: >=3.8
35
+ Requires-Dist: numpy>=1.17.0
36
+ Requires-Dist: scipy
37
+ Requires-Dist: PyYAML>=5.3
38
+ Requires-Dist: matplotlib>=2.2.2
39
+ Requires-Dist: h5py>=3.0
40
+ Requires-Dist: spglib>=2.3
41
+ Requires-Dist: phonopy<2.27,>=2.26
42
+ Description-Content-Type: text/markdown
43
+
44
+ [![Version Badge](https://anaconda.org/conda-forge/phono3py/badges/version.svg)](https://anaconda.org/conda-forge/phono3py)
45
+ [![Downloads Badge](https://anaconda.org/conda-forge/phono3py/badges/downloads.svg)](https://anaconda.org/conda-forge/phono3py)
46
+ [![PyPI version](https://badge.fury.io/py/phono3py.svg)](https://badge.fury.io/py/phono3py)
47
+ [![PyPI](https://img.shields.io/pypi/dm/phono3py.svg?maxAge=2592000)](https://pypi.python.org/pypi/phono3py)
48
+ [![codecov](https://codecov.io/gh/phonopy/phono3py/branch/develop/graph/badge.svg)](https://codecov.io/gh/phonopy/phono3py)
49
+
50
+ # phono3py
51
+
52
+ A simulation package of phonon-phonon interaction related properties mainly
53
+ written in python. Phono3py user documentation is found at
54
+ http://phonopy.github.io/phono3py/.
55
+
56
+ ## Mailing list for questions
57
+
58
+ Usual phono3py questions should be sent to phonopy mailing list
59
+ (https://sourceforge.net/p/phonopy/mailman/).
60
+
61
+ ## Dependency
62
+
63
+ See `requirements.txt`. Optionally `symfc` and `scipy` are required
64
+ for using additional features.
65
+
66
+ ## Development
67
+
68
+ The development of phono3py is managed on the `develop` branch of github
69
+ phono3py repository.
70
+
71
+ - Github issues is the place to discuss about phono3py issues.
72
+ - Github pull request is the place to request merging source code.
73
+ - Formatting rules are found in `pyproject.toml`.
74
+ - Not strictly, but VSCode's `settings.json` may be written like below
75
+
76
+ ```json
77
+ "ruff.lint.args": [
78
+ "--config=${workspaceFolder}/pyproject.toml",
79
+ ],
80
+ "[python]": {
81
+ "editor.defaultFormatter": "charliermarsh.ruff",
82
+ "editor.codeActionsOnSave": {
83
+ "source.organizeImports": "explicit"
84
+ }
85
+ },
86
+ ```
87
+
88
+ - Use of pre-commit (https://pre-commit.com/) is encouraged.
89
+ - Installed by `pip install pre-commit`, `conda install pre_commit` or see
90
+ https://pre-commit.com/#install.
91
+ - pre-commit hook is installed by `pre-commit install`.
92
+ - pre-commit hook is run by `pre-commit run --all-files`.
93
+
94
+ ## Documentation
95
+
96
+ Phono3py user documentation is written using python sphinx. The source files are
97
+ stored in `doc` directory. Please see how to write the documentation at
98
+ `doc/README.md`.
99
+
100
+ ## How to run tests
101
+
102
+ Tests are written using pytest. To run tests, pytest has to be installed. The
103
+ tests can be run by
104
+
105
+ ```bash
106
+ % pytest
107
+ ```