mat3ra-esse 2024.4.8.post1__py3-none-any.whl → 2024.4.8.post2__py3-none-any.whl

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.

Potentially problematic release.


This version of mat3ra-esse might be problematic. Click here for more details.

Files changed (447) hide show
  1. mat3ra/esse/models/__init__.py +3 -0
  2. mat3ra/esse/models/core/__init__.py +3 -0
  3. mat3ra/esse/models/core/abstract/2d_data.py +17 -0
  4. mat3ra/esse/models/core/abstract/2d_plot.py +34 -0
  5. mat3ra/esse/models/core/abstract/3d_grid.py +14 -0
  6. mat3ra/esse/models/core/abstract/3d_tensor.py +19 -0
  7. mat3ra/esse/models/core/abstract/3d_vector_basis.py +15 -0
  8. mat3ra/esse/models/core/abstract/__init__.py +3 -0
  9. mat3ra/esse/models/core/abstract/point.py +13 -0
  10. mat3ra/esse/models/core/abstract/vector.py +13 -0
  11. mat3ra/esse/models/core/primitive/1d_data_series.py +13 -0
  12. mat3ra/esse/models/core/primitive/3d_lattice.py +34 -0
  13. mat3ra/esse/models/core/primitive/__init__.py +3 -0
  14. mat3ra/esse/models/core/primitive/array_of_3_booleans.py +13 -0
  15. mat3ra/esse/models/core/primitive/array_of_3_numbers.py +13 -0
  16. mat3ra/esse/models/core/primitive/array_of_ids.py +23 -0
  17. mat3ra/esse/models/core/primitive/array_of_strings.py +16 -0
  18. mat3ra/esse/models/core/primitive/axis.py +20 -0
  19. mat3ra/esse/models/core/primitive/group_info.py +20 -0
  20. mat3ra/esse/models/core/primitive/integer_one_or_zero.py +11 -0
  21. mat3ra/esse/models/core/primitive/linked_list/__init__.py +33 -0
  22. mat3ra/esse/models/core/primitive/linked_list/base_node.py +31 -0
  23. mat3ra/esse/models/core/primitive/linked_list/named_node.py +35 -0
  24. mat3ra/esse/models/core/primitive/linked_list/named_node_in_group.py +43 -0
  25. mat3ra/esse/models/core/primitive/linked_list/node_with_type.py +32 -0
  26. mat3ra/esse/models/core/primitive/scalar.py +11 -0
  27. mat3ra/esse/models/core/primitive/slugified_entry.py +18 -0
  28. mat3ra/esse/models/core/primitive/slugified_entry_or_slug.py +27 -0
  29. mat3ra/esse/models/core/primitive/string.py +11 -0
  30. mat3ra/esse/models/core/reference/__init__.py +260 -0
  31. mat3ra/esse/models/core/reference/exabyte.py +24 -0
  32. mat3ra/esse/models/core/reference/experiment/__init__.py +150 -0
  33. mat3ra/esse/models/core/reference/experiment/condition.py +28 -0
  34. mat3ra/esse/models/core/reference/experiment/location.py +18 -0
  35. mat3ra/esse/models/core/reference/literature/__init__.py +86 -0
  36. mat3ra/esse/models/core/reference/literature/name.py +16 -0
  37. mat3ra/esse/models/core/reference/literature/pages.py +14 -0
  38. mat3ra/esse/models/core/reference/modeling/__init__.py +49 -0
  39. mat3ra/esse/models/core/reference/modeling/exabyte.py +42 -0
  40. mat3ra/esse/models/core/reusable/__init__.py +3 -0
  41. mat3ra/esse/models/core/reusable/atomic_data/__init__.py +3 -0
  42. mat3ra/esse/models/core/reusable/atomic_data/per_orbital.py +21 -0
  43. mat3ra/esse/models/core/reusable/atomic_data/per_orbital_pair.py +34 -0
  44. mat3ra/esse/models/core/reusable/atomic_data/value_number.py +16 -0
  45. mat3ra/esse/models/core/reusable/atomic_data/value_string.py +16 -0
  46. mat3ra/esse/models/core/reusable/atomic_data_per_orbital_numeric.py +25 -0
  47. mat3ra/esse/models/core/reusable/atomic_data_per_orbital_pair_numeric.py +38 -0
  48. mat3ra/esse/models/core/reusable/atomic_orbital.py +20 -0
  49. mat3ra/esse/models/core/reusable/atomic_scalars.py +28 -0
  50. mat3ra/esse/models/core/reusable/atomic_strings.py +24 -0
  51. mat3ra/esse/models/core/reusable/atomic_vectors.py +24 -0
  52. mat3ra/esse/models/core/reusable/band_gap.py +42 -0
  53. mat3ra/esse/models/core/reusable/categories.py +43 -0
  54. mat3ra/esse/models/core/reusable/category_path.py +14 -0
  55. mat3ra/esse/models/core/reusable/dielectric_tensor_component.py +31 -0
  56. mat3ra/esse/models/core/reusable/energy.py +30 -0
  57. mat3ra/esse/models/core/reusable/file_metadata.py +24 -0
  58. mat3ra/esse/models/core/reusable/frequency_function_matrix.py +20 -0
  59. mat3ra/esse/models/core/reusable/object_storage_container_data.py +36 -0
  60. mat3ra/esse/models/definitions/__init__.py +3 -0
  61. mat3ra/esse/models/definitions/units.py +13 -0
  62. mat3ra/esse/models/element.py +74 -0
  63. mat3ra/esse/models/in_memory_entity/__init__.py +3 -0
  64. mat3ra/esse/models/in_memory_entity/base.py +58 -0
  65. mat3ra/esse/models/in_memory_entity/defaultable.py +62 -0
  66. mat3ra/esse/models/in_memory_entity/named.py +62 -0
  67. mat3ra/esse/models/in_memory_entity/named_defaultable.py +66 -0
  68. mat3ra/esse/models/in_memory_entity/named_defaultable_has_metadata.py +67 -0
  69. mat3ra/esse/models/in_memory_entity/named_defaultable_runtime_items.py +89 -0
  70. mat3ra/esse/models/job/__init__.py +3006 -0
  71. mat3ra/esse/models/job/base.py +287 -0
  72. mat3ra/esse/models/job/compute.py +161 -0
  73. mat3ra/esse/models/material/__init__.py +420 -0
  74. mat3ra/esse/models/material/conventional.py +13 -0
  75. mat3ra/esse/models/method/__init__.py +28 -0
  76. mat3ra/esse/models/method/categorized_method.py +86 -0
  77. mat3ra/esse/models/method/method_parameters.py +48 -0
  78. mat3ra/esse/models/method/unit_method.py +70 -0
  79. mat3ra/esse/models/methods_category/mathematical/__init__.py +3 -0
  80. mat3ra/esse/models/methods_category/mathematical/diff/__init__.py +48 -0
  81. mat3ra/esse/models/methods_category/mathematical/diff/enum_options.py +13 -0
  82. mat3ra/esse/models/methods_category/mathematical/diff/fd.py +52 -0
  83. mat3ra/esse/models/methods_category/mathematical/discr/__init__.py +48 -0
  84. mat3ra/esse/models/methods_category/mathematical/discr/enum_options.py +13 -0
  85. mat3ra/esse/models/methods_category/mathematical/discr/mesh/__init__.py +52 -0
  86. mat3ra/esse/models/methods_category/mathematical/discr/mesh/enum_options.py +13 -0
  87. mat3ra/esse/models/methods_category/mathematical/discr/mesh/hybrid.py +56 -0
  88. mat3ra/esse/models/methods_category/mathematical/discr/mesh/nstruct.py +56 -0
  89. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/__init__.py +56 -0
  90. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/cartesian.py +60 -0
  91. mat3ra/esse/models/methods_category/mathematical/discr/mesh/struct/enum_options.py +13 -0
  92. mat3ra/esse/models/methods_category/mathematical/enum_options.py +13 -0
  93. mat3ra/esse/models/methods_category/mathematical/fapprx/__init__.py +48 -0
  94. mat3ra/esse/models/methods_category/mathematical/fapprx/basisexp.py +52 -0
  95. mat3ra/esse/models/methods_category/mathematical/fapprx/enum_options.py +13 -0
  96. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/__init__.py +52 -0
  97. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/enum_options.py +13 -0
  98. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/lin.py +56 -0
  99. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/poly.py +56 -0
  100. mat3ra/esse/models/methods_category/mathematical/fapprx/ipol/spline.py +56 -0
  101. mat3ra/esse/models/methods_category/mathematical/intgr/__init__.py +48 -0
  102. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/__init__.py +52 -0
  103. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/enum_options.py +13 -0
  104. mat3ra/esse/models/methods_category/mathematical/intgr/analytic/volume.py +67 -0
  105. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/__init__.py +52 -0
  106. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/enum_options.py +13 -0
  107. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order1.py +56 -0
  108. mat3ra/esse/models/methods_category/mathematical/intgr/diffeq/order2.py +56 -0
  109. mat3ra/esse/models/methods_category/mathematical/intgr/enum_options.py +13 -0
  110. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/__init__.py +52 -0
  111. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/enum_options.py +13 -0
  112. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/gauss.py +56 -0
  113. mat3ra/esse/models/methods_category/mathematical/intgr/numquad/newcot.py +56 -0
  114. mat3ra/esse/models/methods_category/mathematical/intgr/transf/__init__.py +52 -0
  115. mat3ra/esse/models/methods_category/mathematical/intgr/transf/enum_options.py +13 -0
  116. mat3ra/esse/models/methods_category/mathematical/intgr/transf/fourier.py +56 -0
  117. mat3ra/esse/models/methods_category/mathematical/linalg/__init__.py +48 -0
  118. mat3ra/esse/models/methods_category/mathematical/linalg/dcomp.py +52 -0
  119. mat3ra/esse/models/methods_category/mathematical/linalg/diag/__init__.py +52 -0
  120. mat3ra/esse/models/methods_category/mathematical/linalg/diag/davidson.py +56 -0
  121. mat3ra/esse/models/methods_category/mathematical/linalg/diag/enum_options.py +13 -0
  122. mat3ra/esse/models/methods_category/mathematical/linalg/enum_options.py +13 -0
  123. mat3ra/esse/models/methods_category/mathematical/linalg/lintra.py +52 -0
  124. mat3ra/esse/models/methods_category/mathematical/linalg/matf.py +52 -0
  125. mat3ra/esse/models/methods_category/mathematical/opt/__init__.py +48 -0
  126. mat3ra/esse/models/methods_category/mathematical/opt/diff/__init__.py +52 -0
  127. mat3ra/esse/models/methods_category/mathematical/opt/diff/bracket.py +56 -0
  128. mat3ra/esse/models/methods_category/mathematical/opt/diff/enum_options.py +13 -0
  129. mat3ra/esse/models/methods_category/mathematical/opt/diff/local.py +56 -0
  130. mat3ra/esse/models/methods_category/mathematical/opt/diff/order1.py +56 -0
  131. mat3ra/esse/models/methods_category/mathematical/opt/diff/order2.py +56 -0
  132. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/__init__.py +56 -0
  133. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/cg.py +60 -0
  134. mat3ra/esse/models/methods_category/mathematical/opt/diff/ordern/enum_options.py +13 -0
  135. mat3ra/esse/models/methods_category/mathematical/opt/enum_options.py +13 -0
  136. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/__init__.py +52 -0
  137. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/direct.py +56 -0
  138. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/enum_options.py +13 -0
  139. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/pop.py +56 -0
  140. mat3ra/esse/models/methods_category/mathematical/opt/ndiff/stoch.py +56 -0
  141. mat3ra/esse/models/methods_category/mathematical/opt/root/__init__.py +52 -0
  142. mat3ra/esse/models/methods_category/mathematical/opt/root/bracket.py +56 -0
  143. mat3ra/esse/models/methods_category/mathematical/opt/root/enum_options.py +13 -0
  144. mat3ra/esse/models/methods_category/mathematical/opt/root/iter.py +56 -0
  145. mat3ra/esse/models/methods_category/mathematical/regression.py +54 -0
  146. mat3ra/esse/models/methods_category/physical/__init__.py +3 -0
  147. mat3ra/esse/models/methods_category/physical/enum_options.py +13 -0
  148. mat3ra/esse/models/methods_category/physical/qm/__init__.py +48 -0
  149. mat3ra/esse/models/methods_category/physical/qm/enum_options.py +13 -0
  150. mat3ra/esse/models/methods_category/physical/qm/wf/__init__.py +52 -0
  151. mat3ra/esse/models/methods_category/physical/qm/wf/ao/__init__.py +62 -0
  152. mat3ra/esse/models/methods_category/physical/qm/wf/ao/dunning.py +60 -0
  153. mat3ra/esse/models/methods_category/physical/qm/wf/ao/other.py +60 -0
  154. mat3ra/esse/models/methods_category/physical/qm/wf/ao/pople.py +60 -0
  155. mat3ra/esse/models/methods_category/physical/qm/wf/enum_options.py +13 -0
  156. mat3ra/esse/models/methods_category/physical/qm/wf/psp.py +63 -0
  157. mat3ra/esse/models/methods_category/physical/qm/wf/pw.py +56 -0
  158. mat3ra/esse/models/methods_category/physical/qm/wf/smearing.py +63 -0
  159. mat3ra/esse/models/methods_category/physical/qm/wf/tetrahedron.py +62 -0
  160. mat3ra/esse/models/methods_directory/legacy/__init__.py +3 -0
  161. mat3ra/esse/models/methods_directory/legacy/localorbital.py +37 -0
  162. mat3ra/esse/models/methods_directory/legacy/pseudopotential.py +40 -0
  163. mat3ra/esse/models/methods_directory/legacy/regression.py +118 -0
  164. mat3ra/esse/models/methods_directory/legacy/unknown.py +37 -0
  165. mat3ra/esse/models/methods_directory/mathematical/__init__.py +3 -0
  166. mat3ra/esse/models/methods_directory/mathematical/cg.py +87 -0
  167. mat3ra/esse/models/methods_directory/mathematical/davidson.py +83 -0
  168. mat3ra/esse/models/methods_directory/mathematical/regression/__init__.py +161 -0
  169. mat3ra/esse/models/methods_directory/mathematical/regression/data.py +69 -0
  170. mat3ra/esse/models/methods_directory/mathematical/regression/dataset.py +20 -0
  171. mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/__init__.py +3 -0
  172. mat3ra/esse/models/methods_directory/mathematical/regression/kernel_ridge/data_per_property.py +39 -0
  173. mat3ra/esse/models/methods_directory/mathematical/regression/linear/__init__.py +3 -0
  174. mat3ra/esse/models/methods_directory/mathematical/regression/linear/data_per_property.py +35 -0
  175. mat3ra/esse/models/methods_directory/mathematical/regression/per_feature_item.py +24 -0
  176. mat3ra/esse/models/methods_directory/mathematical/regression/precision.py +28 -0
  177. mat3ra/esse/models/methods_directory/mathematical/regression/precision_per_property.py +24 -0
  178. mat3ra/esse/models/methods_directory/physical/__init__.py +3 -0
  179. mat3ra/esse/models/methods_directory/physical/ao/__init__.py +3 -0
  180. mat3ra/esse/models/methods_directory/physical/ao/dunning.py +103 -0
  181. mat3ra/esse/models/methods_directory/physical/ao/enum_options.py +13 -0
  182. mat3ra/esse/models/methods_directory/physical/ao/other.py +107 -0
  183. mat3ra/esse/models/methods_directory/physical/ao/pople.py +101 -0
  184. mat3ra/esse/models/methods_directory/physical/psp/__init__.py +187 -0
  185. mat3ra/esse/models/methods_directory/physical/psp/file.py +106 -0
  186. mat3ra/esse/models/methods_directory/physical/psp/file_data_item.py +88 -0
  187. mat3ra/esse/models/methods_directory/physical/pw.py +83 -0
  188. mat3ra/esse/models/methods_directory/physical/smearing.py +90 -0
  189. mat3ra/esse/models/methods_directory/physical/tetrahedron.py +91 -0
  190. mat3ra/esse/models/model/__init__.py +43 -0
  191. mat3ra/esse/models/model/categorized_model.py +211 -0
  192. mat3ra/esse/models/model/mixins/__init__.py +3 -0
  193. mat3ra/esse/models/model/mixins/dft/__init__.py +5 -0
  194. mat3ra/esse/models/model/mixins/dft/double_hybrid_functional.py +18 -0
  195. mat3ra/esse/models/model/mixins/dft/enum_options.py +13 -0
  196. mat3ra/esse/models/model/mixins/dft/gga_functional.py +22 -0
  197. mat3ra/esse/models/model/mixins/dft/hybrid_functional.py +19 -0
  198. mat3ra/esse/models/model/mixins/dft/lda_functional.py +21 -0
  199. mat3ra/esse/models/model/mixins/dft/mgga_functional.py +21 -0
  200. mat3ra/esse/models/model/mixins/dispersion_correction.py +21 -0
  201. mat3ra/esse/models/model/mixins/enum_options.py +13 -0
  202. mat3ra/esse/models/model/mixins/hubbard.py +18 -0
  203. mat3ra/esse/models/model/mixins/spin_orbit_coupling.py +16 -0
  204. mat3ra/esse/models/model/mixins/spin_polarization.py +22 -0
  205. mat3ra/esse/models/model/model_parameters.py +123 -0
  206. mat3ra/esse/models/model/model_without_method.py +144 -0
  207. mat3ra/esse/models/models_category/__init__.py +3 -0
  208. mat3ra/esse/models/models_category/enum_options.py +13 -0
  209. mat3ra/esse/models/models_category/pb/__init__.py +48 -0
  210. mat3ra/esse/models/models_category/pb/enum_options.py +13 -0
  211. mat3ra/esse/models/models_category/pb/qm/__init__.py +52 -0
  212. mat3ra/esse/models/models_category/pb/qm/abin/__init__.py +56 -0
  213. mat3ra/esse/models/models_category/pb/qm/abin/enum_options.py +13 -0
  214. mat3ra/esse/models/models_category/pb/qm/abin/gw.py +66 -0
  215. mat3ra/esse/models/models_category/pb/qm/dft/__init__.py +56 -0
  216. mat3ra/esse/models/models_category/pb/qm/dft/enum_options.py +13 -0
  217. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/__init__.py +60 -0
  218. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/double_hybrid.py +64 -0
  219. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/enum_options.py +13 -0
  220. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/gga.py +64 -0
  221. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/hybrid.py +64 -0
  222. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/lda.py +64 -0
  223. mat3ra/esse/models/models_category/pb/qm/dft/ksdft/mgga.py +64 -0
  224. mat3ra/esse/models/models_category/pb/qm/enum_options.py +13 -0
  225. mat3ra/esse/models/models_category/pb/qm/semp.py +56 -0
  226. mat3ra/esse/models/models_category/st/__init__.py +48 -0
  227. mat3ra/esse/models/models_category/st/det/__init__.py +52 -0
  228. mat3ra/esse/models/models_category/st/det/enum_options.py +13 -0
  229. mat3ra/esse/models/models_category/st/det/ml/__init__.py +56 -0
  230. mat3ra/esse/models/models_category/st/det/ml/enum_options.py +13 -0
  231. mat3ra/esse/models/models_category/st/det/ml/re.py +60 -0
  232. mat3ra/esse/models/models_category/st/enum_options.py +13 -0
  233. mat3ra/esse/models/models_directory/__init__.py +3 -0
  234. mat3ra/esse/models/models_directory/double_hybrid.py +205 -0
  235. mat3ra/esse/models/models_directory/gga.py +219 -0
  236. mat3ra/esse/models/models_directory/gw.py +272 -0
  237. mat3ra/esse/models/models_directory/hybrid.py +213 -0
  238. mat3ra/esse/models/models_directory/lda.py +218 -0
  239. mat3ra/esse/models/models_directory/legacy/__init__.py +3 -0
  240. mat3ra/esse/models/models_directory/legacy/dft.py +170 -0
  241. mat3ra/esse/models/models_directory/legacy/ml.py +52 -0
  242. mat3ra/esse/models/models_directory/legacy/unknown.py +52 -0
  243. mat3ra/esse/models/models_directory/mgga.py +218 -0
  244. mat3ra/esse/models/models_directory/re.py +160 -0
  245. mat3ra/esse/models/project.py +82 -0
  246. mat3ra/esse/models/properties_directory/__init__.py +3 -0
  247. mat3ra/esse/models/properties_directory/derived_properties.py +140 -0
  248. mat3ra/esse/models/properties_directory/electronic_configuration.py +20 -0
  249. mat3ra/esse/models/properties_directory/elemental/__init__.py +3 -0
  250. mat3ra/esse/models/properties_directory/elemental/atomic_radius.py +34 -0
  251. mat3ra/esse/models/properties_directory/elemental/electronegativity.py +19 -0
  252. mat3ra/esse/models/properties_directory/elemental/ionization_potential.py +30 -0
  253. mat3ra/esse/models/properties_directory/non_scalar/__init__.py +3 -0
  254. mat3ra/esse/models/properties_directory/non_scalar/average_potential_profile.py +83 -0
  255. mat3ra/esse/models/properties_directory/non_scalar/band_gaps.py +64 -0
  256. mat3ra/esse/models/properties_directory/non_scalar/band_structure.py +92 -0
  257. mat3ra/esse/models/properties_directory/non_scalar/charge_density_profile.py +63 -0
  258. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +97 -0
  259. mat3ra/esse/models/properties_directory/non_scalar/dielectric_tensor.py +40 -0
  260. mat3ra/esse/models/properties_directory/non_scalar/file_content.py +64 -0
  261. mat3ra/esse/models/properties_directory/non_scalar/hubbard_u.py +40 -0
  262. mat3ra/esse/models/properties_directory/non_scalar/hubbard_v.py +54 -0
  263. mat3ra/esse/models/properties_directory/non_scalar/hubbard_v_nn.py +54 -0
  264. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +79 -0
  265. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +71 -0
  266. mat3ra/esse/models/properties_directory/non_scalar/potential_profile.py +69 -0
  267. mat3ra/esse/models/properties_directory/non_scalar/reaction_energy_profile.py +69 -0
  268. mat3ra/esse/models/properties_directory/non_scalar/stress_tensor.py +31 -0
  269. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +198 -0
  270. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +75 -0
  271. mat3ra/esse/models/properties_directory/scalar/__init__.py +3 -0
  272. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +34 -0
  273. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +34 -0
  274. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +34 -0
  275. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +34 -0
  276. mat3ra/esse/models/properties_directory/scalar/pressure.py +25 -0
  277. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +34 -0
  278. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +34 -0
  279. mat3ra/esse/models/properties_directory/scalar/total_energy.py +34 -0
  280. mat3ra/esse/models/properties_directory/scalar/total_force.py +29 -0
  281. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +34 -0
  282. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +34 -0
  283. mat3ra/esse/models/properties_directory/structural/__init__.py +3 -0
  284. mat3ra/esse/models/properties_directory/structural/atomic_forces.py +40 -0
  285. mat3ra/esse/models/properties_directory/structural/basis/__init__.py +68 -0
  286. mat3ra/esse/models/properties_directory/structural/basis/atomic_constraints.py +30 -0
  287. mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinate.py +14 -0
  288. mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinates.py +39 -0
  289. mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +19 -0
  290. mat3ra/esse/models/properties_directory/structural/basis/bonds.py +40 -0
  291. mat3ra/esse/models/properties_directory/structural/density.py +24 -0
  292. mat3ra/esse/models/properties_directory/structural/elemental_ratio.py +23 -0
  293. mat3ra/esse/models/properties_directory/structural/inchi.py +19 -0
  294. mat3ra/esse/models/properties_directory/structural/inchi_key.py +19 -0
  295. mat3ra/esse/models/properties_directory/structural/lattice/__init__.py +102 -0
  296. mat3ra/esse/models/properties_directory/structural/lattice/lattice_bravais.py +71 -0
  297. mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py +35 -0
  298. mat3ra/esse/models/properties_directory/structural/lattice/type_enum.py +24 -0
  299. mat3ra/esse/models/properties_directory/structural/lattice/type_extended_enum.py +34 -0
  300. mat3ra/esse/models/properties_directory/structural/magnetic_moments.py +35 -0
  301. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +70 -0
  302. mat3ra/esse/models/properties_directory/structural/p_norm.py +23 -0
  303. mat3ra/esse/models/properties_directory/structural/patterns/__init__.py +3 -0
  304. mat3ra/esse/models/properties_directory/structural/patterns/functional_group.py +37 -0
  305. mat3ra/esse/models/properties_directory/structural/patterns/ring.py +34 -0
  306. mat3ra/esse/models/properties_directory/structural/patterns/special_bond.py +33 -0
  307. mat3ra/esse/models/properties_directory/structural/symmetry.py +39 -0
  308. mat3ra/esse/models/properties_directory/structural/volume.py +24 -0
  309. mat3ra/esse/models/properties_directory/workflow/convergence/__init__.py +3 -0
  310. mat3ra/esse/models/properties_directory/workflow/convergence/electronic.py +26 -0
  311. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +63 -0
  312. mat3ra/esse/models/properties_directory/workflow/convergence/kpoint.py +43 -0
  313. mat3ra/esse/models/property/__init__.py +3 -0
  314. mat3ra/esse/models/property/base/The_source_of_a_property/__init__.py +5 -0
  315. mat3ra/esse/models/property/base/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  316. mat3ra/esse/models/property/base/__init__.py +232 -0
  317. mat3ra/esse/models/property/meta/The_source_of_a_property/__init__.py +5 -0
  318. mat3ra/esse/models/property/meta/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  319. mat3ra/esse/models/property/meta/__init__.py +232 -0
  320. mat3ra/esse/models/property/raw/The_source_of_a_property/__init__.py +5 -0
  321. mat3ra/esse/models/property/raw/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  322. mat3ra/esse/models/property/raw/__init__.py +232 -0
  323. mat3ra/esse/models/property/source/The_source_of_a_property/__init__.py +5 -0
  324. mat3ra/esse/models/property/source/The_source_of_a_property/field_This_could_be_an_article__a_simulation_on_Exabyte__an_external_simulation__etc.py +38 -0
  325. mat3ra/esse/models/property/source/__init__.py +150 -0
  326. mat3ra/esse/models/software/__init__.py +3 -0
  327. mat3ra/esse/models/software/application.py +93 -0
  328. mat3ra/esse/models/software/executable.py +97 -0
  329. mat3ra/esse/models/software/flavor.py +116 -0
  330. mat3ra/esse/models/software/template.py +77 -0
  331. mat3ra/esse/models/software_directory/ml/__init__.py +3 -0
  332. mat3ra/esse/models/software_directory/ml/exabyteml.py +28 -0
  333. mat3ra/esse/models/software_directory/ml/unit/__init__.py +3 -0
  334. mat3ra/esse/models/software_directory/ml/unit/execution/__init__.py +1348 -0
  335. mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/__init__.py +5 -0
  336. mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/cross_validate.py +381 -0
  337. mat3ra/esse/models/software_directory/ml/unit/execution/initialize.py +381 -0
  338. mat3ra/esse/models/software_directory/ml/unit/execution/score.py +374 -0
  339. mat3ra/esse/models/software_directory/ml/unit/execution/train.py +385 -0
  340. mat3ra/esse/models/software_directory/ml/unit/processing/__init__.py +328 -0
  341. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/__init__.py +199 -0
  342. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/manipulation.py +176 -0
  343. mat3ra/esse/models/software_directory/ml/unit/processing/data_transformation/scale_and_reduce.py +195 -0
  344. mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/__init__.py +180 -0
  345. mat3ra/esse/models/software_directory/ml/unit/processing/feature_selection/filter_based.py +176 -0
  346. mat3ra/esse/models/software_directory/modeling/__init__.py +3 -0
  347. mat3ra/esse/models/software_directory/modeling/deepmd.py +112 -0
  348. mat3ra/esse/models/software_directory/modeling/espresso/__init__.py +39 -0
  349. mat3ra/esse/models/software_directory/modeling/espresso/arguments.py +35 -0
  350. mat3ra/esse/models/software_directory/modeling/nwchem.py +113 -0
  351. mat3ra/esse/models/software_directory/modeling/unit/__init__.py +3 -0
  352. mat3ra/esse/models/software_directory/modeling/unit/execution.py +390 -0
  353. mat3ra/esse/models/software_directory/modeling/vasp.py +117 -0
  354. mat3ra/esse/models/software_directory/scripting/__init__.py +3 -0
  355. mat3ra/esse/models/software_directory/scripting/jupyter_lab.py +115 -0
  356. mat3ra/esse/models/software_directory/scripting/python.py +129 -0
  357. mat3ra/esse/models/software_directory/scripting/shell.py +129 -0
  358. mat3ra/esse/models/software_directory/scripting/unit/__init__.py +3 -0
  359. mat3ra/esse/models/software_directory/scripting/unit/execution.py +390 -0
  360. mat3ra/esse/models/system/__init__.py +3 -0
  361. mat3ra/esse/models/system/_material.py +29 -0
  362. mat3ra/esse/models/system/_parent_job.py +29 -0
  363. mat3ra/esse/models/system/_project.py +29 -0
  364. mat3ra/esse/models/system/bankable.py +20 -0
  365. mat3ra/esse/models/system/consistency_check.py +40 -0
  366. mat3ra/esse/models/system/creator.py +29 -0
  367. mat3ra/esse/models/system/creator_account.py +28 -0
  368. mat3ra/esse/models/system/database_source.py +36 -0
  369. mat3ra/esse/models/system/defaultable.py +16 -0
  370. mat3ra/esse/models/system/description.py +17 -0
  371. mat3ra/esse/models/system/entity_reference.py +24 -0
  372. mat3ra/esse/models/system/file_source.py +28 -0
  373. mat3ra/esse/models/system/history.py +18 -0
  374. mat3ra/esse/models/system/iframe_message.py +36 -0
  375. mat3ra/esse/models/system/in_set.py +30 -0
  376. mat3ra/esse/models/system/is_multi_material.py +13 -0
  377. mat3ra/esse/models/system/is_outdated.py +13 -0
  378. mat3ra/esse/models/system/job_extended.py +36 -0
  379. mat3ra/esse/models/system/message.py +59 -0
  380. mat3ra/esse/models/system/metadata.py +13 -0
  381. mat3ra/esse/models/system/name.py +16 -0
  382. mat3ra/esse/models/system/owner.py +29 -0
  383. mat3ra/esse/models/system/path.py +16 -0
  384. mat3ra/esse/models/system/path_entity.py +20 -0
  385. mat3ra/esse/models/system/schema_version.py +16 -0
  386. mat3ra/esse/models/system/scope.py +13 -0
  387. mat3ra/esse/models/system/set.py +15 -0
  388. mat3ra/esse/models/system/sharing.py +13 -0
  389. mat3ra/esse/models/system/soft_removable.py +20 -0
  390. mat3ra/esse/models/system/status.py +20 -0
  391. mat3ra/esse/models/system/tags.py +16 -0
  392. mat3ra/esse/models/system/timestampable.py +22 -0
  393. mat3ra/esse/models/system/use_values.py +13 -0
  394. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/__init__.py +3 -0
  395. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/atoms.py +41 -0
  396. mat3ra/esse/models/third_party/db/nist_jarvis/2024.3.13/db_entry.py +55 -0
  397. mat3ra/esse/models/third_party/file/applications/espresso/7.2/__init__.py +3 -0
  398. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/__init__.py +1990 -0
  399. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_positions.py +51 -0
  400. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_species.py +34 -0
  401. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell.py +111 -0
  402. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell_parameters.py +36 -0
  403. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/control.py +169 -0
  404. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/electrons.py +139 -0
  405. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/hubbard.py +194 -0
  406. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/ions.py +422 -0
  407. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/k_points.py +73 -0
  408. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/system.py +841 -0
  409. mat3ra/esse/models/workflow/__init__.py +2817 -0
  410. mat3ra/esse/models/workflow/base.py +79 -0
  411. mat3ra/esse/models/workflow/base_flow.py +180 -0
  412. mat3ra/esse/models/workflow/scope.py +14 -0
  413. mat3ra/esse/models/workflow/subworkflow/__init__.py +1472 -0
  414. mat3ra/esse/models/workflow/subworkflow/unit.py +1187 -0
  415. mat3ra/esse/models/workflow/unit/__init__.py +1415 -0
  416. mat3ra/esse/models/workflow/unit/assertion.py +149 -0
  417. mat3ra/esse/models/workflow/unit/assignment.py +165 -0
  418. mat3ra/esse/models/workflow/unit/base.py +137 -0
  419. mat3ra/esse/models/workflow/unit/condition.py +176 -0
  420. mat3ra/esse/models/workflow/unit/execution.py +374 -0
  421. mat3ra/esse/models/workflow/unit/input/__init__.py +3 -0
  422. mat3ra/esse/models/workflow/unit/input/_input.py +43 -0
  423. mat3ra/esse/models/workflow/unit/input/_inputItem.py +18 -0
  424. mat3ra/esse/models/workflow/unit/input/_inputItemId.py +21 -0
  425. mat3ra/esse/models/workflow/unit/input/_inputItemScope.py +18 -0
  426. mat3ra/esse/models/workflow/unit/input/_map_input/__init__.py +17 -0
  427. mat3ra/esse/models/workflow/unit/input/_map_input/values.py +13 -0
  428. mat3ra/esse/models/workflow/unit/io/__init__.py +254 -0
  429. mat3ra/esse/models/workflow/unit/io/api.py +27 -0
  430. mat3ra/esse/models/workflow/unit/io/db.py +39 -0
  431. mat3ra/esse/models/workflow/unit/io/object_storage.py +59 -0
  432. mat3ra/esse/models/workflow/unit/map.py +169 -0
  433. mat3ra/esse/models/workflow/unit/processing.py +153 -0
  434. mat3ra/esse/models/workflow/unit/reduce.py +160 -0
  435. mat3ra/esse/models/workflow/unit/runtime/__init__.py +3 -0
  436. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_full_object.py +14 -0
  437. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_name_object.py +14 -0
  438. mat3ra/esse/models/workflow/unit/runtime/_runtime_item_string.py +14 -0
  439. mat3ra/esse/models/workflow/unit/runtime/runtime_item.py +20 -0
  440. mat3ra/esse/models/workflow/unit/runtime/runtime_items.py +35 -0
  441. mat3ra/esse/models/workflow/unit/subworkflow.py +141 -0
  442. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/METADATA +1 -1
  443. mat3ra_esse-2024.4.8.post2.dist-info/RECORD +453 -0
  444. mat3ra_esse-2024.4.8.post1.dist-info/RECORD +0 -12
  445. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/LICENSE.md +0 -0
  446. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/WHEEL +0 -0
  447. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post2.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,187 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: methods_directory/physical/psp.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import Any, Dict, List, Optional, Union
