mat3ra-esse 2025.6.14.post0__py3-none-any.whl → 2025.7.1.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.

Files changed (118) hide show
  1. {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/METADATA +2 -2
  2. {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/RECORD +5 -118
  3. mat3ra/esse/models/coordinates_shape_enum.py +0 -15
  4. mat3ra/esse/models/core/abstract/2d_data.py +0 -17
  5. mat3ra/esse/models/core/abstract/2d_plot.py +0 -34
  6. mat3ra/esse/models/core/abstract/3d_grid.py +0 -14
  7. mat3ra/esse/models/core/abstract/3d_tensor.py +0 -19
  8. mat3ra/esse/models/core/abstract/3d_vector_basis.py +0 -15
  9. mat3ra/esse/models/core/abstract/_3d_tensor.py +0 -19
  10. mat3ra/esse/models/core/abstract/_3d_vector_basis.py +0 -15
  11. mat3ra/esse/models/core/abstract/point.py +0 -13
  12. mat3ra/esse/models/core/abstract/vector.py +0 -13
  13. mat3ra/esse/models/core/primitive/1d_data_series.py +0 -13
  14. mat3ra/esse/models/core/primitive/3d_lattice.py +0 -34
  15. mat3ra/esse/models/core/primitive/_3d_lattice.py +0 -34
  16. mat3ra/esse/models/core/reusable/accuracy_level.py +0 -27
  17. mat3ra/esse/models/core/reusable/atomic_strings.py +0 -24
  18. mat3ra/esse/models/core/reusable/coordinate_conditions/cylinder.py +0 -26
  19. mat3ra/esse/models/core/reusable/coordinate_conditions/plane.py +0 -24
  20. mat3ra/esse/models/core/reusable/coordinate_conditions/sphere.py +0 -24
  21. mat3ra/esse/models/core/reusable/coordinate_conditions/triangular_prism.py +0 -27
  22. mat3ra/esse/models/core/reusable/energy_accuracy_levels/__init__.py +0 -3
  23. mat3ra/esse/models/core/reusable/energy_accuracy_levels.py +0 -31
  24. mat3ra/esse/models/enums/__init__.py +0 -3
  25. mat3ra/esse/models/enums/chemical_elements.py +0 -13
  26. mat3ra/esse/models/material/builders/base/__init__.py +0 -3
  27. mat3ra/esse/models/material/builders/base/selector_parameters.py +0 -16
  28. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/__init__.py +0 -3
  29. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/builder_parameters.py +0 -28
  30. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py +0 -151
  31. mat3ra/esse/models/material/reusable/__init__.py +0 -3
  32. mat3ra/esse/models/material/reusable/coordinate_conditions/__init__.py +0 -3
  33. mat3ra/esse/models/material/reusable/coordinate_conditions/base.py +0 -21
  34. mat3ra/esse/models/material/reusable/coordinate_conditions/box.py +0 -24
  35. mat3ra/esse/models/material/reusable/coordinate_conditions/cylinder.py +0 -26
  36. mat3ra/esse/models/material/reusable/coordinate_conditions/plane.py +0 -24
  37. mat3ra/esse/models/material/reusable/coordinate_conditions/sphere.py +0 -24
  38. mat3ra/esse/models/material/reusable/coordinate_conditions/triangular_prism.py +0 -27
  39. mat3ra/esse/models/material/reusable/repetitions.py +0 -25
  40. mat3ra/esse/models/material/reusable/slab/__init__.py +0 -3
  41. mat3ra/esse/models/material/reusable/slab/enums/__init__.py +0 -3
  42. mat3ra/esse/models/material/reusable/slab/enums/exposed_face.py +0 -13
  43. mat3ra/esse/models/material/reusable/slab/enums.py +0 -13
  44. mat3ra/esse/models/material/reusable/slab/miller_indices.py +0 -16
  45. mat3ra/esse/models/material/reusable/slab/number_of_layers.py +0 -16
  46. mat3ra/esse/models/material/reusable/slab/slab_configuration_with_termination.py +0 -589
  47. mat3ra/esse/models/material/reusable/slab/slab_with_termination.py +0 -593
  48. mat3ra/esse/models/material/reusable/slab/termination.py +0 -144
  49. mat3ra/esse/models/material/reusable/slab/two_slabs_stack.py +0 -618
  50. mat3ra/esse/models/material/reusable/slab/vacuum.py +0 -16
  51. mat3ra/esse/models/material/reusable/slab_configuration_with_termination.py +0 -712
  52. mat3ra/esse/models/material/reusable/stack/__init__.py +0 -3
  53. mat3ra/esse/models/material/reusable/stack/slab_configuration_with_termination.py +0 -593
  54. mat3ra/esse/models/material/reusable/stack/slab_in_stack.py +0 -720
  55. mat3ra/esse/models/material/reusable/stack/stack_of_slabs.py +0 -737
  56. mat3ra/esse/models/material/reusable/stack/stack_of_two_slabs.py +0 -737
  57. mat3ra/esse/models/material/reusable/supercell/__init__.py +0 -3
  58. mat3ra/esse/models/material/reusable/supercell/supercell_matrix_2d.py +0 -25
  59. mat3ra/esse/models/material/reusable/supercell/supercell_matrix_3d.py +0 -27
  60. mat3ra/esse/models/material/reusable/supercell_matrix_2d.py +0 -25
  61. mat3ra/esse/models/material/reusable/supercell_matrix_3d.py +0 -27
  62. mat3ra/esse/models/materials_category/defects/__init__.py +0 -3
  63. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/__init__.py +0 -3
  64. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/configuration.py +0 -672
  65. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/layered/__init__.py +0 -3
  66. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/layered/configuration.py +0 -549
  67. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/__init__.py +0 -3
  68. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/configuration.py +0 -550
  69. mat3ra/esse/models/materials_category/defects/configuration.py +0 -545
  70. mat3ra/esse/models/materials_category/defects/enums/__init__.py +0 -3
  71. mat3ra/esse/models/materials_category/defects/enums/point_defect_type.py +0 -13
  72. mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/__init__.py +0 -3
  73. mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +0 -563
  74. mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/__init__.py +0 -3
  75. mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/configuration.py +0 -1200
  76. mat3ra/esse/models/materials_category/defects/two_dimensional/island/__init__.py +0 -3
  77. mat3ra/esse/models/materials_category/defects/two_dimensional/island/condition_json.py +0 -28
  78. mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +0 -564
  79. mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/__init__.py +0 -3
  80. mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/configuration.py +0 -1538
  81. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/__init__.py +0 -3
  82. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +0 -672
  83. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/__init__.py +0 -3
  84. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/configuration.py +0 -672
  85. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/__init__.py +0 -3
  86. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/configuration.py +0 -672
  87. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/__init__.py +0 -3
  88. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/configuration.py +0 -672
  89. mat3ra/esse/models/materials_category/multi_material/interfaces/__init__.py +0 -3
  90. mat3ra/esse/models/materials_category/multi_material/interfaces/configuration.py +0 -737
  91. mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/__init__.py +0 -3
  92. mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +0 -567
  93. mat3ra/esse/models/methods_directory/physical/psp/file/__init__.py +0 -129
  94. mat3ra/esse/models/methods_directory/physical/psp/file_data_item/__init__.py +0 -111
  95. mat3ra/esse/models/properties_directory/structural/lattice/lattice_bravais.py +0 -74
  96. mat3ra/esse/models/property/base/__init__.py +0 -200
  97. mat3ra/esse/models/property/meta/__init__.py +0 -200
  98. mat3ra/esse/models/property/raw/__init__.py +0 -200
  99. mat3ra/esse/models/property/source/__init__.py +0 -150
  100. mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/__init__.py +0 -3
  101. mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/atoms.py +0 -41
  102. mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/db_entry.py +0 -55
  103. mat3ra/esse/models/third_party/file/applications/espresso/7.2/__init__.py +0 -3
  104. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/__init__.py +0 -3
  105. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_positions.py +0 -51
  106. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_species.py +0 -34
  107. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell.py +0 -111
  108. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell_parameters.py +0 -36
  109. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/control.py +0 -169
  110. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/electrons.py +0 -139
  111. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/hubbard.py +0 -194
  112. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/ions.py +0 -422
  113. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/k_points.py +0 -73
  114. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/system.py +0 -841
  115. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw_x.py +0 -1990
  116. {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/WHEEL +0 -0
  117. {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/licenses/LICENSE.md +0 -0
  118. {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/top_level.txt +0 -0
@@ -1,1538 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: materials_category/defects/zero_dimensional/complex/pair/configuration.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 Value19(Enum):
256
- X = "X"
257
- Vac = "Vac"
258
-
259
-
260
- class AtomicElementSchema(BaseModel):
261
- value: Union[Value, Value19]
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 Name48(Enum):
410
- density = "density"
411
-
412
-
413
- class Units25(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[Units25] = None
420
- value: float
421
-
422
-
423
- class Units26(Enum):
424
- angstrom = "angstrom"
425
-
426
-
427
- class ScalarSchema(BaseModel):
428
- units: Optional[Units26] = None
429
- value: float
430
-
431
-
432
- class Name49(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 Name50(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 Name51(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 Name52(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 Name53(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 Name54(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: Name54
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 Value20(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 Value21(Enum):
797
- X = "X"
798
- Vac = "Vac"
799
-
800
-
801
- class AtomicElementSchema9(BaseModel):
802
- value: Union[Value20, Value21]
803
- """
804
- All elements, including extra elements
805
- """
806
- id: int
807
- """
808
- integer id of this entry
809
- """
810
-
811
-
812
- class BasisSchema7(BaseModel):
813
- elements: List[AtomicElementSchema9] = 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 LatticeVectorsSchema6(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 LatticeUnitsSchema6(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 LatticeSchema6(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[LatticeVectorsSchema6] = Field(None, title="lattice vectors schema")
870
- type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
871
- units: Optional[LatticeUnitsSchema6] = Field(
872
- default_factory=lambda: LatticeUnitsSchema6.model_validate({"length": "angstrom", "angle": "degree"}),
873
- title="Lattice units schema",
874
- )
875
-
876
-
877
- class Name55(Enum):
878
- volume = "volume"
879
-
880
-
881
- class Units27(Enum):
882
- angstrom_3 = "angstrom^3"
883
-
884
-
885
- class VolumeSchema6(BaseModel):
886
- name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
887
- units: Optional[Units27] = None
888
- value: float
889
-
890
-
891
- class Name56(Enum):
892
- density = "density"
893
-
894
-
895
- class Units28(Enum):
896
- g_cm_3 = "g/cm^3"
897
-
898
-
899
- class DensitySchema6(BaseModel):
900
- name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
901
- units: Optional[Units28] = None
902
- value: float
903
-
904
-
905
- class Units29(Enum):
906
- angstrom = "angstrom"
907
-
908
-
909
- class ScalarSchema7(BaseModel):
910
- units: Optional[Units29] = None
911
- value: float
912
-
913
-
914
- class Name57(Enum):
915
- symmetry = "symmetry"
916
-
917
-
918
- class SymmetrySchema6(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[ScalarSchema7] = 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 Name58(Enum):
935
- elemental_ratio = "elemental_ratio"
936
-
937
-
938
- class ElementalRatio6(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 Name59(Enum):
948
- p_norm = "p-norm"
949
-
950
-
951
- class PNorm6(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 Name60(Enum):
961
- inchi = "inchi"
962
-
963
-
964
- class InChIRepresentationSchema6(BaseModel):
965
- name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
966
- value: str
967
-
968
-
969
- class Name61(Enum):
970
- inchi_key = "inchi_key"
971
-
972
-
973
- class InChIKeyRepresentationSchema6(BaseModel):
974
- name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
975
- value: str
976
-
977
-
978
- class DerivedPropertiesSchema6(
979
- RootModel[
980
- Union[
981
- VolumeSchema6,
982
- DensitySchema6,
983
- SymmetrySchema6,
984
- ElementalRatio6,
985
- PNorm6,
986
- InChIRepresentationSchema6,
987
- InChIKeyRepresentationSchema6,
988
- ]
989
- ]
990
- ):
991
- root: Union[
992
- VolumeSchema6,
993
- DensitySchema6,
994
- SymmetrySchema6,
995
- ElementalRatio6,
996
- PNorm6,
997
- InChIRepresentationSchema6,
998
- InChIKeyRepresentationSchema6,
999
- ] = Field(..., discriminator="name")
1000
-
1001
-
1002
- class Name62(Enum):
1003
- default = "default"
1004
- atomsTooClose = "atomsTooClose"
1005
- atomsOverlap = "atomsOverlap"
1006
-
1007
-
1008
- class MaterialConsistencyCheckSchema6(BaseModel):
1009
- name: Name62
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 MaterialSchema6(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: BasisSchema7 = Field(..., title="basis schema")
1037
- lattice: LatticeSchema6 = Field(..., title="lattice schema")
1038
- derivedProperties: Optional[List[DerivedPropertiesSchema6]] = 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[MaterialConsistencyCheckSchema6]] = 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 PointDefectConfigurationSchema1(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[MaterialSchema6] = 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 Value22(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 Value23(Enum):
1227
- X = "X"
1228
- Vac = "Vac"
1229
-
1230
-
1231
- class AtomicElementSchema10(BaseModel):
1232
- value: Union[Value22, Value23]
1233
- """
1234
- All elements, including extra elements
1235
- """
1236
- id: int
1237
- """
1238
- integer id of this entry
1239
- """
1240
-
1241
-
1242
- class BasisSchema8(BaseModel):
1243
- elements: List[AtomicElementSchema10] = 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 LatticeVectorsSchema7(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 LatticeUnitsSchema7(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 LatticeSchema7(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[LatticeVectorsSchema7] = Field(None, title="lattice vectors schema")
1300
- type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
1301
- units: Optional[LatticeUnitsSchema7] = Field(
1302
- default_factory=lambda: LatticeUnitsSchema7.model_validate({"length": "angstrom", "angle": "degree"}),
1303
- title="Lattice units schema",
1304
- )
1305
-
1306
-
1307
- class Name63(Enum):
1308
- volume = "volume"
1309
-
1310
-
1311
- class Units30(Enum):
1312
- angstrom_3 = "angstrom^3"
1313
-
1314
-
1315
- class VolumeSchema7(BaseModel):
1316
- name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
1317
- units: Optional[Units30] = None
1318
- value: float
1319
-
1320
-
1321
- class Name64(Enum):
1322
- density = "density"
1323
-
1324
-
1325
- class Units31(Enum):
1326
- g_cm_3 = "g/cm^3"
1327
-
1328
-
1329
- class DensitySchema7(BaseModel):
1330
- name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
1331
- units: Optional[Units31] = None
1332
- value: float
1333
-
1334
-
1335
- class Units32(Enum):
1336
- angstrom = "angstrom"
1337
-
1338
-
1339
- class ScalarSchema8(BaseModel):
1340
- units: Optional[Units32] = None
1341
- value: float
1342
-
1343
-
1344
- class Name65(Enum):
1345
- symmetry = "symmetry"
1346
-
1347
-
1348
- class SymmetrySchema7(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[ScalarSchema8] = 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 Name66(Enum):
1365
- elemental_ratio = "elemental_ratio"
1366
-
1367
-
1368
- class ElementalRatio7(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 Name67(Enum):
1378
- p_norm = "p-norm"
1379
-
1380
-
1381
- class PNorm7(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 Name68(Enum):
1391
- inchi = "inchi"
1392
-
1393
-
1394
- class InChIRepresentationSchema7(BaseModel):
1395
- name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
1396
- value: str
1397
-
1398
-
1399
- class Name69(Enum):
1400
- inchi_key = "inchi_key"
1401
-
1402
-
1403
- class InChIKeyRepresentationSchema7(BaseModel):
1404
- name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1405
- value: str
1406
-
1407
-
1408
- class DerivedPropertiesSchema7(
1409
- RootModel[
1410
- Union[
1411
- VolumeSchema7,
1412
- DensitySchema7,
1413
- SymmetrySchema7,
1414
- ElementalRatio7,
1415
- PNorm7,
1416
- InChIRepresentationSchema7,
1417
- InChIKeyRepresentationSchema7,
1418
- ]
1419
- ]
1420
- ):
1421
- root: Union[
1422
- VolumeSchema7,
1423
- DensitySchema7,
1424
- SymmetrySchema7,
1425
- ElementalRatio7,
1426
- PNorm7,
1427
- InChIRepresentationSchema7,
1428
- InChIKeyRepresentationSchema7,
1429
- ] = Field(..., discriminator="name")
1430
-
1431
-
1432
- class Name70(Enum):
1433
- default = "default"
1434
- atomsTooClose = "atomsTooClose"
1435
- atomsOverlap = "atomsOverlap"
1436
-
1437
-
1438
- class MaterialConsistencyCheckSchema7(BaseModel):
1439
- name: Name70
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 MaterialSchema7(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: BasisSchema8 = Field(..., title="basis schema")
1467
- lattice: LatticeSchema7 = Field(..., title="lattice schema")
1468
- derivedProperties: Optional[List[DerivedPropertiesSchema7]] = 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[MaterialConsistencyCheckSchema7]] = 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[PointDefectConfigurationSchema1] = Field(
1522
- None, title="Point Defect Configuration Schema"
1523
- )
1524
- """
1525
- Configuration for point defects that require a crystal reference
1526
- """
1527
- host: Optional[MaterialSchema7] = None
1528
- """
1529
- The base host for the defect
1530
- """
1531
- use_cartesian_coordinates: Optional[bool] = False
1532
- """
1533
- Whether to use Cartesian coordinates
1534
- """
1535
- isExternal: Optional[bool] = False
1536
- """
1537
- Whether the defect is external to the host material
1538
- """