mat3ra-esse 2025.5.17.post0__py3-none-any.whl → 2025.5.17.post2__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 +6 -6
- mat3ra/esse/models/coordinates_shape_enum.py +15 -0
- mat3ra/esse/models/core/reusable/axis_enum.py +13 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/base.py +21 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/box.py +24 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/cylinder.py +26 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/enum.py +15 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/plane.py +24 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/sphere.py +24 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/triangular_prism.py +27 -0
- mat3ra/esse/models/core/reusable/energy.py +2 -2
- mat3ra/esse/models/element.py +6 -6
- mat3ra/esse/models/material/__init__.py +14 -14
- mat3ra/esse/models/material/reusable/coordinate_conditions/base.py +21 -0
- mat3ra/esse/models/material/reusable/coordinate_conditions/box.py +24 -0
- mat3ra/esse/models/material/reusable/coordinate_conditions/cylinder.py +26 -0
- mat3ra/esse/models/material/reusable/coordinate_conditions/plane.py +24 -0
- mat3ra/esse/models/material/reusable/coordinate_conditions/sphere.py +24 -0
- mat3ra/esse/models/material/reusable/coordinate_conditions/triangular_prism.py +27 -0
- mat3ra/esse/models/{materials_category/defects/slab/configuration.py → material/reusable/slab/slab_configuration_with_termination.py} +195 -18
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom/configuration.py → material/reusable/slab/slab_with_termination.py} +198 -23
- mat3ra/esse/models/material/reusable/slab/two_slabs_stack.py +618 -0
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom/base_configuration.py → material/reusable/slab_configuration_with_termination.py} +318 -24
- mat3ra/esse/models/material/reusable/stack/slab_configuration_with_termination.py +593 -0
- mat3ra/esse/models/material/reusable/stack/slab_in_stack.py +720 -0
- mat3ra/esse/models/material/reusable/stack/stack_of_slabs.py +737 -0
- mat3ra/esse/models/material/reusable/stack/stack_of_two_slabs.py +737 -0
- mat3ra/esse/models/material/reusable/supercell/supercell_matrix_2d.py +25 -0
- mat3ra/esse/models/material/reusable/supercell/supercell_matrix_3d.py +27 -0
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/{zero_dimensional/slab → by_host/two_dimensional/layered}/configuration.py +149 -34
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/{configuration.py → point/configuration.py} +19 -15
- mat3ra/esse/models/materials_category/defects/configuration.py +18 -14
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +157 -19
- mat3ra/esse/models/materials_category/defects/two_dimensional/{slab_grain_boundary → grain_boundary_plane}/configuration.py +499 -404
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/condition_json.py +28 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +163 -48
- mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/{pair.py → pair/configuration.py} +137 -133
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/configuration.py +14 -14
- mat3ra/esse/models/materials_category/multi_material/interfaces/__init__.py +3 -0
- mat3ra/esse/models/materials_category/multi_material/interfaces/configuration.py +737 -0
- mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +17 -21
- 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/molecular_pattern.py +4 -4
- mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
- {mat3ra_esse-2025.5.17.post0.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.5.17.post0.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/RECORD +77 -58
- mat3ra/esse/models/materials_category/defects/enums/atom_placement_method.py +0 -22
- mat3ra/esse/models/materials_category/defects/enums/complex_defect_type.py +0 -18
- mat3ra/esse/models/materials_category/defects/enums/coordinates_shape.py +0 -21
- mat3ra/esse/models/materials_category/defects/enums/slab_defect_type.py +0 -19
- mat3ra/esse/models/materials_category/defects/enums.py +0 -13
- mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/configuration.py +0 -1026
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/base_configuration.py +0 -30
- /mat3ra/esse/models/{materials_category/defects/by_host/two_dimensional → core/reusable/coordinate_conditions}/__init__.py +0 -0
- /mat3ra/esse/models/{materials_category/defects/slab → material/reusable/coordinate_conditions}/__init__.py +0 -0
- /mat3ra/esse/models/{materials_category/defects/two_dimensional/slab_grain_boundary → material/reusable/stack}/__init__.py +0 -0
- /mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom → material/reusable/supercell}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/defects/{zero_dimensional/complex → by_host/two_dimensional/layered}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/defects/{zero_dimensional/defect_pair → by_host/two_dimensional/point}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/defects/{zero_dimensional/slab → two_dimensional/grain_boundary_plane}/__init__.py +0 -0
- {mat3ra_esse-2025.5.17.post0.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2025.5.17.post0.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.5.17.post0.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
|
-
# filename: materials_category/defects/two_dimensional/
|
|
2
|
+
# filename: materials_category/defects/two_dimensional/grain_boundary_plane/configuration.json
|
|
3
3
|
# version: 0.28.5
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
@@ -7,13 +7,145 @@ from __future__ import annotations
|
|
|
7
7
|
from enum import Enum
|
|
8
8
|
from typing import Any, Dict, List, Literal, Optional, Union
|
|
9
9
|
|
|
10
|
-
from pydantic import BaseModel, Field, RootModel, confloat, conint
|
|
10
|
+
from pydantic import BaseModel, Field, RootModel, confloat, conint, constr
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class AxisEnum(Enum):
|
|
14
|
+
x = "x"
|
|
15
|
+
y = "y"
|
|
16
|
+
z = "z"
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class Value(Enum):
|
|
20
|
+
H = "H"
|
|
21
|
+
He = "He"
|
|
22
|
+
Li = "Li"
|
|
23
|
+
Be = "Be"
|
|
24
|
+
B = "B"
|
|
25
|
+
C = "C"
|
|
26
|
+
N = "N"
|
|
27
|
+
O = "O"
|
|
28
|
+
F = "F"
|
|
29
|
+
Ne = "Ne"
|
|
30
|
+
Na = "Na"
|
|
31
|
+
Mg = "Mg"
|
|
32
|
+
Al = "Al"
|
|
33
|
+
Si = "Si"
|
|
34
|
+
P = "P"
|
|
35
|
+
S = "S"
|
|
36
|
+
Cl = "Cl"
|
|
37
|
+
Ar = "Ar"
|
|
38
|
+
K = "K"
|
|
39
|
+
Ca = "Ca"
|
|
40
|
+
Sc = "Sc"
|
|
41
|
+
Ti = "Ti"
|
|
42
|
+
V = "V"
|
|
43
|
+
Cr = "Cr"
|
|
44
|
+
Mn = "Mn"
|
|
45
|
+
Fe = "Fe"
|
|
46
|
+
Co = "Co"
|
|
47
|
+
Ni = "Ni"
|
|
48
|
+
Cu = "Cu"
|
|
49
|
+
Zn = "Zn"
|
|
50
|
+
Ga = "Ga"
|
|
51
|
+
Ge = "Ge"
|
|
52
|
+
As = "As"
|
|
53
|
+
Se = "Se"
|
|
54
|
+
Br = "Br"
|
|
55
|
+
Kr = "Kr"
|
|
56
|
+
Rb = "Rb"
|
|
57
|
+
Sr = "Sr"
|
|
58
|
+
Y = "Y"
|
|
59
|
+
Zr = "Zr"
|
|
60
|
+
Nb = "Nb"
|
|
61
|
+
Mo = "Mo"
|
|
62
|
+
Tc = "Tc"
|
|
63
|
+
Ru = "Ru"
|
|
64
|
+
Rh = "Rh"
|
|
65
|
+
Pd = "Pd"
|
|
66
|
+
Ag = "Ag"
|
|
67
|
+
Cd = "Cd"
|
|
68
|
+
In = "In"
|
|
69
|
+
Sn = "Sn"
|
|
70
|
+
Sb = "Sb"
|
|
71
|
+
Te = "Te"
|
|
72
|
+
I = "I"
|
|
73
|
+
Xe = "Xe"
|
|
74
|
+
Cs = "Cs"
|
|
75
|
+
Ba = "Ba"
|
|
76
|
+
La = "La"
|
|
77
|
+
Ce = "Ce"
|
|
78
|
+
Pr = "Pr"
|
|
79
|
+
Nd = "Nd"
|
|
80
|
+
Pm = "Pm"
|
|
81
|
+
Sm = "Sm"
|
|
82
|
+
Eu = "Eu"
|
|
83
|
+
Gd = "Gd"
|
|
84
|
+
Tb = "Tb"
|
|
85
|
+
Dy = "Dy"
|
|
86
|
+
Ho = "Ho"
|
|
87
|
+
Er = "Er"
|
|
88
|
+
Tm = "Tm"
|
|
89
|
+
Yb = "Yb"
|
|
90
|
+
Lu = "Lu"
|
|
91
|
+
Hf = "Hf"
|
|
92
|
+
Ta = "Ta"
|
|
93
|
+
W = "W"
|
|
94
|
+
Re = "Re"
|
|
95
|
+
Os = "Os"
|
|
96
|
+
Ir = "Ir"
|
|
97
|
+
Pt = "Pt"
|
|
98
|
+
Au = "Au"
|
|
99
|
+
Hg = "Hg"
|
|
100
|
+
Tl = "Tl"
|
|
101
|
+
Pb = "Pb"
|
|
102
|
+
Bi = "Bi"
|
|
103
|
+
Po = "Po"
|
|
104
|
+
At = "At"
|
|
105
|
+
Rn = "Rn"
|
|
106
|
+
Fr = "Fr"
|
|
107
|
+
Ra = "Ra"
|
|
108
|
+
Ac = "Ac"
|
|
109
|
+
Th = "Th"
|
|
110
|
+
Pa = "Pa"
|
|
111
|
+
U = "U"
|
|
112
|
+
Np = "Np"
|
|
113
|
+
Pu = "Pu"
|
|
114
|
+
Am = "Am"
|
|
115
|
+
Cm = "Cm"
|
|
116
|
+
Bk = "Bk"
|
|
117
|
+
Cf = "Cf"
|
|
118
|
+
Es = "Es"
|
|
119
|
+
Fm = "Fm"
|
|
120
|
+
Md = "Md"
|
|
121
|
+
No = "No"
|
|
122
|
+
Lr = "Lr"
|
|
123
|
+
Rf = "Rf"
|
|
124
|
+
Db = "Db"
|
|
125
|
+
Sg = "Sg"
|
|
126
|
+
Bh = "Bh"
|
|
127
|
+
Hs = "Hs"
|
|
128
|
+
Mt = "Mt"
|
|
129
|
+
Ds = "Ds"
|
|
130
|
+
Rg = "Rg"
|
|
131
|
+
Cn = "Cn"
|
|
132
|
+
Nh = "Nh"
|
|
133
|
+
Fl = "Fl"
|
|
134
|
+
Mc = "Mc"
|
|
135
|
+
Lv = "Lv"
|
|
136
|
+
Ts = "Ts"
|
|
137
|
+
Og = "Og"
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
class Value33(Enum):
|
|
141
|
+
X = "X"
|
|
142
|
+
Vac = "Vac"
|
|
11
143
|
|
|
12
144
|
|
|
13
145
|
class AtomicElementSchema(BaseModel):
|
|
14
|
-
value:
|
|
146
|
+
value: Union[Value, Value33]
|
|
15
147
|
"""
|
|
16
|
-
|
|
148
|
+
All elements, including extra elements
|
|
17
149
|
"""
|
|
18
150
|
id: int
|
|
19
151
|
"""
|
|
@@ -159,30 +291,30 @@ class VolumeSchema(BaseModel):
|
|
|
159
291
|
value: float
|
|
160
292
|
|
|
161
293
|
|
|
162
|
-
class
|
|
294
|
+
class Name104(Enum):
|
|
163
295
|
density = "density"
|
|
164
296
|
|
|
165
297
|
|
|
166
|
-
class
|
|
298
|
+
class Units46(Enum):
|
|
167
299
|
g_cm_3 = "g/cm^3"
|
|
168
300
|
|
|
169
301
|
|
|
170
302
|
class DensitySchema(BaseModel):
|
|
171
303
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
172
|
-
units: Optional[
|
|
304
|
+
units: Optional[Units46] = None
|
|
173
305
|
value: float
|
|
174
306
|
|
|
175
307
|
|
|
176
|
-
class
|
|
308
|
+
class Units47(Enum):
|
|
177
309
|
angstrom = "angstrom"
|
|
178
310
|
|
|
179
311
|
|
|
180
312
|
class ScalarSchema(BaseModel):
|
|
181
|
-
units: Optional[
|
|
313
|
+
units: Optional[Units47] = None
|
|
182
314
|
value: float
|
|
183
315
|
|
|
184
316
|
|
|
185
|
-
class
|
|
317
|
+
class Name105(Enum):
|
|
186
318
|
symmetry = "symmetry"
|
|
187
319
|
|
|
188
320
|
|
|
@@ -202,7 +334,7 @@ class SymmetrySchema(BaseModel):
|
|
|
202
334
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
203
335
|
|
|
204
336
|
|
|
205
|
-
class
|
|
337
|
+
class Name106(Enum):
|
|
206
338
|
elemental_ratio = "elemental_ratio"
|
|
207
339
|
|
|
208
340
|
|
|
@@ -215,7 +347,7 @@ class ElementalRatio(BaseModel):
|
|
|
215
347
|
"""
|
|
216
348
|
|
|
217
349
|
|
|
218
|
-
class
|
|
350
|
+
class Name107(Enum):
|
|
219
351
|
p_norm = "p-norm"
|
|
220
352
|
|
|
221
353
|
|
|
@@ -228,7 +360,7 @@ class PNorm(BaseModel):
|
|
|
228
360
|
value: float
|
|
229
361
|
|
|
230
362
|
|
|
231
|
-
class
|
|
363
|
+
class Name108(Enum):
|
|
232
364
|
inchi = "inchi"
|
|
233
365
|
|
|
234
366
|
|
|
@@ -237,7 +369,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
237
369
|
value: str
|
|
238
370
|
|
|
239
371
|
|
|
240
|
-
class
|
|
372
|
+
class Name109(Enum):
|
|
241
373
|
inchi_key = "inchi_key"
|
|
242
374
|
|
|
243
375
|
|
|
@@ -316,7 +448,7 @@ class FileSourceSchema(BaseModel):
|
|
|
316
448
|
"""
|
|
317
449
|
|
|
318
450
|
|
|
319
|
-
class
|
|
451
|
+
class Name110(Enum):
|
|
320
452
|
default = "default"
|
|
321
453
|
atomsTooClose = "atomsTooClose"
|
|
322
454
|
atomsOverlap = "atomsOverlap"
|
|
@@ -329,7 +461,7 @@ class Severity(Enum):
|
|
|
329
461
|
|
|
330
462
|
|
|
331
463
|
class MaterialConsistencyCheckSchema(BaseModel):
|
|
332
|
-
name:
|
|
464
|
+
name: Name110
|
|
333
465
|
"""
|
|
334
466
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
335
467
|
"""
|
|
@@ -433,20 +565,287 @@ class SlabConfigurationSchema(BaseModel):
|
|
|
433
565
|
"""
|
|
434
566
|
use_conventional_cell: Optional[bool] = Field(True, title="Use Conventional Cell")
|
|
435
567
|
"""
|
|
436
|
-
Whether to use conventional cell
|
|
568
|
+
Whether to use conventional cell when generating the slab.
|
|
569
|
+
"""
|
|
570
|
+
use_orthogonal_z: Optional[bool] = Field(True, title="Use Orthogonal Z")
|
|
571
|
+
"""
|
|
572
|
+
Whether to make vector c orthogonal to ab plane for the slab cell.
|
|
573
|
+
"""
|
|
574
|
+
|
|
575
|
+
|
|
576
|
+
class ChemicalElements(Enum):
|
|
577
|
+
H = "H"
|
|
578
|
+
He = "He"
|
|
579
|
+
Li = "Li"
|
|
580
|
+
Be = "Be"
|
|
581
|
+
B = "B"
|
|
582
|
+
C = "C"
|
|
583
|
+
N = "N"
|
|
584
|
+
O = "O"
|
|
585
|
+
F = "F"
|
|
586
|
+
Ne = "Ne"
|
|
587
|
+
Na = "Na"
|
|
588
|
+
Mg = "Mg"
|
|
589
|
+
Al = "Al"
|
|
590
|
+
Si = "Si"
|
|
591
|
+
P = "P"
|
|
592
|
+
S = "S"
|
|
593
|
+
Cl = "Cl"
|
|
594
|
+
Ar = "Ar"
|
|
595
|
+
K = "K"
|
|
596
|
+
Ca = "Ca"
|
|
597
|
+
Sc = "Sc"
|
|
598
|
+
Ti = "Ti"
|
|
599
|
+
V = "V"
|
|
600
|
+
Cr = "Cr"
|
|
601
|
+
Mn = "Mn"
|
|
602
|
+
Fe = "Fe"
|
|
603
|
+
Co = "Co"
|
|
604
|
+
Ni = "Ni"
|
|
605
|
+
Cu = "Cu"
|
|
606
|
+
Zn = "Zn"
|
|
607
|
+
Ga = "Ga"
|
|
608
|
+
Ge = "Ge"
|
|
609
|
+
As = "As"
|
|
610
|
+
Se = "Se"
|
|
611
|
+
Br = "Br"
|
|
612
|
+
Kr = "Kr"
|
|
613
|
+
Rb = "Rb"
|
|
614
|
+
Sr = "Sr"
|
|
615
|
+
Y = "Y"
|
|
616
|
+
Zr = "Zr"
|
|
617
|
+
Nb = "Nb"
|
|
618
|
+
Mo = "Mo"
|
|
619
|
+
Tc = "Tc"
|
|
620
|
+
Ru = "Ru"
|
|
621
|
+
Rh = "Rh"
|
|
622
|
+
Pd = "Pd"
|
|
623
|
+
Ag = "Ag"
|
|
624
|
+
Cd = "Cd"
|
|
625
|
+
In = "In"
|
|
626
|
+
Sn = "Sn"
|
|
627
|
+
Sb = "Sb"
|
|
628
|
+
Te = "Te"
|
|
629
|
+
I = "I"
|
|
630
|
+
Xe = "Xe"
|
|
631
|
+
Cs = "Cs"
|
|
632
|
+
Ba = "Ba"
|
|
633
|
+
La = "La"
|
|
634
|
+
Ce = "Ce"
|
|
635
|
+
Pr = "Pr"
|
|
636
|
+
Nd = "Nd"
|
|
637
|
+
Pm = "Pm"
|
|
638
|
+
Sm = "Sm"
|
|
639
|
+
Eu = "Eu"
|
|
640
|
+
Gd = "Gd"
|
|
641
|
+
Tb = "Tb"
|
|
642
|
+
Dy = "Dy"
|
|
643
|
+
Ho = "Ho"
|
|
644
|
+
Er = "Er"
|
|
645
|
+
Tm = "Tm"
|
|
646
|
+
Yb = "Yb"
|
|
647
|
+
Lu = "Lu"
|
|
648
|
+
Hf = "Hf"
|
|
649
|
+
Ta = "Ta"
|
|
650
|
+
W = "W"
|
|
651
|
+
Re = "Re"
|
|
652
|
+
Os = "Os"
|
|
653
|
+
Ir = "Ir"
|
|
654
|
+
Pt = "Pt"
|
|
655
|
+
Au = "Au"
|
|
656
|
+
Hg = "Hg"
|
|
657
|
+
Tl = "Tl"
|
|
658
|
+
Pb = "Pb"
|
|
659
|
+
Bi = "Bi"
|
|
660
|
+
Po = "Po"
|
|
661
|
+
At = "At"
|
|
662
|
+
Rn = "Rn"
|
|
663
|
+
Fr = "Fr"
|
|
664
|
+
Ra = "Ra"
|
|
665
|
+
Ac = "Ac"
|
|
666
|
+
Th = "Th"
|
|
667
|
+
Pa = "Pa"
|
|
668
|
+
U = "U"
|
|
669
|
+
Np = "Np"
|
|
670
|
+
Pu = "Pu"
|
|
671
|
+
Am = "Am"
|
|
672
|
+
Cm = "Cm"
|
|
673
|
+
Bk = "Bk"
|
|
674
|
+
Cf = "Cf"
|
|
675
|
+
Es = "Es"
|
|
676
|
+
Fm = "Fm"
|
|
677
|
+
Md = "Md"
|
|
678
|
+
No = "No"
|
|
679
|
+
Lr = "Lr"
|
|
680
|
+
Rf = "Rf"
|
|
681
|
+
Db = "Db"
|
|
682
|
+
Sg = "Sg"
|
|
683
|
+
Bh = "Bh"
|
|
684
|
+
Hs = "Hs"
|
|
685
|
+
Mt = "Mt"
|
|
686
|
+
Ds = "Ds"
|
|
687
|
+
Rg = "Rg"
|
|
688
|
+
Cn = "Cn"
|
|
689
|
+
Nh = "Nh"
|
|
690
|
+
Fl = "Fl"
|
|
691
|
+
Mc = "Mc"
|
|
692
|
+
Lv = "Lv"
|
|
693
|
+
Ts = "Ts"
|
|
694
|
+
Og = "Og"
|
|
695
|
+
|
|
696
|
+
|
|
697
|
+
class TerminationSchema(BaseModel):
|
|
698
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
|
|
699
|
+
..., title="Chemical Elements"
|
|
700
|
+
)
|
|
701
|
+
"""
|
|
702
|
+
Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')
|
|
703
|
+
"""
|
|
704
|
+
space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
|
|
437
705
|
"""
|
|
438
|
-
|
|
706
|
+
Space group symmetry designation for the termination
|
|
439
707
|
"""
|
|
440
|
-
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
class Value34(Enum):
|
|
711
|
+
H = "H"
|
|
712
|
+
He = "He"
|
|
713
|
+
Li = "Li"
|
|
714
|
+
Be = "Be"
|
|
715
|
+
B = "B"
|
|
716
|
+
C = "C"
|
|
717
|
+
N = "N"
|
|
718
|
+
O = "O"
|
|
719
|
+
F = "F"
|
|
720
|
+
Ne = "Ne"
|
|
721
|
+
Na = "Na"
|
|
722
|
+
Mg = "Mg"
|
|
723
|
+
Al = "Al"
|
|
724
|
+
Si = "Si"
|
|
725
|
+
P = "P"
|
|
726
|
+
S = "S"
|
|
727
|
+
Cl = "Cl"
|
|
728
|
+
Ar = "Ar"
|
|
729
|
+
K = "K"
|
|
730
|
+
Ca = "Ca"
|
|
731
|
+
Sc = "Sc"
|
|
732
|
+
Ti = "Ti"
|
|
733
|
+
V = "V"
|
|
734
|
+
Cr = "Cr"
|
|
735
|
+
Mn = "Mn"
|
|
736
|
+
Fe = "Fe"
|
|
737
|
+
Co = "Co"
|
|
738
|
+
Ni = "Ni"
|
|
739
|
+
Cu = "Cu"
|
|
740
|
+
Zn = "Zn"
|
|
741
|
+
Ga = "Ga"
|
|
742
|
+
Ge = "Ge"
|
|
743
|
+
As = "As"
|
|
744
|
+
Se = "Se"
|
|
745
|
+
Br = "Br"
|
|
746
|
+
Kr = "Kr"
|
|
747
|
+
Rb = "Rb"
|
|
748
|
+
Sr = "Sr"
|
|
749
|
+
Y = "Y"
|
|
750
|
+
Zr = "Zr"
|
|
751
|
+
Nb = "Nb"
|
|
752
|
+
Mo = "Mo"
|
|
753
|
+
Tc = "Tc"
|
|
754
|
+
Ru = "Ru"
|
|
755
|
+
Rh = "Rh"
|
|
756
|
+
Pd = "Pd"
|
|
757
|
+
Ag = "Ag"
|
|
758
|
+
Cd = "Cd"
|
|
759
|
+
In = "In"
|
|
760
|
+
Sn = "Sn"
|
|
761
|
+
Sb = "Sb"
|
|
762
|
+
Te = "Te"
|
|
763
|
+
I = "I"
|
|
764
|
+
Xe = "Xe"
|
|
765
|
+
Cs = "Cs"
|
|
766
|
+
Ba = "Ba"
|
|
767
|
+
La = "La"
|
|
768
|
+
Ce = "Ce"
|
|
769
|
+
Pr = "Pr"
|
|
770
|
+
Nd = "Nd"
|
|
771
|
+
Pm = "Pm"
|
|
772
|
+
Sm = "Sm"
|
|
773
|
+
Eu = "Eu"
|
|
774
|
+
Gd = "Gd"
|
|
775
|
+
Tb = "Tb"
|
|
776
|
+
Dy = "Dy"
|
|
777
|
+
Ho = "Ho"
|
|
778
|
+
Er = "Er"
|
|
779
|
+
Tm = "Tm"
|
|
780
|
+
Yb = "Yb"
|
|
781
|
+
Lu = "Lu"
|
|
782
|
+
Hf = "Hf"
|
|
783
|
+
Ta = "Ta"
|
|
784
|
+
W = "W"
|
|
785
|
+
Re = "Re"
|
|
786
|
+
Os = "Os"
|
|
787
|
+
Ir = "Ir"
|
|
788
|
+
Pt = "Pt"
|
|
789
|
+
Au = "Au"
|
|
790
|
+
Hg = "Hg"
|
|
791
|
+
Tl = "Tl"
|
|
792
|
+
Pb = "Pb"
|
|
793
|
+
Bi = "Bi"
|
|
794
|
+
Po = "Po"
|
|
795
|
+
At = "At"
|
|
796
|
+
Rn = "Rn"
|
|
797
|
+
Fr = "Fr"
|
|
798
|
+
Ra = "Ra"
|
|
799
|
+
Ac = "Ac"
|
|
800
|
+
Th = "Th"
|
|
801
|
+
Pa = "Pa"
|
|
802
|
+
U = "U"
|
|
803
|
+
Np = "Np"
|
|
804
|
+
Pu = "Pu"
|
|
805
|
+
Am = "Am"
|
|
806
|
+
Cm = "Cm"
|
|
807
|
+
Bk = "Bk"
|
|
808
|
+
Cf = "Cf"
|
|
809
|
+
Es = "Es"
|
|
810
|
+
Fm = "Fm"
|
|
811
|
+
Md = "Md"
|
|
812
|
+
No = "No"
|
|
813
|
+
Lr = "Lr"
|
|
814
|
+
Rf = "Rf"
|
|
815
|
+
Db = "Db"
|
|
816
|
+
Sg = "Sg"
|
|
817
|
+
Bh = "Bh"
|
|
818
|
+
Hs = "Hs"
|
|
819
|
+
Mt = "Mt"
|
|
820
|
+
Ds = "Ds"
|
|
821
|
+
Rg = "Rg"
|
|
822
|
+
Cn = "Cn"
|
|
823
|
+
Nh = "Nh"
|
|
824
|
+
Fl = "Fl"
|
|
825
|
+
Mc = "Mc"
|
|
826
|
+
Lv = "Lv"
|
|
827
|
+
Ts = "Ts"
|
|
828
|
+
Og = "Og"
|
|
829
|
+
|
|
830
|
+
|
|
831
|
+
class Value35(Enum):
|
|
832
|
+
X = "X"
|
|
833
|
+
Vac = "Vac"
|
|
834
|
+
|
|
835
|
+
|
|
836
|
+
class AtomicElementSchema16(BaseModel):
|
|
837
|
+
value: Union[Value34, Value35]
|
|
838
|
+
"""
|
|
839
|
+
All elements, including extra elements
|
|
441
840
|
"""
|
|
442
|
-
|
|
841
|
+
id: int
|
|
443
842
|
"""
|
|
444
|
-
|
|
843
|
+
integer id of this entry
|
|
445
844
|
"""
|
|
446
845
|
|
|
447
846
|
|
|
448
|
-
class
|
|
449
|
-
elements: List[
|
|
847
|
+
class BasisSchema14(BaseModel):
|
|
848
|
+
elements: List[AtomicElementSchema16] = Field(..., title="atomic elements schema")
|
|
450
849
|
"""
|
|
451
850
|
atomic elements schema
|
|
452
851
|
"""
|
|
@@ -461,7 +860,7 @@ class BasisSchema11(BaseModel):
|
|
|
461
860
|
"""
|
|
462
861
|
|
|
463
862
|
|
|
464
|
-
class
|
|
863
|
+
class LatticeVectorsSchema13(BaseModel):
|
|
465
864
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
466
865
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
467
866
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -472,12 +871,12 @@ class LatticeVectorsSchema10(BaseModel):
|
|
|
472
871
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
473
872
|
|
|
474
873
|
|
|
475
|
-
class
|
|
874
|
+
class LatticeUnitsSchema13(BaseModel):
|
|
476
875
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
477
876
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
478
877
|
|
|
479
878
|
|
|
480
|
-
class
|
|
879
|
+
class LatticeSchema13(BaseModel):
|
|
481
880
|
a: float
|
|
482
881
|
"""
|
|
483
882
|
length of the first lattice vector
|
|
@@ -502,56 +901,56 @@ class LatticeSchema10(BaseModel):
|
|
|
502
901
|
"""
|
|
503
902
|
angle between first and third lattice vector
|
|
504
903
|
"""
|
|
505
|
-
vectors: Optional[
|
|
904
|
+
vectors: Optional[LatticeVectorsSchema13] = Field(None, title="lattice vectors schema")
|
|
506
905
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
507
|
-
units: Optional[
|
|
508
|
-
default_factory=lambda:
|
|
906
|
+
units: Optional[LatticeUnitsSchema13] = Field(
|
|
907
|
+
default_factory=lambda: LatticeUnitsSchema13.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
509
908
|
title="Lattice units schema",
|
|
510
909
|
)
|
|
511
910
|
|
|
512
911
|
|
|
513
|
-
class
|
|
912
|
+
class Name111(Enum):
|
|
514
913
|
volume = "volume"
|
|
515
914
|
|
|
516
915
|
|
|
517
|
-
class
|
|
916
|
+
class Units48(Enum):
|
|
518
917
|
angstrom_3 = "angstrom^3"
|
|
519
918
|
|
|
520
919
|
|
|
521
|
-
class
|
|
920
|
+
class VolumeSchema13(BaseModel):
|
|
522
921
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
523
|
-
units: Optional[
|
|
922
|
+
units: Optional[Units48] = None
|
|
524
923
|
value: float
|
|
525
924
|
|
|
526
925
|
|
|
527
|
-
class
|
|
926
|
+
class Name112(Enum):
|
|
528
927
|
density = "density"
|
|
529
928
|
|
|
530
929
|
|
|
531
|
-
class
|
|
930
|
+
class Units49(Enum):
|
|
532
931
|
g_cm_3 = "g/cm^3"
|
|
533
932
|
|
|
534
933
|
|
|
535
|
-
class
|
|
934
|
+
class DensitySchema13(BaseModel):
|
|
536
935
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
537
|
-
units: Optional[
|
|
936
|
+
units: Optional[Units49] = None
|
|
538
937
|
value: float
|
|
539
938
|
|
|
540
939
|
|
|
541
|
-
class
|
|
940
|
+
class Units50(Enum):
|
|
542
941
|
angstrom = "angstrom"
|
|
543
942
|
|
|
544
943
|
|
|
545
|
-
class
|
|
546
|
-
units: Optional[
|
|
944
|
+
class ScalarSchema14(BaseModel):
|
|
945
|
+
units: Optional[Units50] = None
|
|
547
946
|
value: float
|
|
548
947
|
|
|
549
948
|
|
|
550
|
-
class
|
|
949
|
+
class Name113(Enum):
|
|
551
950
|
symmetry = "symmetry"
|
|
552
951
|
|
|
553
952
|
|
|
554
|
-
class
|
|
953
|
+
class SymmetrySchema13(BaseModel):
|
|
555
954
|
pointGroupSymbol: Optional[str] = None
|
|
556
955
|
"""
|
|
557
956
|
point group symbol in Schoenflies notation
|
|
@@ -560,18 +959,18 @@ class SymmetrySchema10(BaseModel):
|
|
|
560
959
|
"""
|
|
561
960
|
space group symbol in Hermann–Mauguin notation
|
|
562
961
|
"""
|
|
563
|
-
tolerance: Optional[
|
|
962
|
+
tolerance: Optional[ScalarSchema14] = Field(None, title="scalar schema")
|
|
564
963
|
"""
|
|
565
964
|
tolerance used for symmetry calculation
|
|
566
965
|
"""
|
|
567
966
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
568
967
|
|
|
569
968
|
|
|
570
|
-
class
|
|
969
|
+
class Name114(Enum):
|
|
571
970
|
elemental_ratio = "elemental_ratio"
|
|
572
971
|
|
|
573
972
|
|
|
574
|
-
class
|
|
973
|
+
class ElementalRatio13(BaseModel):
|
|
575
974
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
576
975
|
value: confloat(ge=0.0, le=1.0)
|
|
577
976
|
element: Optional[str] = None
|
|
@@ -580,11 +979,11 @@ class ElementalRatio10(BaseModel):
|
|
|
580
979
|
"""
|
|
581
980
|
|
|
582
981
|
|
|
583
|
-
class
|
|
982
|
+
class Name115(Enum):
|
|
584
983
|
p_norm = "p-norm"
|
|
585
984
|
|
|
586
985
|
|
|
587
|
-
class
|
|
986
|
+
class PNorm13(BaseModel):
|
|
588
987
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
589
988
|
degree: Optional[int] = None
|
|
590
989
|
"""
|
|
@@ -593,56 +992,56 @@ class PNorm10(BaseModel):
|
|
|
593
992
|
value: float
|
|
594
993
|
|
|
595
994
|
|
|
596
|
-
class
|
|
995
|
+
class Name116(Enum):
|
|
597
996
|
inchi = "inchi"
|
|
598
997
|
|
|
599
998
|
|
|
600
|
-
class
|
|
999
|
+
class InChIRepresentationSchema13(BaseModel):
|
|
601
1000
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
602
1001
|
value: str
|
|
603
1002
|
|
|
604
1003
|
|
|
605
|
-
class
|
|
1004
|
+
class Name117(Enum):
|
|
606
1005
|
inchi_key = "inchi_key"
|
|
607
1006
|
|
|
608
1007
|
|
|
609
|
-
class
|
|
1008
|
+
class InChIKeyRepresentationSchema13(BaseModel):
|
|
610
1009
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
611
1010
|
value: str
|
|
612
1011
|
|
|
613
1012
|
|
|
614
|
-
class
|
|
1013
|
+
class DerivedPropertiesSchema13(
|
|
615
1014
|
RootModel[
|
|
616
1015
|
Union[
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
1016
|
+
VolumeSchema13,
|
|
1017
|
+
DensitySchema13,
|
|
1018
|
+
SymmetrySchema13,
|
|
1019
|
+
ElementalRatio13,
|
|
1020
|
+
PNorm13,
|
|
1021
|
+
InChIRepresentationSchema13,
|
|
1022
|
+
InChIKeyRepresentationSchema13,
|
|
624
1023
|
]
|
|
625
1024
|
]
|
|
626
1025
|
):
|
|
627
1026
|
root: Union[
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
1027
|
+
VolumeSchema13,
|
|
1028
|
+
DensitySchema13,
|
|
1029
|
+
SymmetrySchema13,
|
|
1030
|
+
ElementalRatio13,
|
|
1031
|
+
PNorm13,
|
|
1032
|
+
InChIRepresentationSchema13,
|
|
1033
|
+
InChIKeyRepresentationSchema13,
|
|
635
1034
|
] = Field(..., discriminator="name")
|
|
636
1035
|
|
|
637
1036
|
|
|
638
|
-
class
|
|
1037
|
+
class Name118(Enum):
|
|
639
1038
|
default = "default"
|
|
640
1039
|
atomsTooClose = "atomsTooClose"
|
|
641
1040
|
atomsOverlap = "atomsOverlap"
|
|
642
1041
|
|
|
643
1042
|
|
|
644
|
-
class
|
|
645
|
-
name:
|
|
1043
|
+
class MaterialConsistencyCheckSchema13(BaseModel):
|
|
1044
|
+
name: Name118
|
|
646
1045
|
"""
|
|
647
1046
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
648
1047
|
"""
|
|
@@ -660,7 +1059,7 @@ class MaterialConsistencyCheckSchema10(BaseModel):
|
|
|
660
1059
|
"""
|
|
661
1060
|
|
|
662
1061
|
|
|
663
|
-
class
|
|
1062
|
+
class MaterialSchema13(BaseModel):
|
|
664
1063
|
formula: Optional[str] = None
|
|
665
1064
|
"""
|
|
666
1065
|
reduced chemical formula
|
|
@@ -669,9 +1068,9 @@ class MaterialSchema10(BaseModel):
|
|
|
669
1068
|
"""
|
|
670
1069
|
chemical formula based on the number of atoms of each element in the supercell
|
|
671
1070
|
"""
|
|
672
|
-
basis:
|
|
673
|
-
lattice:
|
|
674
|
-
derivedProperties: Optional[List[
|
|
1071
|
+
basis: BasisSchema14 = Field(..., title="basis schema")
|
|
1072
|
+
lattice: LatticeSchema13 = Field(..., title="lattice schema")
|
|
1073
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema13]] = Field(None, title="derived properties schema")
|
|
675
1074
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
676
1075
|
"""
|
|
677
1076
|
information about a database source
|
|
@@ -692,7 +1091,7 @@ class MaterialSchema10(BaseModel):
|
|
|
692
1091
|
"""
|
|
693
1092
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
694
1093
|
"""
|
|
695
|
-
consistencyChecks: Optional[List[
|
|
1094
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema13]] = None
|
|
696
1095
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
697
1096
|
"""
|
|
698
1097
|
entity identity
|
|
@@ -717,8 +1116,8 @@ class MaterialSchema10(BaseModel):
|
|
|
717
1116
|
metadata: Optional[Dict[str, Any]] = None
|
|
718
1117
|
|
|
719
1118
|
|
|
720
|
-
class
|
|
721
|
-
bulk: Optional[
|
|
1119
|
+
class SlabConfigurationSchema2(BaseModel):
|
|
1120
|
+
bulk: Optional[MaterialSchema13] = Field(None, title="material schema")
|
|
722
1121
|
miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
|
|
723
1122
|
"""
|
|
724
1123
|
Miller indices for crystallographic plane designation
|
|
@@ -742,22 +1141,20 @@ class SlabConfigurationSchema1(BaseModel):
|
|
|
742
1141
|
"""
|
|
743
1142
|
use_conventional_cell: Optional[bool] = Field(True, title="Use Conventional Cell")
|
|
744
1143
|
"""
|
|
745
|
-
Whether to use conventional cell
|
|
746
|
-
"""
|
|
747
|
-
use_orthogonal_z: Optional[bool] = Field(False, title="Use Orthogonal Z")
|
|
748
|
-
"""
|
|
749
|
-
Whether to make z-axis orthogonal
|
|
1144
|
+
Whether to use conventional cell when generating the slab.
|
|
750
1145
|
"""
|
|
751
|
-
|
|
1146
|
+
use_orthogonal_z: Optional[bool] = Field(True, title="Use Orthogonal Z")
|
|
752
1147
|
"""
|
|
753
|
-
Whether to make the slab
|
|
1148
|
+
Whether to make vector c orthogonal to ab plane for the slab cell.
|
|
754
1149
|
"""
|
|
755
1150
|
|
|
756
1151
|
|
|
757
|
-
class
|
|
758
|
-
chemical_elements:
|
|
1152
|
+
class TerminationSchema2(BaseModel):
|
|
1153
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
|
|
1154
|
+
..., title="Chemical Elements"
|
|
1155
|
+
)
|
|
759
1156
|
"""
|
|
760
|
-
Chemical elements at the termination
|
|
1157
|
+
Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')
|
|
761
1158
|
"""
|
|
762
1159
|
space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
|
|
763
1160
|
"""
|
|
@@ -765,341 +1162,39 @@ class TerminationSchema(BaseModel):
|
|
|
765
1162
|
"""
|
|
766
1163
|
|
|
767
1164
|
|
|
768
|
-
class
|
|
769
|
-
|
|
770
|
-
"""
|
|
771
|
-
atomic elements schema
|
|
772
|
-
"""
|
|
773
|
-
coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
|
|
774
|
-
"""
|
|
775
|
-
atomic coordinates schema
|
|
776
|
-
"""
|
|
777
|
-
units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
|
|
778
|
-
labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
|
|
779
|
-
"""
|
|
780
|
-
atomic labels schema
|
|
781
|
-
"""
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
class LatticeVectorsSchema11(BaseModel):
|
|
785
|
-
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
786
|
-
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
787
|
-
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
788
|
-
alat: Optional[float] = 1
|
|
789
|
-
"""
|
|
790
|
-
lattice parameter for fractional coordinates
|
|
791
|
-
"""
|
|
792
|
-
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
class LatticeUnitsSchema11(BaseModel):
|
|
796
|
-
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
797
|
-
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
class LatticeSchema11(BaseModel):
|
|
801
|
-
a: float
|
|
802
|
-
"""
|
|
803
|
-
length of the first lattice vector
|
|
804
|
-
"""
|
|
805
|
-
b: float
|
|
806
|
-
"""
|
|
807
|
-
length of the second lattice vector
|
|
808
|
-
"""
|
|
809
|
-
c: float
|
|
810
|
-
"""
|
|
811
|
-
length of the third lattice vector
|
|
812
|
-
"""
|
|
813
|
-
alpha: float
|
|
814
|
-
"""
|
|
815
|
-
angle between first and second lattice vector
|
|
816
|
-
"""
|
|
817
|
-
beta: float
|
|
818
|
-
"""
|
|
819
|
-
angle between second and third lattice vector
|
|
820
|
-
"""
|
|
821
|
-
gamma: float
|
|
822
|
-
"""
|
|
823
|
-
angle between first and third lattice vector
|
|
824
|
-
"""
|
|
825
|
-
vectors: Optional[LatticeVectorsSchema11] = Field(None, title="lattice vectors schema")
|
|
826
|
-
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
827
|
-
units: Optional[LatticeUnitsSchema11] = Field(
|
|
828
|
-
default_factory=lambda: LatticeUnitsSchema11.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
829
|
-
title="Lattice units schema",
|
|
830
|
-
)
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
class Name95(Enum):
|
|
834
|
-
volume = "volume"
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
class Units42(Enum):
|
|
838
|
-
angstrom_3 = "angstrom^3"
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
class VolumeSchema11(BaseModel):
|
|
842
|
-
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
843
|
-
units: Optional[Units42] = None
|
|
844
|
-
value: float
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
class Name96(Enum):
|
|
848
|
-
density = "density"
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
class Units43(Enum):
|
|
852
|
-
g_cm_3 = "g/cm^3"
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
class DensitySchema11(BaseModel):
|
|
856
|
-
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
857
|
-
units: Optional[Units43] = None
|
|
858
|
-
value: float
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
class Units44(Enum):
|
|
862
|
-
angstrom = "angstrom"
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
class ScalarSchema12(BaseModel):
|
|
866
|
-
units: Optional[Units44] = None
|
|
867
|
-
value: float
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
class Name97(Enum):
|
|
871
|
-
symmetry = "symmetry"
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
class SymmetrySchema11(BaseModel):
|
|
875
|
-
pointGroupSymbol: Optional[str] = None
|
|
876
|
-
"""
|
|
877
|
-
point group symbol in Schoenflies notation
|
|
878
|
-
"""
|
|
879
|
-
spaceGroupSymbol: Optional[str] = None
|
|
880
|
-
"""
|
|
881
|
-
space group symbol in Hermann–Mauguin notation
|
|
882
|
-
"""
|
|
883
|
-
tolerance: Optional[ScalarSchema12] = Field(None, title="scalar schema")
|
|
884
|
-
"""
|
|
885
|
-
tolerance used for symmetry calculation
|
|
886
|
-
"""
|
|
887
|
-
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
class Name98(Enum):
|
|
891
|
-
elemental_ratio = "elemental_ratio"
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
class ElementalRatio11(BaseModel):
|
|
895
|
-
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
896
|
-
value: confloat(ge=0.0, le=1.0)
|
|
897
|
-
element: Optional[str] = None
|
|
1165
|
+
class SlabInStackConfigurationSchema(BaseModel):
|
|
1166
|
+
stack_component: Optional[str] = None
|
|
898
1167
|
"""
|
|
899
|
-
the
|
|
1168
|
+
Component of the stack (e.g., slab1, slab2)
|
|
900
1169
|
"""
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
class Name99(Enum):
|
|
904
|
-
p_norm = "p-norm"
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
class PNorm11(BaseModel):
|
|
908
|
-
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
909
|
-
degree: Optional[int] = None
|
|
1170
|
+
distance_to_next_slab: Optional[float] = 3
|
|
910
1171
|
"""
|
|
911
|
-
|
|
1172
|
+
Distance to the next slab in the stack, in Angstroms
|
|
912
1173
|
"""
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
class Name100(Enum):
|
|
917
|
-
inchi = "inchi"
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
class InChIRepresentationSchema11(BaseModel):
|
|
921
|
-
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
922
|
-
value: str
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
class Name101(Enum):
|
|
926
|
-
inchi_key = "inchi_key"
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
class InChIKeyRepresentationSchema11(BaseModel):
|
|
930
|
-
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
931
|
-
value: str
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
class DerivedPropertiesSchema11(
|
|
935
|
-
RootModel[
|
|
936
|
-
Union[
|
|
937
|
-
VolumeSchema11,
|
|
938
|
-
DensitySchema11,
|
|
939
|
-
SymmetrySchema11,
|
|
940
|
-
ElementalRatio11,
|
|
941
|
-
PNorm11,
|
|
942
|
-
InChIRepresentationSchema11,
|
|
943
|
-
InChIKeyRepresentationSchema11,
|
|
944
|
-
]
|
|
945
|
-
]
|
|
946
|
-
):
|
|
947
|
-
root: Union[
|
|
948
|
-
VolumeSchema11,
|
|
949
|
-
DensitySchema11,
|
|
950
|
-
SymmetrySchema11,
|
|
951
|
-
ElementalRatio11,
|
|
952
|
-
PNorm11,
|
|
953
|
-
InChIRepresentationSchema11,
|
|
954
|
-
InChIKeyRepresentationSchema11,
|
|
955
|
-
] = Field(..., discriminator="name")
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
class Name102(Enum):
|
|
959
|
-
default = "default"
|
|
960
|
-
atomsTooClose = "atomsTooClose"
|
|
961
|
-
atomsOverlap = "atomsOverlap"
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
class MaterialConsistencyCheckSchema11(BaseModel):
|
|
965
|
-
name: Name102
|
|
966
|
-
"""
|
|
967
|
-
Name of the consistency check that is performed, which is listed in an enum.
|
|
968
|
-
"""
|
|
969
|
-
key: str
|
|
970
|
-
"""
|
|
971
|
-
Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
|
|
972
|
-
"""
|
|
973
|
-
severity: Severity
|
|
974
|
-
"""
|
|
975
|
-
Severity level of the problem, which is used in UI to differentiate.
|
|
976
|
-
"""
|
|
977
|
-
message: str
|
|
978
|
-
"""
|
|
979
|
-
Message generated by the consistency check describing the problem.
|
|
980
|
-
"""
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
class MaterialSchema11(BaseModel):
|
|
984
|
-
formula: Optional[str] = None
|
|
985
|
-
"""
|
|
986
|
-
reduced chemical formula
|
|
987
|
-
"""
|
|
988
|
-
unitCellFormula: Optional[str] = None
|
|
989
|
-
"""
|
|
990
|
-
chemical formula based on the number of atoms of each element in the supercell
|
|
991
|
-
"""
|
|
992
|
-
basis: BasisSchema12 = Field(..., title="basis schema")
|
|
993
|
-
lattice: LatticeSchema11 = Field(..., title="lattice schema")
|
|
994
|
-
derivedProperties: Optional[List[DerivedPropertiesSchema11]] = Field(None, title="derived properties schema")
|
|
995
|
-
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
996
|
-
"""
|
|
997
|
-
information about a database source
|
|
998
|
-
"""
|
|
999
|
-
src: Optional[FileSourceSchema] = Field(None, title="file source schema")
|
|
1000
|
-
"""
|
|
1001
|
-
file source with the information inside
|
|
1002
|
-
"""
|
|
1003
|
-
scaledHash: Optional[str] = None
|
|
1004
|
-
"""
|
|
1005
|
-
Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
|
|
1006
|
-
"""
|
|
1007
|
-
icsdId: Optional[int] = None
|
|
1008
|
-
"""
|
|
1009
|
-
Corresponding ICSD id of the material
|
|
1010
|
-
"""
|
|
1011
|
-
isNonPeriodic: Optional[bool] = None
|
|
1012
|
-
"""
|
|
1013
|
-
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
1014
|
-
"""
|
|
1015
|
-
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema11]] = None
|
|
1016
|
-
field_id: Optional[str] = Field(None, alias="_id")
|
|
1017
|
-
"""
|
|
1018
|
-
entity identity
|
|
1019
|
-
"""
|
|
1020
|
-
slug: Optional[str] = None
|
|
1021
|
-
"""
|
|
1022
|
-
entity slug
|
|
1023
|
-
"""
|
|
1024
|
-
systemName: Optional[str] = None
|
|
1025
|
-
schemaVersion: Optional[str] = "2022.8.16"
|
|
1026
|
-
"""
|
|
1027
|
-
entity's schema version. Used to distinct between different schemas.
|
|
1028
|
-
"""
|
|
1029
|
-
name: Optional[str] = None
|
|
1030
|
-
"""
|
|
1031
|
-
entity name
|
|
1032
|
-
"""
|
|
1033
|
-
isDefault: Optional[bool] = False
|
|
1034
|
-
"""
|
|
1035
|
-
Identifies that entity is defaultable
|
|
1036
|
-
"""
|
|
1037
|
-
metadata: Optional[Dict[str, Any]] = None
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
class SlabConfigurationSchema2(BaseModel):
|
|
1041
|
-
bulk: Optional[MaterialSchema11] = Field(None, title="material schema")
|
|
1042
|
-
miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
|
|
1043
|
-
"""
|
|
1044
|
-
Miller indices for crystallographic plane designation
|
|
1045
|
-
"""
|
|
1046
|
-
number_of_layers: Optional[conint(ge=1)] = Field(1, title="Number of Layers Schema")
|
|
1047
|
-
"""
|
|
1048
|
-
Number of atomic layers in a structural component
|
|
1049
|
-
"""
|
|
1050
|
-
vacuum: Optional[confloat(ge=0.0)] = Field(5, title="Vacuum Thickness Schema")
|
|
1051
|
-
"""
|
|
1052
|
-
Vacuum thickness in Angstroms
|
|
1053
|
-
"""
|
|
1054
|
-
xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
|
|
1055
|
-
default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
|
|
1056
|
-
max_length=2,
|
|
1057
|
-
min_length=2,
|
|
1058
|
-
title="Supercell Matrix 2D Schema",
|
|
1059
|
-
)
|
|
1060
|
-
"""
|
|
1061
|
-
Supercell matrix for xy plane transformations
|
|
1062
|
-
"""
|
|
1063
|
-
use_conventional_cell: Optional[bool] = Field(True, title="Use Conventional Cell")
|
|
1064
|
-
"""
|
|
1065
|
-
Whether to use conventional cell
|
|
1066
|
-
"""
|
|
1067
|
-
use_orthogonal_z: Optional[bool] = Field(False, title="Use Orthogonal Z")
|
|
1174
|
+
slab_configuration: SlabConfigurationSchema2 = Field(..., title="Slab Configuration Schema")
|
|
1068
1175
|
"""
|
|
1069
|
-
|
|
1176
|
+
Configuration for creating a slab from a bulk material
|
|
1070
1177
|
"""
|
|
1071
|
-
|
|
1178
|
+
termination: TerminationSchema2 = Field(..., title="Termination Schema")
|
|
1072
1179
|
"""
|
|
1073
|
-
|
|
1180
|
+
Defines a specific termination of a slab
|
|
1074
1181
|
"""
|
|
1075
1182
|
|
|
1076
1183
|
|
|
1077
|
-
class
|
|
1078
|
-
|
|
1184
|
+
class GrainBoundaryPlaneConfigurationSchema(BaseModel):
|
|
1185
|
+
stacking_direction: Optional[AxisEnum] = Field("x", title="Axis Enum")
|
|
1079
1186
|
"""
|
|
1080
|
-
|
|
1187
|
+
The axis along which the slabs are stacked
|
|
1081
1188
|
"""
|
|
1082
|
-
|
|
1189
|
+
slab_configuration: SlabConfigurationSchema = Field(..., title="Slab Configuration Schema")
|
|
1083
1190
|
"""
|
|
1084
1191
|
Configuration for creating a slab from a bulk material
|
|
1085
1192
|
"""
|
|
1086
|
-
|
|
1193
|
+
termination: TerminationSchema = Field(..., title="Termination Schema")
|
|
1087
1194
|
"""
|
|
1088
1195
|
Defines a specific termination of a slab
|
|
1089
1196
|
"""
|
|
1090
|
-
|
|
1091
|
-
"""
|
|
1092
|
-
Defines a specific termination of a slab
|
|
1197
|
+
stack_slab_configurations: List[SlabInStackConfigurationSchema] = Field(..., max_length=2, min_length=2)
|
|
1093
1198
|
"""
|
|
1094
|
-
|
|
1095
|
-
"""
|
|
1096
|
-
The gap between the two phases, in Angstroms
|
|
1097
|
-
"""
|
|
1098
|
-
slab_configuration: SlabConfigurationSchema2 = Field(..., title="Slab Configuration Schema")
|
|
1099
|
-
"""
|
|
1100
|
-
Configuration for creating a slab from a bulk material
|
|
1101
|
-
"""
|
|
1102
|
-
slab_termination: Optional[TerminationSchema] = Field(None, title="Termination Schema")
|
|
1103
|
-
"""
|
|
1104
|
-
Defines a specific termination of a slab
|
|
1199
|
+
List of slab configurations for the slabs in the stack
|
|
1105
1200
|
"""
|