@mat3ra/wode 2026.4.9-0 → 2026.5.29-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 (361) 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/utils.js +2 -7
  159. package/dist/js/workflows/default.d.ts +3 -0
  160. package/dist/js/workflows/default.js +43 -39
  161. package/dist/js/workflows/workflow.d.ts +4404 -0
  162. package/dist/js/workflows/workflow.js +310 -306
  163. package/package.json +56 -44
  164. package/src/js/Subworkflow.ts +532 -0
  165. package/src/js/Workflow.ts +390 -0
  166. package/src/js/context/mixins/ApplicationContextMixin.ts +21 -0
  167. package/src/js/context/mixins/MaterialContextMixin.ts +35 -0
  168. package/src/js/context/mixins/MaterialsContextMixin.ts +24 -0
  169. package/src/js/context/mixins/MaterialsSetContextMixin.ts +42 -0
  170. package/src/js/context/providers/BoundaryConditionsFormDataManager.ts +88 -0
  171. package/src/js/context/providers/CollinearMagnetizationDataManager.ts +140 -0
  172. package/src/js/context/providers/Hubbard/HubbardContextManagerLegacy.ts +93 -0
  173. package/src/js/context/providers/Hubbard/HubbardContextProvider.ts +85 -0
  174. package/src/js/context/providers/Hubbard/HubbardJContextManager.ts +82 -0
  175. package/src/js/context/providers/Hubbard/HubbardUContextManager.ts +78 -0
  176. package/src/js/context/providers/Hubbard/HubbardVContextManager.ts +100 -0
  177. package/src/js/context/providers/IonDynamicsDataManager.ts +64 -0
  178. package/src/js/context/providers/MLSettingsDataManager.ts +61 -0
  179. package/src/js/context/providers/MLTrainTestSplitDataManager.ts +59 -0
  180. package/src/js/context/providers/NEBFormDataManager.ts +57 -0
  181. package/src/js/context/providers/NonCollinearMagnetizationDataManager.ts +229 -0
  182. package/src/js/context/providers/PlanewaveCutoffDataManager.ts +110 -0
  183. package/src/js/context/providers/PointsGrid/IGridFormDataManager.ts +36 -0
  184. package/src/js/context/providers/PointsGrid/KGridFormDataManager.ts +46 -0
  185. package/src/js/context/providers/PointsGrid/PointsGridFormDataProvider.ts +371 -0
  186. package/src/js/context/providers/PointsGrid/QGridFormDataManager.ts +36 -0
  187. package/src/js/context/providers/PointsPath/ExplicitKPath2PIBAFormDataManager.ts +26 -0
  188. package/src/js/context/providers/PointsPath/ExplicitKPathFormDataManager.ts +24 -0
  189. package/src/js/context/providers/PointsPath/IPathFormDataManager.ts +22 -0
  190. package/src/js/context/providers/PointsPath/KPathFormDataManager.ts +22 -0
  191. package/src/js/context/providers/PointsPath/PointsPathFormDataProvider.ts +192 -0
  192. package/src/js/context/providers/PointsPath/QPathFormDataManager.ts +22 -0
  193. package/src/js/context/providers/base/ContextProvider.ts +150 -0
  194. package/src/js/context/providers/base/JSONSchemaDataProvider.ts +31 -0
  195. package/src/js/context/providers/base/JSONSchemaFormDataProvider.ts +38 -0
  196. package/src/js/context/providers/by_application/espresso/QENEBInputDataManager.ts +107 -0
  197. package/src/js/context/providers/by_application/espresso/QEPWXInputDataManager.ts +178 -0
  198. package/src/js/context/providers/by_application/nwchem/NWChemInputDataManager.ts +93 -0
  199. package/src/js/context/providers/by_application/vasp/VASPInputDataManager.ts +89 -0
  200. package/src/js/context/providers/by_application/vasp/VASPNEBInputDataManager.ts +92 -0
  201. package/src/js/context/providers/index.ts +155 -0
  202. package/src/js/context/providers/settings.ts +13 -0
  203. package/src/js/convergence/ConvergenceParameter.ts +37 -0
  204. package/src/js/convergence/NonUniformKGridConvergence.ts +38 -0
  205. package/src/js/convergence/UniformKGridConvergence.ts +26 -0
  206. package/src/js/convergence/factory.ts +18 -0
  207. package/src/js/{enums.js → enums.ts} +27 -22
  208. package/src/js/generated/AssertionUnitSchemaMixin.ts +34 -0
  209. package/src/js/generated/AssignmentUnitSchemaMixin.ts +40 -0
  210. package/src/js/generated/BaseUnitSchemaMixin.ts +64 -0
  211. package/src/js/generated/ConditionUnitSchemaMixin.ts +58 -0
  212. package/src/js/generated/ExecutionUnitInputSchemaMixin.ts +36 -0
  213. package/src/js/generated/ExecutionUnitSchemaMixin.ts +52 -0
  214. package/src/js/generated/IOUnitSchemaMixin.ts +40 -0
  215. package/src/js/generated/MapUnitSchemaMixin.ts +34 -0
  216. package/src/js/generated/ReduceUnitSchemaMixin.ts +34 -0
  217. package/src/js/generated/StatusSchemaMixin.ts +28 -0
  218. package/src/js/generated/SubworkflowSchemaMixin.ts +58 -0
  219. package/src/js/generated/SubworkflowUnitSchemaMixin.ts +22 -0
  220. package/src/js/generated/WorkflowSchemaMixin.ts +58 -0
  221. package/src/js/index.ts +44 -0
  222. package/src/js/units/AssertionUnit.ts +49 -0
  223. package/src/js/units/AssignmentUnit.ts +49 -0
  224. package/src/js/units/BaseUnit.ts +117 -0
  225. package/src/js/units/ConditionUnit.ts +52 -0
  226. package/src/js/units/ExecutionUnit.ts +274 -0
  227. package/src/js/units/ExecutionUnitInput.ts +71 -0
  228. package/src/js/units/IOUnit.ts +43 -0
  229. package/src/js/units/MapUnit.ts +59 -0
  230. package/src/js/units/ReduceUnit.ts +46 -0
  231. package/src/js/units/SubworkflowUnit.ts +44 -0
  232. package/src/js/units/factory.ts +131 -0
  233. package/src/js/units/index.ts +27 -0
  234. package/src/js/units/mixins/RuntimeItemsUILogicMixin.ts +81 -0
  235. package/src/js/utils/baseUnits.ts +11 -0
  236. package/src/js/utils/index.ts +3 -0
  237. package/src/js/utils/units.ts +23 -0
  238. package/src/js/utils/workflow.ts +69 -0
  239. package/src/js/workflows/{default.js → default.ts} +8 -1
  240. package/build_workflows.js +0 -65
  241. package/dist/js/context/context.js +0 -49
  242. package/dist/js/context/mixins/JobContextMixin.js +0 -39
  243. package/dist/js/context/mixins/MethodDataContextMixin.js +0 -48
  244. package/dist/js/context/mixins/WorkflowContextMixin.js +0 -28
  245. package/dist/js/context/providers/BoundaryConditionsFormDataProvider.js +0 -84
  246. package/dist/js/context/providers/CollinearMagnetizationContextProvider.js +0 -96
  247. package/dist/js/context/providers/HubbardContextProviderLegacy.js +0 -68
  248. package/dist/js/context/providers/HubbardJContextProvider.js +0 -67
  249. package/dist/js/context/providers/HubbardUContextProvider.js +0 -70
  250. package/dist/js/context/providers/HubbardVContextProvider.js +0 -92
  251. package/dist/js/context/providers/IonDynamicsContextProvider.js +0 -58
  252. package/dist/js/context/providers/MLSettingsContextProvider.js +0 -51
  253. package/dist/js/context/providers/MLTrainTestSplitContextProvider.js +0 -47
  254. package/dist/js/context/providers/NEBFormDataProvider.js +0 -42
  255. package/dist/js/context/providers/NonCollinearMagnetizationContextProvider.js +0 -187
  256. package/dist/js/context/providers/PlanewaveCutoffsContextProvider.js +0 -67
  257. package/dist/js/context/providers/PointsGridFormDataProvider.js +0 -263
  258. package/dist/js/context/providers/PointsPathFormDataProvider.js +0 -147
  259. package/dist/js/context/providers/by_application/ExecutableContextProvider.js +0 -25
  260. package/dist/js/context/providers/by_application/espresso/QENEBContextProvider.js +0 -61
  261. package/dist/js/context/providers/by_application/espresso/QEPWXContextProvider.js +0 -150
  262. package/dist/js/context/providers/by_application/nwchem/NWChemTotalEnergyContextProvider.js +0 -85
  263. package/dist/js/context/providers/by_application/vasp/VASPContextProvider.js +0 -65
  264. package/dist/js/context/providers/by_application/vasp/VASPNEBContextProvider.js +0 -57
  265. package/dist/js/context/providers.js +0 -199
  266. package/dist/js/patch.js +0 -19
  267. package/dist/js/subworkflows/convergence/non_uniform_kgrid.js +0 -31
  268. package/dist/js/subworkflows/convergence/parameter.js +0 -70
  269. package/dist/js/subworkflows/convergence/uniform_kgrid.js +0 -26
  270. package/dist/js/subworkflows/convergence.js +0 -189
  271. package/dist/js/subworkflows/create.js +0 -293
  272. package/dist/js/subworkflows/dynamic/espresso/getQpointIrrep.js +0 -34
  273. package/dist/js/subworkflows/dynamic/index.js +0 -19
  274. package/dist/js/subworkflows/dynamic/surfaceEnergy.js +0 -67
  275. package/dist/js/subworkflows/index.js +0 -19
  276. package/dist/js/units/assertion.js +0 -37
  277. package/dist/js/units/assignment.js +0 -42
  278. package/dist/js/units/base.js +0 -91
  279. package/dist/js/units/builders/AssertionUnitConfigBuilder.js +0 -34
  280. package/dist/js/units/builders/AssignmentUnitConfigBuilder.js +0 -41
  281. package/dist/js/units/builders/ExecutionUnitConfigBuilder.js +0 -67
  282. package/dist/js/units/builders/IOUnitConfigBuilder.js +0 -54
  283. package/dist/js/units/builders/UnitConfigBuilder.js +0 -85
  284. package/dist/js/units/builders/index.js +0 -18
  285. package/dist/js/units/condition.js +0 -52
  286. package/dist/js/units/execution.js +0 -225
  287. package/dist/js/units/io.js +0 -148
  288. package/dist/js/units/map.js +0 -38
  289. package/dist/js/units/processing.js +0 -41
  290. package/dist/js/units/reduce.js +0 -24
  291. package/dist/js/units/subworkflow.js +0 -23
  292. package/dist/js/workflows/create.js +0 -318
  293. package/dist/js/workflows/index.js +0 -113
  294. package/dist/js/workflows/relaxation.js +0 -38
  295. package/src/js/context/context.js +0 -47
  296. package/src/js/context/mixins/ApplicationContextMixin.js +0 -19
  297. package/src/js/context/mixins/JobContextMixin.js +0 -36
  298. package/src/js/context/mixins/MaterialContextMixin.js +0 -41
  299. package/src/js/context/mixins/MaterialsContextMixin.js +0 -18
  300. package/src/js/context/mixins/MaterialsSetContextMixin.js +0 -24
  301. package/src/js/context/mixins/MethodDataContextMixin.js +0 -48
  302. package/src/js/context/mixins/WorkflowContextMixin.js +0 -25
  303. package/src/js/context/providers/BoundaryConditionsFormDataProvider.js +0 -72
  304. package/src/js/context/providers/CollinearMagnetizationContextProvider.js +0 -105
  305. package/src/js/context/providers/HubbardContextProviderLegacy.js +0 -67
  306. package/src/js/context/providers/HubbardJContextProvider.js +0 -65
  307. package/src/js/context/providers/HubbardUContextProvider.js +0 -95
  308. package/src/js/context/providers/HubbardVContextProvider.js +0 -96
  309. package/src/js/context/providers/IonDynamicsContextProvider.js +0 -44
  310. package/src/js/context/providers/MLSettingsContextProvider.js +0 -45
  311. package/src/js/context/providers/MLTrainTestSplitContextProvider.js +0 -43
  312. package/src/js/context/providers/NEBFormDataProvider.js +0 -33
  313. package/src/js/context/providers/NonCollinearMagnetizationContextProvider.js +0 -179
  314. package/src/js/context/providers/PlanewaveCutoffsContextProvider.js +0 -65
  315. package/src/js/context/providers/PointsGridFormDataProvider.js +0 -271
  316. package/src/js/context/providers/PointsPathFormDataProvider.js +0 -163
  317. package/src/js/context/providers/by_application/ExecutableContextProvider.js +0 -17
  318. package/src/js/context/providers/by_application/espresso/QENEBContextProvider.js +0 -58
  319. package/src/js/context/providers/by_application/espresso/QEPWXContextProvider.js +0 -168
  320. package/src/js/context/providers/by_application/nwchem/NWChemTotalEnergyContextProvider.js +0 -89
  321. package/src/js/context/providers/by_application/vasp/VASPContextProvider.js +0 -58
  322. package/src/js/context/providers/by_application/vasp/VASPNEBContextProvider.js +0 -48
  323. package/src/js/context/providers/settings.js +0 -38
  324. package/src/js/context/providers.js +0 -140
  325. package/src/js/index.js +0 -57
  326. package/src/js/patch.js +0 -12
  327. package/src/js/subworkflows/convergence/enums.js +0 -12
  328. package/src/js/subworkflows/convergence/factory.js +0 -15
  329. package/src/js/subworkflows/convergence/non_uniform_kgrid.js +0 -28
  330. package/src/js/subworkflows/convergence/parameter.js +0 -58
  331. package/src/js/subworkflows/convergence/uniform_kgrid.js +0 -22
  332. package/src/js/subworkflows/convergence.js +0 -196
  333. package/src/js/subworkflows/create.js +0 -220
  334. package/src/js/subworkflows/dynamic/espresso/getQpointIrrep.js +0 -35
  335. package/src/js/subworkflows/dynamic/index.js +0 -8
  336. package/src/js/subworkflows/dynamic/surfaceEnergy.js +0 -124
  337. package/src/js/subworkflows/index.js +0 -2
  338. package/src/js/subworkflows/subworkflow.js +0 -345
  339. package/src/js/units/assertion.js +0 -29
  340. package/src/js/units/assignment.js +0 -34
  341. package/src/js/units/base.js +0 -97
  342. package/src/js/units/builders/AssertionUnitConfigBuilder.js +0 -28
  343. package/src/js/units/builders/AssignmentUnitConfigBuilder.js +0 -36
  344. package/src/js/units/builders/ExecutionUnitConfigBuilder.js +0 -59
  345. package/src/js/units/builders/IOUnitConfigBuilder.js +0 -53
  346. package/src/js/units/builders/UnitConfigBuilder.js +0 -92
  347. package/src/js/units/builders/index.js +0 -15
  348. package/src/js/units/condition.js +0 -47
  349. package/src/js/units/execution.js +0 -267
  350. package/src/js/units/factory.js +0 -53
  351. package/src/js/units/index.js +0 -25
  352. package/src/js/units/io.js +0 -163
  353. package/src/js/units/map.js +0 -33
  354. package/src/js/units/processing.js +0 -39
  355. package/src/js/units/reduce.js +0 -17
  356. package/src/js/units/subworkflow.js +0 -15
  357. package/src/js/utils.js +0 -73
  358. package/src/js/workflows/create.js +0 -227
  359. package/src/js/workflows/index.js +0 -98
  360. package/src/js/workflows/relaxation.js +0 -42
  361. package/src/js/workflows/workflow.js +0 -388
