@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
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const periodic_table_js_1 = require("@exabyte-io/periodic-table.js");
7
+ const JSONSchemasInterface_1 = __importDefault(require("@mat3ra/esse/dist/js/esse/JSONSchemasInterface"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const MaterialContextMixin_1 = __importDefault(require("../../../mixins/MaterialContextMixin"));
10
+ const MaterialsContextMixin_1 = __importDefault(require("../../../mixins/MaterialsContextMixin"));
11
+ const JSONSchemaDataProvider_1 = __importDefault(require("../../base/JSONSchemaDataProvider"));
12
+ const jsonSchemaId = "context-providers-directory/by-application/qe-pwx-context-provider";
13
+ class QEPWXInputDataManager extends JSONSchemaDataProvider_1.default {
14
+ static createFromUnitContext(unitContext, externalContext) {
15
+ const contextItem = this.findContextItem(unitContext, "input");
16
+ return new QEPWXInputDataManager(contextItem, externalContext);
17
+ }
18
+ constructor(config, externalContext) {
19
+ super(config, externalContext);
20
+ this.name = "input";
21
+ this.domain = "executable";
22
+ this.entityName = "unit";
23
+ this.isEdited = false;
24
+ this.initMaterialsContextMixin(externalContext);
25
+ this.initMaterialContextMixin(externalContext);
26
+ this.methodData = externalContext.methodData || {};
27
+ this.jobHasParent = externalContext.jobHasParent;
28
+ this.workflowHasRelaxation = externalContext.workflowHasRelaxation;
29
+ const jsonSchema = JSONSchemasInterface_1.default.getSchemaById(jsonSchemaId);
30
+ if (!jsonSchema) {
31
+ throw new Error("Failed to get JSON schema");
32
+ }
33
+ this.jsonSchema = jsonSchema;
34
+ }
35
+ buildQEPWXContext(material) {
36
+ const { Basis: basis, Lattice: lattice } = material;
37
+ const { jobHasParent, workflowHasRelaxation } = this;
38
+ const ATOMIC_SPECIES = basis.uniqueElements.map((symbol) => {
39
+ var _a;
40
+ const pseudo = (((_a = this.methodData) === null || _a === void 0 ? void 0 : _a.pseudo) || []).find((p) => p.element === symbol);
41
+ return {
42
+ X: symbol,
43
+ Mass_X: periodic_table_js_1.PERIODIC_TABLE[symbol].atomic_mass,
44
+ PseudoPot_X: (pseudo === null || pseudo === void 0 ? void 0 : pseudo.filename) || path_1.default.basename((pseudo === null || pseudo === void 0 ? void 0 : pseudo.path) || ""),
45
+ };
46
+ });
47
+ const uniqueElementsWithLabels = [...new Set(basis.elementsWithLabelsArray)];
48
+ const ATOMIC_SPECIES_WITH_LABELS = uniqueElementsWithLabels.map((symbol) => {
49
+ var _a, _b;
50
+ const symbolWithoutLabel = symbol.replace(/\d$/, "");
51
+ const label = symbol.match(/\d$/g) ? (_a = symbol.match(/\d$/g)) === null || _a === void 0 ? void 0 : _a[0] : "";
52
+ const pseudo = (((_b = this.methodData) === null || _b === void 0 ? void 0 : _b.pseudo) || []).find((p) => p.element === symbolWithoutLabel);
53
+ return {
54
+ X: `${symbolWithoutLabel}${label}`,
55
+ Mass_X: periodic_table_js_1.PERIODIC_TABLE[symbol].atomic_mass,
56
+ PseudoPot_X: (pseudo === null || pseudo === void 0 ? void 0 : pseudo.filename) || path_1.default.basename((pseudo === null || pseudo === void 0 ? void 0 : pseudo.path) || ""),
57
+ };
58
+ });
59
+ const CELL_PARAMETERS = {
60
+ v1: lattice.vectorArrays[0],
61
+ v2: lattice.vectorArrays[1],
62
+ v3: lattice.vectorArrays[2],
63
+ };
64
+ const ATOMIC_POSITIONS = basis.elementsCoordinatesConstraintsArray.map(([element, label, coordinate, constraint]) => {
65
+ return {
66
+ X: `${element}${label}`,
67
+ x: coordinate[0],
68
+ y: coordinate[1],
69
+ z: coordinate[2],
70
+ "if_pos(1)": constraint[0] ? 1 : 0,
71
+ "if_pos(2)": constraint[1] ? 1 : 0,
72
+ "if_pos(3)": constraint[2] ? 1 : 0,
73
+ };
74
+ });
75
+ return {
76
+ IBRAV: 0,
77
+ RESTART_MODE: jobHasParent || workflowHasRelaxation ? "restart" : "from_scratch",
78
+ ATOMIC_SPECIES,
79
+ ATOMIC_SPECIES_WITH_LABELS,
80
+ NAT: basis.atomicPositions.length,
81
+ NTYP: basis.uniqueElements.length,
82
+ NTYP_WITH_LABELS: uniqueElementsWithLabels.length,
83
+ ATOMIC_POSITIONS,
84
+ ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: basis.atomicPositions.join("\n"),
85
+ CELL_PARAMETERS,
86
+ contextProviderName: "qe-pwx",
87
+ };
88
+ }
89
+ getDefaultData() {
90
+ // the below values are read from PlanewaveDataManager instead
91
+ // ECUTWFC = 40;
92
+ // ECUTRHO = 200;
93
+ return {
94
+ ...this.buildQEPWXContext(this.material),
95
+ perMaterial: this.materials.map((material) => this.buildQEPWXContext(material)),
96
+ };
97
+ }
98
+ }
99
+ (0, MaterialContextMixin_1.default)(QEPWXInputDataManager.prototype);
100
+ (0, MaterialsContextMixin_1.default)(QEPWXInputDataManager.prototype);
101
+ // methodDataContextMixin(QEPWXInputDataManager.prototype);
102
+ // workflowContextMixin(QEPWXInputDataManager.prototype);
103
+ // jobContextMixin(QEPWXInputDataManager.prototype);
104
+ exports.default = QEPWXInputDataManager;
@@ -0,0 +1,36 @@
1
+ import type { InputContextItemSchema, NWChemTotalEnergyContextProviderSchema } from "@mat3ra/esse/dist/js/types";
2
+ import type { JSONSchema7 } from "json-schema";
3
+ import { type MaterialContextMixin, type MaterialExternalContext } from "../../../mixins/MaterialContextMixin";
4
+ import type { UnitContext } from "../../base/ContextProvider";
5
+ import JSONSchemaDataProvider, { type JinjaExternalContext } from "../../base/JSONSchemaDataProvider";
6
+ type Data = NWChemTotalEnergyContextProviderSchema;
7
+ type Schema = InputContextItemSchema & {
8
+ data: Data;
9
+ };
10
+ type ExternalContext = JinjaExternalContext & MaterialExternalContext;
11
+ interface NWChemInputDataManager extends MaterialContextMixin {
12
+ }
13
+ declare class NWChemInputDataManager extends JSONSchemaDataProvider<Schema, ExternalContext> {
14
+ readonly name: "input";
15
+ readonly domain: "executable";
16
+ readonly entityName: "unit";
17
+ isEdited: boolean;
18
+ static createFromUnitContext(unitContext: UnitContext, externalContext: ExternalContext): NWChemInputDataManager;
19
+ readonly contextProviderName: "nwchem-total-energy";
20
+ readonly jsonSchema: JSONSchema7;
21
+ constructor(config: Partial<Schema>, externalContext: ExternalContext);
22
+ getDefaultData(): {
23
+ CHARGE: number;
24
+ MULT: number;
25
+ BASIS: string;
26
+ NAT: number;
27
+ NTYP: number;
28
+ ATOMIC_POSITIONS: string;
29
+ ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS: string;
30
+ ATOMIC_SPECIES: string;
31
+ FUNCTIONAL: string;
32
+ CARTESIAN: boolean;
33
+ contextProviderName: "nwchem-total-energy";
34
+ };
35
+ }
36
+ export default NWChemInputDataManager;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const periodic_table_js_1 = require("@exabyte-io/periodic-table.js");
7
+ const JSONSchemasInterface_1 = __importDefault(require("@mat3ra/esse/dist/js/esse/JSONSchemasInterface"));
8
+ const MaterialContextMixin_1 = __importDefault(require("../../../mixins/MaterialContextMixin"));
9
+ const JSONSchemaDataProvider_1 = __importDefault(require("../../base/JSONSchemaDataProvider"));
10
+ const jsonSchemaId = "context-providers-directory/by-application/nwchem-total-energy-context-provider";
11
+ class NWChemInputDataManager extends JSONSchemaDataProvider_1.default {
12
+ static createFromUnitContext(unitContext, externalContext) {
13
+ const contextItem = this.findContextItem(unitContext, "input");
14
+ return new NWChemInputDataManager(contextItem, externalContext);
15
+ }
16
+ constructor(config, externalContext) {
17
+ super(config, externalContext);
18
+ this.name = "input";
19
+ this.domain = "executable";
20
+ this.entityName = "unit";
21
+ this.isEdited = false;
22
+ this.contextProviderName = "nwchem-total-energy";
23
+ this.initMaterialContextMixin(externalContext);
24
+ const jsonSchema = JSONSchemasInterface_1.default.getSchemaById(jsonSchemaId);
25
+ if (!jsonSchema) {
26
+ throw new Error("Failed to get JSON schema");
27
+ }
28
+ this.jsonSchema = jsonSchema;
29
+ }
30
+ /*
31
+ * TODO: Create ability for user to define CHARGE, MULT, BASIS and FUNCTIONAL parameters.
32
+ */
33
+ getDefaultData() {
34
+ const basis = this.material.Basis;
35
+ const NTYP = basis.uniqueElements.length;
36
+ const ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS = basis.atomicPositions.join("\n") || "";
37
+ const ATOMIC_SPECIES = basis.uniqueElements
38
+ .map((symbol) => `${symbol} ${periodic_table_js_1.PERIODIC_TABLE[symbol].atomic_mass} `)
39
+ .join("\n");
40
+ basis.toCartesian();
41
+ const atomicPositions = basis.getAtomicPositionsWithConstraintsAsStrings();
42
+ return {
43
+ CHARGE: 0,
44
+ MULT: 1,
45
+ BASIS: "6-31G",
46
+ NAT: atomicPositions.length,
47
+ NTYP,
48
+ ATOMIC_POSITIONS: atomicPositions.join("\n"),
49
+ ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS,
50
+ ATOMIC_SPECIES,
51
+ FUNCTIONAL: "B3LYP",
52
+ CARTESIAN: basis.toCartesian !== undefined,
53
+ contextProviderName: this.contextProviderName,
54
+ };
55
+ }
56
+ }
57
+ (0, MaterialContextMixin_1.default)(NWChemInputDataManager.prototype);
58
+ exports.default = NWChemInputDataManager;
@@ -0,0 +1,36 @@
1
+ import type { InputContextItemSchema, VASPContextProviderSchema } from "@mat3ra/esse/dist/js/types";
2
+ import type { JSONSchema7 } from "json-schema";
3
+ import { type MaterialContextMixin, type MaterialExternalContext } from "../../../mixins/MaterialContextMixin";
4
+ import { type MaterialsContextMixin, type MaterialsExternalContext } from "../../../mixins/MaterialsContextMixin";
5
+ import type { UnitContext } from "../../base/ContextProvider";
6
+ import JSONSchemaDataProvider, { type JinjaExternalContext } from "../../base/JSONSchemaDataProvider";
7
+ type Data = VASPContextProviderSchema;
8
+ type Schema = InputContextItemSchema & {
9
+ data: Data;
10
+ };
11
+ type ExternalContext = JinjaExternalContext & MaterialExternalContext & MaterialsExternalContext;
12
+ interface VASPInputDataManager extends MaterialContextMixin, MaterialsContextMixin {
13
+ }
14
+ declare class VASPInputDataManager extends JSONSchemaDataProvider<Schema, ExternalContext> {
15
+ readonly name: "input";
16
+ readonly domain: "executable";
17
+ readonly entityName: "unit";
18
+ isEdited: boolean;
19
+ static createFromUnitContext(unitContext: UnitContext, externalContext: ExternalContext): VASPInputDataManager;
20
+ readonly jsonSchema: JSONSchema7;
21
+ constructor(config: Partial<Schema>, externalContext: ExternalContext);
22
+ private buildVASPContext;
23
+ private getDataPerMaterial;
24
+ getDefaultData(): {
25
+ perMaterial?: undefined;
26
+ POSCAR: string;
27
+ POSCAR_WITH_CONSTRAINTS: string;
28
+ contextProviderName: "vasp";
29
+ } | {
30
+ perMaterial: VASPContextProviderSchema[];
31
+ POSCAR: string;
32
+ POSCAR_WITH_CONSTRAINTS: string;
33
+ contextProviderName: "vasp";
34
+ };
35
+ }
36
+ export default VASPInputDataManager;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const JSONSchemasInterface_1 = __importDefault(require("@mat3ra/esse/dist/js/esse/JSONSchemasInterface"));
7
+ const MaterialContextMixin_1 = __importDefault(require("../../../mixins/MaterialContextMixin"));
8
+ const MaterialsContextMixin_1 = __importDefault(require("../../../mixins/MaterialsContextMixin"));
9
+ const JSONSchemaDataProvider_1 = __importDefault(require("../../base/JSONSchemaDataProvider"));
10
+ const jsonSchemaId = "context-providers-directory/by-application/vasp-context-provider";
11
+ class VASPInputDataManager extends JSONSchemaDataProvider_1.default {
12
+ static createFromUnitContext(unitContext, externalContext) {
13
+ const contextItem = this.findContextItem(unitContext, "input");
14
+ return new VASPInputDataManager(contextItem, externalContext);
15
+ }
16
+ constructor(config, externalContext) {
17
+ super(config, externalContext);
18
+ this.name = "input";
19
+ this.domain = "executable";
20
+ this.entityName = "unit";
21
+ this.isEdited = false;
22
+ this.initMaterialsContextMixin(externalContext);
23
+ this.initMaterialContextMixin(externalContext);
24
+ const jsonSchema = JSONSchemasInterface_1.default.getSchemaById(jsonSchemaId);
25
+ if (!jsonSchema) {
26
+ throw new Error("Failed to get JSON schema");
27
+ }
28
+ this.jsonSchema = jsonSchema;
29
+ }
30
+ // eslint-disable-next-line class-methods-use-this
31
+ buildVASPContext(material) {
32
+ return {
33
+ // TODO: figure out whether we need two separate POSCARS, maybe one is enough
34
+ POSCAR: material.getAsPOSCAR(true, true),
35
+ POSCAR_WITH_CONSTRAINTS: material.getAsPOSCAR(true),
36
+ contextProviderName: "vasp",
37
+ };
38
+ }
39
+ getDataPerMaterial() {
40
+ if (!this.materials || this.materials.length <= 1)
41
+ return {};
42
+ return { perMaterial: this.materials.map((material) => this.buildVASPContext(material)) };
43
+ }
44
+ getDefaultData() {
45
+ // consider adjusting so that below values are read from PlanewaveDataManager
46
+ // ECUTWFC;
47
+ // ECUTRHO;
48
+ return {
49
+ ...this.buildVASPContext(this.material),
50
+ ...this.getDataPerMaterial(),
51
+ };
52
+ }
53
+ }
54
+ (0, MaterialContextMixin_1.default)(VASPInputDataManager.prototype);
55
+ (0, MaterialsContextMixin_1.default)(VASPInputDataManager.prototype);
56
+ exports.default = VASPInputDataManager;
@@ -0,0 +1,30 @@
1
+ import type { InputContextItemSchema, VASPNEBContextProviderSchema } from "@mat3ra/esse/dist/js/types";
2
+ import type { JSONSchema7 } from "json-schema";
3
+ import { type MaterialContextMixin, type MaterialExternalContext } from "../../../mixins/MaterialContextMixin";
4
+ import { type MaterialsContextMixin, type MaterialsExternalContext } from "../../../mixins/MaterialsContextMixin";
5
+ import { type MaterialsSetContextMixin, type MaterialsSetExternalContext } from "../../../mixins/MaterialsSetContextMixin";
6
+ import type { UnitContext } from "../../base/ContextProvider";
7
+ import JSONSchemaDataProvider, { type JinjaExternalContext } from "../../base/JSONSchemaDataProvider";
8
+ type Data = VASPNEBContextProviderSchema;
9
+ type Schema = InputContextItemSchema & {
10
+ data: Data;
11
+ };
12
+ type ExternalContext = JinjaExternalContext & MaterialExternalContext & MaterialsExternalContext & MaterialsSetExternalContext;
13
+ interface VASPNEBInputDataManager extends MaterialContextMixin, MaterialsContextMixin, MaterialsSetContextMixin {
14
+ }
15
+ declare class VASPNEBInputDataManager extends JSONSchemaDataProvider<Schema, ExternalContext> {
16
+ readonly name: "input";
17
+ readonly domain: "executable";
18
+ readonly entityName: "unit";
19
+ isEdited: boolean;
20
+ static createFromUnitContext(unitContext: UnitContext, externalContext: ExternalContext): VASPNEBInputDataManager;
21
+ readonly jsonSchema: JSONSchema7;
22
+ constructor(config: Partial<Schema>, externalContext: ExternalContext);
23
+ getDefaultData(): {
24
+ FIRST_IMAGE: string;
25
+ LAST_IMAGE: string;
26
+ INTERMEDIATE_IMAGES: string[];
27
+ contextProviderName: "vasp-neb";
28
+ };
29
+ }
30
+ export default VASPNEBInputDataManager;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const JSONSchemasInterface_1 = __importDefault(require("@mat3ra/esse/dist/js/esse/JSONSchemasInterface"));
7
+ const MaterialContextMixin_1 = __importDefault(require("../../../mixins/MaterialContextMixin"));
8
+ const MaterialsContextMixin_1 = __importDefault(require("../../../mixins/MaterialsContextMixin"));
9
+ const MaterialsSetContextMixin_1 = __importDefault(require("../../../mixins/MaterialsSetContextMixin"));
10
+ const JSONSchemaDataProvider_1 = __importDefault(require("../../base/JSONSchemaDataProvider"));
11
+ const VASPInputDataManager_1 = __importDefault(require("./VASPInputDataManager"));
12
+ const jsonSchemaId = "context-providers-directory/by-application/vasp-neb-context-provider";
13
+ class VASPNEBInputDataManager extends JSONSchemaDataProvider_1.default {
14
+ static createFromUnitContext(unitContext, externalContext) {
15
+ const contextItem = this.findContextItem(unitContext, "input");
16
+ return new VASPNEBInputDataManager(contextItem, externalContext);
17
+ }
18
+ constructor(config, externalContext) {
19
+ super(config, externalContext);
20
+ this.name = "input";
21
+ this.domain = "executable";
22
+ this.entityName = "unit";
23
+ this.isEdited = false;
24
+ this.initMaterialContextMixin(externalContext);
25
+ this.initMaterialsContextMixin(externalContext);
26
+ this.initMaterialsSetContextMixin(externalContext);
27
+ const jsonSchema = JSONSchemasInterface_1.default.getSchemaById(jsonSchemaId);
28
+ if (!jsonSchema) {
29
+ throw new Error("Failed to get JSON schema");
30
+ }
31
+ this.jsonSchema = jsonSchema;
32
+ }
33
+ getDefaultData() {
34
+ const VASPContexts = this.sortMaterialsByIndexInSet(this.materials).map((material) => {
35
+ return new VASPInputDataManager_1.default({}, { ...this.externalContext, material }).getData();
36
+ });
37
+ return {
38
+ FIRST_IMAGE: VASPContexts[0].POSCAR_WITH_CONSTRAINTS,
39
+ LAST_IMAGE: VASPContexts[VASPContexts.length - 1].POSCAR_WITH_CONSTRAINTS,
40
+ INTERMEDIATE_IMAGES: VASPContexts.slice(1, VASPContexts.length - 1).map((data) => {
41
+ return data.POSCAR_WITH_CONSTRAINTS;
42
+ }),
43
+ contextProviderName: "vasp-neb",
44
+ };
45
+ }
46
+ }
47
+ (0, MaterialContextMixin_1.default)(VASPNEBInputDataManager.prototype);
48
+ (0, MaterialsContextMixin_1.default)(VASPNEBInputDataManager.prototype);
49
+ (0, MaterialsSetContextMixin_1.default)(VASPNEBInputDataManager.prototype);
50
+ exports.default = VASPNEBInputDataManager;
@@ -0,0 +1,92 @@
1
+ import type { AssignmentUnitSchema } from "@mat3ra/esse/dist/js/types";
2
+ import type { ApplicationExternalContext } from "../mixins/ApplicationContextMixin";
3
+ import type { MaterialExternalContext } from "../mixins/MaterialContextMixin";
4
+ import type { MaterialsExternalContext } from "../mixins/MaterialsContextMixin";
5
+ import type { MaterialsSetExternalContext } from "../mixins/MaterialsSetContextMixin";
6
+ import type { UnitContext } from "./base/ContextProvider";
7
+ import type { JinjaExternalContext } from "./base/JSONSchemaDataProvider";
8
+ import BoundaryConditionsFormDataManager from "./BoundaryConditionsFormDataManager";
9
+ import QENEBInputDataManager from "./by_application/espresso/QENEBInputDataManager";
10
+ import QEPWXInputDataManager, { type JobExternalContext, type MethodDataExternalContext, type WorkflowExternalContext } from "./by_application/espresso/QEPWXInputDataManager";
11
+ import NWChemInputDataManager from "./by_application/nwchem/NWChemInputDataManager";
12
+ import VASPInputDataManager from "./by_application/vasp/VASPInputDataManager";
13
+ import VASPNEBInputDataManager from "./by_application/vasp/VASPNEBInputDataManager";
14
+ import CollinearMagnetizationDataManager from "./CollinearMagnetizationDataManager";
15
+ import HubbardContextManagerLegacy from "./Hubbard/HubbardContextManagerLegacy";
16
+ import HubbardJContextManager from "./Hubbard/HubbardJContextManager";
17
+ import HubbardUContextManager from "./Hubbard/HubbardUContextManager";
18
+ import HubbardVContextManager from "./Hubbard/HubbardVContextManager";
19
+ import IonDynamicsDataManager from "./IonDynamicsDataManager";
20
+ import MLSettingsDataManager from "./MLSettingsDataManager";
21
+ import MLTrainTestSplitDataManager from "./MLTrainTestSplitDataManager";
22
+ import NEBFormDataManager from "./NEBFormDataManager";
23
+ import NonCollinearMagnetizationDataManager from "./NonCollinearMagnetizationDataManager";
24
+ import PlanewaveCutoffDataManager from "./PlanewaveCutoffDataManager";
25
+ import IGridFormDataManager from "./PointsGrid/IGridFormDataManager";
26
+ import KGridFormDataManager from "./PointsGrid/KGridFormDataManager";
27
+ import QGridFormDataManager from "./PointsGrid/QGridFormDataManager";
28
+ import ExplicitKPath2PIBAFormDataManager from "./PointsPath/ExplicitKPath2PIBAFormDataManager";
29
+ import ExplicitKPathFormDataManager from "./PointsPath/ExplicitKPathFormDataManager";
30
+ import IPathFormDataManager from "./PointsPath/IPathFormDataManager";
31
+ import KPathFormDataManager from "./PointsPath/KPathFormDataManager";
32
+ import QPathFormDataManager from "./PointsPath/QPathFormDataManager";
33
+ /**
34
+ * Registry mapping provider names (as they appear in templates) to their classes.
35
+ * This is the single source of truth for provider mappings.
36
+ */
37
+ export declare const PROVIDER_REGISTRY: {
38
+ readonly PlanewaveCutoffDataManager: typeof PlanewaveCutoffDataManager;
39
+ readonly KGridFormDataManager: typeof KGridFormDataManager;
40
+ readonly QGridFormDataManager: typeof QGridFormDataManager;
41
+ readonly IGridFormDataManager: typeof IGridFormDataManager;
42
+ readonly QPathFormDataManager: typeof QPathFormDataManager;
43
+ readonly IPathFormDataManager: typeof IPathFormDataManager;
44
+ readonly KPathFormDataManager: typeof KPathFormDataManager;
45
+ readonly ExplicitKPathFormDataManager: typeof ExplicitKPathFormDataManager;
46
+ readonly ExplicitKPath2PIBAFormDataManager: typeof ExplicitKPath2PIBAFormDataManager;
47
+ readonly HubbardJContextManager: typeof HubbardJContextManager;
48
+ readonly HubbardUContextManager: typeof HubbardUContextManager;
49
+ readonly HubbardVContextManager: typeof HubbardVContextManager;
50
+ readonly HubbardContextManagerLegacy: typeof HubbardContextManagerLegacy;
51
+ readonly NEBFormDataManager: typeof NEBFormDataManager;
52
+ readonly BoundaryConditionsFormDataManager: typeof BoundaryConditionsFormDataManager;
53
+ readonly MLSettingsDataManager: typeof MLSettingsDataManager;
54
+ readonly MLTrainTestSplitDataManager: typeof MLTrainTestSplitDataManager;
55
+ readonly IonDynamicsContextProvider: typeof IonDynamicsDataManager;
56
+ readonly CollinearMagnetizationDataManager: typeof CollinearMagnetizationDataManager;
57
+ readonly NonCollinearMagnetizationDataManager: typeof NonCollinearMagnetizationDataManager;
58
+ readonly QEPWXInputDataManager: typeof QEPWXInputDataManager;
59
+ readonly QENEBInputDataManager: typeof QENEBInputDataManager;
60
+ readonly VASPInputDataManager: typeof VASPInputDataManager;
61
+ readonly VASPNEBInputDataManager: typeof VASPNEBInputDataManager;
62
+ readonly NWChemInputDataManager: typeof NWChemInputDataManager;
63
+ };
64
+ export type AssignmentContext = Record<AssignmentUnitSchema["operand"], AssignmentUnitSchema["value"]>;
65
+ export type SubworkflowContext = {
66
+ subworkflowContext: AssignmentContext;
67
+ };
68
+ /**
69
+ * External context type used by ExecutionUnitInput when creating providers.
70
+ * This type is always expected to be present when providers are instantiated.
71
+ */
72
+ export type ExternalContext = ApplicationExternalContext & WorkflowExternalContext & JobExternalContext & MaterialsExternalContext & MethodDataExternalContext & MaterialsSetExternalContext & MaterialExternalContext & JinjaExternalContext & SubworkflowContext;
73
+ /**
74
+ * Type for provider names as they appear in templates.
75
+ */
76
+ export type ProviderName = keyof typeof PROVIDER_REGISTRY;
77
+ /**
78
+ * Union type of all context provider instances.
79
+ * Derived from the registry for type safety.
80
+ */
81
+ export type AnyContextProvider = InstanceType<(typeof PROVIDER_REGISTRY)[ProviderName]>;
82
+ /**
83
+ * Factory function to create a context provider instance from its name.
84
+ *
85
+ * @param name - The provider name as it appears in templates
86
+ * @param context - The unit context
87
+ * @param externalContext - The external context (must match the ExternalContext type defined in this file)
88
+ * @returns An instance of the requested context provider
89
+ * @throws Error if the provider name is unknown
90
+ */
91
+ export declare function createProvider(name: ProviderName, context: UnitContext, externalContext: ExternalContext): AnyContextProvider;
92
+ export { BoundaryConditionsFormDataManager, QENEBInputDataManager, QEPWXInputDataManager, NWChemInputDataManager, VASPInputDataManager, VASPNEBInputDataManager, CollinearMagnetizationDataManager, HubbardContextManagerLegacy, HubbardJContextManager, HubbardUContextManager, HubbardVContextManager, IonDynamicsDataManager, MLSettingsDataManager, MLTrainTestSplitDataManager, NEBFormDataManager, NonCollinearMagnetizationDataManager, PlanewaveCutoffDataManager, IGridFormDataManager, KGridFormDataManager, QGridFormDataManager, ExplicitKPath2PIBAFormDataManager, ExplicitKPathFormDataManager, IPathFormDataManager, KPathFormDataManager, QPathFormDataManager, };
@@ -0,0 +1,107 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.QPathFormDataManager = exports.KPathFormDataManager = exports.IPathFormDataManager = exports.ExplicitKPathFormDataManager = exports.ExplicitKPath2PIBAFormDataManager = exports.QGridFormDataManager = exports.KGridFormDataManager = exports.IGridFormDataManager = exports.PlanewaveCutoffDataManager = exports.NonCollinearMagnetizationDataManager = exports.NEBFormDataManager = exports.MLTrainTestSplitDataManager = exports.MLSettingsDataManager = exports.IonDynamicsDataManager = exports.HubbardVContextManager = exports.HubbardUContextManager = exports.HubbardJContextManager = exports.HubbardContextManagerLegacy = exports.CollinearMagnetizationDataManager = exports.VASPNEBInputDataManager = exports.VASPInputDataManager = exports.NWChemInputDataManager = exports.QEPWXInputDataManager = exports.QENEBInputDataManager = exports.BoundaryConditionsFormDataManager = exports.PROVIDER_REGISTRY = void 0;
7
+ exports.createProvider = createProvider;
8
+ const BoundaryConditionsFormDataManager_1 = __importDefault(require("./BoundaryConditionsFormDataManager"));
9
+ exports.BoundaryConditionsFormDataManager = BoundaryConditionsFormDataManager_1.default;
10
+ const QENEBInputDataManager_1 = __importDefault(require("./by_application/espresso/QENEBInputDataManager"));
11
+ exports.QENEBInputDataManager = QENEBInputDataManager_1.default;
12
+ const QEPWXInputDataManager_1 = __importDefault(require("./by_application/espresso/QEPWXInputDataManager"));
13
+ exports.QEPWXInputDataManager = QEPWXInputDataManager_1.default;
14
+ const NWChemInputDataManager_1 = __importDefault(require("./by_application/nwchem/NWChemInputDataManager"));
15
+ exports.NWChemInputDataManager = NWChemInputDataManager_1.default;
16
+ const VASPInputDataManager_1 = __importDefault(require("./by_application/vasp/VASPInputDataManager"));
17
+ exports.VASPInputDataManager = VASPInputDataManager_1.default;
18
+ const VASPNEBInputDataManager_1 = __importDefault(require("./by_application/vasp/VASPNEBInputDataManager"));
19
+ exports.VASPNEBInputDataManager = VASPNEBInputDataManager_1.default;
20
+ const CollinearMagnetizationDataManager_1 = __importDefault(require("./CollinearMagnetizationDataManager"));
21
+ exports.CollinearMagnetizationDataManager = CollinearMagnetizationDataManager_1.default;
22
+ const HubbardContextManagerLegacy_1 = __importDefault(require("./Hubbard/HubbardContextManagerLegacy"));
23
+ exports.HubbardContextManagerLegacy = HubbardContextManagerLegacy_1.default;
24
+ const HubbardJContextManager_1 = __importDefault(require("./Hubbard/HubbardJContextManager"));
25
+ exports.HubbardJContextManager = HubbardJContextManager_1.default;
26
+ const HubbardUContextManager_1 = __importDefault(require("./Hubbard/HubbardUContextManager"));
27
+ exports.HubbardUContextManager = HubbardUContextManager_1.default;
28
+ const HubbardVContextManager_1 = __importDefault(require("./Hubbard/HubbardVContextManager"));
29
+ exports.HubbardVContextManager = HubbardVContextManager_1.default;
30
+ const IonDynamicsDataManager_1 = __importDefault(require("./IonDynamicsDataManager"));
31
+ exports.IonDynamicsDataManager = IonDynamicsDataManager_1.default;
32
+ const MLSettingsDataManager_1 = __importDefault(require("./MLSettingsDataManager"));
33
+ exports.MLSettingsDataManager = MLSettingsDataManager_1.default;
34
+ const MLTrainTestSplitDataManager_1 = __importDefault(require("./MLTrainTestSplitDataManager"));
35
+ exports.MLTrainTestSplitDataManager = MLTrainTestSplitDataManager_1.default;
36
+ const NEBFormDataManager_1 = __importDefault(require("./NEBFormDataManager"));
37
+ exports.NEBFormDataManager = NEBFormDataManager_1.default;
38
+ const NonCollinearMagnetizationDataManager_1 = __importDefault(require("./NonCollinearMagnetizationDataManager"));
39
+ exports.NonCollinearMagnetizationDataManager = NonCollinearMagnetizationDataManager_1.default;
40
+ const PlanewaveCutoffDataManager_1 = __importDefault(require("./PlanewaveCutoffDataManager"));
41
+ exports.PlanewaveCutoffDataManager = PlanewaveCutoffDataManager_1.default;
42
+ const IGridFormDataManager_1 = __importDefault(require("./PointsGrid/IGridFormDataManager"));
43
+ exports.IGridFormDataManager = IGridFormDataManager_1.default;
44
+ const KGridFormDataManager_1 = __importDefault(require("./PointsGrid/KGridFormDataManager"));
45
+ exports.KGridFormDataManager = KGridFormDataManager_1.default;
46
+ const QGridFormDataManager_1 = __importDefault(require("./PointsGrid/QGridFormDataManager"));
47
+ exports.QGridFormDataManager = QGridFormDataManager_1.default;
48
+ const ExplicitKPath2PIBAFormDataManager_1 = __importDefault(require("./PointsPath/ExplicitKPath2PIBAFormDataManager"));
49
+ exports.ExplicitKPath2PIBAFormDataManager = ExplicitKPath2PIBAFormDataManager_1.default;
50
+ const ExplicitKPathFormDataManager_1 = __importDefault(require("./PointsPath/ExplicitKPathFormDataManager"));
51
+ exports.ExplicitKPathFormDataManager = ExplicitKPathFormDataManager_1.default;
52
+ const IPathFormDataManager_1 = __importDefault(require("./PointsPath/IPathFormDataManager"));
53
+ exports.IPathFormDataManager = IPathFormDataManager_1.default;
54
+ const KPathFormDataManager_1 = __importDefault(require("./PointsPath/KPathFormDataManager"));
55
+ exports.KPathFormDataManager = KPathFormDataManager_1.default;
56
+ const QPathFormDataManager_1 = __importDefault(require("./PointsPath/QPathFormDataManager"));
57
+ exports.QPathFormDataManager = QPathFormDataManager_1.default;
58
+ /**
59
+ * Registry mapping provider names (as they appear in templates) to their classes.
60
+ * This is the single source of truth for provider mappings.
61
+ */
62
+ exports.PROVIDER_REGISTRY = {
63
+ PlanewaveCutoffDataManager: PlanewaveCutoffDataManager_1.default,
64
+ KGridFormDataManager: KGridFormDataManager_1.default,
65
+ QGridFormDataManager: QGridFormDataManager_1.default,
66
+ IGridFormDataManager: IGridFormDataManager_1.default,
67
+ QPathFormDataManager: QPathFormDataManager_1.default,
68
+ IPathFormDataManager: IPathFormDataManager_1.default,
69
+ KPathFormDataManager: KPathFormDataManager_1.default,
70
+ ExplicitKPathFormDataManager: ExplicitKPathFormDataManager_1.default,
71
+ ExplicitKPath2PIBAFormDataManager: ExplicitKPath2PIBAFormDataManager_1.default,
72
+ HubbardJContextManager: HubbardJContextManager_1.default,
73
+ HubbardUContextManager: HubbardUContextManager_1.default,
74
+ HubbardVContextManager: HubbardVContextManager_1.default,
75
+ HubbardContextManagerLegacy: HubbardContextManagerLegacy_1.default,
76
+ NEBFormDataManager: NEBFormDataManager_1.default,
77
+ BoundaryConditionsFormDataManager: BoundaryConditionsFormDataManager_1.default,
78
+ MLSettingsDataManager: MLSettingsDataManager_1.default,
79
+ MLTrainTestSplitDataManager: MLTrainTestSplitDataManager_1.default,
80
+ IonDynamicsContextProvider: IonDynamicsDataManager_1.default, // Note: name mismatch preserved from original
81
+ CollinearMagnetizationDataManager: // Note: name mismatch preserved from original
82
+ CollinearMagnetizationDataManager_1.default,
83
+ NonCollinearMagnetizationDataManager: NonCollinearMagnetizationDataManager_1.default,
84
+ QEPWXInputDataManager: QEPWXInputDataManager_1.default,
85
+ QENEBInputDataManager: QENEBInputDataManager_1.default,
86
+ VASPInputDataManager: VASPInputDataManager_1.default,
87
+ VASPNEBInputDataManager: VASPNEBInputDataManager_1.default,
88
+ NWChemInputDataManager: NWChemInputDataManager_1.default,
89
+ };
90
+ /**
91
+ * Factory function to create a context provider instance from its name.
92
+ *
93
+ * @param name - The provider name as it appears in templates
94
+ * @param context - The unit context
95
+ * @param externalContext - The external context (must match the ExternalContext type defined in this file)
96
+ * @returns An instance of the requested context provider
97
+ * @throws Error if the provider name is unknown
98
+ */
99
+ function createProvider(name, context, externalContext) {
100
+ const ProviderClass = exports.PROVIDER_REGISTRY[name];
101
+ if (!ProviderClass) {
102
+ throw new Error(`Unknown provider: ${name}`);
103
+ }
104
+ // The full ExternalContext is a superset of each provider's expected context type,
105
+ // so passing it to every provider's createFromUnitContext is type-safe (no assertion).
106
+ return ProviderClass.createFromUnitContext(context, externalContext);
107
+ }
@@ -0,0 +1,7 @@
1
+ declare class GlobalSettings {
2
+ "PointsGridFormDataProvider.defaultKPPRA": number;
3
+ get defaultKPPRA(): number;
4
+ setDefaultKPPRA(kppra: number): void;
5
+ }
6
+ export declare const globalSettings: GlobalSettings;
7
+ export {};
@@ -1,37 +1,15 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
2
+ Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.globalSettings = void 0;
7
- var _ade = require("@mat3ra/ade");
8
- var _made = require("@mat3ra/made");
9
- function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
- function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
12
4
  class GlobalSettings {
13
- constructor() {
14
- _defineProperty(this, "PointsGridFormDataProvider.defaultKPPRA", 5);
15
- _defineProperty(this, "Material", _made.Made.Material);
16
- _defineProperty(this, "Application", _ade.Application);
17
- this.resetDefaults();
18
- }
19
- get defaultKPPRA() {
20
- return this["PointsGridFormDataProvider.defaultKPPRA"];
21
- }
22
- setApplication(application) {
23
- this.Application = application;
24
- }
25
- setMaterial(material) {
26
- this.Material = material;
27
- }
28
- setDefaultKPPRA(kppra) {
29
- this["PointsGridFormDataProvider.defaultKPPRA"] = kppra;
30
- }
31
- resetDefaults() {
32
- this.Material = _made.Made.Material;
33
- this.Application = _ade.Application;
34
- this["PointsGridFormDataProvider.defaultKPPRA"] = 5;
35
- }
5
+ constructor() {
6
+ this["PointsGridFormDataProvider.defaultKPPRA"] = 5;
7
+ }
8
+ get defaultKPPRA() {
9
+ return this["PointsGridFormDataProvider.defaultKPPRA"];
10
+ }
11
+ setDefaultKPPRA(kppra) {
12
+ this["PointsGridFormDataProvider.defaultKPPRA"] = kppra;
13
+ }
36
14
  }
37
- const globalSettings = exports.globalSettings = new GlobalSettings();
15
+ exports.globalSettings = new GlobalSettings();