@mat3ra/wode 2026.5.23-0 → 2026.6.5-0

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 (360) hide show
  1. package/.babelrc +1 -1
  2. package/dist/js/Subworkflow.d.ts +714 -0
  3. package/dist/js/Subworkflow.js +397 -0
  4. package/dist/js/Workflow.d.ts +82 -0
  5. package/dist/js/Workflow.js +286 -0
  6. package/dist/js/WorkflowDesignerMaterial.d.ts +21 -0
  7. package/dist/js/WorkflowDesignerMaterial.js +26 -0
  8. package/dist/js/context/mixins/ApplicationContextMixin.d.ts +10 -0
  9. package/dist/js/context/mixins/ApplicationContextMixin.js +10 -17
  10. package/dist/js/context/mixins/MaterialContextMixin.d.ts +18 -0
  11. package/dist/js/context/mixins/MaterialContextMixin.js +14 -38
  12. package/dist/js/context/mixins/MaterialsContextMixin.d.ts +10 -0
  13. package/dist/js/context/mixins/MaterialsContextMixin.js +11 -17
  14. package/dist/js/context/mixins/MaterialsSetContextMixin.d.ts +14 -0
  15. package/dist/js/context/mixins/MaterialsSetContextMixin.js +21 -23
  16. package/dist/js/context/providers/BoundaryConditionsFormDataManager.d.ts +30 -0
  17. package/dist/js/context/providers/BoundaryConditionsFormDataManager.js +62 -0
  18. package/dist/js/context/providers/CollinearMagnetizationDataManager.d.ts +42 -0
  19. package/dist/js/context/providers/CollinearMagnetizationDataManager.js +101 -0
  20. package/dist/js/context/providers/Hubbard/HubbardContextManagerLegacy.d.ts +29 -0
  21. package/dist/js/context/providers/Hubbard/HubbardContextManagerLegacy.js +69 -0
  22. package/dist/js/context/providers/Hubbard/HubbardContextProvider.d.ts +20 -0
  23. package/dist/js/context/providers/Hubbard/HubbardContextProvider.js +47 -0
  24. package/dist/js/context/providers/Hubbard/HubbardJContextManager.d.ts +22 -0
  25. package/dist/js/context/providers/Hubbard/HubbardJContextManager.js +61 -0
  26. package/dist/js/context/providers/Hubbard/HubbardUContextManager.d.ts +22 -0
  27. package/dist/js/context/providers/Hubbard/HubbardUContextManager.js +57 -0
  28. package/dist/js/context/providers/Hubbard/HubbardVContextManager.d.ts +22 -0
  29. package/dist/js/context/providers/Hubbard/HubbardVContextManager.js +79 -0
  30. package/dist/js/context/providers/IonDynamicsDataManager.d.ts +27 -0
  31. package/dist/js/context/providers/IonDynamicsDataManager.js +48 -0
  32. package/dist/js/context/providers/MLSettingsDataManager.d.ts +24 -0
  33. package/dist/js/context/providers/MLSettingsDataManager.js +42 -0
  34. package/dist/js/context/providers/MLTrainTestSplitDataManager.d.ts +23 -0
  35. package/dist/js/context/providers/MLTrainTestSplitDataManager.js +40 -0
  36. package/dist/js/context/providers/NEBFormDataManager.d.ts +23 -0
  37. package/dist/js/context/providers/NEBFormDataManager.js +39 -0
  38. package/dist/js/context/providers/NonCollinearMagnetizationDataManager.d.ts +78 -0
  39. package/dist/js/context/providers/NonCollinearMagnetizationDataManager.js +181 -0
  40. package/dist/js/context/providers/PlanewaveCutoffDataManager.d.ts +26 -0
  41. package/dist/js/context/providers/PlanewaveCutoffDataManager.js +69 -0
  42. package/dist/js/context/providers/PointsGrid/IGridFormDataManager.d.ts +13 -0
  43. package/dist/js/context/providers/PointsGrid/IGridFormDataManager.js +23 -0
  44. package/dist/js/context/providers/PointsGrid/KGridFormDataManager.d.ts +15 -0
  45. package/dist/js/context/providers/PointsGrid/KGridFormDataManager.js +30 -0
  46. package/dist/js/context/providers/PointsGrid/PointsGridFormDataProvider.d.ts +171 -0
  47. package/dist/js/context/providers/PointsGrid/PointsGridFormDataProvider.js +270 -0
  48. package/dist/js/context/providers/PointsGrid/QGridFormDataManager.d.ts +13 -0
  49. package/dist/js/context/providers/PointsGrid/QGridFormDataManager.js +23 -0
  50. package/dist/js/context/providers/PointsPath/ExplicitKPath2PIBAFormDataManager.d.ts +10 -0
  51. package/dist/js/context/providers/PointsPath/ExplicitKPath2PIBAFormDataManager.js +19 -0
  52. package/dist/js/context/providers/PointsPath/ExplicitKPathFormDataManager.d.ts +9 -0
  53. package/dist/js/context/providers/PointsPath/ExplicitKPathFormDataManager.js +18 -0
  54. package/dist/js/context/providers/PointsPath/IPathFormDataManager.d.ts +8 -0
  55. package/dist/js/context/providers/PointsPath/IPathFormDataManager.js +17 -0
  56. package/dist/js/context/providers/PointsPath/KPathFormDataManager.d.ts +8 -0
  57. package/dist/js/context/providers/PointsPath/KPathFormDataManager.js +17 -0
  58. package/dist/js/context/providers/PointsPath/PointsPathFormDataProvider.d.ts +40 -0
  59. package/dist/js/context/providers/PointsPath/PointsPathFormDataProvider.js +125 -0
  60. package/dist/js/context/providers/PointsPath/QPathFormDataManager.d.ts +8 -0
  61. package/dist/js/context/providers/PointsPath/QPathFormDataManager.js +17 -0
  62. package/dist/js/context/providers/base/ContextProvider.d.ts +75 -0
  63. package/dist/js/context/providers/base/ContextProvider.js +87 -0
  64. package/dist/js/context/providers/base/JSONSchemaDataProvider.d.ts +16 -0
  65. package/dist/js/context/providers/base/JSONSchemaDataProvider.js +17 -0
  66. package/dist/js/context/providers/base/JSONSchemaFormDataProvider.d.ts +19 -0
  67. package/dist/js/context/providers/base/JSONSchemaFormDataProvider.js +32 -0
  68. package/dist/js/context/providers/by_application/espresso/QENEBInputDataManager.d.ts +26 -0
  69. package/dist/js/context/providers/by_application/espresso/QENEBInputDataManager.js +54 -0
  70. package/dist/js/context/providers/by_application/espresso/QEPWXInputDataManager.d.ts +78 -0
  71. package/dist/js/context/providers/by_application/espresso/QEPWXInputDataManager.js +104 -0
  72. package/dist/js/context/providers/by_application/nwchem/NWChemInputDataManager.d.ts +36 -0
  73. package/dist/js/context/providers/by_application/nwchem/NWChemInputDataManager.js +58 -0
  74. package/dist/js/context/providers/by_application/vasp/VASPInputDataManager.d.ts +36 -0
  75. package/dist/js/context/providers/by_application/vasp/VASPInputDataManager.js +56 -0
  76. package/dist/js/context/providers/by_application/vasp/VASPNEBInputDataManager.d.ts +30 -0
  77. package/dist/js/context/providers/by_application/vasp/VASPNEBInputDataManager.js +50 -0
  78. package/dist/js/context/providers/index.d.ts +92 -0
  79. package/dist/js/context/providers/index.js +107 -0
  80. package/dist/js/context/providers/settings.d.ts +7 -0
  81. package/dist/js/context/providers/settings.js +11 -33
  82. package/dist/js/convergence/ConvergenceParameter.d.ts +26 -0
  83. package/dist/js/convergence/ConvergenceParameter.js +13 -0
  84. package/dist/js/convergence/NonUniformKGridConvergence.d.ts +12 -0
  85. package/dist/js/convergence/NonUniformKGridConvergence.js +31 -0
  86. package/dist/js/convergence/UniformKGridConvergence.d.ts +8 -0
  87. package/dist/js/convergence/UniformKGridConvergence.js +22 -0
  88. package/dist/js/convergence/factory.d.ts +8 -0
  89. package/dist/js/convergence/factory.js +18 -0
  90. package/dist/js/enums.d.ts +62 -0
  91. package/dist/js/enums.js +66 -61
  92. package/dist/js/generated/AssertionUnitSchemaMixin.d.ts +5 -0
  93. package/dist/js/generated/AssertionUnitSchemaMixin.js +27 -0
  94. package/dist/js/generated/AssignmentUnitSchemaMixin.d.ts +5 -0
  95. package/dist/js/generated/AssignmentUnitSchemaMixin.js +33 -0
  96. package/dist/js/generated/BaseUnitSchemaMixin.d.ts +5 -0
  97. package/dist/js/generated/BaseUnitSchemaMixin.js +57 -0
  98. package/dist/js/generated/ConditionUnitSchemaMixin.d.ts +5 -0
  99. package/dist/js/generated/ConditionUnitSchemaMixin.js +51 -0
  100. package/dist/js/generated/ExecutionUnitInputSchemaMixin.d.ts +5 -0
  101. package/dist/js/generated/ExecutionUnitInputSchemaMixin.js +27 -0
  102. package/dist/js/generated/ExecutionUnitSchemaMixin.d.ts +5 -0
  103. package/dist/js/generated/ExecutionUnitSchemaMixin.js +45 -0
  104. package/dist/js/generated/IOUnitSchemaMixin.d.ts +5 -0
  105. package/dist/js/generated/IOUnitSchemaMixin.js +33 -0
  106. package/dist/js/generated/MapUnitSchemaMixin.d.ts +5 -0
  107. package/dist/js/generated/MapUnitSchemaMixin.js +27 -0
  108. package/dist/js/generated/ReduceUnitSchemaMixin.d.ts +5 -0
  109. package/dist/js/generated/ReduceUnitSchemaMixin.js +27 -0
  110. package/dist/js/generated/StatusSchemaMixin.d.ts +5 -0
  111. package/dist/js/generated/StatusSchemaMixin.js +21 -0
  112. package/dist/js/generated/SubworkflowSchemaMixin.d.ts +5 -0
  113. package/dist/js/generated/SubworkflowSchemaMixin.js +51 -0
  114. package/dist/js/generated/SubworkflowUnitSchemaMixin.d.ts +5 -0
  115. package/dist/js/generated/SubworkflowUnitSchemaMixin.js +15 -0
  116. package/dist/js/generated/WorkflowSchemaMixin.d.ts +5 -0
  117. package/dist/js/generated/WorkflowSchemaMixin.js +51 -0
  118. package/dist/js/index.d.ts +13 -0
  119. package/dist/js/index.js +66 -176
  120. package/dist/js/units/AssertionUnit.d.ts +20 -0
  121. package/dist/js/units/AssertionUnit.js +33 -0
  122. package/dist/js/units/AssignmentUnit.d.ts +17 -0
  123. package/dist/js/units/AssignmentUnit.js +35 -0
  124. package/dist/js/units/BaseUnit.d.ts +39 -0
  125. package/dist/js/units/BaseUnit.js +70 -0
  126. package/dist/js/units/ConditionUnit.d.ts +17 -0
  127. package/dist/js/units/ConditionUnit.js +37 -0
  128. package/dist/js/units/ExecutionUnit.d.ts +115 -0
  129. package/dist/js/units/ExecutionUnit.js +181 -0
  130. package/dist/js/units/ExecutionUnitInput.d.ts +22 -0
  131. package/dist/js/units/ExecutionUnitInput.js +47 -0
  132. package/dist/js/units/IOUnit.d.ts +16 -0
  133. package/dist/js/units/IOUnit.js +31 -0
  134. package/dist/js/units/MapUnit.d.ts +34 -0
  135. package/dist/js/units/MapUnit.js +46 -0
  136. package/dist/js/units/ReduceUnit.d.ts +16 -0
  137. package/dist/js/units/ReduceUnit.js +30 -0
  138. package/dist/js/units/SubworkflowUnit.d.ts +16 -0
  139. package/dist/js/units/SubworkflowUnit.js +28 -0
  140. package/dist/js/units/factory.d.ts +31 -0
  141. package/dist/js/units/factory.js +65 -47
  142. package/dist/js/units/index.d.ts +14 -0
  143. package/dist/js/units/index.js +25 -81
  144. package/dist/js/units/mixins/RuntimeItemsUILogicMixin.d.ts +26 -0
  145. package/dist/js/units/mixins/RuntimeItemsUILogicMixin.js +50 -0
  146. package/dist/js/utils/baseUnits.d.ts +2 -0
  147. package/dist/js/utils/baseUnits.js +11 -0
  148. package/dist/js/utils/index.d.ts +3 -0
  149. package/dist/js/utils/index.js +39 -0
  150. package/dist/js/utils/subworkflow.d.ts +2 -0
  151. package/dist/js/utils/subworkflow.js +29 -0
  152. package/dist/js/utils/underscoreStringSlugify.d.ts +6 -0
  153. package/dist/js/utils/underscoreStringSlugify.js +32 -0
  154. package/dist/js/utils/units.d.ts +4 -0
  155. package/dist/js/utils/units.js +16 -0
  156. package/dist/js/utils/workflow.d.ts +9 -0
  157. package/dist/js/utils/workflow.js +67 -0
  158. package/dist/js/workflows/default.d.ts +3 -0
  159. package/dist/js/workflows/default.js +43 -39
  160. package/dist/js/workflows/workflow.d.ts +4404 -0
  161. package/dist/js/workflows/workflow.js +310 -306
  162. package/package.json +56 -44
  163. package/src/js/Subworkflow.ts +532 -0
  164. package/src/js/Workflow.ts +390 -0
  165. package/src/js/context/mixins/ApplicationContextMixin.ts +21 -0
  166. package/src/js/context/mixins/MaterialContextMixin.ts +35 -0
  167. package/src/js/context/mixins/MaterialsContextMixin.ts +24 -0
  168. package/src/js/context/mixins/MaterialsSetContextMixin.ts +42 -0
  169. package/src/js/context/providers/BoundaryConditionsFormDataManager.ts +88 -0
  170. package/src/js/context/providers/CollinearMagnetizationDataManager.ts +140 -0
  171. package/src/js/context/providers/Hubbard/HubbardContextManagerLegacy.ts +93 -0
  172. package/src/js/context/providers/Hubbard/HubbardContextProvider.ts +85 -0
  173. package/src/js/context/providers/Hubbard/HubbardJContextManager.ts +82 -0
  174. package/src/js/context/providers/Hubbard/HubbardUContextManager.ts +78 -0
  175. package/src/js/context/providers/Hubbard/HubbardVContextManager.ts +100 -0
  176. package/src/js/context/providers/IonDynamicsDataManager.ts +64 -0
  177. package/src/js/context/providers/MLSettingsDataManager.ts +61 -0
  178. package/src/js/context/providers/MLTrainTestSplitDataManager.ts +59 -0
  179. package/src/js/context/providers/NEBFormDataManager.ts +57 -0
  180. package/src/js/context/providers/NonCollinearMagnetizationDataManager.ts +229 -0
  181. package/src/js/context/providers/PlanewaveCutoffDataManager.ts +110 -0
  182. package/src/js/context/providers/PointsGrid/IGridFormDataManager.ts +36 -0
  183. package/src/js/context/providers/PointsGrid/KGridFormDataManager.ts +46 -0
  184. package/src/js/context/providers/PointsGrid/PointsGridFormDataProvider.ts +371 -0
  185. package/src/js/context/providers/PointsGrid/QGridFormDataManager.ts +36 -0
  186. package/src/js/context/providers/PointsPath/ExplicitKPath2PIBAFormDataManager.ts +26 -0
  187. package/src/js/context/providers/PointsPath/ExplicitKPathFormDataManager.ts +24 -0
  188. package/src/js/context/providers/PointsPath/IPathFormDataManager.ts +22 -0
  189. package/src/js/context/providers/PointsPath/KPathFormDataManager.ts +22 -0
  190. package/src/js/context/providers/PointsPath/PointsPathFormDataProvider.ts +192 -0
  191. package/src/js/context/providers/PointsPath/QPathFormDataManager.ts +22 -0
  192. package/src/js/context/providers/base/ContextProvider.ts +150 -0
  193. package/src/js/context/providers/base/JSONSchemaDataProvider.ts +31 -0
  194. package/src/js/context/providers/base/JSONSchemaFormDataProvider.ts +38 -0
  195. package/src/js/context/providers/by_application/espresso/QENEBInputDataManager.ts +107 -0
  196. package/src/js/context/providers/by_application/espresso/QEPWXInputDataManager.ts +178 -0
  197. package/src/js/context/providers/by_application/nwchem/NWChemInputDataManager.ts +93 -0
  198. package/src/js/context/providers/by_application/vasp/VASPInputDataManager.ts +89 -0
  199. package/src/js/context/providers/by_application/vasp/VASPNEBInputDataManager.ts +92 -0
  200. package/src/js/context/providers/index.ts +155 -0
  201. package/src/js/context/providers/settings.ts +13 -0
  202. package/src/js/convergence/ConvergenceParameter.ts +37 -0
  203. package/src/js/convergence/NonUniformKGridConvergence.ts +38 -0
  204. package/src/js/convergence/UniformKGridConvergence.ts +26 -0
  205. package/src/js/convergence/factory.ts +18 -0
  206. package/src/js/{enums.js → enums.ts} +27 -22
  207. package/src/js/generated/AssertionUnitSchemaMixin.ts +34 -0
  208. package/src/js/generated/AssignmentUnitSchemaMixin.ts +40 -0
  209. package/src/js/generated/BaseUnitSchemaMixin.ts +64 -0
  210. package/src/js/generated/ConditionUnitSchemaMixin.ts +58 -0
  211. package/src/js/generated/ExecutionUnitInputSchemaMixin.ts +36 -0
  212. package/src/js/generated/ExecutionUnitSchemaMixin.ts +52 -0
  213. package/src/js/generated/IOUnitSchemaMixin.ts +40 -0
  214. package/src/js/generated/MapUnitSchemaMixin.ts +34 -0
  215. package/src/js/generated/ReduceUnitSchemaMixin.ts +34 -0
  216. package/src/js/generated/StatusSchemaMixin.ts +28 -0
  217. package/src/js/generated/SubworkflowSchemaMixin.ts +58 -0
  218. package/src/js/generated/SubworkflowUnitSchemaMixin.ts +22 -0
  219. package/src/js/generated/WorkflowSchemaMixin.ts +58 -0
  220. package/src/js/index.ts +44 -0
  221. package/src/js/units/AssertionUnit.ts +49 -0
  222. package/src/js/units/AssignmentUnit.ts +49 -0
  223. package/src/js/units/BaseUnit.ts +117 -0
  224. package/src/js/units/ConditionUnit.ts +52 -0
  225. package/src/js/units/ExecutionUnit.ts +274 -0
  226. package/src/js/units/ExecutionUnitInput.ts +71 -0
  227. package/src/js/units/IOUnit.ts +43 -0
  228. package/src/js/units/MapUnit.ts +59 -0
  229. package/src/js/units/ReduceUnit.ts +46 -0
  230. package/src/js/units/SubworkflowUnit.ts +44 -0
  231. package/src/js/units/factory.ts +131 -0
  232. package/src/js/units/index.ts +27 -0
  233. package/src/js/units/mixins/RuntimeItemsUILogicMixin.ts +81 -0
  234. package/src/js/utils/baseUnits.ts +11 -0
  235. package/src/js/utils/index.ts +3 -0
  236. package/src/js/utils/units.ts +23 -0
  237. package/src/js/utils/workflow.ts +69 -0
  238. package/src/js/workflows/{default.js → default.ts} +8 -1
  239. package/build_workflows.js +0 -65
  240. package/dist/js/context/context.js +0 -49
  241. package/dist/js/context/mixins/JobContextMixin.js +0 -39
  242. package/dist/js/context/mixins/MethodDataContextMixin.js +0 -48
  243. package/dist/js/context/mixins/WorkflowContextMixin.js +0 -28
  244. package/dist/js/context/providers/BoundaryConditionsFormDataProvider.js +0 -84
  245. package/dist/js/context/providers/CollinearMagnetizationContextProvider.js +0 -96
  246. package/dist/js/context/providers/HubbardContextProviderLegacy.js +0 -68
  247. package/dist/js/context/providers/HubbardJContextProvider.js +0 -67
  248. package/dist/js/context/providers/HubbardUContextProvider.js +0 -70
  249. package/dist/js/context/providers/HubbardVContextProvider.js +0 -92
  250. package/dist/js/context/providers/IonDynamicsContextProvider.js +0 -58
  251. package/dist/js/context/providers/MLSettingsContextProvider.js +0 -51
  252. package/dist/js/context/providers/MLTrainTestSplitContextProvider.js +0 -47
  253. package/dist/js/context/providers/NEBFormDataProvider.js +0 -42
  254. package/dist/js/context/providers/NonCollinearMagnetizationContextProvider.js +0 -187
  255. package/dist/js/context/providers/PlanewaveCutoffsContextProvider.js +0 -67
  256. package/dist/js/context/providers/PointsGridFormDataProvider.js +0 -263
  257. package/dist/js/context/providers/PointsPathFormDataProvider.js +0 -147
  258. package/dist/js/context/providers/by_application/ExecutableContextProvider.js +0 -25
  259. package/dist/js/context/providers/by_application/espresso/QENEBContextProvider.js +0 -61
  260. package/dist/js/context/providers/by_application/espresso/QEPWXContextProvider.js +0 -150
  261. package/dist/js/context/providers/by_application/nwchem/NWChemTotalEnergyContextProvider.js +0 -85
  262. package/dist/js/context/providers/by_application/vasp/VASPContextProvider.js +0 -65
  263. package/dist/js/context/providers/by_application/vasp/VASPNEBContextProvider.js +0 -57
  264. package/dist/js/context/providers.js +0 -199
  265. package/dist/js/patch.js +0 -19
  266. package/dist/js/subworkflows/convergence/non_uniform_kgrid.js +0 -31
  267. package/dist/js/subworkflows/convergence/parameter.js +0 -70
  268. package/dist/js/subworkflows/convergence/uniform_kgrid.js +0 -26
  269. package/dist/js/subworkflows/convergence.js +0 -189
  270. package/dist/js/subworkflows/create.js +0 -293
  271. package/dist/js/subworkflows/dynamic/espresso/getQpointIrrep.js +0 -34
  272. package/dist/js/subworkflows/dynamic/index.js +0 -19
  273. package/dist/js/subworkflows/dynamic/surfaceEnergy.js +0 -67
  274. package/dist/js/subworkflows/index.js +0 -19
  275. package/dist/js/units/assertion.js +0 -37
  276. package/dist/js/units/assignment.js +0 -42
  277. package/dist/js/units/base.js +0 -91
  278. package/dist/js/units/builders/AssertionUnitConfigBuilder.js +0 -34
  279. package/dist/js/units/builders/AssignmentUnitConfigBuilder.js +0 -41
  280. package/dist/js/units/builders/ExecutionUnitConfigBuilder.js +0 -67
  281. package/dist/js/units/builders/IOUnitConfigBuilder.js +0 -54
  282. package/dist/js/units/builders/UnitConfigBuilder.js +0 -85
  283. package/dist/js/units/builders/index.js +0 -18
  284. package/dist/js/units/condition.js +0 -52
  285. package/dist/js/units/execution.js +0 -225
  286. package/dist/js/units/io.js +0 -148
  287. package/dist/js/units/map.js +0 -38
  288. package/dist/js/units/processing.js +0 -41
  289. package/dist/js/units/reduce.js +0 -24
  290. package/dist/js/units/subworkflow.js +0 -23
  291. package/dist/js/workflows/create.js +0 -318
  292. package/dist/js/workflows/index.js +0 -113
  293. package/dist/js/workflows/relaxation.js +0 -38
  294. package/src/js/context/context.js +0 -47
  295. package/src/js/context/mixins/ApplicationContextMixin.js +0 -19
  296. package/src/js/context/mixins/JobContextMixin.js +0 -36
  297. package/src/js/context/mixins/MaterialContextMixin.js +0 -41
  298. package/src/js/context/mixins/MaterialsContextMixin.js +0 -18
  299. package/src/js/context/mixins/MaterialsSetContextMixin.js +0 -24
  300. package/src/js/context/mixins/MethodDataContextMixin.js +0 -48
  301. package/src/js/context/mixins/WorkflowContextMixin.js +0 -25
  302. package/src/js/context/providers/BoundaryConditionsFormDataProvider.js +0 -72
  303. package/src/js/context/providers/CollinearMagnetizationContextProvider.js +0 -105
  304. package/src/js/context/providers/HubbardContextProviderLegacy.js +0 -67
  305. package/src/js/context/providers/HubbardJContextProvider.js +0 -65
  306. package/src/js/context/providers/HubbardUContextProvider.js +0 -95
  307. package/src/js/context/providers/HubbardVContextProvider.js +0 -96
  308. package/src/js/context/providers/IonDynamicsContextProvider.js +0 -44
  309. package/src/js/context/providers/MLSettingsContextProvider.js +0 -45
  310. package/src/js/context/providers/MLTrainTestSplitContextProvider.js +0 -43
  311. package/src/js/context/providers/NEBFormDataProvider.js +0 -33
  312. package/src/js/context/providers/NonCollinearMagnetizationContextProvider.js +0 -179
  313. package/src/js/context/providers/PlanewaveCutoffsContextProvider.js +0 -65
  314. package/src/js/context/providers/PointsGridFormDataProvider.js +0 -271
  315. package/src/js/context/providers/PointsPathFormDataProvider.js +0 -163
  316. package/src/js/context/providers/by_application/ExecutableContextProvider.js +0 -17
  317. package/src/js/context/providers/by_application/espresso/QENEBContextProvider.js +0 -58
  318. package/src/js/context/providers/by_application/espresso/QEPWXContextProvider.js +0 -168
  319. package/src/js/context/providers/by_application/nwchem/NWChemTotalEnergyContextProvider.js +0 -89
  320. package/src/js/context/providers/by_application/vasp/VASPContextProvider.js +0 -58
  321. package/src/js/context/providers/by_application/vasp/VASPNEBContextProvider.js +0 -48
  322. package/src/js/context/providers/settings.js +0 -38
  323. package/src/js/context/providers.js +0 -140
  324. package/src/js/index.js +0 -57
  325. package/src/js/patch.js +0 -12
  326. package/src/js/subworkflows/convergence/enums.js +0 -12
  327. package/src/js/subworkflows/convergence/factory.js +0 -15
  328. package/src/js/subworkflows/convergence/non_uniform_kgrid.js +0 -28
  329. package/src/js/subworkflows/convergence/parameter.js +0 -58
  330. package/src/js/subworkflows/convergence/uniform_kgrid.js +0 -22
  331. package/src/js/subworkflows/convergence.js +0 -196
  332. package/src/js/subworkflows/create.js +0 -220
  333. package/src/js/subworkflows/dynamic/espresso/getQpointIrrep.js +0 -35
  334. package/src/js/subworkflows/dynamic/index.js +0 -8
  335. package/src/js/subworkflows/dynamic/surfaceEnergy.js +0 -124
  336. package/src/js/subworkflows/index.js +0 -2
  337. package/src/js/subworkflows/subworkflow.js +0 -345
  338. package/src/js/units/assertion.js +0 -29
  339. package/src/js/units/assignment.js +0 -34
  340. package/src/js/units/base.js +0 -97
  341. package/src/js/units/builders/AssertionUnitConfigBuilder.js +0 -28
  342. package/src/js/units/builders/AssignmentUnitConfigBuilder.js +0 -36
  343. package/src/js/units/builders/ExecutionUnitConfigBuilder.js +0 -59
  344. package/src/js/units/builders/IOUnitConfigBuilder.js +0 -53
  345. package/src/js/units/builders/UnitConfigBuilder.js +0 -92
  346. package/src/js/units/builders/index.js +0 -15
  347. package/src/js/units/condition.js +0 -47
  348. package/src/js/units/execution.js +0 -267
  349. package/src/js/units/factory.js +0 -53
  350. package/src/js/units/index.js +0 -25
  351. package/src/js/units/io.js +0 -163
  352. package/src/js/units/map.js +0 -33
  353. package/src/js/units/processing.js +0 -39
  354. package/src/js/units/reduce.js +0 -17
  355. package/src/js/units/subworkflow.js +0 -15
  356. package/src/js/utils.js +0 -73
  357. package/src/js/workflows/create.js +0 -227
  358. package/src/js/workflows/index.js +0 -98
  359. package/src/js/workflows/relaxation.js +0 -42
  360. package/src/js/workflows/workflow.js +0 -388
