mat3ra-esse 2025.5.17.post1__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/by_host/two_dimensional/configuration.py → material/reusable/slab/slab_configuration_with_termination.py} +64 -25
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/slab/configuration.py → material/reusable/slab/slab_with_termination.py} +191 -32
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom/configuration.py → material/reusable/slab/two_slabs_stack.py} +223 -23
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom/base_configuration.py → material/reusable/slab_configuration_with_termination.py} +318 -24
- mat3ra/esse/models/{materials_category/defects/slab/configuration.py → material/reusable/stack/slab_configuration_with_termination.py} +199 -18
- 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/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.post1.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/RECORD +74 -61
- 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/zero_dimensional/slab/__init__.py +0 -3
- /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 → two_dimensional/grain_boundary_plane}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/{defects/zero_dimensional/defect_pair → multi_material/interfaces}/__init__.py +0 -0
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.5.17.post1.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:
|
|
2
|
+
# filename: material/reusable/slab/slab_configuration_with_termination.json
|
|
3
3
|
# version: 0.28.5
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
@@ -131,13 +131,13 @@ class Value(Enum):
|
|
|
131
131
|
Og = "Og"
|
|
132
132
|
|
|
133
133
|
|
|
134
|
-
class
|
|
134
|
+
class Value51(Enum):
|
|
135
135
|
X = "X"
|
|
136
136
|
Vac = "Vac"
|
|
137
137
|
|
|
138
138
|
|
|
139
139
|
class AtomicElementSchema(BaseModel):
|
|
140
|
-
value: Union[Value,
|
|
140
|
+
value: Union[Value, Value51]
|
|
141
141
|
"""
|
|
142
142
|
All elements, including extra elements
|
|
143
143
|
"""
|
|
@@ -285,30 +285,30 @@ class VolumeSchema(BaseModel):
|
|
|
285
285
|
value: float
|
|
286
286
|
|
|
287
287
|
|
|
288
|
-
class
|
|
288
|
+
class Name205(Enum):
|
|
289
289
|
density = "density"
|
|
290
290
|
|
|
291
291
|
|
|
292
|
-
class
|
|
292
|
+
class Units99(Enum):
|
|
293
293
|
g_cm_3 = "g/cm^3"
|
|
294
294
|
|
|
295
295
|
|
|
296
296
|
class DensitySchema(BaseModel):
|
|
297
297
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
298
|
-
units: Optional[
|
|
298
|
+
units: Optional[Units99] = None
|
|
299
299
|
value: float
|
|
300
300
|
|
|
301
301
|
|
|
302
|
-
class
|
|
302
|
+
class Units100(Enum):
|
|
303
303
|
angstrom = "angstrom"
|
|
304
304
|
|
|
305
305
|
|
|
306
306
|
class ScalarSchema(BaseModel):
|
|
307
|
-
units: Optional[
|
|
307
|
+
units: Optional[Units100] = None
|
|
308
308
|
value: float
|
|
309
309
|
|
|
310
310
|
|
|
311
|
-
class
|
|
311
|
+
class Name206(Enum):
|
|
312
312
|
symmetry = "symmetry"
|
|
313
313
|
|
|
314
314
|
|
|
@@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel):
|
|
|
328
328
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
329
329
|
|
|
330
330
|
|
|
331
|
-
class
|
|
331
|
+
class Name207(Enum):
|
|
332
332
|
elemental_ratio = "elemental_ratio"
|
|
333
333
|
|
|
334
334
|
|
|
@@ -341,7 +341,7 @@ class ElementalRatio(BaseModel):
|
|
|
341
341
|
"""
|
|
342
342
|
|
|
343
343
|
|
|
344
|
-
class
|
|
344
|
+
class Name208(Enum):
|
|
345
345
|
p_norm = "p-norm"
|
|
346
346
|
|
|
347
347
|
|
|
@@ -354,7 +354,7 @@ class PNorm(BaseModel):
|
|
|
354
354
|
value: float
|
|
355
355
|
|
|
356
356
|
|
|
357
|
-
class
|
|
357
|
+
class Name209(Enum):
|
|
358
358
|
inchi = "inchi"
|
|
359
359
|
|
|
360
360
|
|
|
@@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
363
363
|
value: str
|
|
364
364
|
|
|
365
365
|
|
|
366
|
-
class
|
|
366
|
+
class Name210(Enum):
|
|
367
367
|
inchi_key = "inchi_key"
|
|
368
368
|
|
|
369
369
|
|
|
@@ -442,7 +442,7 @@ class FileSourceSchema(BaseModel):
|
|
|
442
442
|
"""
|
|
443
443
|
|
|
444
444
|
|
|
445
|
-
class
|
|
445
|
+
class Name211(Enum):
|
|
446
446
|
default = "default"
|
|
447
447
|
atomsTooClose = "atomsTooClose"
|
|
448
448
|
atomsOverlap = "atomsOverlap"
|
|
@@ -455,7 +455,7 @@ class Severity(Enum):
|
|
|
455
455
|
|
|
456
456
|
|
|
457
457
|
class MaterialConsistencyCheckSchema(BaseModel):
|
|
458
|
-
name:
|
|
458
|
+
name: Name211
|
|
459
459
|
"""
|
|
460
460
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
461
461
|
"""
|
|
@@ -530,21 +530,60 @@ class MaterialSchema(BaseModel):
|
|
|
530
530
|
metadata: Optional[Dict[str, Any]] = None
|
|
531
531
|
|
|
532
532
|
|
|
533
|
-
class
|
|
534
|
-
|
|
535
|
-
|
|
533
|
+
class SupercellMatrix2DSchemaItem(RootModel[List[int]]):
|
|
534
|
+
root: List[int]
|
|
535
|
+
|
|
536
|
+
|
|
537
|
+
class SlabConfigurationSchema(BaseModel):
|
|
538
|
+
bulk: Optional[MaterialSchema] = Field(None, title="material schema")
|
|
539
|
+
miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
|
|
540
|
+
"""
|
|
541
|
+
Miller indices for crystallographic plane designation
|
|
542
|
+
"""
|
|
543
|
+
number_of_layers: Optional[conint(ge=1)] = Field(1, title="Number of Layers Schema")
|
|
544
|
+
"""
|
|
545
|
+
Number of atomic layers in a structural component
|
|
546
|
+
"""
|
|
547
|
+
vacuum: Optional[confloat(ge=0.0)] = Field(5, title="Vacuum Thickness Schema")
|
|
548
|
+
"""
|
|
549
|
+
Vacuum thickness in Angstroms
|
|
550
|
+
"""
|
|
551
|
+
xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
|
|
552
|
+
default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
|
|
553
|
+
max_length=2,
|
|
554
|
+
min_length=2,
|
|
555
|
+
title="Supercell Matrix 2D Schema",
|
|
556
|
+
)
|
|
557
|
+
"""
|
|
558
|
+
Supercell matrix for xy plane transformations
|
|
536
559
|
"""
|
|
537
|
-
|
|
560
|
+
use_conventional_cell: Optional[bool] = Field(True, title="Use Conventional Cell")
|
|
538
561
|
"""
|
|
539
|
-
|
|
562
|
+
Whether to use conventional cell when generating the slab.
|
|
540
563
|
"""
|
|
541
|
-
|
|
564
|
+
use_orthogonal_z: Optional[bool] = Field(True, title="Use Orthogonal Z")
|
|
542
565
|
"""
|
|
543
|
-
|
|
566
|
+
Whether to make vector c orthogonal to ab plane for the slab cell.
|
|
567
|
+
"""
|
|
568
|
+
|
|
569
|
+
|
|
570
|
+
class TerminationSchema(BaseModel):
|
|
571
|
+
chemical_elements: str = Field(..., title="Chemical Elements")
|
|
572
|
+
"""
|
|
573
|
+
Chemical elements at the termination
|
|
574
|
+
"""
|
|
575
|
+
space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
|
|
576
|
+
"""
|
|
577
|
+
Space group symmetry designation for the termination
|
|
578
|
+
"""
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
class SlabWithTerminationConfigurationSchema(BaseModel):
|
|
582
|
+
slab_configuration: SlabConfigurationSchema = Field(..., title="Slab Configuration Schema")
|
|
544
583
|
"""
|
|
545
|
-
|
|
584
|
+
Configuration for creating a slab from a bulk material
|
|
546
585
|
"""
|
|
547
|
-
|
|
586
|
+
termination: TerminationSchema = Field(..., title="Termination Schema")
|
|
548
587
|
"""
|
|
549
|
-
|
|
588
|
+
Defines a specific termination of a slab
|
|
550
589
|
"""
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
|
-
# filename:
|
|
2
|
+
# filename: material/reusable/slab/slab_with_termination.json
|
|
3
3
|
# version: 0.28.5
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
@@ -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 Value53(Enum):
|
|
135
|
+
X = "X"
|
|
136
|
+
Vac = "Vac"
|
|
137
|
+
|
|
138
|
+
|
|
13
139
|
class AtomicElementSchema(BaseModel):
|
|
14
|
-
value:
|
|
140
|
+
value: Union[Value, Value53]
|
|
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 Name213(Enum):
|
|
163
289
|
density = "density"
|
|
164
290
|
|
|
165
291
|
|
|
166
|
-
class
|
|
292
|
+
class Units102(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[Units102] = None
|
|
173
299
|
value: float
|
|
174
300
|
|
|
175
301
|
|
|
176
|
-
class
|
|
302
|
+
class Units103(Enum):
|
|
177
303
|
angstrom = "angstrom"
|
|
178
304
|
|
|
179
305
|
|
|
180
306
|
class ScalarSchema(BaseModel):
|
|
181
|
-
units: Optional[
|
|
307
|
+
units: Optional[Units103] = None
|
|
182
308
|
value: float
|
|
183
309
|
|
|
184
310
|
|
|
185
|
-
class
|
|
311
|
+
class Name214(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 Name215(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 Name216(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 Name217(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 Name218(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 Name219(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: Name219
|
|
333
459
|
"""
|
|
334
460
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
335
461
|
"""
|
|
@@ -404,31 +530,64 @@ class MaterialSchema(BaseModel):
|
|
|
404
530
|
metadata: Optional[Dict[str, Any]] = None
|
|
405
531
|
|
|
406
532
|
|
|
407
|
-
class
|
|
408
|
-
|
|
409
|
-
substitution = "substitution"
|
|
410
|
-
interstitial = "interstitial"
|
|
411
|
-
adatom = "adatom"
|
|
533
|
+
class SupercellMatrix2DSchemaItem(RootModel[List[int]]):
|
|
534
|
+
root: List[int]
|
|
412
535
|
|
|
413
536
|
|
|
414
|
-
class
|
|
415
|
-
|
|
416
|
-
|
|
537
|
+
class SlabConfigurationSchema(BaseModel):
|
|
538
|
+
bulk: Optional[MaterialSchema] = Field(None, title="material schema")
|
|
539
|
+
miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
|
|
417
540
|
"""
|
|
418
|
-
|
|
541
|
+
Miller indices for crystallographic plane designation
|
|
419
542
|
"""
|
|
420
|
-
|
|
543
|
+
number_of_layers: Optional[conint(ge=1)] = Field(1, title="Number of Layers Schema")
|
|
421
544
|
"""
|
|
422
545
|
Number of atomic layers in a structural component
|
|
423
546
|
"""
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
547
|
+
vacuum: Optional[confloat(ge=0.0)] = Field(5, title="Vacuum Thickness Schema")
|
|
548
|
+
"""
|
|
549
|
+
Vacuum thickness in Angstroms
|
|
550
|
+
"""
|
|
551
|
+
xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
|
|
552
|
+
default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
|
|
553
|
+
max_length=2,
|
|
554
|
+
min_length=2,
|
|
555
|
+
title="Supercell Matrix 2D Schema",
|
|
556
|
+
)
|
|
557
|
+
"""
|
|
558
|
+
Supercell matrix for xy plane transformations
|
|
559
|
+
"""
|
|
560
|
+
use_conventional_cell: Optional[bool] = Field(True, title="Use Conventional Cell")
|
|
561
|
+
"""
|
|
562
|
+
Whether to use conventional cell
|
|
563
|
+
"""
|
|
564
|
+
use_orthogonal_z: Optional[bool] = Field(False, title="Use Orthogonal Z")
|
|
565
|
+
"""
|
|
566
|
+
Whether to make z-axis orthogonal
|
|
567
|
+
"""
|
|
568
|
+
make_primitive: Optional[bool] = Field(False, title="Make Primitive")
|
|
569
|
+
"""
|
|
570
|
+
Whether to make the slab primitive
|
|
571
|
+
"""
|
|
572
|
+
|
|
573
|
+
|
|
574
|
+
class TerminationSchema(BaseModel):
|
|
575
|
+
chemical_elements: str = Field(..., title="Chemical Elements")
|
|
576
|
+
"""
|
|
577
|
+
Chemical elements at the termination
|
|
578
|
+
"""
|
|
579
|
+
space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
|
|
580
|
+
"""
|
|
581
|
+
Space group symmetry designation for the termination
|
|
582
|
+
"""
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
class SlabWithTerminationConfigurationSchema(BaseModel):
|
|
586
|
+
slab_configuration: SlabConfigurationSchema = Field(..., title="Slab Configuration Schema")
|
|
428
587
|
"""
|
|
429
|
-
|
|
588
|
+
Configuration for creating a slab from a bulk material
|
|
430
589
|
"""
|
|
431
|
-
|
|
590
|
+
termination: TerminationSchema = Field(..., title="Termination Schema")
|
|
432
591
|
"""
|
|
433
|
-
|
|
592
|
+
Defines a specific termination of a slab
|
|
434
593
|
"""
|