9
+
10
+ from pydantic import BaseModel, Field, confloat, conint, constr
11
+
12
+
13
+ class SlugifiedEntry(BaseModel):
14
+ name: str
15
+ """
16
+ descriptive human-readable name of entry
17
+ """
18
+ slug: str
19
+ """
20
+ machine-readable identifier
21
+ """
22
+
23
+
24
+ class SlugifiedEntryOrSlug(Enum):
25
+ psp = "psp"
26
+
27
+
28
+ class SlugifiedEntryOrSlug209(Enum):
29
+ us = "us"
30
+ nc = "nc"
31
+ paw = "paw"
32
+ coulomb = "coulomb"
33
+
34
+
35
+ class SlugifiedEntryOrSlug210(Enum):
36
+ wf = "wf"
37
+
38
+
39
+ class SlugifiedEntryOrSlug211(Enum):
40
+ qm = "qm"
41
+
42
+
43
+ class PseudopotentialCategorySchema(BaseModel):
44
+ type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
45
+ """
46
+ contains either object with slugified entry or slug only as a string
47
+ """
48
+ subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug209]] = Field(None, title="slugified entry or slug")
49
+ """
50
+ contains either object with slugified entry or slug only as a string
51
+ """
52
+ tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug210]] = Field(None, title="slugified entry or slug")
53
+ """
54
+ contains either object with slugified entry or slug only as a string
55
+ """
56
+ tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug211]] = Field(None, title="slugified entry or slug")
57
+ """
58
+ contains either object with slugified entry or slug only as a string
59
+ """
60
+ tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
61
+ """
62
+ contains either object with slugified entry or slug only as a string
63
+ """
64
+
65
+
66
+ class Slug(Enum):
67
+ pseudopotential = "pseudopotential"
68
+
69
+
70
+ class Type(Enum):
71
+ us = "us"
72
+ nc = "nc"
73
+ paw = "paw"
74
+ coulomb = "coulomb"
75
+
76
+
77
+ class ExchangeCorrelation(BaseModel):
78
+ approximation: Optional[str] = None
79
+ """
80
+ DFT approximation
81
+ """
82
+ functional: Optional[str] = None
83
+ """
84
+ Exchange correlation functional
85
+ """
86
+ path: Optional[str] = Field(None, title="category path schema")
87
+ """
88
+ TODO: Use regex once schema draft version has been updated
89
+ """
90
+
91
+
92
+ class AtomicOrbitalSchema(BaseModel):
93
+ orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None
94
+ orbitalIndex: Optional[conint(ge=1)] = None
95
+ principalNumber: Optional[conint(ge=1, le=7)] = None
96
+ angularMomentum: Optional[conint(ge=0, le=3)] = None
97
+ occupation: Optional[confloat(ge=0.0, le=14.0)] = None
98
+ """
99
+ Shell occupation
100
+ """
101
+
102
+
103
+ class Name(Enum):
104
+ pseudopotential = "pseudopotential"
105
+
106
+
107
+ class FileDataItem(BaseModel):
108
+ element: str
109
+ """
110
+ chemical element
111
+ """
112
+ hash: Optional[str] = None
113
+ """
114
+ MD5 hash of the pseudopotential file
115
+ """
116
+ type: Type
117
+ source: str
118
+ """
119
+ explains where this came from
120
+ """
121
+ version: Optional[str] = None
122
+ """
123
+ explains the version of where this came from
124
+ """
125
+ exchangeCorrelation: ExchangeCorrelation
126
+ valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None
127
+ """
128
+ contains pseudo orbital information, including orbital names and occupations
129
+ """
130
+ path: str
131
+ """
132
+ location of the pseudopotential file on filesystem
133
+ """
134
+ apps: List[str]
135
+ """
136
+ The names of the simulation engines that can use this pseudopotential, e.g. espresso
137
+ """
138
+ filename: Optional[str] = None
139
+ """
140
+ filename of pseudopotential file on filesystem
141
+ """
142
+ name: Optional[Name] = None
143
+ """
144
+ name of the data category
145
+ """
146
+
147
+
148
+ class Source(BaseModel):
149
+ info: Optional[Dict[str, Any]] = None
150
+ type: Optional[str] = None
151
+
152
+
153
+ class PseudopotentialFile(BaseModel):
154
+ slug: Optional[Slug] = None
155
+ data: Optional[FileDataItem] = Field(None, title="File data item")
156
+ source: Optional[Source] = None
157
+ """
158
+ TODO: remove in the future
159
+ """
160
+
161
+
162
+ class UnitMethodPseudopotential(BaseModel):
163
+ categories: PseudopotentialCategorySchema = Field(..., title="Pseudopotential category schema")
164
+ """
165
+ Used to categorize entities such as models and methods
166
+ """
167
+ data: Optional[List[PseudopotentialFile]] = None
168
+ parameters: Optional[Dict[str, Any]] = None
169
+ """
170
+ Instructive parameters defining the method
171
+ """
172
+ precision: Optional[Dict[str, Any]] = None
173
+ """
174
+ Object showing the actual possible precision based on theory and implementation
175
+ """
176
+ name: Optional[str] = None
177
+ """
178
+ entity name
179
+ """
180
+ path: Optional[str] = Field(None, title="category path schema")
181
+ """
182
+ TODO: Use regex once schema draft version has been updated
183
+ """
184
+ tags: Optional[List[str]] = None
185
+ """
186
+ entity tags
187
+ """
@@ -0,0 +1,106 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: methods_directory/physical/psp/file.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import Any, Dict, List, Optional
9
+
10
+ from pydantic import BaseModel, Field, confloat, conint, constr
11
+
12
+
13
+ class Slug(Enum):
14
+ pseudopotential = "pseudopotential"
15
+
16
+
17
+ class Type(Enum):
18
+ us = "us"
19
+ nc = "nc"
20
+ paw = "paw"
21
+ coulomb = "coulomb"
22
+
23
+
24
+ class ExchangeCorrelation(BaseModel):
25
+ approximation: Optional[str] = None
26
+ """
27
+ DFT approximation
28
+ """
29
+ functional: Optional[str] = None
30
+ """
31
+ Exchange correlation functional
32
+ """
33
+ path: Optional[str] = Field(None, title="category path schema")
34
+ """
35
+ TODO: Use regex once schema draft version has been updated
36
+ """
37
+
38
+
39
+ class AtomicOrbitalSchema(BaseModel):
40
+ orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None
41
+ orbitalIndex: Optional[conint(ge=1)] = None
42
+ principalNumber: Optional[conint(ge=1, le=7)] = None
43
+ angularMomentum: Optional[conint(ge=0, le=3)] = None
44
+ occupation: Optional[confloat(ge=0.0, le=14.0)] = None
45
+ """
46
+ Shell occupation
47
+ """
48
+
49
+
50
+ class Name(Enum):
51
+ pseudopotential = "pseudopotential"
52
+
53
+
54
+ class FileDataItem(BaseModel):
55
+ element: str
56
+ """
57
+ chemical element
58
+ """
59
+ hash: Optional[str] = None
60
+ """
61
+ MD5 hash of the pseudopotential file
62
+ """
63
+ type: Type
64
+ source: str
65
+ """
66
+ explains where this came from
67
+ """
68
+ version: Optional[str] = None
69
+ """
70
+ explains the version of where this came from
71
+ """
72
+ exchangeCorrelation: ExchangeCorrelation
73
+ valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None
74
+ """
75
+ contains pseudo orbital information, including orbital names and occupations
76
+ """
77
+ path: str
78
+ """
79
+ location of the pseudopotential file on filesystem
80
+ """
81
+ apps: List[str]
82
+ """
83
+ The names of the simulation engines that can use this pseudopotential, e.g. espresso
84
+ """
85
+ filename: Optional[str] = None
86
+ """
87
+ filename of pseudopotential file on filesystem
88
+ """
89
+ name: Optional[Name] = None
90
+ """
91
+ name of the data category
92
+ """
93
+
94
+
95
+ class Source(BaseModel):
96
+ info: Optional[Dict[str, Any]] = None
97
+ type: Optional[str] = None
98
+
99
+
100
+ class PseudopotentialFile(BaseModel):
101
+ slug: Optional[Slug] = None
102
+ data: Optional[FileDataItem] = Field(None, title="File data item")
103
+ source: Optional[Source] = None
104
+ """
105
+ TODO: remove in the future
106
+ """
@@ -0,0 +1,88 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: methods_directory/physical/psp/file_data_item.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import List, Optional
9
+
10
+ from pydantic import BaseModel, Field, confloat, conint, constr
11
+
12
+
13
+ class Type(Enum):
14
+ us = "us"
15
+ nc = "nc"
16
+ paw = "paw"
17
+ coulomb = "coulomb"
18
+
19
+
20
+ class ExchangeCorrelation(BaseModel):
21
+ approximation: Optional[str] = None
22
+ """
23
+ DFT approximation
24
+ """
25
+ functional: Optional[str] = None
26
+ """
27
+ Exchange correlation functional
28
+ """
29
+ path: Optional[str] = Field(None, title="category path schema")
30
+ """
31
+ TODO: Use regex once schema draft version has been updated
32
+ """
33
+
34
+
35
+ class AtomicOrbitalSchema(BaseModel):
36
+ orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None
37
+ orbitalIndex: Optional[conint(ge=1)] = None
38
+ principalNumber: Optional[conint(ge=1, le=7)] = None
39
+ angularMomentum: Optional[conint(ge=0, le=3)] = None
40
+ occupation: Optional[confloat(ge=0.0, le=14.0)] = None
41
+ """
42
+ Shell occupation
43
+ """
44
+
45
+
46
+ class Name(Enum):
47
+ pseudopotential = "pseudopotential"
48
+
49
+
50
+ class FileDataItem(BaseModel):
51
+ element: str
52
+ """
53
+ chemical element
54
+ """
55
+ hash: Optional[str] = None
56
+ """
57
+ MD5 hash of the pseudopotential file
58
+ """
59
+ type: Type
60
+ source: str
61
+ """
62
+ explains where this came from
63
+ """
64
+ version: Optional[str] = None
65
+ """
66
+ explains the version of where this came from
67
+ """
68
+ exchangeCorrelation: ExchangeCorrelation
69
+ valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None
70
+ """
71
+ contains pseudo orbital information, including orbital names and occupations
72
+ """
73
+ path: str
74
+ """
75
+ location of the pseudopotential file on filesystem
76
+ """
77
+ apps: List[str]
78
+ """
79
+ The names of the simulation engines that can use this pseudopotential, e.g. espresso
80
+ """
81
+ filename: Optional[str] = None
82
+ """
83
+ filename of pseudopotential file on filesystem
84
+ """
85
+ name: Optional[Name] = None
86
+ """
87
+ name of the data category
88
+ """
@@ -0,0 +1,83 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: methods_directory/physical/pw.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import Any, Dict, List, Optional, Union
9
+
10
+ from pydantic import BaseModel, Field
11
+
12
+
13
+ class SlugifiedEntry(BaseModel):
14
+ name: str
15
+ """
16
+ descriptive human-readable name of entry
17
+ """
18
+ slug: str
19
+ """
20
+ machine-readable identifier
21
+ """
22
+
23
+
24
+ class SlugifiedEntryOrSlug(Enum):
25
+ pw = "pw"
26
+
27
+
28
+ class SlugifiedEntryOrSlug217(Enum):
29
+ wf = "wf"
30
+
31
+
32
+ class SlugifiedEntryOrSlug218(Enum):
33
+ qm = "qm"
34
+
35
+
36
+ class PlaneWaveCatgeorySchema(BaseModel):
37
+ type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
38
+ """
39
+ contains either object with slugified entry or slug only as a string
40
+ """
41
+ tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug217]] = Field(None, title="slugified entry or slug")
42
+ """
43
+ contains either object with slugified entry or slug only as a string
44
+ """
45
+ tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug218]] = Field(None, title="slugified entry or slug")
46
+ """
47
+ contains either object with slugified entry or slug only as a string
48
+ """
49
+ tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
50
+ """
51
+ contains either object with slugified entry or slug only as a string
52
+ """
53
+ subtype: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
54
+ """
55
+ contains either object with slugified entry or slug only as a string
56
+ """
57
+
58
+
59
+ class UnitMethodPlaneWave(BaseModel):
60
+ categories: PlaneWaveCatgeorySchema = Field(..., title="Plane wave catgeory schema")
61
+ """
62
+ Used to categorize entities such as models and methods
63
+ """
64
+ parameters: Optional[Dict[str, Any]] = None
65
+ """
66
+ Instructive parameters defining the method
67
+ """
68
+ precision: Optional[Dict[str, Any]] = None
69
+ """
70
+ Object showing the actual possible precision based on theory and implementation
71
+ """
72
+ name: Optional[str] = None
73
+ """
74
+ entity name
75
+ """
76
+ path: Optional[str] = Field(None, title="category path schema")
77
+ """
78
+ TODO: Use regex once schema draft version has been updated
79
+ """
80
+ tags: Optional[List[str]] = None
81
+ """
82
+ entity tags
83
+ """
@@ -0,0 +1,90 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: methods_directory/physical/smearing.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import Any, Dict, List, Optional, Union
9
+
10
+ from pydantic import BaseModel, Field
11
+
12
+
13
+ class SlugifiedEntry(BaseModel):
14
+ name: str
15
+ """
16
+ descriptive human-readable name of entry
17
+ """
18
+ slug: str
19
+ """
20
+ machine-readable identifier
21
+ """
22
+
23
+
24
+ class SlugifiedEntryOrSlug(Enum):
25
+ smearing = "smearing"
26
+
27
+
28
+ class SlugifiedEntryOrSlug243(Enum):
29
+ gaussian = "gaussian"
30
+ marzari_vanderbilt = "marzari-vanderbilt"
31
+ methfessel_paxton = "methfessel-paxton"
32
+ fermi_dirac = "fermi-dirac"
33
+
34
+
35
+ class SlugifiedEntryOrSlug244(Enum):
36
+ wf = "wf"
37
+
38
+
39
+ class SlugifiedEntryOrSlug245(Enum):
40
+ qm = "qm"
41
+
42
+
43
+ class SmearingMethodsCategorySchema(BaseModel):
44
+ type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
45
+ """
46
+ contains either object with slugified entry or slug only as a string
47
+ """
48
+ subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug243]] = Field(None, title="slugified entry or slug")
49
+ """
50
+ contains either object with slugified entry or slug only as a string
51
+ """
52
+ tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug244]] = Field(None, title="slugified entry or slug")
53
+ """
54
+ contains either object with slugified entry or slug only as a string
55
+ """
56
+ tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug245]] = Field(None, title="slugified entry or slug")
57
+ """
58
+ contains either object with slugified entry or slug only as a string
59
+ """
60
+ tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
61
+ """
62
+ contains either object with slugified entry or slug only as a string
63
+ """
64
+
65
+
66
+ class UnitMethodSmearing(BaseModel):
67
+ categories: SmearingMethodsCategorySchema = Field(..., title="Smearing methods category schema")
68
+ """
69
+ Approximating Heaviside step function with smooth function
70
+ """
71
+ parameters: Optional[Dict[str, Any]] = None
72
+ """
73
+ Instructive parameters defining the method
74
+ """
75
+ precision: Optional[Dict[str, Any]] = None
76
+ """
77
+ Object showing the actual possible precision based on theory and implementation
78
+ """
79
+ name: Optional[str] = None
80
+ """
81
+ entity name
82
+ """
83
+ path: Optional[str] = Field(None, title="category path schema")
84
+ """
85
+ TODO: Use regex once schema draft version has been updated
86
+ """
87
+ tags: Optional[List[str]] = None
88
+ """
89
+ entity tags
90
+ """
@@ -0,0 +1,91 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: methods_directory/physical/tetrahedron.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from enum import Enum
8
+ from typing import Any, Dict, List, Optional, Union
9
+
10
+ from pydantic import BaseModel, Field
11
+
12
+
13
+ class SlugifiedEntry(BaseModel):
14
+ name: str
15
+ """
16
+ descriptive human-readable name of entry
17
+ """
18
+ slug: str
19
+ """
20
+ machine-readable identifier
21
+ """
22
+
23
+
24
+ class SlugifiedEntryOrSlug(Enum):
25
+ tetrahedron = "tetrahedron"
26
+
27
+
28
+ class SlugifiedEntryOrSlug261(Enum):
29
+ linear = "linear"
30
+ optimized = "optimized"
31
+ bloechl = "bloechl"
32
+
33
+
34
+ class SlugifiedEntryOrSlug262(Enum):
35
+ wf = "wf"
36
+
37
+
38
+ class SlugifiedEntryOrSlug263(Enum):
39
+ qm = "qm"
40
+
41
+
42
+ class TetrahedronMethodForBrillouinZoneIntegrationCategorySchema(BaseModel):
43
+ type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
44
+ """
45
+ contains either object with slugified entry or slug only as a string
46
+ """
47
+ subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug261]] = Field(None, title="slugified entry or slug")
48
+ """
49
+ contains either object with slugified entry or slug only as a string
50
+ """
51
+ tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug262]] = Field(None, title="slugified entry or slug")
52
+ """
53
+ contains either object with slugified entry or slug only as a string
54
+ """
55
+ tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug263]] = Field(None, title="slugified entry or slug")
56
+ """
57
+ contains either object with slugified entry or slug only as a string
58
+ """
59
+ tier3: Optional[Union[SlugifiedEntry, str]] = Field(None, title="slugified entry or slug")
60
+ """
61
+ contains either object with slugified entry or slug only as a string
62
+ """
63
+
64
+
65
+ class UnitMethodTetrahedron(BaseModel):
66
+ categories: TetrahedronMethodForBrillouinZoneIntegrationCategorySchema = Field(
67
+ ..., title="Tetrahedron method for Brillouin zone integration category schema"
68
+ )
69
+ """
70
+ Used to categorize entities such as models and methods
71
+ """
72
+ parameters: Optional[Dict[str, Any]] = None
73
+ """
74
+ Instructive parameters defining the method
75
+ """
76
+ precision: Optional[Dict[str, Any]] = None
77
+ """
78
+ Object showing the actual possible precision based on theory and implementation
79
+ """
80
+ name: Optional[str] = None
81
+ """
82
+ entity name
83
+ """
84
+ path: Optional[str] = Field(None, title="category path schema")
85
+ """
86
+ TODO: Use regex once schema draft version has been updated
87
+ """
88
+ tags: Optional[List[str]] = None
89
+ """
90
+ entity tags
91
+ """
@@ -0,0 +1,43 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: model.json
3
+ # version: 0.25.5
4
+
5
+ from __future__ import annotations
6
+
7
+ from typing import Any, Dict, Optional
8
+
9
+ from pydantic import BaseModel, ConfigDict, Field
10
+
11
+
12
+ class BaseMethod(BaseModel):
13
+ type: str
14
+ """
15
+ general type of this method, eg. `pseudopotential`
16
+ """
17
+ subtype: str
18
+ """
19
+ general subtype of this method, eg. `ultra-soft`
20
+ """
21
+ precision: Optional[Dict[str, Any]] = None
22
+ """
23
+ Object showing the actual possible precision based on theory and implementation
24
+ """
25
+ data: Optional[Dict[str, Any]] = None
26
+ """
27
+ additional data specific to method, eg. array of pseudopotentials
28
+ """
29
+
30
+
31
+ class BaseModel1(BaseModel):
32
+ model_config = ConfigDict(
33
+ extra="allow",
34
+ )
35
+ type: str
36
+ """
37
+ general type of the model, eg. `dft`
38
+ """
39
+ subtype: str
40
+ """
41
+ general subtype of the model, eg. `lda`
42
+ """
43
+ method: BaseMethod = Field(..., title="base method")