yambopy 0.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 (368) hide show
  1. yambopy-0.3.0/.coveragerc +8 -0
  2. yambopy-0.3.0/.gitignore +9 -0
  3. yambopy-0.3.0/.travis.yml +45 -0
  4. yambopy-0.3.0/LICENCE +3 -0
  5. yambopy-0.3.0/PKG-INFO +153 -0
  6. yambopy-0.3.0/README.md +130 -0
  7. yambopy-0.3.0/docs/logos/yambopy_square.png +0 -0
  8. yambopy-0.3.0/docs/logos/yambopy_text.png +0 -0
  9. yambopy-0.3.0/pyproject.toml +51 -0
  10. yambopy-0.3.0/pytest.ini +2 -0
  11. yambopy-0.3.0/qepy/__init__.py +34 -0
  12. yambopy-0.3.0/qepy/auxiliary.py +23 -0
  13. yambopy-0.3.0/qepy/bravais.py +175 -0
  14. yambopy-0.3.0/qepy/data/__init__.py +0 -0
  15. yambopy-0.3.0/qepy/data/pseudos/B.pbe-mt_fhi.UPF +1816 -0
  16. yambopy-0.3.0/qepy/data/pseudos/Mo.pz-mt_fhi.UPF +2008 -0
  17. yambopy-0.3.0/qepy/data/pseudos/N.pbe-mt_fhi.UPF +1742 -0
  18. yambopy-0.3.0/qepy/data/pseudos/S.pz-mt_fhi.UPF +1868 -0
  19. yambopy-0.3.0/qepy/data/pseudos/Si.pbe-mt_fhi.UPF +1840 -0
  20. yambopy-0.3.0/qepy/data/pseudos/__init__.py +0 -0
  21. yambopy-0.3.0/qepy/dynmat.py +68 -0
  22. yambopy-0.3.0/qepy/lattice.py +132 -0
  23. yambopy-0.3.0/qepy/matdyn.py +331 -0
  24. yambopy-0.3.0/qepy/ph.py +91 -0
  25. yambopy-0.3.0/qepy/pp.py +148 -0
  26. yambopy-0.3.0/qepy/projwfc.py +59 -0
  27. yambopy-0.3.0/qepy/projwfcxml.py +504 -0
  28. yambopy-0.3.0/qepy/pseudo.py +15 -0
  29. yambopy-0.3.0/qepy/pw.py +767 -0
  30. yambopy-0.3.0/qepy/pwxml.py +640 -0
  31. yambopy-0.3.0/qepy/supercell.py +431 -0
  32. yambopy-0.3.0/qepy/tests/__init__.py +0 -0
  33. yambopy-0.3.0/qepy/tests/test_pw.py +23 -0
  34. yambopy-0.3.0/qepy/tools.py +4 -0
  35. yambopy-0.3.0/qepy/unfolding.py +297 -0
  36. yambopy-0.3.0/qepy/unfoldingyambo.py +359 -0
  37. yambopy-0.3.0/qepy/units.py +52 -0
  38. yambopy-0.3.0/qepy/upf_interface/__init__.py +0 -0
  39. yambopy-0.3.0/qepy/upf_interface/ppupf.py +143 -0
  40. yambopy-0.3.0/qepy/xml.py +59 -0
  41. yambopy-0.3.0/schedulerpy/__init__.py +21 -0
  42. yambopy-0.3.0/schedulerpy/bash.py +56 -0
  43. yambopy-0.3.0/schedulerpy/oar.py +97 -0
  44. yambopy-0.3.0/schedulerpy/pbs.py +160 -0
  45. yambopy-0.3.0/schedulerpy/scheduler.py +299 -0
  46. yambopy-0.3.0/schedulerpy/slurm.py +100 -0
  47. yambopy-0.3.0/schedulerpy/tests/test_scheduler.py +207 -0
  48. yambopy-0.3.0/setup.cfg +4 -0
  49. yambopy-0.3.0/tests/.gitignore +18 -0
  50. yambopy-0.3.0/tests/install.sh +17 -0
  51. yambopy-0.3.0/tests/requirements.txt +9 -0
  52. yambopy-0.3.0/tests/test_parser.py +79 -0
  53. yambopy-0.3.0/tests/test_si.py +356 -0
  54. yambopy-0.3.0/tests/test_tutorial.py +155 -0
  55. yambopy-0.3.0/tests/test_yambopy.py +52 -0
  56. yambopy-0.3.0/tests/tests.md +44 -0
  57. yambopy-0.3.0/tutorial/calculation_tutorial.md +50 -0
  58. yambopy-0.3.0/tutorial/databases_qepy/bn-semiconductor/plot-qe-bands.py +22 -0
  59. yambopy-0.3.0/tutorial/databases_qepy/bn-semiconductor/plot-qe-orbitals.py +45 -0
  60. yambopy-0.3.0/tutorial/databases_qepy/gw-bands/plot-qp.py +70 -0
  61. yambopy-0.3.0/tutorial/databases_qepy/iron-metal/Fe.rel-pbe-n-nc.UPF +4316 -0
  62. yambopy-0.3.0/tutorial/databases_qepy/iron-metal/flow-iron.py +57 -0
  63. yambopy-0.3.0/tutorial/databases_qepy/iron-metal/plot-qe-bands.py +21 -0
  64. yambopy-0.3.0/tutorial/databases_qepy/iron-metal/plot-qe-orbitals-colormap.py +50 -0
  65. yambopy-0.3.0/tutorial/databases_qepy/iron-metal/plot-qe-orbitals-size.py +39 -0
  66. yambopy-0.3.0/tutorial/databases_qepy_tutorial.md +64 -0
  67. yambopy-0.3.0/tutorial/databases_yambopy/bz_plot.py +99 -0
  68. yambopy-0.3.0/tutorial/databases_yambopy/dipoles_plot.py +64 -0
  69. yambopy-0.3.0/tutorial/databases_yambopy/elph_plot.py +63 -0
  70. yambopy-0.3.0/tutorial/databases_yambopy/exc_abs_plot.py +57 -0
  71. yambopy-0.3.0/tutorial/databases_yambopy/exc_kspace_plot.py +89 -0
  72. yambopy-0.3.0/tutorial/databases_yambopy/exc_read.py +48 -0
  73. yambopy-0.3.0/tutorial/databases_yambopy_tutorial.md +19 -0
  74. yambopy-0.3.0/tutorial/double-grid/clean.sh +1 -0
  75. yambopy-0.3.0/tutorial/double-grid/dg_test.py +42 -0
  76. yambopy-0.3.0/tutorial/double-grid/input_data/pseudos/B.pbe-mt_fhi.UPF +1816 -0
  77. yambopy-0.3.0/tutorial/double-grid/input_data/pseudos/N.pbe-mt_fhi.UPF +1742 -0
  78. yambopy-0.3.0/tutorial/double-grid_tutorial.md +73 -0
  79. yambopy-0.3.0/tutorial/nonlinear/linear_reponse_analysis_nl.py +28 -0
  80. yambopy-0.3.0/tutorial/nonlinear/nl_harmonic_analysis.py +13 -0
  81. yambopy-0.3.0/tutorial/real-time/TD_inputs/td_ip.in +50 -0
  82. yambopy-0.3.0/tutorial/real-time/TD_inputs/td_ip_RWA.in +50 -0
  83. yambopy-0.3.0/tutorial/real-time/TD_inputs/td_ip_qssin.in +51 -0
  84. yambopy-0.3.0/tutorial/real-time/clean.sh +1 -0
  85. yambopy-0.3.0/tutorial/real-time/gs_bn.py +280 -0
  86. yambopy-0.3.0/tutorial/real-time/optimize_time_step.py +23 -0
  87. yambopy-0.3.0/tutorial/real-time/prepare_rt.py +17 -0
  88. yambopy-0.3.0/tutorial/real-time/pseudos/B.pbe-mt_fhi.UPF +1816 -0
  89. yambopy-0.3.0/tutorial/real-time/pseudos/N.pbe-mt_fhi.UPF +1742 -0
  90. yambopy-0.3.0/tutorial/real-time_tutorial.md +37 -0
  91. yambopy-0.3.0/tutorial/run_calculations/.gitignore +27 -0
  92. yambopy-0.3.0/tutorial/run_calculations/bse_bn.py +146 -0
  93. yambopy-0.3.0/tutorial/run_calculations/bse_conv_bn.py +177 -0
  94. yambopy-0.3.0/tutorial/run_calculations/bse_cutoff_bn.py +216 -0
  95. yambopy-0.3.0/tutorial/run_calculations/clean.sh +1 -0
  96. yambopy-0.3.0/tutorial/run_calculations/gs_bn.py +280 -0
  97. yambopy-0.3.0/tutorial/run_calculations/gw_bn.py +55 -0
  98. yambopy-0.3.0/tutorial/run_calculations/gw_bse_bn.py +109 -0
  99. yambopy-0.3.0/tutorial/run_calculations/gw_conv_bn.py +243 -0
  100. yambopy-0.3.0/tutorial/run_calculations/ip_bn.py +109 -0
  101. yambopy-0.3.0/tutorial/run_calculations/plot-bse-conv.py +26 -0
  102. yambopy-0.3.0/tutorial/run_calculations/plot-bse.py +10 -0
  103. yambopy-0.3.0/tutorial/run_calculations/plot-excitondb.py +68 -0
  104. yambopy-0.3.0/tutorial/run_calculations/plot-gw-conv.py +21 -0
  105. yambopy-0.3.0/tutorial/run_calculations/plot-qp.py +76 -0
  106. yambopy-0.3.0/tutorial/run_calculations/pseudos/B.pbe-mt_fhi.UPF +1816 -0
  107. yambopy-0.3.0/tutorial/run_calculations/pseudos/N.pbe-mt_fhi.UPF +1742 -0
  108. yambopy-0.3.0/tutorial/run_calculations/run-scheduler.py +51 -0
  109. yambopy-0.3.0/tutorial/supercell/Q.modes +65 -0
  110. yambopy-0.3.0/tutorial/supercell/clean.sh +1 -0
  111. yambopy-0.3.0/tutorial/supercell/generate_supercells.py +128 -0
  112. yambopy-0.3.0/tutorial/supercell/uc.scf +33 -0
  113. yambopy-0.3.0/tutorial/supercell_tutorial.md +6 -0
  114. yambopy-0.3.0/yambocommandline/__init__.py +19 -0
  115. yambopy-0.3.0/yambocommandline/commands/__init__.py +0 -0
  116. yambopy-0.3.0/yambocommandline/commands/band_plots.py +166 -0
  117. yambopy-0.3.0/yambocommandline/commands/convert_RL_to_Ry.py +67 -0
  118. yambopy-0.3.0/yambocommandline/commands/generate_bands.py +276 -0
  119. yambopy-0.3.0/yambocommandline/commands/generate_save.py +60 -0
  120. yambopy-0.3.0/yambocommandline/commands/get_phq_input.py +57 -0
  121. yambopy-0.3.0/yambocommandline/commands/gkkp.py +127 -0
  122. yambopy-0.3.0/yambocommandline/commands/gw_subspace.py +107 -0
  123. yambopy-0.3.0/yambocommandline/commands/recipes.py +859 -0
  124. yambopy-0.3.0/yambocommandline/commands/update_serial.py +93 -0
  125. yambopy-0.3.0/yambocommandline/scripts/README +93 -0
  126. yambopy-0.3.0/yambocommandline/scripts/analyse_bse.py +167 -0
  127. yambopy-0.3.0/yambocommandline/scripts/analyse_gw.py +127 -0
  128. yambopy-0.3.0/yambocommandline/scripts/plot_excitons.py +134 -0
  129. yambopy-0.3.0/yambocommandline/scripts/realtime/break-symm.py +61 -0
  130. yambopy-0.3.0/yambocommandline/scripts/realtime/drafts/rt-excitons.py +52 -0
  131. yambopy-0.3.0/yambocommandline/scripts/realtime/drafts/rt-ypp.py +64 -0
  132. yambopy-0.3.0/yambocommandline/scripts/realtime/plot_occ.py +268 -0
  133. yambopy-0.3.0/yambocommandline/scripts/realtime/plot_occ2.py +251 -0
  134. yambopy-0.3.0/yambocommandline/scripts/realtime/rt-bse.py +110 -0
  135. yambopy-0.3.0/yambocommandline/scripts/realtime/rt-cohsex.py +91 -0
  136. yambopy-0.3.0/yambocommandline/scripts/realtime/rt-ip.py +81 -0
  137. yambopy-0.3.0/yambocommandline/scripts/realtime/rt-merge.py +63 -0
  138. yambopy-0.3.0/yambocommandline/scripts/realtime/rt-pulse.py +197 -0
  139. yambopy-0.3.0/yambocommandline/scripts/realtime/rt-ta.py +120 -0
  140. yambopy-0.3.0/yambocommandline/scripts/yambopy.py +631 -0
  141. yambopy-0.3.0/yamboparser/COPYING +24 -0
  142. yambopy-0.3.0/yamboparser/__init__.py +10 -0
  143. yambopy-0.3.0/yamboparser/tests/__init__.py +0 -0
  144. yambopy-0.3.0/yamboparser/tests/test_parser.py +79 -0
  145. yambopy-0.3.0/yamboparser/yambofile.py +302 -0
  146. yambopy-0.3.0/yamboparser/yambofolder.py +48 -0
  147. yambopy-0.3.0/yambopy/.gitignore +2 -0
  148. yambopy-0.3.0/yambopy/__init__.py +123 -0
  149. yambopy-0.3.0/yambopy/analyse.py +368 -0
  150. yambopy-0.3.0/yambopy/bse/__init__.py +10 -0
  151. yambopy-0.3.0/yambopy/bse/bse_absorption.py +253 -0
  152. yambopy-0.3.0/yambopy/bse/bse_dispersion.py +214 -0
  153. yambopy-0.3.0/yambopy/bse/excitonweight.py +288 -0
  154. yambopy-0.3.0/yambopy/bse/excitonwf.py +184 -0
  155. yambopy-0.3.0/yambopy/bse/tests/__init__.py +0 -0
  156. yambopy-0.3.0/yambopy/bse/tests/test_bse_absorption.py +28 -0
  157. yambopy-0.3.0/yambopy/common/__init__.py +8 -0
  158. yambopy-0.3.0/yambopy/common/calculation_manager.py +102 -0
  159. yambopy-0.3.0/yambopy/common/save_generation.py +300 -0
  160. yambopy-0.3.0/yambopy/common/transform_matrix_element.py +101 -0
  161. yambopy-0.3.0/yambopy/common/workflow.py +85 -0
  162. yambopy-0.3.0/yambopy/data/__init__.py +0 -0
  163. yambopy-0.3.0/yambopy/data/refs/bse/SAVE/ns.db1 +0 -0
  164. yambopy-0.3.0/yambopy/data/refs/bse/o-yambo.eel_q1_diago_bse +607 -0
  165. yambopy-0.3.0/yambopy/data/refs/bse/o-yambo.eps_q1_diago_bse +607 -0
  166. yambopy-0.3.0/yambopy/data/refs/bse/yambo/ndb.BS_diago_Q01 +0 -0
  167. yambopy-0.3.0/yambopy/data/refs/bse/yambo_run.in +150 -0
  168. yambopy-0.3.0/yambopy/data/refs/gw/LOG/l-yambo_em1d_ppa_HF_and_locXC_gw0_CPU_1 +126 -0
  169. yambopy-0.3.0/yambopy/data/refs/gw/LOG/l-yambo_em1d_ppa_HF_and_locXC_gw0_CPU_2 +116 -0
  170. yambopy-0.3.0/yambopy/data/refs/gw/SAVE/ns.db1 +0 -0
  171. yambopy-0.3.0/yambopy/data/refs/gw/ndb.HF_and_locXC +0 -0
  172. yambopy-0.3.0/yambopy/data/refs/gw/ndb.QP +0 -0
  173. yambopy-0.3.0/yambopy/data/refs/gw/o-yambo.qp +193 -0
  174. yambopy-0.3.0/yambopy/data/refs/gw/r-yambo_em1d_ppa_HF_and_locXC_gw0 +703 -0
  175. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20/l-BndsRnXp_1_20_em1d_ppa_HF_and_locXC_gw0 +71 -0
  176. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20/ndb.HF_and_locXC +0 -0
  177. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20/ndb.QP +0 -0
  178. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20/o-BndsRnXp_1_20.qp +190 -0
  179. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20/r-BndsRnXp_1_20_em1d_ppa_HF_and_locXC_gw0 +697 -0
  180. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_20.in +73 -0
  181. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30/l-BndsRnXp_1_30_em1d_ppa_HF_and_locXC_gw0 +71 -0
  182. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30/ndb.HF_and_locXC +0 -0
  183. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30/ndb.QP +0 -0
  184. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30/o-BndsRnXp_1_30.qp +190 -0
  185. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30/r-BndsRnXp_1_30_em1d_ppa_HF_and_locXC_gw0 +697 -0
  186. yambopy-0.3.0/yambopy/data/refs/gw_conv/BndsRnXp_1_30.in +73 -0
  187. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010/l-FFTGvecs_00010_em1d_ppa_HF_and_locXC_gw0 +71 -0
  188. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010/ndb.HF_and_locXC +0 -0
  189. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010/ndb.QP +0 -0
  190. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010/o-FFTGvecs_00010.qp +190 -0
  191. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010/r-FFTGvecs_00010_em1d_ppa_HF_and_locXC_gw0 +697 -0
  192. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010.in +73 -0
  193. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00010.json +163 -0
  194. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015/l-FFTGvecs_00015_em1d_ppa_HF_and_locXC_gw0 +71 -0
  195. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015/ndb.HF_and_locXC +0 -0
  196. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015/ndb.QP +0 -0
  197. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015/o-FFTGvecs_00015.qp +190 -0
  198. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015/r-FFTGvecs_00015_em1d_ppa_HF_and_locXC_gw0 +697 -0
  199. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015.in +73 -0
  200. yambopy-0.3.0/yambopy/data/refs/gw_conv/FFTGvecs_00015.json +163 -0
  201. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002/l-NGsBlkXp_00002_em1d_ppa_HF_and_locXC_gw0 +71 -0
  202. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002/ndb.HF_and_locXC +0 -0
  203. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002/ndb.QP +0 -0
  204. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002/o-NGsBlkXp_00002.qp +190 -0
  205. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002/r-NGsBlkXp_00002_em1d_ppa_HF_and_locXC_gw0 +699 -0
  206. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00002.in +73 -0
  207. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005/l-NGsBlkXp_00005_em1d_ppa_HF_and_locXC_gw0 +72 -0
  208. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005/ndb.HF_and_locXC +0 -0
  209. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005/ndb.QP +0 -0
  210. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005/o-NGsBlkXp_00005.qp +190 -0
  211. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005/r-NGsBlkXp_00005_em1d_ppa_HF_and_locXC_gw0 +699 -0
  212. yambopy-0.3.0/yambopy/data/refs/gw_conv/NGsBlkXp_00005.in +73 -0
  213. yambopy-0.3.0/yambopy/data/refs/gw_conv/SAVE/ns.db1 +0 -0
  214. yambopy-0.3.0/yambopy/data/refs/gw_conv/reference/l-reference_em1d_ppa_HF_and_locXC_gw0 +71 -0
  215. yambopy-0.3.0/yambopy/data/refs/gw_conv/reference/ndb.HF_and_locXC +0 -0
  216. yambopy-0.3.0/yambopy/data/refs/gw_conv/reference/ndb.QP +0 -0
  217. yambopy-0.3.0/yambopy/data/refs/gw_conv/reference/o-reference.qp +190 -0
  218. yambopy-0.3.0/yambopy/data/refs/gw_conv/reference/r-reference_em1d_ppa_HF_and_locXC_gw0 +697 -0
  219. yambopy-0.3.0/yambopy/data/refs/gw_conv/reference.in +73 -0
  220. yambopy-0.3.0/yambopy/data/refs/gw_conv/reference.json +163 -0
  221. yambopy-0.3.0/yambopy/data/refs/gw_conv/yambo.in +95 -0
  222. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P +0 -0
  223. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_1 +0 -0
  224. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_10 +0 -0
  225. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_11 +0 -0
  226. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_12 +0 -0
  227. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_13 +0 -0
  228. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_14 +0 -0
  229. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_15 +0 -0
  230. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_16 +0 -0
  231. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_17 +0 -0
  232. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_18 +0 -0
  233. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_19 +0 -0
  234. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_2 +0 -0
  235. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_3 +0 -0
  236. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_4 +0 -0
  237. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_5 +0 -0
  238. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_6 +0 -0
  239. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_7 +0 -0
  240. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_8 +0 -0
  241. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ndb.dip_iR_and_P_fragment_9 +0 -0
  242. yambopy-0.3.0/yambopy/data/refs/ip/SAVE/ns.db1 +0 -0
  243. yambopy-0.3.0/yambopy/data/refs/parser/t1_errors_warnings/l-GW_run.8.480_em1d_ppa_HF_and_locXC_gw0_rim_cut_CPU_1 +2655 -0
  244. yambopy-0.3.0/yambopy/data/refs/parser/t1_errors_warnings/o-GW_run.10.720.qp +113 -0
  245. yambopy-0.3.0/yambopy/data/refs/parser/t1_errors_warnings/r-GW_run.8.480_em1d_ppa_HF_and_locXC_gw0_rim_cut +3856 -0
  246. yambopy-0.3.0/yambopy/data/refs/parser/t2_parse_qps/l-yambo_em1d_HF_and_locXC_gw0 +79 -0
  247. yambopy-0.3.0/yambopy/data/refs/parser/t2_parse_qps/l-yambo_em1d_life +27 -0
  248. yambopy-0.3.0/yambopy/data/refs/parser/t2_parse_qps/o-yambo.qp +88 -0
  249. yambopy-0.3.0/yambopy/data/refs/parser/t2_parse_qps/r-yambo_em1d_HF_and_locXC_gw0 +520 -0
  250. yambopy-0.3.0/yambopy/data/refs/parser/t2_parse_qps/r-yambo_em1d_life +227 -0
  251. yambopy-0.3.0/yambopy/data/refs/parser/t3_parse_netcdf/ndb.HF_and_locXC +0 -0
  252. yambopy-0.3.0/yambopy/data/refs/parser/t3_parse_netcdf/ndb.QP +0 -0
  253. yambopy-0.3.0/yambopy/data/refs/parser/t4_parse_success/r-GW_run.16.2000_em1d_ppa_HF_and_locXC_gw0_rim_cut +3866 -0
  254. yambopy-0.3.0/yambopy/data/refs/parser/t4_parse_success/r-GW_run.8.480_em1d_ppa_HF_and_locXC_gw0_rim_cut +3856 -0
  255. yambopy-0.3.0/yambopy/data/refs/si/analyse_bse_conv/BndsRnXs_exciton_energies.dat +4 -0
  256. yambopy-0.3.0/yambopy/data/refs/si/analyse_bse_conv/FFTGvecs_exciton_energies.dat +4 -0
  257. yambopy-0.3.0/yambopy/data/refs/si/analyse_gw_conv/gw_conv_BndsRnXp.dat +4 -0
  258. yambopy-0.3.0/yambopy/data/refs/si/analyse_gw_conv/gw_conv_FFTGvecs.dat +4 -0
  259. yambopy-0.3.0/yambopy/data/refs/si/nscf_si.nscf +27 -0
  260. yambopy-0.3.0/yambopy/data/refs/si/relax_si.scf +30 -0
  261. yambopy-0.3.0/yambopy/data/refs/si/scf_si.scf +24 -0
  262. yambopy-0.3.0/yambopy/data/refs/si/yambo_bse.in +112 -0
  263. yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/BndsRnXs_1_20.in +85 -0
  264. yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/BndsRnXs_1_30.in +85 -0
  265. yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/FFTGvecs_00015.in +85 -0
  266. yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/FFTGvecs_00020.in +85 -0
  267. yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/NGsBlkXs_00002.in +85 -0
  268. yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/NGsBlkXs_00005.in +85 -0
  269. yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/NGsBlkXs_00010.in +85 -0
  270. yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/NGsBlkXs_00020.in +85 -0
  271. yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/bse_conv.tar.gz +0 -0
  272. yambopy-0.3.0/yambopy/data/refs/si/yambo_bse_conv/reference.in +85 -0
  273. yambopy-0.3.0/yambopy/data/refs/si/yambo_gw.in +95 -0
  274. yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/BndsRnXp_1_20.in +74 -0
  275. yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/BndsRnXp_1_30.in +74 -0
  276. yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/FFTGvecs_00015.in +74 -0
  277. yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/FFTGvecs_00020.in +74 -0
  278. yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/NGsBlkXp_00002.in +74 -0
  279. yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/NGsBlkXp_00005.in +74 -0
  280. yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/NGsBlkXp_00010.in +74 -0
  281. yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/NGsBlkXp_00020.in +74 -0
  282. yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/gw_conv.tar.gz +0 -0
  283. yambopy-0.3.0/yambopy/data/refs/si/yambo_gw_conv/reference.in +74 -0
  284. yambopy-0.3.0/yambopy/data/structures.py +45 -0
  285. yambopy-0.3.0/yambopy/dbs/__init__.py +10 -0
  286. yambopy-0.3.0/yambopy/dbs/bsekerneldb.py +121 -0
  287. yambopy-0.3.0/yambopy/dbs/dipolesdb.py +470 -0
  288. yambopy-0.3.0/yambopy/dbs/electronsdb.py +336 -0
  289. yambopy-0.3.0/yambopy/dbs/elphondb.py +308 -0
  290. yambopy-0.3.0/yambopy/dbs/em1sdb.py +375 -0
  291. yambopy-0.3.0/yambopy/dbs/excitondb.py +1748 -0
  292. yambopy-0.3.0/yambopy/dbs/excphondb.py +203 -0
  293. yambopy-0.3.0/yambopy/dbs/greendb.py +228 -0
  294. yambopy-0.3.0/yambopy/dbs/hfdb.py +37 -0
  295. yambopy-0.3.0/yambopy/dbs/kqgridsdb.py +74 -0
  296. yambopy-0.3.0/yambopy/dbs/latticedb.py +341 -0
  297. yambopy-0.3.0/yambopy/dbs/nldb.py +173 -0
  298. yambopy-0.3.0/yambopy/dbs/qpdb.py +441 -0
  299. yambopy-0.3.0/yambopy/dbs/rtdb.py +63 -0
  300. yambopy-0.3.0/yambopy/dbs/savedb.py +484 -0
  301. yambopy-0.3.0/yambopy/dbs/tests/__init__.py +0 -0
  302. yambopy-0.3.0/yambopy/dbs/tests/test_dipolesdb.py +36 -0
  303. yambopy-0.3.0/yambopy/dbs/tests/test_excitondb.py +59 -0
  304. yambopy-0.3.0/yambopy/dbs/tests/test_latticedb.py +43 -0
  305. yambopy-0.3.0/yambopy/dbs/tests/test_qpdb.py +27 -0
  306. yambopy-0.3.0/yambopy/dbs/tests/test_savedb.py +29 -0
  307. yambopy-0.3.0/yambopy/dbs/wfdb.py +111 -0
  308. yambopy-0.3.0/yambopy/double_grid/__init__.py +6 -0
  309. yambopy-0.3.0/yambopy/double_grid/dg_convergence.py +585 -0
  310. yambopy-0.3.0/yambopy/em1s/em1s_rotate.py +472 -0
  311. yambopy-0.3.0/yambopy/flow/__init__.py +1 -0
  312. yambopy-0.3.0/yambopy/flow/task.py +961 -0
  313. yambopy-0.3.0/yambopy/flow/tests/__init__.py +0 -0
  314. yambopy-0.3.0/yambopy/flow/tests/test_task.py +165 -0
  315. yambopy-0.3.0/yambopy/gkkp/compute_gkkp.py +361 -0
  316. yambopy-0.3.0/yambopy/gkkp/refine_gkkp.py +524 -0
  317. yambopy-0.3.0/yambopy/integration_tests/clean.sh +1 -0
  318. yambopy-0.3.0/yambopy/integration_tests/itest_si_bse.py +256 -0
  319. yambopy-0.3.0/yambopy/integration_tests/itest_si_gw.py +257 -0
  320. yambopy-0.3.0/yambopy/integration_tests/itest_tutorial.py +157 -0
  321. yambopy-0.3.0/yambopy/integration_tests/itest_yambopy.py +55 -0
  322. yambopy-0.3.0/yambopy/integration_tests/pseudos/B.pbe-mt_fhi.UPF +1816 -0
  323. yambopy-0.3.0/yambopy/integration_tests/pseudos/Mo.pz-mt_fhi.UPF +2008 -0
  324. yambopy-0.3.0/yambopy/integration_tests/pseudos/N.pbe-mt_fhi.UPF +1742 -0
  325. yambopy-0.3.0/yambopy/integration_tests/pseudos/S.pz-mt_fhi.UPF +1868 -0
  326. yambopy-0.3.0/yambopy/integration_tests/pseudos/Si.pbe-mt_fhi.UPF +1840 -0
  327. yambopy-0.3.0/yambopy/integration_tests/pytest.ini +4 -0
  328. yambopy-0.3.0/yambopy/io/__init__.py +10 -0
  329. yambopy-0.3.0/yambopy/io/factories.py +625 -0
  330. yambopy-0.3.0/yambopy/io/inputfile.py +414 -0
  331. yambopy-0.3.0/yambopy/io/iofile.py +41 -0
  332. yambopy-0.3.0/yambopy/io/jsonfile.py +38 -0
  333. yambopy-0.3.0/yambopy/io/outputfile.py +225 -0
  334. yambopy-0.3.0/yambopy/io/tests/__init__.py +0 -0
  335. yambopy-0.3.0/yambopy/io/tests/test_inputfile.py +43 -0
  336. yambopy-0.3.0/yambopy/io/tests/test_outputfile.py +45 -0
  337. yambopy-0.3.0/yambopy/io/yambofile.py +63 -0
  338. yambopy-0.3.0/yambopy/lattice.py +198 -0
  339. yambopy-0.3.0/yambopy/nl/__init__.py +8 -0
  340. yambopy-0.3.0/yambopy/nl/damp_it.py +16 -0
  341. yambopy-0.3.0/yambopy/nl/external_efield.py +43 -0
  342. yambopy-0.3.0/yambopy/nl/fft_interp.py +23 -0
  343. yambopy-0.3.0/yambopy/nl/harmonic_analysis.py +228 -0
  344. yambopy-0.3.0/yambopy/nl/hhg_tools.py +79 -0
  345. yambopy-0.3.0/yambopy/nl/linear_optics.py +120 -0
  346. yambopy-0.3.0/yambopy/plot/__init__.py +5 -0
  347. yambopy-0.3.0/yambopy/plot/bandstructure.py +466 -0
  348. yambopy-0.3.0/yambopy/plot/plotting.py +128 -0
  349. yambopy-0.3.0/yambopy/plot/spectra.py +8 -0
  350. yambopy-0.3.0/yambopy/quasiparticles/QP_rotate.py +281 -0
  351. yambopy-0.3.0/yambopy/rt/__init__.py +8 -0
  352. yambopy-0.3.0/yambopy/rt/rt_movie.py +239 -0
  353. yambopy-0.3.0/yambopy/rt/rt_timestep_optimize.py +517 -0
  354. yambopy-0.3.0/yambopy/tests/__init__.py +0 -0
  355. yambopy-0.3.0/yambopy/tests/test_yamboanalyse.py +63 -0
  356. yambopy-0.3.0/yambopy/tools/__init__.py +0 -0
  357. yambopy-0.3.0/yambopy/tools/duck.py +16 -0
  358. yambopy-0.3.0/yambopy/tools/funcs.py +23 -0
  359. yambopy-0.3.0/yambopy/tools/jsonencoder.py +38 -0
  360. yambopy-0.3.0/yambopy/tools/skw.py +600 -0
  361. yambopy-0.3.0/yambopy/tools/string.py +7 -0
  362. yambopy-0.3.0/yambopy/units.py +63 -0
  363. yambopy-0.3.0/yambopy.egg-info/PKG-INFO +153 -0
  364. yambopy-0.3.0/yambopy.egg-info/SOURCES.txt +366 -0
  365. yambopy-0.3.0/yambopy.egg-info/dependency_links.txt +1 -0
  366. yambopy-0.3.0/yambopy.egg-info/entry_points.txt +2 -0
  367. yambopy-0.3.0/yambopy.egg-info/requires.txt +7 -0
  368. yambopy-0.3.0/yambopy.egg-info/top_level.txt +5 -0
