@mat3ra/esse 2026.5.18-2 → 2026.5.27-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 (383) hide show
  1. package/dist/js/esse/JSONSchemasGenerator.d.ts +2 -1
  2. package/dist/js/esse/JSONSchemasGenerator.js +1 -1
  3. package/dist/js/esse/JSONSchemasInterface.d.ts +1 -1
  4. package/dist/js/esse/JSONSchemasInterface.js +1 -1
  5. package/dist/js/esse/JSONSchemasInterfaceServer.js +3 -2
  6. package/dist/js/esse/schemaUtils.d.ts +1 -1
  7. package/dist/js/esse/schemaUtils.js +2 -1
  8. package/dist/js/esse/server/utils.d.ts +12 -0
  9. package/dist/js/esse/server/utils.js +68 -0
  10. package/dist/js/esse/utils.d.ts +0 -11
  11. package/dist/js/esse/utils.js +3 -60
  12. package/dist/js/example/job.json +38 -11
  13. package/dist/js/example/material.json +7 -1
  14. package/dist/js/example/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +35 -5
  15. package/dist/js/example/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +28 -4
  16. package/dist/js/example/materials_category/defective_structures/two_dimensional/adatom/configuration.json +28 -4
  17. package/dist/js/example/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +35 -5
  18. package/dist/js/example/materials_category/defective_structures/two_dimensional/island/configuration.json +42 -6
  19. package/dist/js/example/materials_category/defective_structures/two_dimensional/terrace/configuration.json +42 -6
  20. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json +14 -2
  21. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json +14 -2
  22. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json +14 -2
  23. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json +7 -1
  24. package/dist/js/example/materials_category/pristine_structures/two_dimensional/nanoribbon.json +21 -3
  25. package/dist/js/example/materials_category/pristine_structures/two_dimensional/nanotape.json +14 -2
  26. package/dist/js/example/materials_category/pristine_structures/two_dimensional/slab.json +14 -2
  27. package/dist/js/example/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json +14 -2
  28. package/dist/js/example/materials_category/processed_structures/two_dimensional/passivation/configuration.json +28 -4
  29. package/dist/js/example/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +7 -1
  30. package/dist/js/example/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json +7 -1
  31. package/dist/js/example/materials_category_components/entities/core/three_dimensional/crystal.json +7 -1
  32. package/dist/js/example/materials_category_components/entities/core/two_dimensional/vacuum.json +7 -1
  33. package/dist/js/example/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json +7 -1
  34. package/dist/js/example/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json +7 -1
  35. package/dist/js/example/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json +28 -4
  36. package/dist/js/example/materials_category_components/operations/core/combinations/merge.json +14 -2
  37. package/dist/js/example/materials_category_components/operations/core/combinations/stack.json +14 -2
  38. package/dist/js/example/materials_category_components/operations/core/modifications/perturb.json +7 -1
  39. package/dist/js/example/model.json +2 -1
  40. package/dist/js/example/software/application.json +1 -0
  41. package/dist/js/example/software/executable.json +3 -4
  42. package/dist/js/example/software/flavor.json +9 -2
  43. package/dist/js/example/software/template.json +5 -8
  44. package/dist/js/example/software_directory/modeling/espresso.json +2 -1
  45. package/dist/js/example/software_directory/modeling/nwchem.json +3 -1
  46. package/dist/js/example/software_directory/modeling/unit/execution.json +57 -15
  47. package/dist/js/example/software_directory/modeling/vasp.json +2 -1
  48. package/dist/js/example/software_directory/scripting/jupyter_lab.json +2 -1
  49. package/dist/js/example/software_directory/scripting/python.json +2 -1
  50. package/dist/js/example/software_directory/scripting/shell.json +2 -1
  51. package/dist/js/example/software_directory/scripting/unit/execution.json +57 -15
  52. package/dist/js/example/system/runtime_items.json +14 -0
  53. package/dist/js/example/workflow/subworkflow.json +32 -10
  54. package/dist/js/example/workflow/unit/assignment.json +5 -1
  55. package/dist/js/example/workflow/unit/condition.json +5 -1
  56. package/dist/js/example/workflow/unit/execution.json +29 -9
  57. package/dist/js/example/workflow/unit/io/api.json +1 -0
  58. package/dist/js/example/workflow/unit/io/db_collection.json +5 -0
  59. package/dist/js/example/workflow/unit/io/db_ids.json +6 -0
  60. package/dist/js/example/workflow/unit/io/object_storage.json +2 -1
  61. package/dist/js/example/workflow/unit/io.json +22 -2
  62. package/dist/js/example/workflow/unit/map.json +5 -1
  63. package/dist/js/example/workflow/unit/reduce.json +5 -1
  64. package/dist/js/example/workflow.json +38 -11
  65. package/dist/js/schema/apse/file/applications/espresso/7.2/pw.x/atomic_species.json +5 -0
  66. package/dist/js/schema/apse/file/applications/espresso/7.2/pw.x.json +5 -0
  67. package/dist/js/schema/context_providers_directory/by_application/nwchem_total_energy_context_provider.json +7 -1
  68. package/dist/js/schema/context_providers_directory/by_application/qe_neb_context_provider.json +164 -6
  69. package/dist/js/schema/context_providers_directory/by_application/qe_pwx_base_context_provider.json +10 -0
  70. package/dist/js/schema/context_providers_directory/by_application/qe_pwx_context_provider.json +17 -1
  71. package/dist/js/schema/context_providers_directory/by_application/vasp_context_provider.json +7 -1
  72. package/dist/js/schema/context_providers_directory/by_application/vasp_neb_context_provider.json +7 -1
  73. package/dist/js/schema/context_providers_directory/collinear_magnetization_context_provider.json +14 -0
  74. package/dist/js/schema/context_providers_directory/non_collinear_magnetization_context_provider.json +7 -0
  75. package/dist/js/schema/context_providers_directory/points_grid_data_provider.json +23 -6
  76. package/dist/js/schema/context_providers_directory/points_path_data_provider.json +6 -2
  77. package/dist/js/schema/context_providers_directory/points_path_data_provider_rendering.json +32 -0
  78. package/dist/js/schema/core/primitive/linked_list/named_node.json +2 -1
  79. package/dist/js/schema/core/primitive/linked_list/named_node_in_group.json +2 -1
  80. package/dist/js/schema/core/primitive/linked_list.json +4 -2
  81. package/dist/js/schema/in_memory_entity/has_consistency_check_has_metadata_named_defaultable.json +3 -0
  82. package/dist/js/schema/in_memory_entity/named.json +3 -0
  83. package/dist/js/schema/in_memory_entity/named_defaultable.json +3 -0
  84. package/dist/js/schema/in_memory_entity/named_defaultable_has_metadata.json +3 -0
  85. package/dist/js/schema/in_memory_entity/named_defaultable_runtime_items.json +3 -0
  86. package/dist/js/schema/job/base.json +133 -132
  87. package/dist/js/schema/job/compute.json +1 -1
  88. package/dist/js/schema/job/compute_property.json +182 -0
  89. package/dist/js/schema/job.json +3829 -4566
  90. package/dist/js/schema/material/material_properties.json +736 -0
  91. package/dist/js/schema/material/metadata/boundary_conditions.json +32 -0
  92. package/dist/js/schema/material/metadata/bulk_properties.json +13 -0
  93. package/dist/js/schema/material/metadata/slab_properties.json +41 -0
  94. package/dist/js/schema/material/metadata.json +101 -0
  95. package/dist/js/schema/material.json +117 -27
  96. package/dist/js/schema/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +1069 -268
  97. package/dist/js/schema/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +1069 -268
  98. package/dist/js/schema/materials_category/defective_structures/two_dimensional/adatom/configuration.json +464 -108
  99. package/dist/js/schema/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +1069 -268
  100. package/dist/js/schema/materials_category/defective_structures/two_dimensional/island/configuration.json +698 -164
  101. package/dist/js/schema/materials_category/defective_structures/two_dimensional/terrace/configuration.json +698 -164
  102. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json +116 -27
  103. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json +232 -54
  104. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json +232 -54
  105. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json +116 -27
  106. package/dist/js/schema/materials_category/pristine_structures/three_dimensional/ideal_crystal.json +116 -27
  107. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanoribbon.json +348 -81
  108. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanotape.json +232 -54
  109. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab.json +232 -54
  110. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json +232 -54
  111. package/dist/js/schema/materials_category/processed_structures/two_dimensional/passivation/configuration.json +233 -54
  112. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +116 -27
  113. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json +116 -27
  114. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/void_region.json +116 -27
  115. package/dist/js/schema/materials_category_components/entities/core/three_dimensional/crystal.json +116 -27
  116. package/dist/js/schema/materials_category_components/entities/core/two_dimensional/vacuum.json +116 -27
  117. package/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json +116 -27
  118. package/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json +116 -27
  119. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.json +116 -27
  120. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.json +116 -27
  121. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_uniform.json +116 -27
  122. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/supercell.json +116 -27
  123. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers.json +116 -27
  124. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json +116 -27
  125. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json +116 -27
  126. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json +116 -27
  127. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json +348 -81
  128. package/dist/js/schema/materials_category_components/operations/core/modifications/perturb.json +117 -27
  129. package/dist/js/schema/method/categorized_method.json +4 -0
  130. package/dist/js/schema/method/unit_method.json +3 -0
  131. package/dist/js/schema/method.json +7 -1
  132. package/dist/js/schema/methods_directory/legacy/localorbital.json +7 -1
  133. package/dist/js/schema/methods_directory/legacy/pseudopotential.json +7 -1
  134. package/dist/js/schema/methods_directory/legacy/regression.json +4 -0
  135. package/dist/js/schema/methods_directory/legacy/unknown.json +7 -1
  136. package/dist/js/schema/methods_directory/mathematical/cg.json +2 -1
  137. package/dist/js/schema/methods_directory/mathematical/davidson.json +2 -1
  138. package/dist/js/schema/methods_directory/mathematical/regression.json +3 -2
  139. package/dist/js/schema/methods_directory/physical/ao/dunning.json +2 -1
  140. package/dist/js/schema/methods_directory/physical/ao/other.json +2 -1
  141. package/dist/js/schema/methods_directory/physical/ao/pople.json +2 -1
  142. package/dist/js/schema/methods_directory/physical/psp.json +2 -1
  143. package/dist/js/schema/methods_directory/physical/pw.json +2 -1
  144. package/dist/js/schema/methods_directory/physical/smearing.json +2 -1
  145. package/dist/js/schema/methods_directory/physical/tetrahedron.json +2 -1
  146. package/dist/js/schema/model/categorized_model.json +5 -0
  147. package/dist/js/schema/model/model_without_method.json +1 -0
  148. package/dist/js/schema/model.json +7 -2
  149. package/dist/js/schema/models_directory/double_hybrid.json +1 -0
  150. package/dist/js/schema/models_directory/gga.json +1 -0
  151. package/dist/js/schema/models_directory/gw.json +1 -0
  152. package/dist/js/schema/models_directory/hybrid.json +1 -0
  153. package/dist/js/schema/models_directory/lda.json +1 -0
  154. package/dist/js/schema/models_directory/legacy/any.json +488 -0
  155. package/dist/js/schema/models_directory/legacy/dft.json +267 -39
  156. package/dist/js/schema/models_directory/legacy/ml.json +10 -9
  157. package/dist/js/schema/models_directory/legacy/unknown.json +10 -9
  158. package/dist/js/schema/models_directory/mgga.json +1 -0
  159. package/dist/js/schema/models_directory/re.json +1 -0
  160. package/dist/js/schema/project.json +3 -0
  161. package/dist/js/schema/properties_directory/non_scalar/workflow.json +3682 -4421
  162. package/dist/js/schema/property/holder.json +3717 -4456
  163. package/dist/js/schema/software/application.json +53 -24
  164. package/dist/js/schema/software/application_properties.json +68 -0
  165. package/dist/js/schema/software/application_with_build_config.json +52 -23
  166. package/dist/js/schema/software/executable.json +67 -108
  167. package/dist/js/schema/software/executable_properties.json +24 -0
  168. package/dist/js/schema/software/flavor.json +90 -128
  169. package/dist/js/schema/software/flavor_properties.json +50 -0
  170. package/dist/js/schema/software/template.json +30 -35
  171. package/dist/js/schema/software/template_properties.json +44 -0
  172. package/dist/js/schema/software_directory/modeling/deepmd.json +48 -19
  173. package/dist/js/schema/software_directory/modeling/lammps.json +47 -18
  174. package/dist/js/schema/software_directory/modeling/nwchem.json +48 -19
  175. package/dist/js/schema/software_directory/modeling/unit/execution.json +2019 -455
  176. package/dist/js/schema/software_directory/modeling/vasp.json +48 -19
  177. package/dist/js/schema/software_directory/scripting/jupyter_lab.json +48 -19
  178. package/dist/js/schema/software_directory/scripting/python.json +48 -19
  179. package/dist/js/schema/software_directory/scripting/shell.json +48 -19
  180. package/dist/js/schema/software_directory/scripting/unit/execution.json +2019 -455
  181. package/dist/js/schema/system/bankable.json +4 -0
  182. package/dist/js/schema/system/creator.json +2 -1
  183. package/dist/js/schema/system/creator_account.json +3 -0
  184. package/dist/js/schema/system/in_set.json +3 -0
  185. package/dist/js/schema/system/name.json +3 -0
  186. package/dist/js/schema/system/owner.json +2 -1
  187. package/dist/js/schema/system/path_entity.json +3 -0
  188. package/dist/js/schema/system/runtime_item.json +17 -0
  189. package/dist/js/schema/system/runtime_items.json +94 -0
  190. package/dist/js/schema/workflow/base.json +4591 -39
  191. package/dist/js/schema/workflow/base_flow.json +1 -1
  192. package/dist/js/schema/workflow/subworkflow/mixin.json +3919 -0
  193. package/dist/js/schema/workflow/subworkflow/unit.json +2365 -1560
  194. package/dist/js/schema/workflow/subworkflow.json +3137 -1852
  195. package/dist/js/schema/workflow/unit/assertion.json +96 -140
  196. package/dist/js/schema/workflow/unit/assignment.json +129 -173
  197. package/dist/js/schema/workflow/unit/base.json +90 -133
  198. package/dist/js/schema/workflow/unit/condition.json +132 -175
  199. package/dist/js/schema/workflow/unit/context/_base.json +20 -0
  200. package/dist/js/schema/workflow/unit/context/_extra_data_material_hash.json +14 -0
  201. package/dist/js/schema/workflow/unit/context/item/boundaryConditions.json +63 -0
  202. package/dist/js/schema/workflow/unit/context/item/collinearMagnetization.json +82 -0
  203. package/dist/js/schema/workflow/unit/context/item/cutoffs.json +38 -0
  204. package/dist/js/schema/workflow/unit/context/item/dynamics.json +48 -0
  205. package/dist/js/schema/workflow/unit/context/item/grid.json +100 -0
  206. package/dist/js/schema/workflow/unit/context/item/hubbard_j.json +59 -0
  207. package/dist/js/schema/workflow/unit/context/item/hubbard_legacy.json +49 -0
  208. package/dist/js/schema/workflow/unit/context/item/hubbard_u.json +57 -0
  209. package/dist/js/schema/workflow/unit/context/item/hubbard_v.json +64 -0
  210. package/dist/js/schema/workflow/unit/context/item/input.json +712 -0
  211. package/dist/js/schema/workflow/unit/context/item/mlSettings.json +43 -0
  212. package/dist/js/schema/workflow/unit/context/item/mlTrainTestSplit.json +37 -0
  213. package/dist/js/schema/workflow/unit/context/item/neb.json +35 -0
  214. package/dist/js/schema/workflow/unit/context/item/nonCollinearMagnetization.json +150 -0
  215. package/dist/js/schema/workflow/unit/context/item/path.json +62 -0
  216. package/dist/js/schema/workflow/unit/context/item.json +1594 -0
  217. package/dist/js/schema/workflow/unit/execution.json +1928 -423
  218. package/dist/js/schema/workflow/unit/input/_input.json +74 -12
  219. package/dist/js/schema/workflow/unit/input/_inputItem.json +70 -10
  220. package/dist/js/schema/workflow/unit/input/_inputItemId.json +3 -1
  221. package/dist/js/schema/workflow/unit/io/api.json +5 -1
  222. package/dist/js/schema/workflow/unit/io/db_collection.json +24 -0
  223. package/dist/js/schema/workflow/unit/io/db_ids.json +22 -0
  224. package/dist/js/schema/workflow/unit/io/object_storage.json +5 -1
  225. package/dist/js/schema/workflow/unit/io.json +182 -253
  226. package/dist/js/schema/workflow/unit/map.json +134 -177
  227. package/dist/js/schema/workflow/unit/mixins/assertion.json +23 -0
  228. package/dist/js/schema/workflow/unit/mixins/assignment.json +57 -0
  229. package/dist/js/schema/workflow/unit/mixins/base.json +50 -0
  230. package/dist/js/schema/workflow/unit/mixins/condition.json +61 -0
  231. package/dist/js/schema/workflow/unit/mixins/execution.json +1998 -0
  232. package/dist/js/schema/workflow/unit/mixins/io.json +131 -0
  233. package/dist/js/schema/workflow/unit/mixins/map.json +60 -0
  234. package/dist/js/schema/workflow/unit/mixins/processing.json +27 -0
  235. package/dist/js/schema/workflow/unit/mixins/reduce.json +43 -0
  236. package/dist/js/schema/workflow/unit/mixins/subworkflow.json +11 -0
  237. package/dist/js/schema/workflow/unit/reduce.json +117 -160
  238. package/dist/js/schema/workflow/unit/subworkflow.json +91 -134
  239. package/dist/js/schema/workflow/unit.json +285 -2477
  240. package/dist/js/schema/workflow.json +3684 -4422
  241. package/dist/js/schemas.json +1 -1
  242. package/dist/js/scripts/compileTs.js +1 -1
  243. package/dist/js/scripts/setSchemaIds.js +2 -1
  244. package/dist/js/types.d.ts +27163 -15301
  245. package/dist/js/types.js +5 -5
  246. package/dist/js/utils/ajv.js +5 -4
  247. package/dist/js/utils/common.js +3 -2
  248. package/dist/js/utils/filesystem.js +3 -2
  249. package/example/material.json +7 -1
  250. package/example/model.json +2 -1
  251. package/example/software/application.json +1 -0
  252. package/example/software/executable.json +3 -4
  253. package/example/software/flavor.json +9 -2
  254. package/example/software/template.json +5 -8
  255. package/example/software_directory/modeling/espresso.json +2 -1
  256. package/example/software_directory/modeling/nwchem.json +4 -2
  257. package/example/software_directory/modeling/unit/execution.json +17 -2
  258. package/example/software_directory/modeling/vasp.json +2 -1
  259. package/example/software_directory/scripting/jupyter-lab.json +2 -1
  260. package/example/software_directory/scripting/python.json +2 -1
  261. package/example/software_directory/scripting/shell.json +2 -1
  262. package/example/software_directory/scripting/unit/execution.json +17 -2
  263. package/example/system/runtime_items.json +14 -0
  264. package/example/workflow/unit/assignment.json +5 -1
  265. package/example/workflow/unit/condition.json +5 -1
  266. package/example/workflow/unit/execution.json +7 -3
  267. package/example/workflow/unit/io/api.json +1 -0
  268. package/example/workflow/unit/io/db_collection.json +5 -0
  269. package/example/workflow/unit/io/db_ids.json +6 -0
  270. package/example/workflow/unit/io/object_storage.json +2 -1
  271. package/example/workflow/unit/io.json +9 -29
  272. package/example/workflow/unit/map.json +5 -1
  273. package/example/workflow/unit/reduce.json +5 -1
  274. package/example/workflow.json +6 -1
  275. package/package.json +2 -1
  276. package/schema/apse/file/applications/espresso/7.2/pw.x/atomic_species.json +6 -1
  277. package/schema/context_providers_directory/by_application/nwchem_total_energy_context_provider.json +7 -1
  278. package/schema/context_providers_directory/by_application/qe_neb_context_provider.json +12 -6
  279. package/schema/context_providers_directory/by_application/qe_pwx_context_provider.json +10 -1
  280. package/schema/context_providers_directory/by_application/vasp_context_provider.json +7 -1
  281. package/schema/context_providers_directory/by_application/vasp_neb_context_provider.json +7 -1
  282. package/schema/context_providers_directory/collinear_magnetization_context_provider.json +18 -4
  283. package/schema/context_providers_directory/non_collinear_magnetization_context_provider.json +7 -0
  284. package/schema/context_providers_directory/points_grid_data_provider.json +24 -7
  285. package/schema/context_providers_directory/points_path_data_provider.json +7 -3
  286. package/schema/context_providers_directory/points_path_data_provider_rendering.json +32 -0
  287. package/schema/job/base.json +4 -5
  288. package/schema/job/compute.json +1 -1
  289. package/schema/job/compute_property.json +15 -0
  290. package/schema/material/material_properties.json +65 -0
  291. package/schema/material/metadata/boundary_conditions.json +24 -0
  292. package/schema/material/metadata/bulk_properties.json +13 -0
  293. package/schema/material/metadata/slab_properties.json +41 -0
  294. package/schema/material/metadata.json +27 -0
  295. package/schema/material.json +5 -57
  296. package/schema/method.json +7 -1
  297. package/schema/model.json +0 -1
  298. package/schema/models_directory/legacy/any.json +20 -0
  299. package/schema/models_directory/legacy/dft.json +63 -12
  300. package/schema/models_directory/legacy/ml.json +10 -7
  301. package/schema/models_directory/legacy/unknown.json +10 -7
  302. package/schema/software/application.json +4 -35
  303. package/schema/software/application_properties.json +68 -0
  304. package/schema/software/executable.json +5 -23
  305. package/schema/software/executable_properties.json +24 -0
  306. package/schema/software/flavor.json +6 -28
  307. package/schema/software/flavor_properties.json +33 -0
  308. package/schema/software/template.json +2 -26
  309. package/schema/software/template_properties.json +44 -0
  310. package/schema/system/bankable.json +5 -1
  311. package/schema/system/creator.json +4 -1
  312. package/schema/system/creator_account.json +4 -1
  313. package/schema/system/in_set.json +4 -1
  314. package/schema/system/name.json +4 -1
  315. package/schema/system/owner.json +4 -1
  316. package/schema/system/runtime_item.json +17 -0
  317. package/schema/system/runtime_items.json +42 -0
  318. package/schema/workflow/base.json +17 -17
  319. package/schema/workflow/subworkflow/mixin.json +48 -0
  320. package/schema/workflow/subworkflow/unit.json +0 -6
  321. package/schema/workflow/subworkflow.json +4 -31
  322. package/schema/workflow/unit/assertion.json +2 -16
  323. package/schema/workflow/unit/assignment.json +2 -34
  324. package/schema/workflow/unit/base.json +6 -51
  325. package/schema/workflow/unit/condition.json +2 -38
  326. package/schema/workflow/unit/context/_base.json +20 -0
  327. package/schema/workflow/unit/context/_extra_data_material_hash.json +14 -0
  328. package/schema/workflow/unit/context/item/boundaryConditions.json +27 -0
  329. package/schema/workflow/unit/context/item/collinearMagnetization.json +27 -0
  330. package/schema/workflow/unit/context/item/cutoffs.json +20 -0
  331. package/schema/workflow/unit/context/item/dynamics.json +20 -0
  332. package/schema/workflow/unit/context/item/grid.json +31 -0
  333. package/schema/workflow/unit/context/item/hubbard_j.json +20 -0
  334. package/schema/workflow/unit/context/item/hubbard_legacy.json +20 -0
  335. package/schema/workflow/unit/context/item/hubbard_u.json +27 -0
  336. package/schema/workflow/unit/context/item/hubbard_v.json +20 -0
  337. package/schema/workflow/unit/context/item/input.json +47 -0
  338. package/schema/workflow/unit/context/item/mlSettings.json +20 -0
  339. package/schema/workflow/unit/context/item/mlTrainTestSplit.json +20 -0
  340. package/schema/workflow/unit/context/item/neb.json +20 -0
  341. package/schema/workflow/unit/context/item/nonCollinearMagnetization.json +27 -0
  342. package/schema/workflow/unit/context/item/path.json +33 -0
  343. package/schema/workflow/unit/context/item.json +55 -0
  344. package/schema/workflow/unit/execution.json +4 -25
  345. package/schema/workflow/unit/input/_input.json +1 -1
  346. package/schema/workflow/unit/input/_inputItem.json +9 -9
  347. package/schema/workflow/unit/input/_inputItemId.json +3 -1
  348. package/schema/workflow/unit/io/api.json +6 -2
  349. package/schema/workflow/unit/io/db_collection.json +24 -0
  350. package/schema/workflow/unit/io/db_ids.json +22 -0
  351. package/schema/workflow/unit/io/object_storage.json +6 -2
  352. package/schema/workflow/unit/io.json +2 -39
  353. package/schema/workflow/unit/map.json +2 -53
  354. package/schema/workflow/unit/mixins/assertion.json +23 -0
  355. package/schema/workflow/unit/mixins/assignment.json +42 -0
  356. package/schema/workflow/unit/mixins/base.json +50 -0
  357. package/schema/workflow/unit/mixins/condition.json +46 -0
  358. package/schema/workflow/unit/mixins/execution.json +49 -0
  359. package/schema/workflow/unit/mixins/io.json +46 -0
  360. package/schema/workflow/unit/mixins/map.json +61 -0
  361. package/schema/workflow/unit/{processing.json → mixins/processing.json} +3 -7
  362. package/schema/workflow/unit/mixins/reduce.json +44 -0
  363. package/schema/workflow/unit/mixins/subworkflow.json +12 -0
  364. package/schema/workflow/unit/reduce.json +2 -36
  365. package/schema/workflow/unit/subworkflow.json +4 -6
  366. package/schema/workflow/unit.json +1 -19
  367. package/schema/workflow.json +19 -15
  368. package/src/html/index.html +2 -1
  369. package/src/js/esse/JSONSchemasGenerator.ts +2 -1
  370. package/src/js/esse/JSONSchemasInterface.ts +1 -1
  371. package/src/js/esse/schemaUtils.ts +1 -1
  372. package/src/js/esse/server/utils.ts +82 -0
  373. package/src/js/esse/utils.ts +0 -74
  374. package/src/js/scripts/compileTs.ts +1 -1
  375. package/src/js/scripts/setSchemaIds.ts +1 -0
  376. package/src/js/utils/ajv.ts +1 -1
  377. package/dist/js/example/workflow/unit/io/db.json +0 -15
  378. package/dist/js/example/workflow/unit/processing.json +0 -13
  379. package/dist/js/schema/workflow/unit/io/db.json +0 -40
  380. package/dist/js/schema/workflow/unit/processing.json +0 -242
  381. package/example/workflow/unit/io/db.json +0 -15
  382. package/example/workflow/unit/processing.json +0 -13
  383. package/schema/workflow/unit/io/db.json +0 -40
