@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.
- package/README.md +4 -4
- 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/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.json +306 -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/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/job.json +14 -0
- package/dist/js/schema/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.json +11616 -0
- package/dist/js/schema/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.json +11622 -0
- package/dist/js/schema/materials_category/defective_structures/two_dimensional/adatom/configuration.json +3517 -0
- package/dist/js/schema/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.json +11616 -0
- package/dist/js/schema/materials_category/defective_structures/two_dimensional/island/configuration.json +5197 -0
- package/dist/js/schema/materials_category/defective_structures/two_dimensional/terrace/configuration.json +5214 -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 +2734 -0
- package/dist/js/schema/materials_category/pristine_structures/two_dimensional/nanotape.json +1917 -0
- package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab.json +1595 -1622
- package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.json +1810 -0
- package/dist/js/schema/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.json +1815 -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/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 +2585 -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 +3 -1551
- package/dist/js/schema/materials_category_components/operations/core/modifications/perturb.json +768 -0
- package/dist/js/schema/software/flavor.json +7 -0
- package/dist/js/schema/software_directory/ml/unit/execution/evaluate/cross_validate.json +7 -0
- package/dist/js/schema/software_directory/ml/unit/execution/initialize.json +7 -0
- package/dist/js/schema/software_directory/ml/unit/execution/score.json +7 -0
- package/dist/js/schema/software_directory/ml/unit/execution/train.json +7 -0
- package/dist/js/schema/software_directory/ml/unit/execution.json +28 -0
- package/dist/js/schema/software_directory/modeling/unit/execution.json +7 -0
- package/dist/js/schema/software_directory/scripting/unit/execution.json +7 -0
- package/dist/js/schema/workflow/subworkflow/unit.json +7 -0
- package/dist/js/schema/workflow/subworkflow.json +7 -0
- package/dist/js/schema/workflow/unit/execution.json +7 -0
- package/dist/js/schema/workflow/unit.json +7 -0
- package/dist/js/schema/workflow.json +14 -0
- package/dist/js/schemas.json +1 -1
- package/dist/js/types.d.ts +31925 -4987
- 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/pristine_structures/two-dimensional/slab_strained_supercell_with_gap.json +56 -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/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/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 +65 -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 +53 -156
- 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/pristine_structures/two-dimensional/slab_strained_supercell_with_gap.json +18 -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/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 +3 -5
- package/schema/materials_category_components/operations/core/modifications/perturb.json +16 -0
- package/schema/software/flavor.json +7 -0
- package/dist/js/example/materials_category_components/operations/core/combinations/stack_component.json +0 -128
- 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
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "materials-category/compound-pristine-structures/two-dimensional/interface/configuration",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"title": "Interface Configuration Schema",
|
|
5
|
+
"description": "A two-dimensional interface between two slabs, optionally including vacuum, with a specified stacking 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": 3,
|
|
16
|
+
"items": [
|
|
17
|
+
{
|
|
18
|
+
"anyOf": [
|
|
19
|
+
{
|
|
20
|
+
"$ref": "../../../pristine_structures/two-dimensional/slab.json"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"$ref": "../../../pristine_structures/two-dimensional/slab_strained_supercell.json"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"$ref": "../../../pristine_structures/two-dimensional/slab_strained_supercell_with_gap.json"
|
|
27
|
+
}
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"anyOf": [
|
|
32
|
+
{
|
|
33
|
+
"$ref": "../../../pristine_structures/two-dimensional/slab.json"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"$ref": "../../../pristine_structures/two-dimensional/slab_strained_supercell.json"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"$ref": "../../../pristine_structures/two-dimensional/slab_strained_supercell_with_gap.json"
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"$ref": "../../../../materials_category_components/entities/core/two-dimensional/vacuum.json"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"description": "Components of the interface: slab, slab and vacuum"
|
|
48
|
+
},
|
|
49
|
+
"direction": {
|
|
50
|
+
"default": "z"
|
|
51
|
+
},
|
|
52
|
+
"xy_shift": {
|
|
53
|
+
"allOf": [
|
|
54
|
+
{
|
|
55
|
+
"$ref": "../../../../core/abstract/vector_2d.json"
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"default": [
|
|
59
|
+
0.0,
|
|
60
|
+
0.0
|
|
61
|
+
],
|
|
62
|
+
"description": "xy shift for the film as cartesian 2D vector on the xy plane."
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
@@ -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
|
+
}
|
|
@@ -24,16 +24,8 @@ materials_category_components:
|
|
|
24
24
|
# is applied along the specified direction, adds vacuum "slab", breaks periodicity in that direction, lowers dimensionality
|
|
25
25
|
- direction
|
|
26
26
|
- size
|
|
27
|
-
termination:
|
|
28
|
-
- stoichiometry
|
|
29
|
-
- symmetry
|
|
30
|
-
miller_indices: [ h, k, l ]
|
|
31
27
|
one-dimensional:
|
|
32
28
|
zero-dimensional:
|
|
33
|
-
crystal_site:
|
|
34
|
-
# created by reference to some crystal, can be populated with atom, vacancy, void, can be merged with a crystal of the same lattice
|
|
35
|
-
- coordinate
|
|
36
|
-
- id? # site id in the host crystal
|
|
37
29
|
atom:
|
|
38
30
|
- chemical_element
|
|
39
31
|
auxiliary: # auxiliary entities, not used in the main material creation
|
|
@@ -41,12 +33,20 @@ materials_category_components:
|
|
|
41
33
|
supercell_matrix_3d:
|
|
42
34
|
two-dimensional:
|
|
43
35
|
miller_indices: [ h, k ] # 2D Miller indices
|
|
36
|
+
supercell_matrix_2d:
|
|
37
|
+
termination:
|
|
38
|
+
- stoichiometry
|
|
39
|
+
- symmetry
|
|
44
40
|
one-dimensional:
|
|
45
|
-
|
|
41
|
+
miller_indices_2d: [ u, v ] # 2D Miller indices for 1D structures
|
|
46
42
|
zero-dimensional:
|
|
47
|
-
|
|
43
|
+
crystal_site:
|
|
44
|
+
# created by reference to some crystal, can be populated with atom, vacancy, void, can be merged with a crystal of the same lattice
|
|
45
|
+
- crystal
|
|
46
|
+
- coordinate
|
|
48
47
|
reusable:
|
|
49
48
|
three-dimensional:
|
|
49
|
+
crystal_lattice_base:
|
|
50
50
|
supercell:
|
|
51
51
|
# created from a crystal, can be used to create a supercell of any size
|
|
52
52
|
- crystal = material
|
|
@@ -54,7 +54,7 @@ materials_category_components:
|
|
|
54
54
|
strained_uniform:
|
|
55
55
|
- crystal = ref:/primitive/base/crystal
|
|
56
56
|
- strain_percentage
|
|
57
|
-
|
|
57
|
+
strained_non_uniform:
|
|
58
58
|
- crystal = ref:/primitive/base/crystal
|
|
59
59
|
- strain_matrix
|
|
60
60
|
|
|
@@ -63,6 +63,11 @@ materials_category_components:
|
|
|
63
63
|
- crystal = material
|
|
64
64
|
- miller_indices = ref:/primitive/two-dimensional/miller_indices
|
|
65
65
|
- use_conventional_cell = bool # if true, the conventional cell is used to generate the planes
|
|
66
|
+
atomic_layers:
|
|
67
|
+
# Created from atomic_layers_unique in any order defined by terminations
|
|
68
|
+
- crystal = material
|
|
69
|
+
- miller_indices = ref:/primitive/two-dimensional/miller_indices
|
|
70
|
+
- terminations = [ termination, ... ] # any number of any terminations in the order for the layers to occur
|
|
66
71
|
atomic_layers_unique:
|
|
67
72
|
# Generated from the crystal_lattice_planes, together would form a full periodic structure
|
|
68
73
|
- crystal = material
|
|
@@ -74,39 +79,19 @@ materials_category_components:
|
|
|
74
79
|
- miller_indices = ref:/primitive/two-dimensional/miller_indices
|
|
75
80
|
- termination_top = termination
|
|
76
81
|
- number_of_repetitions = int # number of repetitions of the unique atomic layers, they are shifted according to the termination
|
|
77
|
-
|
|
78
|
-
|
|
82
|
+
one-dimensional:
|
|
83
|
+
crystal_lattice_lines:
|
|
79
84
|
- crystal = material
|
|
80
|
-
- miller_indices = ref:/primitive/
|
|
81
|
-
-
|
|
82
|
-
|
|
83
|
-
# Created from atomic_layers_unique with a single termination
|
|
85
|
+
- miller_indices = ref:/primitive/one-dimensional/miller_indices_2d
|
|
86
|
+
- use_conventional_cell = bool
|
|
87
|
+
crystal_lattice_lines_unique_repeated:
|
|
84
88
|
- crystal = material
|
|
85
|
-
- miller_indices = ref:/primitive/
|
|
86
|
-
-
|
|
87
|
-
|
|
88
|
-
- stack_components = [ atomic_layers, vacuum ]
|
|
89
|
-
- direction = "z"
|
|
90
|
-
one-dimensional:
|
|
91
|
-
ribbon_section:
|
|
92
|
-
- monolayer = ref:/.../monolayer
|
|
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]
|
|
89
|
+
- miller_indices = ref:/primitive/one-dimensional/miller_indices_2d
|
|
90
|
+
- termination_top = termination
|
|
91
|
+
- number_of_repetitions = int
|
|
104
92
|
zero-dimensional:
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
- supercell = ref:/.../supercell
|
|
108
|
-
- shape = function(x, y, z)
|
|
109
|
-
- orientation = [h, k, l] # to align specific plane perpendicular the z-axis
|
|
93
|
+
repetitions:
|
|
94
|
+
# Generic repetition component for any dimensional structure
|
|
110
95
|
|
|
111
96
|
operations:
|
|
112
97
|
core:
|
|
@@ -116,14 +101,6 @@ materials_category_components:
|
|
|
116
101
|
- matrix
|
|
117
102
|
repeat:
|
|
118
103
|
- 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
|
|
127
104
|
combinations:
|
|
128
105
|
stack_component: (material | vacuum)
|
|
129
106
|
stack:
|
|
@@ -140,129 +117,49 @@ material_categories:
|
|
|
140
117
|
ideal_crystal: ref:/primitive/base/crystal
|
|
141
118
|
|
|
142
119
|
two-dimensional:
|
|
143
|
-
monolayer:
|
|
144
|
-
- stack_components = [ (atomic_layer | atomic_layers), vacuum ]
|
|
145
|
-
- direction = "z"
|
|
146
120
|
slab:
|
|
147
121
|
- stack_components = [ atomic_layers, vacuum ]
|
|
148
122
|
- direction = "z"
|
|
149
123
|
- supercell_xy?
|
|
150
|
-
|
|
151
|
-
-
|
|
152
|
-
-
|
|
153
|
-
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
124
|
+
slab_strained_supercell:
|
|
125
|
+
- stack_components = [ atomic_layers, vacuum ]
|
|
126
|
+
- direction = "z"
|
|
127
|
+
- strain_matrix
|
|
128
|
+
slab_strained_supercell_with_gap:
|
|
129
|
+
- stack_components = [ atomic_layers, vacuum ]
|
|
130
|
+
- direction = (x | y | z){1}
|
|
131
|
+
- strain_matrix
|
|
132
|
+
- gap
|
|
157
133
|
nanotape:
|
|
158
134
|
# we created a supercell from monolayer, cut the shape and added vacuum on one side
|
|
159
|
-
- stack_components = [
|
|
135
|
+
- stack_components = [ crystal_lattice_lines, vacuum ]
|
|
160
136
|
- 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
137
|
nanoribbon:
|
|
171
138
|
# we created a monolayer supercell, cut the shape and added vacuum on all sides
|
|
172
|
-
- stack_components = [
|
|
173
|
-
- direction = (x | y | z){2} # 2 sides
|
|
174
|
-
nanoribbon_hex:
|
|
175
|
-
- stack_components = [ ribbon_section_hex, vacuum ]
|
|
139
|
+
- stack_components = [ crystal_lattice_lines, vacuum ]
|
|
176
140
|
- direction = (x | y | z){2} # 2 sides
|
|
177
141
|
|
|
178
142
|
compound_pristine_structures:
|
|
179
143
|
two-dimensional:
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
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 ]
|
|
144
|
+
interface:
|
|
145
|
+
configuration:
|
|
146
|
+
# Base interface configuration that can be inherited by specific interface types
|
|
147
|
+
- stack_components = [ (slab | slab_strained_supercell_with_gap), (slab | slab_strained_supercell_with_gap), vacuum? ]
|
|
196
148
|
- direction = "z"
|
|
197
|
-
-
|
|
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
|
|
149
|
+
- xy_shift = [float, float] # xy shift for the interface
|
|
208
150
|
|
|
209
151
|
defective_structures:
|
|
210
|
-
three-dimensional:
|
|
211
|
-
amorphous:
|
|
212
|
-
- crystal = ref:/primitive/base/crystal
|
|
213
|
-
- function = f(x, y, z) # annealing function
|
|
214
152
|
two-dimensional:
|
|
215
|
-
adatom:
|
|
216
|
-
- merged_structures = [ slab, crystal_site(atom) ]
|
|
217
|
-
island:
|
|
218
|
-
- merged_structures = [ slab, nanoparticle ]
|
|
219
|
-
terrace:
|
|
220
|
-
- added_layers
|
|
221
|
-
- cut (plane + pivot_point)
|
|
222
|
-
- merged_structures = [ slab, nanotape ]
|
|
223
|
-
- is_symmetric = bool
|
|
224
|
-
- is_periodic = bool
|
|
225
153
|
grain_boundary_planar:
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
- stack_components = [ slab, slab, vacuum ]
|
|
231
|
-
- direction = "z"
|
|
232
|
-
- number_of_layers
|
|
233
|
-
- terminations = [ termination, termination ]
|
|
234
|
-
one-dimensional:
|
|
235
|
-
grain_boundary_line:
|
|
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
|
|
240
|
-
zero-dimensional:
|
|
241
|
-
vacancy:
|
|
242
|
-
- merged_structures = [ crystal, crystal_site(vacancy) ]
|
|
243
|
-
- method = "replace"
|
|
244
|
-
substitution:
|
|
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
|
|
253
|
-
|
|
254
|
-
processed_structures:
|
|
255
|
-
two-dimensional:
|
|
256
|
-
passivated_surface_2d:
|
|
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
|
|
154
|
+
configuration:
|
|
155
|
+
# Configuration for creating a planar grain boundary
|
|
156
|
+
- stack_components = [ slab | slab_strained_supercell_with_gap, slab | slab_strained_supercell_with_gap ]
|
|
157
|
+
- direction = (x | y | z){1}
|
|
260
158
|
one-dimensional:
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
- bond_length = float
|
|
159
|
+
grain_boundary_linear:
|
|
160
|
+
configuration:
|
|
161
|
+
# Configuration for creating a linear grain boundary
|
|
162
|
+
- stack_components = [ (slab | slab_strained_supercell_with_gap), (slab | slab_strained_supercell_with_gap) ]
|
|
163
|
+
- direction = (x | y){1}
|
|
164
|
+
- actual_angle = float # angle between the two phases
|
|
165
|
+
- xy_shift = [float, float] # xy shift for the grain boundary
|