@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
@@ -1,990 +1,786 @@
1
1
  {
2
- "$id": "materials-category-components/entities/reusable/two-dimensional/slab-unit-cell",
2
+ "$id": "materials-category/processed-structures/two-dimensional/passivation/configuration",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "title": "Slab Unit Cell Schema",
5
- "description": "A slab unit cell consisting of repeated unique atomic layers and vacuum",
6
- "type": "object",
4
+ "title": "Passivation Configuration Schema",
5
+ "description": "Configuration for a passivation that adds passivating atoms to a material surface.",
7
6
  "required": [
8
- "stack_components",
9
- "direction"
7
+ "bond_length",
8
+ "merge_components",
9
+ "merge_method",
10
+ "passivant"
10
11
  ],
11
12
  "properties": {
12
- "stack_components": {
13
+ "merge_components": {
13
14
  "type": "array",
14
15
  "minItems": 2,
15
- "description": "Components of the slab unit cell: repeated unique atomic layers and vacuum",
16
16
  "items": {
17
- "oneOf": [
17
+ "anyOf": [
18
18
  {
19
19
  "$schema": "http://json-schema.org/draft-07/schema#",
20
- "title": "Atomic Layers Unique Repeated Schema",
21
- "description": "Atomic layers unique with an integer number of repetitions, forming a full periodic structure with top layer specified by the termination",
20
+ "title": "material schema",
22
21
  "type": "object",
23
22
  "required": [
24
- "crystal",
25
- "miller_indices",
26
- "number_of_repetitions",
27
- "termination_top",
28
- "use_conventional_cell"
23
+ "basis",
24
+ "lattice"
29
25
  ],
30
26
  "properties": {
31
- "termination_top": {
32
- "$schema": "http://json-schema.org/draft-07/schema#",
33
- "title": "Termination Schema",
34
- "description": "Defines a specific termination of a slab",
35
- "type": "object",
36
- "required": [
37
- "chemical_elements",
38
- "space_group_symmetry_label"
39
- ],
40
- "properties": {
41
- "chemical_elements": {
42
- "title": "Chemical Elements",
43
- "description": "Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')",
44
- "type": "string",
45
- "anyOf": [
46
- {
47
- "enum": [
48
- "H",
49
- "He",
50
- "Li",
51
- "Be",
52
- "B",
53
- "C",
54
- "N",
55
- "O",
56
- "F",
57
- "Ne",
58
- "Na",
59
- "Mg",
60
- "Al",
61
- "Si",
62
- "P",
63
- "S",
64
- "Cl",
65
- "Ar",
66
- "K",
67
- "Ca",
68
- "Sc",
69
- "Ti",
70
- "V",
71
- "Cr",
72
- "Mn",
73
- "Fe",
74
- "Co",
75
- "Ni",
76
- "Cu",
77
- "Zn",
78
- "Ga",
79
- "Ge",
80
- "As",
81
- "Se",
82
- "Br",
83
- "Kr",
84
- "Rb",
85
- "Sr",
86
- "Y",
87
- "Zr",
88
- "Nb",
89
- "Mo",
90
- "Tc",
91
- "Ru",
92
- "Rh",
93
- "Pd",
94
- "Ag",
95
- "Cd",
96
- "In",
97
- "Sn",
98
- "Sb",
99
- "Te",
100
- "I",
101
- "Xe",
102
- "Cs",
103
- "Ba",
104
- "La",
105
- "Ce",
106
- "Pr",
107
- "Nd",
108
- "Pm",
109
- "Sm",
110
- "Eu",
111
- "Gd",
112
- "Tb",
113
- "Dy",
114
- "Ho",
115
- "Er",
116
- "Tm",
117
- "Yb",
118
- "Lu",
119
- "Hf",
120
- "Ta",
121
- "W",
122
- "Re",
123
- "Os",
124
- "Ir",
125
- "Pt",
126
- "Au",
127
- "Hg",
128
- "Tl",
129
- "Pb",
130
- "Bi",
131
- "Po",
132
- "At",
133
- "Rn",
134
- "Fr",
135
- "Ra",
136
- "Ac",
137
- "Th",
138
- "Pa",
139
- "U",
140
- "Np",
141
- "Pu",
142
- "Am",
143
- "Cm",
144
- "Bk",
145
- "Cf",
146
- "Es",
147
- "Fm",
148
- "Md",
149
- "No",
150
- "Lr",
151
- "Rf",
152
- "Db",
153
- "Sg",
154
- "Bh",
155
- "Hs",
156
- "Mt",
157
- "Ds",
158
- "Rg",
159
- "Cn",
160
- "Nh",
161
- "Fl",
162
- "Mc",
163
- "Lv",
164
- "Ts",
165
- "Og"
166
- ]
167
- },
168
- {
169
- "type": "string",
170
- "pattern": "^([A-Z][a-z]?[0-9]*)+$"
171
- }
172
- ]
173
- },
174
- "space_group_symmetry_label": {
175
- "title": "Space Group Symmetry Label",
176
- "description": "Space group symmetry designation for the termination",
177
- "type": "string"
178
- }
179
- }
27
+ "formula": {
28
+ "description": "reduced chemical formula",
29
+ "type": "string"
180
30
  },
181
- "number_of_repetitions": {
182
- "type": "integer",
183
- "minimum": 1,
184
- "description": "Number of repetitions of the unique atomic layers"
31
+ "unitCellFormula": {
32
+ "description": "chemical formula based on the number of atoms of each element in the supercell",
33
+ "type": "string"
185
34
  },
186
- "crystal": {
35
+ "basis": {
187
36
  "$schema": "http://json-schema.org/draft-07/schema#",
188
- "title": "Crystal Schema",
189
- "description": "A crystal structure, referencing the base material schema",
37
+ "title": "basis schema",
190
38
  "type": "object",
191
39
  "required": [
192
- "basis",
193
- "lattice"
40
+ "elements",
41
+ "coordinates"
194
42
  ],
195
43
  "properties": {
196
- "formula": {
197
- "description": "reduced chemical formula",
198
- "type": "string"
199
- },
200
- "unitCellFormula": {
201
- "description": "chemical formula based on the number of atoms of each element in the supercell",
202
- "type": "string"
203
- },
204
- "basis": {
44
+ "elements": {
205
45
  "$schema": "http://json-schema.org/draft-07/schema#",
206
- "title": "basis schema",
207
- "type": "object",
208
- "required": [
209
- "elements",
210
- "coordinates"
211
- ],
212
- "properties": {
213
- "elements": {
214
- "$schema": "http://json-schema.org/draft-07/schema#",
215
- "title": "atomic elements schema",
216
- "description": "atomic elements schema",
217
- "type": "array",
218
- "items": {
219
- "$schema": "http://json-schema.org/draft-07/schema#",
220
- "title": "atomic element schema",
221
- "description": "chemical element of an atom according to the periodic table",
222
- "type": "object",
223
- "required": [
224
- "id",
225
- "value"
226
- ],
227
- "properties": {
228
- "value": {
229
- "description": "All elements, including extra elements",
230
- "anyOf": [
231
- {
232
- "enum": [
233
- "H",
234
- "He",
235
- "Li",
236
- "Be",
237
- "B",
238
- "C",
239
- "N",
240
- "O",
241
- "F",
242
- "Ne",
243
- "Na",
244
- "Mg",
245
- "Al",
246
- "Si",
247
- "P",
248
- "S",
249
- "Cl",
250
- "Ar",
251
- "K",
252
- "Ca",
253
- "Sc",
254
- "Ti",
255
- "V",
256
- "Cr",
257
- "Mn",
258
- "Fe",
259
- "Co",
260
- "Ni",
261
- "Cu",
262
- "Zn",
263
- "Ga",
264
- "Ge",
265
- "As",
266
- "Se",
267
- "Br",
268
- "Kr",
269
- "Rb",
270
- "Sr",
271
- "Y",
272
- "Zr",
273
- "Nb",
274
- "Mo",
275
- "Tc",
276
- "Ru",
277
- "Rh",
278
- "Pd",
279
- "Ag",
280
- "Cd",
281
- "In",
282
- "Sn",
283
- "Sb",
284
- "Te",
285
- "I",
286
- "Xe",
287
- "Cs",
288
- "Ba",
289
- "La",
290
- "Ce",
291
- "Pr",
292
- "Nd",
293
- "Pm",
294
- "Sm",
295
- "Eu",
296
- "Gd",
297
- "Tb",
298
- "Dy",
299
- "Ho",
300
- "Er",
301
- "Tm",
302
- "Yb",
303
- "Lu",
304
- "Hf",
305
- "Ta",
306
- "W",
307
- "Re",
308
- "Os",
309
- "Ir",
310
- "Pt",
311
- "Au",
312
- "Hg",
313
- "Tl",
314
- "Pb",
315
- "Bi",
316
- "Po",
317
- "At",
318
- "Rn",
319
- "Fr",
320
- "Ra",
321
- "Ac",
322
- "Th",
323
- "Pa",
324
- "U",
325
- "Np",
326
- "Pu",
327
- "Am",
328
- "Cm",
329
- "Bk",
330
- "Cf",
331
- "Es",
332
- "Fm",
333
- "Md",
334
- "No",
335
- "Lr",
336
- "Rf",
337
- "Db",
338
- "Sg",
339
- "Bh",
340
- "Hs",
341
- "Mt",
342
- "Ds",
343
- "Rg",
344
- "Cn",
345
- "Nh",
346
- "Fl",
347
- "Mc",
348
- "Lv",
349
- "Ts",
350
- "Og"
351
- ]
352
- },
353
- {
354
- "description": "Extra elements, used for convenience purposed",
355
- "enum": [
356
- "X",
357
- "Vac"
358
- ]
359
- }
360
- ],
361
- "type": "string"
362
- },
363
- "id": {
364
- "description": "integer id of this entry",
365
- "type": "integer"
366
- }
367
- }
368
- }
369
- },
370
- "coordinates": {
371
- "$schema": "http://json-schema.org/draft-07/schema#",
372
- "title": "atomic coordinates schema",
373
- "description": "atomic coordinates schema",
374
- "type": "array",
375
- "items": {
376
- "$schema": "http://json-schema.org/draft-07/schema#",
377
- "title": "atomic coordinate schema",
378
- "description": "coordinate of an atom",
379
- "type": "object",
380
- "required": [
381
- "id",
382
- "value"
383
- ],
384
- "properties": {
385
- "value": {
386
- "$schema": "http://json-schema.org/draft-07/schema#",
387
- "title": "coordinate 3d schema",
388
- "type": "array",
389
- "minItems": 3,
390
- "maxItems": 3,
391
- "description": "value of this entry",
392
- "items": {
393
- "type": "number"
394
- }
395
- },
396
- "id": {
397
- "description": "integer id of this entry",
398
- "type": "integer"
399
- }
400
- }
401
- }
402
- },
403
- "units": {
404
- "$schema": "http://json-schema.org/draft-07/schema#",
405
- "title": "basis units enum",
406
- "enum": [
407
- "crystal",
408
- "cartesian"
409
- ],
410
- "default": "crystal"
411
- },
412
- "labels": {
413
- "$schema": "http://json-schema.org/draft-07/schema#",
414
- "title": "atomic labels schema",
415
- "description": "atomic labels schema",
416
- "type": "array",
417
- "items": {
418
- "$schema": "http://json-schema.org/draft-07/schema#",
419
- "title": "atomic label schema",
420
- "description": "Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.",
421
- "type": "object",
422
- "required": [
423
- "id",
424
- "value"
425
- ],
426
- "properties": {
427
- "value": {
428
- "anyOf": [
429
- {
430
- "type": [
431
- "integer",
432
- "string",
433
- "number"
434
- ]
435
- },
436
- {
437
- "$schema": "http://json-schema.org/draft-07/schema#",
438
- "title": "integer positive single digit",
439
- "type": "integer",
440
- "minimum": 1,
441
- "maximum": 9
442
- }
443
- ],
444
- "description": "value of this entry"
445
- },
446
- "id": {
447
- "description": "integer id of this entry",
448
- "type": "integer"
449
- }
450
- }
451
- }
452
- }
453
- }
454
- },
455
- "lattice": {
456
- "$schema": "http://json-schema.org/draft-07/schema#",
457
- "title": "lattice schema",
458
- "type": "object",
459
- "required": [
460
- "a",
461
- "b",
462
- "c",
463
- "alpha",
464
- "beta",
465
- "gamma"
466
- ],
467
- "properties": {
468
- "a": {
469
- "description": "length of the first lattice vector",
470
- "type": "number"
471
- },
472
- "b": {
473
- "description": "length of the second lattice vector",
474
- "type": "number"
475
- },
476
- "c": {
477
- "description": "length of the third lattice vector",
478
- "type": "number"
479
- },
480
- "alpha": {
481
- "description": "angle between first and second lattice vector",
482
- "type": "number"
483
- },
484
- "beta": {
485
- "description": "angle between second and third lattice vector",
486
- "type": "number"
487
- },
488
- "gamma": {
489
- "description": "angle between first and third lattice vector",
490
- "type": "number"
491
- },
492
- "vectors": {
493
- "$schema": "http://json-schema.org/draft-07/schema#",
494
- "title": "lattice vectors schema",
495
- "type": "object",
496
- "required": [
497
- "a",
498
- "b",
499
- "c"
500
- ],
501
- "properties": {
502
- "a": {
503
- "$schema": "http://json-schema.org/draft-07/schema#",
504
- "title": "vector 3d schema",
505
- "type": "array",
506
- "minItems": 3,
507
- "maxItems": 3,
508
- "items": {
509
- "type": "number"
510
- }
511
- },
512
- "b": {
513
- "$schema": "http://json-schema.org/draft-07/schema#",
514
- "title": "vector 3d schema",
515
- "type": "array",
516
- "minItems": 3,
517
- "maxItems": 3,
518
- "items": {
519
- "type": "number"
520
- }
521
- },
522
- "c": {
523
- "$schema": "http://json-schema.org/draft-07/schema#",
524
- "title": "vector 3d schema",
525
- "type": "array",
526
- "minItems": 3,
527
- "maxItems": 3,
528
- "items": {
529
- "type": "number"
530
- }
531
- },
532
- "alat": {
533
- "description": "lattice parameter for fractional coordinates",
534
- "type": "number",
535
- "default": 1
536
- },
537
- "units": {
538
- "$schema": "http://json-schema.org/draft-07/schema#",
539
- "title": "lattice vectors units enum",
540
- "enum": [
541
- "angstrom",
542
- "bohr"
543
- ],
544
- "default": "angstrom"
545
- }
546
- }
547
- },
548
- "type": {
549
- "$schema": "http://json-schema.org/draft-07/schema#",
550
- "title": "lattice type enum",
551
- "type": "string",
552
- "enum": [
553
- "CUB",
554
- "BCC",
555
- "FCC",
556
- "TET",
557
- "MCL",
558
- "ORC",
559
- "ORCC",
560
- "ORCF",
561
- "ORCI",
562
- "HEX",
563
- "BCT",
564
- "TRI",
565
- "MCLC",
566
- "RHL"
567
- ],
568
- "default": "TRI"
569
- },
570
- "units": {
571
- "$schema": "http://json-schema.org/draft-07/schema#",
572
- "title": "Lattice units schema",
573
- "type": "object",
574
- "default": {
575
- "length": "angstrom",
576
- "angle": "degree"
577
- },
578
- "properties": {
579
- "length": {
580
- "$schema": "http://json-schema.org/draft-07/schema#",
581
- "title": "lattice units length enum",
582
- "enum": [
583
- "angstrom",
584
- "bohr"
585
- ],
586
- "default": "angstrom"
587
- },
588
- "angle": {
589
- "$schema": "http://json-schema.org/draft-07/schema#",
590
- "title": "lattice units angle enum",
591
- "enum": [
592
- "degree",
593
- "radian"
594
- ],
595
- "default": "degree"
596
- }
597
- }
598
- }
599
- }
600
- },
601
- "derivedProperties": {
602
- "$schema": "http://json-schema.org/draft-07/schema#",
603
- "title": "derived properties schema",
46
+ "title": "atomic elements schema",
47
+ "description": "atomic elements schema",
604
48
  "type": "array",
605
49
  "items": {
606
- "oneOf": [
607
- {
608
- "$schema": "http://json-schema.org/draft-07/schema#",
609
- "title": "volume schema",
610
- "type": "object",
611
- "required": [
612
- "value"
613
- ],
614
- "properties": {
615
- "name": {
616
- "enum": [
617
- "volume"
618
- ]
619
- },
620
- "units": {
621
- "enum": [
622
- "angstrom^3"
623
- ]
624
- },
625
- "value": {
626
- "type": "number"
627
- }
628
- }
629
- },
630
- {
631
- "$schema": "http://json-schema.org/draft-07/schema#",
632
- "title": "density schema",
633
- "type": "object",
634
- "required": [
635
- "value"
636
- ],
637
- "properties": {
638
- "name": {
639
- "enum": [
640
- "density"
641
- ]
642
- },
643
- "units": {
644
- "enum": [
645
- "g/cm^3"
646
- ]
647
- },
648
- "value": {
649
- "type": "number"
650
- }
651
- }
652
- },
653
- {
654
- "$schema": "http://json-schema.org/draft-07/schema#",
655
- "title": "symmetry schema",
656
- "type": "object",
657
- "properties": {
658
- "pointGroupSymbol": {
659
- "description": "point group symbol in Schoenflies notation",
660
- "type": "string"
661
- },
662
- "spaceGroupSymbol": {
663
- "description": "space group symbol in Hermann–Mauguin notation",
664
- "type": "string"
665
- },
666
- "tolerance": {
667
- "type": "object",
668
- "description": "tolerance used for symmetry calculation",
669
- "$schema": "http://json-schema.org/draft-07/schema#",
670
- "title": "scalar schema",
671
- "required": [
672
- "value"
673
- ],
674
- "properties": {
675
- "units": {
676
- "enum": [
677
- "angstrom"
678
- ]
679
- },
680
- "value": {
681
- "type": "number"
682
- }
683
- }
684
- },
685
- "name": {
686
- "enum": [
687
- "symmetry"
688
- ]
689
- }
690
- }
691
- },
692
- {
693
- "$schema": "http://json-schema.org/draft-07/schema#",
694
- "title": "elemental-ratio",
695
- "description": "ration of this element in the compound",
696
- "type": "object",
697
- "required": [
698
- "value"
699
- ],
700
- "properties": {
701
- "name": {
702
- "enum": [
703
- "elemental_ratio"
704
- ]
705
- },
706
- "value": {
707
- "type": "number",
708
- "minimum": 0,
709
- "maximum": 1
710
- },
711
- "element": {
712
- "type": "string",
713
- "description": "the element this ratio is for"
714
- }
715
- }
716
- },
717
- {
718
- "$schema": "http://json-schema.org/draft-07/schema#",
719
- "title": "p_norm",
720
- "description": "https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm",
721
- "type": "object",
722
- "required": [
723
- "value"
724
- ],
725
- "properties": {
726
- "name": {
727
- "enum": [
728
- "p-norm"
729
- ]
730
- },
731
- "degree": {
732
- "type": "integer",
733
- "description": "degree of the dimensionality of the norm"
734
- },
735
- "value": {
736
- "type": "number"
737
- }
738
- }
739
- },
740
- {
741
- "$schema": "http://json-schema.org/draft-07/schema#",
742
- "title": "InChI representation schema",
743
- "type": "object",
744
- "required": [
745
- "value"
746
- ],
747
- "properties": {
748
- "name": {
50
+ "$schema": "http://json-schema.org/draft-07/schema#",
51
+ "title": "atomic element schema",
52
+ "description": "chemical element of an atom according to the periodic table",
53
+ "type": "object",
54
+ "required": [
55
+ "id",
56
+ "value"
57
+ ],
58
+ "properties": {
59
+ "value": {
60
+ "description": "All elements, including extra elements",
61
+ "anyOf": [
62
+ {
749
63
  "enum": [
750
- "inchi"
64
+ "H",
65
+ "He",
66
+ "Li",
67
+ "Be",
68
+ "B",
69
+ "C",
70
+ "N",
71
+ "O",
72
+ "F",
73
+ "Ne",
74
+ "Na",
75
+ "Mg",
76
+ "Al",
77
+ "Si",
78
+ "P",
79
+ "S",
80
+ "Cl",
81
+ "Ar",
82
+ "K",
83
+ "Ca",
84
+ "Sc",
85
+ "Ti",
86
+ "V",
87
+ "Cr",
88
+ "Mn",
89
+ "Fe",
90
+ "Co",
91
+ "Ni",
92
+ "Cu",
93
+ "Zn",
94
+ "Ga",
95
+ "Ge",
96
+ "As",
97
+ "Se",
98
+ "Br",
99
+ "Kr",
100
+ "Rb",
101
+ "Sr",
102
+ "Y",
103
+ "Zr",
104
+ "Nb",
105
+ "Mo",
106
+ "Tc",
107
+ "Ru",
108
+ "Rh",
109
+ "Pd",
110
+ "Ag",
111
+ "Cd",
112
+ "In",
113
+ "Sn",
114
+ "Sb",
115
+ "Te",
116
+ "I",
117
+ "Xe",
118
+ "Cs",
119
+ "Ba",
120
+ "La",
121
+ "Ce",
122
+ "Pr",
123
+ "Nd",
124
+ "Pm",
125
+ "Sm",
126
+ "Eu",
127
+ "Gd",
128
+ "Tb",
129
+ "Dy",
130
+ "Ho",
131
+ "Er",
132
+ "Tm",
133
+ "Yb",
134
+ "Lu",
135
+ "Hf",
136
+ "Ta",
137
+ "W",
138
+ "Re",
139
+ "Os",
140
+ "Ir",
141
+ "Pt",
142
+ "Au",
143
+ "Hg",
144
+ "Tl",
145
+ "Pb",
146
+ "Bi",
147
+ "Po",
148
+ "At",
149
+ "Rn",
150
+ "Fr",
151
+ "Ra",
152
+ "Ac",
153
+ "Th",
154
+ "Pa",
155
+ "U",
156
+ "Np",
157
+ "Pu",
158
+ "Am",
159
+ "Cm",
160
+ "Bk",
161
+ "Cf",
162
+ "Es",
163
+ "Fm",
164
+ "Md",
165
+ "No",
166
+ "Lr",
167
+ "Rf",
168
+ "Db",
169
+ "Sg",
170
+ "Bh",
171
+ "Hs",
172
+ "Mt",
173
+ "Ds",
174
+ "Rg",
175
+ "Cn",
176
+ "Nh",
177
+ "Fl",
178
+ "Mc",
179
+ "Lv",
180
+ "Ts",
181
+ "Og"
751
182
  ]
752
183
  },
753
- "value": {
754
- "type": "string"
184
+ {
185
+ "description": "Extra elements, used for convenience purposed",
186
+ "enum": [
187
+ "X",
188
+ "Vac"
189
+ ]
755
190
  }
756
- }
191
+ ],
192
+ "type": "string"
757
193
  },
758
- {
194
+ "id": {
195
+ "description": "integer id of this entry",
196
+ "type": "integer"
197
+ }
198
+ }
199
+ }
200
+ },
201
+ "coordinates": {
202
+ "$schema": "http://json-schema.org/draft-07/schema#",
203
+ "title": "atomic coordinates schema",
204
+ "description": "atomic coordinates schema",
205
+ "type": "array",
206
+ "items": {
207
+ "$schema": "http://json-schema.org/draft-07/schema#",
208
+ "title": "atomic coordinate schema",
209
+ "description": "coordinate of an atom",
210
+ "type": "object",
211
+ "required": [
212
+ "id",
213
+ "value"
214
+ ],
215
+ "properties": {
216
+ "value": {
759
217
  "$schema": "http://json-schema.org/draft-07/schema#",
760
- "title": "InChI key representation schema",
761
- "type": "object",
762
- "required": [
763
- "value"
764
- ],
765
- "properties": {
766
- "name": {
767
- "enum": [
768
- "inchi_key"
218
+ "title": "coordinate 3d schema",
219
+ "type": "array",
220
+ "minItems": 3,
221
+ "maxItems": 3,
222
+ "description": "value of this entry",
223
+ "items": {
224
+ "type": "number"
225
+ }
226
+ },
227
+ "id": {
228
+ "description": "integer id of this entry",
229
+ "type": "integer"
230
+ }
231
+ }
232
+ }
233
+ },
234
+ "units": {
235
+ "$schema": "http://json-schema.org/draft-07/schema#",
236
+ "title": "basis units enum",
237
+ "enum": [
238
+ "crystal",
239
+ "cartesian"
240
+ ],
241
+ "default": "crystal"
242
+ },
243
+ "labels": {
244
+ "$schema": "http://json-schema.org/draft-07/schema#",
245
+ "title": "atomic labels schema",
246
+ "description": "atomic labels schema",
247
+ "type": "array",
248
+ "items": {
249
+ "$schema": "http://json-schema.org/draft-07/schema#",
250
+ "title": "atomic label schema",
251
+ "description": "Optional label (e.g., 1, 2, as in Fe1, Fe2) to distinguish species, e.g. to have magnetic moment.",
252
+ "type": "object",
253
+ "required": [
254
+ "id",
255
+ "value"
256
+ ],
257
+ "properties": {
258
+ "value": {
259
+ "anyOf": [
260
+ {
261
+ "type": [
262
+ "integer",
263
+ "string",
264
+ "number"
769
265
  ]
770
266
  },
771
- "value": {
772
- "type": "string"
267
+ {
268
+ "$schema": "http://json-schema.org/draft-07/schema#",
269
+ "title": "integer positive single digit",
270
+ "type": "integer",
271
+ "minimum": 1,
272
+ "maximum": 9
773
273
  }
774
- }
274
+ ],
275
+ "description": "value of this entry"
276
+ },
277
+ "id": {
278
+ "description": "integer id of this entry",
279
+ "type": "integer"
775
280
  }
776
- ],
777
- "discriminator": {
778
- "propertyName": "name"
779
- },
780
- "required": [
781
- "name"
782
- ]
281
+ }
783
282
  }
283
+ }
284
+ }
285
+ },
286
+ "lattice": {
287
+ "$schema": "http://json-schema.org/draft-07/schema#",
288
+ "title": "lattice schema",
289
+ "type": "object",
290
+ "required": [
291
+ "a",
292
+ "b",
293
+ "c",
294
+ "alpha",
295
+ "beta",
296
+ "gamma"
297
+ ],
298
+ "properties": {
299
+ "a": {
300
+ "description": "length of the first lattice vector",
301
+ "type": "number"
784
302
  },
785
- "external": {
303
+ "b": {
304
+ "description": "length of the second lattice vector",
305
+ "type": "number"
306
+ },
307
+ "c": {
308
+ "description": "length of the third lattice vector",
309
+ "type": "number"
310
+ },
311
+ "alpha": {
312
+ "description": "angle between first and second lattice vector",
313
+ "type": "number"
314
+ },
315
+ "beta": {
316
+ "description": "angle between second and third lattice vector",
317
+ "type": "number"
318
+ },
319
+ "gamma": {
320
+ "description": "angle between first and third lattice vector",
321
+ "type": "number"
322
+ },
323
+ "vectors": {
786
324
  "$schema": "http://json-schema.org/draft-07/schema#",
787
- "title": "database source schema",
788
- "description": "information about a database source",
325
+ "title": "lattice vectors schema",
789
326
  "type": "object",
790
327
  "required": [
791
- "id",
792
- "source",
793
- "origin"
328
+ "a",
329
+ "b",
330
+ "c"
794
331
  ],
795
332
  "properties": {
796
- "id": {
797
- "description": "ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32",
798
- "oneOf": [
799
- {
800
- "type": "string"
801
- },
802
- {
803
- "type": "number"
804
- }
805
- ]
806
- },
807
- "source": {
808
- "description": "Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.",
809
- "type": "string"
333
+ "a": {
334
+ "$schema": "http://json-schema.org/draft-07/schema#",
335
+ "title": "vector 3d schema",
336
+ "type": "array",
337
+ "minItems": 3,
338
+ "maxItems": 3,
339
+ "items": {
340
+ "type": "number"
341
+ }
810
342
  },
811
- "origin": {
812
- "description": "Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).",
813
- "type": "boolean"
343
+ "b": {
344
+ "$schema": "http://json-schema.org/draft-07/schema#",
345
+ "title": "vector 3d schema",
346
+ "type": "array",
347
+ "minItems": 3,
348
+ "maxItems": 3,
349
+ "items": {
350
+ "type": "number"
351
+ }
814
352
  },
815
- "data": {
816
- "description": "Original response from external source.",
817
- "type": "object"
353
+ "c": {
354
+ "$schema": "http://json-schema.org/draft-07/schema#",
355
+ "title": "vector 3d schema",
356
+ "type": "array",
357
+ "minItems": 3,
358
+ "maxItems": 3,
359
+ "items": {
360
+ "type": "number"
361
+ }
818
362
  },
819
- "doi": {
820
- "description": "Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506",
821
- "type": "string"
363
+ "alat": {
364
+ "description": "lattice parameter for fractional coordinates",
365
+ "type": "number",
366
+ "default": 1
822
367
  },
823
- "url": {
824
- "description": "The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers",
825
- "type": "string"
368
+ "units": {
369
+ "$schema": "http://json-schema.org/draft-07/schema#",
370
+ "title": "lattice vectors units enum",
371
+ "enum": [
372
+ "angstrom",
373
+ "bohr"
374
+ ],
375
+ "default": "angstrom"
826
376
  }
827
377
  }
828
378
  },
829
- "src": {
379
+ "type": {
830
380
  "$schema": "http://json-schema.org/draft-07/schema#",
831
- "title": "file source schema",
832
- "description": "file source with the information inside",
833
- "type": "object",
834
- "required": [
835
- "filename",
836
- "text",
837
- "hash"
381
+ "title": "lattice type enum",
382
+ "type": "string",
383
+ "enum": [
384
+ "CUB",
385
+ "BCC",
386
+ "FCC",
387
+ "TET",
388
+ "MCL",
389
+ "ORC",
390
+ "ORCC",
391
+ "ORCF",
392
+ "ORCI",
393
+ "HEX",
394
+ "BCT",
395
+ "TRI",
396
+ "MCLC",
397
+ "RHL"
838
398
  ],
399
+ "default": "TRI"
400
+ },
401
+ "units": {
402
+ "$schema": "http://json-schema.org/draft-07/schema#",
403
+ "title": "Lattice units schema",
404
+ "type": "object",
405
+ "default": {
406
+ "length": "angstrom",
407
+ "angle": "degree"
408
+ },
839
409
  "properties": {
840
- "extension": {
841
- "description": "file extension",
842
- "type": "string"
843
- },
844
- "filename": {
845
- "description": "file name without extension",
846
- "type": "string"
847
- },
848
- "text": {
849
- "description": "file content as raw text",
850
- "type": "string"
410
+ "length": {
411
+ "$schema": "http://json-schema.org/draft-07/schema#",
412
+ "title": "lattice units length enum",
413
+ "enum": [
414
+ "angstrom",
415
+ "bohr"
416
+ ],
417
+ "default": "angstrom"
851
418
  },
852
- "hash": {
853
- "description": "MD5 hash based on file content",
854
- "type": "string"
419
+ "angle": {
420
+ "$schema": "http://json-schema.org/draft-07/schema#",
421
+ "title": "lattice units angle enum",
422
+ "enum": [
423
+ "degree",
424
+ "radian"
425
+ ],
426
+ "default": "degree"
855
427
  }
856
428
  }
857
- },
858
- "scaledHash": {
859
- "description": "Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).",
860
- "type": "string"
861
- },
862
- "icsdId": {
863
- "description": "Corresponding ICSD id of the material",
864
- "type": "integer"
865
- },
866
- "isNonPeriodic": {
867
- "description": "Whether to work in the finite molecular picture (usually with atomic orbital basis)",
868
- "type": "boolean"
869
- },
870
- "consistencyChecks": {
871
- "type": "array",
872
- "items": {
429
+ }
430
+ }
431
+ },
432
+ "derivedProperties": {
433
+ "$schema": "http://json-schema.org/draft-07/schema#",
434
+ "title": "derived properties schema",
435
+ "type": "array",
436
+ "items": {
437
+ "oneOf": [
438
+ {
873
439
  "$schema": "http://json-schema.org/draft-07/schema#",
874
- "title": "material consistency check schema",
440
+ "title": "volume schema",
441
+ "type": "object",
442
+ "required": [
443
+ "value"
444
+ ],
445
+ "properties": {
446
+ "name": {
447
+ "enum": [
448
+ "volume"
449
+ ]
450
+ },
451
+ "units": {
452
+ "enum": [
453
+ "angstrom^3"
454
+ ]
455
+ },
456
+ "value": {
457
+ "type": "number"
458
+ }
459
+ }
460
+ },
461
+ {
462
+ "$schema": "http://json-schema.org/draft-07/schema#",
463
+ "title": "density schema",
464
+ "type": "object",
465
+ "required": [
466
+ "value"
467
+ ],
468
+ "properties": {
469
+ "name": {
470
+ "enum": [
471
+ "density"
472
+ ]
473
+ },
474
+ "units": {
475
+ "enum": [
476
+ "g/cm^3"
477
+ ]
478
+ },
479
+ "value": {
480
+ "type": "number"
481
+ }
482
+ }
483
+ },
484
+ {
485
+ "$schema": "http://json-schema.org/draft-07/schema#",
486
+ "title": "symmetry schema",
487
+ "type": "object",
488
+ "properties": {
489
+ "pointGroupSymbol": {
490
+ "description": "point group symbol in Schoenflies notation",
491
+ "type": "string"
492
+ },
493
+ "spaceGroupSymbol": {
494
+ "description": "space group symbol in Hermann–Mauguin notation",
495
+ "type": "string"
496
+ },
497
+ "tolerance": {
498
+ "type": "object",
499
+ "description": "tolerance used for symmetry calculation",
500
+ "$schema": "http://json-schema.org/draft-07/schema#",
501
+ "title": "scalar schema",
502
+ "required": [
503
+ "value"
504
+ ],
505
+ "properties": {
506
+ "units": {
507
+ "enum": [
508
+ "angstrom"
509
+ ]
510
+ },
511
+ "value": {
512
+ "type": "number"
513
+ }
514
+ }
515
+ },
516
+ "name": {
517
+ "enum": [
518
+ "symmetry"
519
+ ]
520
+ }
521
+ }
522
+ },
523
+ {
524
+ "$schema": "http://json-schema.org/draft-07/schema#",
525
+ "title": "elemental-ratio",
526
+ "description": "ration of this element in the compound",
527
+ "type": "object",
528
+ "required": [
529
+ "value"
530
+ ],
531
+ "properties": {
532
+ "name": {
533
+ "enum": [
534
+ "elemental_ratio"
535
+ ]
536
+ },
537
+ "value": {
538
+ "type": "number",
539
+ "minimum": 0,
540
+ "maximum": 1
541
+ },
542
+ "element": {
543
+ "type": "string",
544
+ "description": "the element this ratio is for"
545
+ }
546
+ }
547
+ },
548
+ {
549
+ "$schema": "http://json-schema.org/draft-07/schema#",
550
+ "title": "p_norm",
551
+ "description": "https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm",
552
+ "type": "object",
553
+ "required": [
554
+ "value"
555
+ ],
556
+ "properties": {
557
+ "name": {
558
+ "enum": [
559
+ "p-norm"
560
+ ]
561
+ },
562
+ "degree": {
563
+ "type": "integer",
564
+ "description": "degree of the dimensionality of the norm"
565
+ },
566
+ "value": {
567
+ "type": "number"
568
+ }
569
+ }
570
+ },
571
+ {
572
+ "$schema": "http://json-schema.org/draft-07/schema#",
573
+ "title": "InChI representation schema",
875
574
  "type": "object",
876
- "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.",
877
575
  "required": [
878
- "key",
879
- "name",
880
- "severity",
881
- "message"
576
+ "value"
882
577
  ],
883
578
  "properties": {
884
579
  "name": {
885
- "type": "string",
886
580
  "enum": [
887
- "default",
888
- "atomsTooClose",
889
- "atomsOverlap"
890
- ],
891
- "description": "Name of the consistency check that is performed, which is listed in an enum."
892
- },
893
- "key": {
894
- "type": "string",
895
- "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"
581
+ "inchi"
582
+ ]
896
583
  },
897
- "severity": {
584
+ "value": {
585
+ "type": "string"
586
+ }
587
+ }
588
+ },
589
+ {
590
+ "$schema": "http://json-schema.org/draft-07/schema#",
591
+ "title": "InChI key representation schema",
592
+ "type": "object",
593
+ "required": [
594
+ "value"
595
+ ],
596
+ "properties": {
597
+ "name": {
898
598
  "enum": [
899
- "info",
900
- "warning",
901
- "error"
902
- ],
903
- "description": "Severity level of the problem, which is used in UI to differentiate."
599
+ "inchi_key"
600
+ ]
904
601
  },
905
- "message": {
906
- "type": "string",
907
- "description": "Message generated by the consistency check describing the problem."
602
+ "value": {
603
+ "type": "string"
908
604
  }
909
605
  }
910
606
  }
607
+ ],
608
+ "discriminator": {
609
+ "propertyName": "name"
911
610
  },
912
- "_id": {
913
- "description": "entity identity",
914
- "type": "string"
611
+ "required": [
612
+ "name"
613
+ ]
614
+ }
615
+ },
616
+ "external": {
617
+ "$schema": "http://json-schema.org/draft-07/schema#",
618
+ "title": "database source schema",
619
+ "description": "information about a database source",
620
+ "type": "object",
621
+ "required": [
622
+ "id",
623
+ "source",
624
+ "origin"
625
+ ],
626
+ "properties": {
627
+ "id": {
628
+ "description": "ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32",
629
+ "oneOf": [
630
+ {
631
+ "type": "string"
632
+ },
633
+ {
634
+ "type": "number"
635
+ }
636
+ ]
915
637
  },
916
- "slug": {
917
- "description": "entity slug",
638
+ "source": {
639
+ "description": "Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.",
918
640
  "type": "string"
919
641
  },
920
- "systemName": {
921
- "type": "string"
642
+ "origin": {
643
+ "description": "Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).",
644
+ "type": "boolean"
922
645
  },
923
- "schemaVersion": {
924
- "description": "entity's schema version. Used to distinct between different schemas.",
925
- "type": "string",
926
- "default": "2022.8.16"
646
+ "data": {
647
+ "description": "Original response from external source.",
648
+ "type": "object"
927
649
  },
928
- "name": {
929
- "description": "entity name",
650
+ "doi": {
651
+ "description": "Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506",
930
652
  "type": "string"
931
653
  },
932
- "isDefault": {
933
- "description": "Identifies that entity is defaultable",
934
- "type": "boolean",
935
- "default": false
936
- },
937
- "metadata": {
938
- "type": "object"
654
+ "url": {
655
+ "description": "The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers",
656
+ "type": "string"
939
657
  }
940
658
  }
941
659
  },
942
- "miller_indices": {
660
+ "src": {
943
661
  "$schema": "http://json-schema.org/draft-07/schema#",
944
- "title": "Miller Indices Schema",
945
- "description": "Miller indices [h, k, l] defining crystallographic planes",
946
- "default": [
947
- 0,
948
- 0,
949
- 1
662
+ "title": "file source schema",
663
+ "description": "file source with the information inside",
664
+ "type": "object",
665
+ "required": [
666
+ "filename",
667
+ "text",
668
+ "hash"
950
669
  ],
670
+ "properties": {
671
+ "extension": {
672
+ "description": "file extension",
673
+ "type": "string"
674
+ },
675
+ "filename": {
676
+ "description": "file name without extension",
677
+ "type": "string"
678
+ },
679
+ "text": {
680
+ "description": "file content as raw text",
681
+ "type": "string"
682
+ },
683
+ "hash": {
684
+ "description": "MD5 hash based on file content",
685
+ "type": "string"
686
+ }
687
+ }
688
+ },
689
+ "scaledHash": {
690
+ "description": "Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).",
691
+ "type": "string"
692
+ },
693
+ "icsdId": {
694
+ "description": "Corresponding ICSD id of the material",
695
+ "type": "integer"
696
+ },
697
+ "isNonPeriodic": {
698
+ "description": "Whether to work in the finite molecular picture (usually with atomic orbital basis)",
699
+ "type": "boolean"
700
+ },
701
+ "consistencyChecks": {
951
702
  "type": "array",
952
- "minItems": 3,
953
- "maxItems": 3,
954
703
  "items": {
955
- "type": "integer"
704
+ "$schema": "http://json-schema.org/draft-07/schema#",
705
+ "title": "material consistency check schema",
706
+ "type": "object",
707
+ "description": "The output of consistency checks performed on data adhering to JSON schema, but inconsistent with scientific or logical rules, to show problems in UI.",
708
+ "required": [
709
+ "key",
710
+ "name",
711
+ "severity",
712
+ "message"
713
+ ],
714
+ "properties": {
715
+ "name": {
716
+ "type": "string",
717
+ "enum": [
718
+ "default",
719
+ "atomsTooClose",
720
+ "atomsOverlap"
721
+ ],
722
+ "description": "Name of the consistency check that is performed, which is listed in an enum."
723
+ },
724
+ "key": {
725
+ "type": "string",
726
+ "description": "Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'"
727
+ },
728
+ "severity": {
729
+ "enum": [
730
+ "info",
731
+ "warning",
732
+ "error"
733
+ ],
734
+ "description": "Severity level of the problem, which is used in UI to differentiate."
735
+ },
736
+ "message": {
737
+ "type": "string",
738
+ "description": "Message generated by the consistency check describing the problem."
739
+ }
740
+ }
956
741
  }
957
742
  },
958
- "use_conventional_cell": {
743
+ "_id": {
744
+ "description": "entity identity",
745
+ "type": "string"
746
+ },
747
+ "slug": {
748
+ "description": "entity slug",
749
+ "type": "string"
750
+ },
751
+ "systemName": {
752
+ "type": "string"
753
+ },
754
+ "schemaVersion": {
755
+ "description": "entity's schema version. Used to distinct between different schemas.",
756
+ "type": "string",
757
+ "default": "2022.8.16"
758
+ },
759
+ "name": {
760
+ "description": "entity name",
761
+ "type": "string"
762
+ },
763
+ "isDefault": {
764
+ "description": "Identifies that entity is defaultable",
959
765
  "type": "boolean",
960
- "description": "Use the conventional cell for the crystal structure",
961
- "default": true
766
+ "default": false
767
+ },
768
+ "metadata": {
769
+ "type": "object"
962
770
  }
963
771
  }
964
772
  },
965
773
  {
966
774
  "$schema": "http://json-schema.org/draft-07/schema#",
967
- "title": "Vacuum Configuration Schema",
968
- "description": "A vacuum slab that breaks periodicity in a specified direction",
775
+ "title": "Point Defect Site Schema",
776
+ "description": "A crystal site with defect information (atom or vacancy) for point defects",
969
777
  "type": "object",
778
+ "required": [
779
+ "coordinate",
780
+ "crystal",
781
+ "element"
782
+ ],
970
783
  "properties": {
971
- "direction": {
972
- "$schema": "http://json-schema.org/draft-07/schema#",
973
- "title": "Axis Enum",
974
- "type": "string",
975
- "description": "Enum for axis types",
976
- "enum": [
977
- "x",
978
- "y",
979
- "z"
980
- ]
981
- },
982
- "size": {
983
- "type": "number",
984
- "description": "Size of the vacuum slab in angstroms",
985
- "minimum": 0,
986
- "default": 10
987
- },
988
784
  "crystal": {
989
785
  "$schema": "http://json-schema.org/draft-07/schema#",
990
786
  "title": "Crystal Schema",
@@ -1740,27 +1536,327 @@
1740
1536
  "type": "object"
1741
1537
  }
1742
1538
  }
1539
+ },
1540
+ "coordinate": {
1541
+ "$schema": "http://json-schema.org/draft-07/schema#",
1542
+ "title": "coordinate 3d schema",
1543
+ "type": "array",
1544
+ "minItems": 3,
1545
+ "maxItems": 3,
1546
+ "items": {
1547
+ "type": "number"
1548
+ }
1549
+ },
1550
+ "element": {
1551
+ "anyOf": [
1552
+ {
1553
+ "$schema": "http://json-schema.org/draft-07/schema#",
1554
+ "title": "Atom Schema",
1555
+ "description": "A chemical element that can be placed at a crystal site",
1556
+ "type": "object",
1557
+ "properties": {
1558
+ "chemical_element": {
1559
+ "enum": [
1560
+ "H",
1561
+ "He",
1562
+ "Li",
1563
+ "Be",
1564
+ "B",
1565
+ "C",
1566
+ "N",
1567
+ "O",
1568
+ "F",
1569
+ "Ne",
1570
+ "Na",
1571
+ "Mg",
1572
+ "Al",
1573
+ "Si",
1574
+ "P",
1575
+ "S",
1576
+ "Cl",
1577
+ "Ar",
1578
+ "K",
1579
+ "Ca",
1580
+ "Sc",
1581
+ "Ti",
1582
+ "V",
1583
+ "Cr",
1584
+ "Mn",
1585
+ "Fe",
1586
+ "Co",
1587
+ "Ni",
1588
+ "Cu",
1589
+ "Zn",
1590
+ "Ga",
1591
+ "Ge",
1592
+ "As",
1593
+ "Se",
1594
+ "Br",
1595
+ "Kr",
1596
+ "Rb",
1597
+ "Sr",
1598
+ "Y",
1599
+ "Zr",
1600
+ "Nb",
1601
+ "Mo",
1602
+ "Tc",
1603
+ "Ru",
1604
+ "Rh",
1605
+ "Pd",
1606
+ "Ag",
1607
+ "Cd",
1608
+ "In",
1609
+ "Sn",
1610
+ "Sb",
1611
+ "Te",
1612
+ "I",
1613
+ "Xe",
1614
+ "Cs",
1615
+ "Ba",
1616
+ "La",
1617
+ "Ce",
1618
+ "Pr",
1619
+ "Nd",
1620
+ "Pm",
1621
+ "Sm",
1622
+ "Eu",
1623
+ "Gd",
1624
+ "Tb",
1625
+ "Dy",
1626
+ "Ho",
1627
+ "Er",
1628
+ "Tm",
1629
+ "Yb",
1630
+ "Lu",
1631
+ "Hf",
1632
+ "Ta",
1633
+ "W",
1634
+ "Re",
1635
+ "Os",
1636
+ "Ir",
1637
+ "Pt",
1638
+ "Au",
1639
+ "Hg",
1640
+ "Tl",
1641
+ "Pb",
1642
+ "Bi",
1643
+ "Po",
1644
+ "At",
1645
+ "Rn",
1646
+ "Fr",
1647
+ "Ra",
1648
+ "Ac",
1649
+ "Th",
1650
+ "Pa",
1651
+ "U",
1652
+ "Np",
1653
+ "Pu",
1654
+ "Am",
1655
+ "Cm",
1656
+ "Bk",
1657
+ "Cf",
1658
+ "Es",
1659
+ "Fm",
1660
+ "Md",
1661
+ "No",
1662
+ "Lr",
1663
+ "Rf",
1664
+ "Db",
1665
+ "Sg",
1666
+ "Bh",
1667
+ "Hs",
1668
+ "Mt",
1669
+ "Ds",
1670
+ "Rg",
1671
+ "Cn",
1672
+ "Nh",
1673
+ "Fl",
1674
+ "Mc",
1675
+ "Lv",
1676
+ "Ts",
1677
+ "Og"
1678
+ ]
1679
+ }
1680
+ },
1681
+ "required": [
1682
+ "chemical_element"
1683
+ ]
1684
+ },
1685
+ {
1686
+ "$schema": "http://json-schema.org/draft-07/schema#",
1687
+ "title": "Vacancy Schema",
1688
+ "description": "A chemical element that can be placed at a crystal site",
1689
+ "type": "object",
1690
+ "properties": {
1691
+ "chemical_element": {
1692
+ "default": "Vac",
1693
+ "description": "Extra elements, used for convenience purposed",
1694
+ "enum": [
1695
+ "X",
1696
+ "Vac"
1697
+ ]
1698
+ }
1699
+ },
1700
+ "required": [
1701
+ "chemical_element"
1702
+ ]
1703
+ }
1704
+ ]
1743
1705
  }
1744
- },
1745
- "required": [
1746
- "direction",
1747
- "size",
1748
- "crystal"
1749
- ]
1706
+ }
1750
1707
  }
1751
1708
  ]
1752
1709
  }
1753
1710
  },
1754
- "direction": {
1711
+ "merge_method": {
1712
+ "default": "ADD",
1755
1713
  "$schema": "http://json-schema.org/draft-07/schema#",
1756
- "title": "Axis Enum",
1714
+ "title": "Merge Methods Enum",
1715
+ "description": "Available methods for merging components",
1757
1716
  "type": "string",
1758
- "description": "Enum for axis types",
1759
1717
  "enum": [
1760
- "x",
1761
- "y",
1762
- "z"
1718
+ "ADD",
1719
+ "REPLACE",
1720
+ "YIELD"
1763
1721
  ]
1722
+ },
1723
+ "passivant": {
1724
+ "$schema": "http://json-schema.org/draft-07/schema#",
1725
+ "title": "Atom Schema",
1726
+ "description": "A chemical element that can be placed at a crystal site",
1727
+ "type": "object",
1728
+ "required": [
1729
+ "chemical_element"
1730
+ ],
1731
+ "properties": {
1732
+ "chemical_element": {
1733
+ "enum": [
1734
+ "H",
1735
+ "He",
1736
+ "Li",
1737
+ "Be",
1738
+ "B",
1739
+ "C",
1740
+ "N",
1741
+ "O",
1742
+ "F",
1743
+ "Ne",
1744
+ "Na",
1745
+ "Mg",
1746
+ "Al",
1747
+ "Si",
1748
+ "P",
1749
+ "S",
1750
+ "Cl",
1751
+ "Ar",
1752
+ "K",
1753
+ "Ca",
1754
+ "Sc",
1755
+ "Ti",
1756
+ "V",
1757
+ "Cr",
1758
+ "Mn",
1759
+ "Fe",
1760
+ "Co",
1761
+ "Ni",
1762
+ "Cu",
1763
+ "Zn",
1764
+ "Ga",
1765
+ "Ge",
1766
+ "As",
1767
+ "Se",
1768
+ "Br",
1769
+ "Kr",
1770
+ "Rb",
1771
+ "Sr",
1772
+ "Y",
1773
+ "Zr",
1774
+ "Nb",
1775
+ "Mo",
1776
+ "Tc",
1777
+ "Ru",
1778
+ "Rh",
1779
+ "Pd",
1780
+ "Ag",
1781
+ "Cd",
1782
+ "In",
1783
+ "Sn",
1784
+ "Sb",
1785
+ "Te",
1786
+ "I",
1787
+ "Xe",
1788
+ "Cs",
1789
+ "Ba",
1790
+ "La",
1791
+ "Ce",
1792
+ "Pr",
1793
+ "Nd",
1794
+ "Pm",
1795
+ "Sm",
1796
+ "Eu",
1797
+ "Gd",
1798
+ "Tb",
1799
+ "Dy",
1800
+ "Ho",
1801
+ "Er",
1802
+ "Tm",
1803
+ "Yb",
1804
+ "Lu",
1805
+ "Hf",
1806
+ "Ta",
1807
+ "W",
1808
+ "Re",
1809
+ "Os",
1810
+ "Ir",
1811
+ "Pt",
1812
+ "Au",
1813
+ "Hg",
1814
+ "Tl",
1815
+ "Pb",
1816
+ "Bi",
1817
+ "Po",
1818
+ "At",
1819
+ "Rn",
1820
+ "Fr",
1821
+ "Ra",
1822
+ "Ac",
1823
+ "Th",
1824
+ "Pa",
1825
+ "U",
1826
+ "Np",
1827
+ "Pu",
1828
+ "Am",
1829
+ "Cm",
1830
+ "Bk",
1831
+ "Cf",
1832
+ "Es",
1833
+ "Fm",
1834
+ "Md",
1835
+ "No",
1836
+ "Lr",
1837
+ "Rf",
1838
+ "Db",
1839
+ "Sg",
1840
+ "Bh",
1841
+ "Hs",
1842
+ "Mt",
1843
+ "Ds",
1844
+ "Rg",
1845
+ "Cn",
1846
+ "Nh",
1847
+ "Fl",
1848
+ "Mc",
1849
+ "Lv",
1850
+ "Ts",
1851
+ "Og"
1852
+ ]
1853
+ }
1854
+ }
1855
+ },
1856
+ "bond_length": {
1857
+ "type": "number",
1858
+ "default": 1,
1859
+ "description": "The bond length for the passivating atoms"
1764
1860
  }
1765
1861
  }
1766
1862
  }