@mat3ra/esse 2025.7.1-0 → 2025.7.29-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +4 -4
  2. package/dist/js/example/core/abstract/vector_2d.json +4 -0
  3. package/dist/js/example/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +693 -0
  4. package/dist/js/example/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +566 -0
  5. package/dist/js/example/materials_category/defective_structures/two_dimensional/adatom/configuration.json +553 -0
  6. package/dist/js/example/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +693 -0
  7. package/dist/js/example/materials_category/defective_structures/two_dimensional/island/configuration.json +841 -0
  8. package/dist/js/example/materials_category/defective_structures/two_dimensional/terrace/configuration.json +846 -0
  9. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json +271 -0
  10. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json +271 -0
  11. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json +271 -0
  12. package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json +136 -0
  13. package/dist/js/example/materials_category/pristine_structures/two_dimensional/nanoribbon.json +419 -0
  14. package/dist/js/example/materials_category/pristine_structures/two_dimensional/nanotape.json +282 -0
  15. package/dist/js/example/materials_category/pristine_structures/two_dimensional/slab.json +1 -11
  16. package/dist/js/example/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json +305 -0
  17. package/dist/js/example/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.json +306 -0
  18. package/dist/js/example/materials_category/processed_structures/two_dimensional/passivation/configuration.json +551 -0
  19. package/dist/js/example/materials_category_components/entities/auxiliary/one_dimensional/miller_indices_2d.json +4 -0
  20. package/dist/js/example/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +128 -0
  21. package/dist/js/example/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json +138 -0
  22. package/dist/js/example/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json +135 -0
  23. package/dist/js/example/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json +145 -0
  24. package/dist/js/example/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json +547 -0
  25. package/dist/js/example/materials_category_components/operations/core/combinations/merge.json +1 -1
  26. package/dist/js/example/materials_category_components/operations/core/modifications/perturb.json +131 -0
  27. package/dist/js/schema/core/abstract/vector_2d.json +11 -0
  28. package/dist/js/schema/core/primitive/array_of_2_numbers.json +11 -0
  29. package/dist/js/schema/job.json +14 -0
  30. package/dist/js/schema/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +11616 -0
  31. package/dist/js/schema/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +11622 -0
  32. package/dist/js/schema/materials_category/defective_structures/two_dimensional/adatom/configuration.json +3517 -0
  33. package/dist/js/schema/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +11616 -0
  34. package/dist/js/schema/materials_category/defective_structures/two_dimensional/island/configuration.json +5197 -0
  35. package/dist/js/schema/materials_category/defective_structures/two_dimensional/terrace/configuration.json +5214 -0
  36. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json +787 -0
  37. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json +1722 -0
  38. package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json +1722 -0
  39. package/dist/js/schema/{materials_category_components/operations/core/combinations/stack_component.json → materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json} +46 -790
  40. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanoribbon.json +2734 -0
  41. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanotape.json +1917 -0
  42. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab.json +1595 -1622
  43. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json +1810 -0
  44. package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.json +1815 -0
  45. package/dist/js/schema/{materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.json → materials_category/processed_structures/two_dimensional/passivation/configuration.json} +1003 -907
  46. package/dist/js/schema/materials_category_components/entities/auxiliary/one_dimensional/miller_indices_2d.json +12 -0
  47. package/dist/js/schema/materials_category_components/entities/auxiliary/two_dimensional/termination.json +1 -0
  48. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +757 -0
  49. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json +936 -0
  50. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/void_region.json +821 -0
  51. package/dist/js/schema/materials_category_components/entities/core/zero_dimensional/vacancy.json +20 -0
  52. package/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json +785 -0
  53. package/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json +1100 -0
  54. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.json +773 -0
  55. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers.json +18 -18
  56. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json +18 -18
  57. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json +18 -18
  58. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json +17 -18
  59. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json +2585 -0
  60. package/dist/js/schema/materials_category_components/operations/core/combinations/enums.json +12 -0
  61. package/dist/js/schema/materials_category_components/operations/core/combinations/merge.json +12 -1627
  62. package/dist/js/schema/materials_category_components/operations/core/combinations/stack.json +3 -1551
  63. package/dist/js/schema/materials_category_components/operations/core/modifications/perturb.json +768 -0
  64. package/dist/js/schema/software/flavor.json +7 -0
  65. package/dist/js/schema/software_directory/ml/unit/execution/evaluate/cross_validate.json +7 -0
  66. package/dist/js/schema/software_directory/ml/unit/execution/initialize.json +7 -0
  67. package/dist/js/schema/software_directory/ml/unit/execution/score.json +7 -0
  68. package/dist/js/schema/software_directory/ml/unit/execution/train.json +7 -0
  69. package/dist/js/schema/software_directory/ml/unit/execution.json +28 -0
  70. package/dist/js/schema/software_directory/modeling/unit/execution.json +7 -0
  71. package/dist/js/schema/software_directory/scripting/unit/execution.json +7 -0
  72. package/dist/js/schema/workflow/subworkflow/unit.json +7 -0
  73. package/dist/js/schema/workflow/subworkflow.json +7 -0
  74. package/dist/js/schema/workflow/unit/execution.json +7 -0
  75. package/dist/js/schema/workflow/unit.json +7 -0
  76. package/dist/js/schema/workflow.json +14 -0
  77. package/dist/js/schemas.json +1 -1
  78. package/dist/js/types.d.ts +31925 -4987
  79. package/example/core/abstract/vector_2d.json +4 -0
  80. package/example/materials_category/compound_pristine_structures/two-dimensional/interface/configuration.json +18 -0
  81. package/example/materials_category/defective_structures/one-dimensional/grain_boundary_linear/configuration.json +16 -0
  82. package/example/materials_category/defective_structures/two-dimensional/adatom/configuration.json +24 -0
  83. package/example/materials_category/defective_structures/two-dimensional/grain_boundary_planar/configuration.json +18 -0
  84. package/example/materials_category/defective_structures/two-dimensional/island/configuration.json +37 -0
  85. package/example/materials_category/defective_structures/two-dimensional/terrace/configuration.json +42 -0
  86. package/example/materials_category/defective_structures/zero-dimensional/point_defect/base_configuration.json +19 -0
  87. package/example/materials_category/defective_structures/zero-dimensional/point_defect/interstitial.json +21 -0
  88. package/example/materials_category/defective_structures/zero-dimensional/point_defect/substitutional.json +21 -0
  89. package/example/materials_category/defective_structures/zero-dimensional/point_defect/vacancy.json +11 -0
  90. package/example/materials_category/pristine_structures/two-dimensional/nanoribbon.json +42 -0
  91. package/example/materials_category/pristine_structures/two-dimensional/nanotape.json +30 -0
  92. package/example/materials_category/pristine_structures/two-dimensional/slab.json +1 -11
  93. package/example/materials_category/pristine_structures/two-dimensional/slab_strained_supercell.json +55 -0
  94. package/example/materials_category/pristine_structures/two-dimensional/slab_strained_supercell_with_gap.json +56 -0
  95. package/example/materials_category/processed_structures/two-dimensional/passivation/configuration.json +45 -0
  96. package/example/materials_category_components/entities/auxiliary/one-dimensional/miller_indices_2d.json +2 -0
  97. package/example/materials_category_components/entities/auxiliary/zero-dimensional/crystal_site.json +7 -2
  98. package/example/materials_category_components/entities/auxiliary/zero-dimensional/point_defect_site.json +11 -0
  99. package/example/materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines.json +8 -0
  100. package/example/materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines_unique_repeated.json +18 -0
  101. package/example/materials_category_components/entities/reusable/two-dimensional/slab_stack_configuration.json +22 -0
  102. package/example/materials_category_components/operations/core/combinations/merge.json +2 -2
  103. package/example/materials_category_components/operations/core/modifications/perturb.json +6 -0
  104. package/package.json +1 -1
  105. package/schema/core/abstract/vector_2d.json +10 -0
  106. package/schema/core/primitive/array_of_2_numbers.json +11 -0
  107. package/schema/materials_category/compound_pristine_structures/two-dimensional/interface/configuration.json +65 -0
  108. package/schema/materials_category/defective_structures/one-dimensional/grain_boundary_linear/configuration.json +34 -0
  109. package/schema/materials_category/defective_structures/two-dimensional/adatom/configuration.json +26 -0
  110. package/schema/materials_category/defective_structures/two-dimensional/grain_boundary_planar/configuration.json +16 -0
  111. package/schema/materials_category/defective_structures/two-dimensional/island/configuration.json +48 -0
  112. package/schema/materials_category/defective_structures/two-dimensional/terrace/configuration.json +55 -0
  113. package/schema/materials_category/defective_structures/zero-dimensional/point_defect/base_configuration.json +30 -0
  114. package/schema/materials_category/defective_structures/zero-dimensional/point_defect/interstitial.json +23 -0
  115. package/schema/materials_category/defective_structures/zero-dimensional/point_defect/substitutional.json +23 -0
  116. package/schema/materials_category/defective_structures/zero-dimensional/point_defect/vacancy.json +23 -0
  117. package/schema/materials_category/manifest.yaml +53 -156
  118. package/schema/materials_category/pristine_structures/two-dimensional/nanoribbon.json +29 -0
  119. package/schema/materials_category/pristine_structures/two-dimensional/nanotape.json +29 -0
  120. package/schema/materials_category/pristine_structures/two-dimensional/slab.json +18 -6
  121. package/schema/materials_category/pristine_structures/two-dimensional/slab_strained_supercell.json +25 -0
  122. package/schema/materials_category/pristine_structures/two-dimensional/slab_strained_supercell_with_gap.json +18 -0
  123. package/schema/materials_category/processed_structures/two-dimensional/passivation/configuration.json +45 -0
  124. package/schema/materials_category_components/entities/auxiliary/one-dimensional/miller_indices_2d.json +13 -0
  125. package/schema/materials_category_components/entities/auxiliary/two-dimensional/termination.json +1 -0
  126. package/schema/materials_category_components/entities/auxiliary/zero-dimensional/crystal_site.json +4 -0
  127. package/schema/materials_category_components/entities/auxiliary/zero-dimensional/point_defect_site.json +30 -0
  128. package/schema/materials_category_components/entities/auxiliary/zero-dimensional/void_region.json +18 -0
  129. package/schema/materials_category_components/entities/core/zero-dimensional/vacancy.json +20 -0
  130. package/schema/materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines.json +20 -0
  131. package/schema/materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines_unique_repeated.json +37 -0
  132. package/schema/materials_category_components/entities/reusable/three-dimensional/crystal_lattice_base.json +20 -0
  133. package/schema/materials_category_components/entities/reusable/two-dimensional/crystal_lattice_planes.json +6 -11
  134. package/schema/materials_category_components/entities/reusable/two-dimensional/slab_stack_configuration.json +32 -0
  135. package/schema/materials_category_components/operations/core/combinations/enums.json +12 -0
  136. package/schema/materials_category_components/operations/core/combinations/merge.json +9 -23
  137. package/schema/materials_category_components/operations/core/combinations/stack.json +3 -5
  138. package/schema/materials_category_components/operations/core/modifications/perturb.json +16 -0
  139. package/schema/software/flavor.json +7 -0
  140. package/dist/js/example/materials_category_components/operations/core/combinations/stack_component.json +0 -128
  141. package/example/materials_category_components/operations/core/combinations/stack_component.json +0 -3
  142. package/schema/materials_category_components/entities/reusable/two-dimensional/slab_unit_cell.json +0 -33
  143. package/schema/materials_category_components/operations/core/combinations/stack_component.json +0 -14
