pypwdft 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 (357) hide show
  1. pypwdft-0.3.0/CHANGELOG.md +130 -0
  2. pypwdft-0.3.0/LICENSE +674 -0
  3. pypwdft-0.3.0/MANIFEST.in +3 -0
  4. pypwdft-0.3.0/PKG-INFO +265 -0
  5. pypwdft-0.3.0/README.md +231 -0
  6. pypwdft-0.3.0/pyproject.toml +58 -0
  7. pypwdft-0.3.0/pypwdft/__init__.py +35 -0
  8. pypwdft-0.3.0/pypwdft/allelectron.py +74 -0
  9. pypwdft-0.3.0/pypwdft/api.py +649 -0
  10. pypwdft-0.3.0/pypwdft/davidson.py +205 -0
  11. pypwdft-0.3.0/pypwdft/elements.py +53 -0
  12. pypwdft-0.3.0/pypwdft/fft.py +162 -0
  13. pypwdft-0.3.0/pypwdft/gth.py +464 -0
  14. pypwdft-0.3.0/pypwdft/lanczos.py +270 -0
  15. pypwdft-0.3.0/pypwdft/mixing.py +273 -0
  16. pypwdft-0.3.0/pypwdft/molecules/benzene.xyz +14 -0
  17. pypwdft-0.3.0/pypwdft/molecules/bf3.xyz +6 -0
  18. pypwdft-0.3.0/pypwdft/molecules/bh3.xyz +6 -0
  19. pypwdft-0.3.0/pypwdft/molecules/ch4.xyz +7 -0
  20. pypwdft-0.3.0/pypwdft/molecules/co.xyz +4 -0
  21. pypwdft-0.3.0/pypwdft/molecules/co2.xyz +5 -0
  22. pypwdft-0.3.0/pypwdft/molecules/ethylene.xyz +8 -0
  23. pypwdft-0.3.0/pypwdft/molecules/h2.xyz +4 -0
  24. pypwdft-0.3.0/pypwdft/molecules/h2o.xyz +5 -0
  25. pypwdft-0.3.0/pypwdft/molecules/he.xyz +3 -0
  26. pypwdft-0.3.0/pypwdft/molecules/lih.xyz +4 -0
  27. pypwdft-0.3.0/pypwdft/molecules/nh3.xyz +6 -0
  28. pypwdft-0.3.0/pypwdft/orbitals.py +185 -0
  29. pypwdft-0.3.0/pypwdft/psp/LICENSE.eminus +201 -0
  30. pypwdft-0.3.0/pypwdft/psp/NOTICE +32 -0
  31. pypwdft-0.3.0/pypwdft/psp/README.md +11 -0
  32. pypwdft-0.3.0/pypwdft/psp/pade/Ac-q11 +13 -0
  33. pypwdft-0.3.0/pypwdft/psp/pade/Ac-q29 +13 -0
  34. pypwdft-0.3.0/pypwdft/psp/pade/Ag-q1 +10 -0
  35. pypwdft-0.3.0/pypwdft/psp/pade/Ag-q11 +11 -0
  36. pypwdft-0.3.0/pypwdft/psp/pade/Ag-q19 +10 -0
  37. pypwdft-0.3.0/pypwdft/psp/pade/Al-q3 +7 -0
  38. pypwdft-0.3.0/pypwdft/psp/pade/Am-q17 +13 -0
  39. pypwdft-0.3.0/pypwdft/psp/pade/Am-q35 +13 -0
  40. pypwdft-0.3.0/pypwdft/psp/pade/Ar-q8 +7 -0
  41. pypwdft-0.3.0/pypwdft/psp/pade/As-q5 +10 -0
  42. pypwdft-0.3.0/pypwdft/psp/pade/At-q7 +10 -0
  43. pypwdft-0.3.0/pypwdft/psp/pade/Au-q1 +10 -0
  44. pypwdft-0.3.0/pypwdft/psp/pade/Au-q11 +10 -0
  45. pypwdft-0.3.0/pypwdft/psp/pade/Au-q19 +11 -0
  46. pypwdft-0.3.0/pypwdft/psp/pade/B-q3 +6 -0
  47. pypwdft-0.3.0/pypwdft/psp/pade/Ba-q10 +10 -0
  48. pypwdft-0.3.0/pypwdft/psp/pade/Ba-q2 +10 -0
  49. pypwdft-0.3.0/pypwdft/psp/pade/Be-q2 +6 -0
  50. pypwdft-0.3.0/pypwdft/psp/pade/Be-q4 +4 -0
  51. pypwdft-0.3.0/pypwdft/psp/pade/Bi-q5 +10 -0
  52. pypwdft-0.3.0/pypwdft/psp/pade/Bk-q19 +13 -0
  53. pypwdft-0.3.0/pypwdft/psp/pade/Bk-q37 +13 -0
  54. pypwdft-0.3.0/pypwdft/psp/pade/Br-q7 +10 -0
  55. pypwdft-0.3.0/pypwdft/psp/pade/C-q4 +6 -0
  56. pypwdft-0.3.0/pypwdft/psp/pade/Ca-q10 +9 -0
  57. pypwdft-0.3.0/pypwdft/psp/pade/Ca-q2 +10 -0
  58. pypwdft-0.3.0/pypwdft/psp/pade/Cd-q12 +11 -0
  59. pypwdft-0.3.0/pypwdft/psp/pade/Cd-q2 +10 -0
  60. pypwdft-0.3.0/pypwdft/psp/pade/Ce-q12 +10 -0
  61. pypwdft-0.3.0/pypwdft/psp/pade/Cf-q20 +13 -0
  62. pypwdft-0.3.0/pypwdft/psp/pade/Cf-q38 +13 -0
  63. pypwdft-0.3.0/pypwdft/psp/pade/Cl-q7 +7 -0
  64. pypwdft-0.3.0/pypwdft/psp/pade/Cm-q18 +13 -0
  65. pypwdft-0.3.0/pypwdft/psp/pade/Cm-q36 +13 -0
  66. pypwdft-0.3.0/pypwdft/psp/pade/Co-q17 +9 -0
  67. pypwdft-0.3.0/pypwdft/psp/pade/Co-q9 +10 -0
  68. pypwdft-0.3.0/pypwdft/psp/pade/Cr-q14 +9 -0
  69. pypwdft-0.3.0/pypwdft/psp/pade/Cr-q6 +10 -0
  70. pypwdft-0.3.0/pypwdft/psp/pade/Cs-q1 +10 -0
  71. pypwdft-0.3.0/pypwdft/psp/pade/Cs-q9 +10 -0
  72. pypwdft-0.3.0/pypwdft/psp/pade/Cu-q1 +10 -0
  73. pypwdft-0.3.0/pypwdft/psp/pade/Cu-q11 +10 -0
  74. pypwdft-0.3.0/pypwdft/psp/pade/Cu-q19 +9 -0
  75. pypwdft-0.3.0/pypwdft/psp/pade/Dy-q20 +10 -0
  76. pypwdft-0.3.0/pypwdft/psp/pade/Er-q22 +10 -0
  77. pypwdft-0.3.0/pypwdft/psp/pade/Es-q21 +13 -0
  78. pypwdft-0.3.0/pypwdft/psp/pade/Es-q39 +13 -0
  79. pypwdft-0.3.0/pypwdft/psp/pade/Eu-q17 +10 -0
  80. pypwdft-0.3.0/pypwdft/psp/pade/F-q7 +6 -0
  81. pypwdft-0.3.0/pypwdft/psp/pade/Fe-q16 +9 -0
  82. pypwdft-0.3.0/pypwdft/psp/pade/Fe-q8 +10 -0
  83. pypwdft-0.3.0/pypwdft/psp/pade/Fm-q22 +13 -0
  84. pypwdft-0.3.0/pypwdft/psp/pade/Fm-q40 +13 -0
  85. pypwdft-0.3.0/pypwdft/psp/pade/Ga-q13 +10 -0
  86. pypwdft-0.3.0/pypwdft/psp/pade/Ga-q3 +10 -0
  87. pypwdft-0.3.0/pypwdft/psp/pade/Gd-q18 +10 -0
  88. pypwdft-0.3.0/pypwdft/psp/pade/Ge-q4 +10 -0
  89. pypwdft-0.3.0/pypwdft/psp/pade/H-q1 +4 -0
  90. pypwdft-0.3.0/pypwdft/psp/pade/He-q2 +4 -0
  91. pypwdft-0.3.0/pypwdft/psp/pade/Hf-q12 +11 -0
  92. pypwdft-0.3.0/pypwdft/psp/pade/Hg-q12 +10 -0
  93. pypwdft-0.3.0/pypwdft/psp/pade/Hg-q2 +10 -0
  94. pypwdft-0.3.0/pypwdft/psp/pade/Ho-q21 +10 -0
  95. pypwdft-0.3.0/pypwdft/psp/pade/I-q7 +10 -0
  96. pypwdft-0.3.0/pypwdft/psp/pade/In-q13 +11 -0
  97. pypwdft-0.3.0/pypwdft/psp/pade/In-q3 +10 -0
  98. pypwdft-0.3.0/pypwdft/psp/pade/Ir-q17 +11 -0
  99. pypwdft-0.3.0/pypwdft/psp/pade/Ir-q9 +10 -0
  100. pypwdft-0.3.0/pypwdft/psp/pade/K-q1 +10 -0
  101. pypwdft-0.3.0/pypwdft/psp/pade/K-q9 +8 -0
  102. pypwdft-0.3.0/pypwdft/psp/pade/Kr-q8 +10 -0
  103. pypwdft-0.3.0/pypwdft/psp/pade/La-q11 +11 -0
  104. pypwdft-0.3.0/pypwdft/psp/pade/Li-q1 +6 -0
  105. pypwdft-0.3.0/pypwdft/psp/pade/Li-q3 +4 -0
  106. pypwdft-0.3.0/pypwdft/psp/pade/Lr-q25 +13 -0
  107. pypwdft-0.3.0/pypwdft/psp/pade/Lr-q43 +13 -0
  108. pypwdft-0.3.0/pypwdft/psp/pade/Lu-q25 +10 -0
  109. pypwdft-0.3.0/pypwdft/psp/pade/Md-q23 +13 -0
  110. pypwdft-0.3.0/pypwdft/psp/pade/Md-q41 +13 -0
  111. pypwdft-0.3.0/pypwdft/psp/pade/Mg-q10 +6 -0
  112. pypwdft-0.3.0/pypwdft/psp/pade/Mg-q2 +7 -0
  113. pypwdft-0.3.0/pypwdft/psp/pade/Mn-q15 +9 -0
  114. pypwdft-0.3.0/pypwdft/psp/pade/Mn-q7 +10 -0
  115. pypwdft-0.3.0/pypwdft/psp/pade/Mo-q14 +10 -0
  116. pypwdft-0.3.0/pypwdft/psp/pade/Mo-q6 +10 -0
  117. pypwdft-0.3.0/pypwdft/psp/pade/N-q5 +6 -0
  118. pypwdft-0.3.0/pypwdft/psp/pade/Na-q1 +7 -0
  119. pypwdft-0.3.0/pypwdft/psp/pade/Na-q9 +6 -0
  120. pypwdft-0.3.0/pypwdft/psp/pade/Nb-q13 +10 -0
  121. pypwdft-0.3.0/pypwdft/psp/pade/Nb-q5 +10 -0
  122. pypwdft-0.3.0/pypwdft/psp/pade/Nd-q14 +10 -0
  123. pypwdft-0.3.0/pypwdft/psp/pade/Ne-q8 +7 -0
  124. pypwdft-0.3.0/pypwdft/psp/pade/Ni-q10 +10 -0
  125. pypwdft-0.3.0/pypwdft/psp/pade/Ni-q18 +9 -0
  126. pypwdft-0.3.0/pypwdft/psp/pade/No-q24 +13 -0
  127. pypwdft-0.3.0/pypwdft/psp/pade/No-q42 +13 -0
  128. pypwdft-0.3.0/pypwdft/psp/pade/Np-q15 +13 -0
  129. pypwdft-0.3.0/pypwdft/psp/pade/Np-q33 +13 -0
  130. pypwdft-0.3.0/pypwdft/psp/pade/O-q6 +6 -0
  131. pypwdft-0.3.0/pypwdft/psp/pade/Os-q16 +11 -0
  132. pypwdft-0.3.0/pypwdft/psp/pade/Os-q8 +10 -0
  133. pypwdft-0.3.0/pypwdft/psp/pade/P-q5 +7 -0
  134. pypwdft-0.3.0/pypwdft/psp/pade/Pa-q13 +13 -0
  135. pypwdft-0.3.0/pypwdft/psp/pade/Pa-q31 +13 -0
  136. pypwdft-0.3.0/pypwdft/psp/pade/Pb-q4 +10 -0
  137. pypwdft-0.3.0/pypwdft/psp/pade/Pd-q10 +10 -0
  138. pypwdft-0.3.0/pypwdft/psp/pade/Pd-q18 +10 -0
  139. pypwdft-0.3.0/pypwdft/psp/pade/Pm-q15 +10 -0
  140. pypwdft-0.3.0/pypwdft/psp/pade/Po-q6 +10 -0
  141. pypwdft-0.3.0/pypwdft/psp/pade/Pr-q13 +10 -0
  142. pypwdft-0.3.0/pypwdft/psp/pade/Pt-q10 +10 -0
  143. pypwdft-0.3.0/pypwdft/psp/pade/Pt-q18 +11 -0
  144. pypwdft-0.3.0/pypwdft/psp/pade/Pu-q16 +13 -0
  145. pypwdft-0.3.0/pypwdft/psp/pade/Pu-q34 +13 -0
  146. pypwdft-0.3.0/pypwdft/psp/pade/README.md +17 -0
  147. pypwdft-0.3.0/pypwdft/psp/pade/Rb-q1 +10 -0
  148. pypwdft-0.3.0/pypwdft/psp/pade/Rb-q9 +9 -0
  149. pypwdft-0.3.0/pypwdft/psp/pade/Re-q15 +11 -0
  150. pypwdft-0.3.0/pypwdft/psp/pade/Re-q7 +10 -0
  151. pypwdft-0.3.0/pypwdft/psp/pade/Rh-q17 +10 -0
  152. pypwdft-0.3.0/pypwdft/psp/pade/Rh-q9 +10 -0
  153. pypwdft-0.3.0/pypwdft/psp/pade/Rn-q8 +10 -0
  154. pypwdft-0.3.0/pypwdft/psp/pade/Ru-q16 +10 -0
  155. pypwdft-0.3.0/pypwdft/psp/pade/Ru-q8 +10 -0
  156. pypwdft-0.3.0/pypwdft/psp/pade/S-q6 +7 -0
  157. pypwdft-0.3.0/pypwdft/psp/pade/Sb-q5 +10 -0
  158. pypwdft-0.3.0/pypwdft/psp/pade/Sc-q11 +9 -0
  159. pypwdft-0.3.0/pypwdft/psp/pade/Sc-q3 +10 -0
  160. pypwdft-0.3.0/pypwdft/psp/pade/Se-q6 +10 -0
  161. pypwdft-0.3.0/pypwdft/psp/pade/Si-q4 +7 -0
  162. pypwdft-0.3.0/pypwdft/psp/pade/Sm-q16 +10 -0
  163. pypwdft-0.3.0/pypwdft/psp/pade/Sn-q4 +10 -0
  164. pypwdft-0.3.0/pypwdft/psp/pade/Sr-q10 +9 -0
  165. pypwdft-0.3.0/pypwdft/psp/pade/Sr-q2 +10 -0
  166. pypwdft-0.3.0/pypwdft/psp/pade/Ta-q13 +11 -0
  167. pypwdft-0.3.0/pypwdft/psp/pade/Ta-q5 +10 -0
  168. pypwdft-0.3.0/pypwdft/psp/pade/Tb-q19 +10 -0
  169. pypwdft-0.3.0/pypwdft/psp/pade/Tc-q15 +10 -0
  170. pypwdft-0.3.0/pypwdft/psp/pade/Tc-q7 +10 -0
  171. pypwdft-0.3.0/pypwdft/psp/pade/Te-q6 +10 -0
  172. pypwdft-0.3.0/pypwdft/psp/pade/Th-q12 +13 -0
  173. pypwdft-0.3.0/pypwdft/psp/pade/Th-q30 +13 -0
  174. pypwdft-0.3.0/pypwdft/psp/pade/Ti-q12 +9 -0
  175. pypwdft-0.3.0/pypwdft/psp/pade/Ti-q4 +10 -0
  176. pypwdft-0.3.0/pypwdft/psp/pade/Tl-q13 +10 -0
  177. pypwdft-0.3.0/pypwdft/psp/pade/Tl-q3 +10 -0
  178. pypwdft-0.3.0/pypwdft/psp/pade/Tm-q23 +10 -0
  179. pypwdft-0.3.0/pypwdft/psp/pade/U-q14 +13 -0
  180. pypwdft-0.3.0/pypwdft/psp/pade/U-q32 +13 -0
  181. pypwdft-0.3.0/pypwdft/psp/pade/V-q13 +9 -0
  182. pypwdft-0.3.0/pypwdft/psp/pade/V-q5 +10 -0
  183. pypwdft-0.3.0/pypwdft/psp/pade/W-q14 +11 -0
  184. pypwdft-0.3.0/pypwdft/psp/pade/W-q6 +10 -0
  185. pypwdft-0.3.0/pypwdft/psp/pade/Xe-q8 +10 -0
  186. pypwdft-0.3.0/pypwdft/psp/pade/Y-q11 +10 -0
  187. pypwdft-0.3.0/pypwdft/psp/pade/Y-q3 +11 -0
  188. pypwdft-0.3.0/pypwdft/psp/pade/Yb-q24 +10 -0
  189. pypwdft-0.3.0/pypwdft/psp/pade/Zn-q12 +10 -0
  190. pypwdft-0.3.0/pypwdft/psp/pade/Zn-q2 +10 -0
  191. pypwdft-0.3.0/pypwdft/psp/pade/Zn-q20 +9 -0
  192. pypwdft-0.3.0/pypwdft/psp/pade/Zr-q12 +10 -0
  193. pypwdft-0.3.0/pypwdft/psp/pade/Zr-q4 +11 -0
  194. pypwdft-0.3.0/pypwdft/psp/pade/__init__.py +25 -0
  195. pypwdft-0.3.0/pypwdft/psp/pbe/Ac-q11 +13 -0
  196. pypwdft-0.3.0/pypwdft/psp/pbe/Ac-q29 +13 -0
  197. pypwdft-0.3.0/pypwdft/psp/pbe/Ag-q11 +11 -0
  198. pypwdft-0.3.0/pypwdft/psp/pbe/Ag-q19 +10 -0
  199. pypwdft-0.3.0/pypwdft/psp/pbe/Al-q3 +7 -0
  200. pypwdft-0.3.0/pypwdft/psp/pbe/Am-q17 +13 -0
  201. pypwdft-0.3.0/pypwdft/psp/pbe/Am-q35 +13 -0
  202. pypwdft-0.3.0/pypwdft/psp/pbe/Ar-q8 +7 -0
  203. pypwdft-0.3.0/pypwdft/psp/pbe/As-q5 +10 -0
  204. pypwdft-0.3.0/pypwdft/psp/pbe/At-q7 +10 -0
  205. pypwdft-0.3.0/pypwdft/psp/pbe/Au-q11 +10 -0
  206. pypwdft-0.3.0/pypwdft/psp/pbe/Au-q19 +12 -0
  207. pypwdft-0.3.0/pypwdft/psp/pbe/B-q3 +6 -0
  208. pypwdft-0.3.0/pypwdft/psp/pbe/Ba-q10 +10 -0
  209. pypwdft-0.3.0/pypwdft/psp/pbe/Be-q4 +4 -0
  210. pypwdft-0.3.0/pypwdft/psp/pbe/Bi-q15 +10 -0
  211. pypwdft-0.3.0/pypwdft/psp/pbe/Bi-q5 +10 -0
  212. pypwdft-0.3.0/pypwdft/psp/pbe/Bk-q19 +13 -0
  213. pypwdft-0.3.0/pypwdft/psp/pbe/Bk-q37 +13 -0
  214. pypwdft-0.3.0/pypwdft/psp/pbe/Br-q7 +10 -0
  215. pypwdft-0.3.0/pypwdft/psp/pbe/C-q4 +6 -0
  216. pypwdft-0.3.0/pypwdft/psp/pbe/Ca-q10 +9 -0
  217. pypwdft-0.3.0/pypwdft/psp/pbe/Cd-q12 +11 -0
  218. pypwdft-0.3.0/pypwdft/psp/pbe/Ce-q12 +10 -0
  219. pypwdft-0.3.0/pypwdft/psp/pbe/Ce-q30 +11 -0
  220. pypwdft-0.3.0/pypwdft/psp/pbe/Cf-q20 +13 -0
  221. pypwdft-0.3.0/pypwdft/psp/pbe/Cf-q38 +13 -0
  222. pypwdft-0.3.0/pypwdft/psp/pbe/Cl-q7 +7 -0
  223. pypwdft-0.3.0/pypwdft/psp/pbe/Cm-q18 +13 -0
  224. pypwdft-0.3.0/pypwdft/psp/pbe/Cm-q36 +13 -0
  225. pypwdft-0.3.0/pypwdft/psp/pbe/Co-q17 +9 -0
  226. pypwdft-0.3.0/pypwdft/psp/pbe/Cr-q14 +9 -0
  227. pypwdft-0.3.0/pypwdft/psp/pbe/Cs-q9 +10 -0
  228. pypwdft-0.3.0/pypwdft/psp/pbe/Cu-q11 +10 -0
  229. pypwdft-0.3.0/pypwdft/psp/pbe/Cu-q19 +9 -0
  230. pypwdft-0.3.0/pypwdft/psp/pbe/Dy-q20 +10 -0
  231. pypwdft-0.3.0/pypwdft/psp/pbe/Er-q22 +10 -0
  232. pypwdft-0.3.0/pypwdft/psp/pbe/Es-q21 +13 -0
  233. pypwdft-0.3.0/pypwdft/psp/pbe/Es-q39 +13 -0
  234. pypwdft-0.3.0/pypwdft/psp/pbe/Eu-q17 +10 -0
  235. pypwdft-0.3.0/pypwdft/psp/pbe/F-q7 +6 -0
  236. pypwdft-0.3.0/pypwdft/psp/pbe/Fe-q16 +9 -0
  237. pypwdft-0.3.0/pypwdft/psp/pbe/Fm-q22 +13 -0
  238. pypwdft-0.3.0/pypwdft/psp/pbe/Fm-q40 +13 -0
  239. pypwdft-0.3.0/pypwdft/psp/pbe/Ga-q13 +10 -0
  240. pypwdft-0.3.0/pypwdft/psp/pbe/Ga-q3 +10 -0
  241. pypwdft-0.3.0/pypwdft/psp/pbe/Gd-q18 +10 -0
  242. pypwdft-0.3.0/pypwdft/psp/pbe/Ge-q4 +10 -0
  243. pypwdft-0.3.0/pypwdft/psp/pbe/H-q1 +4 -0
  244. pypwdft-0.3.0/pypwdft/psp/pbe/He-q2 +4 -0
  245. pypwdft-0.3.0/pypwdft/psp/pbe/Hf-q12 +11 -0
  246. pypwdft-0.3.0/pypwdft/psp/pbe/Hg-q12 +10 -0
  247. pypwdft-0.3.0/pypwdft/psp/pbe/Ho-q21 +10 -0
  248. pypwdft-0.3.0/pypwdft/psp/pbe/I-q7 +10 -0
  249. pypwdft-0.3.0/pypwdft/psp/pbe/In-q13 +11 -0
  250. pypwdft-0.3.0/pypwdft/psp/pbe/In-q3 +10 -0
  251. pypwdft-0.3.0/pypwdft/psp/pbe/Ir-q17 +11 -0
  252. pypwdft-0.3.0/pypwdft/psp/pbe/Ir-q9 +10 -0
  253. pypwdft-0.3.0/pypwdft/psp/pbe/K-q9 +8 -0
  254. pypwdft-0.3.0/pypwdft/psp/pbe/Kr-q8 +10 -0
  255. pypwdft-0.3.0/pypwdft/psp/pbe/La-q11 +10 -0
  256. pypwdft-0.3.0/pypwdft/psp/pbe/Li-q3 +4 -0
  257. pypwdft-0.3.0/pypwdft/psp/pbe/Lr-q25 +13 -0
  258. pypwdft-0.3.0/pypwdft/psp/pbe/Lr-q43 +13 -0
  259. pypwdft-0.3.0/pypwdft/psp/pbe/Lu-q25 +10 -0
  260. pypwdft-0.3.0/pypwdft/psp/pbe/Md-q23 +13 -0
  261. pypwdft-0.3.0/pypwdft/psp/pbe/Md-q41 +13 -0
  262. pypwdft-0.3.0/pypwdft/psp/pbe/Mg-q10 +6 -0
  263. pypwdft-0.3.0/pypwdft/psp/pbe/Mg-q2 +7 -0
  264. pypwdft-0.3.0/pypwdft/psp/pbe/Mn-q15 +9 -0
  265. pypwdft-0.3.0/pypwdft/psp/pbe/Mo-q14 +10 -0
  266. pypwdft-0.3.0/pypwdft/psp/pbe/N-q5 +6 -0
  267. pypwdft-0.3.0/pypwdft/psp/pbe/Na-q1 +7 -0
  268. pypwdft-0.3.0/pypwdft/psp/pbe/Na-q9 +6 -0
  269. pypwdft-0.3.0/pypwdft/psp/pbe/Nb-q13 +10 -0
  270. pypwdft-0.3.0/pypwdft/psp/pbe/Nd-q14 +10 -0
  271. pypwdft-0.3.0/pypwdft/psp/pbe/Ne-q8 +7 -0
  272. pypwdft-0.3.0/pypwdft/psp/pbe/Ni-q18 +9 -0
  273. pypwdft-0.3.0/pypwdft/psp/pbe/No-q24 +13 -0
  274. pypwdft-0.3.0/pypwdft/psp/pbe/No-q42 +13 -0
  275. pypwdft-0.3.0/pypwdft/psp/pbe/Np-q15 +13 -0
  276. pypwdft-0.3.0/pypwdft/psp/pbe/Np-q33 +13 -0
  277. pypwdft-0.3.0/pypwdft/psp/pbe/O-q6 +6 -0
  278. pypwdft-0.3.0/pypwdft/psp/pbe/Os-q16 +11 -0
  279. pypwdft-0.3.0/pypwdft/psp/pbe/Os-q8 +10 -0
  280. pypwdft-0.3.0/pypwdft/psp/pbe/P-q5 +7 -0
  281. pypwdft-0.3.0/pypwdft/psp/pbe/Pa-q13 +13 -0
  282. pypwdft-0.3.0/pypwdft/psp/pbe/Pa-q31 +13 -0
  283. pypwdft-0.3.0/pypwdft/psp/pbe/Pb-q14 +10 -0
  284. pypwdft-0.3.0/pypwdft/psp/pbe/Pb-q4 +10 -0
  285. pypwdft-0.3.0/pypwdft/psp/pbe/Pd-q10 +10 -0
  286. pypwdft-0.3.0/pypwdft/psp/pbe/Pd-q18 +10 -0
  287. pypwdft-0.3.0/pypwdft/psp/pbe/Pm-q15 +10 -0
  288. pypwdft-0.3.0/pypwdft/psp/pbe/Po-q6 +10 -0
  289. pypwdft-0.3.0/pypwdft/psp/pbe/Pr-q13 +10 -0
  290. pypwdft-0.3.0/pypwdft/psp/pbe/Pt-q10 +10 -0
  291. pypwdft-0.3.0/pypwdft/psp/pbe/Pt-q18 +12 -0
  292. pypwdft-0.3.0/pypwdft/psp/pbe/Pu-q16 +13 -0
  293. pypwdft-0.3.0/pypwdft/psp/pbe/Pu-q34 +13 -0
  294. pypwdft-0.3.0/pypwdft/psp/pbe/README.md +17 -0
  295. pypwdft-0.3.0/pypwdft/psp/pbe/Rb-q9 +9 -0
  296. pypwdft-0.3.0/pypwdft/psp/pbe/Re-q15 +11 -0
  297. pypwdft-0.3.0/pypwdft/psp/pbe/Re-q7 +10 -0
  298. pypwdft-0.3.0/pypwdft/psp/pbe/Rh-q17 +10 -0
  299. pypwdft-0.3.0/pypwdft/psp/pbe/Rh-q9 +10 -0
  300. pypwdft-0.3.0/pypwdft/psp/pbe/Rn-q8 +10 -0
  301. pypwdft-0.3.0/pypwdft/psp/pbe/Ru-q16 +10 -0
  302. pypwdft-0.3.0/pypwdft/psp/pbe/Ru-q8 +10 -0
  303. pypwdft-0.3.0/pypwdft/psp/pbe/S-q6 +7 -0
  304. pypwdft-0.3.0/pypwdft/psp/pbe/Sb-q5 +10 -0
  305. pypwdft-0.3.0/pypwdft/psp/pbe/Sc-q11 +9 -0
  306. pypwdft-0.3.0/pypwdft/psp/pbe/Se-q6 +10 -0
  307. pypwdft-0.3.0/pypwdft/psp/pbe/Si-q4 +7 -0
  308. pypwdft-0.3.0/pypwdft/psp/pbe/Sm-q16 +10 -0
  309. pypwdft-0.3.0/pypwdft/psp/pbe/Sn-q4 +10 -0
  310. pypwdft-0.3.0/pypwdft/psp/pbe/Sr-q10 +9 -0
  311. pypwdft-0.3.0/pypwdft/psp/pbe/Ta-q13 +11 -0
  312. pypwdft-0.3.0/pypwdft/psp/pbe/Ta-q5 +10 -0
  313. pypwdft-0.3.0/pypwdft/psp/pbe/Tb-q19 +10 -0
  314. pypwdft-0.3.0/pypwdft/psp/pbe/Tc-q15 +10 -0
  315. pypwdft-0.3.0/pypwdft/psp/pbe/Te-q6 +10 -0
  316. pypwdft-0.3.0/pypwdft/psp/pbe/Th-q12 +13 -0
  317. pypwdft-0.3.0/pypwdft/psp/pbe/Th-q30 +13 -0
  318. pypwdft-0.3.0/pypwdft/psp/pbe/Ti-q12 +9 -0
  319. pypwdft-0.3.0/pypwdft/psp/pbe/Tl-q13 +10 -0
  320. pypwdft-0.3.0/pypwdft/psp/pbe/Tl-q3 +10 -0
  321. pypwdft-0.3.0/pypwdft/psp/pbe/Tm-q23 +10 -0
  322. pypwdft-0.3.0/pypwdft/psp/pbe/U-q14 +13 -0
  323. pypwdft-0.3.0/pypwdft/psp/pbe/U-q32 +13 -0
  324. pypwdft-0.3.0/pypwdft/psp/pbe/V-q13 +9 -0
  325. pypwdft-0.3.0/pypwdft/psp/pbe/W-q14 +11 -0
  326. pypwdft-0.3.0/pypwdft/psp/pbe/W-q6 +10 -0
  327. pypwdft-0.3.0/pypwdft/psp/pbe/Xe-q8 +10 -0
  328. pypwdft-0.3.0/pypwdft/psp/pbe/Y-q11 +10 -0
  329. pypwdft-0.3.0/pypwdft/psp/pbe/Yb-q24 +10 -0
  330. pypwdft-0.3.0/pypwdft/psp/pbe/Zn-q12 +10 -0
  331. pypwdft-0.3.0/pypwdft/psp/pbe/Zn-q20 +9 -0
  332. pypwdft-0.3.0/pypwdft/psp/pbe/Zr-q12 +10 -0
  333. pypwdft-0.3.0/pypwdft/psp/pbe/__init__.py +29 -0
  334. pypwdft-0.3.0/pypwdft/psystem.py +376 -0
  335. pypwdft-0.3.0/pypwdft/pypwdft.py +781 -0
  336. pypwdft-0.3.0/pypwdft/visualization.py +271 -0
  337. pypwdft-0.3.0/pypwdft/xc.py +260 -0
  338. pypwdft-0.3.0/pypwdft.egg-info/PKG-INFO +265 -0
  339. pypwdft-0.3.0/pypwdft.egg-info/SOURCES.txt +355 -0
  340. pypwdft-0.3.0/pypwdft.egg-info/dependency_links.txt +1 -0
  341. pypwdft-0.3.0/pypwdft.egg-info/requires.txt +9 -0
  342. pypwdft-0.3.0/pypwdft.egg-info/top_level.txt +1 -0
  343. pypwdft-0.3.0/setup.cfg +4 -0
  344. pypwdft-0.3.0/tests/test_api.py +233 -0
  345. pypwdft-0.3.0/tests/test_davidson.py +212 -0
  346. pypwdft-0.3.0/tests/test_ewald.py +41 -0
  347. pypwdft-0.3.0/tests/test_fft.py +96 -0
  348. pypwdft-0.3.0/tests/test_gpu.py +110 -0
  349. pypwdft-0.3.0/tests/test_gth.py +147 -0
  350. pypwdft-0.3.0/tests/test_lanczos.py +115 -0
  351. pypwdft-0.3.0/tests/test_mixing.py +52 -0
  352. pypwdft-0.3.0/tests/test_orbitals.py +125 -0
  353. pypwdft-0.3.0/tests/test_psystem.py +103 -0
  354. pypwdft-0.3.0/tests/test_pwdft.py +271 -0
  355. pypwdft-0.3.0/tests/test_rec_terms.py +85 -0
  356. pypwdft-0.3.0/tests/test_visualization.py +109 -0
  357. pypwdft-0.3.0/tests/test_xc.py +82 -0
