mat3ra-esse 2025.5.17.post1__py3-none-any.whl → 2025.6.5.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 +6 -6
- mat3ra/esse/models/apse/materials/builders/slab/pymatgen/parameters.py +3 -3
- mat3ra/esse/models/coordinates_shape_enum.py +15 -0
- mat3ra/esse/models/core/primitive/array_of_3_integers.py +13 -0
- mat3ra/esse/models/core/reusable/axis_enum.py +13 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/__init__.py +31 -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/material/reusable/slab/slab_configuration_with_termination.py +589 -0
- mat3ra/esse/models/material/reusable/slab/slab_with_termination.py +593 -0
- mat3ra/esse/models/material/reusable/slab/two_slabs_stack.py +618 -0
- mat3ra/esse/models/material/reusable/slab_configuration_with_termination.py +712 -0
- 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/by_host/two_dimensional/layered/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/{zero_dimensional/complex/pair.py → two_dimensional/grain_boundary_plane/configuration.py} +163 -497
- 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/configuration.py +130 -130
- 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/configuration.py +737 -0
- mat3ra/esse/models/materials_category/{defects/slab/configuration.py → pristine_structures/three_dimensional/ideal_crystal.py} +142 -24
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +730 -0
- mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +17 -21
- mat3ra/esse/models/materials_category_components/entities/auxiliary/three_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/three_dimensional/supercell_matrix_3d.py +27 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/miller_indices.py +16 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/supercell_matrix_2d.py +25 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/termination.py +144 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py +13 -0
- mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/__init__.py +3 -0
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/slab/configuration.py → materials_category_components/entities/core/three_dimensional/crystal.py} +142 -46
- mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/void.py +32 -0
- mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +27 -0
- mat3ra/esse/models/materials_category_components/entities/core/zero_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/core/zero_dimensional/atom.py +134 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/repetitions.py +25 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +544 -0
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom/base_configuration.py → materials_category_components/entities/reusable/three_dimensional/strained_uniform.py} +147 -24
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom/configuration.py → materials_category_components/entities/reusable/three_dimensional/supercell.py} +150 -26
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py +683 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py +683 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py +687 -0
- mat3ra/esse/models/{materials_category/defects/by_host/two_dimensional/configuration.py → materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py} +23 -28
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py +717 -0
- mat3ra/esse/models/materials_category_components/operations/core/combinations/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/operations/core/combinations/merge.py +583 -0
- mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +555 -0
- mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py +554 -0
- mat3ra/esse/models/materials_category_components/operations/core/modifications/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/operations/core/modifications/repeat.py +27 -0
- mat3ra/esse/models/materials_category_components/operations/core/modifications/strain.py +19 -0
- mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
- mat3ra/esse/models/properties_directory/non_scalar/average_potential_profile.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/band_structure.py +2 -2
- 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 +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.post1.dist-info → mat3ra_esse-2025.6.5.post0.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.6.5.post0.dist-info}/RECORD +117 -65
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.6.5.post0.dist-info}/WHEEL +1 -1
- 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/two_dimensional/slab_grain_boundary/configuration.py +0 -1105
- 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 → material/reusable/coordinate_conditions}/__init__.py +0 -0
- /mat3ra/esse/models/{materials_category/defects/slab → material/reusable/stack}/__init__.py +0 -0
- /mat3ra/esse/models/{materials_category/defects/two_dimensional/slab_grain_boundary → material/reusable/supercell}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/defects/{zero_dimensional/adatom → two_dimensional/grain_boundary_plane}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/{defects/zero_dimensional/complex → multi_material/interfaces}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/{defects/zero_dimensional/defect_pair → pristine_structures/three_dimensional}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/{defects/zero_dimensional/slab → pristine_structures/two_dimensional}/__init__.py +0 -0
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.6.5.post0.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.6.5.post0.dist-info}/top_level.txt +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
|
-
# filename: materials_category/defects/
|
|
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,128 +7,13 @@ 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
11
|
|
|
12
12
|
|
|
13
|
-
class
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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"
|
|
13
|
+
class AxisEnum(Enum):
|
|
14
|
+
x = "x"
|
|
15
|
+
y = "y"
|
|
16
|
+
z = "z"
|
|
132
17
|
|
|
133
18
|
|
|
134
19
|
class Value(Enum):
|
|
@@ -252,13 +137,13 @@ class Value(Enum):
|
|
|
252
137
|
Og = "Og"
|
|
253
138
|
|
|
254
139
|
|
|
255
|
-
class
|
|
140
|
+
class Value33(Enum):
|
|
256
141
|
X = "X"
|
|
257
142
|
Vac = "Vac"
|
|
258
143
|
|
|
259
144
|
|
|
260
145
|
class AtomicElementSchema(BaseModel):
|
|
261
|
-
value: Union[Value,
|
|
146
|
+
value: Union[Value, Value33]
|
|
262
147
|
"""
|
|
263
148
|
All elements, including extra elements
|
|
264
149
|
"""
|
|
@@ -406,30 +291,30 @@ class VolumeSchema(BaseModel):
|
|
|
406
291
|
value: float
|
|
407
292
|
|
|
408
293
|
|
|
409
|
-
class
|
|
294
|
+
class Name104(Enum):
|
|
410
295
|
density = "density"
|
|
411
296
|
|
|
412
297
|
|
|
413
|
-
class
|
|
298
|
+
class Units46(Enum):
|
|
414
299
|
g_cm_3 = "g/cm^3"
|
|
415
300
|
|
|
416
301
|
|
|
417
302
|
class DensitySchema(BaseModel):
|
|
418
303
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
419
|
-
units: Optional[
|
|
304
|
+
units: Optional[Units46] = None
|
|
420
305
|
value: float
|
|
421
306
|
|
|
422
307
|
|
|
423
|
-
class
|
|
308
|
+
class Units47(Enum):
|
|
424
309
|
angstrom = "angstrom"
|
|
425
310
|
|
|
426
311
|
|
|
427
312
|
class ScalarSchema(BaseModel):
|
|
428
|
-
units: Optional[
|
|
313
|
+
units: Optional[Units47] = None
|
|
429
314
|
value: float
|
|
430
315
|
|
|
431
316
|
|
|
432
|
-
class
|
|
317
|
+
class Name105(Enum):
|
|
433
318
|
symmetry = "symmetry"
|
|
434
319
|
|
|
435
320
|
|
|
@@ -449,7 +334,7 @@ class SymmetrySchema(BaseModel):
|
|
|
449
334
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
450
335
|
|
|
451
336
|
|
|
452
|
-
class
|
|
337
|
+
class Name106(Enum):
|
|
453
338
|
elemental_ratio = "elemental_ratio"
|
|
454
339
|
|
|
455
340
|
|
|
@@ -462,7 +347,7 @@ class ElementalRatio(BaseModel):
|
|
|
462
347
|
"""
|
|
463
348
|
|
|
464
349
|
|
|
465
|
-
class
|
|
350
|
+
class Name107(Enum):
|
|
466
351
|
p_norm = "p-norm"
|
|
467
352
|
|
|
468
353
|
|
|
@@ -475,7 +360,7 @@ class PNorm(BaseModel):
|
|
|
475
360
|
value: float
|
|
476
361
|
|
|
477
362
|
|
|
478
|
-
class
|
|
363
|
+
class Name108(Enum):
|
|
479
364
|
inchi = "inchi"
|
|
480
365
|
|
|
481
366
|
|
|
@@ -484,7 +369,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
484
369
|
value: str
|
|
485
370
|
|
|
486
371
|
|
|
487
|
-
class
|
|
372
|
+
class Name109(Enum):
|
|
488
373
|
inchi_key = "inchi_key"
|
|
489
374
|
|
|
490
375
|
|
|
@@ -563,7 +448,7 @@ class FileSourceSchema(BaseModel):
|
|
|
563
448
|
"""
|
|
564
449
|
|
|
565
450
|
|
|
566
|
-
class
|
|
451
|
+
class Name110(Enum):
|
|
567
452
|
default = "default"
|
|
568
453
|
atomsTooClose = "atomsTooClose"
|
|
569
454
|
atomsOverlap = "atomsOverlap"
|
|
@@ -576,7 +461,7 @@ class Severity(Enum):
|
|
|
576
461
|
|
|
577
462
|
|
|
578
463
|
class MaterialConsistencyCheckSchema(BaseModel):
|
|
579
|
-
name:
|
|
464
|
+
name: Name110
|
|
580
465
|
"""
|
|
581
466
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
582
467
|
"""
|
|
@@ -651,28 +536,44 @@ class MaterialSchema(BaseModel):
|
|
|
651
536
|
metadata: Optional[Dict[str, Any]] = None
|
|
652
537
|
|
|
653
538
|
|
|
654
|
-
class
|
|
655
|
-
|
|
539
|
+
class SupercellMatrix2DSchemaItem(RootModel[List[int]]):
|
|
540
|
+
root: List[int]
|
|
541
|
+
|
|
542
|
+
|
|
543
|
+
class SlabConfigurationSchema(BaseModel):
|
|
544
|
+
bulk: Optional[MaterialSchema] = Field(None, title="material schema")
|
|
545
|
+
miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
|
|
546
|
+
"""
|
|
547
|
+
Miller indices for crystallographic plane designation
|
|
656
548
|
"""
|
|
657
|
-
|
|
549
|
+
number_of_layers: Optional[conint(ge=1)] = Field(1, title="Number of Layers Schema")
|
|
658
550
|
"""
|
|
659
|
-
|
|
660
|
-
chemical_element: Optional[ChemicalElement] = None
|
|
661
|
-
use_cartesian_coordinates: Optional[bool] = False
|
|
551
|
+
Number of atomic layers in a structural component
|
|
662
552
|
"""
|
|
663
|
-
|
|
553
|
+
vacuum: Optional[confloat(ge=0.0)] = Field(5, title="Vacuum Thickness Schema")
|
|
664
554
|
"""
|
|
665
|
-
|
|
555
|
+
Vacuum thickness in Angstroms
|
|
666
556
|
"""
|
|
667
|
-
|
|
557
|
+
xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
|
|
558
|
+
default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
|
|
559
|
+
max_length=2,
|
|
560
|
+
min_length=2,
|
|
561
|
+
title="Supercell Matrix 2D Schema",
|
|
562
|
+
)
|
|
668
563
|
"""
|
|
669
|
-
|
|
564
|
+
Supercell matrix for xy plane transformations
|
|
670
565
|
"""
|
|
671
|
-
|
|
566
|
+
use_conventional_cell: Optional[bool] = Field(True, title="Use Conventional Cell")
|
|
567
|
+
"""
|
|
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.
|
|
672
573
|
"""
|
|
673
574
|
|
|
674
575
|
|
|
675
|
-
class
|
|
576
|
+
class ChemicalElements(Enum):
|
|
676
577
|
H = "H"
|
|
677
578
|
He = "He"
|
|
678
579
|
Li = "Li"
|
|
@@ -793,316 +694,20 @@ class Value30(Enum):
|
|
|
793
694
|
Og = "Og"
|
|
794
695
|
|
|
795
696
|
|
|
796
|
-
class
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
class AtomicElementSchema13(BaseModel):
|
|
802
|
-
value: Union[Value30, Value31]
|
|
803
|
-
"""
|
|
804
|
-
All elements, including extra elements
|
|
805
|
-
"""
|
|
806
|
-
id: int
|
|
807
|
-
"""
|
|
808
|
-
integer id of this entry
|
|
809
|
-
"""
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
class BasisSchema11(BaseModel):
|
|
813
|
-
elements: List[AtomicElementSchema13] = Field(..., title="atomic elements schema")
|
|
814
|
-
"""
|
|
815
|
-
atomic elements schema
|
|
816
|
-
"""
|
|
817
|
-
coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
|
|
818
|
-
"""
|
|
819
|
-
atomic coordinates schema
|
|
820
|
-
"""
|
|
821
|
-
units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
|
|
822
|
-
labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
|
|
823
|
-
"""
|
|
824
|
-
atomic labels schema
|
|
825
|
-
"""
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
class LatticeVectorsSchema11(BaseModel):
|
|
829
|
-
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
830
|
-
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
831
|
-
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
832
|
-
alat: Optional[float] = 1
|
|
833
|
-
"""
|
|
834
|
-
lattice parameter for fractional coordinates
|
|
835
|
-
"""
|
|
836
|
-
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
class LatticeUnitsSchema12(BaseModel):
|
|
840
|
-
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
841
|
-
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
class LatticeSchema11(BaseModel):
|
|
845
|
-
a: float
|
|
846
|
-
"""
|
|
847
|
-
length of the first lattice vector
|
|
848
|
-
"""
|
|
849
|
-
b: float
|
|
850
|
-
"""
|
|
851
|
-
length of the second lattice vector
|
|
852
|
-
"""
|
|
853
|
-
c: float
|
|
854
|
-
"""
|
|
855
|
-
length of the third lattice vector
|
|
856
|
-
"""
|
|
857
|
-
alpha: float
|
|
858
|
-
"""
|
|
859
|
-
angle between first and second lattice vector
|
|
860
|
-
"""
|
|
861
|
-
beta: float
|
|
862
|
-
"""
|
|
863
|
-
angle between second and third lattice vector
|
|
864
|
-
"""
|
|
865
|
-
gamma: float
|
|
866
|
-
"""
|
|
867
|
-
angle between first and third lattice vector
|
|
868
|
-
"""
|
|
869
|
-
vectors: Optional[LatticeVectorsSchema11] = Field(None, title="lattice vectors schema")
|
|
870
|
-
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
871
|
-
units: Optional[LatticeUnitsSchema12] = Field(
|
|
872
|
-
default_factory=lambda: LatticeUnitsSchema12.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
873
|
-
title="Lattice units schema",
|
|
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"
|
|
874
700
|
)
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
class Name130(Enum):
|
|
878
|
-
volume = "volume"
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
class Units65(Enum):
|
|
882
|
-
angstrom_3 = "angstrom^3"
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
class VolumeSchema11(BaseModel):
|
|
886
|
-
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
887
|
-
units: Optional[Units65] = None
|
|
888
|
-
value: float
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
class Name131(Enum):
|
|
892
|
-
density = "density"
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
class Units66(Enum):
|
|
896
|
-
g_cm_3 = "g/cm^3"
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
class DensitySchema12(BaseModel):
|
|
900
|
-
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
901
|
-
units: Optional[Units66] = None
|
|
902
|
-
value: float
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
class Units67(Enum):
|
|
906
|
-
angstrom = "angstrom"
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
class ScalarSchema12(BaseModel):
|
|
910
|
-
units: Optional[Units67] = None
|
|
911
|
-
value: float
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
class Name132(Enum):
|
|
915
|
-
symmetry = "symmetry"
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
class SymmetrySchema11(BaseModel):
|
|
919
|
-
pointGroupSymbol: Optional[str] = None
|
|
920
|
-
"""
|
|
921
|
-
point group symbol in Schoenflies notation
|
|
922
|
-
"""
|
|
923
|
-
spaceGroupSymbol: Optional[str] = None
|
|
924
|
-
"""
|
|
925
|
-
space group symbol in Hermann–Mauguin notation
|
|
926
|
-
"""
|
|
927
|
-
tolerance: Optional[ScalarSchema12] = Field(None, title="scalar schema")
|
|
928
|
-
"""
|
|
929
|
-
tolerance used for symmetry calculation
|
|
930
|
-
"""
|
|
931
|
-
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
class Name133(Enum):
|
|
935
|
-
elemental_ratio = "elemental_ratio"
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
class ElementalRatio12(BaseModel):
|
|
939
|
-
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
940
|
-
value: confloat(ge=0.0, le=1.0)
|
|
941
|
-
element: Optional[str] = None
|
|
942
|
-
"""
|
|
943
|
-
the element this ratio is for
|
|
944
|
-
"""
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
class Name134(Enum):
|
|
948
|
-
p_norm = "p-norm"
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
class PNorm12(BaseModel):
|
|
952
|
-
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
953
|
-
degree: Optional[int] = None
|
|
954
|
-
"""
|
|
955
|
-
degree of the dimensionality of the norm
|
|
956
|
-
"""
|
|
957
|
-
value: float
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
class Name135(Enum):
|
|
961
|
-
inchi = "inchi"
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
class InChIRepresentationSchema12(BaseModel):
|
|
965
|
-
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
966
|
-
value: str
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
class Name136(Enum):
|
|
970
|
-
inchi_key = "inchi_key"
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
class InChIKeyRepresentationSchema12(BaseModel):
|
|
974
|
-
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
975
|
-
value: str
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
class DerivedPropertiesSchema12(
|
|
979
|
-
RootModel[
|
|
980
|
-
Union[
|
|
981
|
-
VolumeSchema11,
|
|
982
|
-
DensitySchema12,
|
|
983
|
-
SymmetrySchema11,
|
|
984
|
-
ElementalRatio12,
|
|
985
|
-
PNorm12,
|
|
986
|
-
InChIRepresentationSchema12,
|
|
987
|
-
InChIKeyRepresentationSchema12,
|
|
988
|
-
]
|
|
989
|
-
]
|
|
990
|
-
):
|
|
991
|
-
root: Union[
|
|
992
|
-
VolumeSchema11,
|
|
993
|
-
DensitySchema12,
|
|
994
|
-
SymmetrySchema11,
|
|
995
|
-
ElementalRatio12,
|
|
996
|
-
PNorm12,
|
|
997
|
-
InChIRepresentationSchema12,
|
|
998
|
-
InChIKeyRepresentationSchema12,
|
|
999
|
-
] = Field(..., discriminator="name")
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
class Name137(Enum):
|
|
1003
|
-
default = "default"
|
|
1004
|
-
atomsTooClose = "atomsTooClose"
|
|
1005
|
-
atomsOverlap = "atomsOverlap"
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
class MaterialConsistencyCheckSchema11(BaseModel):
|
|
1009
|
-
name: Name137
|
|
1010
|
-
"""
|
|
1011
|
-
Name of the consistency check that is performed, which is listed in an enum.
|
|
1012
|
-
"""
|
|
1013
|
-
key: str
|
|
1014
|
-
"""
|
|
1015
|
-
Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
|
|
1016
701
|
"""
|
|
1017
|
-
|
|
1018
|
-
"""
|
|
1019
|
-
Severity level of the problem, which is used in UI to differentiate.
|
|
1020
|
-
"""
|
|
1021
|
-
message: str
|
|
1022
|
-
"""
|
|
1023
|
-
Message generated by the consistency check describing the problem.
|
|
1024
|
-
"""
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
class MaterialSchema10(BaseModel):
|
|
1028
|
-
formula: Optional[str] = None
|
|
1029
|
-
"""
|
|
1030
|
-
reduced chemical formula
|
|
1031
|
-
"""
|
|
1032
|
-
unitCellFormula: Optional[str] = None
|
|
1033
|
-
"""
|
|
1034
|
-
chemical formula based on the number of atoms of each element in the supercell
|
|
1035
|
-
"""
|
|
1036
|
-
basis: BasisSchema11 = Field(..., title="basis schema")
|
|
1037
|
-
lattice: LatticeSchema11 = Field(..., title="lattice schema")
|
|
1038
|
-
derivedProperties: Optional[List[DerivedPropertiesSchema12]] = Field(None, title="derived properties schema")
|
|
1039
|
-
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
1040
|
-
"""
|
|
1041
|
-
information about a database source
|
|
1042
|
-
"""
|
|
1043
|
-
src: Optional[FileSourceSchema] = Field(None, title="file source schema")
|
|
1044
|
-
"""
|
|
1045
|
-
file source with the information inside
|
|
1046
|
-
"""
|
|
1047
|
-
scaledHash: Optional[str] = None
|
|
1048
|
-
"""
|
|
1049
|
-
Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
|
|
1050
|
-
"""
|
|
1051
|
-
icsdId: Optional[int] = None
|
|
1052
|
-
"""
|
|
1053
|
-
Corresponding ICSD id of the material
|
|
1054
|
-
"""
|
|
1055
|
-
isNonPeriodic: Optional[bool] = None
|
|
1056
|
-
"""
|
|
1057
|
-
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
1058
|
-
"""
|
|
1059
|
-
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema11]] = None
|
|
1060
|
-
field_id: Optional[str] = Field(None, alias="_id")
|
|
1061
|
-
"""
|
|
1062
|
-
entity identity
|
|
1063
|
-
"""
|
|
1064
|
-
slug: Optional[str] = None
|
|
1065
|
-
"""
|
|
1066
|
-
entity slug
|
|
1067
|
-
"""
|
|
1068
|
-
systemName: Optional[str] = None
|
|
1069
|
-
schemaVersion: Optional[str] = "2022.8.16"
|
|
1070
|
-
"""
|
|
1071
|
-
entity's schema version. Used to distinct between different schemas.
|
|
1072
|
-
"""
|
|
1073
|
-
name: Optional[str] = None
|
|
702
|
+
Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')
|
|
1074
703
|
"""
|
|
1075
|
-
|
|
704
|
+
space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
|
|
1076
705
|
"""
|
|
1077
|
-
|
|
1078
|
-
"""
|
|
1079
|
-
Identifies that entity is defaultable
|
|
706
|
+
Space group symmetry designation for the termination
|
|
1080
707
|
"""
|
|
1081
|
-
metadata: Optional[Dict[str, Any]] = None
|
|
1082
708
|
|
|
1083
709
|
|
|
1084
|
-
class
|
|
1085
|
-
type: str
|
|
1086
|
-
"""
|
|
1087
|
-
The type of point defect
|
|
1088
|
-
"""
|
|
1089
|
-
coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
1090
|
-
chemical_element: Optional[ChemicalElement] = None
|
|
1091
|
-
use_cartesian_coordinates: Optional[bool] = False
|
|
1092
|
-
"""
|
|
1093
|
-
Whether coordinates are in cartesian rather than fractional coordinates
|
|
1094
|
-
"""
|
|
1095
|
-
host: Optional[MaterialSchema10] = None
|
|
1096
|
-
"""
|
|
1097
|
-
The base host for the defect
|
|
1098
|
-
"""
|
|
1099
|
-
isExternal: Optional[bool] = False
|
|
1100
|
-
"""
|
|
1101
|
-
Whether the defect is external to the host material
|
|
1102
|
-
"""
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
class Value32(Enum):
|
|
710
|
+
class Value34(Enum):
|
|
1106
711
|
H = "H"
|
|
1107
712
|
He = "He"
|
|
1108
713
|
Li = "Li"
|
|
@@ -1223,13 +828,13 @@ class Value32(Enum):
|
|
|
1223
828
|
Og = "Og"
|
|
1224
829
|
|
|
1225
830
|
|
|
1226
|
-
class
|
|
831
|
+
class Value35(Enum):
|
|
1227
832
|
X = "X"
|
|
1228
833
|
Vac = "Vac"
|
|
1229
834
|
|
|
1230
835
|
|
|
1231
|
-
class
|
|
1232
|
-
value: Union[
|
|
836
|
+
class AtomicElementSchema16(BaseModel):
|
|
837
|
+
value: Union[Value34, Value35]
|
|
1233
838
|
"""
|
|
1234
839
|
All elements, including extra elements
|
|
1235
840
|
"""
|
|
@@ -1239,8 +844,8 @@ class AtomicElementSchema14(BaseModel):
|
|
|
1239
844
|
"""
|
|
1240
845
|
|
|
1241
846
|
|
|
1242
|
-
class
|
|
1243
|
-
elements: List[
|
|
847
|
+
class BasisSchema14(BaseModel):
|
|
848
|
+
elements: List[AtomicElementSchema16] = Field(..., title="atomic elements schema")
|
|
1244
849
|
"""
|
|
1245
850
|
atomic elements schema
|
|
1246
851
|
"""
|
|
@@ -1255,7 +860,7 @@ class BasisSchema12(BaseModel):
|
|
|
1255
860
|
"""
|
|
1256
861
|
|
|
1257
862
|
|
|
1258
|
-
class
|
|
863
|
+
class LatticeVectorsSchema13(BaseModel):
|
|
1259
864
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
1260
865
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
1261
866
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -1271,7 +876,7 @@ class LatticeUnitsSchema13(BaseModel):
|
|
|
1271
876
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
1272
877
|
|
|
1273
878
|
|
|
1274
|
-
class
|
|
879
|
+
class LatticeSchema13(BaseModel):
|
|
1275
880
|
a: float
|
|
1276
881
|
"""
|
|
1277
882
|
length of the first lattice vector
|
|
@@ -1296,7 +901,7 @@ class LatticeSchema12(BaseModel):
|
|
|
1296
901
|
"""
|
|
1297
902
|
angle between first and third lattice vector
|
|
1298
903
|
"""
|
|
1299
|
-
vectors: Optional[
|
|
904
|
+
vectors: Optional[LatticeVectorsSchema13] = Field(None, title="lattice vectors schema")
|
|
1300
905
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
1301
906
|
units: Optional[LatticeUnitsSchema13] = Field(
|
|
1302
907
|
default_factory=lambda: LatticeUnitsSchema13.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
@@ -1304,48 +909,48 @@ class LatticeSchema12(BaseModel):
|
|
|
1304
909
|
)
|
|
1305
910
|
|
|
1306
911
|
|
|
1307
|
-
class
|
|
912
|
+
class Name111(Enum):
|
|
1308
913
|
volume = "volume"
|
|
1309
914
|
|
|
1310
915
|
|
|
1311
|
-
class
|
|
916
|
+
class Units48(Enum):
|
|
1312
917
|
angstrom_3 = "angstrom^3"
|
|
1313
918
|
|
|
1314
919
|
|
|
1315
|
-
class
|
|
920
|
+
class VolumeSchema13(BaseModel):
|
|
1316
921
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
1317
|
-
units: Optional[
|
|
922
|
+
units: Optional[Units48] = None
|
|
1318
923
|
value: float
|
|
1319
924
|
|
|
1320
925
|
|
|
1321
|
-
class
|
|
926
|
+
class Name112(Enum):
|
|
1322
927
|
density = "density"
|
|
1323
928
|
|
|
1324
929
|
|
|
1325
|
-
class
|
|
930
|
+
class Units49(Enum):
|
|
1326
931
|
g_cm_3 = "g/cm^3"
|
|
1327
932
|
|
|
1328
933
|
|
|
1329
934
|
class DensitySchema13(BaseModel):
|
|
1330
935
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
1331
|
-
units: Optional[
|
|
936
|
+
units: Optional[Units49] = None
|
|
1332
937
|
value: float
|
|
1333
938
|
|
|
1334
939
|
|
|
1335
|
-
class
|
|
940
|
+
class Units50(Enum):
|
|
1336
941
|
angstrom = "angstrom"
|
|
1337
942
|
|
|
1338
943
|
|
|
1339
|
-
class
|
|
1340
|
-
units: Optional[
|
|
944
|
+
class ScalarSchema14(BaseModel):
|
|
945
|
+
units: Optional[Units50] = None
|
|
1341
946
|
value: float
|
|
1342
947
|
|
|
1343
948
|
|
|
1344
|
-
class
|
|
949
|
+
class Name113(Enum):
|
|
1345
950
|
symmetry = "symmetry"
|
|
1346
951
|
|
|
1347
952
|
|
|
1348
|
-
class
|
|
953
|
+
class SymmetrySchema13(BaseModel):
|
|
1349
954
|
pointGroupSymbol: Optional[str] = None
|
|
1350
955
|
"""
|
|
1351
956
|
point group symbol in Schoenflies notation
|
|
@@ -1354,14 +959,14 @@ class SymmetrySchema12(BaseModel):
|
|
|
1354
959
|
"""
|
|
1355
960
|
space group symbol in Hermann–Mauguin notation
|
|
1356
961
|
"""
|
|
1357
|
-
tolerance: Optional[
|
|
962
|
+
tolerance: Optional[ScalarSchema14] = Field(None, title="scalar schema")
|
|
1358
963
|
"""
|
|
1359
964
|
tolerance used for symmetry calculation
|
|
1360
965
|
"""
|
|
1361
966
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
1362
967
|
|
|
1363
968
|
|
|
1364
|
-
class
|
|
969
|
+
class Name114(Enum):
|
|
1365
970
|
elemental_ratio = "elemental_ratio"
|
|
1366
971
|
|
|
1367
972
|
|
|
@@ -1374,7 +979,7 @@ class ElementalRatio13(BaseModel):
|
|
|
1374
979
|
"""
|
|
1375
980
|
|
|
1376
981
|
|
|
1377
|
-
class
|
|
982
|
+
class Name115(Enum):
|
|
1378
983
|
p_norm = "p-norm"
|
|
1379
984
|
|
|
1380
985
|
|
|
@@ -1387,7 +992,7 @@ class PNorm13(BaseModel):
|
|
|
1387
992
|
value: float
|
|
1388
993
|
|
|
1389
994
|
|
|
1390
|
-
class
|
|
995
|
+
class Name116(Enum):
|
|
1391
996
|
inchi = "inchi"
|
|
1392
997
|
|
|
1393
998
|
|
|
@@ -1396,7 +1001,7 @@ class InChIRepresentationSchema13(BaseModel):
|
|
|
1396
1001
|
value: str
|
|
1397
1002
|
|
|
1398
1003
|
|
|
1399
|
-
class
|
|
1004
|
+
class Name117(Enum):
|
|
1400
1005
|
inchi_key = "inchi_key"
|
|
1401
1006
|
|
|
1402
1007
|
|
|
@@ -1408,9 +1013,9 @@ class InChIKeyRepresentationSchema13(BaseModel):
|
|
|
1408
1013
|
class DerivedPropertiesSchema13(
|
|
1409
1014
|
RootModel[
|
|
1410
1015
|
Union[
|
|
1411
|
-
|
|
1016
|
+
VolumeSchema13,
|
|
1412
1017
|
DensitySchema13,
|
|
1413
|
-
|
|
1018
|
+
SymmetrySchema13,
|
|
1414
1019
|
ElementalRatio13,
|
|
1415
1020
|
PNorm13,
|
|
1416
1021
|
InChIRepresentationSchema13,
|
|
@@ -1419,9 +1024,9 @@ class DerivedPropertiesSchema13(
|
|
|
1419
1024
|
]
|
|
1420
1025
|
):
|
|
1421
1026
|
root: Union[
|
|
1422
|
-
|
|
1027
|
+
VolumeSchema13,
|
|
1423
1028
|
DensitySchema13,
|
|
1424
|
-
|
|
1029
|
+
SymmetrySchema13,
|
|
1425
1030
|
ElementalRatio13,
|
|
1426
1031
|
PNorm13,
|
|
1427
1032
|
InChIRepresentationSchema13,
|
|
@@ -1429,14 +1034,14 @@ class DerivedPropertiesSchema13(
|
|
|
1429
1034
|
] = Field(..., discriminator="name")
|
|
1430
1035
|
|
|
1431
1036
|
|
|
1432
|
-
class
|
|
1037
|
+
class Name118(Enum):
|
|
1433
1038
|
default = "default"
|
|
1434
1039
|
atomsTooClose = "atomsTooClose"
|
|
1435
1040
|
atomsOverlap = "atomsOverlap"
|
|
1436
1041
|
|
|
1437
1042
|
|
|
1438
|
-
class
|
|
1439
|
-
name:
|
|
1043
|
+
class MaterialConsistencyCheckSchema13(BaseModel):
|
|
1044
|
+
name: Name118
|
|
1440
1045
|
"""
|
|
1441
1046
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
1442
1047
|
"""
|
|
@@ -1454,7 +1059,7 @@ class MaterialConsistencyCheckSchema12(BaseModel):
|
|
|
1454
1059
|
"""
|
|
1455
1060
|
|
|
1456
1061
|
|
|
1457
|
-
class
|
|
1062
|
+
class MaterialSchema13(BaseModel):
|
|
1458
1063
|
formula: Optional[str] = None
|
|
1459
1064
|
"""
|
|
1460
1065
|
reduced chemical formula
|
|
@@ -1463,8 +1068,8 @@ class MaterialSchema11(BaseModel):
|
|
|
1463
1068
|
"""
|
|
1464
1069
|
chemical formula based on the number of atoms of each element in the supercell
|
|
1465
1070
|
"""
|
|
1466
|
-
basis:
|
|
1467
|
-
lattice:
|
|
1071
|
+
basis: BasisSchema14 = Field(..., title="basis schema")
|
|
1072
|
+
lattice: LatticeSchema13 = Field(..., title="lattice schema")
|
|
1468
1073
|
derivedProperties: Optional[List[DerivedPropertiesSchema13]] = Field(None, title="derived properties schema")
|
|
1469
1074
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
1470
1075
|
"""
|
|
@@ -1486,7 +1091,7 @@ class MaterialSchema11(BaseModel):
|
|
|
1486
1091
|
"""
|
|
1487
1092
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
1488
1093
|
"""
|
|
1489
|
-
consistencyChecks: Optional[List[
|
|
1094
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema13]] = None
|
|
1490
1095
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
1491
1096
|
"""
|
|
1492
1097
|
entity identity
|
|
@@ -1511,24 +1116,85 @@ class MaterialSchema11(BaseModel):
|
|
|
1511
1116
|
metadata: Optional[Dict[str, Any]] = None
|
|
1512
1117
|
|
|
1513
1118
|
|
|
1514
|
-
class
|
|
1515
|
-
|
|
1516
|
-
|
|
1119
|
+
class SlabConfigurationSchema2(BaseModel):
|
|
1120
|
+
bulk: Optional[MaterialSchema13] = Field(None, title="material schema")
|
|
1121
|
+
miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
|
|
1122
|
+
"""
|
|
1123
|
+
Miller indices for crystallographic plane designation
|
|
1124
|
+
"""
|
|
1125
|
+
number_of_layers: Optional[conint(ge=1)] = Field(1, title="Number of Layers Schema")
|
|
1126
|
+
"""
|
|
1127
|
+
Number of atomic layers in a structural component
|
|
1128
|
+
"""
|
|
1129
|
+
vacuum: Optional[confloat(ge=0.0)] = Field(5, title="Vacuum Thickness Schema")
|
|
1130
|
+
"""
|
|
1131
|
+
Vacuum thickness in Angstroms
|
|
1132
|
+
"""
|
|
1133
|
+
xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
|
|
1134
|
+
default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
|
|
1135
|
+
max_length=2,
|
|
1136
|
+
min_length=2,
|
|
1137
|
+
title="Supercell Matrix 2D Schema",
|
|
1517
1138
|
)
|
|
1518
1139
|
"""
|
|
1519
|
-
|
|
1140
|
+
Supercell matrix for xy plane transformations
|
|
1520
1141
|
"""
|
|
1521
|
-
|
|
1522
|
-
|
|
1142
|
+
use_conventional_cell: Optional[bool] = Field(True, title="Use Conventional Cell")
|
|
1143
|
+
"""
|
|
1144
|
+
Whether to use conventional cell when generating the slab.
|
|
1145
|
+
"""
|
|
1146
|
+
use_orthogonal_z: Optional[bool] = Field(True, title="Use Orthogonal Z")
|
|
1147
|
+
"""
|
|
1148
|
+
Whether to make vector c orthogonal to ab plane for the slab cell.
|
|
1149
|
+
"""
|
|
1150
|
+
|
|
1151
|
+
|
|
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"
|
|
1523
1155
|
)
|
|
1524
1156
|
"""
|
|
1525
|
-
|
|
1157
|
+
Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')
|
|
1158
|
+
"""
|
|
1159
|
+
space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
|
|
1160
|
+
"""
|
|
1161
|
+
Space group symmetry designation for the termination
|
|
1162
|
+
"""
|
|
1163
|
+
|
|
1164
|
+
|
|
1165
|
+
class SlabInStackConfigurationSchema(BaseModel):
|
|
1166
|
+
stack_component: Optional[str] = None
|
|
1167
|
+
"""
|
|
1168
|
+
Component of the stack (e.g., slab1, slab2)
|
|
1169
|
+
"""
|
|
1170
|
+
distance_to_next_slab: Optional[float] = 3
|
|
1171
|
+
"""
|
|
1172
|
+
Distance to the next slab in the stack, in Angstroms
|
|
1173
|
+
"""
|
|
1174
|
+
slab_configuration: SlabConfigurationSchema2 = Field(..., title="Slab Configuration Schema")
|
|
1175
|
+
"""
|
|
1176
|
+
Configuration for creating a slab from a bulk material
|
|
1177
|
+
"""
|
|
1178
|
+
termination: TerminationSchema2 = Field(..., title="Termination Schema")
|
|
1179
|
+
"""
|
|
1180
|
+
Defines a specific termination of a slab
|
|
1181
|
+
"""
|
|
1182
|
+
|
|
1183
|
+
|
|
1184
|
+
class GrainBoundaryPlaneConfigurationSchema(BaseModel):
|
|
1185
|
+
stacking_direction: Optional[AxisEnum] = Field("x", title="Axis Enum")
|
|
1186
|
+
"""
|
|
1187
|
+
The axis along which the slabs are stacked
|
|
1188
|
+
"""
|
|
1189
|
+
slab_configuration: SlabConfigurationSchema = Field(..., title="Slab Configuration Schema")
|
|
1190
|
+
"""
|
|
1191
|
+
Configuration for creating a slab from a bulk material
|
|
1526
1192
|
"""
|
|
1527
|
-
|
|
1193
|
+
termination: TerminationSchema = Field(..., title="Termination Schema")
|
|
1528
1194
|
"""
|
|
1529
|
-
|
|
1195
|
+
Defines a specific termination of a slab
|
|
1530
1196
|
"""
|
|
1531
|
-
|
|
1197
|
+
stack_slab_configurations: List[SlabInStackConfigurationSchema] = Field(..., max_length=2, min_length=2)
|
|
1532
1198
|
"""
|
|
1533
|
-
|
|
1199
|
+
List of slab configurations for the slabs in the stack
|
|
1534
1200
|
"""
|