mat3ra-esse 2024.4.8.post1__py3-none-any.whl → 2024.4.8.post3__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.
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.post3.dist-info}/METADATA +3 -1
  443. mat3ra_esse-2024.4.8.post3.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.post3.dist-info}/LICENSE.md +0 -0
  446. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/WHEEL +0 -0
  447. {mat3ra_esse-2024.4.8.post1.dist-info → mat3ra_esse-2024.4.8.post3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,205 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: models_directory/double_hybrid.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, ConfigDict, 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
+ double_hybrid = "double-hybrid"
26
+
27
+
28
+ class SlugifiedEntryOrSlug59(Enum):
29
+ ksdft = "ksdft"
30
+
31
+
32
+ class SlugifiedEntryOrSlug60(Enum):
33
+ dft = "dft"
34
+
35
+
36
+ class SlugifiedEntryOrSlug61(Enum):
37
+ qm = "qm"
38
+
39
+
40
+ class SlugifiedEntryOrSlug62(Enum):
41
+ pb = "pb"
42
+
43
+
44
+ class DFTDoubleHybridFunctionalCategorySchema(BaseModel):
45
+ subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
46
+ """
47
+ contains either object with slugified entry or slug only as a string
48
+ """
49
+ type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug59]] = Field(None, title="slugified entry or slug")
50
+ """
51
+ contains either object with slugified entry or slug only as a string
52
+ """
53
+ tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug60]] = Field(None, title="slugified entry or slug")
54
+ """
55
+ contains either object with slugified entry or slug only as a string
56
+ """
57
+ tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug61]] = Field(None, title="slugified entry or slug")
58
+ """
59
+ contains either object with slugified entry or slug only as a string
60
+ """
61
+ tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug62]] = Field(None, title="slugified entry or slug")
62
+ """
63
+ contains either object with slugified entry or slug only as a string
64
+ """
65
+
66
+
67
+ class Functional(Enum):
68
+ b2plyp = "b2plyp"
69
+
70
+
71
+ class SpinOrbitCouplingMixin(BaseModel):
72
+ model_config = ConfigDict(
73
+ extra="allow",
74
+ )
75
+ functional: Optional[Functional] = None
76
+ spinOrbitCoupling: Optional[bool] = None
77
+
78
+
79
+ class DispersionCorrection(Enum):
80
+ dft_d2 = "dft-d2"
81
+ dft_d3 = "dft-d3"
82
+ xdm = "xdm"
83
+ ts = "ts"
84
+
85
+
86
+ class DispersionCorrectionMixin(BaseModel):
87
+ functional: Optional[Functional] = None
88
+ dispersionCorrection: Optional[DispersionCorrection] = None
89
+
90
+
91
+ class SpinPolarization(Enum):
92
+ collinear = "collinear"
93
+ non_collinear = "non-collinear"
94
+
95
+
96
+ class SpinPolarizationMixin(BaseModel):
97
+ model_config = ConfigDict(
98
+ extra="allow",
99
+ )
100
+ functional: Optional[Functional] = None
101
+ spinPolarization: Optional[SpinPolarization] = None
102
+
103
+
104
+ class Type(Enum):
105
+ literature = "literature"
106
+
107
+
108
+ class PagesSchema(BaseModel):
109
+ start: str
110
+ end: Optional[str] = None
111
+
112
+
113
+ class ExperimentAuthorSchema(BaseModel):
114
+ first: str
115
+ middle: Optional[str] = None
116
+ last: str
117
+ affiliation: Optional[str] = None
118
+
119
+
120
+ class LiteratureReferenceSchema(BaseModel):
121
+ type: Optional[Type] = None
122
+ doi: Optional[str] = None
123
+ """
124
+ Digital Object Identifier of the reference.
125
+ """
126
+ isbn: Optional[str] = None
127
+ """
128
+ International Standard Book Number of the reference.
129
+ """
130
+ issn: Optional[str] = None
131
+ """
132
+ International Standard Serial Number of the reference.
133
+ """
134
+ url: Optional[str] = None
135
+ """
136
+ Internet address of the reference.
137
+ """
138
+ title: Optional[str] = None
139
+ """
140
+ Title of the work.
141
+ """
142
+ publisher: Optional[str] = None
143
+ """
144
+ Publisher of the work.
145
+ """
146
+ journal: Optional[str] = None
147
+ """
148
+ Journal in which the work appeared.
149
+ """
150
+ volume: Optional[str] = None
151
+ """
152
+ Volume of the series in which the work appeared.
153
+ """
154
+ year: Optional[str] = None
155
+ """
156
+ Year in which the reference was published.
157
+ """
158
+ issue: Optional[str] = None
159
+ """
160
+ Issue of the collection in which the work appeared.
161
+ """
162
+ pages: Optional[PagesSchema] = Field(None, title="pages schema")
163
+ """
164
+ Start and end pages of the work.
165
+ """
166
+ authors: Optional[List[ExperimentAuthorSchema]] = None
167
+ """
168
+ List of authors of the work.
169
+ """
170
+ editors: Optional[List[ExperimentAuthorSchema]] = None
171
+ """
172
+ List of editors of the work.
173
+ """
174
+ reference: Optional[List[Dict[str, Any]]] = None
175
+ """
176
+ References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.
177
+ """
178
+
179
+
180
+ class ModelDoubleHybridFunctional(BaseModel):
181
+ categories: DFTDoubleHybridFunctionalCategorySchema = Field(
182
+ ..., title="DFT double hybrid functional category schema"
183
+ )
184
+ """
185
+ Used to categorize entities such as models and methods
186
+ """
187
+ parameters: Union[SpinOrbitCouplingMixin, DispersionCorrectionMixin, SpinPolarizationMixin] = Field(
188
+ ..., title="Double hybrid functional mixin"
189
+ )
190
+ """
191
+ Model parameters defined in-place or via model mixins
192
+ """
193
+ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema")
194
+ name: Optional[str] = None
195
+ """
196
+ entity name
197
+ """
198
+ path: Optional[str] = Field(None, title="category path schema")
199
+ """
200
+ TODO: Use regex once schema draft version has been updated
201
+ """
202
+ tags: Optional[List[str]] = None
203
+ """
204
+ entity tags
205
+ """
@@ -0,0 +1,219 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: models_directory/gga.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, ConfigDict, 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
+ gga = "gga"
26
+
27
+
28
+ class SlugifiedEntryOrSlug86(Enum):
29
+ ksdft = "ksdft"
30
+
31
+
32
+ class SlugifiedEntryOrSlug87(Enum):
33
+ dft = "dft"
34
+
35
+
36
+ class SlugifiedEntryOrSlug88(Enum):
37
+ qm = "qm"
38
+
39
+
40
+ class SlugifiedEntryOrSlug89(Enum):
41
+ pb = "pb"
42
+
43
+
44
+ class DFTGGAFunctionalCategorySchema(BaseModel):
45
+ subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
46
+ """
47
+ contains either object with slugified entry or slug only as a string
48
+ """
49
+ type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug86]] = Field(None, title="slugified entry or slug")
50
+ """
51
+ contains either object with slugified entry or slug only as a string
52
+ """
53
+ tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug87]] = Field(None, title="slugified entry or slug")
54
+ """
55
+ contains either object with slugified entry or slug only as a string
56
+ """
57
+ tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug88]] = Field(None, title="slugified entry or slug")
58
+ """
59
+ contains either object with slugified entry or slug only as a string
60
+ """
61
+ tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug89]] = Field(None, title="slugified entry or slug")
62
+ """
63
+ contains either object with slugified entry or slug only as a string
64
+ """
65
+
66
+
67
+ class Functional(Enum):
68
+ pbe = "pbe"
69
+ pbesol = "pbesol"
70
+
71
+
72
+ class SpinOrbitCouplingMixin(BaseModel):
73
+ model_config = ConfigDict(
74
+ extra="allow",
75
+ )
76
+ functional: Optional[Functional] = None
77
+ spinOrbitCoupling: Optional[bool] = None
78
+
79
+
80
+ class DispersionCorrection(Enum):
81
+ dft_d2 = "dft-d2"
82
+ dft_d3 = "dft-d3"
83
+ xdm = "xdm"
84
+ ts = "ts"
85
+
86
+
87
+ class DispersionCorrectionMixin(BaseModel):
88
+ model_config = ConfigDict(
89
+ extra="allow",
90
+ )
91
+ functional: Optional[Functional] = None
92
+ dispersionCorrection: Optional[DispersionCorrection] = None
93
+
94
+
95
+ class SpinPolarization(Enum):
96
+ collinear = "collinear"
97
+ non_collinear = "non-collinear"
98
+
99
+
100
+ class SpinPolarizationMixin(BaseModel):
101
+ model_config = ConfigDict(
102
+ extra="allow",
103
+ )
104
+ functional: Optional[Functional] = None
105
+ spinPolarization: Optional[SpinPolarization] = None
106
+
107
+
108
+ class HubbardType(Enum):
109
+ u = "u"
110
+
111
+
112
+ class HubbardModelMixin(BaseModel):
113
+ model_config = ConfigDict(
114
+ extra="allow",
115
+ )
116
+ functional: Optional[Functional] = None
117
+ hubbardType: Optional[HubbardType] = None
118
+
119
+
120
+ class Type(Enum):
121
+ literature = "literature"
122
+
123
+
124
+ class PagesSchema(BaseModel):
125
+ start: str
126
+ end: Optional[str] = None
127
+
128
+
129
+ class ExperimentAuthorSchema(BaseModel):
130
+ first: str
131
+ middle: Optional[str] = None
132
+ last: str
133
+ affiliation: Optional[str] = None
134
+
135
+
136
+ class LiteratureReferenceSchema(BaseModel):
137
+ type: Optional[Type] = None
138
+ doi: Optional[str] = None
139
+ """
140
+ Digital Object Identifier of the reference.
141
+ """
142
+ isbn: Optional[str] = None
143
+ """
144
+ International Standard Book Number of the reference.
145
+ """
146
+ issn: Optional[str] = None
147
+ """
148
+ International Standard Serial Number of the reference.
149
+ """
150
+ url: Optional[str] = None
151
+ """
152
+ Internet address of the reference.
153
+ """
154
+ title: Optional[str] = None
155
+ """
156
+ Title of the work.
157
+ """
158
+ publisher: Optional[str] = None
159
+ """
160
+ Publisher of the work.
161
+ """
162
+ journal: Optional[str] = None
163
+ """
164
+ Journal in which the work appeared.
165
+ """
166
+ volume: Optional[str] = None
167
+ """
168
+ Volume of the series in which the work appeared.
169
+ """
170
+ year: Optional[str] = None
171
+ """
172
+ Year in which the reference was published.
173
+ """
174
+ issue: Optional[str] = None
175
+ """
176
+ Issue of the collection in which the work appeared.
177
+ """
178
+ pages: Optional[PagesSchema] = Field(None, title="pages schema")
179
+ """
180
+ Start and end pages of the work.
181
+ """
182
+ authors: Optional[List[ExperimentAuthorSchema]] = None
183
+ """
184
+ List of authors of the work.
185
+ """
186
+ editors: Optional[List[ExperimentAuthorSchema]] = None
187
+ """
188
+ List of editors of the work.
189
+ """
190
+ reference: Optional[List[Dict[str, Any]]] = None
191
+ """
192
+ References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.
193
+ """
194
+
195
+
196
+ class ModelGeneralizedGradientApproximation(BaseModel):
197
+ categories: DFTGGAFunctionalCategorySchema = Field(..., title="DFT GGA functional category schema")
198
+ """
199
+ Used to categorize entities such as models and methods
200
+ """
201
+ parameters: Union[SpinOrbitCouplingMixin, DispersionCorrectionMixin, SpinPolarizationMixin, HubbardModelMixin] = (
202
+ Field(..., title="GGA functional mixin")
203
+ )
204
+ """
205
+ Model parameters defined in-place or via model mixins
206
+ """
207
+ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema")
208
+ name: Optional[str] = None
209
+ """
210
+ entity name
211
+ """
212
+ path: Optional[str] = Field(None, title="category path schema")
213
+ """
214
+ TODO: Use regex once schema draft version has been updated
215
+ """
216
+ tags: Optional[List[str]] = None
217
+ """
218
+ entity tags
219
+ """
@@ -0,0 +1,272 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: models_directory/gw.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, ConfigDict, 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
+ gw = "gw"
26
+
27
+
28
+ class SlugifiedEntryOrSlug96(Enum):
29
+ g0w0 = "g0w0"
30
+ evgw0 = "evgw0"
31
+ evgw = "evgw"
32
+
33
+
34
+ class SlugifiedEntryOrSlug97(Enum):
35
+ abin = "abin"
36
+
37
+
38
+ class SlugifiedEntryOrSlug98(Enum):
39
+ qm = "qm"
40
+
41
+
42
+ class SlugifiedEntryOrSlug99(Enum):
43
+ pb = "pb"
44
+
45
+
46
+ class GWCategorySchema(BaseModel):
47
+ type: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug]] = Field(None, title="slugified entry or slug")
48
+ """
49
+ contains either object with slugified entry or slug only as a string
50
+ """
51
+ subtype: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug96]] = Field(None, title="slugified entry or slug")
52
+ """
53
+ contains either object with slugified entry or slug only as a string
54
+ """
55
+ tier3: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug97]] = Field(None, title="slugified entry or slug")
56
+ """
57
+ contains either object with slugified entry or slug only as a string
58
+ """
59
+ tier2: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug98]] = Field(None, title="slugified entry or slug")
60
+ """
61
+ contains either object with slugified entry or slug only as a string
62
+ """
63
+ tier1: Optional[Union[SlugifiedEntry, SlugifiedEntryOrSlug99]] = Field(None, title="slugified entry or slug")
64
+ """
65
+ contains either object with slugified entry or slug only as a string
66
+ """
67
+
68
+
69
+ class SpinPolarization(Enum):
70
+ collinear = "collinear"
71
+ non_collinear = "non-collinear"
72
+
73
+
74
+ class Functional(Enum):
75
+ pz = "pz"
76
+
77
+
78
+ class LDAFunctionalMixin(BaseModel):
79
+ model_config = ConfigDict(
80
+ extra="allow",
81
+ )
82
+ require: Optional[str] = Field(None, title="category path schema")
83
+ """
84
+ TODO: Use regex once schema draft version has been updated
85
+ """
86
+ spinPolarization: Optional[SpinPolarization] = None
87
+ functional: Optional[Functional] = None
88
+
89
+
90
+ class Functional16(Enum):
91
+ pbe = "pbe"
92
+ pbesol = "pbesol"
93
+
94
+
95
+ class GGAFunctionalMixin(BaseModel):
96
+ model_config = ConfigDict(
97
+ extra="allow",
98
+ )
99
+ require: Optional[str] = Field(None, title="category path schema")
100
+ """
101
+ TODO: Use regex once schema draft version has been updated
102
+ """
103
+ spinPolarization: Optional[SpinPolarization] = None
104
+ functional: Optional[Functional16] = None
105
+
106
+
107
+ class Functional17(Enum):
108
+ scan = "scan"
109
+
110
+
111
+ class MetaGGAFunctionalMixin(BaseModel):
112
+ model_config = ConfigDict(
113
+ extra="allow",
114
+ )
115
+ require: Optional[str] = Field(None, title="category path schema")
116
+ """
117
+ TODO: Use regex once schema draft version has been updated
118
+ """
119
+ spinPolarization: Optional[SpinPolarization] = None
120
+ functional: Optional[Functional17] = None
121
+
122
+
123
+ class Functional18(Enum):
124
+ pz = "pz"
125
+
126
+
127
+ class LDAFunctionalMixin1(BaseModel):
128
+ model_config = ConfigDict(
129
+ extra="allow",
130
+ )
131
+ require: Optional[str] = Field(None, title="category path schema")
132
+ """
133
+ TODO: Use regex once schema draft version has been updated
134
+ """
135
+ spinOrbitCoupling: Optional[bool] = None
136
+ functional: Optional[Functional18] = None
137
+
138
+
139
+ class Functional19(Enum):
140
+ pbe = "pbe"
141
+ pbesol = "pbesol"
142
+
143
+
144
+ class GGAFunctionalMixin2(BaseModel):
145
+ model_config = ConfigDict(
146
+ extra="allow",
147
+ )
148
+ require: Optional[str] = Field(None, title="category path schema")
149
+ """
150
+ TODO: Use regex once schema draft version has been updated
151
+ """
152
+ spinOrbitCoupling: Optional[bool] = None
153
+ functional: Optional[Functional19] = None
154
+
155
+
156
+ class Functional20(Enum):
157
+ scan = "scan"
158
+
159
+
160
+ class MetaGGAFunctionalMixin1(BaseModel):
161
+ model_config = ConfigDict(
162
+ extra="allow",
163
+ )
164
+ require: Optional[str] = Field(None, title="category path schema")
165
+ """
166
+ TODO: Use regex once schema draft version has been updated
167
+ """
168
+ spinOrbitCoupling: Optional[bool] = None
169
+ functional: Optional[Functional20] = None
170
+
171
+
172
+ class Type(Enum):
173
+ literature = "literature"
174
+
175
+
176
+ class PagesSchema(BaseModel):
177
+ start: str
178
+ end: Optional[str] = None
179
+
180
+
181
+ class ExperimentAuthorSchema(BaseModel):
182
+ first: str
183
+ middle: Optional[str] = None
184
+ last: str
185
+ affiliation: Optional[str] = None
186
+
187
+
188
+ class LiteratureReferenceSchema(BaseModel):
189
+ type: Optional[Type] = None
190
+ doi: Optional[str] = None
191
+ """
192
+ Digital Object Identifier of the reference.
193
+ """
194
+ isbn: Optional[str] = None
195
+ """
196
+ International Standard Book Number of the reference.
197
+ """
198
+ issn: Optional[str] = None
199
+ """
200
+ International Standard Serial Number of the reference.
201
+ """
202
+ url: Optional[str] = None
203
+ """
204
+ Internet address of the reference.
205
+ """
206
+ title: Optional[str] = None
207
+ """
208
+ Title of the work.
209
+ """
210
+ publisher: Optional[str] = None
211
+ """
212
+ Publisher of the work.
213
+ """
214
+ journal: Optional[str] = None
215
+ """
216
+ Journal in which the work appeared.
217
+ """
218
+ volume: Optional[str] = None
219
+ """
220
+ Volume of the series in which the work appeared.
221
+ """
222
+ year: Optional[str] = None
223
+ """
224
+ Year in which the reference was published.
225
+ """
226
+ issue: Optional[str] = None
227
+ """
228
+ Issue of the collection in which the work appeared.
229
+ """
230
+ pages: Optional[PagesSchema] = Field(None, title="pages schema")
231
+ """
232
+ Start and end pages of the work.
233
+ """
234
+ authors: Optional[List[ExperimentAuthorSchema]] = None
235
+ """
236
+ List of authors of the work.
237
+ """
238
+ editors: Optional[List[ExperimentAuthorSchema]] = None
239
+ """
240
+ List of editors of the work.
241
+ """
242
+ reference: Optional[List[Dict[str, Any]]] = None
243
+ """
244
+ References cited by the work. Reference objects can nest as deeply as needed. This is useful, for example, when tracking the history of a value referenced in a scholarly article; the top level reference would contain information about where the data was accessed while the nested reference would contain information about where it was originally published.
245
+ """
246
+
247
+
248
+ class ModelGwApproximation(BaseModel):
249
+ categories: GWCategorySchema = Field(..., title="GW category schema")
250
+ """
251
+ Used to categorize entities such as models and methods
252
+ """
253
+ parameters: Union[
254
+ Union[LDAFunctionalMixin, GGAFunctionalMixin, MetaGGAFunctionalMixin],
255
+ Union[LDAFunctionalMixin1, GGAFunctionalMixin2, MetaGGAFunctionalMixin1],
256
+ ]
257
+ """
258
+ Model parameters defined in-place or via model mixins
259
+ """
260
+ reference: Optional[LiteratureReferenceSchema] = Field(None, title="literature reference schema")
261
+ name: Optional[str] = None
262
+ """
263
+ entity name
264
+ """
265
+ path: Optional[str] = Field(None, title="category path schema")
266
+ """
267
+ TODO: Use regex once schema draft version has been updated
268
+ """
269
+ tags: Optional[List[str]] = None
270
+ """
271
+ entity tags
272
+ """