mat3ra-esse 2025.5.16.post0__py3-none-any.whl → 2025.5.17.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/data/examples.py +1 -1
- mat3ra/esse/data/schemas.py +1 -1
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw_x.py +8 -8
- mat3ra/esse/models/core/reusable/energy.py +2 -2
- mat3ra/esse/models/definitions/chemical_elements.py +13 -0
- mat3ra/esse/models/definitions/materials.py +13 -0
- mat3ra/esse/models/element.py +128 -10
- mat3ra/esse/models/enums/__init__.py +3 -0
- mat3ra/esse/models/enums/chemical_elements.py +13 -0
- mat3ra/esse/models/material/__init__.py +140 -14
- mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py +128 -4
- mat3ra/esse/models/material/reusable/slab/enums/__init__.py +3 -0
- mat3ra/esse/models/material/reusable/slab/enums/exposed_face.py +13 -0
- mat3ra/esse/models/material/reusable/slab/number_of_layers.py +1 -1
- mat3ra/esse/models/material/reusable/slab/termination.py +129 -3
- mat3ra/esse/models/material/reusable/slab/vacuum.py +2 -2
- mat3ra/esse/models/materials_category/defects/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/configuration.py +672 -0
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/configuration.py +546 -0
- mat3ra/esse/models/materials_category/defects/configuration.py +541 -0
- mat3ra/esse/models/materials_category/defects/enums/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/enums/atom_placement_method.py +22 -0
- mat3ra/esse/models/materials_category/defects/enums/complex_defect_type.py +18 -0
- mat3ra/esse/models/materials_category/defects/enums/coordinates_shape.py +21 -0
- mat3ra/esse/models/materials_category/defects/enums/point_defect_type.py +13 -0
- mat3ra/esse/models/materials_category/defects/enums/slab_defect_type.py +19 -0
- mat3ra/esse/models/materials_category/defects/enums.py +13 -0
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +425 -0
- mat3ra/esse/models/materials_category/defects/slab/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/slab/configuration.py +412 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +449 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/slab_grain_boundary/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/slab_grain_boundary/configuration.py +1105 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/base_configuration.py +418 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/configuration.py +418 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair.py +1534 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/configuration.py +1026 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/base_configuration.py +30 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +672 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/configuration.py +672 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/configuration.py +672 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/configuration.py +672 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/slab/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/slab/configuration.py +434 -0
- mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +142 -16
- mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
- mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
- mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
- mat3ra/esse/models/properties_directory/structural/basis/__init__.py +128 -2
- mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +131 -2
- mat3ra/esse/models/properties_directory/structural/basis/atomic_elements.py +130 -3
- mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
- mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
- {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/RECORD +81 -36
- {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/top_level.txt +0 -0
|
@@ -1663,7 +1663,7 @@ class CardOption(Enum):
|
|
|
1663
1663
|
crystal_sg = "crystal_sg"
|
|
1664
1664
|
|
|
1665
1665
|
|
|
1666
|
-
class
|
|
1666
|
+
class Value35(BaseModel):
|
|
1667
1667
|
model_config = ConfigDict(
|
|
1668
1668
|
extra="forbid",
|
|
1669
1669
|
)
|
|
@@ -1693,7 +1693,7 @@ class AtomicPositionsSchema(BaseModel):
|
|
|
1693
1693
|
extra="forbid",
|
|
1694
1694
|
)
|
|
1695
1695
|
card_option: Optional[CardOption] = "alat"
|
|
1696
|
-
values: Optional[List[
|
|
1696
|
+
values: Optional[List[Value35]] = None
|
|
1697
1697
|
|
|
1698
1698
|
|
|
1699
1699
|
class CardOption5(Enum):
|
|
@@ -1707,7 +1707,7 @@ class CardOption5(Enum):
|
|
|
1707
1707
|
crystal_c = "crystal_c"
|
|
1708
1708
|
|
|
1709
1709
|
|
|
1710
|
-
class
|
|
1710
|
+
class Value36(BaseModel):
|
|
1711
1711
|
model_config = ConfigDict(
|
|
1712
1712
|
extra="forbid",
|
|
1713
1713
|
)
|
|
@@ -1756,7 +1756,7 @@ class KPointsSchema(BaseModel):
|
|
|
1756
1756
|
extra="forbid",
|
|
1757
1757
|
)
|
|
1758
1758
|
card_option: Optional[CardOption5] = None
|
|
1759
|
-
values: Optional[Union[List[
|
|
1759
|
+
values: Optional[Union[List[Value36], Values]] = None
|
|
1760
1760
|
|
|
1761
1761
|
|
|
1762
1762
|
class CardOption6(Enum):
|
|
@@ -1853,7 +1853,7 @@ class ParamType(Enum):
|
|
|
1853
1853
|
E3 = "E3"
|
|
1854
1854
|
|
|
1855
1855
|
|
|
1856
|
-
class
|
|
1856
|
+
class Value37(BaseModel):
|
|
1857
1857
|
model_config = ConfigDict(
|
|
1858
1858
|
extra="forbid",
|
|
1859
1859
|
)
|
|
@@ -1966,9 +1966,9 @@ class HubbardSchema(BaseModel):
|
|
|
1966
1966
|
extra="forbid",
|
|
1967
1967
|
)
|
|
1968
1968
|
card_option: Optional[CardOption7] = None
|
|
1969
|
-
values: Optional[
|
|
1970
|
-
|
|
1971
|
-
|
|
1969
|
+
values: Optional[
|
|
1970
|
+
Union[List[Union[Values9, Values10]], List[Value37], List[Union[Values11, Values12, Values13]]]
|
|
1971
|
+
] = None
|
|
1972
1972
|
|
|
1973
1973
|
|
|
1974
1974
|
class PwxMainSchema(BaseModel):
|
|
@@ -20,11 +20,11 @@ class Units(Enum):
|
|
|
20
20
|
eV_atom = "eV/atom"
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
class
|
|
23
|
+
class Units45(Enum):
|
|
24
24
|
eV_A_2 = "eV/A^2"
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
class EnergySchema(BaseModel):
|
|
28
28
|
name: str
|
|
29
|
-
units: Union[Units,
|
|
29
|
+
units: Union[Units, Units45]
|
|
30
30
|
value: float
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: definitions/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")
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: definitions/materials.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 MaterialsDefinitions(RootModel[Any]):
|
|
13
|
+
root: Any = Field(..., title="Materials Definitions")
|
mat3ra/esse/models/element.py
CHANGED
|
@@ -10,6 +10,127 @@ from typing import List, Optional, Union
|
|
|
10
10
|
from pydantic import BaseModel
|
|
11
11
|
|
|
12
12
|
|
|
13
|
+
class Symbol(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
|
+
|
|
13
134
|
class Name(Enum):
|
|
14
135
|
atomic_radius = "atomic_radius"
|
|
15
136
|
|
|
@@ -33,20 +154,20 @@ class AtomicRadius(BaseModel):
|
|
|
33
154
|
value: float
|
|
34
155
|
|
|
35
156
|
|
|
36
|
-
class
|
|
157
|
+
class Name87(Enum):
|
|
37
158
|
electronegativity = "electronegativity"
|
|
38
159
|
|
|
39
160
|
|
|
40
161
|
class Electronegativity(BaseModel):
|
|
41
|
-
name: Optional[
|
|
162
|
+
name: Optional[Name87] = None
|
|
42
163
|
value: float
|
|
43
164
|
|
|
44
165
|
|
|
45
|
-
class
|
|
166
|
+
class Name88(Enum):
|
|
46
167
|
ionization_potential = "ionization_potential"
|
|
47
168
|
|
|
48
169
|
|
|
49
|
-
class
|
|
170
|
+
class Units43(Enum):
|
|
50
171
|
kJ_mol = "kJ/mol"
|
|
51
172
|
eV = "eV"
|
|
52
173
|
J_mol = "J/mol"
|
|
@@ -57,16 +178,13 @@ class Units22(Enum):
|
|
|
57
178
|
|
|
58
179
|
|
|
59
180
|
class IonizationPotential(BaseModel):
|
|
60
|
-
name: Optional[
|
|
61
|
-
units: Optional[
|
|
181
|
+
name: Optional[Name88] = None
|
|
182
|
+
units: Optional[Units43] = None
|
|
62
183
|
value: float
|
|
63
184
|
|
|
64
185
|
|
|
65
186
|
class ElementSchema(BaseModel):
|
|
66
|
-
symbol: Optional[
|
|
67
|
-
"""
|
|
68
|
-
Element symbol.
|
|
69
|
-
"""
|
|
187
|
+
symbol: Optional[Symbol] = None
|
|
70
188
|
properties: Optional[List[Union[AtomicRadius, Electronegativity, IonizationPotential]]] = None
|
|
71
189
|
"""
|
|
72
190
|
list of elemental properties
|
|
@@ -0,0 +1,13 @@
|
|
|
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")
|
|
@@ -10,10 +10,136 @@ from typing import Any, Dict, List, Literal, Optional, Union
|
|
|
10
10
|
from pydantic import BaseModel, Field, RootModel, confloat, conint
|
|
11
11
|
|
|
12
12
|
|
|
13
|
+
class Value(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 Value27(Enum):
|
|
135
|
+
X = "X"
|
|
136
|
+
Vac = "Vac"
|
|
137
|
+
|
|
138
|
+
|
|
13
139
|
class AtomicElementSchema(BaseModel):
|
|
14
|
-
value:
|
|
140
|
+
value: Union[Value, Value27]
|
|
15
141
|
"""
|
|
16
|
-
|
|
142
|
+
All elements, including extra elements
|
|
17
143
|
"""
|
|
18
144
|
id: int
|
|
19
145
|
"""
|
|
@@ -159,30 +285,30 @@ class VolumeSchema(BaseModel):
|
|
|
159
285
|
value: float
|
|
160
286
|
|
|
161
287
|
|
|
162
|
-
class
|
|
288
|
+
class Name109(Enum):
|
|
163
289
|
density = "density"
|
|
164
290
|
|
|
165
291
|
|
|
166
|
-
class
|
|
292
|
+
class Units60(Enum):
|
|
167
293
|
g_cm_3 = "g/cm^3"
|
|
168
294
|
|
|
169
295
|
|
|
170
296
|
class DensitySchema(BaseModel):
|
|
171
297
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
172
|
-
units: Optional[
|
|
298
|
+
units: Optional[Units60] = None
|
|
173
299
|
value: float
|
|
174
300
|
|
|
175
301
|
|
|
176
|
-
class
|
|
302
|
+
class Units61(Enum):
|
|
177
303
|
angstrom = "angstrom"
|
|
178
304
|
|
|
179
305
|
|
|
180
306
|
class ScalarSchema(BaseModel):
|
|
181
|
-
units: Optional[
|
|
307
|
+
units: Optional[Units61] = None
|
|
182
308
|
value: float
|
|
183
309
|
|
|
184
310
|
|
|
185
|
-
class
|
|
311
|
+
class Name110(Enum):
|
|
186
312
|
symmetry = "symmetry"
|
|
187
313
|
|
|
188
314
|
|
|
@@ -202,7 +328,7 @@ class SymmetrySchema(BaseModel):
|
|
|
202
328
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
203
329
|
|
|
204
330
|
|
|
205
|
-
class
|
|
331
|
+
class Name111(Enum):
|
|
206
332
|
elemental_ratio = "elemental_ratio"
|
|
207
333
|
|
|
208
334
|
|
|
@@ -215,7 +341,7 @@ class ElementalRatio(BaseModel):
|
|
|
215
341
|
"""
|
|
216
342
|
|
|
217
343
|
|
|
218
|
-
class
|
|
344
|
+
class Name112(Enum):
|
|
219
345
|
p_norm = "p-norm"
|
|
220
346
|
|
|
221
347
|
|
|
@@ -228,7 +354,7 @@ class PNorm(BaseModel):
|
|
|
228
354
|
value: float
|
|
229
355
|
|
|
230
356
|
|
|
231
|
-
class
|
|
357
|
+
class Name113(Enum):
|
|
232
358
|
inchi = "inchi"
|
|
233
359
|
|
|
234
360
|
|
|
@@ -237,7 +363,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
237
363
|
value: str
|
|
238
364
|
|
|
239
365
|
|
|
240
|
-
class
|
|
366
|
+
class Name114(Enum):
|
|
241
367
|
inchi_key = "inchi_key"
|
|
242
368
|
|
|
243
369
|
|
|
@@ -316,7 +442,7 @@ class FileSourceSchema(BaseModel):
|
|
|
316
442
|
"""
|
|
317
443
|
|
|
318
444
|
|
|
319
|
-
class
|
|
445
|
+
class Name115(Enum):
|
|
320
446
|
default = "default"
|
|
321
447
|
atomsTooClose = "atomsTooClose"
|
|
322
448
|
atomsOverlap = "atomsOverlap"
|
|
@@ -329,7 +455,7 @@ class Severity(Enum):
|
|
|
329
455
|
|
|
330
456
|
|
|
331
457
|
class MaterialConsistencyCheckSchema(BaseModel):
|
|
332
|
-
name:
|
|
458
|
+
name: Name115
|
|
333
459
|
"""
|
|
334
460
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
335
461
|
"""
|
mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py
CHANGED
|
@@ -4,15 +4,139 @@
|
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
|
-
from
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Optional, Union
|
|
8
9
|
|
|
9
|
-
from pydantic import BaseModel, Field
|
|
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"
|
|
10
132
|
|
|
11
133
|
|
|
12
134
|
class TerminationSchema(BaseModel):
|
|
13
|
-
chemical_elements:
|
|
135
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
|
|
136
|
+
..., title="Chemical Elements"
|
|
137
|
+
)
|
|
14
138
|
"""
|
|
15
|
-
Chemical elements at the termination
|
|
139
|
+
Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')
|
|
16
140
|
"""
|
|
17
141
|
space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
|
|
18
142
|
"""
|
|
@@ -0,0 +1,13 @@
|
|
|
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"
|
|
@@ -10,7 +10,7 @@ from pydantic import Field, RootModel, conint
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class NumberOfLayersSchema(RootModel[Optional[conint(ge=1)]]):
|
|
13
|
-
root: Optional[conint(ge=1)] = Field(1, title="
|
|
13
|
+
root: Optional[conint(ge=1)] = Field(1, title="Number of Layers Schema")
|
|
14
14
|
"""
|
|
15
15
|
Number of atomic layers in a structural component
|
|
16
16
|
"""
|