@@ -5,22 +5,224 @@
5
5
  "type": "object",
6
6
  "required": [
7
7
  "application",
8
+ "context",
9
+ "executable",
10
+ "flavor",
8
11
  "flowchartId",
9
12
  "input",
13
+ "monitors",
14
+ "name",
15
+ "postProcessors",
16
+ "preProcessors",
17
+ "results",
10
18
  "type"
11
19
  ],
12
- "additionalProperties": true,
13
20
  "properties": {
21
+ "_id": {
22
+ "description": "entity identity",
23
+ "type": "string"
24
+ },
25
+ "slug": {
26
+ "description": "entity slug",
27
+ "type": "string"
28
+ },
29
+ "systemName": {
30
+ "type": "string"
31
+ },
32
+ "schemaVersion": {
33
+ "description": "entity's schema version. Used to distinct between different schemas.",
34
+ "type": "string",
35
+ "default": "2022.8.16"
36
+ },
37
+ "name": {
38
+ "description": "entity name",
39
+ "type": "string"
40
+ },
41
+ "isDefault": {
42
+ "description": "Identifies that entity is defaultable",
43
+ "type": "boolean",
44
+ "default": false
45
+ },
46
+ "preProcessors": {
47
+ "description": "names of the pre-processors for this calculation",
48
+ "type": "array",
49
+ "items": {
50
+ "$schema": "http://json-schema.org/draft-07/schema#",
51
+ "title": "runtime item name object schema",
52
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
53
+ "type": "object",
54
+ "required": [
55
+ "name"
56
+ ],
57
+ "additionalProperties": true,
58
+ "properties": {
59
+ "name": {
60
+ "description": "The name of this item. e.g. scf_accuracy",
61
+ "type": "string"
62
+ }
63
+ }
64
+ }
65
+ },
66
+ "postProcessors": {
67
+ "description": "names of the post-processors for this calculation",
68
+ "type": "array",
69
+ "items": {
70
+ "$schema": "http://json-schema.org/draft-07/schema#",
71
+ "title": "runtime item name object schema",
72
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
73
+ "type": "object",
74
+ "required": [
75
+ "name"
76
+ ],
77
+ "additionalProperties": true,
78
+ "properties": {
79
+ "name": {
80
+ "description": "The name of this item. e.g. scf_accuracy",
81
+ "type": "string"
82
+ }
83
+ }
84
+ }
85
+ },
86
+ "monitors": {
87
+ "description": "names of the monitors for this calculation",
88
+ "type": "array",
89
+ "items": {
90
+ "$schema": "http://json-schema.org/draft-07/schema#",
91
+ "title": "runtime item name object schema",
92
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
93
+ "type": "object",
94
+ "required": [
95
+ "name"
96
+ ],
97
+ "additionalProperties": true,
98
+ "properties": {
99
+ "name": {
100
+ "description": "The name of this item. e.g. scf_accuracy",
101
+ "type": "string"
102
+ }
103
+ }
104
+ }
105
+ },
106
+ "results": {
107
+ "description": "names of the results for this calculation",
108
+ "type": "array",
109
+ "items": {
110
+ "$schema": "http://json-schema.org/draft-07/schema#",
111
+ "title": "runtime item name object schema",
112
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
113
+ "type": "object",
114
+ "required": [
115
+ "name"
116
+ ],
117
+ "additionalProperties": true,
118
+ "properties": {
119
+ "name": {
120
+ "description": "The name of this item. e.g. scf_accuracy",
121
+ "type": "string"
122
+ }
123
+ }
124
+ }
125
+ },
126
+ "tags": {
127
+ "description": "entity tags",
128
+ "type": "array",
129
+ "items": {
130
+ "type": "string"
131
+ }
132
+ },
133
+ "status": {
134
+ "type": "string",
135
+ "description": "Status of the unit.",
136
+ "enum": [
137
+ "idle",
138
+ "active",
139
+ "warning",
140
+ "error",
141
+ "finished"
142
+ ]
143
+ },
144
+ "statusTrack": {
145
+ "type": "array",
146
+ "items": {
147
+ "type": "object",
148
+ "required": [
149
+ "trackedAt",
150
+ "status"
151
+ ],
152
+ "properties": {
153
+ "trackedAt": {
154
+ "type": "number"
155
+ },
156
+ "status": {
157
+ "type": "string"
158
+ },
159
+ "repetition": {
160
+ "type": "number"
161
+ }
162
+ }
163
+ }
164
+ },
165
+ "isDraft": {
166
+ "type": "boolean"
167
+ },
14
168
  "type": {
15
- "const": "execution",
16
169
  "description": "type of the unit",
170
+ "type": "string",
171
+ "const": "execution"
172
+ },
173
+ "head": {
174
+ "description": "Whether this unit is the first one to be executed.",
175
+ "type": "boolean"
176
+ },
177
+ "flowchartId": {
178
+ "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
179
+ "type": "string"
180
+ },
181
+ "next": {
182
+ "description": "Next unit's flowchartId. If empty, the current unit is the last.",
17
183
  "type": "string"
18
184
  },
185
+ "enableRender": {
186
+ "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
187
+ "type": "boolean"
188
+ },
19
189
  "application": {
20
190
  "$schema": "http://json-schema.org/draft-07/schema#",
21
- "title": "application schema (base)",
191
+ "title": "application schema",
22
192
  "type": "object",
193
+ "required": [
194
+ "build",
195
+ "name",
196
+ "shortName",
197
+ "summary",
198
+ "version"
199
+ ],
23
200
  "properties": {
201
+ "_id": {
202
+ "description": "entity identity",
203
+ "type": "string"
204
+ },
205
+ "slug": {
206
+ "description": "entity slug",
207
+ "type": "string"
208
+ },
209
+ "systemName": {
210
+ "type": "string"
211
+ },
212
+ "schemaVersion": {
213
+ "description": "entity's schema version. Used to distinct between different schemas.",
214
+ "type": "string",
215
+ "default": "2022.8.16"
216
+ },
217
+ "name": {
218
+ "description": "entity name",
219
+ "type": "string"
220
+ },
221
+ "isDefault": {
222
+ "description": "Identifies that entity is defaultable",
223
+ "type": "boolean",
224
+ "default": false
225
+ },
24
226
  "shortName": {
25
227
  "description": "The short name of the application. e.g. qe",
26
228
  "type": "string"
@@ -37,10 +239,9 @@
37
239
  "description": "Application build. e.g. VTST",
38
240
  "type": "string"
39
241
  },
40
- "isDefault": {
41
- "description": "Whether the build is the default build",
42
- "type": "boolean",
43
- "default": false
242
+ "isDefaultVersion": {
243
+ "description": "Whether the version is the default version",
244
+ "type": "boolean"
44
245
  },
45
246
  "hasAdvancedComputeOptions": {
46
247
  "description": "Whether advanced compute options are present",
@@ -54,6 +255,36 @@
54
255
  "description": "Whether the application is using (being passed during a downstream processing routine) a material structure.",
55
256
  "type": "boolean"
56
257
  },
258
+ "runConfig": {
259
+ "description": "The run configuration of the application",
260
+ "type": "object",
261
+ "required": [
262
+ "commandTemplate",
263
+ "outFileName"
264
+ ],
265
+ "properties": {
266
+ "commandTemplate": {
267
+ "description": "The command template of the application",
268
+ "type": "string"
269
+ },
270
+ "outFileName": {
271
+ "description": "The output file name of the application",
272
+ "type": "string"
273
+ }
274
+ }
275
+ }
276
+ }
277
+ },
278
+ "executable": {
279
+ "$schema": "http://json-schema.org/draft-07/schema#",
280
+ "title": "Named defaultable in-memory entity schema",
281
+ "type": "object",
282
+ "required": [
283
+ "applicationName",
284
+ "applicationVersion",
285
+ "name"
286
+ ],
287
+ "properties": {
57
288
  "_id": {
58
289
  "description": "entity identity",
59
290
  "type": "string"
@@ -73,36 +304,42 @@
73
304
  "name": {
74
305
  "description": "entity name",
75
306
  "type": "string"
76
- }
77
- }
78
- },
79
- "executable": {
80
- "$schema": "http://json-schema.org/draft-07/schema#",
81
- "title": "executable schema",
82
- "type": "object",
83
- "required": [
84
- "name"
85
- ],
86
- "properties": {
87
- "name": {
88
- "description": "The name of the executable. e.g. pw.x",
89
- "type": "string"
90
307
  },
91
- "applicationId": {
92
- "description": "_ids of the application this executable belongs to",
93
- "type": "array",
94
- "items": {
95
- "type": "string"
96
- }
308
+ "isDefault": {
309
+ "description": "Identifies that entity is defaultable",
310
+ "type": "boolean",
311
+ "default": false
97
312
  },
98
313
  "applicationName": {
99
314
  "description": "name of the application this executable belongs to",
100
315
  "type": "string"
101
316
  },
317
+ "applicationVersion": {
318
+ "description": "version of the application this executable belongs to",
319
+ "type": "string"
320
+ },
102
321
  "hasAdvancedComputeOptions": {
103
322
  "description": "Whether advanced compute options are present",
104
323
  "type": "boolean"
105
- },
324
+ }
325
+ }
326
+ },
327
+ "flavor": {
328
+ "$schema": "http://json-schema.org/draft-07/schema#",
329
+ "title": "flavor schema",
330
+ "type": "object",
331
+ "required": [
332
+ "applicationName",
333
+ "applicationVersion",
334
+ "executableName",
335
+ "input",
336
+ "monitors",
337
+ "name",
338
+ "postProcessors",
339
+ "preProcessors",
340
+ "results"
341
+ ],
342
+ "properties": {
106
343
  "_id": {
107
344
  "description": "entity identity",
108
345
  "type": "string"
@@ -119,6 +356,10 @@
119
356
  "type": "string",
120
357
  "default": "2022.8.16"
121
358
  },
359
+ "name": {
360
+ "description": "entity name",
361
+ "type": "string"
362
+ },
122
363
  "isDefault": {
123
364
  "description": "Identifies that entity is defaultable",
124
365
  "type": "boolean",
@@ -129,30 +370,19 @@
129
370
  "type": "array",
130
371
  "items": {
131
372
  "$schema": "http://json-schema.org/draft-07/schema#",
132
- "title": "runtime item schema",
133
- "oneOf": [
134
- {
135
- "$schema": "http://json-schema.org/draft-07/schema#",
136
- "title": "name result schema",
137
- "type": "object",
138
- "properties": {
139
- "name": {
140
- "description": "The name of this item. e.g. scf_accuracy",
141
- "type": "string"
142
- }
143
- },
144
- "additionalProperties": true,
145
- "required": [
146
- "name"
147
- ]
148
- },
149
- {
150
- "$schema": "http://json-schema.org/draft-07/schema#",
151
- "title": "RuntimeItemString",
152
- "description": "name of runtime item in shortened notation",
373
+ "title": "runtime item name object schema",
374
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
375
+ "type": "object",
376
+ "required": [
377
+ "name"
378
+ ],
379
+ "additionalProperties": true,
380
+ "properties": {
381
+ "name": {
382
+ "description": "The name of this item. e.g. scf_accuracy",
153
383
  "type": "string"
154
384
  }
155
- ]
385
+ }
156
386
  }
157
387
  },
158
388
  "postProcessors": {
@@ -160,30 +390,19 @@
160
390
  "type": "array",
161
391
  "items": {
162
392
  "$schema": "http://json-schema.org/draft-07/schema#",
163
- "title": "runtime item schema",
164
- "oneOf": [
165
- {
166
- "$schema": "http://json-schema.org/draft-07/schema#",
167
- "title": "name result schema",
168
- "type": "object",
169
- "properties": {
170
- "name": {
171
- "description": "The name of this item. e.g. scf_accuracy",
172
- "type": "string"
173
- }
174
- },
175
- "additionalProperties": true,
176
- "required": [
177
- "name"
178
- ]
179
- },
180
- {
181
- "$schema": "http://json-schema.org/draft-07/schema#",
182
- "title": "RuntimeItemString",
183
- "description": "name of runtime item in shortened notation",
393
+ "title": "runtime item name object schema",
394
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
395
+ "type": "object",
396
+ "required": [
397
+ "name"
398
+ ],
399
+ "additionalProperties": true,
400
+ "properties": {
401
+ "name": {
402
+ "description": "The name of this item. e.g. scf_accuracy",
184
403
  "type": "string"
185
404
  }
186
- ]
405
+ }
187
406
  }
188
407
  },
189
408
  "monitors": {
@@ -191,30 +410,19 @@
191
410
  "type": "array",
192
411
  "items": {
193
412
  "$schema": "http://json-schema.org/draft-07/schema#",
194
- "title": "runtime item schema",
195
- "oneOf": [
196
- {
197
- "$schema": "http://json-schema.org/draft-07/schema#",
198
- "title": "name result schema",
199
- "type": "object",
200
- "properties": {
201
- "name": {
202
- "description": "The name of this item. e.g. scf_accuracy",
203
- "type": "string"
204
- }
205
- },
206
- "additionalProperties": true,
207
- "required": [
208
- "name"
209
- ]
210
- },
211
- {
212
- "$schema": "http://json-schema.org/draft-07/schema#",
213
- "title": "RuntimeItemString",
214
- "description": "name of runtime item in shortened notation",
413
+ "title": "runtime item name object schema",
414
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
415
+ "type": "object",
416
+ "required": [
417
+ "name"
418
+ ],
419
+ "additionalProperties": true,
420
+ "properties": {
421
+ "name": {
422
+ "description": "The name of this item. e.g. scf_accuracy",
215
423
  "type": "string"
216
424
  }
217
- ]
425
+ }
218
426
  }
219
427
  },
220
428
  "results": {
@@ -222,42 +430,20 @@
222
430
  "type": "array",
223
431
  "items": {
224
432
  "$schema": "http://json-schema.org/draft-07/schema#",
225
- "title": "runtime item schema",
226
- "oneOf": [
227
- {
228
- "$schema": "http://json-schema.org/draft-07/schema#",
229
- "title": "name result schema",
230
- "type": "object",
231
- "properties": {
232
- "name": {
233
- "description": "The name of this item. e.g. scf_accuracy",
234
- "type": "string"
235
- }
236
- },
237
- "additionalProperties": true,
238
- "required": [
239
- "name"
240
- ]
241
- },
242
- {
243
- "$schema": "http://json-schema.org/draft-07/schema#",
244
- "title": "RuntimeItemString",
245
- "description": "name of runtime item in shortened notation",
433
+ "title": "runtime item name object schema",
434
+ "description": "A runtime item is a name of a pre-processor, post-processor, monitor, or result for a calculation. Can contain additional properties basename, filetype etc.",
435
+ "type": "object",
436
+ "required": [
437
+ "name"
438
+ ],
439
+ "additionalProperties": true,
440
+ "properties": {
441
+ "name": {
442
+ "description": "The name of this item. e.g. scf_accuracy",
246
443
  "type": "string"
247
444
  }
248
- ]
445
+ }
249
446
  }
250
- }
251
- }
252
- },
253
- "flavor": {
254
- "$schema": "http://json-schema.org/draft-07/schema#",
255
- "title": "flavor schema",
256
- "type": "object",
257
- "properties": {
258
- "executableId": {
259
- "description": "_id of the executable this flavor belongs to",
260
- "type": "string"
261
447
  },
262
448
  "executableName": {
263
449
  "description": "name of the executable this flavor belongs to",
@@ -267,6 +453,10 @@
267
453
  "description": "name of the application this flavor belongs to",
268
454
  "type": "string"
269
455
  },
456
+ "applicationVersion": {
457
+ "description": "version of the application this flavor belongs to",
458
+ "type": "string"
459
+ },
270
460
  "input": {
271
461
  "title": "execution unit input schema",
272
462
  "type": "array",
@@ -274,7 +464,9 @@
274
464
  "$schema": "http://json-schema.org/draft-07/schema#",
275
465
  "title": "execution unit input id item schema for physics-based simulation engines",
276
466
  "type": "object",
277
- "additionalProperties": false,
467
+ "required": [
468
+ "name"
469
+ ],
278
470
  "properties": {
279
471
  "templateId": {
280
472
  "type": "string"
@@ -288,422 +480,1794 @@
288
480
  }
289
481
  }
290
482
  }
291
- },
292
- "supportedApplicationVersions": {
293
- "description": "list of application versions this flavor supports",
294
- "type": "array",
295
- "items": {
296
- "type": "string"
297
- }
298
- },
299
- "_id": {
300
- "description": "entity identity",
301
- "type": "string"
302
- },
303
- "slug": {
304
- "description": "entity slug",
305
- "type": "string"
306
- },
307
- "systemName": {
308
- "type": "string"
309
- },
310
- "schemaVersion": {
311
- "description": "entity's schema version. Used to distinct between different schemas.",
312
- "type": "string",
313
- "default": "2022.8.16"
314
- },
315
- "name": {
316
- "description": "entity name",
317
- "type": "string"
318
- },
319
- "isDefault": {
320
- "description": "Identifies that entity is defaultable",
321
- "type": "boolean",
322
- "default": false
323
- },
324
- "preProcessors": {
325
- "description": "names of the pre-processors for this calculation",
326
- "type": "array",
327
- "items": {
483
+ }
484
+ }
485
+ },
486
+ "input": {
487
+ "type": "array",
488
+ "title": "execution unit input schema",
489
+ "items": {
490
+ "$schema": "http://json-schema.org/draft-07/schema#",
491
+ "title": "execution unit input item schema",
492
+ "type": "object",
493
+ "required": [
494
+ "isManuallyChanged",
495
+ "template"
496
+ ],
497
+ "oneOf": [
498
+ {
328
499
  "$schema": "http://json-schema.org/draft-07/schema#",
329
- "title": "runtime item schema",
330
- "oneOf": [
331
- {
500
+ "title": "execution unit input item schema",
501
+ "type": "object",
502
+ "properties": {
503
+ "template": {
332
504
  "$schema": "http://json-schema.org/draft-07/schema#",
333
- "title": "name result schema",
505
+ "title": "template schema",
334
506
  "type": "object",
335
- "properties": {
336
- "name": {
337
- "description": "The name of this item. e.g. scf_accuracy",
338
- "type": "string"
339
- }
340
- },
341
- "additionalProperties": true,
342
507
  "required": [
508
+ "applicationName",
509
+ "applicationVersion",
510
+ "content",
511
+ "contextProviders",
512
+ "executableName",
343
513
  "name"
344
- ]
345
- },
346
- {
347
- "$schema": "http://json-schema.org/draft-07/schema#",
348
- "title": "RuntimeItemString",
349
- "description": "name of runtime item in shortened notation",
350
- "type": "string"
351
- }
352
- ]
353
- }
354
- },
355
- "postProcessors": {
356
- "description": "names of the post-processors for this calculation",
357
- "type": "array",
358
- "items": {
359
- "$schema": "http://json-schema.org/draft-07/schema#",
360
- "title": "runtime item schema",
361
- "oneOf": [
362
- {
363
- "$schema": "http://json-schema.org/draft-07/schema#",
364
- "title": "name result schema",
365
- "type": "object",
514
+ ],
366
515
  "properties": {
516
+ "_id": {
517
+ "description": "entity identity",
518
+ "type": "string"
519
+ },
520
+ "slug": {
521
+ "description": "entity slug",
522
+ "type": "string"
523
+ },
524
+ "systemName": {
525
+ "type": "string"
526
+ },
527
+ "schemaVersion": {
528
+ "description": "entity's schema version. Used to distinct between different schemas.",
529
+ "type": "string",
530
+ "default": "2022.8.16"
531
+ },
367
532
  "name": {
368
- "description": "The name of this item. e.g. scf_accuracy",
533
+ "description": "entity name",
534
+ "type": "string"
535
+ },
536
+ "executableName": {
537
+ "type": "string"
538
+ },
539
+ "applicationName": {
540
+ "type": "string"
541
+ },
542
+ "applicationVersion": {
543
+ "type": "string"
544
+ },
545
+ "contextProviders": {
546
+ "type": "array",
547
+ "items": {
548
+ "description": "render context provider names",
549
+ "type": "object",
550
+ "required": [
551
+ "name"
552
+ ],
553
+ "properties": {
554
+ "name": {
555
+ "type": "string",
556
+ "tsType": "ContextProviderNameEnum"
557
+ }
558
+ }
559
+ }
560
+ },
561
+ "content": {
562
+ "description": "Content of the template. e.g. &CONTROL calculation='scf' ...",
369
563
  "type": "string"
370
564
  }
371
- },
372
- "additionalProperties": true,
373
- "required": [
374
- "name"
375
- ]
565
+ }
376
566
  },
377
- {
378
- "$schema": "http://json-schema.org/draft-07/schema#",
379
- "title": "RuntimeItemString",
380
- "description": "name of runtime item in shortened notation",
567
+ "rendered": {
568
+ "description": "Rendered content of the input file. e.g. &CONTROL calculation='scf' ...",
381
569
  "type": "string"
570
+ },
571
+ "isManuallyChanged": {
572
+ "type": "boolean",
573
+ "default": false
382
574
  }
575
+ },
576
+ "required": [
577
+ "isManuallyChanged",
578
+ "template"
383
579
  ]
384
- }
385
- },
386
- "monitors": {
387
- "description": "names of the monitors for this calculation",
388
- "type": "array",
389
- "items": {
580
+ },
581
+ {
390
582
  "$schema": "http://json-schema.org/draft-07/schema#",
391
- "title": "runtime item schema",
392
- "oneOf": [
393
- {
394
- "$schema": "http://json-schema.org/draft-07/schema#",
395
- "title": "name result schema",
396
- "type": "object",
397
- "properties": {
398
- "name": {
399
- "description": "The name of this item. e.g. scf_accuracy",
400
- "type": "string"
401
- }
402
- },
403
- "additionalProperties": true,
404
- "required": [
405
- "name"
406
- ]
583
+ "title": "execution unit input id item schema for physics-based simulation engines",
584
+ "type": "object",
585
+ "properties": {
586
+ "templateId": {
587
+ "type": "string"
407
588
  },
408
- {
409
- "$schema": "http://json-schema.org/draft-07/schema#",
410
- "title": "RuntimeItemString",
411
- "description": "name of runtime item in shortened notation",
589
+ "templateName": {
590
+ "type": "string"
591
+ },
592
+ "name": {
593
+ "description": "name of the resulting input file, if different than template name",
412
594
  "type": "string"
413
595
  }
596
+ },
597
+ "required": [
598
+ "name"
414
599
  ]
415
600
  }
416
- },
417
- "results": {
418
- "description": "names of the results for this calculation",
419
- "type": "array",
420
- "items": {
601
+ ],
602
+ "properties": {
603
+ "template": {
421
604
  "$schema": "http://json-schema.org/draft-07/schema#",
422
- "title": "runtime item schema",
423
- "oneOf": [
424
- {
425
- "$schema": "http://json-schema.org/draft-07/schema#",
426
- "title": "name result schema",
427
- "type": "object",
428
- "properties": {
429
- "name": {
430
- "description": "The name of this item. e.g. scf_accuracy",
431
- "type": "string"
605
+ "title": "template schema",
606
+ "type": "object",
607
+ "required": [
608
+ "applicationName",
609
+ "applicationVersion",
610
+ "content",
611
+ "contextProviders",
612
+ "executableName",
613
+ "name"
614
+ ],
615
+ "properties": {
616
+ "_id": {
617
+ "description": "entity identity",
618
+ "type": "string"
619
+ },
620
+ "slug": {
621
+ "description": "entity slug",
622
+ "type": "string"
623
+ },
624
+ "systemName": {
625
+ "type": "string"
626
+ },
627
+ "schemaVersion": {
628
+ "description": "entity's schema version. Used to distinct between different schemas.",
629
+ "type": "string",
630
+ "default": "2022.8.16"
631
+ },
632
+ "name": {
633
+ "description": "entity name",
634
+ "type": "string"
635
+ },
636
+ "executableName": {
637
+ "type": "string"
638
+ },
639
+ "applicationName": {
640
+ "type": "string"
641
+ },
642
+ "applicationVersion": {
643
+ "type": "string"
644
+ },
645
+ "contextProviders": {
646
+ "type": "array",
647
+ "items": {
648
+ "description": "render context provider names",
649
+ "type": "object",
650
+ "required": [
651
+ "name"
652
+ ],
653
+ "properties": {
654
+ "name": {
655
+ "type": "string",
656
+ "tsType": "ContextProviderNameEnum"
657
+ }
432
658
  }
433
- },
434
- "additionalProperties": true,
435
- "required": [
436
- "name"
437
- ]
659
+ }
438
660
  },
439
- {
440
- "$schema": "http://json-schema.org/draft-07/schema#",
441
- "title": "RuntimeItemString",
442
- "description": "name of runtime item in shortened notation",
661
+ "content": {
662
+ "description": "Content of the template. e.g. &CONTROL calculation='scf' ...",
443
663
  "type": "string"
444
664
  }
445
- ]
665
+ }
666
+ },
667
+ "rendered": {
668
+ "description": "Rendered content of the input file. e.g. &CONTROL calculation='scf' ...",
669
+ "type": "string"
670
+ },
671
+ "isManuallyChanged": {
672
+ "type": "boolean",
673
+ "default": false
446
674
  }
447
675
  }
448
676
  }
449
677
  },
450
- "input": {
451
- "description": "unit input (type to be specified by the application's execution unit)",
452
- "title": "execution unit input schema",
678
+ "context": {
453
679
  "type": "array",
454
680
  "items": {
681
+ "$schema": "http://json-schema.org/draft-07/schema#",
682
+ "title": "context item schema",
455
683
  "oneOf": [
456
684
  {
457
685
  "$schema": "http://json-schema.org/draft-07/schema#",
458
- "title": "execution unit input item schema for physics-based simulation engines",
686
+ "title": "input context item schema",
459
687
  "type": "object",
688
+ "required": [
689
+ "name",
690
+ "isEdited",
691
+ "data",
692
+ "extraData"
693
+ ],
460
694
  "properties": {
461
695
  "name": {
462
- "description": "Input file name. e.g. pw_scf.in",
463
- "type": "string"
696
+ "type": "string",
697
+ "const": "input"
464
698
  },
465
- "content": {
466
- "description": "Content of the input file. e.g. &CONTROL calculation='scf' ...",
467
- "type": "string"
699
+ "data": {
700
+ "type": "object",
701
+ "oneOf": [
702
+ {
703
+ "$schema": "http://json-schema.org/draft-07/schema#",
704
+ "title": "NWChem Total Energy Context Provider Schema",
705
+ "description": "Schema for NWChemTotalEnergyContextProvider that generates context data for NWChem total energy input.",
706
+ "type": "object",
707
+ "properties": {
708
+ "contextProviderName": {
709
+ "type": "string",
710
+ "const": "nwchem-total-energy",
711
+ "description": "Descriminator for AJV validator"
712
+ },
713
+ "CHARGE": {
714
+ "type": "integer",
715
+ "description": "Total charge of the system."
716
+ },
717
+ "MULT": {
718
+ "type": "integer",
719
+ "description": "Spin multiplicity of the system."
720
+ },
721
+ "BASIS": {
722
+ "type": "string",
723
+ "description": "Basis set label used in the calculation (e.g., '6-31G')."
724
+ },
725
+ "NAT": {
726
+ "type": "integer",
727
+ "description": "Number of atoms in the system."
728
+ },
729
+ "NTYP": {
730
+ "type": "integer",
731
+ "description": "Number of unique atomic species in the system."
732
+ },
733
+ "ATOMIC_POSITIONS": {
734
+ "type": "string",
735
+ "description": "Formatted text block with atomic positions including constraints."
736
+ },
737
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS": {
738
+ "type": "string",
739
+ "description": "Formatted text block with atomic positions without constraints."
740
+ },
741
+ "ATOMIC_SPECIES": {
742
+ "type": "string",
743
+ "description": "Formatted text block for atomic species, including element symbols and masses."
744
+ },
745
+ "FUNCTIONAL": {
746
+ "type": "string",
747
+ "description": "Exchange-correlation functional identifier (e.g., 'B3LYP')."
748
+ },
749
+ "CARTESIAN": {
750
+ "type": "boolean",
751
+ "description": "Whether atomic positions are expressed in cartesian coordinates."
752
+ }
753
+ },
754
+ "required": [
755
+ "CHARGE",
756
+ "MULT",
757
+ "BASIS",
758
+ "NAT",
759
+ "NTYP",
760
+ "ATOMIC_POSITIONS",
761
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS",
762
+ "ATOMIC_SPECIES",
763
+ "FUNCTIONAL",
764
+ "CARTESIAN",
765
+ "contextProviderName"
766
+ ]
767
+ },
768
+ {
769
+ "$schema": "http://json-schema.org/draft-07/schema#",
770
+ "title": "QE NEB Context Provider Schema",
771
+ "description": "Schema for QENEBContextProvider that generates context data for Quantum ESPRESSO pw.x NEB input. Extends the pw.x context with image-specific atomic positions.",
772
+ "type": "object",
773
+ "required": [
774
+ "IBRAV",
775
+ "RESTART_MODE",
776
+ "ATOMIC_SPECIES",
777
+ "ATOMIC_SPECIES_WITH_LABELS",
778
+ "NAT",
779
+ "NTYP",
780
+ "NTYP_WITH_LABELS",
781
+ "CELL_PARAMETERS",
782
+ "FIRST_IMAGE",
783
+ "LAST_IMAGE",
784
+ "INTERMEDIATE_IMAGES",
785
+ "contextProviderName"
786
+ ],
787
+ "properties": {
788
+ "IBRAV": {
789
+ "type": "integer"
790
+ },
791
+ "RESTART_MODE": {
792
+ "type": "string",
793
+ "enum": [
794
+ "from_scratch",
795
+ "restart"
796
+ ],
797
+ "default": "from_scratch"
798
+ },
799
+ "ATOMIC_SPECIES": {
800
+ "type": "array",
801
+ "items": {
802
+ "type": "object",
803
+ "required": [
804
+ "X",
805
+ "Mass_X",
806
+ "PseudoPot_X"
807
+ ],
808
+ "additionalProperties": false,
809
+ "properties": {
810
+ "X": {
811
+ "type": "string",
812
+ "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"
813
+ },
814
+ "Mass_X": {
815
+ "type": "number",
816
+ "description": "mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"
817
+ },
818
+ "PseudoPot_X": {
819
+ "type": "string",
820
+ "description": "PseudoPot_X"
821
+ }
822
+ }
823
+ }
824
+ },
825
+ "ATOMIC_SPECIES_WITH_LABELS": {
826
+ "type": "array",
827
+ "items": {
828
+ "type": "object",
829
+ "required": [
830
+ "X",
831
+ "Mass_X",
832
+ "PseudoPot_X"
833
+ ],
834
+ "additionalProperties": false,
835
+ "properties": {
836
+ "X": {
837
+ "type": "string",
838
+ "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"
839
+ },
840
+ "Mass_X": {
841
+ "type": "number",
842
+ "description": "mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"
843
+ },
844
+ "PseudoPot_X": {
845
+ "type": "string",
846
+ "description": "PseudoPot_X"
847
+ }
848
+ }
849
+ }
850
+ },
851
+ "NAT": {
852
+ "type": "integer",
853
+ "description": "number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"
854
+ },
855
+ "NTYP": {
856
+ "type": "integer",
857
+ "description": "number of types of atoms in the unit cell"
858
+ },
859
+ "NTYP_WITH_LABELS": {
860
+ "type": "integer",
861
+ "description": "Number of different atomic species including labels",
862
+ "minimum": 1
863
+ },
864
+ "ATOMIC_POSITIONS": {
865
+ "type": "array",
866
+ "items": {
867
+ "type": "object",
868
+ "required": [
869
+ "x",
870
+ "y",
871
+ "z"
872
+ ],
873
+ "additionalProperties": false,
874
+ "properties": {
875
+ "X": {
876
+ "type": "string",
877
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
878
+ },
879
+ "x": {
880
+ "type": "number",
881
+ "description": "atomic positions"
882
+ },
883
+ "y": {
884
+ "type": "number",
885
+ "description": "atomic positions"
886
+ },
887
+ "z": {
888
+ "type": "number",
889
+ "description": "atomic positions"
890
+ },
891
+ "if_pos(1)": {
892
+ "$schema": "http://json-schema.org/draft-07/schema#",
893
+ "title": "integer one or zero",
894
+ "type": "integer",
895
+ "minimum": 0,
896
+ "maximum": 1
897
+ },
898
+ "if_pos(2)": {
899
+ "$schema": "http://json-schema.org/draft-07/schema#",
900
+ "title": "integer one or zero",
901
+ "type": "integer",
902
+ "minimum": 0,
903
+ "maximum": 1
904
+ },
905
+ "if_pos(3)": {
906
+ "$schema": "http://json-schema.org/draft-07/schema#",
907
+ "title": "integer one or zero",
908
+ "type": "integer",
909
+ "minimum": 0,
910
+ "maximum": 1
911
+ }
912
+ }
913
+ }
914
+ },
915
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS": {
916
+ "type": "string",
917
+ "description": "Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"
918
+ },
919
+ "CELL_PARAMETERS": {
920
+ "type": "object",
921
+ "additionalProperties": false,
922
+ "properties": {
923
+ "v1": {
924
+ "$schema": "http://json-schema.org/draft-07/schema#",
925
+ "title": "array of 3 number elements schema",
926
+ "type": "array",
927
+ "minItems": 3,
928
+ "maxItems": 3,
929
+ "items": {
930
+ "type": "number"
931
+ }
932
+ },
933
+ "v2": {
934
+ "$schema": "http://json-schema.org/draft-07/schema#",
935
+ "title": "array of 3 number elements schema",
936
+ "type": "array",
937
+ "minItems": 3,
938
+ "maxItems": 3,
939
+ "items": {
940
+ "type": "number"
941
+ }
942
+ },
943
+ "v3": {
944
+ "$schema": "http://json-schema.org/draft-07/schema#",
945
+ "title": "array of 3 number elements schema",
946
+ "type": "array",
947
+ "minItems": 3,
948
+ "maxItems": 3,
949
+ "items": {
950
+ "type": "number"
951
+ }
952
+ }
953
+ }
954
+ },
955
+ "FIRST_IMAGE": {
956
+ "type": "array",
957
+ "items": {
958
+ "type": "object",
959
+ "required": [
960
+ "x",
961
+ "y",
962
+ "z"
963
+ ],
964
+ "additionalProperties": false,
965
+ "properties": {
966
+ "X": {
967
+ "type": "string",
968
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
969
+ },
970
+ "x": {
971
+ "type": "number",
972
+ "description": "atomic positions"
973
+ },
974
+ "y": {
975
+ "type": "number",
976
+ "description": "atomic positions"
977
+ },
978
+ "z": {
979
+ "type": "number",
980
+ "description": "atomic positions"
981
+ },
982
+ "if_pos(1)": {
983
+ "$schema": "http://json-schema.org/draft-07/schema#",
984
+ "title": "integer one or zero",
985
+ "type": "integer",
986
+ "minimum": 0,
987
+ "maximum": 1
988
+ },
989
+ "if_pos(2)": {
990
+ "$schema": "http://json-schema.org/draft-07/schema#",
991
+ "title": "integer one or zero",
992
+ "type": "integer",
993
+ "minimum": 0,
994
+ "maximum": 1
995
+ },
996
+ "if_pos(3)": {
997
+ "$schema": "http://json-schema.org/draft-07/schema#",
998
+ "title": "integer one or zero",
999
+ "type": "integer",
1000
+ "minimum": 0,
1001
+ "maximum": 1
1002
+ }
1003
+ }
1004
+ }
1005
+ },
1006
+ "LAST_IMAGE": {
1007
+ "type": "array",
1008
+ "items": {
1009
+ "type": "object",
1010
+ "required": [
1011
+ "x",
1012
+ "y",
1013
+ "z"
1014
+ ],
1015
+ "additionalProperties": false,
1016
+ "properties": {
1017
+ "X": {
1018
+ "type": "string",
1019
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
1020
+ },
1021
+ "x": {
1022
+ "type": "number",
1023
+ "description": "atomic positions"
1024
+ },
1025
+ "y": {
1026
+ "type": "number",
1027
+ "description": "atomic positions"
1028
+ },
1029
+ "z": {
1030
+ "type": "number",
1031
+ "description": "atomic positions"
1032
+ },
1033
+ "if_pos(1)": {
1034
+ "$schema": "http://json-schema.org/draft-07/schema#",
1035
+ "title": "integer one or zero",
1036
+ "type": "integer",
1037
+ "minimum": 0,
1038
+ "maximum": 1
1039
+ },
1040
+ "if_pos(2)": {
1041
+ "$schema": "http://json-schema.org/draft-07/schema#",
1042
+ "title": "integer one or zero",
1043
+ "type": "integer",
1044
+ "minimum": 0,
1045
+ "maximum": 1
1046
+ },
1047
+ "if_pos(3)": {
1048
+ "$schema": "http://json-schema.org/draft-07/schema#",
1049
+ "title": "integer one or zero",
1050
+ "type": "integer",
1051
+ "minimum": 0,
1052
+ "maximum": 1
1053
+ }
1054
+ }
1055
+ }
1056
+ },
1057
+ "INTERMEDIATE_IMAGES": {
1058
+ "type": "array",
1059
+ "description": "Atomic positions blocks (ATOMIC_POSITIONS) for all intermediate NEB images.",
1060
+ "items": {
1061
+ "type": "array",
1062
+ "items": {
1063
+ "type": "object",
1064
+ "required": [
1065
+ "x",
1066
+ "y",
1067
+ "z"
1068
+ ],
1069
+ "additionalProperties": false,
1070
+ "properties": {
1071
+ "X": {
1072
+ "type": "string",
1073
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
1074
+ },
1075
+ "x": {
1076
+ "type": "number",
1077
+ "description": "atomic positions"
1078
+ },
1079
+ "y": {
1080
+ "type": "number",
1081
+ "description": "atomic positions"
1082
+ },
1083
+ "z": {
1084
+ "type": "number",
1085
+ "description": "atomic positions"
1086
+ },
1087
+ "if_pos(1)": {
1088
+ "$schema": "http://json-schema.org/draft-07/schema#",
1089
+ "title": "integer one or zero",
1090
+ "type": "integer",
1091
+ "minimum": 0,
1092
+ "maximum": 1
1093
+ },
1094
+ "if_pos(2)": {
1095
+ "$schema": "http://json-schema.org/draft-07/schema#",
1096
+ "title": "integer one or zero",
1097
+ "type": "integer",
1098
+ "minimum": 0,
1099
+ "maximum": 1
1100
+ },
1101
+ "if_pos(3)": {
1102
+ "$schema": "http://json-schema.org/draft-07/schema#",
1103
+ "title": "integer one or zero",
1104
+ "type": "integer",
1105
+ "minimum": 0,
1106
+ "maximum": 1
1107
+ }
1108
+ }
1109
+ }
1110
+ }
1111
+ },
1112
+ "contextProviderName": {
1113
+ "type": "string",
1114
+ "const": "qe-neb",
1115
+ "description": "Descriminator for AJV validator"
1116
+ }
1117
+ }
1118
+ },
1119
+ {
1120
+ "$schema": "http://json-schema.org/draft-07/schema#",
1121
+ "title": "QE pwx Context Provider Schema",
1122
+ "description": "Schema for QEPWXContextProvider that generates context data for Quantum ESPRESSO pw.x input files. Contains computed context properties and string-formatted versions of pw.x input sections.",
1123
+ "type": "object",
1124
+ "required": [
1125
+ "IBRAV",
1126
+ "RESTART_MODE",
1127
+ "ATOMIC_SPECIES",
1128
+ "ATOMIC_SPECIES_WITH_LABELS",
1129
+ "NAT",
1130
+ "NTYP",
1131
+ "NTYP_WITH_LABELS",
1132
+ "ATOMIC_POSITIONS",
1133
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS",
1134
+ "CELL_PARAMETERS",
1135
+ "contextProviderName"
1136
+ ],
1137
+ "properties": {
1138
+ "IBRAV": {
1139
+ "type": "integer"
1140
+ },
1141
+ "RESTART_MODE": {
1142
+ "type": "string",
1143
+ "enum": [
1144
+ "from_scratch",
1145
+ "restart"
1146
+ ],
1147
+ "default": "from_scratch"
1148
+ },
1149
+ "ATOMIC_SPECIES": {
1150
+ "type": "array",
1151
+ "items": {
1152
+ "type": "object",
1153
+ "required": [
1154
+ "X",
1155
+ "Mass_X",
1156
+ "PseudoPot_X"
1157
+ ],
1158
+ "additionalProperties": false,
1159
+ "properties": {
1160
+ "X": {
1161
+ "type": "string",
1162
+ "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"
1163
+ },
1164
+ "Mass_X": {
1165
+ "type": "number",
1166
+ "description": "mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"
1167
+ },
1168
+ "PseudoPot_X": {
1169
+ "type": "string",
1170
+ "description": "PseudoPot_X"
1171
+ }
1172
+ }
1173
+ }
1174
+ },
1175
+ "ATOMIC_SPECIES_WITH_LABELS": {
1176
+ "type": "array",
1177
+ "items": {
1178
+ "type": "object",
1179
+ "required": [
1180
+ "X",
1181
+ "Mass_X",
1182
+ "PseudoPot_X"
1183
+ ],
1184
+ "additionalProperties": false,
1185
+ "properties": {
1186
+ "X": {
1187
+ "type": "string",
1188
+ "description": "label of the atom. Acceptable syntax: chemical symbol X (1 or 2 characters, case-insensitive) or chemical symbol plus a number or a letter, as in \"Xn\" (e.g. Fe1) or \"X_*\" or \"X-*\" (e.g. C1, C_h; max total length cannot exceed 3 characters)"
1189
+ },
1190
+ "Mass_X": {
1191
+ "type": "number",
1192
+ "description": "mass of the atomic species [amu: mass of C = 12]. Used only when performing Molecular Dynamics run or structural optimization runs using Damped MD. Not actually used in all other cases (but stored in data files, so phonon calculations will use these values unless other values are provided)"
1193
+ },
1194
+ "PseudoPot_X": {
1195
+ "type": "string",
1196
+ "description": "PseudoPot_X"
1197
+ }
1198
+ }
1199
+ }
1200
+ },
1201
+ "NAT": {
1202
+ "type": "integer",
1203
+ "description": "number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)"
1204
+ },
1205
+ "NTYP": {
1206
+ "type": "integer",
1207
+ "description": "number of types of atoms in the unit cell"
1208
+ },
1209
+ "NTYP_WITH_LABELS": {
1210
+ "type": "integer",
1211
+ "description": "Number of different atomic species including labels",
1212
+ "minimum": 1
1213
+ },
1214
+ "ATOMIC_POSITIONS": {
1215
+ "type": "array",
1216
+ "items": {
1217
+ "type": "object",
1218
+ "required": [
1219
+ "x",
1220
+ "y",
1221
+ "z"
1222
+ ],
1223
+ "additionalProperties": false,
1224
+ "properties": {
1225
+ "X": {
1226
+ "type": "string",
1227
+ "description": "label of the atom as specified in ATOMIC_SPECIES"
1228
+ },
1229
+ "x": {
1230
+ "type": "number",
1231
+ "description": "atomic positions"
1232
+ },
1233
+ "y": {
1234
+ "type": "number",
1235
+ "description": "atomic positions"
1236
+ },
1237
+ "z": {
1238
+ "type": "number",
1239
+ "description": "atomic positions"
1240
+ },
1241
+ "if_pos(1)": {
1242
+ "$schema": "http://json-schema.org/draft-07/schema#",
1243
+ "title": "integer one or zero",
1244
+ "type": "integer",
1245
+ "minimum": 0,
1246
+ "maximum": 1
1247
+ },
1248
+ "if_pos(2)": {
1249
+ "$schema": "http://json-schema.org/draft-07/schema#",
1250
+ "title": "integer one or zero",
1251
+ "type": "integer",
1252
+ "minimum": 0,
1253
+ "maximum": 1
1254
+ },
1255
+ "if_pos(3)": {
1256
+ "$schema": "http://json-schema.org/draft-07/schema#",
1257
+ "title": "integer one or zero",
1258
+ "type": "integer",
1259
+ "minimum": 0,
1260
+ "maximum": 1
1261
+ }
1262
+ }
1263
+ }
1264
+ },
1265
+ "ATOMIC_POSITIONS_WITHOUT_CONSTRAINTS": {
1266
+ "type": "string",
1267
+ "description": "Formatted text block for ATOMIC_POSITIONS card WITHOUT constraints. Format: 'X x y z' per line"
1268
+ },
1269
+ "CELL_PARAMETERS": {
1270
+ "type": "object",
1271
+ "additionalProperties": false,
1272
+ "properties": {
1273
+ "v1": {
1274
+ "$schema": "http://json-schema.org/draft-07/schema#",
1275
+ "title": "array of 3 number elements schema",
1276
+ "type": "array",
1277
+ "minItems": 3,
1278
+ "maxItems": 3,
1279
+ "items": {
1280
+ "type": "number"
1281
+ }
1282
+ },
1283
+ "v2": {
1284
+ "$schema": "http://json-schema.org/draft-07/schema#",
1285
+ "title": "array of 3 number elements schema",
1286
+ "type": "array",
1287
+ "minItems": 3,
1288
+ "maxItems": 3,
1289
+ "items": {
1290
+ "type": "number"
1291
+ }
1292
+ },
1293
+ "v3": {
1294
+ "$schema": "http://json-schema.org/draft-07/schema#",
1295
+ "title": "array of 3 number elements schema",
1296
+ "type": "array",
1297
+ "minItems": 3,
1298
+ "maxItems": 3,
1299
+ "items": {
1300
+ "type": "number"
1301
+ }
1302
+ }
1303
+ }
1304
+ },
1305
+ "contextProviderName": {
1306
+ "type": "string",
1307
+ "const": "qe-pwx",
1308
+ "description": "Descriminator for AJV validator"
1309
+ }
1310
+ }
1311
+ },
1312
+ {
1313
+ "$schema": "http://json-schema.org/draft-07/schema#",
1314
+ "title": "VASP Context Provider Schema",
1315
+ "description": "Schema for VASPContextProvider that generates context data for VASP POSCAR input files.",
1316
+ "type": "object",
1317
+ "properties": {
1318
+ "POSCAR": {
1319
+ "type": "string",
1320
+ "description": "POSCAR content for VASP including lattice, atom types, positions and constraints."
1321
+ },
1322
+ "POSCAR_WITH_CONSTRAINTS": {
1323
+ "type": "string",
1324
+ "description": "POSCAR content for VASP including lattice, atom types, positions and constraints. May differ in how constraints are represented."
1325
+ },
1326
+ "contextProviderName": {
1327
+ "type": "string",
1328
+ "const": "vasp",
1329
+ "description": "Descriminator for AJV validator"
1330
+ }
1331
+ },
1332
+ "required": [
1333
+ "POSCAR",
1334
+ "POSCAR_WITH_CONSTRAINTS",
1335
+ "contextProviderName"
1336
+ ]
1337
+ },
1338
+ {
1339
+ "$schema": "http://json-schema.org/draft-07/schema#",
1340
+ "title": "VASP NEB Context Provider Schema",
1341
+ "description": "Schema for VASPNEBContextProvider that generates context data for VASP NEB (nudged elastic band) runs.",
1342
+ "type": "object",
1343
+ "properties": {
1344
+ "FIRST_IMAGE": {
1345
+ "type": "string",
1346
+ "description": "POSCAR content with constraints for the first NEB image."
1347
+ },
1348
+ "LAST_IMAGE": {
1349
+ "type": "string",
1350
+ "description": "POSCAR content with constraints for the last NEB image."
1351
+ },
1352
+ "INTERMEDIATE_IMAGES": {
1353
+ "type": "array",
1354
+ "description": "POSCAR contents with constraints for all intermediate NEB images.",
1355
+ "items": {
1356
+ "type": "string"
1357
+ }
1358
+ },
1359
+ "contextProviderName": {
1360
+ "type": "string",
1361
+ "const": "vasp-neb",
1362
+ "description": "Descriminator for AJV validator"
1363
+ }
1364
+ },
1365
+ "required": [
1366
+ "FIRST_IMAGE",
1367
+ "LAST_IMAGE",
1368
+ "INTERMEDIATE_IMAGES",
1369
+ "contextProviderName"
1370
+ ]
1371
+ }
1372
+ ],
1373
+ "discriminator": {
1374
+ "propertyName": "contextProviderName"
1375
+ }
468
1376
  },
469
- "rendered": {
470
- "description": "Rendered content of the input file. e.g. &CONTROL calculation='scf' ...",
471
- "type": "string"
1377
+ "extraData": {
1378
+ "$schema": "http://json-schema.org/draft-07/schema#",
1379
+ "title": "extraData with materialHash schema",
1380
+ "type": "object",
1381
+ "required": [
1382
+ "materialHash"
1383
+ ],
1384
+ "properties": {
1385
+ "materialHash": {
1386
+ "type": "string"
1387
+ }
1388
+ }
1389
+ },
1390
+ "isEdited": {
1391
+ "type": "boolean"
472
1392
  }
473
- },
474
- "required": [
475
- "name",
476
- "content"
477
- ]
1393
+ }
478
1394
  },
479
1395
  {
480
1396
  "$schema": "http://json-schema.org/draft-07/schema#",
481
- "title": "execution unit input id item schema for physics-based simulation engines",
1397
+ "title": "cutoffs context item schema",
482
1398
  "type": "object",
1399
+ "required": [
1400
+ "name",
1401
+ "isEdited",
1402
+ "data",
1403
+ "extraData"
1404
+ ],
483
1405
  "properties": {
484
- "templateId": {
485
- "type": "string"
1406
+ "name": {
1407
+ "type": "string",
1408
+ "const": "cutoffs"
486
1409
  },
487
- "templateName": {
488
- "type": "string"
1410
+ "data": {
1411
+ "$schema": "http://json-schema.org/draft-07/schema#",
1412
+ "title": "Planewave Cutoffs Context Provider Schema",
1413
+ "description": "Planewave cutoff parameters for electronic wavefunctions and density. Units are specific to simulation engine.",
1414
+ "type": "object",
1415
+ "properties": {
1416
+ "wavefunction": {
1417
+ "type": "number"
1418
+ },
1419
+ "density": {
1420
+ "type": "number"
1421
+ }
1422
+ }
489
1423
  },
490
- "name": {
491
- "description": "name of the resulting input file, if different than template name",
492
- "type": "string"
1424
+ "isEdited": {
1425
+ "type": "boolean"
1426
+ },
1427
+ "extraData": {
1428
+ "type": "object"
493
1429
  }
494
- },
495
- "additionalProperties": false
496
- }
497
- ]
498
- }
499
- },
500
- "_id": {
501
- "type": "string",
502
- "description": "entity identity"
503
- },
504
- "isDraft": {
505
- "type": "boolean"
506
- },
507
- "name": {
508
- "description": "name of the unit. e.g. pw_scf",
509
- "type": "string"
510
- },
511
- "status": {
512
- "description": "Status of the unit.",
513
- "type": "string",
514
- "enum": [
515
- "idle",
516
- "active",
517
- "warning",
518
- "error",
519
- "finished"
520
- ]
521
- },
522
- "head": {
523
- "description": "Whether this unit is the first one to be executed.",
524
- "type": "boolean"
525
- },
526
- "flowchartId": {
527
- "description": "Identity of the unit in the workflow. Used to trace the execution flow of the workflow.",
528
- "type": "string"
529
- },
530
- "next": {
531
- "description": "Next unit's flowchartId. If empty, the current unit is the last.",
532
- "type": "string"
533
- },
534
- "enableRender": {
535
- "description": "Whether Rupy should attempt to use Jinja templating to add context variables into the unit",
536
- "type": "boolean"
537
- },
538
- "context": {
539
- "type": "object"
540
- },
541
- "slug": {
542
- "description": "entity slug",
543
- "type": "string"
544
- },
545
- "systemName": {
546
- "type": "string"
547
- },
548
- "schemaVersion": {
549
- "description": "entity's schema version. Used to distinct between different schemas.",
550
- "type": "string",
551
- "default": "2022.8.16"
552
- },
553
- "isDefault": {
554
- "description": "Identifies that entity is defaultable",
555
- "type": "boolean",
556
- "default": false
557
- },
558
- "preProcessors": {
559
- "description": "names of the pre-processors for this calculation",
560
- "type": "array",
561
- "items": {
562
- "$schema": "http://json-schema.org/draft-07/schema#",
563
- "title": "runtime item schema",
564
- "oneOf": [
1430
+ }
1431
+ },
565
1432
  {
566
1433
  "$schema": "http://json-schema.org/draft-07/schema#",
567
- "title": "name result schema",
1434
+ "title": "grid context item schema",
568
1435
  "type": "object",
1436
+ "required": [
1437
+ "name",
1438
+ "isEdited",
1439
+ "data",
1440
+ "extraData"
1441
+ ],
569
1442
  "properties": {
570
1443
  "name": {
571
- "description": "The name of this item. e.g. scf_accuracy",
572
- "type": "string"
1444
+ "type": "string",
1445
+ "enum": [
1446
+ "kgrid",
1447
+ "qgrid",
1448
+ "igrid"
1449
+ ]
1450
+ },
1451
+ "data": {
1452
+ "$schema": "http://json-schema.org/draft-07/schema#",
1453
+ "title": "Points Grid Data Provider Schema",
1454
+ "description": "3D grid with shifts for k-point or q-point sampling.",
1455
+ "type": "object",
1456
+ "required": [
1457
+ "dimensions",
1458
+ "gridMetricType",
1459
+ "gridMetricValue"
1460
+ ],
1461
+ "properties": {
1462
+ "dimensions": {
1463
+ "anyOf": [
1464
+ {
1465
+ "type": "array",
1466
+ "items": {
1467
+ "type": "number"
1468
+ },
1469
+ "minItems": 3,
1470
+ "maxItems": 3
1471
+ },
1472
+ {
1473
+ "type": "array",
1474
+ "items": {
1475
+ "type": "string"
1476
+ },
1477
+ "minItems": 3,
1478
+ "maxItems": 3
1479
+ }
1480
+ ]
1481
+ },
1482
+ "shifts": {
1483
+ "type": "array",
1484
+ "minItems": 3,
1485
+ "maxItems": 3,
1486
+ "items": {
1487
+ "type": "number"
1488
+ }
1489
+ },
1490
+ "reciprocalVectorRatios": {
1491
+ "type": "array",
1492
+ "minItems": 3,
1493
+ "maxItems": 3,
1494
+ "items": {
1495
+ "type": "number"
1496
+ }
1497
+ },
1498
+ "gridMetricType": {
1499
+ "type": "string",
1500
+ "enum": [
1501
+ "KPPRA",
1502
+ "spacing"
1503
+ ]
1504
+ },
1505
+ "gridMetricValue": {
1506
+ "type": "number"
1507
+ },
1508
+ "preferGridMetric": {
1509
+ "type": "boolean"
1510
+ }
1511
+ }
1512
+ },
1513
+ "extraData": {
1514
+ "$schema": "http://json-schema.org/draft-07/schema#",
1515
+ "title": "extraData with materialHash schema",
1516
+ "type": "object",
1517
+ "required": [
1518
+ "materialHash"
1519
+ ],
1520
+ "properties": {
1521
+ "materialHash": {
1522
+ "type": "string"
1523
+ }
1524
+ }
1525
+ },
1526
+ "isEdited": {
1527
+ "type": "boolean"
573
1528
  }
574
- },
575
- "additionalProperties": true,
576
- "required": [
577
- "name"
578
- ]
1529
+ }
579
1530
  },
580
1531
  {
581
1532
  "$schema": "http://json-schema.org/draft-07/schema#",
582
- "title": "RuntimeItemString",
583
- "description": "name of runtime item in shortened notation",
584
- "type": "string"
585
- }
586
- ]
587
- }
588
- },
589
- "postProcessors": {
590
- "description": "names of the post-processors for this calculation",
591
- "type": "array",
592
- "items": {
593
- "$schema": "http://json-schema.org/draft-07/schema#",
594
- "title": "runtime item schema",
595
- "oneOf": [
1533
+ "title": "path context item schema",
1534
+ "type": "object",
1535
+ "required": [
1536
+ "name",
1537
+ "isEdited",
1538
+ "data",
1539
+ "extraData"
1540
+ ],
1541
+ "properties": {
1542
+ "name": {
1543
+ "type": "string",
1544
+ "enum": [
1545
+ "qpath",
1546
+ "ipath",
1547
+ "kpath",
1548
+ "explicitKPath",
1549
+ "explicitKPath2PIBA"
1550
+ ]
1551
+ },
1552
+ "data": {
1553
+ "$schema": "http://json-schema.org/draft-07/schema#",
1554
+ "title": "Points Path Data Provider Schema",
1555
+ "description": "Path in reciprocal space for band structure calculations. User-editable and persisted fields only (coordinates are derived at render time).",
1556
+ "type": "array",
1557
+ "minItems": 1,
1558
+ "items": {
1559
+ "type": "object",
1560
+ "required": [
1561
+ "point",
1562
+ "steps"
1563
+ ],
1564
+ "properties": {
1565
+ "point": {
1566
+ "type": "string"
1567
+ },
1568
+ "steps": {
1569
+ "type": "number"
1570
+ }
1571
+ }
1572
+ }
1573
+ },
1574
+ "extraData": {
1575
+ "$schema": "http://json-schema.org/draft-07/schema#",
1576
+ "title": "extraData with materialHash schema",
1577
+ "type": "object",
1578
+ "required": [
1579
+ "materialHash"
1580
+ ],
1581
+ "properties": {
1582
+ "materialHash": {
1583
+ "type": "string"
1584
+ }
1585
+ }
1586
+ },
1587
+ "isEdited": {
1588
+ "type": "boolean"
1589
+ }
1590
+ }
1591
+ },
596
1592
  {
597
1593
  "$schema": "http://json-schema.org/draft-07/schema#",
598
- "title": "name result schema",
1594
+ "title": "hubbard_j context item schema",
599
1595
  "type": "object",
1596
+ "required": [
1597
+ "name",
1598
+ "isEdited",
1599
+ "data",
1600
+ "extraData"
1601
+ ],
600
1602
  "properties": {
601
1603
  "name": {
602
- "description": "The name of this item. e.g. scf_accuracy",
603
- "type": "string"
1604
+ "type": "string",
1605
+ "const": "hubbard_j"
1606
+ },
1607
+ "data": {
1608
+ "$schema": "http://json-schema.org/draft-07/schema#",
1609
+ "title": "Hubbard J Context Provider Schema",
1610
+ "description": "Hubbard parameters for DFT+U+J calculation.",
1611
+ "type": "array",
1612
+ "minItems": 1,
1613
+ "items": {
1614
+ "type": "object",
1615
+ "properties": {
1616
+ "paramType": {
1617
+ "type": "string",
1618
+ "title": "Species",
1619
+ "enum": [
1620
+ "U",
1621
+ "J",
1622
+ "B",
1623
+ "E2",
1624
+ "E3"
1625
+ ]
1626
+ },
1627
+ "atomicSpecies": {
1628
+ "type": "string",
1629
+ "title": "Species"
1630
+ },
1631
+ "atomicOrbital": {
1632
+ "type": "string",
1633
+ "title": "Orbital"
1634
+ },
1635
+ "value": {
1636
+ "type": "number",
1637
+ "title": "Value (eV)"
1638
+ }
1639
+ }
1640
+ }
1641
+ },
1642
+ "isEdited": {
1643
+ "type": "boolean"
1644
+ },
1645
+ "extraData": {
1646
+ "type": "object"
604
1647
  }
605
- },
606
- "additionalProperties": true,
1648
+ }
1649
+ },
1650
+ {
1651
+ "$schema": "http://json-schema.org/draft-07/schema#",
1652
+ "title": "hubbard_u context item schema",
1653
+ "type": "object",
607
1654
  "required": [
608
- "name"
609
- ]
1655
+ "name",
1656
+ "isEdited",
1657
+ "data",
1658
+ "extraData"
1659
+ ],
1660
+ "properties": {
1661
+ "name": {
1662
+ "type": "string",
1663
+ "const": "hubbard_u"
1664
+ },
1665
+ "data": {
1666
+ "$schema": "http://json-schema.org/draft-07/schema#",
1667
+ "title": "Hubbard U Context Provider Schema",
1668
+ "description": "Hubbard U parameters for DFT+U or DFT+U+V calculation.",
1669
+ "type": "array",
1670
+ "items": {
1671
+ "type": "object",
1672
+ "properties": {
1673
+ "atomicSpecies": {
1674
+ "type": "string",
1675
+ "title": "Atomic species"
1676
+ },
1677
+ "atomicOrbital": {
1678
+ "type": "string",
1679
+ "title": "Atomic orbital"
1680
+ },
1681
+ "hubbardUValue": {
1682
+ "type": "number",
1683
+ "title": "Hubbard U (eV)"
1684
+ }
1685
+ }
1686
+ }
1687
+ },
1688
+ "extraData": {
1689
+ "$schema": "http://json-schema.org/draft-07/schema#",
1690
+ "title": "extraData with materialHash schema",
1691
+ "type": "object",
1692
+ "required": [
1693
+ "materialHash"
1694
+ ],
1695
+ "properties": {
1696
+ "materialHash": {
1697
+ "type": "string"
1698
+ }
1699
+ }
1700
+ },
1701
+ "isEdited": {
1702
+ "type": "boolean"
1703
+ }
1704
+ }
610
1705
  },
611
1706
  {
612
1707
  "$schema": "http://json-schema.org/draft-07/schema#",
613
- "title": "RuntimeItemString",
614
- "description": "name of runtime item in shortened notation",
615
- "type": "string"
616
- }
617
- ]
618
- }
619
- },
620
- "monitors": {
621
- "description": "names of the monitors for this calculation",
622
- "type": "array",
623
- "items": {
624
- "$schema": "http://json-schema.org/draft-07/schema#",
625
- "title": "runtime item schema",
626
- "oneOf": [
1708
+ "title": "hubbard_v context item schema",
1709
+ "type": "object",
1710
+ "required": [
1711
+ "name",
1712
+ "isEdited",
1713
+ "data",
1714
+ "extraData"
1715
+ ],
1716
+ "properties": {
1717
+ "name": {
1718
+ "type": "string",
1719
+ "const": "hubbard_v"
1720
+ },
1721
+ "data": {
1722
+ "$schema": "http://json-schema.org/draft-07/schema#",
1723
+ "title": "Hubbard V Context Provider Schema",
1724
+ "description": "Hubbard V parameters for DFT+U+V calculation.",
1725
+ "type": "array",
1726
+ "minItems": 1,
1727
+ "items": {
1728
+ "type": "object",
1729
+ "properties": {
1730
+ "atomicSpecies": {
1731
+ "type": "string",
1732
+ "title": "Species 1"
1733
+ },
1734
+ "siteIndex": {
1735
+ "type": "integer",
1736
+ "title": "Site no 1"
1737
+ },
1738
+ "atomicOrbital": {
1739
+ "type": "string",
1740
+ "title": "Orbital 1"
1741
+ },
1742
+ "atomicSpecies2": {
1743
+ "type": "string",
1744
+ "title": "Species 2"
1745
+ },
1746
+ "siteIndex2": {
1747
+ "type": "integer",
1748
+ "title": "Site no 2"
1749
+ },
1750
+ "atomicOrbital2": {
1751
+ "type": "string",
1752
+ "title": "Orbital 2"
1753
+ },
1754
+ "hubbardVValue": {
1755
+ "type": "number",
1756
+ "title": "V (eV)"
1757
+ }
1758
+ }
1759
+ }
1760
+ },
1761
+ "isEdited": {
1762
+ "type": "boolean"
1763
+ },
1764
+ "extraData": {
1765
+ "type": "object"
1766
+ }
1767
+ }
1768
+ },
627
1769
  {
628
1770
  "$schema": "http://json-schema.org/draft-07/schema#",
629
- "title": "name result schema",
1771
+ "title": "hubbard_legacy context item schema",
630
1772
  "type": "object",
1773
+ "required": [
1774
+ "name",
1775
+ "isEdited",
1776
+ "data",
1777
+ "extraData"
1778
+ ],
631
1779
  "properties": {
632
1780
  "name": {
633
- "description": "The name of this item. e.g. scf_accuracy",
634
- "type": "string"
1781
+ "type": "string",
1782
+ "const": "hubbard_legacy"
1783
+ },
1784
+ "data": {
1785
+ "$schema": "http://json-schema.org/draft-07/schema#",
1786
+ "title": "Hubbard Legacy Context Provider Schema",
1787
+ "description": "Hubbard parameters for DFT+U calculation.",
1788
+ "type": "array",
1789
+ "uniqueItems": true,
1790
+ "minItems": 1,
1791
+ "items": {
1792
+ "type": "object",
1793
+ "properties": {
1794
+ "atomicSpecies": {
1795
+ "type": "string",
1796
+ "title": "Atomic species"
1797
+ },
1798
+ "atomicSpeciesIndex": {
1799
+ "type": "integer",
1800
+ "title": "Species index"
1801
+ },
1802
+ "hubbardUValue": {
1803
+ "type": "number",
1804
+ "title": "Hubbard U (eV)"
1805
+ }
1806
+ }
1807
+ }
1808
+ },
1809
+ "isEdited": {
1810
+ "type": "boolean"
1811
+ },
1812
+ "extraData": {
1813
+ "type": "object"
635
1814
  }
636
- },
637
- "additionalProperties": true,
1815
+ }
1816
+ },
1817
+ {
1818
+ "$schema": "http://json-schema.org/draft-07/schema#",
1819
+ "title": "neb context item schema",
1820
+ "type": "object",
638
1821
  "required": [
639
- "name"
640
- ]
1822
+ "name",
1823
+ "isEdited",
1824
+ "data",
1825
+ "extraData"
1826
+ ],
1827
+ "properties": {
1828
+ "name": {
1829
+ "type": "string",
1830
+ "const": "neb"
1831
+ },
1832
+ "data": {
1833
+ "$schema": "http://json-schema.org/draft-07/schema#",
1834
+ "title": "NEB Data Provider Schema",
1835
+ "description": "Number of intermediate NEB images.",
1836
+ "type": "object",
1837
+ "properties": {
1838
+ "nImages": {
1839
+ "type": "number"
1840
+ }
1841
+ }
1842
+ },
1843
+ "isEdited": {
1844
+ "type": "boolean"
1845
+ },
1846
+ "extraData": {
1847
+ "type": "object"
1848
+ }
1849
+ }
641
1850
  },
642
1851
  {
643
1852
  "$schema": "http://json-schema.org/draft-07/schema#",
644
- "title": "RuntimeItemString",
645
- "description": "name of runtime item in shortened notation",
646
- "type": "string"
647
- }
648
- ]
649
- }
650
- },
651
- "results": {
652
- "description": "names of the results for this calculation",
653
- "type": "array",
654
- "items": {
655
- "$schema": "http://json-schema.org/draft-07/schema#",
656
- "title": "runtime item schema",
657
- "oneOf": [
1853
+ "title": "boundaryConditions context item schema",
1854
+ "type": "object",
1855
+ "required": [
1856
+ "name",
1857
+ "isEdited",
1858
+ "data",
1859
+ "extraData"
1860
+ ],
1861
+ "properties": {
1862
+ "name": {
1863
+ "type": "string",
1864
+ "const": "boundaryConditions"
1865
+ },
1866
+ "data": {
1867
+ "$schema": "http://json-schema.org/draft-07/schema#",
1868
+ "title": "Boundary Conditions Data Provider Schema",
1869
+ "type": "object",
1870
+ "properties": {
1871
+ "type": {
1872
+ "type": "string",
1873
+ "enum": [
1874
+ "pbc",
1875
+ "bc1",
1876
+ "bc2",
1877
+ "bc3"
1878
+ ],
1879
+ "default": "pbc",
1880
+ "description": "If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab."
1881
+ },
1882
+ "offset": {
1883
+ "type": "number"
1884
+ },
1885
+ "electricField": {
1886
+ "type": "number",
1887
+ "title": "Electric Field (eV/A)"
1888
+ },
1889
+ "targetFermiEnergy": {
1890
+ "type": "number",
1891
+ "title": "Target Fermi Energy (eV)"
1892
+ }
1893
+ }
1894
+ },
1895
+ "extraData": {
1896
+ "$schema": "http://json-schema.org/draft-07/schema#",
1897
+ "title": "extraData with materialHash schema",
1898
+ "type": "object",
1899
+ "required": [
1900
+ "materialHash"
1901
+ ],
1902
+ "properties": {
1903
+ "materialHash": {
1904
+ "type": "string"
1905
+ }
1906
+ }
1907
+ },
1908
+ "isEdited": {
1909
+ "type": "boolean"
1910
+ }
1911
+ }
1912
+ },
658
1913
  {
659
1914
  "$schema": "http://json-schema.org/draft-07/schema#",
660
- "title": "name result schema",
1915
+ "title": "mlSettings context item schema",
661
1916
  "type": "object",
1917
+ "required": [
1918
+ "name",
1919
+ "isEdited",
1920
+ "data",
1921
+ "extraData"
1922
+ ],
662
1923
  "properties": {
663
1924
  "name": {
664
- "description": "The name of this item. e.g. scf_accuracy",
665
- "type": "string"
1925
+ "type": "string",
1926
+ "const": "mlSettings"
1927
+ },
1928
+ "data": {
1929
+ "$schema": "http://json-schema.org/draft-07/schema#",
1930
+ "title": "ML Settings Context Provider Schema",
1931
+ "description": "Settings important to machine learning runs.",
1932
+ "type": "object",
1933
+ "properties": {
1934
+ "target_column_name": {
1935
+ "type": "string"
1936
+ },
1937
+ "problem_category": {
1938
+ "type": "string",
1939
+ "enum": [
1940
+ "regression",
1941
+ "classification",
1942
+ "clustering"
1943
+ ]
1944
+ }
1945
+ }
1946
+ },
1947
+ "isEdited": {
1948
+ "type": "boolean"
1949
+ },
1950
+ "extraData": {
1951
+ "type": "object"
666
1952
  }
667
- },
668
- "additionalProperties": true,
1953
+ }
1954
+ },
1955
+ {
1956
+ "$schema": "http://json-schema.org/draft-07/schema#",
1957
+ "title": "mlTrainTestSplit context item schema",
1958
+ "type": "object",
669
1959
  "required": [
670
- "name"
671
- ]
1960
+ "name",
1961
+ "isEdited",
1962
+ "data",
1963
+ "extraData"
1964
+ ],
1965
+ "properties": {
1966
+ "name": {
1967
+ "type": "string",
1968
+ "const": "mlTrainTestSplit"
1969
+ },
1970
+ "data": {
1971
+ "$schema": "http://json-schema.org/draft-07/schema#",
1972
+ "title": "ML Train Test Split Context Provider Schema",
1973
+ "description": "Fraction held as the test set. For example, a value of 0.2 corresponds to an 80/20 train/test split.",
1974
+ "type": "object",
1975
+ "properties": {
1976
+ "fraction_held_as_test_set": {
1977
+ "type": "number",
1978
+ "minimum": 0,
1979
+ "maximum": 1
1980
+ }
1981
+ }
1982
+ },
1983
+ "isEdited": {
1984
+ "type": "boolean"
1985
+ },
1986
+ "extraData": {
1987
+ "type": "object"
1988
+ }
1989
+ }
672
1990
  },
673
1991
  {
674
1992
  "$schema": "http://json-schema.org/draft-07/schema#",
675
- "title": "RuntimeItemString",
676
- "description": "name of runtime item in shortened notation",
677
- "type": "string"
678
- }
679
- ]
680
- }
681
- },
682
- "tags": {
683
- "description": "entity tags",
684
- "type": "array",
685
- "items": {
686
- "type": "string"
687
- }
688
- },
689
- "statusTrack": {
690
- "type": "array",
691
- "items": {
692
- "type": "object",
693
- "required": [
694
- "trackedAt",
695
- "status"
696
- ],
697
- "properties": {
698
- "trackedAt": {
699
- "type": "number"
1993
+ "title": "dynamics context item schema",
1994
+ "type": "object",
1995
+ "required": [
1996
+ "name",
1997
+ "isEdited",
1998
+ "data",
1999
+ "extraData"
2000
+ ],
2001
+ "properties": {
2002
+ "name": {
2003
+ "type": "string",
2004
+ "const": "dynamics"
2005
+ },
2006
+ "data": {
2007
+ "$schema": "http://json-schema.org/draft-07/schema#",
2008
+ "title": "Ion Dynamics Context Provider Schema",
2009
+ "description": "Important parameters for molecular dynamics calculation",
2010
+ "type": "object",
2011
+ "properties": {
2012
+ "numberOfSteps": {
2013
+ "type": "integer",
2014
+ "title": "numberOfSteps"
2015
+ },
2016
+ "timeStep": {
2017
+ "type": "number",
2018
+ "title": "timeStep (Hartree a.u.)"
2019
+ },
2020
+ "electronMass": {
2021
+ "type": "number",
2022
+ "title": "Effective electron mass"
2023
+ },
2024
+ "temperature": {
2025
+ "type": "number",
2026
+ "title": "Ionic temperature (K)"
2027
+ }
2028
+ }
2029
+ },
2030
+ "isEdited": {
2031
+ "type": "boolean"
2032
+ },
2033
+ "extraData": {
2034
+ "type": "object"
2035
+ }
2036
+ }
700
2037
  },
701
- "status": {
702
- "type": "string"
2038
+ {
2039
+ "$schema": "http://json-schema.org/draft-07/schema#",
2040
+ "title": "collinearMagnetization context item schema",
2041
+ "type": "object",
2042
+ "required": [
2043
+ "name",
2044
+ "isEdited",
2045
+ "data",
2046
+ "extraData"
2047
+ ],
2048
+ "properties": {
2049
+ "name": {
2050
+ "type": "string",
2051
+ "const": "collinearMagnetization"
2052
+ },
2053
+ "data": {
2054
+ "$schema": "http://json-schema.org/draft-07/schema#",
2055
+ "title": "Collinear Magnetization Context Provider Schema",
2056
+ "description": "Set starting magnetization, can have values in the range [-1, +1].",
2057
+ "type": "object",
2058
+ "required": [
2059
+ "startingMagnetization",
2060
+ "isTotalMagnetization",
2061
+ "totalMagnetization"
2062
+ ],
2063
+ "properties": {
2064
+ "startingMagnetization": {
2065
+ "type": "array",
2066
+ "items": {
2067
+ "type": "object",
2068
+ "required": [
2069
+ "atomicSpecies",
2070
+ "value",
2071
+ "index"
2072
+ ],
2073
+ "properties": {
2074
+ "atomicSpecies": {
2075
+ "type": "string",
2076
+ "title": "Atomic species"
2077
+ },
2078
+ "value": {
2079
+ "type": "number",
2080
+ "title": "Starting magnetization",
2081
+ "minimum": -1,
2082
+ "maximum": 1
2083
+ },
2084
+ "index": {
2085
+ "type": "integer",
2086
+ "title": "Index"
2087
+ }
2088
+ }
2089
+ }
2090
+ },
2091
+ "isTotalMagnetization": {
2092
+ "type": "boolean",
2093
+ "title": "Set total magnetization instead"
2094
+ },
2095
+ "totalMagnetization": {
2096
+ "type": "number",
2097
+ "title": "Total magnetization"
2098
+ }
2099
+ }
2100
+ },
2101
+ "extraData": {
2102
+ "$schema": "http://json-schema.org/draft-07/schema#",
2103
+ "title": "extraData with materialHash schema",
2104
+ "type": "object",
2105
+ "required": [
2106
+ "materialHash"
2107
+ ],
2108
+ "properties": {
2109
+ "materialHash": {
2110
+ "type": "string"
2111
+ }
2112
+ }
2113
+ },
2114
+ "isEdited": {
2115
+ "type": "boolean"
2116
+ }
2117
+ }
703
2118
  },
704
- "repetition": {
705
- "type": "number"
2119
+ {
2120
+ "$schema": "http://json-schema.org/draft-07/schema#",
2121
+ "title": "nonCollinearMagnetization context item schema",
2122
+ "type": "object",
2123
+ "required": [
2124
+ "name",
2125
+ "isEdited",
2126
+ "data",
2127
+ "extraData"
2128
+ ],
2129
+ "properties": {
2130
+ "name": {
2131
+ "type": "string",
2132
+ "const": "nonCollinearMagnetization"
2133
+ },
2134
+ "data": {
2135
+ "$schema": "http://json-schema.org/draft-07/schema#",
2136
+ "title": "Non Collinear Magnetization Context Provider Schema",
2137
+ "description": "Non-collinear magnetization parameters including starting magnetization, spin angles, and constraints.",
2138
+ "type": "object",
2139
+ "properties": {
2140
+ "isExistingChargeDensity": {
2141
+ "type": "boolean",
2142
+ "title": "Use existing charge density"
2143
+ },
2144
+ "isStartingMagnetization": {
2145
+ "type": "boolean",
2146
+ "title": "Set starting magnetization"
2147
+ },
2148
+ "startingMagnetization": {
2149
+ "type": "array",
2150
+ "items": {
2151
+ "type": "object",
2152
+ "properties": {
2153
+ "index": {
2154
+ "type": "integer",
2155
+ "title": "Index"
2156
+ },
2157
+ "atomicSpecies": {
2158
+ "type": "string",
2159
+ "title": "Atomic species"
2160
+ },
2161
+ "value": {
2162
+ "type": "number",
2163
+ "title": "Starting magnetization"
2164
+ }
2165
+ }
2166
+ }
2167
+ },
2168
+ "isArbitrarySpinAngle": {
2169
+ "type": "boolean",
2170
+ "title": "Set arbitrary spin angle"
2171
+ },
2172
+ "isArbitrarySpinDirection": {
2173
+ "type": "boolean",
2174
+ "title": "Set arbitrary spin direction"
2175
+ },
2176
+ "lforcet": {
2177
+ "type": "boolean"
2178
+ },
2179
+ "spinAngles": {
2180
+ "type": "array",
2181
+ "items": {
2182
+ "type": "object",
2183
+ "properties": {
2184
+ "index": {
2185
+ "type": "integer",
2186
+ "title": "Index"
2187
+ },
2188
+ "atomicSpecies": {
2189
+ "type": "string",
2190
+ "title": "Atomic species"
2191
+ },
2192
+ "angle1": {
2193
+ "type": "number",
2194
+ "title": "Angle1 (deg)"
2195
+ },
2196
+ "angle2": {
2197
+ "type": "number",
2198
+ "title": "Angle2 (deg)"
2199
+ }
2200
+ }
2201
+ }
2202
+ },
2203
+ "isConstrainedMagnetization": {
2204
+ "type": "boolean",
2205
+ "title": "Set constrained magnetization"
2206
+ },
2207
+ "constrainedMagnetization": {
2208
+ "type": "object",
2209
+ "properties": {
2210
+ "constrainType": {
2211
+ "type": "string",
2212
+ "title": "Constrain type",
2213
+ "enum": [
2214
+ "none",
2215
+ "total",
2216
+ "atomic",
2217
+ "total direction",
2218
+ "atomic direction"
2219
+ ]
2220
+ },
2221
+ "lambda": {
2222
+ "type": "number",
2223
+ "title": "lambda"
2224
+ }
2225
+ }
2226
+ },
2227
+ "isFixedMagnetization": {
2228
+ "type": "boolean",
2229
+ "title": "Set Fixed magnetization (only applicable to constrained magnetization of 'total' type)"
2230
+ },
2231
+ "fixedMagnetization": {
2232
+ "type": "object",
2233
+ "properties": {
2234
+ "x": {
2235
+ "type": "number",
2236
+ "title": "X-component"
2237
+ },
2238
+ "y": {
2239
+ "type": "number",
2240
+ "title": "Y-component"
2241
+ },
2242
+ "z": {
2243
+ "type": "number",
2244
+ "title": "Z-component"
2245
+ }
2246
+ }
2247
+ }
2248
+ }
2249
+ },
2250
+ "extraData": {
2251
+ "$schema": "http://json-schema.org/draft-07/schema#",
2252
+ "title": "extraData with materialHash schema",
2253
+ "type": "object",
2254
+ "required": [
2255
+ "materialHash"
2256
+ ],
2257
+ "properties": {
2258
+ "materialHash": {
2259
+ "type": "string"
2260
+ }
2261
+ }
2262
+ },
2263
+ "isEdited": {
2264
+ "type": "boolean"
2265
+ }
2266
+ }
706
2267
  }
2268
+ ],
2269
+ "discriminator": {
2270
+ "propertyName": "name"
707
2271
  }
708
2272
  }
709
2273
  }