@mat3ra/esse 2025.5.17-2 → 2025.6.5-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dist/js/example/apse/materials/builders/slab/pymatgen/parameters.json +1 -1
  2. package/dist/js/example/materials_category/pristine_structures/two_dimensional/slab.json +160 -0
  3. package/dist/js/example/{material/reusable/supercell → materials_category_components/entities/auxiliary/three_dimensional}/supercell_matrix_3d.json +2 -2
  4. package/dist/js/example/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +7 -0
  5. package/dist/js/example/materials_category_components/entities/core/three_dimensional/crystal.json +128 -0
  6. package/dist/js/example/materials_category_components/entities/core/three_dimensional/void.json +20 -0
  7. package/dist/js/example/materials_category_components/entities/core/two_dimensional/vacuum.json +4 -0
  8. package/dist/js/example/materials_category_components/entities/core/zero_dimensional/atom.json +3 -0
  9. package/dist/js/example/materials_category_components/entities/reusable/repetitions.json +5 -0
  10. package/dist/js/example/{material/reusable/slab_configuration_with_termination.json → materials_category_components/operations/core/combinations/merge.json} +8 -27
  11. package/dist/js/example/materials_category_components/operations/core/combinations/stack.json +137 -0
  12. package/dist/js/example/materials_category_components/operations/core/combinations/stack_component.json +128 -0
  13. package/dist/js/example/materials_category_components/operations/core/modifications/repeat.json +19 -0
  14. package/dist/js/example/materials_category_components/operations/core/modifications/strain.json +19 -0
  15. package/dist/js/schema/apse/materials/builders/slab/pymatgen/parameters.json +3 -3
  16. package/dist/js/schema/core/primitive/array_of_3_integers.json +11 -0
  17. package/dist/js/schema/{materials_category/defects/two_dimensional/island/condition.json.json → core/reusable/coordinate_conditions.json} +4 -2
  18. package/dist/js/schema/materials_category/pristine_structures/three_dimensional/ideal_crystal.json +757 -0
  19. package/dist/js/schema/materials_category/{multi_material/interfaces/configuration.json → pristine_structures/two_dimensional/slab.json} +231 -230
  20. package/dist/js/schema/{material/reusable/supercell → materials_category_components/entities/auxiliary/three_dimensional}/supercell_matrix_3d.json +3 -1
  21. package/dist/js/schema/{material/reusable/slab → materials_category_components/entities/auxiliary/two_dimensional}/miller_indices.json +5 -5
  22. package/dist/js/schema/{material/reusable/supercell → materials_category_components/entities/auxiliary/two_dimensional}/supercell_matrix_2d.json +1 -1
  23. package/dist/js/schema/{material/reusable/slab → materials_category_components/entities/auxiliary/two_dimensional}/termination.json +1 -1
  24. package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +22 -0
  25. package/dist/js/schema/materials_category_components/entities/core/three_dimensional/crystal.json +757 -0
  26. package/dist/js/schema/materials_category_components/entities/core/three_dimensional/void.json +76 -0
  27. package/dist/js/schema/materials_category_components/entities/core/two_dimensional/vacuum.json +30 -0
  28. package/dist/js/schema/materials_category_components/entities/core/zero_dimensional/atom.json +134 -0
  29. package/dist/js/schema/{material → materials_category_components/entities}/reusable/repetitions.json +1 -1
  30. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.json +786 -0
  31. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/strained_uniform.json +773 -0
  32. package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/supercell.json +786 -0
  33. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers.json +947 -0
  34. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json +947 -0
  35. package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json +948 -0
  36. package/dist/js/schema/{materials_category/single_material/two_dimensional/slab/configuration.json → materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json} +16 -59
  37. package/dist/js/schema/{material/reusable/stack/stack_of_slabs.json → materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.json} +207 -230
  38. package/dist/js/schema/materials_category_components/operations/core/combinations/merge.json +884 -0
  39. package/dist/js/schema/materials_category_components/operations/core/combinations/stack.json +818 -0
  40. package/dist/js/schema/materials_category_components/operations/core/combinations/stack_component.json +793 -0
  41. package/dist/js/schema/materials_category_components/operations/core/modifications/repeat.json +42 -0
  42. package/dist/js/schema/materials_category_components/operations/core/modifications/strain.json +24 -0
  43. package/dist/js/schemas.json +1 -1
  44. package/dist/js/types.d.ts +3464 -6059
  45. package/example/apse/materials/builders/slab/pymatgen/parameters.json +1 -1
  46. package/example/materials_category/pristine_structures/two-dimensional/slab.json +35 -0
  47. package/example/materials_category_components/entities/auxiliary/three-dimensional/supercell_matrix_3d.json +5 -0
  48. package/example/materials_category_components/entities/auxiliary/two-dimensional/miller_indices.json +1 -0
  49. package/example/materials_category_components/entities/auxiliary/two-dimensional/supercell_matrix_2d.json +4 -0
  50. package/example/{material/reusable/slab → materials_category_components/entities/auxiliary/two-dimensional}/termination.json +1 -1
  51. package/example/materials_category_components/entities/auxiliary/zero-dimensional/crystal_site.json +3 -0
  52. package/example/materials_category_components/entities/core/three-dimensional/crystal.json +3 -0
  53. package/example/materials_category_components/entities/core/three-dimensional/void.json +8 -0
  54. package/example/materials_category_components/entities/core/two-dimensional/vacuum.json +4 -0
  55. package/example/materials_category_components/entities/core/zero-dimensional/atom.json +3 -0
  56. package/example/materials_category_components/entities/reusable/repetitions.json +1 -0
  57. package/example/materials_category_components/operations/core/combinations/merge.json +11 -0
  58. package/example/materials_category_components/operations/core/combinations/stack.json +11 -0
  59. package/example/materials_category_components/operations/core/combinations/stack_component.json +3 -0
  60. package/example/materials_category_components/operations/core/modifications/repeat.json +13 -0
  61. package/example/materials_category_components/operations/core/modifications/strain.json +7 -0
  62. package/package.json +1 -1
  63. package/schema/apse/materials/builders/slab/pymatgen/parameters.json +3 -3
  64. package/schema/core/primitive/array_of_3_integers.json +11 -0
  65. package/schema/core/reusable/coordinate_conditions/index.json +11 -0
  66. package/schema/materials_category/manifest.yaml +268 -0
  67. package/schema/materials_category/pristine_structures/three-dimensional/ideal_crystal.json +11 -0
  68. package/schema/materials_category/pristine_structures/two-dimensional/slab.json +17 -0
  69. package/schema/{material/reusable/supercell → materials_category_components/entities/auxiliary/three-dimensional}/supercell_matrix_3d.json +2 -7
  70. package/schema/materials_category_components/entities/auxiliary/two-dimensional/miller_indices.json +16 -0
  71. package/schema/{material/reusable/supercell → materials_category_components/entities/auxiliary/two-dimensional}/supercell_matrix_2d.json +1 -1
  72. package/schema/{material/reusable/slab → materials_category_components/entities/auxiliary/two-dimensional}/termination.json +2 -2
  73. package/schema/materials_category_components/entities/auxiliary/zero-dimensional/crystal_site.json +15 -0
  74. package/schema/materials_category_components/entities/core/three-dimensional/crystal.json +11 -0
  75. package/schema/materials_category_components/entities/core/three-dimensional/void.json +19 -0
  76. package/schema/materials_category_components/entities/core/two-dimensional/vacuum.json +22 -0
  77. package/schema/materials_category_components/entities/core/zero-dimensional/atom.json +15 -0
  78. package/schema/{material → materials_category_components/entities}/reusable/repetitions.json +1 -1
  79. package/schema/materials_category_components/entities/reusable/three-dimensional/strained_non_uniform.json +20 -0
  80. package/schema/materials_category_components/entities/reusable/three-dimensional/strained_uniform.json +20 -0
  81. package/schema/materials_category_components/entities/reusable/three-dimensional/supercell.json +20 -0
  82. package/schema/materials_category_components/entities/reusable/two-dimensional/atomic_layers.json +12 -0
  83. package/schema/materials_category_components/entities/reusable/two-dimensional/atomic_layers_unique.json +25 -0
  84. package/schema/materials_category_components/entities/reusable/two-dimensional/atomic_layers_unique_repeated.json +27 -0
  85. package/schema/materials_category_components/entities/reusable/two-dimensional/crystal_lattice_planes.json +25 -0
  86. package/schema/materials_category_components/entities/reusable/two-dimensional/slab_unit_cell.json +33 -0
  87. package/schema/materials_category_components/operations/core/combinations/merge.json +33 -0
  88. package/schema/materials_category_components/operations/core/combinations/stack.json +21 -0
  89. package/schema/materials_category_components/operations/core/combinations/stack_component.json +14 -0
  90. package/schema/materials_category_components/operations/core/modifications/repeat.json +10 -0
  91. package/schema/materials_category_components/operations/core/modifications/strain.json +10 -0
  92. package/dist/js/example/material/builders/base/selector_parameters.json +0 -3
  93. package/dist/js/example/material/builders/single_material/two_dimensional/slab/selector_parameters.json +0 -6
  94. package/dist/js/example/material/reusable/repetitions.json +0 -5
  95. package/dist/js/example/material/reusable/slab/number_of_layers.json +0 -1
  96. package/dist/js/example/material/reusable/slab/vacuum.json +0 -1
  97. package/dist/js/example/materials_category/defects/by_host/two_dimensional/adatom/configuration.json +0 -138
  98. package/dist/js/example/materials_category/defects/by_host/two_dimensional/point/configuration.json +0 -135
  99. package/dist/js/example/materials_category/defects/configuration.json +0 -130
  100. package/dist/js/example/materials_category/defects/one_dimensional/terrace/configuration.json +0 -144
  101. package/dist/js/example/materials_category/defects/two_dimensional/grain_boundary_plane/configuration.json +0 -475
  102. package/dist/js/example/materials_category/defects/zero_dimensional/complex/pair/configuration.json +0 -406
  103. package/dist/js/example/materials_category/defects/zero_dimensional/point/configuration.json +0 -138
  104. package/dist/js/example/materials_category/defects/zero_dimensional/point/interstitial/configuration.json +0 -139
  105. package/dist/js/example/materials_category/defects/zero_dimensional/point/substitution/configuration.json +0 -138
  106. package/dist/js/example/materials_category/defects/zero_dimensional/point/vacancy/configuration.json +0 -137
  107. package/dist/js/example/materials_category/single_material/two_dimensional/slab/configuration.json +0 -150
  108. package/dist/js/schema/material/builders/base/selector_parameters.json +0 -15
  109. package/dist/js/schema/material/builders/single_material/two_dimensional/slab/builder_parameters.json +0 -33
  110. package/dist/js/schema/material/builders/single_material/two_dimensional/slab/selector_parameters.json +0 -159
  111. package/dist/js/schema/material/reusable/slab/enums/exposed_face.json +0 -11
  112. package/dist/js/schema/material/reusable/slab/number_of_layers.json +0 -9
  113. package/dist/js/schema/material/reusable/slab/vacuum.json +0 -9
  114. package/dist/js/schema/material/reusable/slab_configuration_with_termination.json +0 -996
  115. package/dist/js/schema/material/reusable/stack/slab_in_stack.json +0 -1005
  116. package/dist/js/schema/material/reusable/stack/stack_of_two_slabs.json +0 -1033
  117. package/dist/js/schema/materials_category/defects/by_host/two_dimensional/adatom/configuration.json +0 -926
  118. package/dist/js/schema/materials_category/defects/by_host/two_dimensional/layered/configuration.json +0 -794
  119. package/dist/js/schema/materials_category/defects/by_host/two_dimensional/point/configuration.json +0 -803
  120. package/dist/js/schema/materials_category/defects/configuration.json +0 -786
  121. package/dist/js/schema/materials_category/defects/enums/point_defect_type.json +0 -11
  122. package/dist/js/schema/materials_category/defects/one_dimensional/terrace/configuration.json +0 -831
  123. package/dist/js/schema/materials_category/defects/two_dimensional/grain_boundary_plane/configuration.json +0 -2019
  124. package/dist/js/schema/materials_category/defects/two_dimensional/island/configuration.json +0 -845
  125. package/dist/js/schema/materials_category/defects/zero_dimensional/complex/pair/configuration.json +0 -2634
  126. package/dist/js/schema/materials_category/defects/zero_dimensional/point/configuration.json +0 -925
  127. package/dist/js/schema/materials_category/defects/zero_dimensional/point/interstitial/configuration.json +0 -926
  128. package/dist/js/schema/materials_category/defects/zero_dimensional/point/substitution/configuration.json +0 -926
  129. package/dist/js/schema/materials_category/defects/zero_dimensional/point/vacancy/configuration.json +0 -926
  130. package/example/material/builders/base/selector_parameters.json +0 -3
  131. package/example/material/builders/single_material/two_dimensional/slab/selector_parameters.json +0 -6
  132. package/example/material/reusable/repetitions.json +0 -1
  133. package/example/material/reusable/slab/miller_indices.json +0 -5
  134. package/example/material/reusable/slab/number_of_layers.json +0 -1
  135. package/example/material/reusable/slab/vacuum.json +0 -1
  136. package/example/material/reusable/slab_configuration_with_termination.json +0 -8
  137. package/example/material/reusable/supercell/supercell_matrix_2d.json +0 -10
  138. package/example/material/reusable/supercell/supercell_matrix_3d.json +0 -11
  139. package/example/materials_category/defects/by_host/two-dimensional/adatom/configuration.json +0 -11
  140. package/example/materials_category/defects/by_host/two-dimensional/point/configuration.json +0 -8
  141. package/example/materials_category/defects/configuration.json +0 -5
  142. package/example/materials_category/defects/one-dimensional/terrace/configuration.json +0 -19
  143. package/example/materials_category/defects/two-dimensional/grain_boundary_plane/configuration.json +0 -21
  144. package/example/materials_category/defects/zero-dimensional/complex/pair/configuration.json +0 -9
  145. package/example/materials_category/defects/zero-dimensional/point/configuration.json +0 -11
  146. package/example/materials_category/defects/zero-dimensional/point/interstitial/configuration.json +0 -14
  147. package/example/materials_category/defects/zero-dimensional/point/substitution/configuration.json +0 -13
  148. package/example/materials_category/defects/zero-dimensional/point/vacancy/configuration.json +0 -12
  149. package/example/materials_category/single_material/two_dimensional/slab/configuration.json +0 -25
  150. package/schema/material/builders/base/selector_parameters.json +0 -15
  151. package/schema/material/builders/single_material/two_dimensional/slab/builder_parameters.json +0 -12
  152. package/schema/material/builders/single_material/two_dimensional/slab/selector_parameters.json +0 -12
  153. package/schema/material/reusable/slab/enums/exposed_face.json +0 -11
  154. package/schema/material/reusable/slab/miller_indices.json +0 -17
  155. package/schema/material/reusable/slab/number_of_layers.json +0 -9
  156. package/schema/material/reusable/slab/vacuum.json +0 -9
  157. package/schema/material/reusable/slab_configuration_with_termination.json +0 -19
  158. package/schema/material/reusable/stack/slab_in_stack.json +0 -26
  159. package/schema/material/reusable/stack/stack_of_slabs.json +0 -31
  160. package/schema/material/reusable/stack/stack_of_two_slabs.json +0 -17
  161. package/schema/materials_category/defects/by_host/two-dimensional/adatom/configuration.json +0 -16
  162. package/schema/materials_category/defects/by_host/two-dimensional/layered/configuration.json +0 -16
  163. package/schema/materials_category/defects/by_host/two-dimensional/point/configuration.json +0 -26
  164. package/schema/materials_category/defects/configuration.json +0 -34
  165. package/schema/materials_category/defects/one-dimensional/terrace/configuration.json +0 -44
  166. package/schema/materials_category/defects/two-dimensional/grain_boundary_plane/configuration.json +0 -20
  167. package/schema/materials_category/defects/two-dimensional/island/condition.json +0 -9
  168. package/schema/materials_category/defects/two-dimensional/island/configuration.json +0 -18
  169. package/schema/materials_category/defects/zero-dimensional/complex/pair/configuration.json +0 -20
  170. package/schema/materials_category/defects/zero-dimensional/point/configuration.json +0 -34
  171. package/schema/materials_category/defects/zero-dimensional/point/enums/type.json +0 -11
  172. package/schema/materials_category/defects/zero-dimensional/point/interstitial/configuration.json +0 -16
  173. package/schema/materials_category/defects/zero-dimensional/point/substitution/configuration.json +0 -16
  174. package/schema/materials_category/defects/zero-dimensional/point/vacancy/configuration.json +0 -16
  175. package/schema/materials_category/multi-material/interfaces/configuration.json +0 -12
  176. package/schema/materials_category/single_material/two_dimensional/slab/configuration.json +0 -36
  177. /package/dist/js/example/{material/reusable/slab → materials_category_components/entities/auxiliary/two_dimensional}/miller_indices.json +0 -0
  178. /package/dist/js/example/{material/reusable/supercell → materials_category_components/entities/auxiliary/two_dimensional}/supercell_matrix_2d.json +0 -0
  179. /package/dist/js/example/{material/reusable/slab → materials_category_components/entities/auxiliary/two_dimensional}/termination.json +0 -0
