mat3ra-esse 2025.5.16.post0__py3-none-any.whl → 2025.5.17.post0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mat3ra-esse might be problematic. Click here for more details.
- mat3ra/esse/data/examples.py +1 -1
- mat3ra/esse/data/schemas.py +1 -1
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw_x.py +8 -8
- mat3ra/esse/models/core/reusable/energy.py +2 -2
- mat3ra/esse/models/definitions/chemical_elements.py +13 -0
- mat3ra/esse/models/definitions/materials.py +13 -0
- mat3ra/esse/models/element.py +128 -10
- mat3ra/esse/models/enums/__init__.py +3 -0
- mat3ra/esse/models/enums/chemical_elements.py +13 -0
- mat3ra/esse/models/material/__init__.py +140 -14
- mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py +128 -4
- mat3ra/esse/models/material/reusable/slab/enums/__init__.py +3 -0
- mat3ra/esse/models/material/reusable/slab/enums/exposed_face.py +13 -0
- mat3ra/esse/models/material/reusable/slab/number_of_layers.py +1 -1
- mat3ra/esse/models/material/reusable/slab/termination.py +129 -3
- mat3ra/esse/models/material/reusable/slab/vacuum.py +2 -2
- mat3ra/esse/models/materials_category/defects/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/configuration.py +672 -0
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/configuration.py +546 -0
- mat3ra/esse/models/materials_category/defects/configuration.py +541 -0
- mat3ra/esse/models/materials_category/defects/enums/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/enums/atom_placement_method.py +22 -0
- mat3ra/esse/models/materials_category/defects/enums/complex_defect_type.py +18 -0
- mat3ra/esse/models/materials_category/defects/enums/coordinates_shape.py +21 -0
- mat3ra/esse/models/materials_category/defects/enums/point_defect_type.py +13 -0
- mat3ra/esse/models/materials_category/defects/enums/slab_defect_type.py +19 -0
- mat3ra/esse/models/materials_category/defects/enums.py +13 -0
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +425 -0
- mat3ra/esse/models/materials_category/defects/slab/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/slab/configuration.py +412 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +449 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/slab_grain_boundary/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/slab_grain_boundary/configuration.py +1105 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/base_configuration.py +418 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/configuration.py +418 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair.py +1534 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/configuration.py +1026 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/base_configuration.py +30 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +672 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/configuration.py +672 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/configuration.py +672 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/configuration.py +672 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/slab/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/slab/configuration.py +434 -0
- mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +142 -16
- mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
- mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
- mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
- mat3ra/esse/models/properties_directory/structural/basis/__init__.py +128 -2
- mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +131 -2
- mat3ra/esse/models/properties_directory/structural/basis/atomic_elements.py +130 -3
- mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
- mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
- {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/RECORD +81 -36
- {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,1534 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: materials_category/defects/zero_dimensional/complex/pair.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Any, Dict, List, Literal, Optional, Union
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field, RootModel, confloat, conint
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ChemicalElement(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 Value(Enum):
|
|
135
|
+
H = "H"
|
|
136
|
+
He = "He"
|
|
137
|
+
Li = "Li"
|
|
138
|
+
Be = "Be"
|
|
139
|
+
B = "B"
|
|
140
|
+
C = "C"
|
|
141
|
+
N = "N"
|
|
142
|
+
O = "O"
|
|
143
|
+
F = "F"
|
|
144
|
+
Ne = "Ne"
|
|
145
|
+
Na = "Na"
|
|
146
|
+
Mg = "Mg"
|
|
147
|
+
Al = "Al"
|
|
148
|
+
Si = "Si"
|
|
149
|
+
P = "P"
|
|
150
|
+
S = "S"
|
|
151
|
+
Cl = "Cl"
|
|
152
|
+
Ar = "Ar"
|
|
153
|
+
K = "K"
|
|
154
|
+
Ca = "Ca"
|
|
155
|
+
Sc = "Sc"
|
|
156
|
+
Ti = "Ti"
|
|
157
|
+
V = "V"
|
|
158
|
+
Cr = "Cr"
|
|
159
|
+
Mn = "Mn"
|
|
160
|
+
Fe = "Fe"
|
|
161
|
+
Co = "Co"
|
|
162
|
+
Ni = "Ni"
|
|
163
|
+
Cu = "Cu"
|
|
164
|
+
Zn = "Zn"
|
|
165
|
+
Ga = "Ga"
|
|
166
|
+
Ge = "Ge"
|
|
167
|
+
As = "As"
|
|
168
|
+
Se = "Se"
|
|
169
|
+
Br = "Br"
|
|
170
|
+
Kr = "Kr"
|
|
171
|
+
Rb = "Rb"
|
|
172
|
+
Sr = "Sr"
|
|
173
|
+
Y = "Y"
|
|
174
|
+
Zr = "Zr"
|
|
175
|
+
Nb = "Nb"
|
|
176
|
+
Mo = "Mo"
|
|
177
|
+
Tc = "Tc"
|
|
178
|
+
Ru = "Ru"
|
|
179
|
+
Rh = "Rh"
|
|
180
|
+
Pd = "Pd"
|
|
181
|
+
Ag = "Ag"
|
|
182
|
+
Cd = "Cd"
|
|
183
|
+
In = "In"
|
|
184
|
+
Sn = "Sn"
|
|
185
|
+
Sb = "Sb"
|
|
186
|
+
Te = "Te"
|
|
187
|
+
I = "I"
|
|
188
|
+
Xe = "Xe"
|
|
189
|
+
Cs = "Cs"
|
|
190
|
+
Ba = "Ba"
|
|
191
|
+
La = "La"
|
|
192
|
+
Ce = "Ce"
|
|
193
|
+
Pr = "Pr"
|
|
194
|
+
Nd = "Nd"
|
|
195
|
+
Pm = "Pm"
|
|
196
|
+
Sm = "Sm"
|
|
197
|
+
Eu = "Eu"
|
|
198
|
+
Gd = "Gd"
|
|
199
|
+
Tb = "Tb"
|
|
200
|
+
Dy = "Dy"
|
|
201
|
+
Ho = "Ho"
|
|
202
|
+
Er = "Er"
|
|
203
|
+
Tm = "Tm"
|
|
204
|
+
Yb = "Yb"
|
|
205
|
+
Lu = "Lu"
|
|
206
|
+
Hf = "Hf"
|
|
207
|
+
Ta = "Ta"
|
|
208
|
+
W = "W"
|
|
209
|
+
Re = "Re"
|
|
210
|
+
Os = "Os"
|
|
211
|
+
Ir = "Ir"
|
|
212
|
+
Pt = "Pt"
|
|
213
|
+
Au = "Au"
|
|
214
|
+
Hg = "Hg"
|
|
215
|
+
Tl = "Tl"
|
|
216
|
+
Pb = "Pb"
|
|
217
|
+
Bi = "Bi"
|
|
218
|
+
Po = "Po"
|
|
219
|
+
At = "At"
|
|
220
|
+
Rn = "Rn"
|
|
221
|
+
Fr = "Fr"
|
|
222
|
+
Ra = "Ra"
|
|
223
|
+
Ac = "Ac"
|
|
224
|
+
Th = "Th"
|
|
225
|
+
Pa = "Pa"
|
|
226
|
+
U = "U"
|
|
227
|
+
Np = "Np"
|
|
228
|
+
Pu = "Pu"
|
|
229
|
+
Am = "Am"
|
|
230
|
+
Cm = "Cm"
|
|
231
|
+
Bk = "Bk"
|
|
232
|
+
Cf = "Cf"
|
|
233
|
+
Es = "Es"
|
|
234
|
+
Fm = "Fm"
|
|
235
|
+
Md = "Md"
|
|
236
|
+
No = "No"
|
|
237
|
+
Lr = "Lr"
|
|
238
|
+
Rf = "Rf"
|
|
239
|
+
Db = "Db"
|
|
240
|
+
Sg = "Sg"
|
|
241
|
+
Bh = "Bh"
|
|
242
|
+
Hs = "Hs"
|
|
243
|
+
Mt = "Mt"
|
|
244
|
+
Ds = "Ds"
|
|
245
|
+
Rg = "Rg"
|
|
246
|
+
Cn = "Cn"
|
|
247
|
+
Nh = "Nh"
|
|
248
|
+
Fl = "Fl"
|
|
249
|
+
Mc = "Mc"
|
|
250
|
+
Lv = "Lv"
|
|
251
|
+
Ts = "Ts"
|
|
252
|
+
Og = "Og"
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
class Value29(Enum):
|
|
256
|
+
X = "X"
|
|
257
|
+
Vac = "Vac"
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
class AtomicElementSchema(BaseModel):
|
|
261
|
+
value: Union[Value, Value29]
|
|
262
|
+
"""
|
|
263
|
+
All elements, including extra elements
|
|
264
|
+
"""
|
|
265
|
+
id: int
|
|
266
|
+
"""
|
|
267
|
+
integer id of this entry
|
|
268
|
+
"""
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
class AtomicCoordinateSchema(BaseModel):
|
|
272
|
+
value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
273
|
+
"""
|
|
274
|
+
value of this entry
|
|
275
|
+
"""
|
|
276
|
+
id: int
|
|
277
|
+
"""
|
|
278
|
+
integer id of this entry
|
|
279
|
+
"""
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
class BasisUnitsEnum(Enum):
|
|
283
|
+
crystal = "crystal"
|
|
284
|
+
cartesian = "cartesian"
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
class AtomicLabelSchema(BaseModel):
|
|
288
|
+
value: Union[Union[int, str, float], conint(ge=1, le=9)]
|
|
289
|
+
"""
|
|
290
|
+
value of this entry
|
|
291
|
+
"""
|
|
292
|
+
id: int
|
|
293
|
+
"""
|
|
294
|
+
integer id of this entry
|
|
295
|
+
"""
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
class BasisSchema(BaseModel):
|
|
299
|
+
elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema")
|
|
300
|
+
"""
|
|
301
|
+
atomic elements schema
|
|
302
|
+
"""
|
|
303
|
+
coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
|
|
304
|
+
"""
|
|
305
|
+
atomic coordinates schema
|
|
306
|
+
"""
|
|
307
|
+
units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
|
|
308
|
+
labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
|
|
309
|
+
"""
|
|
310
|
+
atomic labels schema
|
|
311
|
+
"""
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
class LatticeVectorsUnitsEnum(Enum):
|
|
315
|
+
angstrom = "angstrom"
|
|
316
|
+
bohr = "bohr"
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
class LatticeVectorsSchema(BaseModel):
|
|
320
|
+
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
321
|
+
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
322
|
+
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
323
|
+
alat: Optional[float] = 1
|
|
324
|
+
"""
|
|
325
|
+
lattice parameter for fractional coordinates
|
|
326
|
+
"""
|
|
327
|
+
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
class LatticeTypeEnum(Enum):
|
|
331
|
+
CUB = "CUB"
|
|
332
|
+
BCC = "BCC"
|
|
333
|
+
FCC = "FCC"
|
|
334
|
+
TET = "TET"
|
|
335
|
+
MCL = "MCL"
|
|
336
|
+
ORC = "ORC"
|
|
337
|
+
ORCC = "ORCC"
|
|
338
|
+
ORCF = "ORCF"
|
|
339
|
+
ORCI = "ORCI"
|
|
340
|
+
HEX = "HEX"
|
|
341
|
+
BCT = "BCT"
|
|
342
|
+
TRI = "TRI"
|
|
343
|
+
MCLC = "MCLC"
|
|
344
|
+
RHL = "RHL"
|
|
345
|
+
|
|
346
|
+
|
|
347
|
+
class LatticeUnitsLengthEnum(Enum):
|
|
348
|
+
angstrom = "angstrom"
|
|
349
|
+
bohr = "bohr"
|
|
350
|
+
|
|
351
|
+
|
|
352
|
+
class LatticeUnitsAngleEnum(Enum):
|
|
353
|
+
degree = "degree"
|
|
354
|
+
radian = "radian"
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
class LatticeUnitsSchema(BaseModel):
|
|
358
|
+
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
359
|
+
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
360
|
+
|
|
361
|
+
|
|
362
|
+
class LatticeSchema(BaseModel):
|
|
363
|
+
a: float
|
|
364
|
+
"""
|
|
365
|
+
length of the first lattice vector
|
|
366
|
+
"""
|
|
367
|
+
b: float
|
|
368
|
+
"""
|
|
369
|
+
length of the second lattice vector
|
|
370
|
+
"""
|
|
371
|
+
c: float
|
|
372
|
+
"""
|
|
373
|
+
length of the third lattice vector
|
|
374
|
+
"""
|
|
375
|
+
alpha: float
|
|
376
|
+
"""
|
|
377
|
+
angle between first and second lattice vector
|
|
378
|
+
"""
|
|
379
|
+
beta: float
|
|
380
|
+
"""
|
|
381
|
+
angle between second and third lattice vector
|
|
382
|
+
"""
|
|
383
|
+
gamma: float
|
|
384
|
+
"""
|
|
385
|
+
angle between first and third lattice vector
|
|
386
|
+
"""
|
|
387
|
+
vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema")
|
|
388
|
+
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
389
|
+
units: Optional[LatticeUnitsSchema] = Field(
|
|
390
|
+
default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
391
|
+
title="Lattice units schema",
|
|
392
|
+
)
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
class Name(Enum):
|
|
396
|
+
volume = "volume"
|
|
397
|
+
|
|
398
|
+
|
|
399
|
+
class Units(Enum):
|
|
400
|
+
angstrom_3 = "angstrom^3"
|
|
401
|
+
|
|
402
|
+
|
|
403
|
+
class VolumeSchema(BaseModel):
|
|
404
|
+
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
405
|
+
units: Optional[Units] = None
|
|
406
|
+
value: float
|
|
407
|
+
|
|
408
|
+
|
|
409
|
+
class Name123(Enum):
|
|
410
|
+
density = "density"
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
class Units63(Enum):
|
|
414
|
+
g_cm_3 = "g/cm^3"
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
class DensitySchema(BaseModel):
|
|
418
|
+
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
419
|
+
units: Optional[Units63] = None
|
|
420
|
+
value: float
|
|
421
|
+
|
|
422
|
+
|
|
423
|
+
class Units64(Enum):
|
|
424
|
+
angstrom = "angstrom"
|
|
425
|
+
|
|
426
|
+
|
|
427
|
+
class ScalarSchema(BaseModel):
|
|
428
|
+
units: Optional[Units64] = None
|
|
429
|
+
value: float
|
|
430
|
+
|
|
431
|
+
|
|
432
|
+
class Name124(Enum):
|
|
433
|
+
symmetry = "symmetry"
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
class SymmetrySchema(BaseModel):
|
|
437
|
+
pointGroupSymbol: Optional[str] = None
|
|
438
|
+
"""
|
|
439
|
+
point group symbol in Schoenflies notation
|
|
440
|
+
"""
|
|
441
|
+
spaceGroupSymbol: Optional[str] = None
|
|
442
|
+
"""
|
|
443
|
+
space group symbol in Hermann–Mauguin notation
|
|
444
|
+
"""
|
|
445
|
+
tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema")
|
|
446
|
+
"""
|
|
447
|
+
tolerance used for symmetry calculation
|
|
448
|
+
"""
|
|
449
|
+
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
450
|
+
|
|
451
|
+
|
|
452
|
+
class Name125(Enum):
|
|
453
|
+
elemental_ratio = "elemental_ratio"
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
class ElementalRatio(BaseModel):
|
|
457
|
+
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
458
|
+
value: confloat(ge=0.0, le=1.0)
|
|
459
|
+
element: Optional[str] = None
|
|
460
|
+
"""
|
|
461
|
+
the element this ratio is for
|
|
462
|
+
"""
|
|
463
|
+
|
|
464
|
+
|
|
465
|
+
class Name126(Enum):
|
|
466
|
+
p_norm = "p-norm"
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
class PNorm(BaseModel):
|
|
470
|
+
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
471
|
+
degree: Optional[int] = None
|
|
472
|
+
"""
|
|
473
|
+
degree of the dimensionality of the norm
|
|
474
|
+
"""
|
|
475
|
+
value: float
|
|
476
|
+
|
|
477
|
+
|
|
478
|
+
class Name127(Enum):
|
|
479
|
+
inchi = "inchi"
|
|
480
|
+
|
|
481
|
+
|
|
482
|
+
class InChIRepresentationSchema(BaseModel):
|
|
483
|
+
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
484
|
+
value: str
|
|
485
|
+
|
|
486
|
+
|
|
487
|
+
class Name128(Enum):
|
|
488
|
+
inchi_key = "inchi_key"
|
|
489
|
+
|
|
490
|
+
|
|
491
|
+
class InChIKeyRepresentationSchema(BaseModel):
|
|
492
|
+
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
493
|
+
value: str
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
class DerivedPropertiesSchema(
|
|
497
|
+
RootModel[
|
|
498
|
+
Union[
|
|
499
|
+
VolumeSchema,
|
|
500
|
+
DensitySchema,
|
|
501
|
+
SymmetrySchema,
|
|
502
|
+
ElementalRatio,
|
|
503
|
+
PNorm,
|
|
504
|
+
InChIRepresentationSchema,
|
|
505
|
+
InChIKeyRepresentationSchema,
|
|
506
|
+
]
|
|
507
|
+
]
|
|
508
|
+
):
|
|
509
|
+
root: Union[
|
|
510
|
+
VolumeSchema,
|
|
511
|
+
DensitySchema,
|
|
512
|
+
SymmetrySchema,
|
|
513
|
+
ElementalRatio,
|
|
514
|
+
PNorm,
|
|
515
|
+
InChIRepresentationSchema,
|
|
516
|
+
InChIKeyRepresentationSchema,
|
|
517
|
+
] = Field(..., discriminator="name")
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
class DatabaseSourceSchema(BaseModel):
|
|
521
|
+
id: Union[str, float]
|
|
522
|
+
"""
|
|
523
|
+
ID string for the materials uploaded from a third party source inside the third party source. For materialsproject.org an example ID is mp-32
|
|
524
|
+
"""
|
|
525
|
+
source: str
|
|
526
|
+
"""
|
|
527
|
+
Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.
|
|
528
|
+
"""
|
|
529
|
+
origin: bool
|
|
530
|
+
"""
|
|
531
|
+
Deprecated. To be removed. A flag that is true when material is initially imported from a third party * (as opposed to being independently designed from scratch).
|
|
532
|
+
"""
|
|
533
|
+
data: Optional[Dict[str, Any]] = None
|
|
534
|
+
"""
|
|
535
|
+
Original response from external source.
|
|
536
|
+
"""
|
|
537
|
+
doi: Optional[str] = None
|
|
538
|
+
"""
|
|
539
|
+
Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506
|
|
540
|
+
"""
|
|
541
|
+
url: Optional[str] = None
|
|
542
|
+
"""
|
|
543
|
+
The URL of the original record, e.g. https://next-gen.materialsproject.org/materials/mp-48; ToDo: update to use URI type per https://json-schema.org/understanding-json-schema/reference/string#resource-identifiers
|
|
544
|
+
"""
|
|
545
|
+
|
|
546
|
+
|
|
547
|
+
class FileSourceSchema(BaseModel):
|
|
548
|
+
extension: Optional[str] = None
|
|
549
|
+
"""
|
|
550
|
+
file extension
|
|
551
|
+
"""
|
|
552
|
+
filename: str
|
|
553
|
+
"""
|
|
554
|
+
file name without extension
|
|
555
|
+
"""
|
|
556
|
+
text: str
|
|
557
|
+
"""
|
|
558
|
+
file content as raw text
|
|
559
|
+
"""
|
|
560
|
+
hash: str
|
|
561
|
+
"""
|
|
562
|
+
MD5 hash based on file content
|
|
563
|
+
"""
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
class Name129(Enum):
|
|
567
|
+
default = "default"
|
|
568
|
+
atomsTooClose = "atomsTooClose"
|
|
569
|
+
atomsOverlap = "atomsOverlap"
|
|
570
|
+
|
|
571
|
+
|
|
572
|
+
class Severity(Enum):
|
|
573
|
+
info = "info"
|
|
574
|
+
warning = "warning"
|
|
575
|
+
error = "error"
|
|
576
|
+
|
|
577
|
+
|
|
578
|
+
class MaterialConsistencyCheckSchema(BaseModel):
|
|
579
|
+
name: Name129
|
|
580
|
+
"""
|
|
581
|
+
Name of the consistency check that is performed, which is listed in an enum.
|
|
582
|
+
"""
|
|
583
|
+
key: str
|
|
584
|
+
"""
|
|
585
|
+
Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
|
|
586
|
+
"""
|
|
587
|
+
severity: Severity
|
|
588
|
+
"""
|
|
589
|
+
Severity level of the problem, which is used in UI to differentiate.
|
|
590
|
+
"""
|
|
591
|
+
message: str
|
|
592
|
+
"""
|
|
593
|
+
Message generated by the consistency check describing the problem.
|
|
594
|
+
"""
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
class MaterialSchema(BaseModel):
|
|
598
|
+
formula: Optional[str] = None
|
|
599
|
+
"""
|
|
600
|
+
reduced chemical formula
|
|
601
|
+
"""
|
|
602
|
+
unitCellFormula: Optional[str] = None
|
|
603
|
+
"""
|
|
604
|
+
chemical formula based on the number of atoms of each element in the supercell
|
|
605
|
+
"""
|
|
606
|
+
basis: BasisSchema = Field(..., title="basis schema")
|
|
607
|
+
lattice: LatticeSchema = Field(..., title="lattice schema")
|
|
608
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema")
|
|
609
|
+
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
610
|
+
"""
|
|
611
|
+
information about a database source
|
|
612
|
+
"""
|
|
613
|
+
src: Optional[FileSourceSchema] = Field(None, title="file source schema")
|
|
614
|
+
"""
|
|
615
|
+
file source with the information inside
|
|
616
|
+
"""
|
|
617
|
+
scaledHash: Optional[str] = None
|
|
618
|
+
"""
|
|
619
|
+
Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
|
|
620
|
+
"""
|
|
621
|
+
icsdId: Optional[int] = None
|
|
622
|
+
"""
|
|
623
|
+
Corresponding ICSD id of the material
|
|
624
|
+
"""
|
|
625
|
+
isNonPeriodic: Optional[bool] = None
|
|
626
|
+
"""
|
|
627
|
+
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
628
|
+
"""
|
|
629
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None
|
|
630
|
+
field_id: Optional[str] = Field(None, alias="_id")
|
|
631
|
+
"""
|
|
632
|
+
entity identity
|
|
633
|
+
"""
|
|
634
|
+
slug: Optional[str] = None
|
|
635
|
+
"""
|
|
636
|
+
entity slug
|
|
637
|
+
"""
|
|
638
|
+
systemName: Optional[str] = None
|
|
639
|
+
schemaVersion: Optional[str] = "2022.8.16"
|
|
640
|
+
"""
|
|
641
|
+
entity's schema version. Used to distinct between different schemas.
|
|
642
|
+
"""
|
|
643
|
+
name: Optional[str] = None
|
|
644
|
+
"""
|
|
645
|
+
entity name
|
|
646
|
+
"""
|
|
647
|
+
isDefault: Optional[bool] = False
|
|
648
|
+
"""
|
|
649
|
+
Identifies that entity is defaultable
|
|
650
|
+
"""
|
|
651
|
+
metadata: Optional[Dict[str, Any]] = None
|
|
652
|
+
|
|
653
|
+
|
|
654
|
+
class PointDefectConfigurationSchema(BaseModel):
|
|
655
|
+
type: str
|
|
656
|
+
"""
|
|
657
|
+
The type of point defect
|
|
658
|
+
"""
|
|
659
|
+
coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
660
|
+
chemical_element: Optional[ChemicalElement] = None
|
|
661
|
+
use_cartesian_coordinates: Optional[bool] = False
|
|
662
|
+
"""
|
|
663
|
+
Whether coordinates are in cartesian rather than fractional coordinates
|
|
664
|
+
"""
|
|
665
|
+
host: Optional[MaterialSchema] = None
|
|
666
|
+
"""
|
|
667
|
+
The base host for the defect
|
|
668
|
+
"""
|
|
669
|
+
isExternal: Optional[bool] = False
|
|
670
|
+
"""
|
|
671
|
+
Whether the defect is external to the host material
|
|
672
|
+
"""
|
|
673
|
+
|
|
674
|
+
|
|
675
|
+
class Value30(Enum):
|
|
676
|
+
H = "H"
|
|
677
|
+
He = "He"
|
|
678
|
+
Li = "Li"
|
|
679
|
+
Be = "Be"
|
|
680
|
+
B = "B"
|
|
681
|
+
C = "C"
|
|
682
|
+
N = "N"
|
|
683
|
+
O = "O"
|
|
684
|
+
F = "F"
|
|
685
|
+
Ne = "Ne"
|
|
686
|
+
Na = "Na"
|
|
687
|
+
Mg = "Mg"
|
|
688
|
+
Al = "Al"
|
|
689
|
+
Si = "Si"
|
|
690
|
+
P = "P"
|
|
691
|
+
S = "S"
|
|
692
|
+
Cl = "Cl"
|
|
693
|
+
Ar = "Ar"
|
|
694
|
+
K = "K"
|
|
695
|
+
Ca = "Ca"
|
|
696
|
+
Sc = "Sc"
|
|
697
|
+
Ti = "Ti"
|
|
698
|
+
V = "V"
|
|
699
|
+
Cr = "Cr"
|
|
700
|
+
Mn = "Mn"
|
|
701
|
+
Fe = "Fe"
|
|
702
|
+
Co = "Co"
|
|
703
|
+
Ni = "Ni"
|
|
704
|
+
Cu = "Cu"
|
|
705
|
+
Zn = "Zn"
|
|
706
|
+
Ga = "Ga"
|
|
707
|
+
Ge = "Ge"
|
|
708
|
+
As = "As"
|
|
709
|
+
Se = "Se"
|
|
710
|
+
Br = "Br"
|
|
711
|
+
Kr = "Kr"
|
|
712
|
+
Rb = "Rb"
|
|
713
|
+
Sr = "Sr"
|
|
714
|
+
Y = "Y"
|
|
715
|
+
Zr = "Zr"
|
|
716
|
+
Nb = "Nb"
|
|
717
|
+
Mo = "Mo"
|
|
718
|
+
Tc = "Tc"
|
|
719
|
+
Ru = "Ru"
|
|
720
|
+
Rh = "Rh"
|
|
721
|
+
Pd = "Pd"
|
|
722
|
+
Ag = "Ag"
|
|
723
|
+
Cd = "Cd"
|
|
724
|
+
In = "In"
|
|
725
|
+
Sn = "Sn"
|
|
726
|
+
Sb = "Sb"
|
|
727
|
+
Te = "Te"
|
|
728
|
+
I = "I"
|
|
729
|
+
Xe = "Xe"
|
|
730
|
+
Cs = "Cs"
|
|
731
|
+
Ba = "Ba"
|
|
732
|
+
La = "La"
|
|
733
|
+
Ce = "Ce"
|
|
734
|
+
Pr = "Pr"
|
|
735
|
+
Nd = "Nd"
|
|
736
|
+
Pm = "Pm"
|
|
737
|
+
Sm = "Sm"
|
|
738
|
+
Eu = "Eu"
|
|
739
|
+
Gd = "Gd"
|
|
740
|
+
Tb = "Tb"
|
|
741
|
+
Dy = "Dy"
|
|
742
|
+
Ho = "Ho"
|
|
743
|
+
Er = "Er"
|
|
744
|
+
Tm = "Tm"
|
|
745
|
+
Yb = "Yb"
|
|
746
|
+
Lu = "Lu"
|
|
747
|
+
Hf = "Hf"
|
|
748
|
+
Ta = "Ta"
|
|
749
|
+
W = "W"
|
|
750
|
+
Re = "Re"
|
|
751
|
+
Os = "Os"
|
|
752
|
+
Ir = "Ir"
|
|
753
|
+
Pt = "Pt"
|
|
754
|
+
Au = "Au"
|
|
755
|
+
Hg = "Hg"
|
|
756
|
+
Tl = "Tl"
|
|
757
|
+
Pb = "Pb"
|
|
758
|
+
Bi = "Bi"
|
|
759
|
+
Po = "Po"
|
|
760
|
+
At = "At"
|
|
761
|
+
Rn = "Rn"
|
|
762
|
+
Fr = "Fr"
|
|
763
|
+
Ra = "Ra"
|
|
764
|
+
Ac = "Ac"
|
|
765
|
+
Th = "Th"
|
|
766
|
+
Pa = "Pa"
|
|
767
|
+
U = "U"
|
|
768
|
+
Np = "Np"
|
|
769
|
+
Pu = "Pu"
|
|
770
|
+
Am = "Am"
|
|
771
|
+
Cm = "Cm"
|
|
772
|
+
Bk = "Bk"
|
|
773
|
+
Cf = "Cf"
|
|
774
|
+
Es = "Es"
|
|
775
|
+
Fm = "Fm"
|
|
776
|
+
Md = "Md"
|
|
777
|
+
No = "No"
|
|
778
|
+
Lr = "Lr"
|
|
779
|
+
Rf = "Rf"
|
|
780
|
+
Db = "Db"
|
|
781
|
+
Sg = "Sg"
|
|
782
|
+
Bh = "Bh"
|
|
783
|
+
Hs = "Hs"
|
|
784
|
+
Mt = "Mt"
|
|
785
|
+
Ds = "Ds"
|
|
786
|
+
Rg = "Rg"
|
|
787
|
+
Cn = "Cn"
|
|
788
|
+
Nh = "Nh"
|
|
789
|
+
Fl = "Fl"
|
|
790
|
+
Mc = "Mc"
|
|
791
|
+
Lv = "Lv"
|
|
792
|
+
Ts = "Ts"
|
|
793
|
+
Og = "Og"
|
|
794
|
+
|
|
795
|
+
|
|
796
|
+
class Value31(Enum):
|
|
797
|
+
X = "X"
|
|
798
|
+
Vac = "Vac"
|
|
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",
|
|
874
|
+
)
|
|
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
|
+
"""
|
|
1017
|
+
severity: Severity
|
|
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
|
|
1074
|
+
"""
|
|
1075
|
+
entity name
|
|
1076
|
+
"""
|
|
1077
|
+
isDefault: Optional[bool] = False
|
|
1078
|
+
"""
|
|
1079
|
+
Identifies that entity is defaultable
|
|
1080
|
+
"""
|
|
1081
|
+
metadata: Optional[Dict[str, Any]] = None
|
|
1082
|
+
|
|
1083
|
+
|
|
1084
|
+
class PointDefectConfigurationSchema2(BaseModel):
|
|
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):
|
|
1106
|
+
H = "H"
|
|
1107
|
+
He = "He"
|
|
1108
|
+
Li = "Li"
|
|
1109
|
+
Be = "Be"
|
|
1110
|
+
B = "B"
|
|
1111
|
+
C = "C"
|
|
1112
|
+
N = "N"
|
|
1113
|
+
O = "O"
|
|
1114
|
+
F = "F"
|
|
1115
|
+
Ne = "Ne"
|
|
1116
|
+
Na = "Na"
|
|
1117
|
+
Mg = "Mg"
|
|
1118
|
+
Al = "Al"
|
|
1119
|
+
Si = "Si"
|
|
1120
|
+
P = "P"
|
|
1121
|
+
S = "S"
|
|
1122
|
+
Cl = "Cl"
|
|
1123
|
+
Ar = "Ar"
|
|
1124
|
+
K = "K"
|
|
1125
|
+
Ca = "Ca"
|
|
1126
|
+
Sc = "Sc"
|
|
1127
|
+
Ti = "Ti"
|
|
1128
|
+
V = "V"
|
|
1129
|
+
Cr = "Cr"
|
|
1130
|
+
Mn = "Mn"
|
|
1131
|
+
Fe = "Fe"
|
|
1132
|
+
Co = "Co"
|
|
1133
|
+
Ni = "Ni"
|
|
1134
|
+
Cu = "Cu"
|
|
1135
|
+
Zn = "Zn"
|
|
1136
|
+
Ga = "Ga"
|
|
1137
|
+
Ge = "Ge"
|
|
1138
|
+
As = "As"
|
|
1139
|
+
Se = "Se"
|
|
1140
|
+
Br = "Br"
|
|
1141
|
+
Kr = "Kr"
|
|
1142
|
+
Rb = "Rb"
|
|
1143
|
+
Sr = "Sr"
|
|
1144
|
+
Y = "Y"
|
|
1145
|
+
Zr = "Zr"
|
|
1146
|
+
Nb = "Nb"
|
|
1147
|
+
Mo = "Mo"
|
|
1148
|
+
Tc = "Tc"
|
|
1149
|
+
Ru = "Ru"
|
|
1150
|
+
Rh = "Rh"
|
|
1151
|
+
Pd = "Pd"
|
|
1152
|
+
Ag = "Ag"
|
|
1153
|
+
Cd = "Cd"
|
|
1154
|
+
In = "In"
|
|
1155
|
+
Sn = "Sn"
|
|
1156
|
+
Sb = "Sb"
|
|
1157
|
+
Te = "Te"
|
|
1158
|
+
I = "I"
|
|
1159
|
+
Xe = "Xe"
|
|
1160
|
+
Cs = "Cs"
|
|
1161
|
+
Ba = "Ba"
|
|
1162
|
+
La = "La"
|
|
1163
|
+
Ce = "Ce"
|
|
1164
|
+
Pr = "Pr"
|
|
1165
|
+
Nd = "Nd"
|
|
1166
|
+
Pm = "Pm"
|
|
1167
|
+
Sm = "Sm"
|
|
1168
|
+
Eu = "Eu"
|
|
1169
|
+
Gd = "Gd"
|
|
1170
|
+
Tb = "Tb"
|
|
1171
|
+
Dy = "Dy"
|
|
1172
|
+
Ho = "Ho"
|
|
1173
|
+
Er = "Er"
|
|
1174
|
+
Tm = "Tm"
|
|
1175
|
+
Yb = "Yb"
|
|
1176
|
+
Lu = "Lu"
|
|
1177
|
+
Hf = "Hf"
|
|
1178
|
+
Ta = "Ta"
|
|
1179
|
+
W = "W"
|
|
1180
|
+
Re = "Re"
|
|
1181
|
+
Os = "Os"
|
|
1182
|
+
Ir = "Ir"
|
|
1183
|
+
Pt = "Pt"
|
|
1184
|
+
Au = "Au"
|
|
1185
|
+
Hg = "Hg"
|
|
1186
|
+
Tl = "Tl"
|
|
1187
|
+
Pb = "Pb"
|
|
1188
|
+
Bi = "Bi"
|
|
1189
|
+
Po = "Po"
|
|
1190
|
+
At = "At"
|
|
1191
|
+
Rn = "Rn"
|
|
1192
|
+
Fr = "Fr"
|
|
1193
|
+
Ra = "Ra"
|
|
1194
|
+
Ac = "Ac"
|
|
1195
|
+
Th = "Th"
|
|
1196
|
+
Pa = "Pa"
|
|
1197
|
+
U = "U"
|
|
1198
|
+
Np = "Np"
|
|
1199
|
+
Pu = "Pu"
|
|
1200
|
+
Am = "Am"
|
|
1201
|
+
Cm = "Cm"
|
|
1202
|
+
Bk = "Bk"
|
|
1203
|
+
Cf = "Cf"
|
|
1204
|
+
Es = "Es"
|
|
1205
|
+
Fm = "Fm"
|
|
1206
|
+
Md = "Md"
|
|
1207
|
+
No = "No"
|
|
1208
|
+
Lr = "Lr"
|
|
1209
|
+
Rf = "Rf"
|
|
1210
|
+
Db = "Db"
|
|
1211
|
+
Sg = "Sg"
|
|
1212
|
+
Bh = "Bh"
|
|
1213
|
+
Hs = "Hs"
|
|
1214
|
+
Mt = "Mt"
|
|
1215
|
+
Ds = "Ds"
|
|
1216
|
+
Rg = "Rg"
|
|
1217
|
+
Cn = "Cn"
|
|
1218
|
+
Nh = "Nh"
|
|
1219
|
+
Fl = "Fl"
|
|
1220
|
+
Mc = "Mc"
|
|
1221
|
+
Lv = "Lv"
|
|
1222
|
+
Ts = "Ts"
|
|
1223
|
+
Og = "Og"
|
|
1224
|
+
|
|
1225
|
+
|
|
1226
|
+
class Value33(Enum):
|
|
1227
|
+
X = "X"
|
|
1228
|
+
Vac = "Vac"
|
|
1229
|
+
|
|
1230
|
+
|
|
1231
|
+
class AtomicElementSchema14(BaseModel):
|
|
1232
|
+
value: Union[Value32, Value33]
|
|
1233
|
+
"""
|
|
1234
|
+
All elements, including extra elements
|
|
1235
|
+
"""
|
|
1236
|
+
id: int
|
|
1237
|
+
"""
|
|
1238
|
+
integer id of this entry
|
|
1239
|
+
"""
|
|
1240
|
+
|
|
1241
|
+
|
|
1242
|
+
class BasisSchema12(BaseModel):
|
|
1243
|
+
elements: List[AtomicElementSchema14] = Field(..., title="atomic elements schema")
|
|
1244
|
+
"""
|
|
1245
|
+
atomic elements schema
|
|
1246
|
+
"""
|
|
1247
|
+
coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
|
|
1248
|
+
"""
|
|
1249
|
+
atomic coordinates schema
|
|
1250
|
+
"""
|
|
1251
|
+
units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
|
|
1252
|
+
labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
|
|
1253
|
+
"""
|
|
1254
|
+
atomic labels schema
|
|
1255
|
+
"""
|
|
1256
|
+
|
|
1257
|
+
|
|
1258
|
+
class LatticeVectorsSchema12(BaseModel):
|
|
1259
|
+
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
1260
|
+
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
1261
|
+
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
1262
|
+
alat: Optional[float] = 1
|
|
1263
|
+
"""
|
|
1264
|
+
lattice parameter for fractional coordinates
|
|
1265
|
+
"""
|
|
1266
|
+
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
1267
|
+
|
|
1268
|
+
|
|
1269
|
+
class LatticeUnitsSchema13(BaseModel):
|
|
1270
|
+
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
1271
|
+
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
1272
|
+
|
|
1273
|
+
|
|
1274
|
+
class LatticeSchema12(BaseModel):
|
|
1275
|
+
a: float
|
|
1276
|
+
"""
|
|
1277
|
+
length of the first lattice vector
|
|
1278
|
+
"""
|
|
1279
|
+
b: float
|
|
1280
|
+
"""
|
|
1281
|
+
length of the second lattice vector
|
|
1282
|
+
"""
|
|
1283
|
+
c: float
|
|
1284
|
+
"""
|
|
1285
|
+
length of the third lattice vector
|
|
1286
|
+
"""
|
|
1287
|
+
alpha: float
|
|
1288
|
+
"""
|
|
1289
|
+
angle between first and second lattice vector
|
|
1290
|
+
"""
|
|
1291
|
+
beta: float
|
|
1292
|
+
"""
|
|
1293
|
+
angle between second and third lattice vector
|
|
1294
|
+
"""
|
|
1295
|
+
gamma: float
|
|
1296
|
+
"""
|
|
1297
|
+
angle between first and third lattice vector
|
|
1298
|
+
"""
|
|
1299
|
+
vectors: Optional[LatticeVectorsSchema12] = Field(None, title="lattice vectors schema")
|
|
1300
|
+
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
1301
|
+
units: Optional[LatticeUnitsSchema13] = Field(
|
|
1302
|
+
default_factory=lambda: LatticeUnitsSchema13.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
1303
|
+
title="Lattice units schema",
|
|
1304
|
+
)
|
|
1305
|
+
|
|
1306
|
+
|
|
1307
|
+
class Name138(Enum):
|
|
1308
|
+
volume = "volume"
|
|
1309
|
+
|
|
1310
|
+
|
|
1311
|
+
class Units68(Enum):
|
|
1312
|
+
angstrom_3 = "angstrom^3"
|
|
1313
|
+
|
|
1314
|
+
|
|
1315
|
+
class VolumeSchema12(BaseModel):
|
|
1316
|
+
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
1317
|
+
units: Optional[Units68] = None
|
|
1318
|
+
value: float
|
|
1319
|
+
|
|
1320
|
+
|
|
1321
|
+
class Name139(Enum):
|
|
1322
|
+
density = "density"
|
|
1323
|
+
|
|
1324
|
+
|
|
1325
|
+
class Units69(Enum):
|
|
1326
|
+
g_cm_3 = "g/cm^3"
|
|
1327
|
+
|
|
1328
|
+
|
|
1329
|
+
class DensitySchema13(BaseModel):
|
|
1330
|
+
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
1331
|
+
units: Optional[Units69] = None
|
|
1332
|
+
value: float
|
|
1333
|
+
|
|
1334
|
+
|
|
1335
|
+
class Units70(Enum):
|
|
1336
|
+
angstrom = "angstrom"
|
|
1337
|
+
|
|
1338
|
+
|
|
1339
|
+
class ScalarSchema13(BaseModel):
|
|
1340
|
+
units: Optional[Units70] = None
|
|
1341
|
+
value: float
|
|
1342
|
+
|
|
1343
|
+
|
|
1344
|
+
class Name140(Enum):
|
|
1345
|
+
symmetry = "symmetry"
|
|
1346
|
+
|
|
1347
|
+
|
|
1348
|
+
class SymmetrySchema12(BaseModel):
|
|
1349
|
+
pointGroupSymbol: Optional[str] = None
|
|
1350
|
+
"""
|
|
1351
|
+
point group symbol in Schoenflies notation
|
|
1352
|
+
"""
|
|
1353
|
+
spaceGroupSymbol: Optional[str] = None
|
|
1354
|
+
"""
|
|
1355
|
+
space group symbol in Hermann–Mauguin notation
|
|
1356
|
+
"""
|
|
1357
|
+
tolerance: Optional[ScalarSchema13] = Field(None, title="scalar schema")
|
|
1358
|
+
"""
|
|
1359
|
+
tolerance used for symmetry calculation
|
|
1360
|
+
"""
|
|
1361
|
+
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
1362
|
+
|
|
1363
|
+
|
|
1364
|
+
class Name141(Enum):
|
|
1365
|
+
elemental_ratio = "elemental_ratio"
|
|
1366
|
+
|
|
1367
|
+
|
|
1368
|
+
class ElementalRatio13(BaseModel):
|
|
1369
|
+
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
1370
|
+
value: confloat(ge=0.0, le=1.0)
|
|
1371
|
+
element: Optional[str] = None
|
|
1372
|
+
"""
|
|
1373
|
+
the element this ratio is for
|
|
1374
|
+
"""
|
|
1375
|
+
|
|
1376
|
+
|
|
1377
|
+
class Name142(Enum):
|
|
1378
|
+
p_norm = "p-norm"
|
|
1379
|
+
|
|
1380
|
+
|
|
1381
|
+
class PNorm13(BaseModel):
|
|
1382
|
+
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
1383
|
+
degree: Optional[int] = None
|
|
1384
|
+
"""
|
|
1385
|
+
degree of the dimensionality of the norm
|
|
1386
|
+
"""
|
|
1387
|
+
value: float
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
class Name143(Enum):
|
|
1391
|
+
inchi = "inchi"
|
|
1392
|
+
|
|
1393
|
+
|
|
1394
|
+
class InChIRepresentationSchema13(BaseModel):
|
|
1395
|
+
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
1396
|
+
value: str
|
|
1397
|
+
|
|
1398
|
+
|
|
1399
|
+
class Name144(Enum):
|
|
1400
|
+
inchi_key = "inchi_key"
|
|
1401
|
+
|
|
1402
|
+
|
|
1403
|
+
class InChIKeyRepresentationSchema13(BaseModel):
|
|
1404
|
+
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
1405
|
+
value: str
|
|
1406
|
+
|
|
1407
|
+
|
|
1408
|
+
class DerivedPropertiesSchema13(
|
|
1409
|
+
RootModel[
|
|
1410
|
+
Union[
|
|
1411
|
+
VolumeSchema12,
|
|
1412
|
+
DensitySchema13,
|
|
1413
|
+
SymmetrySchema12,
|
|
1414
|
+
ElementalRatio13,
|
|
1415
|
+
PNorm13,
|
|
1416
|
+
InChIRepresentationSchema13,
|
|
1417
|
+
InChIKeyRepresentationSchema13,
|
|
1418
|
+
]
|
|
1419
|
+
]
|
|
1420
|
+
):
|
|
1421
|
+
root: Union[
|
|
1422
|
+
VolumeSchema12,
|
|
1423
|
+
DensitySchema13,
|
|
1424
|
+
SymmetrySchema12,
|
|
1425
|
+
ElementalRatio13,
|
|
1426
|
+
PNorm13,
|
|
1427
|
+
InChIRepresentationSchema13,
|
|
1428
|
+
InChIKeyRepresentationSchema13,
|
|
1429
|
+
] = Field(..., discriminator="name")
|
|
1430
|
+
|
|
1431
|
+
|
|
1432
|
+
class Name145(Enum):
|
|
1433
|
+
default = "default"
|
|
1434
|
+
atomsTooClose = "atomsTooClose"
|
|
1435
|
+
atomsOverlap = "atomsOverlap"
|
|
1436
|
+
|
|
1437
|
+
|
|
1438
|
+
class MaterialConsistencyCheckSchema12(BaseModel):
|
|
1439
|
+
name: Name145
|
|
1440
|
+
"""
|
|
1441
|
+
Name of the consistency check that is performed, which is listed in an enum.
|
|
1442
|
+
"""
|
|
1443
|
+
key: str
|
|
1444
|
+
"""
|
|
1445
|
+
Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
|
|
1446
|
+
"""
|
|
1447
|
+
severity: Severity
|
|
1448
|
+
"""
|
|
1449
|
+
Severity level of the problem, which is used in UI to differentiate.
|
|
1450
|
+
"""
|
|
1451
|
+
message: str
|
|
1452
|
+
"""
|
|
1453
|
+
Message generated by the consistency check describing the problem.
|
|
1454
|
+
"""
|
|
1455
|
+
|
|
1456
|
+
|
|
1457
|
+
class MaterialSchema11(BaseModel):
|
|
1458
|
+
formula: Optional[str] = None
|
|
1459
|
+
"""
|
|
1460
|
+
reduced chemical formula
|
|
1461
|
+
"""
|
|
1462
|
+
unitCellFormula: Optional[str] = None
|
|
1463
|
+
"""
|
|
1464
|
+
chemical formula based on the number of atoms of each element in the supercell
|
|
1465
|
+
"""
|
|
1466
|
+
basis: BasisSchema12 = Field(..., title="basis schema")
|
|
1467
|
+
lattice: LatticeSchema12 = Field(..., title="lattice schema")
|
|
1468
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema13]] = Field(None, title="derived properties schema")
|
|
1469
|
+
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
1470
|
+
"""
|
|
1471
|
+
information about a database source
|
|
1472
|
+
"""
|
|
1473
|
+
src: Optional[FileSourceSchema] = Field(None, title="file source schema")
|
|
1474
|
+
"""
|
|
1475
|
+
file source with the information inside
|
|
1476
|
+
"""
|
|
1477
|
+
scaledHash: Optional[str] = None
|
|
1478
|
+
"""
|
|
1479
|
+
Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
|
|
1480
|
+
"""
|
|
1481
|
+
icsdId: Optional[int] = None
|
|
1482
|
+
"""
|
|
1483
|
+
Corresponding ICSD id of the material
|
|
1484
|
+
"""
|
|
1485
|
+
isNonPeriodic: Optional[bool] = None
|
|
1486
|
+
"""
|
|
1487
|
+
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
1488
|
+
"""
|
|
1489
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema12]] = None
|
|
1490
|
+
field_id: Optional[str] = Field(None, alias="_id")
|
|
1491
|
+
"""
|
|
1492
|
+
entity identity
|
|
1493
|
+
"""
|
|
1494
|
+
slug: Optional[str] = None
|
|
1495
|
+
"""
|
|
1496
|
+
entity slug
|
|
1497
|
+
"""
|
|
1498
|
+
systemName: Optional[str] = None
|
|
1499
|
+
schemaVersion: Optional[str] = "2022.8.16"
|
|
1500
|
+
"""
|
|
1501
|
+
entity's schema version. Used to distinct between different schemas.
|
|
1502
|
+
"""
|
|
1503
|
+
name: Optional[str] = None
|
|
1504
|
+
"""
|
|
1505
|
+
entity name
|
|
1506
|
+
"""
|
|
1507
|
+
isDefault: Optional[bool] = False
|
|
1508
|
+
"""
|
|
1509
|
+
Identifies that entity is defaultable
|
|
1510
|
+
"""
|
|
1511
|
+
metadata: Optional[Dict[str, Any]] = None
|
|
1512
|
+
|
|
1513
|
+
|
|
1514
|
+
class PairDefectSchema(BaseModel):
|
|
1515
|
+
point_defect_configuration_1: Optional[PointDefectConfigurationSchema] = Field(
|
|
1516
|
+
None, title="Point Defect Configuration Schema"
|
|
1517
|
+
)
|
|
1518
|
+
"""
|
|
1519
|
+
Configuration for point defects that require a crystal reference
|
|
1520
|
+
"""
|
|
1521
|
+
point_defect_configuration_2: Optional[PointDefectConfigurationSchema2] = Field(
|
|
1522
|
+
None, title="Point Defect Configuration Schema"
|
|
1523
|
+
)
|
|
1524
|
+
"""
|
|
1525
|
+
Configuration for point defects that require a crystal reference
|
|
1526
|
+
"""
|
|
1527
|
+
host: Optional[MaterialSchema11] = None
|
|
1528
|
+
"""
|
|
1529
|
+
The base host for the defect
|
|
1530
|
+
"""
|
|
1531
|
+
isExternal: Optional[bool] = False
|
|
1532
|
+
"""
|
|
1533
|
+
Whether the defect is external to the host material
|
|
1534
|
+
"""
|