@@ -0,0 +1,29 @@
1
+ {
2
+ "$id": "materials-category/pristine-structures/two-dimensional/nanoribbon",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Nanoribbon Configuration Schema",
5
+ "description": "A nanoribbon unit cell consisting of nanotape and vacuum stacked in X direction.",
6
+ "allOf": [
7
+ {
8
+ "$ref": "../../../materials_category_components/operations/core/combinations/stack.json"
9
+ }
10
+ ],
11
+ "properties": {
12
+ "stack_components": {
13
+ "type": "array",
14
+ "minItems": 2,
15
+ "maxItems": 2,
16
+ "items": [
17
+ {
18
+ "$ref": "nanotape.json"
19
+ },
20
+ {
21
+ "$ref": "../../../materials_category_components/entities/core/two-dimensional/vacuum.json"
22
+ }
23
+ ]
24
+ },
25
+ "direction": {
26
+ "default": "x"
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "$id": "materials-category/pristine-structures/two-dimensional/nanotape",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "NanoTape Configuration Schema",
5
+ "description": "A nanotape unit cell consisting of crystal lattice lines and vacuum stacked in Y direction.",
6
+ "allOf": [
7
+ {
8
+ "$ref": "../../../materials_category_components/operations/core/combinations/stack.json"
9
+ }
10
+ ],
11
+ "properties": {
12
+ "stack_components": {
13
+ "type": "array",
14
+ "minItems": 2,
15
+ "maxItems": 2,
16
+ "items": [
17
+ {
18
+ "$ref": "../../../materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines_unique_repeated.json"
19
+ },
20
+ {
21
+ "$ref": "../../../materials_category_components/entities/core/two-dimensional/vacuum.json"
22
+ }
23
+ ]
24
+ },
25
+ "direction": {
26
+ "default": "y"
27
+ }
28
+ }
29
+ }
@@ -2,16 +2,28 @@
2
2
  "$id": "materials-category/pristine-structures/two-dimensional/slab",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Slab Configuration Schema",
5
- "description": "A slab structure configuration that can optionally include a supercell transformation in the xy plane",
5
+ "description": "A slab unit cell consisting of repeated unique atomic layers and vacuum.",
6
6
  "allOf": [
7
7
  {
8
- "$ref": "../../../materials_category_components/entities/reusable/two-dimensional/slab_unit_cell.json"
8
+ "$ref": "../../../materials_category_components/operations/core/combinations/stack.json"
9
9
  }
10
10
  ],
11
11
  "properties": {
12
- "xy_supercell_matrix": {
13
- "$ref": "../../../materials_category_components/entities/auxiliary/two-dimensional/supercell_matrix_2d.json",
14
- "description": "Optional 2x2 transformation matrix for creating a supercell in the xy plane"
12
+ "stack_components": {
13
+ "type": "array",
14
+ "minItems": 2,
15
+ "maxItems": 2,
16
+ "items": [
17
+ {
18
+ "$ref": "../../../materials_category_components/entities/reusable/two-dimensional/atomic_layers_unique_repeated.json"
19
+ },
20
+ {
21
+ "$ref": "../../../materials_category_components/entities/core/two-dimensional/vacuum.json"
22
+ }
23
+ ]
24
+ },
25
+ "direction": {
26
+ "default": "z"
15
27
  }
16
28
  }
17
- }
29
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "$id": "materials-category/pristine-structures/two-dimensional/slab-strained-supercell",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Slab Strained Supercell Configuration Schema",
5
+ "description": "A slab structure configuration with supercell transformation and strain matrix in the xy plane",
6
+ "allOf": [
7
+ {
8
+ "$ref": "slab.json"
9
+ }
10
+ ],
11
+ "properties": {
12
+ "xy_supercell_matrix": {
13
+ "$ref": "../../../materials_category_components/entities/auxiliary/two-dimensional/supercell_matrix_2d.json",
14
+ "description": "2x2 transformation matrix for creating a supercell in the xy plane"
15
+ },
16
+ "strain_matrix": {
17
+ "$ref": "../../../core/abstract/matrix_3x3.json",
18
+ "description": "3x3 strain matrix for deforming the structure"
19
+ }
20
+ },
21
+ "required": [
22
+ "xy_supercell_matrix",
23
+ "strain_matrix"
24
+ ]
25
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$id": "materials-category/pristine-structures/two-dimensional/slab-strained-supercell-with-gap",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Slab Strained Supercell with Gap Configuration Schema",
5
+ "description": "A slab structure configuration with supercell transformation, strain matrix, and optional gap for film positioning",
6
+ "allOf": [
7
+ {
8
+ "$ref": "slab_strained_supercell.json"
9
+ }
10
+ ],
11
+ "properties": {
12
+ "gap": {
13
+ "type": "number",
14
+ "description": "If provided, the film is shifted to have it as smallest distance to the substrate",
15
+ "minimum": 0
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "$id": "materials-category/processed-structures/two-dimensional/passivation/configuration",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Passivation Configuration Schema",
5
+ "description": "Configuration for a passivation that adds passivating atoms to a material surface.",
6
+ "allOf": [
7
+ {
8
+ "$ref": "../../../../materials_category_components/operations/core/combinations/merge.json"
9
+ }
10
+ ],
11
+ "properties": {
12
+ "merge_components": {
13
+ "type": "array",
14
+ "minItems": 2,
15
+ "items": {
16
+ "anyOf": [
17
+ {
18
+ "$ref": "../../../../material.json"
19
+ },
20
+ {
21
+ "$ref": "../../../../materials_category_components/entities/auxiliary/zero-dimensional/point_defect_site.json"
22
+ }
23
+ ]
24
+ }
25
+ },
26
+ "merge_method": {
27
+ "default": "ADD"
28
+ },
29
+ "passivant": {
30
+ "$ref": "../../../../materials_category_components/entities/core/zero-dimensional/atom.json",
31
+ "description": "The passivating element to add to the surface"
32
+ },
33
+ "bond_length": {
34
+ "type": "number",
35
+ "default": 1.0,
36
+ "description": "The bond length for the passivating atoms"
37
+ }
38
+ },
39
+ "required": [
40
+ "merge_components",
41
+ "merge_method",
42
+ "passivant",
43
+ "bond_length"
44
+ ]
45
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$id": "materials-category-components/entities/auxiliary/one-dimensional/miller-indices-2d",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "2D Miller Indices Schema",
5
+ "description": "2D Miller indices [u, v] defining crystallographic line directions",
6
+ "type": "array",
7
+ "minItems": 2,
8
+ "maxItems": 2,
9
+ "items": {
10
+ "type": "integer"
11
+ },
12
+ "description": "The (u,v) Miller indices for the line direction"
13
+ }
@@ -19,6 +19,7 @@
19
19
  },
20
20
  {
21
21
  "type": "string",
22
+ "description": "A string representing a stoichiometric formula for surface atoms of a plane, e.g. 'SrTiO', 'SrO', 'O2' or 'Hf2O'",
22
23
  "pattern": "^([A-Z][a-z]?[0-9]*)+$"
23
24
  }
24
25
  ]
@@ -5,11 +5,15 @@
5
5
  "description": "A site in a crystal that can be populated with an atom, vacancy, or void. Should be place in a target basis.",
6
6
  "type": "object",
7
7
  "properties": {
8
+ "crystal": {
9
+ "$ref": "../../../entities/core/three-dimensional/crystal.json"
10
+ },
8
11
  "coordinate": {
9
12
  "$ref": "../../../../core/abstract/coordinate_3d.json"
10
13
  }
11
14
  },
12
15
  "required": [
16
+ "crystal",
13
17
  "coordinate"
14
18
  ]
15
19
  }
