@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
@@ -1,140 +0,0 @@
1
- import context from "./context";
2
-
3
- const {
4
- BoundaryConditionsFormDataProvider,
5
- MLSettingsContextProvider,
6
- MLTrainTestSplitContextProvider,
7
- NEBFormDataProvider,
8
- PlanewaveCutoffsContextProvider,
9
- PointsGridFormDataProvider,
10
- PointsPathFormDataProvider,
11
- ExplicitPointsPathFormDataProvider,
12
- ExplicitPointsPath2PIBAFormDataProvider,
13
- HubbardJContextProvider,
14
- HubbardUContextProvider,
15
- HubbardVContextProvider,
16
- HubbardContextProviderLegacy,
17
- IonDynamicsContextProvider,
18
- CollinearMagnetizationContextProvider,
19
- NonCollinearMagnetizationContextProvider,
20
- VASPContextProvider,
21
- VASPNEBContextProvider,
22
- QEPWXContextProvider,
23
- QENEBContextProvider,
24
- NWChemTotalEnergyContextProvider,
25
- } = context;
26
-
27
- const CONTEXT_DOMAINS = {
28
- important: "important", // used to generate `ImportantSettings` form
29
- };
30
-
31
- const _makeImportant = (config) => Object.assign(config, { domain: CONTEXT_DOMAINS.important });
32
-
33
- /** ********************************
34
- * Method-based context providers *
35
- ********************************* */
36
-
37
- export const wodeProviders = {
38
- // NOTE: subworkflow-level data manager. Will override the unit-level data with the same name via subworkflow context.
39
- PlanewaveCutoffDataManager: {
40
- providerCls: PlanewaveCutoffsContextProvider,
41
- config: _makeImportant({ name: "cutoffs", entityName: "subworkflow" }),
42
- },
43
- KGridFormDataManager: {
44
- providerCls: PointsGridFormDataProvider,
45
- config: _makeImportant({ name: "kgrid" }),
46
- },
47
- QGridFormDataManager: {
48
- providerCls: PointsGridFormDataProvider,
49
- config: _makeImportant({ name: "qgrid", divisor: 5 }), // Using less points for Qgrid by default
50
- },
51
- IGridFormDataManager: {
52
- providerCls: PointsGridFormDataProvider,
53
- config: _makeImportant({ name: "igrid", divisor: 0.2 }), // Using more points for interpolated grid by default
54
- },
55
- QPathFormDataManager: {
56
- providerCls: PointsPathFormDataProvider,
57
- config: _makeImportant({ name: "qpath" }),
58
- },
59
- IPathFormDataManager: {
60
- providerCls: PointsPathFormDataProvider,
61
- config: _makeImportant({ name: "ipath" }),
62
- },
63
- KPathFormDataManager: {
64
- providerCls: PointsPathFormDataProvider,
65
- config: _makeImportant({ name: "kpath" }),
66
- },
67
- ExplicitKPathFormDataManager: {
68
- providerCls: ExplicitPointsPathFormDataProvider,
69
- config: _makeImportant({ name: "explicitKPath" }),
70
- },
71
- ExplicitKPath2PIBAFormDataManager: {
72
- providerCls: ExplicitPointsPath2PIBAFormDataProvider,
73
- config: _makeImportant({ name: "explicitKPath2PIBA" }),
74
- },
75
- HubbardJContextManager: {
76
- providerCls: HubbardJContextProvider,
77
- config: _makeImportant({ name: "hubbard_j" }),
78
- },
79
- HubbardUContextManager: {
80
- providerCls: HubbardUContextProvider,
81
- config: _makeImportant({ name: "hubbard_u" }),
82
- },
83
- HubbardVContextManager: {
84
- providerCls: HubbardVContextProvider,
85
- config: _makeImportant({ name: "hubbard_v" }),
86
- },
87
- HubbardContextManagerLegacy: {
88
- providerCls: HubbardContextProviderLegacy,
89
- config: _makeImportant({ name: "hubbard_legacy" }),
90
- },
91
- // NEBFormDataManager context is stored under the same key (`input`) as InputDataManager contexts.
92
- NEBFormDataManager: {
93
- providerCls: NEBFormDataProvider,
94
- config: _makeImportant({ name: "neb" }),
95
- },
96
- BoundaryConditionsFormDataManager: {
97
- providerCls: BoundaryConditionsFormDataProvider,
98
- config: _makeImportant({ name: "boundaryConditions" }),
99
- },
100
- MLSettingsDataManager: {
101
- providerCls: MLSettingsContextProvider,
102
- config: _makeImportant({ name: "mlSettings" }),
103
- },
104
- MLTrainTestSplitDataManager: {
105
- providerCls: MLTrainTestSplitContextProvider,
106
- config: _makeImportant({ name: "mlTrainTestSplit" }),
107
- },
108
- IonDynamicsContextProvider: {
109
- providerCls: IonDynamicsContextProvider,
110
- config: _makeImportant({ name: "dynamics" }),
111
- },
112
- CollinearMagnetizationDataManager: {
113
- providerCls: CollinearMagnetizationContextProvider,
114
- config: _makeImportant({ name: "collinearMagnetization" }),
115
- },
116
- NonCollinearMagnetizationDataManager: {
117
- providerCls: NonCollinearMagnetizationContextProvider,
118
- config: _makeImportant({ name: "nonCollinearMagnetization" }),
119
- },
120
- QEPWXInputDataManager: {
121
- providerCls: QEPWXContextProvider,
122
- config: { name: "input" },
123
- },
124
- QENEBInputDataManager: {
125
- providerCls: QENEBContextProvider,
126
- config: { name: "input" },
127
- },
128
- VASPInputDataManager: {
129
- providerCls: VASPContextProvider,
130
- config: { name: "input" },
131
- },
132
- VASPNEBInputDataManager: {
133
- providerCls: VASPNEBContextProvider,
134
- config: { name: "input" },
135
- },
136
- NWChemInputDataManager: {
137
- providerCls: NWChemTotalEnergyContextProvider,
138
- config: { name: "input" },
139
- },
140
- };
package/src/js/index.js DELETED
@@ -1,57 +0,0 @@
1
- import { wodeProviders } from "./context/providers";
2
- import { PointsPathFormDataProvider } from "./context/providers/PointsPathFormDataProvider";
3
- import { globalSettings } from "./context/providers/settings";
4
- import {
5
- TAB_NAVIGATION_CONFIG,
6
- UNIT_NAME_INVALID_CHARS,
7
- UNIT_STATUSES,
8
- UNIT_TYPES,
9
- WORKFLOW_STATUSES,
10
- } from "./enums";
11
- import { createSubworkflowByName, Subworkflow } from "./subworkflows";
12
- import {
13
- AssertionUnit,
14
- AssignmentUnit,
15
- BaseUnit,
16
- ConditionUnit,
17
- ExecutionUnit,
18
- IOUnit,
19
- MapUnit,
20
- ProcessingUnit,
21
- ReduceUnit,
22
- SubworkflowUnit,
23
- } from "./units";
24
- import { builders } from "./units/builders";
25
- import { UnitFactory } from "./units/factory";
26
- import { defaultMapConfig } from "./units/map";
27
- import { createWorkflow, createWorkflowConfigs, createWorkflows, Workflow } from "./workflows";
28
-
29
- export {
30
- Subworkflow,
31
- Workflow,
32
- createWorkflow,
33
- createWorkflows,
34
- createWorkflowConfigs,
35
- createSubworkflowByName,
36
- UnitFactory,
37
- builders,
38
- UNIT_TYPES,
39
- UNIT_STATUSES,
40
- TAB_NAVIGATION_CONFIG,
41
- UNIT_NAME_INVALID_CHARS,
42
- WORKFLOW_STATUSES,
43
- BaseUnit,
44
- ExecutionUnit,
45
- AssertionUnit,
46
- AssignmentUnit,
47
- ConditionUnit,
48
- IOUnit,
49
- MapUnit,
50
- ProcessingUnit,
51
- ReduceUnit,
52
- SubworkflowUnit,
53
- defaultMapConfig,
54
- wodeProviders,
55
- PointsPathFormDataProvider,
56
- globalSettings,
57
- };
package/src/js/patch.js DELETED
@@ -1,12 +0,0 @@
1
- import { Template } from "@mat3ra/ade";
2
-
3
- import { wodeProviders } from "./context/providers";
4
-
5
- // We patch the static providerRegistry here so that
6
- // Template has all context providers available
7
- // to it when creating workflows. It is then re-exported
8
- // from WoDe for use downstream.
9
-
10
- Template.setContextProvidersConfig(wodeProviders);
11
-
12
- export { Template };
@@ -1,12 +0,0 @@
1
- import schemas from "@mat3ra/esse/dist/js/schemas.json";
2
-
3
- const convergenceEnumOptionsSchema = schemas.find(
4
- (schema) => schema.$id === "workflow/subworkflow/convergence/enum-options",
5
- );
6
- const values = convergenceEnumOptionsSchema?.definitions?.ConvergenceParameterNameEnum?.enum || [];
7
-
8
- export const ConvergenceParameterName = Object.freeze({
9
- N_k: values[0] || "N_k",
10
- N_k_nonuniform: values[1] || "N_k_nonuniform",
11
- N_k_nonuniform_2D: values[2] || "N_k_nonuniform_2D",
12
- });
@@ -1,15 +0,0 @@
1
- import { ConvergenceParameterName } from "./enums";
2
- import { NonUniformKGridConvergence } from "./non_uniform_kgrid";
3
- import { ConvergenceParameter } from "./parameter";
4
- import { UniformKGridConvergence } from "./uniform_kgrid";
5
-
6
- export function createConvergenceParameter({ name, initialValue, increment }) {
7
- switch (name) {
8
- case ConvergenceParameterName.N_k:
9
- return new UniformKGridConvergence({ name, initialValue, increment });
10
- case ConvergenceParameterName.N_k_nonuniform:
11
- return new NonUniformKGridConvergence({ name, initialValue, increment });
12
- default:
13
- return new ConvergenceParameter({ name, initialValue, increment });
14
- }
15
- }
@@ -1,28 +0,0 @@
1
- import { ConvergenceParameter } from "./parameter";
2
-
3
- export class NonUniformKGridConvergence extends ConvergenceParameter {
4
- get increment() {
5
- return `[${this.initialValue}[i] + math.floor(iteration * ${this._increment} * float(context['kgrid']['reciprocalVectorRatios'][i])) for i in range(3)]`;
6
- }
7
-
8
- get unitContext() {
9
- return {
10
- kgrid: {
11
- dimensions: [`{{${this.name}[0]}}`, `{{${this.name}[1]}}`, `{{${this.name}[2]}}`],
12
- shifts: [0, 0, 0],
13
- },
14
- isKgridEdited: true,
15
- isUsingJinjaVariables: true,
16
- };
17
- }
18
-
19
- // eslint-disable-next-line class-methods-use-this
20
- useVariablesFromUnitContext(flowchartId) {
21
- return [
22
- {
23
- scope: flowchartId,
24
- name: "context",
25
- },
26
- ];
27
- }
28
- }
@@ -1,58 +0,0 @@
1
- /* eslint-disable class-methods-use-this */
2
- import lodash from "lodash";
3
-
4
- export class ConvergenceParameter {
5
- constructor({ name, initialValue, increment }) {
6
- this.name = name;
7
- this._initialValue = initialValue;
8
- this._increment = increment;
9
- }
10
-
11
- /**
12
- * Getter for initial value as string.
13
- * Note: this will be used in assignment unit.
14
- * @return {string}
15
- */
16
- get initialValue() {
17
- if (!lodash.isString(this._initialValue)) {
18
- return JSON.stringify(this._initialValue);
19
- }
20
- return this._initialValue;
21
- }
22
-
23
- /**
24
- * @summary Defines how to increment the parameter.
25
- * @return {string} - increment operation used in assignment unit
26
- */
27
- get increment() {
28
- return ""; // overwrite in derived class
29
- }
30
-
31
- /**
32
- * Defines content for updating the unit context
33
- * @return {Object}
34
- */
35
- get unitContext() {
36
- return {};
37
- }
38
-
39
- /**
40
- * Defines value once convergence is reached (for 'exit' unit).
41
- * Note: This is used in assignment unit and most often the variable will be assigned to itself.
42
- * @return {string}
43
- */
44
- get finalValue() {
45
- return `${this.name}`;
46
- }
47
-
48
- /**
49
- * Create list of variables to fetch from a unit.
50
- * Note: this is used for the `input` field for an assignment unit.
51
- * @param {string} flowchartId - flowchartId of unit containing context variables
52
- * @return {Object|{scope, name}}
53
- */
54
- // eslint-disable-next-line class-methods-use-this, no-unused-vars
55
- useVariablesFromUnitContext(flowchartId) {
56
- return [];
57
- }
58
- }
@@ -1,22 +0,0 @@
1
- import { ConvergenceParameter } from "./parameter";
2
-
3
- export class UniformKGridConvergence extends ConvergenceParameter {
4
- get increment() {
5
- return `${this.name} + ${this._increment}`;
6
- }
7
-
8
- get unitContext() {
9
- return {
10
- kgrid: {
11
- dimensions: [`{{${this.name}}}`, `{{${this.name}}}`, `{{${this.name}}}`],
12
- shifts: [0, 0, 0],
13
- },
14
- isKgridEdited: true,
15
- isUsingJinjaVariables: true,
16
- };
17
- }
18
-
19
- get finalValue() {
20
- return `${this.name} + 0`;
21
- }
22
- }
@@ -1,196 +0,0 @@
1
- import merge from "lodash/merge";
2
-
3
- import { UNIT_TAGS, UNIT_TYPES } from "../enums";
4
- import { createConvergenceParameter } from "./convergence/factory";
5
-
6
- export const ConvergenceMixin = (superclass) =>
7
- class extends superclass {
8
- get convergenceParam() {
9
- return this.findUnitWithTag("hasConvergenceParam")?.operand || undefined;
10
- }
11
-
12
- get convergenceResult() {
13
- return this.findUnitWithTag("hasConvergenceResult")?.operand || undefined;
14
- }
15
-
16
- convergenceSeries(scopeTrack) {
17
- if (!this.hasConvergence || !scopeTrack?.length) return [];
18
- let lastResult;
19
- const series = scopeTrack
20
- .map((scopeItem, i) => ({
21
- x: i,
22
- param: scopeItem.scope?.global[this.convergenceParam],
23
- y: scopeItem.scope?.global[this.convergenceResult],
24
- }))
25
- .filter(({ y }) => {
26
- const isNewResult = y !== undefined && y !== lastResult;
27
- lastResult = y;
28
- return isNewResult;
29
- });
30
- return series.map((item, i) => {
31
- return {
32
- x: i + 1,
33
- param: item.param,
34
- y: item.y,
35
- };
36
- });
37
- }
38
-
39
- addConvergence({
40
- parameter,
41
- parameterInitial,
42
- parameterIncrement,
43
- result,
44
- resultInitial,
45
- condition,
46
- operator,
47
- tolerance,
48
- maxOccurrences,
49
- }) {
50
- // RF: added TODO comments for future improvements
51
-
52
- const { units } = this;
53
- // Find unit to converge: should contain passed result in its results list
54
- // TODO: make user to select unit for convergence explicitly
55
- const unitForConvergence = units.find((x) =>
56
- x.resultNames.find((name) => name === result),
57
- );
58
-
59
- if (!unitForConvergence) {
60
- // eslint-disable-next-line no-undef
61
- sAlert.error(
62
- `Subworkflow does not contain unit with '${result}' as extracted property.`,
63
- );
64
- throw new Error("There is no result to converge");
65
- }
66
-
67
- // initialize parameter
68
- const param = createConvergenceParameter({
69
- name: parameter,
70
- initialValue: parameterInitial,
71
- increment: parameterIncrement,
72
- });
73
-
74
- // Replace kgrid to be ready for convergence
75
- // TODO: kgrid should be abstracted and selected by user
76
- const providers = unitForConvergence.importantSettingsProviders;
77
- const gridProvider = providers.find((p) => p.name === "kgrid" || p.name === "qgrid");
78
- let mergedContext = param.unitContext;
79
- if (gridProvider) {
80
- mergedContext = merge(gridProvider.yieldData(), param.unitContext);
81
- gridProvider.setData(mergedContext);
82
- gridProvider.setIsEdited(true);
83
- }
84
- unitForConvergence.updateContext(mergedContext);
85
-
86
- const prevResult = "prev_result";
87
- const iteration = "iteration";
88
-
89
- // Assignment with result's initial value
90
- const prevResultInit = this._UnitFactory.create({
91
- name: "init result",
92
- type: UNIT_TYPES.assignment,
93
- head: true,
94
- operand: prevResult,
95
- value: resultInitial,
96
- });
97
-
98
- // Assignment with initial value of convergence parameter
99
- const paramInit = this._UnitFactory.create({
100
- name: "init parameter",
101
- type: UNIT_TYPES.assignment,
102
- operand: param.name,
103
- value: param.initialValue,
104
- tags: [UNIT_TAGS.hasConvergenceParam],
105
- });
106
-
107
- // Assignment with initial value of iteration counter
108
- const iterInit = this._UnitFactory.create({
109
- name: "init counter",
110
- type: UNIT_TYPES.assignment,
111
- operand: iteration,
112
- value: 1,
113
- });
114
-
115
- // Assignment for storing iteration result: extracts 'result' from convergence unit scope
116
- const storePrevResult = this._UnitFactory.create({
117
- name: "store result",
118
- type: UNIT_TYPES.assignment,
119
- input: [
120
- {
121
- scope: unitForConvergence.flowchartId,
122
- name: result,
123
- },
124
- ],
125
- operand: prevResult,
126
- value: result,
127
- });
128
-
129
- // Assignment for convergence param increase
130
- const nextStep = this._UnitFactory.create({
131
- name: "update parameter",
132
- type: UNIT_TYPES.assignment,
133
- input: param.useVariablesFromUnitContext(unitForConvergence.flowchartId),
134
- operand: param.name,
135
- value: param.increment,
136
- next: unitForConvergence.flowchartId,
137
- });
138
-
139
- // Final step of convergence
140
- const exit = this._UnitFactory.create({
141
- type: UNIT_TYPES.assignment,
142
- name: "exit",
143
- input: [],
144
- operand: param.name,
145
- value: param.finalValue,
146
- });
147
-
148
- // Final step of convergence
149
- const storeResult = this._UnitFactory.create({
150
- name: "update result",
151
- type: UNIT_TYPES.assignment,
152
- input: [
153
- {
154
- scope: unitForConvergence.flowchartId,
155
- name: result,
156
- },
157
- ],
158
- operand: result,
159
- value: result,
160
- tags: [UNIT_TAGS.hasConvergenceResult],
161
- });
162
-
163
- // Assign next iteration value
164
- const nextIter = this._UnitFactory.create({
165
- name: "update counter",
166
- type: UNIT_TYPES.assignment,
167
- input: [],
168
- operand: iteration,
169
- value: `${iteration} + 1`,
170
- });
171
-
172
- // Convergence condition unit
173
- const conditionUnit = this._UnitFactory.create({
174
- name: "check convergence",
175
- type: UNIT_TYPES.condition,
176
- statement: `${condition} ${operator} ${tolerance}`,
177
- then: exit.flowchartId,
178
- else: storePrevResult.flowchartId,
179
- maxOccurrences,
180
- next: storePrevResult.flowchartId,
181
- });
182
-
183
- this.addUnit(paramInit, 0);
184
- this.addUnit(prevResultInit, 1);
185
- this.addUnit(iterInit, 2);
186
- this.addUnit(storeResult);
187
- this.addUnit(conditionUnit);
188
- this.addUnit(storePrevResult);
189
- this.addUnit(nextIter);
190
- this.addUnit(nextStep);
191
- this.addUnit(exit);
192
-
193
- // `addUnit` adjusts the `next` field, hence the below.
194
- nextStep.next = unitForConvergence.flowchartId;
195
- }
196
- };