@@ -0,0 +1,8 @@
1
+ [run]
2
+ omit =
3
+ tests/*
4
+ */tests/*
5
+ include =
6
+ yambopy/*
7
+ schedulerpy/*
8
+ yamboparser/*
@@ -0,0 +1,9 @@
1
+ *.pyc
2
+ __pycache__
3
+ *.swp
4
+ build
5
+ *.coverage
6
+ *.bak
7
+ *.egg-info
8
+ .cache
9
+ tags
@@ -0,0 +1,45 @@
1
+ sudo: required # or false
2
+ language: python
3
+ cache: pip
4
+
5
+ python:
6
+ - 2.7
7
+ - 3.7
8
+
9
+ env:
10
+ - YAMBO_VERSION=4.4 PW_VERSION=6.3
11
+ # - any combination of versions
12
+
13
+ matrix:
14
+ allow_failures:
15
+ - python: 3.5 # Builds using this version can fail without compromising the end result
16
+ fast_finish: true # Don't wait for the test on Py3.5 to finish to ack
17
+ # Add to the matrix of jobs
18
+ # - os: osx
19
+ # language: objective-c
20
+ # env: PYENV_VERSION=2.7.12
21
+ # - os: osx
22
+ # language: objective-c
23
+ # env: PYENV_VERSION=3.5.2
24
+
25
+ before_install:
26
+ - sudo apt-get update -qq
27
+ - sudo apt-get install -qq gfortran libopenmpi-dev openmpi-bin libblas-dev liblapack-dev libfftw3-dev libnetcdf-dev libhdf5-serial-dev
28
+
29
+ before_script:
30
+ - "export MPLBACKEND=Agg"
31
+
32
+ install:
33
+ - "pip install -r ./tests/requirements.txt"
34
+ - "./tests/install.sh"
35
+ - "python setup.py install"
36
+ script:
37
+ - "py.test -s --cov-config=.coveragerc --cov"
38
+
39
+ # safelist
40
+ branches:
41
+ only:
42
+ - master
43
+ - travis
44
+ - devel-alejandro
45
+ - master-whypy
yambopy-0.3.0/LICENCE ADDED
@@ -0,0 +1,3 @@
1
+ All the material included in this distribution is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
2
+
3
+ These programs are distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details (http://www.gnu.org/licenses/).
yambopy-0.3.0/PKG-INFO ADDED
@@ -0,0 +1,153 @@
1
+ Metadata-Version: 2.1
2
+ Name: yambopy
3
+ Version: 0.3.0
4
+ Summary: Yambopy: a pre/post-processing tool for Yambo
5
+ Author: Henrique Miranda
6
+ Author-email: Fulvio Paleari <fulvio.paleari@nano.cnr.it>, Alejandro Molina-Sanchez <alejandro.molina@uv.es>
7
+ Project-URL: Homepage, https://github.com/yambo-code/yambopy
8
+ Project-URL: Documentation, https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy
9
+ Classifier: Programming Language :: Python :: 3
10
+ Classifier: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Requires-Python: >=3.6
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENCE
16
+ Requires-Dist: numpy
17
+ Requires-Dist: scipy
18
+ Requires-Dist: netCDF4
19
+ Requires-Dist: matplotlib
20
+ Requires-Dist: pyyaml
21
+ Requires-Dist: lxml
22
+ Requires-Dist: monty
23
+
24
+
25
+ ![yambopy_text](docs/logos/yambopy_text.png)
26
+
27
+ yambopy
28
+ =======
29
+
30
+ Create automatic workflows for yambo and quantum espresso using python. Work directly with netCDF databases.
31
+ Do pre/post-processing, data analysis and plotting for yambo and quantum espresso.
32
+
33
+ - Yambo official website: http://www.yambo-code.eu/
34
+ - Yambo wiki: http://www.yambo-code.org/wiki
35
+ - Yambo Github page [download yambo & yambopy]: https://github.com/yambo-code/yambo
36
+
37
+
38
+ Documentation
39
+ -------------
40
+
41
+ The main usage of yambopy is by importing its modules in the user's own scripts, such as:
42
+ ```
43
+ from yambopy import *
44
+ from qepy import *
45
+ ```
46
+ There is also a command line interface feature. Just type
47
+ ```
48
+ yambopy
49
+ ```
50
+ on terminal to see the options. Typing `yambopy [option]` will show the related help message.
51
+
52
+ You can find explained tutorials and a partial
53
+ documentation on the Yambo wiki page: https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy
54
+
55
+ The tutorials contain examples scripts illustrating how to use some of the features: they are intended to be copied, modified and adapted to other use cases and to your ideas and needs.
56
+
57
+ Additional information about capabilities and usage are available inside the tutorial folder and by reading the docstrings of the various classes. Keep in mind that a basic knowledge of python (`numpy` and `matplotlib` packages) will greatly help while using yambopy.
58
+
59
+ Features
60
+ --------
61
+ - Create Yambo and Quantum Espresso input files from python
62
+ - Collect and manipulate the human-readable output data for analysis
63
+ - Automatic submissions of calculations (e.g., custom workflows for convergence or multi-executable runs)
64
+ - Access Yambo netCDF databases and Quantum Espresso xml files
65
+ - Analyse, interpolate and plot the results in various ways using matplotlib
66
+ - Visualize advanced quantities such as:
67
+ - dielectric function, exciton weights in k and q-space, electron-phonon matrix elements...
68
+ - [Aiida](https://github.com/aiidateam) plugin for Yambo-Aiida workflows
69
+ - Tutorials
70
+
71
+ Installation
72
+ ------------
73
+
74
+ Make sure that you have a suitable python environment (crated for example with [conda](https://docs.conda.io/projects/miniconda/en/latest/) or [venv](https://docs.python.org/3/library/venv.html)).
75
+
76
+ #### Regular installation of released version
77
+ Type `pip install yambopy`
78
+
79
+ #### Local installation from this repository (for latest patches)
80
+ Clone this repository in your local machine or cluster, enter the directory and type `pip install .`
81
+
82
+ #### More information
83
+ Follow the installation steps on the [Yambo wiki](https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy).
84
+
85
+ Requirements
86
+ ------------
87
+ - yambo (>5.0.0): http://www.yambo-code.org/
88
+ - numpy: http://www.numpy.org/
89
+ - scipy: https://www.scipy.org/
90
+ - matplotlib: http://matplotlib.org/
91
+ - netCDF4: http://unidata.github.io/netcdf4-python/
92
+ - lxml: https://lxml.de/
93
+ - pyyaml: https://pyyaml.org/
94
+ - monty: https://pypi.org/project/monty/
95
+ - Quantum Espresso (optional): http://www.quantum-espresso.org/
96
+
97
+ Troubleshooting, bugs and questions
98
+ -----------------------------------
99
+ Please write a post in the yambopy subsection of the [yambo forum](https://www.yambo-code.eu/forum/viewforum.php?f=35&sid=77b7f6076dea7cdf40432efbc035feb6)
100
+
101
+ Current development goals
102
+ -------------------------
103
+ - General review and update of all features
104
+ - Brillouin zone paths patch
105
+ - Full support for finite-momentum BSE postprocessing
106
+ - Full documentation & tutorials
107
+ - Increase efficiency of I/O for large database sizes and numbers
108
+ - Test suite
109
+ - Make it easier to add new features
110
+
111
+ Authors
112
+ ------
113
+ Original author:
114
+ - [Henrique Pereira Coutada Miranda](http://henriquemiranda.github.io/).
115
+
116
+ Current developers and maintainers:
117
+ - [Fulvio Paleari](http://palful.github.io) (CNR - Nanoscience institute, Modena)
118
+ - [Alejandro Molina Sanchez](http://alexmoratalla.github.io/) (University of Valencia)
119
+ - José Castelo (University of Valencia)
120
+
121
+ Active contributors:
122
+ - Claudio Attaccalite
123
+ - Miki Bonacci
124
+ - Jorge Cervantes-Villanueva
125
+ - Riccardo Reho
126
+ - Michele Re Fiorentin
127
+ - You if you want to share your scripts!
128
+
129
+ Past contributors:
130
+ - Matteo Zanfrognini
131
+ - Alexandre Morlet
132
+ - Davide Romanin
133
+ - Daniel Murphy
134
+
135
+ The code is at an ongoing stage of development, help us by sending bug reports, patches and suggestions!
136
+
137
+ How to contribute
138
+ -----------------
139
+ If you want to contribute, we suggest the following steps:
140
+ 1. Fork this repository
141
+ 2. Implement and test your new feature(s) in the forked repo
142
+ 3. Create a pull request in order to include your development in the official code
143
+
144
+ Acknoledgements
145
+ ----------------
146
+ - The [Abipy](https://abinit.github.io/abipy/) library developed for the Abinit code was the original inspiration for Yambopy. In particular, abipy's `SkwInterpolator` module for band structure interpolations has been directly imported into yambopy.
147
+ - Yambopy logos by Claudia Cardoso
148
+ - University of Luxembourg
149
+ - University of Valencia
150
+ - Nanoscience Institute of the Italian National Research Council
151
+ - [MaX](https://www.max-centre.eu/): Materials at the eXascale EU center of excellence
152
+
153
+ ![yambopy_logo](docs/logos/yambopy_square.png)
@@ -0,0 +1,130 @@
1
+
2
+ ![yambopy_text](docs/logos/yambopy_text.png)
3
+
4
+ yambopy
5
+ =======
6
+
7
+ Create automatic workflows for yambo and quantum espresso using python. Work directly with netCDF databases.
8
+ Do pre/post-processing, data analysis and plotting for yambo and quantum espresso.
9
+
10
+ - Yambo official website: http://www.yambo-code.eu/
11
+ - Yambo wiki: http://www.yambo-code.org/wiki
12
+ - Yambo Github page [download yambo & yambopy]: https://github.com/yambo-code/yambo
13
+
14
+
15
+ Documentation
16
+ -------------
17
+
18
+ The main usage of yambopy is by importing its modules in the user's own scripts, such as:
19
+ ```
20
+ from yambopy import *
21
+ from qepy import *
22
+ ```
23
+ There is also a command line interface feature. Just type
24
+ ```
25
+ yambopy
26
+ ```
27
+ on terminal to see the options. Typing `yambopy [option]` will show the related help message.
28
+
29
+ You can find explained tutorials and a partial
30
+ documentation on the Yambo wiki page: https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy
31
+
32
+ The tutorials contain examples scripts illustrating how to use some of the features: they are intended to be copied, modified and adapted to other use cases and to your ideas and needs.
33
+
34
+ Additional information about capabilities and usage are available inside the tutorial folder and by reading the docstrings of the various classes. Keep in mind that a basic knowledge of python (`numpy` and `matplotlib` packages) will greatly help while using yambopy.
35
+
36
+ Features
37
+ --------
38
+ - Create Yambo and Quantum Espresso input files from python
39
+ - Collect and manipulate the human-readable output data for analysis
40
+ - Automatic submissions of calculations (e.g., custom workflows for convergence or multi-executable runs)
41
+ - Access Yambo netCDF databases and Quantum Espresso xml files
42
+ - Analyse, interpolate and plot the results in various ways using matplotlib
43
+ - Visualize advanced quantities such as:
44
+ - dielectric function, exciton weights in k and q-space, electron-phonon matrix elements...
45
+ - [Aiida](https://github.com/aiidateam) plugin for Yambo-Aiida workflows
46
+ - Tutorials
47
+
48
+ Installation
49
+ ------------
50
+
51
+ Make sure that you have a suitable python environment (crated for example with [conda](https://docs.conda.io/projects/miniconda/en/latest/) or [venv](https://docs.python.org/3/library/venv.html)).
52
+
53
+ #### Regular installation of released version
54
+ Type `pip install yambopy`
55
+
56
+ #### Local installation from this repository (for latest patches)
57
+ Clone this repository in your local machine or cluster, enter the directory and type `pip install .`
58
+
59
+ #### More information
60
+ Follow the installation steps on the [Yambo wiki](https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy).
61
+
62
+ Requirements
63
+ ------------
64
+ - yambo (>5.0.0): http://www.yambo-code.org/
65
+ - numpy: http://www.numpy.org/
66
+ - scipy: https://www.scipy.org/
67
+ - matplotlib: http://matplotlib.org/
68
+ - netCDF4: http://unidata.github.io/netcdf4-python/
69
+ - lxml: https://lxml.de/
70
+ - pyyaml: https://pyyaml.org/
71
+ - monty: https://pypi.org/project/monty/
72
+ - Quantum Espresso (optional): http://www.quantum-espresso.org/
73
+
74
+ Troubleshooting, bugs and questions
75
+ -----------------------------------
76
+ Please write a post in the yambopy subsection of the [yambo forum](https://www.yambo-code.eu/forum/viewforum.php?f=35&sid=77b7f6076dea7cdf40432efbc035feb6)
77
+
78
+ Current development goals
79
+ -------------------------
80
+ - General review and update of all features
81
+ - Brillouin zone paths patch
82
+ - Full support for finite-momentum BSE postprocessing
83
+ - Full documentation & tutorials
84
+ - Increase efficiency of I/O for large database sizes and numbers
85
+ - Test suite
86
+ - Make it easier to add new features
87
+
88
+ Authors
89
+ ------
90
+ Original author:
91
+ - [Henrique Pereira Coutada Miranda](http://henriquemiranda.github.io/).
92
+
93
+ Current developers and maintainers:
94
+ - [Fulvio Paleari](http://palful.github.io) (CNR - Nanoscience institute, Modena)
95
+ - [Alejandro Molina Sanchez](http://alexmoratalla.github.io/) (University of Valencia)
96
+ - José Castelo (University of Valencia)
97
+
98
+ Active contributors:
99
+ - Claudio Attaccalite
100
+ - Miki Bonacci
101
+ - Jorge Cervantes-Villanueva
102
+ - Riccardo Reho
103
+ - Michele Re Fiorentin
104
+ - You if you want to share your scripts!
105
+
106
+ Past contributors:
107
+ - Matteo Zanfrognini
108
+ - Alexandre Morlet
109
+ - Davide Romanin
110
+ - Daniel Murphy
111
+
112
+ The code is at an ongoing stage of development, help us by sending bug reports, patches and suggestions!
113
+
114
+ How to contribute
115
+ -----------------
116
+ If you want to contribute, we suggest the following steps:
117
+ 1. Fork this repository
118
+ 2. Implement and test your new feature(s) in the forked repo
119
+ 3. Create a pull request in order to include your development in the official code
120
+
121
+ Acknoledgements
122
+ ----------------
123
+ - The [Abipy](https://abinit.github.io/abipy/) library developed for the Abinit code was the original inspiration for Yambopy. In particular, abipy's `SkwInterpolator` module for band structure interpolations has been directly imported into yambopy.
124
+ - Yambopy logos by Claudia Cardoso
125
+ - University of Luxembourg
126
+ - University of Valencia
127
+ - Nanoscience Institute of the Italian National Research Council
128
+ - [MaX](https://www.max-centre.eu/): Materials at the eXascale EU center of excellence
129
+
130
+ ![yambopy_logo](docs/logos/yambopy_square.png)
@@ -0,0 +1,51 @@
1
+ [build-system]
2
+ requires = ["setuptools", "setuptools-scm"]
3
+ build-backend = "setuptools.build_meta"
4
+ #requires = ["flit_core"]
5
+ #build-backend = "flit_core.buildapi"
6
+ [project]
7
+ name = "yambopy"
8
+ version = "0.3.0"
9
+ authors = [
10
+ { name="Fulvio Paleari", email="fulvio.paleari@nano.cnr.it" },
11
+ { name="Alejandro Molina-Sanchez", email="alejandro.molina@uv.es" },
12
+ { name="Henrique Miranda" },
13
+ ]
14
+ description = "Yambopy: a pre/post-processing tool for Yambo"
15
+ readme = "README.md"
16
+ requires-python = ">=3.6"
17
+ classifiers = [
18
+ "Programming Language :: Python :: 3",
19
+ "License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)",
20
+ "Operating System :: OS Independent",
21
+ "Development Status :: 3 - Alpha",
22
+ ]
23
+ dependencies = [ "numpy", "scipy", "netCDF4", "matplotlib", "pyyaml", "lxml", "monty"]
24
+ [project.urls]
25
+ "Homepage" = "https://github.com/yambo-code/yambopy"
26
+ "Documentation" = "https://www.yambo-code.eu/wiki/index.php/First_steps_in_Yambopy"
27
+ [project.scripts]
28
+ yambopy="yambocommandline.scripts.yambopy:YambopyCmd"
29
+ [tool.setuptools]
30
+ packages = ['yambopy',
31
+ 'yambopy.io',
32
+ 'yambopy.dbs',
33
+ 'yambopy.bse',
34
+ 'yambopy.rt',
35
+ 'yambopy.double_grid',
36
+ 'yambopy.data',
37
+ 'yambopy.plot',
38
+ 'yambopy.em1s',
39
+ 'yambopy.tools',
40
+ 'yambopy.common',
41
+ 'yambopy.gkkp',
42
+ 'yambopy.flow',
43
+ 'yambopy.nl',
44
+ 'qepy',
45
+ 'qepy.upf_interface',
46
+ 'qepy.data.pseudos',
47
+ 'schedulerpy',
48
+ 'yamboparser',
49
+ 'yambocommandline',
50
+ 'yambocommandline.commands',]
51
+
@@ -0,0 +1,2 @@
1
+ [pytest]
2
+ testpaths = yambopy schedulerpy qepy yamboparser
@@ -0,0 +1,34 @@
1
+ # Copyright (C) 2018 Henrique Pereira Coutada Miranda
2
+ # All rights reserved.
3
+ #
4
+ # This file is part of yambopy
5
+ #
6
+ """
7
+ Scripts to manipulate Quantum Espresso input files
8
+
9
+ Also able to read output files in xml format (datafile.xml or datafile-schema.xml)
10
+
11
+ """
12
+ import os
13
+
14
+ class qepyenv():
15
+ PW = "pw.x"
16
+ PH = "ph.x"
17
+ DYNMAT = "dynmat.x"
18
+ PSEUDODIR = os.path.join(os.path.dirname(__file__),'data','pseudos')
19
+ CONV_THR = 1e-8
20
+
21
+ from qepy.xml import *
22
+ from qepy.bravais import *
23
+ from qepy.pw import *
24
+ from qepy.pwxml import *
25
+ from qepy.projwfc import *
26
+ from qepy.projwfcxml import *
27
+ from qepy.ph import *
28
+ from qepy.dynmat import *
29
+ from qepy.matdyn import *
30
+ from qepy.lattice import *
31
+ from qepy.unfolding import *
32
+ from qepy.unfoldingyambo import *
33
+ from qepy.supercell import *
34
+ from qepy.upf_interface.ppupf import *
@@ -0,0 +1,23 @@
1
+ # Copyright (C) 2015 Henrique Pereira Coutada Miranda, Alejandro Molina-Sanchez
2
+ # All rights reserved.
3
+ #
4
+ # This file is part of yambopy
5
+ #
6
+ from builtins import range
7
+ from builtins import object
8
+ import numpy as np
9
+ import os
10
+
11
+ def float_from_string(x):
12
+ """
13
+ Convert a string in a float
14
+ """
15
+ y=[]
16
+ for t in x.split():
17
+ try:
18
+ y.append(float(t))
19
+ except ValueError:
20
+ pass
21
+ return y
22
+
23
+
@@ -0,0 +1,175 @@
1
+ #
2
+ # This file is part of yambopy
3
+ #
4
+ import numpy as np
5
+ from qepy import xml
6
+
7
+ """
8
+ This file contains a list of functions to deal with Bravais lattices
9
+ """
10
+
11
+ def get_ibrav(datafile_xml):
12
+ """
13
+ Get ibrav number (as string) from QE data-file-schema.xml
14
+
15
+ [NB] datafile_xml must be in the form:
16
+
17
+ datafile_xml = ET.parse( "PREFIX.save/data-file-schema.xml" )
18
+ """
19
+
20
+ ibrav = xml.get_xml_attrib(datafile_xml,'atomic_structure','bravais_index',repeated=True)
21
+ return ibrav
22
+
23
+ def lattice_dictionary(ibrav):
24
+ """
25
+ Dictionary with text descriptions for ibrav numbers
26
+ """
27
+ bravais_lattices = {
28
+ 0 : 'free',
29
+ 1 : 'cubic P (sc)',
30
+ 2 : 'cubic F (fcc)',
31
+ 3 : 'cubic I (bcc)',
32
+ 4 : 'Hexagonal and Trigonal P',
33
+ 5 : 'Trigonal R, 3fold axis c',
34
+ 6 : 'Tetragonal P (st)',
35
+ 7 : 'Tet ragonal I (bct)',
36
+ 8 : 'Orthorhombic P',
37
+ 9 : 'Orthorhombic base-centered(bco)',
38
+ 10 : 'Orthorhombic face-centered',
39
+ 11 : 'Orthorhombic body-centered',
40
+ 12 : 'Monoclinic P, unique axis c',
41
+ 13 : 'Monoclinic base-centered',
42
+ 14 : 'Triclinic'
43
+ }
44
+ try: bravais_lattices[ibrav]
45
+ except KeyError: print("This lattice type is not implemented ):")
46
+ else: return bravais_lattices[ibrav]
47
+
48
+ def lattice_type(ibrav,cell):
49
+ """
50
+ Input: specific lattice type (ibrav) and cell parameters (as list)
51
+ Output: lattice vectors
52
+ """
53
+ ibrav = int(ibrav)
54
+ lattice = lattice_dictionary(ibrav)
55
+ sqrt = np.sqrt
56
+
57
+ if lattice=='Hexagonal and Trigonal P':
58
+ a = cell[0]
59
+ c_a = cell[2] #c/a
60
+ vecs = a*np.array([ [ 1., 0., 0. ],
61
+ [-0.5, sqrt(3.)/2., 0. ],
62
+ [ 0., 0., c_a ] ])
63
+ if lattice=='free':
64
+ vecs = np.array([ datafile_xml.find("CELL/DIRECT_LATTICE_VECTORS/a1").text.split(),
65
+ datafile_xml.find("CELL/DIRECT_LATTICE_VECTORS/a2").text.split(),
66
+ datafile_xml.find("CELL/DIRECT_LATTICE_VECTORS/a3").text.split() ]).astype(float)
67
+ if lattice=='cubic P (sc)':
68
+ a = cell[0]
69
+ vecs = a*np.array([ [ 1., 0., 0. ],
70
+ [ 0., 1., 0. ],
71
+ [ 0., 0., 1. ] ])
72
+ if lattice== 'cubic F (fcc)':
73
+ a = cell[0]
74
+ vecs = a/2.*np.array([ [-1., 0., 1. ],
75
+ [ 0., 1., 1. ],
76
+ [-1., 1., 0. ] ])
77
+ if lattice=='cubic I (bcc)':
78
+ a = cell[0]
79
+ vecs = a/2.*np.array([ [ 1., 1., 1. ],
80
+ [-1., 1., 1. ],
81
+ [-1.,-1., 0. ] ])
82
+ if lattice=='Trigonal R, 3fold axis c':
83
+ a = cell[0]
84
+ c_g = cell[3] #cos(gamma)
85
+ tx, ty, tz = [ sqrt((1.-c_g)/2.), sqrt((1.-c_g)/6.), sqrt((1.+2*c_g)/3.) ]
86
+ vecs = a*np.array([ [ tx, -ty, tz ],
87
+ [ 0., 2*ty, tz ],
88
+ [-tx, -ty, tz ] ])
89
+ if lattice=='Tetragonal P (st)':
90
+ a = cell[0]
91
+ c_a = cell[2]
92
+ vecs = a*np.array([ [ 1., 0., 0. ],
93
+ [ 0., 1., 0. ],
94
+ [ 0., 0., c_a ] ])
95
+ if lattice=='Tetragonal I (bct)':
96
+ a = cell[0]
97
+ c_a = cell[2]
98
+ vecs = a/2.*np.array([ [ 1.,-1., c_a ],
99
+ [ 1., 1., c_a ],
100
+ [-1.,-1., c_a ] ])
101
+ if lattice=='Orthorhombic P':
102
+ a = cell[0]
103
+ b_a = cell[1] #b/a
104
+ c_a = cell[2]
105
+ vecs = a*np.array([ [ 1., 0., 0. ],
106
+ [ 0., b_a, 0. ],
107
+ [ 0., 0., c_a ] ])
108
+ if lattice=='Orthorhombic base-centered(bco)':
109
+ a = cell[0]
110
+ b_a = cell[1]
111
+ c_a = cell[2]
112
+ vecs = a*np.array([ [ 1./2., b_a/2., 0. ],
113
+ [-1./2., b_a/2., 0. ],
114
+ [ 0., 0., c_a ] ])
115
+ if lattice=='Orthorhombic face-centered':
116
+ a = cell[0]
117
+ b_a = cell[1]
118
+ c_a = cell[2]
119
+ vecs = a/2.*np.array([ [ 1., 0., c_a ],
120
+ [ 1., b_a, 0. ],
121
+ [ 0., b_a, c_a ] ])
122
+ if lattice=='Orthorhombic body-centered':
123
+ a = cell[0]
124
+ b_a = cell[1]
125
+ c_a = cell[2]
126
+ vecs = a/2.*np.array([ [ 1., b_a, c_a ],
127
+ [-1., b_a, c_a ],
128
+ [-1.,-b_a, c_a ] ])
129
+ if lattice=='Monoclinic P, unique axis c':
130
+ a = cell[0]
131
+ b_a = cell[1]
132
+ c_a = cell[2]
133
+ c_g = cell[3]
134
+ s_g =+sqrt(1.-c_g*c_g)
135
+ vecs = a*np.array([ [ 1., 0., 0. ],
136
+ [ b_a*c_g, b_a*s_g, 0. ],
137
+ [ 0., 0., c_a ] ])
138
+ if lattice=='Monoclinic base-centered':
139
+ a = cell[0]
140
+ b_a = cell[1]
141
+ c_a = cell[2]
142
+ c_g = cell[3]
143
+ s_g =+sqrt(1.-c_g*c_g)
144
+ vecs = a*np.array([ [ 1./2., 0.,-c_a/2. ],
145
+ [ b_a*c_g, b_a*s_g, 0. ],
146
+ [ 1./2., 0., c_a/2. ] ])
147
+ if lattice=='Triclinic':
148
+ a = cell[0]
149
+ b_a = cell[1]
150
+ c_a = cell[2]
151
+ c_a = cell[3] #cos(alpha)
152
+ c_b = cell[4] #cos(beta)
153
+ c_g = cell[5] #cos(gamma)
154
+ s_g =+sqrt(1.-c_g*c_g)
155
+ V2 = a**6.*b_a**2.*c_a**2.*(1.+2.*c_a*c_b*c_g-c_a*c_a-c_b*c_b-c_g*c_g)
156
+ vecs = a*np.array([ [ 1., 0., 0. ],
157
+ [ b_a*c_g, b_a*s_g, 0. ],
158
+ [ c_a*c_b, c_a*(c_a-c_b*c_g)/s_g, c_a*sqrt(V2)/(a*b_a*a*c_a*a)/s_g ] ])
159
+ #
160
+ try: vecs
161
+ except NameError: print("This lattice type is not implemented ):")
162
+ else: return vecs
163
+
164
+ def crys_to_car(lattice_vectors,reciprocal_space=False):
165
+ """ Calculation of the metric tensor in real or reciprocal space
166
+
167
+ Input:
168
+ - Lattice vectors (real space)
169
+ """
170
+
171
+ #Metric tensor
172
+ G = np.array([ [np.dot(a1,a2) for a1 in lattice_vectors] for a2 in lattice_vectors ])
173
+ #Metric tensor in reciprocal space
174
+ if reciprocal_space: return np.linalg.inv(G)
175
+ else: return G
File without changes