@@ -0,0 +1,130 @@
1
+ # Changelog
2
+
3
+ All notable changes to PyPWDFT are documented in this file. The project
4
+ follows [Semantic Versioning](https://semver.org/).
5
+
6
+ ## [0.3.0] - 2026-11-15
7
+
8
+ This release replaces the public interface. Scripts written for 0.2.x need to
9
+ be ported; see *Migrating from 0.2.x* below.
10
+
11
+ ### Added
12
+
13
+ - High-level API: `Structure`, `PWDFT`, `SCFSettings`, `GTH`, and `DFTResult`
14
+ with typed `EnergyComponents`, `OrbitalSet`, `BasisInfo`, and `SCFInfo`
15
+ results.
16
+ - GTH frozen-core pseudopotentials with local and non-local terms. The
17
+ GTH-PADE and GTH-PBE families are bundled (from eminus / CP2K) and matched
18
+ automatically to the chosen functional; `GTH(charges=...)` selects
19
+ alternative valence configurations.
20
+ - PBE exchange-correlation functional alongside LDA (Slater + VWN5).
21
+ - Spherical plane-wave cutoff and a separate density cutoff
22
+ (`density_cutoff`, default four times `cutoff`).
23
+ - Block Davidson eigensolver, restarted from the previous SCF orbitals, as the
24
+ default. The ARPACK Lanczos solver remains available through
25
+ `eigensolver="arpack"` and is checked against missed degenerate states.
26
+ - Pulay density mixing (default) and linear mixing; convergence is judged on
27
+ both the energy change and the density residual.
28
+ - Optional CuPy/CUDA backend (`device="cuda"`) and a `threads` option that
29
+ avoids BLAS/FFT thread contention.
30
+ - Real-valued Γ-point orbitals, with rotation inside degenerate levels.
31
+ - Contour plotting through `DFTResult.plot_orbitals` (including
32
+ `plane="auto"`, `ngrid`, `tick_rotation`, `show_imaginary_norm`) and
33
+ `DFTResult.plot_density`.
34
+ - Rewritten Sphinx documentation (installation, getting started, background,
35
+ usage, API reference), published on GitHub Pages.
36
+ - LaTeX technical note on the pseudopotential implementation
37
+ (`technical-notes/`).
38
+ - New examples: H2, CO, benzene, and cutoff-convergence studies.
39
+
40
+ ### Changed
41
+
42
+ - `matplotlib` and `threadpoolctl` are now runtime dependencies.
43
+ - The package version is read from the installed distribution metadata
44
+ (`pypwdft.__version__`); `pypwdft/_version.py` is gone.
45
+ - Packaging is defined entirely in `pyproject.toml`; `setup.py` is gone.
46
+ - Documentation is built and deployed to GitHub Pages by GitHub Actions.
47
+
48
+ ### Removed
49
+
50
+ - `PyPWDFT`, `PeriodicSystem`, and `SystemBuilder` are no longer exported from
51
+ `pypwdft`; `SystemBuilder` has been removed entirely.
52
+ - The `mendeleev` dependency.
53
+ - Conda packages: PyPWDFT is no longer built for the `ifilot` Anaconda
54
+ channel; install it from PyPI with `pip install pypwdft`.
55
+
56
+ ### Migrating from 0.2.x
57
+
58
+ ```python
59
+ # 0.2.x
60
+ from pypwdft import PyPWDFT, SystemBuilder
61
+ system = SystemBuilder().from_name("CH4", npts=32, sz=10)
62
+ res = PyPWDFT(system).scf()
63
+
64
+ # 0.3.0
65
+ from pypwdft import PWDFT, Structure
66
+ structure = Structure.from_name("CH4", cell=10)
67
+ result = PWDFT(structure, cutoff=40, xc="lda", pseudopotential="gth").run()
68
+ print(result.energy.total)
69
+ ```
70
+
71
+ Calculations are now specified with a kinetic-energy `cutoff` (Hartree)
72
+ instead of a number of grid points. 0.2.x was all-electron only; pass
73
+ `pseudopotential="all-electron"` to reproduce that model.
74
+
75
+ ## [0.2.2] - 2025-02-11
76
+
77
+ ### Fixed
78
+
79
+ - Conda packaging: the build workflow now uploads the `.conda` package format
80
+ to the Anaconda channel instead of `.tar.bz2`.
81
+
82
+ ## [0.2.1] - 2025-02-11
83
+
84
+ No functional changes to the library.
85
+
86
+ ### Added
87
+
88
+ - Bundled BH3 molecule (`SystemBuilder().from_name("BH3")`).
89
+ - Usage documentation on visualizing molecular orbitals: two-dimensional
90
+ projections and isosurfaces, with upsampling by quintic interpolation or in
91
+ the frequency domain.
92
+ - Examples for CH4 and CO isosurfaces, orbital orthonormalization, and
93
+ real/reciprocal-space transforms.
94
+ - PyPI, Anaconda, and build-status badges on the documentation front page.
95
+
96
+ ### Changed
97
+
98
+ - CI uses version 4 of the GitHub artifact actions; the documentation
99
+ workflow builds from `master`.
100
+
101
+ ## [0.2.0] - 2024-09-30
102
+
103
+ No functional changes from 0.1.0.
104
+
105
+ ## [0.1.0] - 2024-09-30
106
+
107
+ Initial release.
108
+
109
+ ### Added
110
+
111
+ - Plane-wave DFT solver for isolated molecules in a cubic, periodic unit cell
112
+ with Γ-point sampling (`PyPWDFT`, `PeriodicSystem`).
113
+ - All-electron Coulomb potential (no pseudopotentials), with an Ewald sum for
114
+ the nuclear repulsion.
115
+ - LDA exchange-correlation: Slater exchange and VWN5 correlation.
116
+ - A single basis set and FFT grid for both the orbitals and the electron
117
+ density, specified by the number of grid points per direction.
118
+ - Self-consistent field procedure (`PyPWDFT.scf()`) with ARPACK (`eigsh`)
119
+ diagonalization and damped density mixing.
120
+ - Choice of FFT module: NumPy, SciPy, or pyFFTW (default).
121
+ - `SystemBuilder` with bundled molecules (benzene, BF3, CH4, CO, CO2,
122
+ ethylene, H2, H2O, He, LiH, NH3) and XYZ-file input.
123
+ - Sphinx documentation, examples, and wheels on PyPI and the `ifilot`
124
+ Anaconda channel.
125
+
126
+ [0.3.0]: https://github.com/ifilot/pypwdft/compare/v0.2.2...v0.3.0
127
+ [0.2.2]: https://github.com/ifilot/pypwdft/compare/v0.2.1...v0.2.2
128
+ [0.2.1]: https://github.com/ifilot/pypwdft/compare/v0.2.0...v0.2.1
129
+ [0.2.0]: https://github.com/ifilot/pypwdft/releases/tag/v0.2.0
130
+ [0.1.0]: https://pypi.org/project/pypwdft/0.1.0/