@@ -0,0 +1,30 @@
1
+ {
2
+ "$id": "materials-category-components/entities/auxiliary/zero-dimensional/point-defect-site",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Point Defect Site Schema",
5
+ "description": "A crystal site with defect information (atom or vacancy) for point defects",
6
+ "type": "object",
7
+ "allOf": [
8
+ {
9
+ "$ref": "./crystal_site.json"
10
+ },
11
+ {
12
+ "type": "object",
13
+ "properties": {
14
+ "element": {
15
+ "anyOf": [
16
+ {
17
+ "$ref": "../../../entities/core/zero-dimensional/atom.json"
18
+ },
19
+ {
20
+ "$ref": "../../../entities/core/zero-dimensional/vacancy.json"
21
+ }
22
+ ]
23
+ }
24
+ },
25
+ "required": [
26
+ "element"
27
+ ]
28
+ }
29
+ ]
30
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$id": "materials-category-components/entities/auxiliary/zero-dimensional/void-region",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Void Region Schema",
5
+ "description": "A void region that applies coordinate condition to a crystal or slab and creates a void region",
6
+ "properties": {
7
+ "crystal": {
8
+ "$ref": "../../../../materials_category_components/entities/core/three-dimensional/crystal.json"
9
+ },
10
+ "coordinate_condition": {
11
+ "$ref": "../../../../core/reusable/coordinate_conditions/index.json"
12
+ }
13
+ },
14
+ "required": [
15
+ "crystal",
16
+ "coordinate_condition"
17
+ ]
18
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$id": "materials-category-components/entities/core/zero-dimensional/vacancy",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Vacancy Schema",
5
+ "description": "A chemical element that can be placed at a crystal site",
6
+ "type": "object",
7
+ "properties": {
8
+ "chemical_element": {
9
+ "allOf": [
10
+ {
11
+ "$ref": "../../../../definitions/chemical_elements.json#extra"
12
+ }
13
+ ],
14
+ "default": "Vac"
15
+ }
16
+ },
17
+ "required": [
18
+ "chemical_element"
19
+ ]
20
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$id": "materials-category-components/entities/reusable/one-dimensional/crystal-lattice-lines",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Crystal Lattice Lines Schema",
5
+ "description": "A set of crystal lattice lines defined by 2D Miller indices",
6
+ "type": "object",
7
+ "allOf": [
8
+ {
9
+ "$ref": "../three-dimensional/crystal_lattice_base.json"
10
+ }
11
+ ],
12
+ "properties": {
13
+ "miller_indices_2d": {
14
+ "$ref": "../../../entities/auxiliary/one-dimensional/miller_indices_2d.json"
15
+ }
16
+ },
17
+ "required": [
18
+ "miller_indices_2d"
19
+ ]
20
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$id": "materials-category-components/entities/reusable/one-dimensional/crystal-lattice-lines-unique-repeated",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Crystal Lattice Lines Unique Repeated Schema",
5
+ "description": "Crystal lattice lines unique with integer number of repetitions, forming a full periodic structure with terminations",
6
+ "type": "object",
7
+ "allOf": [
8
+ {
9
+ "$ref": "crystal_lattice_lines.json"
10
+ }
11
+ ],
12
+ "properties": {
13
+ "termination_top": {
14
+ "$ref": "../../../entities/auxiliary/two-dimensional/termination.json",
15
+ "description": "Termination of the top layer"
16
+ },
17
+ "termination_bottom": {
18
+ "$ref": "../../../entities/auxiliary/two-dimensional/termination.json",
19
+ "description": "Termination of the bottom layer"
20
+ },
21
+ "number_of_repetitions_width": {
22
+ "type": "integer",
23
+ "minimum": 1,
24
+ "default": 1,
25
+ "description": "Number of repetitions in width direction"
26
+ },
27
+ "number_of_repetitions_length": {
28
+ "type": "integer",
29
+ "minimum": 1,
30
+ "default": 1,
31
+ "description": "Number of repetitions in length direction"
32
+ }
33
+ },
34
+ "required": [
35
+ "termination_top"
36
+ ]
37
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "$id": "materials-category-components/entities/reusable/three-dimensional/crystal-lattice-base",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Crystal Lattice Base Schema",
5
+ "description": "Base schema for crystal lattice structures defined by crystal and miller indices",
6
+ "type": "object",
7
+ "properties": {
8
+ "crystal": {
9
+ "$ref": "../../core/three-dimensional/crystal.json"
10
+ },
11
+ "use_conventional_cell": {
12
+ "type": "boolean",
13
+ "description": "Use the conventional cell for the crystal structure",
14
+ "default": true
15
+ }
16
+ },
17
+ "required": [
18
+ "crystal"
19
+ ]
20
+ }
@@ -4,22 +4,17 @@
4
4
  "title": "Crystal Lattice Planes Schema",