@@ -0,0 +1,140 @@
1
+ import JSONSchemasInterface from "@mat3ra/esse/dist/js/esse/JSONSchemasInterface";
2
+ import type {
3
+ CollinearMagnetizationContextItemSchema,
4
+ CollinearMagnetizationContextProviderSchema,
5
+ } from "@mat3ra/esse/dist/js/types";
6
+ import type { JSONSchema7 } from "json-schema";
7
+
8
+ import materialContextMixin, {
9
+ type MaterialContextMixin,
10
+ type MaterialExternalContext,
11
+ } from "../mixins/MaterialContextMixin";
12
+ import type { UnitContext } from "./base/ContextProvider";
13
+ import JSONSchemaDataProvider, { type JinjaExternalContext } from "./base/JSONSchemaDataProvider";
14
+
15
+ type Data = CollinearMagnetizationContextProviderSchema;
16
+ type Schema = CollinearMagnetizationContextItemSchema;
17
+ type ExternalContext = JinjaExternalContext & MaterialExternalContext;
18
+
19
+ // eslint-disable-next-line @typescript-eslint/no-empty-interface
20
+ interface CollinearMagnetizationDataManager extends MaterialContextMixin {}
21
+
22
+ const defaultData = {
23
+ value: 0.0,
24
+ isTotalMagnetization: false,
25
+ totalMagnetization: 0.0,
26
+ };
27
+
28
+ const jsonSchemaId = "context-providers-directory/collinear-magnetization-context-provider";
29
+
30
+ class CollinearMagnetizationDataManager extends JSONSchemaDataProvider<Schema, ExternalContext> {
31
+ readonly name = "collinearMagnetization" as const;
32
+
33
+ readonly domain = "important" as const;
34
+
35
+ readonly entityName = "unit" as const;
36
+
37
+ static createFromUnitContext(unitContext: UnitContext, externalContext: ExternalContext) {
38
+ const contextItem = this.findContextItem<Schema>(unitContext, "collinearMagnetization");
39
+
40
+ return new CollinearMagnetizationDataManager(contextItem, externalContext);
41
+ }
42
+
43
+ readonly jsonSchema: JSONSchema7;
44
+
45
+ private readonly isTotalMagnetization: boolean;
46
+
47
+ private readonly firstElement: string;
48
+
49
+ private readonly uniqueElementsWithLabels: string[];
50
+
51
+ constructor(contextItem: Partial<Schema>, externalContext: ExternalContext) {
52
+ super(contextItem, externalContext);
53
+ this.initMaterialContextMixin(externalContext);
54
+
55
+ this.uniqueElementsWithLabels = [
56
+ ...new Set(this.material?.Basis?.elementsWithLabelsArray || []),
57
+ ];
58
+
59
+ this.firstElement =
60
+ this.uniqueElementsWithLabels?.length > 0 ? this.uniqueElementsWithLabels[0] : "";
61
+
62
+ this.isTotalMagnetization = this.data?.isTotalMagnetization || false;
63
+
64
+ const jsonSchema = JSONSchemasInterface.getPatchedSchemaById(jsonSchemaId, {
65
+ "properties.startingMagnetization": {
66
+ maxItems: this.uniqueElementsWithLabels.length,
67
+ },
68
+ "properties.startingMagnetization.items.properties.atomicSpecies": {
69
+ enum: this.uniqueElementsWithLabels,
70
+ default: this.firstElement,
71
+ },
72
+ "properties.startingMagnetization.items.properties.value": {
73
+ default: defaultData.value,
74
+ },
75
+ "properties.isTotalMagnetization": {
76
+ default: defaultData.isTotalMagnetization,
77
+ },
78
+ "properties.totalMagnetization": {
79
+ default: defaultData.totalMagnetization,
80
+ },
81
+ });
82
+
83
+ if (!jsonSchema) {
84
+ throw new Error("Failed to get patched JSON schema");
85
+ }
86
+
87
+ this.jsonSchema = jsonSchema;
88
+ }
89
+
90
+ getDefaultData(): Data {
91
+ return {
92
+ startingMagnetization: [
93
+ {
94
+ index: 1,
95
+ atomicSpecies: this.firstElement,
96
+ value: defaultData.value,
97
+ },
98
+ ],
99
+ isTotalMagnetization: defaultData.isTotalMagnetization,
100
+ totalMagnetization: defaultData.totalMagnetization,
101
+ };
102
+ }
103
+
104
+ setData(data: Data) {
105
+ const startingMagnetization = data.startingMagnetization.map((row) => ({
106
+ ...row,
107
+ index: this.uniqueElementsWithLabels.indexOf(row.atomicSpecies) + 1,
108
+ }));
109
+
110
+ super.setData({
111
+ ...data,
112
+ startingMagnetization,
113
+ });
114
+ }
115
+
116
+ get uiSchemaStyled() {
117
+ return {
118
+ startingMagnetization: {
119
+ items: {
120
+ atomicSpecies: {
121
+ "ui:classNames": "col-xs-3",
122
+ },
123
+ value: {
124
+ "ui:classNames": "col-xs-6",
125
+ },
126
+ },
127
+ "ui:readonly": this.isTotalMagnetization,
128
+ },
129
+ isTotalMagnetization: {},
130
+ totalMagnetization: {
131
+ "ui:classNames": "col-xs-6",
132
+ "ui:readonly": !this.isTotalMagnetization,
133
+ },
134
+ };
135
+ }
136
+ }
137
+
138
+ materialContextMixin(CollinearMagnetizationDataManager.prototype);
139
+
140
+ export default CollinearMagnetizationDataManager;
@@ -0,0 +1,93 @@
1
+ import JSONSchemasInterface from "@mat3ra/esse/dist/js/esse/JSONSchemasInterface";
2
+ import type {
3
+ HubbardLegacyContextItemSchema,
4
+ HubbardLegacyContextProviderSchema,
5
+ } from "@mat3ra/esse/dist/js/types";
6
+ import type { JSONSchema7 } from "json-schema";
7
+
8
+ import type { UnitContext } from "../base/ContextProvider";
9
+ import HubbardContextProvider, { type HubbardExternalContext } from "./HubbardContextProvider";
10
+
11
+ type Schema = HubbardLegacyContextItemSchema;
12
+ type Data = HubbardLegacyContextProviderSchema;
13
+
14
+ const defaultHubbardConfig = {
15
+ hubbardUValue: 1.0,
16
+ };
17
+
18
+ const jsonSchemaId = "context-providers-directory/hubbard-legacy-context-provider";
19
+
20
+ export default class HubbardContextManagerLegacy extends HubbardContextProvider<Schema> {
21
+ readonly name = "hubbard_legacy" as const;
22
+
23
+ readonly domain = "important" as const;
24
+
25
+ readonly entityName = "unit" as const;
26
+
27
+ static createFromUnitContext(
28
+ unitContext: UnitContext,
29
+ externalContext: HubbardExternalContext,
30
+ ) {
31
+ const contextItem = this.findContextItem<Schema>(unitContext, "hubbard_legacy");
32
+
33
+ return new HubbardContextManagerLegacy(contextItem, externalContext);
34
+ }
35
+
36
+ readonly jsonSchema: JSONSchema7;
37
+
38
+ readonly uiSchemaStyled = {
39
+ "ui:options": {
40
+ addable: true,
41
+ orderable: false,
42
+ removable: true,
43
+ },
44
+ items: {
45
+ atomicSpeciesIndex: { "ui:readonly": true },
46
+ },
47
+ } as const;
48
+
49
+ constructor(contextItem: Partial<Schema>, externalContext: HubbardExternalContext) {
50
+ super(contextItem, externalContext);
51
+
52
+ const jsonSchema = JSONSchemasInterface.getPatchedSchemaById(jsonSchemaId, {
53
+ "items.properties.atomicSpecies": {
54
+ enum: this.uniqueElementsWithLabels,
55
+ },
56
+ "items.properties.hubbardUValue": {
57
+ default: defaultHubbardConfig.hubbardUValue,
58
+ },
59
+ });
60
+
61
+ if (!jsonSchema) {
62
+ throw new Error("Failed to get patched JSON schema");
63
+ }
64
+
65
+ this.jsonSchema = jsonSchema;
66
+ }
67
+
68
+ getDefaultData(): Data {
69
+ return [
70
+ {
71
+ ...defaultHubbardConfig,
72
+ atomicSpecies: this.firstElement,
73
+ atomicSpeciesIndex: this.uniqueElementsWithLabels?.length > 0 ? 1 : undefined,
74
+ },
75
+ ];
76
+ }
77
+
78
+ setData(data: Data) {
79
+ const hubbardUValues = data.map((row) => {
80
+ const atomicSpeciesIndex =
81
+ this.uniqueElementsWithLabels?.length > 0
82
+ ? this.uniqueElementsWithLabels.indexOf(row.atomicSpecies || "") + 1
83
+ : undefined;
84
+
85
+ return {
86
+ ...row,
87
+ atomicSpeciesIndex,
88
+ };
89
+ }) as Data;
90
+
91
+ super.setData(hubbardUValues);
92
+ }
93
+ }
@@ -0,0 +1,85 @@
1
+ import type { Constructor } from "@mat3ra/code/dist/js/utils/types";
2
+ import type {
3
+ HubbardJContextItemSchema,
4
+ HubbardLegacyContextItemSchema,
5
+ HubbardUContextItemSchema,
6
+ HubbardVContextItemSchema,
7
+ } from "@mat3ra/esse/dist/js/types";
8
+
9
+ import materialContextMixin, {
10
+ type MaterialContextMixin,
11
+ type MaterialExternalContext,
12
+ } from "../../mixins/MaterialContextMixin";
13
+ import JSONSchemaDataProvider, { type JinjaExternalContext } from "../base/JSONSchemaDataProvider";
14
+
15
+ type Schema =
16
+ | HubbardJContextItemSchema
17
+ | HubbardUContextItemSchema
18
+ | HubbardVContextItemSchema
19
+ | HubbardLegacyContextItemSchema;
20
+
21
+ export type HubbardExternalContext = JinjaExternalContext & MaterialExternalContext;
22
+
23
+ type Base = typeof JSONSchemaDataProvider<Schema, HubbardExternalContext> &
24
+ Constructor<MaterialContextMixin>;
25
+
26
+ abstract class HubbardContextProvider<
27
+ S extends Schema,
28
+ EC extends HubbardExternalContext = HubbardExternalContext,
29
+ > extends (JSONSchemaDataProvider as Base) {
30
+ abstract readonly name: S["name"];
31
+
32
+ abstract getDefaultData(): S["data"];
33
+
34
+ readonly domain = "important" as const;
35
+
36
+ readonly entityName = "unit" as const;
37
+
38
+ protected readonly uniqueElementsWithLabels: string[];
39
+
40
+ protected readonly firstElement: string;
41
+
42
+ protected readonly secondSpecies: string;
43
+
44
+ protected readonly orbitalList = [
45
+ "2p",
46
+ "3s",
47
+ "3p",
48
+ "3d",
49
+ "4s",
50
+ "4p",
51
+ "4d",
52
+ "4f",
53
+ "5s",
54
+ "5p",
55
+ "5d",
56
+ "5f",
57
+ "6s",
58
+ "6p",
59
+ "6d",
60
+ "7s",
61
+ "7p",
62
+ "7d",
63
+ ];
64
+
65
+ constructor(contextItem: Partial<S>, externalContext: EC) {
66
+ super(contextItem, externalContext);
67
+ this.initMaterialContextMixin(externalContext);
68
+
69
+ this.uniqueElementsWithLabels = [
70
+ ...new Set(this.material.Basis?.elementsWithLabelsArray || []),
71
+ ];
72
+
73
+ this.firstElement =
74
+ this.uniqueElementsWithLabels?.length > 0 ? this.uniqueElementsWithLabels[0] : "";
75
+
76
+ this.secondSpecies =
77
+ this.uniqueElementsWithLabels?.length > 1
78
+ ? this.uniqueElementsWithLabels[1]
79
+ : this.firstElement;
80
+ }
81
+ }
82
+
83
+ materialContextMixin(HubbardContextProvider.prototype);
84
+
85
+ export default HubbardContextProvider;
@@ -0,0 +1,82 @@
1
+ import JSONSchemasInterface from "@mat3ra/esse/dist/js/esse/JSONSchemasInterface";
2
+ import type {
3
+ HubbardJContextItemSchema,
4
+ HubbardJContextProviderSchema,
5
+ } from "@mat3ra/esse/dist/js/types";
6
+ import type { JSONSchema7 } from "json-schema";
7
+
8
+ import type { UnitContext } from "../base/ContextProvider";
9
+ import HubbardContextProvider, { type HubbardExternalContext } from "./HubbardContextProvider";
10
+
11
+ type Schema = HubbardJContextItemSchema;
12
+ type Data = HubbardJContextProviderSchema;
13
+
14
+ const defaultHubbardConfig = {
15
+ paramType: "J" as const,
16
+ atomicSpecies: "",
17
+ atomicOrbital: "2p",
18
+ value: 1.0,
19
+ };
20
+
21
+ const jsonSchemaId = "context-providers-directory/hubbard-j-context-provider";
22
+
23
+ export default class HubbardJContextManager extends HubbardContextProvider<Schema> {
24
+ readonly name = "hubbard_j" as const;
25
+
26
+ readonly entityName = "unit" as const;
27
+
28
+ static createFromUnitContext(
29
+ unitContext: UnitContext,
30
+ externalContext: HubbardExternalContext,
31
+ ) {
32
+ const contextItem = this.findContextItem<Schema>(unitContext, "hubbard_j");
33
+
34
+ return new HubbardJContextManager(contextItem, externalContext);
35
+ }
36
+
37
+ readonly uiSchemaStyled = {
38
+ "ui:options": {
39
+ addable: true,
40
+ orderable: true,
41
+ removable: true,
42
+ },
43
+ } as const;
44
+
45
+ readonly jsonSchema: JSONSchema7;
46
+
47
+ constructor(contextItem: Partial<Schema>, externalContext: HubbardExternalContext) {
48
+ super(contextItem, externalContext);
49
+
50
+ const jsonSchema = JSONSchemasInterface.getPatchedSchemaById(jsonSchemaId, {
51
+ "items.properties.paramType": {
52
+ default: defaultHubbardConfig.paramType,
53
+ },
54
+ "items.properties.atomicSpecies": {
55
+ enum: this.uniqueElementsWithLabels,
56
+ default: this.firstElement,
57
+ },
58
+ "items.properties.atomicOrbital": {
59
+ enum: this.orbitalList,
60
+ default: defaultHubbardConfig.atomicOrbital,
61
+ },
62
+ "items.properties.value": {
63
+ default: defaultHubbardConfig.value,
64
+ },
65
+ });
66
+
67
+ if (!jsonSchema) {
68
+ throw new Error("Failed to get patched JSON schema");
69
+ }
70
+
71
+ this.jsonSchema = jsonSchema;
72
+ }
73
+
74
+ getDefaultData(): Data {
75
+ return [
76
+ {
77
+ ...defaultHubbardConfig,
78
+ atomicSpecies: this.firstElement,
79
+ },
80
+ ];
81
+ }
82
+ }
@@ -0,0 +1,78 @@
1
+ import JSONSchemasInterface from "@mat3ra/esse/dist/js/esse/JSONSchemasInterface";
2
+ import type {
3
+ HubbardUContextItemSchema,
4
+ HubbardUContextProviderSchema,
5
+ } from "@mat3ra/esse/dist/js/types";
6
+ import type { JSONSchema7 } from "json-schema";
7
+
8
+ import type { UnitContext } from "../base/ContextProvider";
9
+ import HubbardContextProvider, { type HubbardExternalContext } from "./HubbardContextProvider";
10
+
11
+ type Schema = HubbardUContextItemSchema;
12
+ type Data = HubbardUContextProviderSchema;
13
+
14
+ const defaultHubbardConfig = {
15
+ atomicSpecies: "",
16
+ atomicOrbital: "2p",
17
+ hubbardUValue: 1.0,
18
+ };
19
+
20
+ const jsonSchemaId = "context-providers-directory/hubbard-u-context-provider";
21
+
22
+ export default class HubbardUContextManager extends HubbardContextProvider<Schema> {
23
+ readonly name = "hubbard_u" as const;
24
+
25
+ readonly entityName = "unit" as const;
26
+
27
+ static createFromUnitContext(
28
+ unitContext: UnitContext,
29
+ externalContext: HubbardExternalContext,
30
+ ) {
31
+ const contextItem = this.findContextItem<Schema>(unitContext, "hubbard_u");
32
+
33
+ return new HubbardUContextManager(contextItem, externalContext);
34
+ }
35
+
36
+ readonly uiSchemaStyled = {
37
+ "ui:options": {
38
+ addable: true,
39
+ orderable: false,
40
+ removable: true,
41
+ },
42
+ } as const;
43
+
44
+ readonly jsonSchema: JSONSchema7;
45
+
46
+ constructor(contextItem: Partial<Schema>, externalContext: HubbardExternalContext) {
47
+ super(contextItem, externalContext);
48
+
49
+ const jsonSchema = JSONSchemasInterface.getPatchedSchemaById(jsonSchemaId, {
50
+ "items.properties.atomicSpecies": {
51
+ enum: this.uniqueElementsWithLabels,
52
+ default: this.firstElement,
53
+ },
54
+ "items.properties.atomicOrbital": {
55
+ enum: this.orbitalList,
56
+ default: defaultHubbardConfig.atomicOrbital,
57
+ },
58
+ "items.properties.hubbardUValue": {
59
+ default: defaultHubbardConfig.hubbardUValue,
60
+ },
61
+ });
62
+
63
+ if (!jsonSchema) {
64
+ throw new Error("Failed to get patched JSON schema");
65
+ }
66
+
67
+ this.jsonSchema = jsonSchema;
68
+ }
69
+
70
+ getDefaultData(): Data {
71
+ return [
72
+ {
73
+ ...defaultHubbardConfig,
74
+ atomicSpecies: this.firstElement,
75
+ },
76
+ ];
77
+ }
78
+ }
@@ -0,0 +1,100 @@
1
+ import JSONSchemasInterface from "@mat3ra/esse/dist/js/esse/JSONSchemasInterface";
2
+ import type {
3
+ HubbardVContextItemSchema,
4
+ HubbardVContextProviderSchema,
5
+ } from "@mat3ra/esse/dist/js/types";
6
+ import type { JSONSchema7 } from "json-schema";
7
+
8
+ import type { UnitContext } from "../base/ContextProvider";
9
+ import HubbardContextProvider, { type HubbardExternalContext } from "./HubbardContextProvider";
10
+
11
+ type Schema = HubbardVContextItemSchema;
12
+ type Data = HubbardVContextProviderSchema;
13
+
14
+ const defaultHubbardConfig = {
15
+ atomicSpecies: "",
16
+ atomicOrbital: "2p",
17
+ atomicSpecies2: "",
18
+ atomicOrbital2: "2p",
19
+ siteIndex: 1,
20
+ siteIndex2: 1,
21
+ hubbardVValue: 1.0,
22
+ };
23
+
24
+ const jsonSchemaId = "context-providers-directory/hubbard-v-context-provider";
25
+
26
+ export default class HubbardVContextManager extends HubbardContextProvider<Schema> {
27
+ readonly name = "hubbard_v" as const;
28
+
29
+ readonly entityName = "unit" as const;
30
+
31
+ static createFromUnitContext(
32
+ unitContext: UnitContext,
33
+ externalContext: HubbardExternalContext,
34
+ ) {
35
+ const contextItem = this.findContextItem<Schema>(unitContext, "hubbard_v");
36
+
37
+ return new HubbardVContextManager(contextItem, externalContext);
38
+ }
39
+
40
+ readonly uiSchemaStyled = {
41
+ "ui:options": {
42
+ addable: true,
43
+ orderable: true,
44
+ removable: true,
45
+ },
46
+ } as const;
47
+
48
+ readonly jsonSchema: JSONSchema7;
49
+
50
+ constructor(contextItem: Partial<Schema>, externalContext: HubbardExternalContext) {
51
+ super(contextItem, externalContext);
52
+
53
+ const jsonSchema = JSONSchemasInterface.getPatchedSchemaById(jsonSchemaId, {
54
+ "items.properties.atomicSpecies": {
55
+ enum: this.uniqueElementsWithLabels,
56
+ default: this.firstElement,
57
+ },
58
+ "items.properties.siteIndex": {
59
+ default: defaultHubbardConfig.siteIndex,
60
+ },
61
+ "items.properties.atomicOrbital": {
62
+ enum: this.orbitalList,
63
+ default: defaultHubbardConfig.atomicOrbital,
64
+ },
65
+ "items.properties.atomicSpecies2": {
66
+ enum: this.uniqueElementsWithLabels,
67
+ default: this.secondSpecies,
68
+ },
69
+ "items.properties.siteIndex2": {
70
+ default:
71
+ this.uniqueElementsWithLabels?.length > 1 ? 2 : defaultHubbardConfig.siteIndex2,
72
+ },
73
+ "items.properties.atomicOrbital2": {
74
+ enum: this.orbitalList,
75
+ default: defaultHubbardConfig.atomicOrbital,
76
+ },
77
+ "items.properties.hubbardVValue": {
78
+ default: defaultHubbardConfig.hubbardVValue,
79
+ },
80
+ });
81
+
82
+ if (!jsonSchema) {
83
+ throw new Error("Failed to get patched JSON schema");
84
+ }
85
+
86
+ this.jsonSchema = jsonSchema;
87
+ }
88
+
89
+ getDefaultData(): Data {
90
+ return [
91
+ {
92
+ ...defaultHubbardConfig,
93
+ atomicSpecies: this.firstElement,
94
+ atomicSpecies2: this.secondSpecies,
95
+ siteIndex2:
96
+ this.uniqueElementsWithLabels?.length > 1 ? 2 : defaultHubbardConfig.siteIndex2,
97
+ },
98
+ ];
99
+ }
100
+ }
@@ -0,0 +1,64 @@
1
+ import JSONSchemasInterface from "@mat3ra/esse/dist/js/esse/JSONSchemasInterface";
2
+ import type { DynamicsContextItemSchema } from "@mat3ra/esse/dist/js/types";
3
+ import type { JSONSchema7 } from "json-schema";
4
+
5
+ import type { BaseExternalContext, UnitContext } from "./base/ContextProvider";
6
+ import JSONSchemaFormDataProvider from "./base/JSONSchemaFormDataProvider";
7
+
8
+ type Schema = DynamicsContextItemSchema;
9
+
10
+ const jsonSchemaId = "context-providers-directory/ion-dynamics-context-provider";
11
+
12
+ const defaultData = {
13
+ numberOfSteps: 100,
14
+ timeStep: 5.0,
15
+ electronMass: 100.0,
16
+ temperature: 300.0,
17
+ };
18
+
19
+ export default class IonDynamicsDataManager extends JSONSchemaFormDataProvider<Schema> {
20
+ readonly name = "dynamics" as const;
21
+
22
+ readonly domain = "important" as const;
23
+
24
+ readonly entityName = "unit" as const;
25
+
26
+ static createFromUnitContext(unitContext: UnitContext, externalContext: BaseExternalContext) {
27
+ const contextItem = this.findContextItem<Schema>(unitContext, "dynamics");
28
+
29
+ return new IonDynamicsDataManager(contextItem, externalContext);
30
+ }
31
+
32
+ readonly uiSchema = {
33
+ numberOfSteps: {},
34
+ timeStep: {},
35
+ electronMass: {},
36
+ temperature: {},
37
+ } as const;
38
+
39
+ readonly extraData = {};
40
+
41
+ readonly jsonSchema: JSONSchema7;
42
+
43
+ constructor(contextItem: Partial<Schema>, externalContext: BaseExternalContext) {
44
+ super(contextItem, externalContext);
45
+
46
+ const jsonSchema = JSONSchemasInterface.getPatchedSchemaById(jsonSchemaId, {
47
+ numberOfSteps: { default: defaultData.numberOfSteps },
48
+ timeStep: { default: defaultData.timeStep },
49
+ electronMass: { default: defaultData.electronMass },
50
+ temperature: { default: defaultData.temperature },
51
+ });
52
+
53
+ if (!jsonSchema) {
54
+ throw new Error("Failed to get patched JSON schema");
55
+ }
56
+
57
+ this.jsonSchema = jsonSchema;
58
+ }
59
+
60
+ // eslint-disable-next-line class-methods-use-this
61
+ getDefaultData() {
62
+ return defaultData;
63
+ }
64
+ }