mat3ra-esse 2025.6.14.post0__py3-none-any.whl → 2025.7.1.post0__py3-none-any.whl
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.
Potentially problematic release.
This version of mat3ra-esse might be problematic. Click here for more details.
- {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/METADATA +2 -2
- {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/RECORD +5 -118
- mat3ra/esse/models/coordinates_shape_enum.py +0 -15
- mat3ra/esse/models/core/abstract/2d_data.py +0 -17
- mat3ra/esse/models/core/abstract/2d_plot.py +0 -34
- mat3ra/esse/models/core/abstract/3d_grid.py +0 -14
- mat3ra/esse/models/core/abstract/3d_tensor.py +0 -19
- mat3ra/esse/models/core/abstract/3d_vector_basis.py +0 -15
- mat3ra/esse/models/core/abstract/_3d_tensor.py +0 -19
- mat3ra/esse/models/core/abstract/_3d_vector_basis.py +0 -15
- mat3ra/esse/models/core/abstract/point.py +0 -13
- mat3ra/esse/models/core/abstract/vector.py +0 -13
- mat3ra/esse/models/core/primitive/1d_data_series.py +0 -13
- mat3ra/esse/models/core/primitive/3d_lattice.py +0 -34
- mat3ra/esse/models/core/primitive/_3d_lattice.py +0 -34
- mat3ra/esse/models/core/reusable/accuracy_level.py +0 -27
- mat3ra/esse/models/core/reusable/atomic_strings.py +0 -24
- mat3ra/esse/models/core/reusable/coordinate_conditions/cylinder.py +0 -26
- mat3ra/esse/models/core/reusable/coordinate_conditions/plane.py +0 -24
- mat3ra/esse/models/core/reusable/coordinate_conditions/sphere.py +0 -24
- mat3ra/esse/models/core/reusable/coordinate_conditions/triangular_prism.py +0 -27
- mat3ra/esse/models/core/reusable/energy_accuracy_levels/__init__.py +0 -3
- mat3ra/esse/models/core/reusable/energy_accuracy_levels.py +0 -31
- mat3ra/esse/models/enums/__init__.py +0 -3
- mat3ra/esse/models/enums/chemical_elements.py +0 -13
- mat3ra/esse/models/material/builders/base/__init__.py +0 -3
- mat3ra/esse/models/material/builders/base/selector_parameters.py +0 -16
- mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/__init__.py +0 -3
- mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/builder_parameters.py +0 -28
- mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py +0 -151
- mat3ra/esse/models/material/reusable/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/coordinate_conditions/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/coordinate_conditions/base.py +0 -21
- mat3ra/esse/models/material/reusable/coordinate_conditions/box.py +0 -24
- mat3ra/esse/models/material/reusable/coordinate_conditions/cylinder.py +0 -26
- mat3ra/esse/models/material/reusable/coordinate_conditions/plane.py +0 -24
- mat3ra/esse/models/material/reusable/coordinate_conditions/sphere.py +0 -24
- mat3ra/esse/models/material/reusable/coordinate_conditions/triangular_prism.py +0 -27
- mat3ra/esse/models/material/reusable/repetitions.py +0 -25
- mat3ra/esse/models/material/reusable/slab/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/slab/enums/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/slab/enums/exposed_face.py +0 -13
- mat3ra/esse/models/material/reusable/slab/enums.py +0 -13
- mat3ra/esse/models/material/reusable/slab/miller_indices.py +0 -16
- mat3ra/esse/models/material/reusable/slab/number_of_layers.py +0 -16
- mat3ra/esse/models/material/reusable/slab/slab_configuration_with_termination.py +0 -589
- mat3ra/esse/models/material/reusable/slab/slab_with_termination.py +0 -593
- mat3ra/esse/models/material/reusable/slab/termination.py +0 -144
- mat3ra/esse/models/material/reusable/slab/two_slabs_stack.py +0 -618
- mat3ra/esse/models/material/reusable/slab/vacuum.py +0 -16
- mat3ra/esse/models/material/reusable/slab_configuration_with_termination.py +0 -712
- mat3ra/esse/models/material/reusable/stack/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/stack/slab_configuration_with_termination.py +0 -593
- mat3ra/esse/models/material/reusable/stack/slab_in_stack.py +0 -720
- mat3ra/esse/models/material/reusable/stack/stack_of_slabs.py +0 -737
- mat3ra/esse/models/material/reusable/stack/stack_of_two_slabs.py +0 -737
- mat3ra/esse/models/material/reusable/supercell/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/supercell/supercell_matrix_2d.py +0 -25
- mat3ra/esse/models/material/reusable/supercell/supercell_matrix_3d.py +0 -27
- mat3ra/esse/models/material/reusable/supercell_matrix_2d.py +0 -25
- mat3ra/esse/models/material/reusable/supercell_matrix_3d.py +0 -27
- mat3ra/esse/models/materials_category/defects/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/configuration.py +0 -672
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/layered/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/layered/configuration.py +0 -549
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/configuration.py +0 -550
- mat3ra/esse/models/materials_category/defects/configuration.py +0 -545
- mat3ra/esse/models/materials_category/defects/enums/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/enums/point_defect_type.py +0 -13
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +0 -563
- mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/configuration.py +0 -1200
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/condition_json.py +0 -28
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +0 -564
- mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/configuration.py +0 -1538
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +0 -672
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/configuration.py +0 -672
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/configuration.py +0 -672
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/configuration.py +0 -672
- mat3ra/esse/models/materials_category/multi_material/interfaces/__init__.py +0 -3
- mat3ra/esse/models/materials_category/multi_material/interfaces/configuration.py +0 -737
- mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/__init__.py +0 -3
- mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +0 -567
- mat3ra/esse/models/methods_directory/physical/psp/file/__init__.py +0 -129
- mat3ra/esse/models/methods_directory/physical/psp/file_data_item/__init__.py +0 -111
- mat3ra/esse/models/properties_directory/structural/lattice/lattice_bravais.py +0 -74
- mat3ra/esse/models/property/base/__init__.py +0 -200
- mat3ra/esse/models/property/meta/__init__.py +0 -200
- mat3ra/esse/models/property/raw/__init__.py +0 -200
- mat3ra/esse/models/property/source/__init__.py +0 -150
- mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/__init__.py +0 -3
- mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/atoms.py +0 -41
- mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/db_entry.py +0 -55
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/__init__.py +0 -3
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/__init__.py +0 -3
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_positions.py +0 -51
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_species.py +0 -34
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell.py +0 -111
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell_parameters.py +0 -36
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/control.py +0 -169
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/electrons.py +0 -139
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/hubbard.py +0 -194
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/ions.py +0 -422
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/k_points.py +0 -73
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/system.py +0 -841
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw_x.py +0 -1990
- {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/top_level.txt +0 -0
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: core/reusable/coordinate_conditions/plane.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import List, Literal
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, Field
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class CoordinateShapeEnum(Enum):
|
|
14
|
-
cylinder = "cylinder"
|
|
15
|
-
sphere = "sphere"
|
|
16
|
-
box = "box"
|
|
17
|
-
triangular_prism = "triangular_prism"
|
|
18
|
-
plane = "plane"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class PlaneCoordinateConditionSchema(BaseModel):
|
|
22
|
-
shape: Literal["plane"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
-
plane_normal: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
24
|
-
plane_point_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: core/reusable/coordinate_conditions/sphere.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import List, Literal
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, Field
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class CoordinateShapeEnum(Enum):
|
|
14
|
-
cylinder = "cylinder"
|
|
15
|
-
sphere = "sphere"
|
|
16
|
-
box = "box"
|
|
17
|
-
triangular_prism = "triangular_prism"
|
|
18
|
-
plane = "plane"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class SphereCoordinateConditionSchema(BaseModel):
|
|
22
|
-
shape: Literal["sphere"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
-
center_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
24
|
-
radius: float
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: core/reusable/coordinate_conditions/triangular_prism.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import List, Literal
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, Field
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class CoordinateShapeEnum(Enum):
|
|
14
|
-
cylinder = "cylinder"
|
|
15
|
-
sphere = "sphere"
|
|
16
|
-
box = "box"
|
|
17
|
-
triangular_prism = "triangular_prism"
|
|
18
|
-
plane = "plane"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class TriangularPrismCoordinateConditionSchema(BaseModel):
|
|
22
|
-
shape: Literal["triangular_prism"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
-
position_on_surface_1: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema")
|
|
24
|
-
position_on_surface_2: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema")
|
|
25
|
-
position_on_surface_3: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema")
|
|
26
|
-
min_z: float
|
|
27
|
-
max_z: float
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: core/reusable/energy_accuracy_levels.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class AccuracyLevel(Enum):
|
|
13
|
-
standard = "standard"
|
|
14
|
-
low = "low"
|
|
15
|
-
high = "high"
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
class Unit(Enum):
|
|
19
|
-
Ry = "Ry"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class ReusableSchemaForAccuracyLevelsWithValueAndEnergyUnit(BaseModel):
|
|
23
|
-
accuracy_level: AccuracyLevel
|
|
24
|
-
"""
|
|
25
|
-
Parameter value suitable for a specific accuracy level.
|
|
26
|
-
"""
|
|
27
|
-
unit: Unit
|
|
28
|
-
"""
|
|
29
|
-
Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.
|
|
30
|
-
"""
|
|
31
|
-
value: float
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: enums/chemical_elements.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import Any
|
|
8
|
-
|
|
9
|
-
from pydantic import Field, RootModel
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class ChemicalElementSymbols(RootModel[Any]):
|
|
13
|
-
root: Any = Field(..., title="Chemical Element Symbols")
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/builders/base/selector_parameters.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, conint
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class BaseSelectorParametersSchema(BaseModel):
|
|
13
|
-
default_index: Optional[conint(ge=0)] = 0
|
|
14
|
-
"""
|
|
15
|
-
Default index for the selector
|
|
16
|
-
"""
|
mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/builder_parameters.py
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/builders/single_material/two_dimensional/slab/builder_parameters.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import Optional, Union
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, confloat, conint
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class SlabBuilderParametersSchema(BaseModel):
|
|
13
|
-
min_vacuum_size: Optional[Union[conint(ge=0), confloat(ge=0.0)]] = 1
|
|
14
|
-
"""
|
|
15
|
-
Minimum size of the vacuum in layers or angstroms
|
|
16
|
-
"""
|
|
17
|
-
in_unit_planes: Optional[bool] = True
|
|
18
|
-
"""
|
|
19
|
-
Whether to cleave in unit planes
|
|
20
|
-
"""
|
|
21
|
-
reorient_lattice: Optional[bool] = True
|
|
22
|
-
"""
|
|
23
|
-
Whether to reorient the lattice
|
|
24
|
-
"""
|
|
25
|
-
symmetrize: Optional[bool] = True
|
|
26
|
-
"""
|
|
27
|
-
Whether to symmetrize the slab
|
|
28
|
-
"""
|
mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py
DELETED
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/builders/single_material/two_dimensional/slab/selector_parameters.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import Optional, Union
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, Field, constr
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class ChemicalElements(Enum):
|
|
14
|
-
H = "H"
|
|
15
|
-
He = "He"
|
|
16
|
-
Li = "Li"
|
|
17
|
-
Be = "Be"
|
|
18
|
-
B = "B"
|
|
19
|
-
C = "C"
|
|
20
|
-
N = "N"
|
|
21
|
-
O = "O"
|
|
22
|
-
F = "F"
|
|
23
|
-
Ne = "Ne"
|
|
24
|
-
Na = "Na"
|
|
25
|
-
Mg = "Mg"
|
|
26
|
-
Al = "Al"
|
|
27
|
-
Si = "Si"
|
|
28
|
-
P = "P"
|
|
29
|
-
S = "S"
|
|
30
|
-
Cl = "Cl"
|
|
31
|
-
Ar = "Ar"
|
|
32
|
-
K = "K"
|
|
33
|
-
Ca = "Ca"
|
|
34
|
-
Sc = "Sc"
|
|
35
|
-
Ti = "Ti"
|
|
36
|
-
V = "V"
|
|
37
|
-
Cr = "Cr"
|
|
38
|
-
Mn = "Mn"
|
|
39
|
-
Fe = "Fe"
|
|
40
|
-
Co = "Co"
|
|
41
|
-
Ni = "Ni"
|
|
42
|
-
Cu = "Cu"
|
|
43
|
-
Zn = "Zn"
|
|
44
|
-
Ga = "Ga"
|
|
45
|
-
Ge = "Ge"
|
|
46
|
-
As = "As"
|
|
47
|
-
Se = "Se"
|
|
48
|
-
Br = "Br"
|
|
49
|
-
Kr = "Kr"
|
|
50
|
-
Rb = "Rb"
|
|
51
|
-
Sr = "Sr"
|
|
52
|
-
Y = "Y"
|
|
53
|
-
Zr = "Zr"
|
|
54
|
-
Nb = "Nb"
|
|
55
|
-
Mo = "Mo"
|
|
56
|
-
Tc = "Tc"
|
|
57
|
-
Ru = "Ru"
|
|
58
|
-
Rh = "Rh"
|
|
59
|
-
Pd = "Pd"
|
|
60
|
-
Ag = "Ag"
|
|
61
|
-
Cd = "Cd"
|
|
62
|
-
In = "In"
|
|
63
|
-
Sn = "Sn"
|
|
64
|
-
Sb = "Sb"
|
|
65
|
-
Te = "Te"
|
|
66
|
-
I = "I"
|
|
67
|
-
Xe = "Xe"
|
|
68
|
-
Cs = "Cs"
|
|
69
|
-
Ba = "Ba"
|
|
70
|
-
La = "La"
|
|
71
|
-
Ce = "Ce"
|
|
72
|
-
Pr = "Pr"
|
|
73
|
-
Nd = "Nd"
|
|
74
|
-
Pm = "Pm"
|
|
75
|
-
Sm = "Sm"
|
|
76
|
-
Eu = "Eu"
|
|
77
|
-
Gd = "Gd"
|
|
78
|
-
Tb = "Tb"
|
|
79
|
-
Dy = "Dy"
|
|
80
|
-
Ho = "Ho"
|
|
81
|
-
Er = "Er"
|
|
82
|
-
Tm = "Tm"
|
|
83
|
-
Yb = "Yb"
|
|
84
|
-
Lu = "Lu"
|
|
85
|
-
Hf = "Hf"
|
|
86
|
-
Ta = "Ta"
|
|
87
|
-
W = "W"
|
|
88
|
-
Re = "Re"
|
|
89
|
-
Os = "Os"
|
|
90
|
-
Ir = "Ir"
|
|
91
|
-
Pt = "Pt"
|
|
92
|
-
Au = "Au"
|
|
93
|
-
Hg = "Hg"
|
|
94
|
-
Tl = "Tl"
|
|
95
|
-
Pb = "Pb"
|
|
96
|
-
Bi = "Bi"
|
|
97
|
-
Po = "Po"
|
|
98
|
-
At = "At"
|
|
99
|
-
Rn = "Rn"
|
|
100
|
-
Fr = "Fr"
|
|
101
|
-
Ra = "Ra"
|
|
102
|
-
Ac = "Ac"
|
|
103
|
-
Th = "Th"
|
|
104
|
-
Pa = "Pa"
|
|
105
|
-
U = "U"
|
|
106
|
-
Np = "Np"
|
|
107
|
-
Pu = "Pu"
|
|
108
|
-
Am = "Am"
|
|
109
|
-
Cm = "Cm"
|
|
110
|
-
Bk = "Bk"
|
|
111
|
-
Cf = "Cf"
|
|
112
|
-
Es = "Es"
|
|
113
|
-
Fm = "Fm"
|
|
114
|
-
Md = "Md"
|
|
115
|
-
No = "No"
|
|
116
|
-
Lr = "Lr"
|
|
117
|
-
Rf = "Rf"
|
|
118
|
-
Db = "Db"
|
|
119
|
-
Sg = "Sg"
|
|
120
|
-
Bh = "Bh"
|
|
121
|
-
Hs = "Hs"
|
|
122
|
-
Mt = "Mt"
|
|
123
|
-
Ds = "Ds"
|
|
124
|
-
Rg = "Rg"
|
|
125
|
-
Cn = "Cn"
|
|
126
|
-
Nh = "Nh"
|
|
127
|
-
Fl = "Fl"
|
|
128
|
-
Mc = "Mc"
|
|
129
|
-
Lv = "Lv"
|
|
130
|
-
Ts = "Ts"
|
|
131
|
-
Og = "Og"
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
class TerminationSchema(BaseModel):
|
|
135
|
-
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
136
|
-
..., title="Chemical Elements"
|
|
137
|
-
)
|
|
138
|
-
"""
|
|
139
|
-
Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')
|
|
140
|
-
"""
|
|
141
|
-
space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
|
|
142
|
-
"""
|
|
143
|
-
Space group symmetry designation for the termination
|
|
144
|
-
"""
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
class SlabSelectorParametersSchema(BaseModel):
|
|
148
|
-
termination: Optional[TerminationSchema] = Field(None, title="Termination Schema")
|
|
149
|
-
"""
|
|
150
|
-
Defines a specific termination of a slab
|
|
151
|
-
"""
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/reusable/coordinate_conditions/base.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
|
|
9
|
-
from pydantic import BaseModel, Field
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class CoordinateShapeEnum(Enum):
|
|
13
|
-
cylinder = "cylinder"
|
|
14
|
-
sphere = "sphere"
|
|
15
|
-
box = "box"
|
|
16
|
-
triangular_prism = "triangular_prism"
|
|
17
|
-
plane = "plane"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
class CoordinateConditionSchema(BaseModel):
|
|
21
|
-
shape: CoordinateShapeEnum = Field(..., title="Coordinate Shape Enum")
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/reusable/coordinate_conditions/box.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import List, Literal
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, Field
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class CoordinateShapeEnum(Enum):
|
|
14
|
-
cylinder = "cylinder"
|
|
15
|
-
sphere = "sphere"
|
|
16
|
-
box = "box"
|
|
17
|
-
triangular_prism = "triangular_prism"
|
|
18
|
-
plane = "plane"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class BoxCoordinateConditionSchema(BaseModel):
|
|
22
|
-
shape: Literal["box"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
-
min_coordinate: List[float] = Field(..., max_length=3, min_length=3)
|
|
24
|
-
max_coordinate: List[float] = Field(..., max_length=3, min_length=3)
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/reusable/coordinate_conditions/cylinder.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import List, Literal, Optional
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, Field
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class CoordinateShapeEnum(Enum):
|
|
14
|
-
cylinder = "cylinder"
|
|
15
|
-
sphere = "sphere"
|
|
16
|
-
box = "box"
|
|
17
|
-
triangular_prism = "triangular_prism"
|
|
18
|
-
plane = "plane"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class CylinderCoordinateConditionSchema(BaseModel):
|
|
22
|
-
shape: Literal["cylinder"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
-
center_position: Optional[List[float]] = Field([0.5, 0.5], max_length=2, min_length=2)
|
|
24
|
-
radius: Optional[float] = 0.25
|
|
25
|
-
min_z: Optional[float] = 0
|
|
26
|
-
max_z: Optional[float] = 1
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/reusable/coordinate_conditions/plane.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import List, Literal
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, Field
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class CoordinateShapeEnum(Enum):
|
|
14
|
-
cylinder = "cylinder"
|
|
15
|
-
sphere = "sphere"
|
|
16
|
-
box = "box"
|
|
17
|
-
triangular_prism = "triangular_prism"
|
|
18
|
-
plane = "plane"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class PlaneCoordinateConditionSchema(BaseModel):
|
|
22
|
-
shape: Literal["plane"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
-
plane_normal: List[float] = Field(..., max_length=3, min_length=3)
|
|
24
|
-
plane_point_coordinate: List[float] = Field(..., max_length=3, min_length=3)
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/reusable/coordinate_conditions/sphere.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import List, Literal, Optional
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, Field
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class CoordinateShapeEnum(Enum):
|
|
14
|
-
cylinder = "cylinder"
|
|
15
|
-
sphere = "sphere"
|
|
16
|
-
box = "box"
|
|
17
|
-
triangular_prism = "triangular_prism"
|
|
18
|
-
plane = "plane"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class SphereCoordinateConditionSchema(BaseModel):
|
|
22
|
-
shape: Literal["sphere"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
-
center_position: Optional[List[float]] = Field([0.5, 0.5], max_length=2, min_length=2)
|
|
24
|
-
radius: Optional[float] = 0.25
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/reusable/coordinate_conditions/triangular_prism.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import List, Literal
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, Field
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class CoordinateShapeEnum(Enum):
|
|
14
|
-
cylinder = "cylinder"
|
|
15
|
-
sphere = "sphere"
|
|
16
|
-
box = "box"
|
|
17
|
-
triangular_prism = "triangular_prism"
|
|
18
|
-
plane = "plane"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
class TriangularPrismCoordinateConditionSchema(BaseModel):
|
|
22
|
-
shape: Literal["triangular_prism"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
-
position_on_surface_1: List[float] = Field(..., max_length=2, min_length=2)
|
|
24
|
-
position_on_surface_2: List[float] = Field(..., max_length=2, min_length=2)
|
|
25
|
-
position_on_surface_3: List[float] = Field(..., max_length=2, min_length=2)
|
|
26
|
-
min_z: float
|
|
27
|
-
max_z: float
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/reusable/repetitions.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import List, Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import Field, RootModel, conint
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class CrystalRepetitionsSchemaItem(RootModel[conint(ge=1)]):
|
|
13
|
-
root: conint(ge=1)
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
class CrystalRepetitionsSchema(RootModel[Optional[List[CrystalRepetitionsSchemaItem]]]):
|
|
17
|
-
root: Optional[List[CrystalRepetitionsSchemaItem]] = Field(
|
|
18
|
-
default_factory=lambda: [CrystalRepetitionsSchemaItem.model_validate(v) for v in [1, 1, 1]],
|
|
19
|
-
max_length=3,
|
|
20
|
-
min_length=3,
|
|
21
|
-
title="Crystal Repetitions Schema",
|
|
22
|
-
)
|
|
23
|
-
"""
|
|
24
|
-
Number of unit cells to repeat in each direction for a crystal structure.
|
|
25
|
-
"""
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/reusable/slab/enums/exposed_face.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class SlabExposedFaceEnum(Enum):
|
|
11
|
-
top = "top"
|
|
12
|
-
bottom = "bottom"
|
|
13
|
-
both = "both"
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/reusable/slab/enums.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class SurfaceTypesEnum(Enum):
|
|
11
|
-
top = "top"
|
|
12
|
-
bottom = "bottom"
|
|
13
|
-
both = "both"
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/reusable/slab/miller_indices.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import List, Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import Field, RootModel
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class MillerIndicesSchema(RootModel[Optional[List[int]]]):
|
|
13
|
-
root: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
|
|
14
|
-
"""
|
|
15
|
-
Miller indices for crystallographic plane designation
|
|
16
|
-
"""
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: material/reusable/slab/number_of_layers.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from typing import Optional
|
|
8
|
-
|
|
9
|
-
from pydantic import Field, RootModel, conint
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
class NumberOfLayersSchema(RootModel[Optional[conint(ge=1)]]):
|
|
13
|
-
root: Optional[conint(ge=1)] = Field(1, title="Number of Layers Schema")
|
|
14
|
-
"""
|
|
15
|
-
Number of atomic layers in a structural component
|
|
16
|
-
"""
|