5
5
  "description": "A set of all possible planes in a crystal defined by Miller indices",
6
6
  "type": "object",
7
+ "allOf": [
8
+ {
9
+ "$ref": "../three-dimensional/crystal_lattice_base.json"
10
+ }
11
+ ],
7
12
  "properties": {
8
- "crystal": {
9
- "$ref": "../../../entities/core/three-dimensional/crystal.json"
10
- },
11
13
  "miller_indices": {
12
14
  "$ref": "../../../entities/auxiliary/two-dimensional/miller_indices.json"
13
- },
14
- "use_conventional_cell": {
15
- "type": "boolean",
16
- "description": "Use the conventional cell for the crystal structure",
17
- "default": true
18
15
  }
19
16
  },
20
17
  "required": [
21
- "crystal",
22
- "miller_indices",
23
- "use_conventional_cell"
18
+ "miller_indices"
24
19
  ]
25
20
  }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$id": "materials-category-components/entities/reusable/two-dimensional/slab-stack-configuration",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Slab Stack Configuration Schema",
5
+ "description": "Base configuration for a slab stack with another component and vacuum in the z-direction.",
6
+ "allOf": [
7
+ {
8
+ "$ref": "../../../operations/core/combinations/stack.json"
9
+ }
10
+ ],
11
+ "properties": {
12
+ "stack_components": {
13
+ "type": "array",
14
+ "minItems": 3,
15
+ "maxItems": 3,
16
+ "items": [
17
+ {
18
+ "$ref": "../../../../materials_category/pristine_structures/two-dimensional/slab.json"
19
+ },
20
+ {
21
+ "type": "object"
22
+ },
23
+ {
24
+ "$ref": "../../core/two-dimensional/vacuum.json"
25
+ }
26
+ ]
27
+ },
28
+ "direction": {
29
+ "default": "z"
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "$id": "materials-category-components/operations/core/combinations/enums",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Merge Methods Enum",
5
+ "description": "Available methods for merging components",
6
+ "type": "string",
7
+ "enum": [
8
+ "ADD",
9
+ "REPLACE",
10
+ "YIELD"
11
+ ]
12
+ }
@@ -5,29 +5,15 @@
5
5
  "description": "A component of a stack, which can be a crystal or a vacuum",
6
6
  "properties": {
7
7
  "merge_components": {
8
- "type": "array",
9
- "items": {
10
- "anyOf": [
11
- {
12
- "$ref": "../../../entities/core/three-dimensional/crystal.json"
13
- },
14
- {
15
- "$ref": "../../../entities/core/two-dimensional/vacuum.json"
16
- },
17
- {
18
- "$ref": "../../../entities/core/three-dimensional/void.json"
19
- }
20
- ]
21
- }
8
+ "type": "array"
22
9
  },
23
- "method": {
24
- "type": "string",
25
- "description": "Method to merge components: add, subtract (when merging with void), replace (overwrite upon collision), or yield (keep previous upon collision)",
26
- "enum": [
27
- "add",
28
- "replace",
29
- "yield"
30
- ]
10
+ "merge_method": {
11
+ "$ref": "./enums.json",
12
+ "description": "Method to merge components: add, subtract (when merging with void), replace (overwrite upon collision), or yield (keep previous upon collision)"
31
13
  }
32
- }
14
+ },
15
+ "required": [
16
+ "merge_components",
17
+ "merge_method"
18
+ ]
33
19
  }