@@ -1,220 +0,0 @@
1
- import { ApplicationRegistry } from "@mat3ra/ade";
2
- import {
3
- default_methods as MethodConfigs,
4
- default_models as ModelConfigs,
5
- MethodConversionHandler,
6
- MethodFactory,
7
- ModelFactory,
8
- } from "@mat3ra/mode";
9
- import { ApplicationMethodStandata } from "@mat3ra/standata";
10
- import _ from "lodash";
11
-
12
- import { UnitFactory } from "../units";
13
- import { builders } from "../units/builders";
14
- import { applyConfig } from "../utils";
15
- import { dynamicSubworkflowsByApp, getSurfaceEnergySubworkflowUnits } from "./dynamic";
16
- import { Subworkflow } from "./subworkflow";
17
-
18
- // NOTE: DFTModel => DFTModelConfig, configs should have the same name as the model/method class + "Config" at the end
19
- function _getConfigFromModelOrMethodName(name, kind) {
20
- const configs = kind === "Model" ? ModelConfigs : MethodConfigs;
21
- if (!configs[`${name}Config`]) {
22
- // eslint-disable-next-line no-param-reassign
23
- name = `Unknown${kind}`;
24
- }
25
- return configs[`${name}Config`];
26
- }
27
-
28
- /**
29
- * @summary Create model from subworkflow data
30
- * @param config {Object} model config
31
- * @param modelFactoryCls {any} model factory to use
32
- * @returns {DFTModel|Model}
33
- */
34
- function createModel({ config, modelFactoryCls }) {
35
- const { name, config: modelConfig = {} } = config;
36
- const defaultConfig = _getConfigFromModelOrMethodName(name, "Model");
37
- return modelFactoryCls.create({ ...defaultConfig, ...modelConfig });
38
- }
39
-
40
- /**
41
- * @summary Create method from subworkflow data
42
- * @param config {Object} method configuration
43
- * @param methodFactoryCls {any}
44
- * @param applicationConfig {Object} application configuration
45
- * @returns {{method, setSearchText}}
46
- */
47
- function createMethod({ config, methodFactoryCls, applicationConfig = {} }) {
48
- const { name, setSearchText = null, config: methodConfig = {} } = config;
49
- const defaultConfig = _getConfigFromModelOrMethodName(name, "Method");
50
- const defaultConfigForApp =
51
- new ApplicationMethodStandata().getDefaultMethodConfigForApplication(applicationConfig);
52
- const defaultConfigForAppSimple =
53
- defaultConfigForApp && defaultConfigForApp.units
54
- ? MethodConversionHandler.convertToSimple(defaultConfigForApp)
55
- : defaultConfigForApp;
56
- const method = methodFactoryCls.create({
57
- ...defaultConfig,
58
- ...defaultConfigForAppSimple,
59
- ...methodConfig,
60
- });
61
- return { method, setSearchText };
62
- }
63
-
64
- /**
65
- * @summary Create top-level objects used in subworkflow initialization
66
- * @param subworkflowData {Object} subworkflow data
67
- * @param AppRegistry
68
- * @param modelFactoryCls {any} model factory class
69
- * @param methodFactoryCls {any} method factory class
70
- * @returns {{application: *, method: *, model: (DFTModel|Model), setSearchText: String|null}}
71
- */
72
- function createTopLevel({ subworkflowData, modelFactoryCls, methodFactoryCls, AppRegistry }) {
73
- const { application: appConfig, model: modelConfig, method: methodConfig } = subworkflowData;
74
- const application = AppRegistry.createApplication(appConfig);
75
- const model = createModel({ config: modelConfig, modelFactoryCls });
76
- const { method, setSearchText } = createMethod({
77
- config: methodConfig,
78
- methodFactoryCls,
79
- applicationConfig: appConfig,
80
- });
81
- return {
82
- application,
83
- model,
84
- method,
85
- setSearchText,
86
- };
87
- }
88
-
89
- /**
90
- * @summary Create workflow unit from JSON configuration
91
- * Supports applying functions to the builder prior to building via "functions"
92
- * Supports applying attributes to the builder after building via "attributes"
93
- * @param config {Object} unit config
94
- * @param application {*} application
95
- * @param unitBuilders {Object} workflow unit builders
96
- * @param unitFactoryCls {*} workflow unit class factory
97
- * @returns {*|{head: boolean, preProcessors: [], postProcessors: [], name: *, flowchartId: *, type: *, results: [], monitors: []}}
98
- */
99
- export function createUnit({ config, application, unitBuilders, unitFactoryCls, cache = [] }) {
100
- const { type, config: unitConfig } = config;
101
- if (type === "executionBuilder") {
102
- const { name, execName, flavorName, flowchartId } = unitConfig;
103
- const builder = new unitBuilders.ExecutionUnitConfigBuilder(
104
- name,
105
- application,
106
- execName,
107
- flavorName,
108
- flowchartId,
109
- cache,
110
- );
111
-
112
- // config should contain "functions" and "attributes"
113
- const cfg = applyConfig({ obj: builder, config, callBuild: true });
114
- return unitFactoryCls.create(cfg);
115
- }
116
-
117
- return unitFactoryCls.create({ type, ...unitConfig });
118
- }
119
-
120
- /**
121
- * @summary Dynamically create subworkflow units
122
- * @param dynamicSubworkflow {String} name of unit creation function
123
- * @param units {Array} configured units to provide to dynamic unit creation
124
- * @param unitBuilders {Object} unit configuration builders
125
- * @param unitFactoryCls {*} unit factory class
126
- * @param application {*} application (optional)
127
- * @returns {*}
128
- */
129
- function createDynamicUnits({
130
- dynamicSubworkflow,
131
- units,
132
- unitBuilders,
133
- unitFactoryCls,
134
- application = null,
135
- }) {
136
- const { name, subfolder } = dynamicSubworkflow;
137
- const func = subfolder && _.get(dynamicSubworkflowsByApp, `${subfolder}.${name}`, () => {});
138
- switch (name) {
139
- case "surfaceEnergy":
140
- // eslint-disable-next-line no-case-declarations
141
- const [scfUnit] = units;
142
- return getSurfaceEnergySubworkflowUnits({ scfUnit, unitBuilders });
143
- case "getQpointIrrep":
144
- return func({ unitBuilders, unitFactoryCls, application });
145
- default:
146
- throw new Error(`dynamicSubworkflow=${name} not recognized`);
147
- }
148
- }
149
-
150
- function createSubworkflow({
151
- subworkflowData,
152
- cache = [],
153
- AppRegistry = ApplicationRegistry,
154
- modelFactoryCls = ModelFactory,
155
- methodFactoryCls = MethodFactory,
156
- subworkflowCls = Subworkflow,
157
- unitFactoryCls = UnitFactory,
158
- unitBuilders = builders,
159
- }) {
160
- const { application, model, method, setSearchText } = createTopLevel({
161
- subworkflowData,
162
- AppRegistry,
163
- modelFactoryCls,
164
- methodFactoryCls,
165
- });
166
-
167
- let units = [];
168
- const { name, units: unitConfigs, config = {}, dynamicSubworkflow = null } = subworkflowData;
169
- unitConfigs.forEach((_config) => {
170
- units.push(
171
- createUnit({
172
- config: _config,
173
- application,
174
- unitBuilders,
175
- unitFactoryCls,
176
- cache,
177
- }),
178
- );
179
- });
180
- if (dynamicSubworkflow) {
181
- units = createDynamicUnits({
182
- dynamicSubworkflow,
183
- units,
184
- unitBuilders,
185
- unitFactoryCls,
186
- application,
187
- });
188
- }
189
-
190
- let subworkflow = subworkflowCls.fromArguments(application, model, method, name, units, config);
191
- const { functions = {}, attributes = {} } = config;
192
- subworkflow = applyConfig({ obj: subworkflow, config: { functions, attributes } });
193
- if (setSearchText) subworkflow.model.Method.setSearchText(setSearchText);
194
- return subworkflow;
195
- }
196
-
197
- /**
198
- * @summary Convenience wrapper around createSubworkflow to create by app name and swf name
199
- * @param appName {String} application name
200
- * @param swfName {String} subworkflow name (snake_case.yml)
201
- * @param workflowSubworkflowMapByApplication {Object} object containing all workflow/subworkflow map by application
202
- * @param swArgs {Object} classes for instantiation
203
- * @returns {*} subworkflow object
204
- */
205
- function createSubworkflowByName({
206
- appName,
207
- swfName,
208
- workflowSubworkflowMapByApplication,
209
- ...swArgs
210
- }) {
211
- const { subworkflows } = workflowSubworkflowMapByApplication;
212
- const { [appName]: allSubworkflowData } = subworkflows;
213
- const { [swfName]: subworkflowData } = allSubworkflowData;
214
- return createSubworkflow({
215
- subworkflowData,
216
- ...swArgs,
217
- });
218
- }
219
-
220
- export { createSubworkflow, createSubworkflowByName };
@@ -1,35 +0,0 @@
1
- import { UNIT_TYPES } from "../../../enums";
2
-
3
- /**
4
- * @summary Get QptIrr units used in phonon map calculations
5
- * @param unitBuilders {Object} unit builders
6
- * @param unitFactoryCls {*} unit factory class
7
- * @param application {*} application instance
8
- * @returns {[{head: boolean, preProcessors: [], postProcessors: [], name: *, flowchartId: *, type: *, results: [], monitors: []},*]}
9
- */
10
- function getQpointIrrep({ unitBuilders, unitFactoryCls, application }) {
11
- const { ExecutionUnitConfigBuilder } = unitBuilders;
12
-
13
- const pythonUnit = new ExecutionUnitConfigBuilder(
14
- "python",
15
- application,
16
- "python",
17
- "espresso_xml_get_qpt_irr",
18
- ).build();
19
-
20
- const assignmentUnit = unitFactoryCls.create({
21
- type: UNIT_TYPES.assignment,
22
- input: [
23
- {
24
- scope: pythonUnit.flowchartId,
25
- name: "STDOUT",
26
- },
27
- ],
28
- operand: "Q_POINTS",
29
- value: "json.loads(STDOUT)",
30
- });
31
-
32
- return [pythonUnit, assignmentUnit];
33
- }
34
-
35
- export { getQpointIrrep };
@@ -1,8 +0,0 @@
1
- import { getQpointIrrep } from "./espresso/getQpointIrrep";
2
- import { getSurfaceEnergySubworkflowUnits } from "./surfaceEnergy";
3
-
4
- const dynamicSubworkflowsByApp = {
5
- espresso: { getQpointIrrep },
6
- };
7
-
8
- export { getSurfaceEnergySubworkflowUnits, dynamicSubworkflowsByApp };
@@ -1,124 +0,0 @@
1
- import { Utils } from "@mat3ra/utils";
2
-
3
- function getIOUnitEndpointOptions(query, projection = "{}") {
4
- return {
5
- params: {
6
- query,
7
- projection,
8
- },
9
- };
10
- }
11
-
12
- function getAssignmentUnitInput(unit, name) {
13
- return [
14
- {
15
- name,
16
- scope: unit.flowchartId,
17
- },
18
- ];
19
- }
20
-
21
- function getSurfaceEnergySubworkflowUnits({ scfUnit, unitBuilders }) {
22
- const { IOUnitConfigBuilder, AssignmentUnitConfigBuilder, AssertionUnitConfigBuilder } =
23
- unitBuilders;
24
-
25
- let input, endpointOptions;
26
- endpointOptions = getIOUnitEndpointOptions("{'_id': MATERIAL_ID}");
27
- const getSlabUnit = new IOUnitConfigBuilder("io-slab", "materials", endpointOptions).build();
28
-
29
- input = getAssignmentUnitInput(getSlabUnit, "DATA");
30
- const setSlabUnit = new AssignmentUnitConfigBuilder("slab", "SLAB", "DATA[0]", input).build();
31
-
32
- endpointOptions = getIOUnitEndpointOptions("{'_id': SLAB.metadata.bulkId}");
33
- const getBulkUnit = new IOUnitConfigBuilder("io-bulk", "materials", endpointOptions).build();
34
-
35
- const BULKValue = "DATA[0] if DATA else None";
36
- input = getAssignmentUnitInput(getBulkUnit, "DATA");
37
- const setBulkUnit = new AssignmentUnitConfigBuilder("bulk", "BULK", BULKValue, input).build();
38
-
39
- const assertBulkUnit = new AssertionUnitConfigBuilder(
40
- "assert-bulk",
41
- "BULK != None",
42
- "Bulk material does not exist!",
43
- ).build();
44
-
45
- const query = Utils.str.removeNewLinesAndExtraSpaces(`{
46
- 'exabyteId': BULK.exabyteId,
47
- 'data.name': 'total_energy',
48
- 'group': {'$regex': ''.join((SUBWORKFLOW.application.shortName, ':'))}
49
- }`);
50
- // Do not confuse `sort` with `$sort`. `sort` is used in meteor collections and `$sort` is used in Mongo queries.
51
- const projection = "{'sort': {'precision.value': -1}, 'limit': 1}";
52
- endpointOptions = getIOUnitEndpointOptions(query, projection);
53
- const getEBulkUnit = new IOUnitConfigBuilder(
54
- "io-e-bulk",
55
- "refined-properties",
56
- endpointOptions,
57
- ).build();
58
-
59
- input = getAssignmentUnitInput(getEBulkUnit, "DATA");
60
- const EBULKValue = "DATA[0].data.value if DATA else None";
61
- const setEBulkUnit = new AssignmentUnitConfigBuilder(
62
- "e-bulk",
63
- "E_BULK",
64
- EBULKValue,
65
- input,
66
- ).build();
67
-
68
- const assertEBulkUnit = new AssertionUnitConfigBuilder(
69
- "assert-e-bulk",
70
- "E_BULK != None",
71
- "E_BULK does not exist!",
72
- ).build();
73
-
74
- const AValue = "np.linalg.norm(np.cross(SLAB.lattice.vectors.a, SLAB.lattice.vectors.b))";
75
- const setSurfaceUnit = new AssignmentUnitConfigBuilder("surface", "A", AValue).build();
76
-
77
- const setNBulkUnit = new AssignmentUnitConfigBuilder(
78
- "n-bulk",
79
- "N_BULK",
80
- "len(BULK.basis.elements)",
81
- ).build();
82
- const setNSlabUnit = new AssignmentUnitConfigBuilder(
83
- "n-slab",
84
- "N_SLAB",
85
- "len(SLAB.basis.elements)",
86
- ).build();
87
-
88
- input = getAssignmentUnitInput(scfUnit, "total_energy");
89
- const setESlabUnit = new AssignmentUnitConfigBuilder(
90
- "e-slab",
91
- "E_SLAB",
92
- "total_energy",
93
- input,
94
- ).build();
95
-
96
- const results = [{ name: "surface_energy" }];
97
- const SEValue = "1 / (2 * A) * (E_SLAB - E_BULK * (N_SLAB/N_BULK))";
98
- const surfaceEnergyUnit = new AssignmentUnitConfigBuilder(
99
- "surface-energy",
100
- "SURFACE_ENERGY",
101
- SEValue,
102
- [],
103
- results,
104
- ).build();
105
-
106
- return [
107
- getSlabUnit,
108
- setSlabUnit,
109
- getBulkUnit,
110
- setBulkUnit,
111
- assertBulkUnit,
112
- getEBulkUnit,
113
- setEBulkUnit,
114
- assertEBulkUnit,
115
- setSurfaceUnit,
116
- setNBulkUnit,
117
- setNSlabUnit,
118
- scfUnit,
119
- setESlabUnit,
120
- surfaceEnergyUnit,
121
- ];
122
- }
123
-
124
- export { getSurfaceEnergySubworkflowUnits };
@@ -1,2 +0,0 @@
1
- export { Subworkflow } from "./subworkflow";
2
- export { createSubworkflowByName } from "./create";