@mat3ra/esse 2025.7.15-0 → 2025.8.6-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.
- package/dist/js/example/core/abstract/vector_2d.json +4 -0
- package/dist/js/example/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +693 -0
- package/dist/js/example/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +566 -0
- package/dist/js/example/materials_category/defective_structures/two_dimensional/adatom/configuration.json +553 -0
- package/dist/js/example/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +693 -0
- package/dist/js/example/materials_category/defective_structures/two_dimensional/island/configuration.json +841 -0
- package/dist/js/example/materials_category/defective_structures/two_dimensional/terrace/configuration.json +846 -0
- package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json +271 -0
- package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json +271 -0
- package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json +271 -0
- package/dist/js/example/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.json +136 -0
- package/dist/js/example/materials_category/pristine_structures/two_dimensional/nanoribbon.json +419 -0
- package/dist/js/example/materials_category/pristine_structures/two_dimensional/nanotape.json +282 -0
- package/dist/js/example/materials_category/pristine_structures/two_dimensional/slab.json +1 -11
- package/dist/js/example/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json +305 -0
- package/dist/js/example/materials_category/processed_structures/two_dimensional/passivation/configuration.json +551 -0
- package/dist/js/example/materials_category_components/entities/auxiliary/one_dimensional/miller_indices_2d.json +4 -0
- package/dist/js/example/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +128 -0
- package/dist/js/example/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json +138 -0
- package/dist/js/example/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json +135 -0
- package/dist/js/example/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json +145 -0
- package/dist/js/example/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json +547 -0
- package/dist/js/example/materials_category_components/operations/core/combinations/merge.json +1 -1
- package/dist/js/example/materials_category_components/operations/core/combinations/stack.json +11 -1
- package/dist/js/example/materials_category_components/operations/core/modifications/perturb.json +131 -0
- package/dist/js/schema/core/abstract/vector_2d.json +11 -0
- package/dist/js/schema/core/primitive/array_of_2_numbers.json +11 -0
- package/dist/js/schema/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +8103 -0
- package/dist/js/schema/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +8109 -0
- package/dist/js/schema/materials_category/defective_structures/two_dimensional/adatom/configuration.json +3563 -0
- package/dist/js/schema/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +8103 -0
- package/dist/js/schema/materials_category/defective_structures/two_dimensional/island/configuration.json +5266 -0
- package/dist/js/schema/materials_category/defective_structures/two_dimensional/terrace/configuration.json +5283 -0
- package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.json +787 -0
- package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.json +1722 -0
- package/dist/js/schema/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.json +1722 -0
- 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
- package/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanoribbon.json +2780 -0
- package/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanotape.json +1940 -0
- package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab.json +1621 -1625
- package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json +1833 -0
- 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
- package/dist/js/schema/materials_category_components/entities/auxiliary/one_dimensional/miller_indices_2d.json +12 -0
- package/dist/js/schema/materials_category_components/entities/auxiliary/two_dimensional/termination.json +1 -0
- package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json +757 -0
- package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.json +936 -0
- package/dist/js/schema/materials_category_components/entities/auxiliary/zero_dimensional/void_region.json +821 -0
- package/dist/js/schema/materials_category_components/entities/core/zero_dimensional/vacancy.json +20 -0
- package/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.json +785 -0
- package/dist/js/schema/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.json +1100 -0
- package/dist/js/schema/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.json +773 -0
- package/dist/js/schema/materials_category_components/entities/reusable/{repetitions.json → three_dimensional/repetitions.json} +1 -1
- package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers.json +18 -18
- package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.json +18 -18
- package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.json +18 -18
- package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.json +17 -18
- package/dist/js/schema/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.json +2631 -0
- package/dist/js/schema/materials_category_components/operations/core/combinations/enums.json +12 -0
- package/dist/js/schema/materials_category_components/operations/core/combinations/merge.json +12 -1627
- package/dist/js/schema/materials_category_components/operations/core/combinations/stack.json +26 -1551
- package/dist/js/schema/materials_category_components/operations/core/modifications/perturb.json +768 -0
- package/dist/js/schemas.json +1 -1
- package/dist/js/types.d.ts +25363 -4551
- package/example/core/abstract/vector_2d.json +4 -0
- package/example/materials_category/compound_pristine_structures/two-dimensional/interface/configuration.json +18 -0
- package/example/materials_category/defective_structures/one-dimensional/grain_boundary_linear/configuration.json +16 -0
- package/example/materials_category/defective_structures/two-dimensional/adatom/configuration.json +24 -0
- package/example/materials_category/defective_structures/two-dimensional/grain_boundary_planar/configuration.json +18 -0
- package/example/materials_category/defective_structures/two-dimensional/island/configuration.json +37 -0
- package/example/materials_category/defective_structures/two-dimensional/terrace/configuration.json +42 -0
- package/example/materials_category/defective_structures/zero-dimensional/point_defect/base_configuration.json +19 -0
- package/example/materials_category/defective_structures/zero-dimensional/point_defect/interstitial.json +21 -0
- package/example/materials_category/defective_structures/zero-dimensional/point_defect/substitutional.json +21 -0
- package/example/materials_category/defective_structures/zero-dimensional/point_defect/vacancy.json +11 -0
- package/example/materials_category/pristine_structures/two-dimensional/nanoribbon.json +42 -0
- package/example/materials_category/pristine_structures/two-dimensional/nanotape.json +30 -0
- package/example/materials_category/pristine_structures/two-dimensional/slab.json +1 -11
- package/example/materials_category/pristine_structures/two-dimensional/slab_strained_supercell.json +55 -0
- package/example/materials_category/processed_structures/two-dimensional/passivation/configuration.json +45 -0
- package/example/materials_category_components/entities/auxiliary/one-dimensional/miller_indices_2d.json +2 -0
- package/example/materials_category_components/entities/auxiliary/zero-dimensional/crystal_site.json +7 -2
- package/example/materials_category_components/entities/auxiliary/zero-dimensional/point_defect_site.json +11 -0
- package/example/materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines.json +8 -0
- package/example/materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines_unique_repeated.json +18 -0
- package/example/materials_category_components/entities/reusable/three-dimensional/repetitions.json +3 -0
- package/example/materials_category_components/entities/reusable/two-dimensional/slab_stack_configuration.json +22 -0
- package/example/materials_category_components/operations/core/combinations/merge.json +2 -2
- package/example/materials_category_components/operations/core/combinations/stack.json +12 -2
- package/example/materials_category_components/operations/core/modifications/perturb.json +6 -0
- package/package.json +1 -1
- package/schema/core/abstract/vector_2d.json +10 -0
- package/schema/core/primitive/array_of_2_numbers.json +11 -0
- package/schema/materials_category/compound_pristine_structures/two-dimensional/interface/configuration.json +59 -0
- package/schema/materials_category/defective_structures/one-dimensional/grain_boundary_linear/configuration.json +34 -0
- package/schema/materials_category/defective_structures/two-dimensional/adatom/configuration.json +26 -0
- package/schema/materials_category/defective_structures/two-dimensional/grain_boundary_planar/configuration.json +16 -0
- package/schema/materials_category/defective_structures/two-dimensional/island/configuration.json +48 -0
- package/schema/materials_category/defective_structures/two-dimensional/terrace/configuration.json +55 -0
- package/schema/materials_category/defective_structures/zero-dimensional/point_defect/base_configuration.json +30 -0
- package/schema/materials_category/defective_structures/zero-dimensional/point_defect/interstitial.json +23 -0
- package/schema/materials_category/defective_structures/zero-dimensional/point_defect/substitutional.json +23 -0
- package/schema/materials_category/defective_structures/zero-dimensional/point_defect/vacancy.json +23 -0
- package/schema/materials_category/manifest.yaml +51 -232
- package/schema/materials_category/pristine_structures/two-dimensional/nanoribbon.json +29 -0
- package/schema/materials_category/pristine_structures/two-dimensional/nanotape.json +29 -0
- package/schema/materials_category/pristine_structures/two-dimensional/slab.json +18 -6
- package/schema/materials_category/pristine_structures/two-dimensional/slab_strained_supercell.json +25 -0
- package/schema/materials_category/processed_structures/two-dimensional/passivation/configuration.json +45 -0
- package/schema/materials_category_components/entities/auxiliary/one-dimensional/miller_indices_2d.json +13 -0
- package/schema/materials_category_components/entities/auxiliary/two-dimensional/termination.json +1 -0
- package/schema/materials_category_components/entities/auxiliary/zero-dimensional/crystal_site.json +4 -0
- package/schema/materials_category_components/entities/auxiliary/zero-dimensional/point_defect_site.json +30 -0
- package/schema/materials_category_components/entities/auxiliary/zero-dimensional/void_region.json +18 -0
- package/schema/materials_category_components/entities/core/zero-dimensional/vacancy.json +20 -0
- package/schema/materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines.json +20 -0
- package/schema/materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines_unique_repeated.json +37 -0
- package/schema/materials_category_components/entities/reusable/three-dimensional/crystal_lattice_base.json +20 -0
- package/schema/materials_category_components/entities/reusable/{repetitions.json → three-dimensional/repetitions.json} +1 -1
- package/schema/materials_category_components/entities/reusable/two-dimensional/crystal_lattice_planes.json +6 -11
- package/schema/materials_category_components/entities/reusable/two-dimensional/slab_stack_configuration.json +32 -0
- package/schema/materials_category_components/operations/core/combinations/enums.json +12 -0
- package/schema/materials_category_components/operations/core/combinations/merge.json +9 -23
- package/schema/materials_category_components/operations/core/combinations/stack.json +20 -5
- package/schema/materials_category_components/operations/core/modifications/perturb.json +16 -0
- package/dist/js/example/materials_category_components/operations/core/combinations/stack_component.json +0 -128
- package/example/materials_category_components/entities/reusable/repetitions.json +0 -1
- package/example/materials_category_components/operations/core/combinations/stack_component.json +0 -3
- package/schema/materials_category_components/entities/reusable/two-dimensional/slab_unit_cell.json +0 -33
- package/schema/materials_category_components/operations/core/combinations/stack_component.json +0 -14
- /package/dist/js/example/materials_category_components/entities/reusable/{repetitions.json → three_dimensional/repetitions.json} +0 -0
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/defective-structures/one-dimensional/grain-boundary-linear/configuration",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Grain Boundary Linear Configuration Schema",
|
|
5
|
+
"description": "Configuration for creating a linear grain boundary.",
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "../../../compound_pristine_structures/two-dimensional/interface/configuration.json"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"stack_components": {
|
|
13
|
+
"maxItems": 2
|
|
14
|
+
},
|
|
15
|
+
"direction": {
|
|
16
|
+
"allOf": [
|
|
17
|
+
{
|
|
18
|
+
"$ref": "../../../../core/primitive/axis_3d_names_enum.json"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"default": "x"
|
|
22
|
+
},
|
|
23
|
+
"actual_angle": {
|
|
24
|
+
"type": "number",
|
|
25
|
+
"description": "The actual angle between the two phases",
|
|
26
|
+
"minimum": 0,
|
|
27
|
+
"maximum": 360
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"required": [
|
|
31
|
+
"stack_components",
|
|
32
|
+
"direction"
|
|
33
|
+
]
|
|
34
|
+
}
|
package/schema/materials_category/defective_structures/two-dimensional/adatom/configuration.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/defective-structures/two-dimensional/adatom/configuration",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Adatom Defect Configuration Schema",
|
|
5
|
+
"description": "An adatom point defect configuration where an atom is added to a surface site on a slab.",
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "../../../../materials_category_components/entities/reusable/two-dimensional/slab_stack_configuration.json"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"stack_components": {
|
|
13
|
+
"items": [
|
|
14
|
+
{
|
|
15
|
+
"$ref": "../../../pristine_structures/two-dimensional/slab.json"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"$ref": "../../../../materials_category_components/entities/auxiliary/zero-dimensional/point_defect_site.json"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"$ref": "../../../../materials_category_components/entities/core/two-dimensional/vacuum.json"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/defective-structures/two-dimensional/grain-boundary-planar/configuration",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Grain Boundary Planar Configuration Schema",
|
|
5
|
+
"description": "Configuration for creating a grain boundary between two phases.",
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "../../../compound_pristine_structures/two-dimensional/interface/configuration.json"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"direction": {
|
|
13
|
+
"default": "z"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
package/schema/materials_category/defective_structures/two-dimensional/island/configuration.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/defective-structures/two-dimensional/island/configuration",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Island Defect Configuration Schema",
|
|
5
|
+
"description": "An island defect configuration where a void region is created in a slab, leaving an island of material.",
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "../../../../materials_category_components/entities/reusable/two-dimensional/slab_stack_configuration.json"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"stack_components": {
|
|
13
|
+
"items": [
|
|
14
|
+
{
|
|
15
|
+
"$ref": "../../../pristine_structures/two-dimensional/slab.json"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"allOf": [
|
|
19
|
+
{
|
|
20
|
+
"$ref": "../../../../materials_category_components/operations/core/combinations/merge.json"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"properties": {
|
|
24
|
+
"merge_components": {
|
|
25
|
+
"type": "array",
|
|
26
|
+
"minItems": 2,
|
|
27
|
+
"maxItems": 2,
|
|
28
|
+
"items": [
|
|
29
|
+
{
|
|
30
|
+
"$ref": "../../../pristine_structures/two-dimensional/slab.json"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"$ref": "../../../../materials_category_components/entities/auxiliary/zero-dimensional/void_region.json"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"merge_method": {
|
|
38
|
+
"default": "REPLACE"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"$ref": "../../../../materials_category_components/entities/core/two-dimensional/vacuum.json"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
package/schema/materials_category/defective_structures/two-dimensional/terrace/configuration.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/defective-structures/two-dimensional/terrace/configuration",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Terrace Defect Configuration Schema",
|
|
5
|
+
"description": "An terrace defect configuration where a void region is created in a slab that is stacked with another slab, creating a terrace.",
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "../../../../materials_category_components/entities/reusable/two-dimensional/slab_stack_configuration.json"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"stack_components": {
|
|
13
|
+
"items": [
|
|
14
|
+
{
|
|
15
|
+
"$ref": "../../../pristine_structures/two-dimensional/slab.json"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"allOf": [
|
|
19
|
+
{
|
|
20
|
+
"$ref": "../../../../materials_category_components/operations/core/combinations/merge.json"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"properties": {
|
|
24
|
+
"merge_components": {
|
|
25
|
+
"type": "array",
|
|
26
|
+
"minItems": 2,
|
|
27
|
+
"maxItems": 2,
|
|
28
|
+
"items": [
|
|
29
|
+
{
|
|
30
|
+
"$ref": "../../../pristine_structures/two-dimensional/slab.json"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"$ref": "../../../../materials_category_components/entities/auxiliary/zero-dimensional/void_region.json"
|
|
34
|
+
}
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"merge_method": {
|
|
38
|
+
"default": "REPLACE"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"$ref": "../../../../materials_category_components/entities/core/two-dimensional/vacuum.json"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"cut_direction": {
|
|
48
|
+
"$ref": "../../../../materials_category_components/entities/auxiliary/two-dimensional/miller_indices.json"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"required": [
|
|
52
|
+
"stack_components",
|
|
53
|
+
"cut_direction"
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/defective-structures/zero-dimensional/point-defect/base-configuration",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Point Defect Base Configuration Schema",
|
|
5
|
+
"description": "Base configuration for a point defect in a host crystal using merge operation.",
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "../../../../materials_category_components/operations/core/combinations/merge.json"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"merge_components": {
|
|
13
|
+
"type": "array",
|
|
14
|
+
"minItems": 2,
|
|
15
|
+
"maxItems": 2,
|
|
16
|
+
"items": [
|
|
17
|
+
{
|
|
18
|
+
"$ref": "../../../../materials_category_components/entities/core/three-dimensional/crystal.json"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
},
|
|
22
|
+
"merge_method": {
|
|
23
|
+
"default": "REPLACE"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": [
|
|
27
|
+
"merge_components",
|
|
28
|
+
"merge_method"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/defective-structures/zero-dimensional/point-defect/interstitial",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Interstitial Point Defect Schema",
|
|
5
|
+
"description": "An interstitial point defect configuration where an atom is added to an interstitial site.",
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "./base_configuration.json"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"merge_components": {
|
|
13
|
+
"items": [
|
|
14
|
+
{
|
|
15
|
+
"$ref": "../../../../materials_category_components/entities/core/three-dimensional/crystal.json"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"$ref": "../../../../materials_category_components/entities/auxiliary/zero-dimensional/point_defect_site.json"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/defective-structures/zero-dimensional/point-defect/substitutional",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Substitutional Point Defect Schema",
|
|
5
|
+
"description": "A substitutional point defect configuration where an atom at a crystal site is replaced with a different element.",
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "./base_configuration.json"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"merge_components": {
|
|
13
|
+
"items": [
|
|
14
|
+
{
|
|
15
|
+
"$ref": "../../../../materials_category_components/entities/core/three-dimensional/crystal.json"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"$ref": "../../../../materials_category_components/entities/auxiliary/zero-dimensional/point_defect_site.json"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
package/schema/materials_category/defective_structures/zero-dimensional/point_defect/vacancy.json
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/defective-structures/zero-dimensional/point-defect/vacancy",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Vacancy Point Defect Schema",
|
|
5
|
+
"description": "A vacancy point defect configuration where an atom is removed from a crystal site.",
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "./base_configuration.json"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"merge_components": {
|
|
13
|
+
"items": [
|
|
14
|
+
{
|
|
15
|
+
"$ref": "../../../../materials_category_components/entities/core/three-dimensional/crystal.json"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"$ref": "../../../../materials_category_components/entities/core/zero-dimensional/vacancy.json"
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -1,268 +1,87 @@
|
|
|
1
|
-
# This
|
|
2
|
-
# The following notation is used:
|
|
3
|
-
#
|
|
4
|
-
# `<filename>:` - any key can be a schema file or a directory
|
|
5
|
-
# ` - key` - array components represent the keys inside a schema file content
|
|
6
|
-
# ` - key?` - optional file content key
|
|
7
|
-
# ` - key = ` - file content assignment to types of values
|
|
8
|
-
# `[value1, value2]` - list of values "value1 or value2"
|
|
9
|
-
# `[value, ...]` - list of multiple values "value"
|
|
10
|
-
# `( x | y | z ){1,2}` - a set of values "1 or 2 of any of the three"
|
|
11
|
-
#
|
|
1
|
+
# This manifest describes the structure of materials categories and their components.
|
|
12
2
|
|
|
13
3
|
materials_category_components:
|
|
14
4
|
entities:
|
|
15
5
|
core:
|
|
16
6
|
three-dimensional:
|
|
17
|
-
crystal
|
|
18
|
-
void
|
|
19
|
-
# can be placed into a crystal centered around specified crystal_site, all atoms inside are removed
|
|
20
|
-
- center_coordinate
|
|
21
|
-
- shape
|
|
7
|
+
- crystal
|
|
8
|
+
- void
|
|
22
9
|
two-dimensional:
|
|
23
|
-
vacuum
|
|
24
|
-
# is applied along the specified direction, adds vacuum "slab", breaks periodicity in that direction, lowers dimensionality
|
|
25
|
-
- direction
|
|
26
|
-
- size
|
|
27
|
-
termination:
|
|
28
|
-
- stoichiometry
|
|
29
|
-
- symmetry
|
|
30
|
-
miller_indices: [ h, k, l ]
|
|
10
|
+
- vacuum
|
|
31
11
|
one-dimensional:
|
|
12
|
+
# empty directory
|
|
32
13
|
zero-dimensional:
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
- id? # site id in the host crystal
|
|
37
|
-
atom:
|
|
38
|
-
- chemical_element
|
|
39
|
-
auxiliary: # auxiliary entities, not used in the main material creation
|
|
14
|
+
- atom
|
|
15
|
+
- vacancy
|
|
16
|
+
auxiliary:
|
|
40
17
|
three-dimensional:
|
|
41
|
-
supercell_matrix_3d
|
|
18
|
+
- supercell_matrix_3d
|
|
42
19
|
two-dimensional:
|
|
43
|
-
miller_indices
|
|
20
|
+
- miller_indices
|
|
21
|
+
- supercell_matrix_2d
|
|
22
|
+
- termination
|
|
44
23
|
one-dimensional:
|
|
45
|
-
|
|
24
|
+
- miller_indices_2d
|
|
46
25
|
zero-dimensional:
|
|
47
|
-
|
|
26
|
+
- crystal_site
|
|
27
|
+
- point_defect_site
|
|
28
|
+
- void_region
|
|
48
29
|
reusable:
|
|
49
30
|
three-dimensional:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
- crystal = ref:/primitive/base/crystal
|
|
56
|
-
- strain_percentage
|
|
57
|
-
strained_non-uniform:
|
|
58
|
-
- crystal = ref:/primitive/base/crystal
|
|
59
|
-
- strain_matrix
|
|
60
|
-
|
|
31
|
+
- crystal_lattice_base
|
|
32
|
+
- repetitions
|
|
33
|
+
- strained_non_uniform
|
|
34
|
+
- strained_uniform
|
|
35
|
+
- supercell
|
|
61
36
|
two-dimensional:
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
# Generated from the crystal_lattice_planes, together would form a full periodic structure
|
|
68
|
-
- crystal = material
|
|
69
|
-
- miller_indices = ref:/primitive/two-dimensional/miller_indices
|
|
70
|
-
- terminations = [ termination, ... ] # all possible terminations for that orientation
|
|
71
|
-
atomic_layers_unique_repeated:
|
|
72
|
-
# atomic_layers_unique with an integer number of repetitions, form a full periodic structure with top layer specified by the termination
|
|
73
|
-
- crystal = material
|
|
74
|
-
- miller_indices = ref:/primitive/two-dimensional/miller_indices
|
|
75
|
-
- termination_top = termination
|
|
76
|
-
- number_of_repetitions = int # number of repetitions of the unique atomic layers, they are shifted according to the termination
|
|
77
|
-
atomic_layers:
|
|
78
|
-
# Created from atomic_layers_unique in any order defined by terminations
|
|
79
|
-
- crystal = material
|
|
80
|
-
- miller_indices = ref:/primitive/two-dimensional/miller_indices
|
|
81
|
-
- terminations = [ termination, ... ] # any number of any terminations in the order for the layers to occur
|
|
82
|
-
atomic_layer:
|
|
83
|
-
# Created from atomic_layers_unique with a single termination
|
|
84
|
-
- crystal = material
|
|
85
|
-
- miller_indices = ref:/primitive/two-dimensional/miller_indices
|
|
86
|
-
- termination = termination
|
|
87
|
-
slab_unit_cell:
|
|
88
|
-
- stack_components = [ atomic_layers, vacuum ]
|
|
89
|
-
- direction = "z"
|
|
37
|
+
- atomic_layers
|
|
38
|
+
- atomic_layers_unique
|
|
39
|
+
- atomic_layers_unique_repeated
|
|
40
|
+
- crystal_lattice_planes
|
|
41
|
+
- slab_stack_configuration
|
|
90
42
|
one-dimensional:
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
- edge_direction = [ u, v ] # 2D MI, works for ANY 2‑D lattice (unlike zigzag and armchair)
|
|
94
|
-
- width = int # number of unit cells
|
|
95
|
-
ribbon_section_hex:
|
|
96
|
-
- monolayer = ref:/.../monolayer
|
|
97
|
-
- edge_type = ("zigzag" | "armchair"){1}
|
|
98
|
-
- width = int | float # number of unit cells, can be in 0.5 increments
|
|
99
|
-
- length = int | float # number of unit cells
|
|
100
|
-
wire_section:
|
|
101
|
-
# we created a supercell, cut the shape
|
|
102
|
-
- shape = function(x, y, z) # in angstroms, supercell inferred to fit
|
|
103
|
-
- orientation = [h, k, l]
|
|
104
|
-
zero-dimensional:
|
|
105
|
-
nanoparticle:
|
|
106
|
-
# we created a supercell, cut the shape and added vacuum on all sides
|
|
107
|
-
- supercell = ref:/.../supercell
|
|
108
|
-
- shape = function(x, y, z)
|
|
109
|
-
- orientation = [h, k, l] # to align specific plane perpendicular the z-axis
|
|
43
|
+
- crystal_lattice_lines
|
|
44
|
+
- crystal_lattice_lines_unique_repeated
|
|
110
45
|
|
|
111
46
|
operations:
|
|
112
47
|
core:
|
|
113
48
|
modifications:
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
repeat:
|
|
118
|
-
- integer_matrix
|
|
119
|
-
perturb:
|
|
120
|
-
# changes coordinates of atoms by applying the function, intended for local displacements
|
|
121
|
-
- function = ∂r -> f(x,y,z)
|
|
122
|
-
- is_isometric = bool # distance preservation -- isometric transformation -- only makes sense in 2D and 1D thin structures
|
|
123
|
-
fold:
|
|
124
|
-
# maps 2D flat plane to a curved surface in 3D space
|
|
125
|
-
- function = f(x, y) -> f(x, y, z)
|
|
126
|
-
- is_isometric = bool
|
|
49
|
+
- perturb
|
|
50
|
+
- repeat
|
|
51
|
+
- strain
|
|
127
52
|
combinations:
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
- direction = ("x" | "y" | "z")|("-x" | "-y" | "-z"){1} # sign indicates the order of the stacking
|
|
132
|
-
merge_component: ( material | vacuum | crystal_site )
|
|
133
|
-
merge:
|
|
134
|
-
- merge_structures = [ material ]
|
|
135
|
-
- method = ("add" | "replace" | "yield" | "smart"){1}
|
|
53
|
+
- enums
|
|
54
|
+
- merge
|
|
55
|
+
- stack
|
|
136
56
|
|
|
137
|
-
|
|
57
|
+
materials_category:
|
|
138
58
|
pristine_structures:
|
|
139
59
|
three-dimensional:
|
|
140
|
-
ideal_crystal
|
|
141
|
-
|
|
60
|
+
- ideal_crystal
|
|
142
61
|
two-dimensional:
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
- stack_components = [ atomic_layers, vacuum ]
|
|
148
|
-
- direction = "z"
|
|
149
|
-
- supercell_xy?
|
|
150
|
-
slab_with_reconstruction:
|
|
151
|
-
- slab = ref:/pristine_structures/two-dimensional/slab
|
|
152
|
-
- has_reconstruction = bool
|
|
153
|
-
- reconstruction_type? # Enum that applies an algorithm
|
|
154
|
-
- reconstruction_function? # Function that changes coordinates of atoms
|
|
155
|
-
|
|
156
|
-
one-dimensional:
|
|
157
|
-
nanotape:
|
|
158
|
-
# we created a supercell from monolayer, cut the shape and added vacuum on one side
|
|
159
|
-
- stack_components = [ ribbon_section, vacuum ]
|
|
160
|
-
- direction = (x | y){1}
|
|
161
|
-
nanowire:
|
|
162
|
-
# we created a supercell, cut the shape and added vacuum on two sides
|
|
163
|
-
- stack_components = [ wire_section, vacuum ]
|
|
164
|
-
- direction = (x | y | z){2} # 2 sides
|
|
165
|
-
|
|
166
|
-
zero-dimensional:
|
|
167
|
-
nanoparticle_with_vacuum:
|
|
168
|
-
- stack_components = [ nanoparticle, vacuum ]
|
|
169
|
-
- direction = (x | y | z){3} # all sides vacuum
|
|
170
|
-
nanoribbon:
|
|
171
|
-
# we created a monolayer supercell, cut the shape and added vacuum on all sides
|
|
172
|
-
- stack_components = [ ribbon_section, vacuum ]
|
|
173
|
-
- direction = (x | y | z){2} # 2 sides
|
|
174
|
-
nanoribbon_hex:
|
|
175
|
-
- stack_components = [ ribbon_section_hex, vacuum ]
|
|
176
|
-
- direction = (x | y | z){2} # 2 sides
|
|
62
|
+
- nanoribbon
|
|
63
|
+
- nanotape
|
|
64
|
+
- slab
|
|
65
|
+
- slab_strained_supercell
|
|
177
66
|
|
|
178
67
|
compound_pristine_structures:
|
|
179
68
|
two-dimensional:
|
|
180
|
-
|
|
181
|
-
- crystal = ref:/primitive/base/crystal
|
|
182
|
-
# In the code properties below can be supplied externally or generated based on the above with a wizard
|
|
183
|
-
- stacking_order? = ("natural" | "AB" | "ABC" | ...){1} # Natural by default, can be described as a ABC... configurations based on the symmetry
|
|
184
|
-
heterostack:
|
|
185
|
-
- stack_components = [ slab, vacuum, ... ]
|
|
186
|
-
- direction = (x | y | z){1}
|
|
187
|
-
interfaces:
|
|
188
|
-
with_no_vacuum:
|
|
189
|
-
- stack_components = [ (slab | monolayer), (slab | monolayer)]
|
|
190
|
-
- direction = "z"
|
|
191
|
-
with_vacuum:
|
|
192
|
-
- stack_components = [ (slab | monolayer), (slab | monolayer), vacuum ]
|
|
193
|
-
- direction = "z"
|
|
194
|
-
with_gap_and_vacuum:
|
|
195
|
-
- stack_components = [ (slab | monolayer), (slab | monolayer), vacuum ]
|
|
196
|
-
- direction = "z"
|
|
197
|
-
- gap = float # use precise distance between top and bottom layers of the slabs
|
|
198
|
-
commensurate_slabs:
|
|
199
|
-
- stack_components = [ slab, slab, vacuum ]
|
|
200
|
-
- direction = "z"
|
|
201
|
-
commensurate_monolayers_along_x:
|
|
202
|
-
- stack_components = [ monolayer, monolayer, vacuum ]
|
|
203
|
-
- direction = "x"
|
|
204
|
-
twisted_nanoribbons:
|
|
205
|
-
- stack_components = [ nanoribbon, nanoribbon, vacuum ]
|
|
206
|
-
- direction = "z"
|
|
207
|
-
- twist_angle = float
|
|
69
|
+
- interface
|
|
208
70
|
|
|
209
71
|
defective_structures:
|
|
210
|
-
three-dimensional:
|
|
211
|
-
amorphous:
|
|
212
|
-
- crystal = ref:/primitive/base/crystal
|
|
213
|
-
- function = f(x, y, z) # annealing function
|
|
214
72
|
two-dimensional:
|
|
215
|
-
adatom
|
|
216
|
-
|
|
217
|
-
island
|
|
218
|
-
|
|
219
|
-
terrace:
|
|
220
|
-
- added_layers
|
|
221
|
-
- cut (plane + pivot_point)
|
|
222
|
-
- merged_structures = [ slab, nanotape ]
|
|
223
|
-
- is_symmetric = bool
|
|
224
|
-
- is_periodic = bool
|
|
225
|
-
grain_boundary_planar:
|
|
226
|
-
- stack_components = [ slab, slab ]
|
|
227
|
-
- direction = (x | y | z){1}
|
|
228
|
-
grain_boundary_planar_with_vacuum:
|
|
229
|
-
# inherits grain_boundary_planar and slab
|
|
230
|
-
- stack_components = [ slab, slab, vacuum ]
|
|
231
|
-
- direction = "z"
|
|
232
|
-
- number_of_layers
|
|
233
|
-
- terminations = [ termination, termination ]
|
|
73
|
+
- adatom
|
|
74
|
+
- grain_boundary_planar
|
|
75
|
+
- island
|
|
76
|
+
- terrace
|
|
234
77
|
one-dimensional:
|
|
235
|
-
|
|
236
|
-
# A GB between two slabs or monolayers, vacuum in z should be already present
|
|
237
|
-
- stack_components = [ (slab | monolayer), (slab | monolayer) ]
|
|
238
|
-
- direction = (x | y | z){1}
|
|
239
|
-
- angle = float # angle between the two phases
|
|
78
|
+
- grain_boundary_linear
|
|
240
79
|
zero-dimensional:
|
|
241
|
-
|
|
242
|
-
-
|
|
243
|
-
-
|
|
244
|
-
|
|
245
|
-
- merged_structures = [ crystal, crystal_site(atom) ]
|
|
246
|
-
- method = "replace"
|
|
247
|
-
interstitial:
|
|
248
|
-
- merged_structures = [ crystal, crystal_site(atom) ]
|
|
249
|
-
- method = "add"
|
|
250
|
-
defect_pair:
|
|
251
|
-
- merged_structures = [ (vacancy | substitution | interstitial), (vacancy | substitution | interstitial) ]
|
|
252
|
-
- method = "replace
|
|
80
|
+
point_defect:
|
|
81
|
+
- interstitial
|
|
82
|
+
- substitutional
|
|
83
|
+
- vacancy
|
|
253
84
|
|
|
254
85
|
processed_structures:
|
|
255
86
|
two-dimensional:
|
|
256
|
-
|
|
257
|
-
# we should configure the condition for exposed atoms and then the bond vector for passivation
|
|
258
|
-
- merged_structures = [ slab, crystal_site(atom|particle) ]
|
|
259
|
-
- bond_length = float # can be a map of bond lengths for different elements
|
|
260
|
-
one-dimensional:
|
|
261
|
-
passivated_edge_1d:
|
|
262
|
-
- merged_structures = [ nanotape, crystal_site(atom|particle) ]
|
|
263
|
-
- bond_length = float # can be a map of bond lengths for different elements
|
|
264
|
-
zero-dimensional:
|
|
265
|
-
passivated_edge_0d:
|
|
266
|
-
# Passivation of a particle or a nanoribbon
|
|
267
|
-
- merged_structures = [ nanoparticle, crystal_site(atom|particle) ]
|
|
268
|
-
- bond_length = float
|
|
87
|
+
- passivation
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/pristine-structures/two-dimensional/nanoribbon",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Nanoribbon Configuration Schema",
|
|
5
|
+
"description": "A nanoribbon unit cell consisting of nanotape and vacuum stacked in X direction.",
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "../../../materials_category_components/operations/core/combinations/stack.json"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"stack_components": {
|
|
13
|
+
"type": "array",
|
|
14
|
+
"minItems": 2,
|
|
15
|
+
"maxItems": 2,
|
|
16
|
+
"items": [
|
|
17
|
+
{
|
|
18
|
+
"$ref": "nanotape.json"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"$ref": "../../../materials_category_components/entities/core/two-dimensional/vacuum.json"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"direction": {
|
|
26
|
+
"default": "x"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/pristine-structures/two-dimensional/nanotape",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "NanoTape Configuration Schema",
|
|
5
|
+
"description": "A nanotape unit cell consisting of crystal lattice lines and vacuum stacked in Y direction.",
|
|
6
|
+
"allOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "../../../materials_category_components/operations/core/combinations/stack.json"
|
|
9
|
+
}
|
|
10
|
+
],
|
|
11
|
+
"properties": {
|
|
12
|
+
"stack_components": {
|
|
13
|
+
"type": "array",
|
|
14
|
+
"minItems": 2,
|
|
15
|
+
"maxItems": 2,
|
|
16
|
+
"items": [
|
|
17
|
+
{
|
|
18
|
+
"$ref": "../../../materials_category_components/entities/reusable/one-dimensional/crystal_lattice_lines_unique_repeated.json"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"$ref": "../../../materials_category_components/entities/core/two-dimensional/vacuum.json"
|
|
22
|
+
}
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"direction": {
|
|
26
|
+
"default": "y"
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|