@@ -1,46 +1,218 @@
1
1
  {
2
- "$id": "materials-category/multi-material/interfaces/configuration",
2
+ "$id": "materials-category/pristine-structures/two-dimensional/slab",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "Interface Configuration Schema",
5
- "description": "Configuration for an interface between two materials",
4
+ "title": "Slab Configuration Schema",
5
+ "description": "A slab structure configuration that can optionally include a supercell transformation in the xy plane",
6
6
  "type": "object",
7
7
  "required": [
8
- "stack_slab_configurations"
8
+ "stack_components",
9
+ "direction"
9
10
  ],
10
11
  "properties": {
11
- "stack_slab_configurations": {
12
+ "xy_supercell_matrix": {
13
+ "$schema": "http://json-schema.org/draft-07/schema#",
14
+ "title": "Supercell Matrix 2D Schema",
15
+ "description": "Supercell matrix for xy plane transformations",
16
+ "type": "array",
12
17
  "minItems": 2,
13
18
  "maxItems": 2,
19
+ "default": [
20
+ [
21
+ 1,
22
+ 0
23
+ ],
24
+ [
25
+ 0,
26
+ 1
27
+ ]
28
+ ],
29
+ "items": {
30
+ "type": "array",
31
+ "minItems": 2,
32
+ "maxItems": 2,
33
+ "items": {
34
+ "type": "integer"
35
+ }
36
+ }
37
+ },
38
+ "stack_components": {
14
39
  "type": "array",
15
- "description": "List of slab configurations for the slabs in the stack",
40
+ "minItems": 2,
41
+ "description": "Components of the slab unit cell: repeated unique atomic layers and vacuum",
16
42
  "items": {
17
- "$schema": "http://json-schema.org/draft-07/schema#",
18
- "title": "Slab in Stack Configuration Schema",
19
- "description": "Configuration for a slab in a stack with termination",
20
- "required": [
21
- "slab_configuration",
22
- "termination"
23
- ],
24
- "type": "object",
25
- "properties": {
26
- "stack_component": {
27
- "type": "string",
28
- "description": "Component of the stack (e.g., slab1, slab2)"
29
- },
30
- "distance_to_next_slab": {
31
- "type": "number",
32
- "description": "Distance to the next slab in the stack, in Angstroms",
33
- "default": 3
34
- },
35
- "slab_configuration": {
43
+ "oneOf": [
44
+ {
36
45
  "$schema": "http://json-schema.org/draft-07/schema#",
37
- "title": "Slab Configuration Schema",
38
- "description": "Configuration for creating a slab from a bulk material",
46
+ "title": "Atomic Layers Unique Repeated Schema",
47
+ "description": "Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination",
39
48
  "type": "object",
49
+ "required": [
50
+ "crystal",
51
+ "miller_indices",
52
+ "number_of_repetitions",
53
+ "termination_top",
54
+ "use_conventional_cell"
55
+ ],
40
56
  "properties": {
41
- "bulk": {
57
+ "termination_top": {
42
58
  "$schema": "http://json-schema.org/draft-07/schema#",
43
- "title": "material schema",
59
+ "title": "Termination Schema",
60
+ "description": "Defines a specific termination of a slab",
61
+ "type": "object",
62
+ "required": [
63
+ "chemical_elements",
64
+ "space_group_symmetry_label"
65
+ ],
66
+ "properties": {
67
+ "chemical_elements": {
68
+ "title": "Chemical Elements",
69
+ "description": "Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')",
70
+ "type": "string",
71
+ "anyOf": [
72
+ {
73
+ "enum": [
74
+ "H",
75
+ "He",
76
+ "Li",
77
+ "Be",
78
+ "B",
79
+ "C",
80
+ "N",
81
+ "O",
82
+ "F",
83
+ "Ne",
84
+ "Na",
85
+ "Mg",
86
+ "Al",
87
+ "Si",
88
+ "P",
89
+ "S",
90
+ "Cl",
91
+ "Ar",
92
+ "K",
93
+ "Ca",
94
+ "Sc",
95
+ "Ti",
96
+ "V",
97
+ "Cr",
98
+ "Mn",
99
+ "Fe",
100
+ "Co",
101
+ "Ni",
102
+ "Cu",
103
+ "Zn",
104
+ "Ga",
105
+ "Ge",
106
+ "As",
107
+ "Se",
108
+ "Br",
109
+ "Kr",
110
+ "Rb",
111
+ "Sr",
112
+ "Y",
113
+ "Zr",
114
+ "Nb",
115
+ "Mo",
116
+ "Tc",
117
+ "Ru",
118
+ "Rh",
119
+ "Pd",
120
+ "Ag",
121
+ "Cd",
122
+ "In",
123
+ "Sn",
124
+ "Sb",
125
+ "Te",
126
+ "I",
127
+ "Xe",
128
+ "Cs",
129
+ "Ba",
130
+ "La",
131
+ "Ce",
132
+ "Pr",
133
+ "Nd",
134
+ "Pm",
135
+ "Sm",
136
+ "Eu",
137
+ "Gd",
138
+ "Tb",
139
+ "Dy",
140
+ "Ho",
141
+ "Er",
142
+ "Tm",
143
+ "Yb",
144
+ "Lu",
145
+ "Hf",
146
+ "Ta",
147
+ "W",
148
+ "Re",
149
+ "Os",
150
+ "Ir",
151
+ "Pt",
152
+ "Au",
153
+ "Hg",
154
+ "Tl",
155
+ "Pb",
156
+ "Bi",
157
+ "Po",
158
+ "At",
159
+ "Rn",
160
+ "Fr",
161
+ "Ra",
162
+ "Ac",
163
+ "Th",
164
+ "Pa",
165
+ "U",
166
+ "Np",
167
+ "Pu",
168
+ "Am",
169
+ "Cm",
170
+ "Bk",
171
+ "Cf",
172
+ "Es",
173
+ "Fm",
174
+ "Md",
175
+ "No",
176
+ "Lr",
177
+ "Rf",
178
+ "Db",
179
+ "Sg",
180
+ "Bh",
181
+ "Hs",
182
+ "Mt",
183
+ "Ds",
184
+ "Rg",
185
+ "Cn",
186
+ "Nh",
187
+ "Fl",
188
+ "Mc",
189
+ "Lv",
190
+ "Ts",
191
+ "Og"
192
+ ]
193
+ },
194
+ {
195
+ "type": "string",
196
+ "pattern": "^[A-Z][a-z]?([A-Z][a-z]?)*$"
197
+ }
198
+ ]
199
+ },
200
+ "space_group_symmetry_label": {
201
+ "title": "Space Group Symmetry Label",
202
+ "description": "Space group symmetry designation for the termination",
203
+ "type": "string"
204
+ }
205
+ }
206
+ },
207
+ "number_of_repetitions": {
208
+ "type": "integer",
209
+ "minimum": 1,
210
+ "description": "Number of repetitions of the unique atomic layers"
211
+ },
212
+ "crystal": {
213
+ "$schema": "http://json-schema.org/draft-07/schema#",
214
+ "title": "Crystal Schema",
215
+ "description": "A crystal structure, referencing the base material schema",
44
216
  "type": "object",
45
217
  "required": [
46
218
  "basis",
@@ -796,234 +968,63 @@
796
968
  "miller_indices": {
797
969
  "$schema": "http://json-schema.org/draft-07/schema#",
798
970
  "title": "Miller Indices Schema",
799
- "description": "Miller indices for crystallographic plane designation",
800
- "type": "array",
801
- "minItems": 3,
802
- "maxItems": 3,
971
+ "description": "Miller indices [h, k, l] defining crystallographic planes",
803
972
  "default": [
804
973
  0,
805
974
  0,
806
975
  1
807
976
  ],
808
- "items": {
809
- "type": "integer"
810
- }
811
- },
812
- "number_of_layers": {
813
- "$schema": "http://json-schema.org/draft-07/schema#",
814
- "title": "Number of Layers Schema",
815
- "description": "Number of atomic layers in a structural component",
816
- "type": "integer",
817
- "minimum": 1,
818
- "default": 1
819
- },
820
- "vacuum": {
821
- "$schema": "http://json-schema.org/draft-07/schema#",
822
- "title": "Vacuum Thickness Schema",
823
- "description": "Vacuum thickness in Angstroms",
824
- "type": "number",
825
- "minimum": 0,
826
- "default": 5
827
- },
828
- "xy_supercell_matrix": {
829
- "$schema": "http://json-schema.org/draft-07/schema#",
830
- "title": "Supercell Matrix 2D Schema",
831
- "description": "Supercell matrix for xy plane transformations",
832
977
  "type": "array",
833
- "minItems": 2,
834
- "maxItems": 2,
835
- "default": [
836
- [
837
- 1,
838
- 0
839
- ],
840
- [
841
- 0,
842
- 1
843
- ]
844
- ],
978
+ "minItems": 3,
979
+ "maxItems": 3,
845
980
  "items": {
846
- "type": "array",
847
- "minItems": 2,
848
- "maxItems": 2,
849
- "items": {
850
- "type": "integer"
851
- }
981
+ "type": "integer"
852
982
  }
853
983
  },
854
984
  "use_conventional_cell": {
855
- "title": "Use Conventional Cell",
856
- "description": "Whether to use conventional cell when generating the slab.",
857
- "type": "boolean",
858
- "default": true
859
- },
860
- "use_orthogonal_z": {
861
- "title": "Use Orthogonal Z",
862
- "description": "Whether to make vector c orthogonal to ab plane for the slab cell.",
863
985
  "type": "boolean",
986
+ "description": "Use the conventional cell for the crystal structure",
864
987
  "default": true
865
988
  }
866
989
  }
867
990
  },
868
- "termination": {
991
+ {
869
992
  "$schema": "http://json-schema.org/draft-07/schema#",
870
- "title": "Termination Schema",
871
- "description": "Defines a specific termination of a slab",
993
+ "title": "Vacuum Configuration Schema",
994
+ "description": "A vacuum slab that breaks periodicity in a specified direction",
872
995
  "type": "object",
873
- "required": [
874
- "chemical_elements",
875
- "space_group_symmetry_label"
876
- ],
877
996
  "properties": {
878
- "chemical_elements": {
879
- "title": "Chemical Elements",
880
- "description": "Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')",
997
+ "direction": {
998
+ "$schema": "http://json-schema.org/draft-07/schema#",
999
+ "title": "Axis Enum",
881
1000
  "type": "string",
882
- "anyOf": [
883
- {
884
- "enum": [
885
- "H",
886
- "He",
887
- "Li",
888
- "Be",
889
- "B",
890
- "C",
891
- "N",
892
- "O",
893
- "F",
894
- "Ne",
895
- "Na",
896
- "Mg",
897
- "Al",
898
- "Si",
899
- "P",
900
- "S",
901
- "Cl",
902
- "Ar",
903
- "K",
904
- "Ca",
905
- "Sc",
906
- "Ti",
907
- "V",
908
- "Cr",
909
- "Mn",
910
- "Fe",
911
- "Co",
912
- "Ni",
913
- "Cu",
914
- "Zn",
915
- "Ga",
916
- "Ge",
917
- "As",
918
- "Se",
919
- "Br",
920
- "Kr",
921
- "Rb",
922
- "Sr",
923
- "Y",
924
- "Zr",
925
- "Nb",
926
- "Mo",
927
- "Tc",
928
- "Ru",
929
- "Rh",
930
- "Pd",
931
- "Ag",
932
- "Cd",
933
- "In",
934
- "Sn",
935
- "Sb",
936
- "Te",
937
- "I",
938
- "Xe",
939
- "Cs",
940
- "Ba",
941
- "La",
942
- "Ce",
943
- "Pr",
944
- "Nd",
945
- "Pm",
946
- "Sm",
947
- "Eu",
948
- "Gd",
949
- "Tb",
950
- "Dy",
951
- "Ho",
952
- "Er",
953
- "Tm",
954
- "Yb",
955
- "Lu",
956
- "Hf",
957
- "Ta",
958
- "W",
959
- "Re",
960
- "Os",
961
- "Ir",
962
- "Pt",
963
- "Au",
964
- "Hg",
965
- "Tl",
966
- "Pb",
967
- "Bi",
968
- "Po",
969
- "At",
970
- "Rn",
971
- "Fr",
972
- "Ra",
973
- "Ac",
974
- "Th",
975
- "Pa",
976
- "U",
977
- "Np",
978
- "Pu",
979
- "Am",
980
- "Cm",
981
- "Bk",
982
- "Cf",
983
- "Es",
984
- "Fm",
985
- "Md",
986
- "No",
987
- "Lr",
988
- "Rf",
989
- "Db",
990
- "Sg",
991
- "Bh",
992
- "Hs",
993
- "Mt",
994
- "Ds",
995
- "Rg",
996
- "Cn",
997
- "Nh",
998
- "Fl",
999
- "Mc",
1000
- "Lv",
1001
- "Ts",
1002
- "Og"
1003
- ]
1004
- },
1005
- {
1006
- "type": "string",
1007
- "pattern": "^[A-Z][a-z]?([A-Z][a-z]?)*$"
1008
- }
1001
+ "description": "Enum for axis types",
1002
+ "enum": [
1003
+ "x",
1004
+ "y",
1005
+ "z"
1009
1006
  ]
1010
1007
  },
1011
- "space_group_symmetry_label": {
1012
- "title": "Space Group Symmetry Label",
1013
- "description": "Space group symmetry designation for the termination",
1014
- "type": "string"
1008
+ "size": {
1009
+ "type": "number",
1010
+ "description": "Size of the vacuum slab in angstroms",
1011
+ "minimum": 0,
1012
+ "default": 10
1015
1013
  }
1016
- }
1014
+ },
1015
+ "required": [
1016
+ "direction",
1017
+ "size"
1018
+ ]
1017
1019
  }
1018
- }
1020
+ ]
1019
1021
  }
1020
1022
  },
1021
- "stacking_direction": {
1022
- "type": "string",
1023
- "description": "The axis along which the slabs are stacked",
1024
- "default": "z",
1023
+ "direction": {
1025
1024
  "$schema": "http://json-schema.org/draft-07/schema#",
1026
1025
  "title": "Axis Enum",
1026
+ "type": "string",
1027
+ "description": "Enum for axis types",
1027
1028
  "enum": [
1028
1029
  "x",
1029
1030
  "y",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "material/reusable/supercell/supercell-matrix-3d",
2
+ "$id": "materials-category-components/entities/auxiliary/three-dimensional/supercell-matrix-3d",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Supercell Matrix 3D Schema",
5
5
  "description": "3x3 matrix of integers for transforming a unit cell into a supercell",
@@ -24,6 +24,8 @@
24
24
  ]
25
25
  ],
26
26
  "items": {
27
+ "$schema": "http://json-schema.org/draft-07/schema#",
28
+ "title": "array of 3 integer elements schema",
27
29
  "type": "array",
28
30
  "minItems": 3,
29
31
  "maxItems": 3,
@@ -1,16 +1,16 @@
1
1
  {
2
- "$id": "material/reusable/slab/miller-indices",
2
+ "$id": "materials-category-components/entities/auxiliary/two-dimensional/miller-indices",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Miller Indices Schema",
5
- "description": "Miller indices for crystallographic plane designation",
6
- "type": "array",
7
- "minItems": 3,
8
- "maxItems": 3,
5
+ "description": "Miller indices [h, k, l] defining crystallographic planes",
9
6
  "default": [
10
7
  0,
11
8
  0,
12
9
  1
13
10
  ],
11
+ "type": "array",
12
+ "minItems": 3,
13
+ "maxItems": 3,
14
14
  "items": {
15
15
  "type": "integer"
16
16
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "material/reusable/supercell/supercell-matrix-2d",
2
+ "$id": "materials-category-components/entities/auxiliary/two-dimensional/supercell-matrix-2d",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Supercell Matrix 2D Schema",
5
5
  "description": "Supercell matrix for xy plane transformations",
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "material/reusable/slab/termination",
2
+ "$id": "materials-category-components/entities/auxiliary/two-dimensional/termination",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Termination Schema",
5
5
  "description": "Defines a specific termination of a slab",
@@ -0,0 +1,22 @@
1
+ {
2
+ "$id": "materials-category-components/entities/auxiliary/zero-dimensional/crystal-site",
3
+ "$schema": "http://json-schema.org/draft-07/schema#",
4
+ "title": "Crystal Site Schema",
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
+ "type": "object",
7
+ "required": [
8
+ "coordinate"
9
+ ],
10
+ "properties": {
11
+ "coordinate": {
12
+ "$schema": "http://json-schema.org/draft-07/schema#",
13
+ "title": "coordinate 3d schema",
14
+ "type": "array",
15
+ "minItems": 3,
16
+ "maxItems": 3,
17
+ "items": {
18
+ "type": "number"
19
+ }
20
+ }
21
+ }
22
+ }