@@ -2,13 +2,11 @@
2
2
  "$id": "materials-category-components/operations/core/combinations/stack",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Stack Schema",
5
- "description": "A stack of components, which can be crystals or vacuums, arranged in a specified direction",
5
+ "description": "A stack of components in a certain direction. The specific types of components should be defined by the inheriting schema.",
6
+ "type": "object",
6
7
  "properties": {
7
8
  "stack_components": {
8
- "type": "array",
9
- "items": {
10
- "$ref": "./stack_component.json"
11
- }
9
+ "type": "array"
12
10
  },
13
11
  "direction": {
14
12
  "$ref": "../../../../core/primitive/axis_3d_names_enum.json"
@@ -0,0 +1,16 @@
1
+ {
2
+ "$id": "materials-category-components/operations/core/modifications/perturb",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Perturbation Schema",
5
+ "description": "A perturbation operation that modifies a configuration by applying a perturbation to atoms coordinates.",
6
+ "type": "object",
7
+ "properties": {
8
+ "material": {
9
+ "$ref": "../../../../material.json"
10
+ },
11
+ "perturbation_function": {
12
+ "type": "string",
13
+ "description": "A function that defines the perturbation (delta in coordinates) to be applied to the atomic coordinates."
14
+ }
15
+ }
16
+ }
@@ -27,6 +27,13 @@
27
27
  "items": {
28
28
  "$ref": "../workflow/unit/input/_inputItemId.json"
29
29
  }
30
+ },
31
+ "supportedApplicationVersions": {
32
+ "description": "list of application versions this flavor supports",
33
+ "type": "array",
34
+ "items": {
35
+ "type": "string"
36
+ }
30
37
  }
31
38
  }
32
39
  }