mat3ra-esse 2025.7.29.post0__py3-none-any.whl → 2025.8.6.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 (60) hide show
  1. mat3ra/esse/data/examples.py +1 -1
  2. mat3ra/esse/data/schemas.py +1 -1
  3. mat3ra/esse/models/apse/file/applications/espresso/7.2/pw_x.py +6 -6
  4. mat3ra/esse/models/core/reusable/energy.py +2 -2
  5. mat3ra/esse/models/element.py +6 -6
  6. mat3ra/esse/models/material/__init__.py +14 -14
  7. mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py +549 -2319
  8. mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py +537 -2307
  9. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/configuration.py +206 -190
  10. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py +56 -1826
  11. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/configuration.py +331 -311
  12. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/configuration.py +331 -311
  13. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py +72 -72
  14. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py +72 -72
  15. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py +14 -14
  16. mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/ideal_crystal.py +14 -14
  17. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanoribbon.py +150 -134
  18. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanotape.py +86 -74
  19. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +84 -72
  20. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py +84 -72
  21. mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/configuration.py +70 -70
  22. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py +14 -14
  23. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py +14 -14
  24. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py +14 -14
  25. mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/crystal.py +14 -14
  26. mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +14 -14
  27. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py +14 -14
  28. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py +16 -16
  29. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py +14 -14
  30. mat3ra/esse/models/materials_category_components/entities/reusable/{repetitions.py → three_dimensional/repetitions.py} +1 -1
  31. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +14 -14
  32. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py +14 -14
  33. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py +14 -14
  34. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py +14 -14
  35. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py +148 -132
  36. mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +14 -2
  37. mat3ra/esse/models/materials_category_components/operations/core/modifications/perturb.py +14 -14
  38. mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
  39. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
  40. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
  41. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
  42. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
  43. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
  44. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
  45. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
  46. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
  47. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
  48. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
  49. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
  50. mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
  51. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
  52. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
  53. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
  54. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
  55. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/METADATA +1 -1
  56. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/RECORD +59 -60
  57. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py +0 -1151
  58. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/WHEEL +0 -0
  59. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/licenses/LICENSE.md +0 -0
  60. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/top_level.txt +0 -0
@@ -1,1151 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.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, constr
11
-
12
-
13
- class SupercellMatrix2DSchemaItem(RootModel[List[int]]):
14
- root: List[int]
15
-
16
-
17
- class ArrayOf3NumberElementsSchema(RootModel[List[float]]):
18
- root: List[float] = Field(..., title="array of 3 number elements schema")
19
-
20
-
21
- class ChemicalElements(Enum):
22
- H = "H"
23
- He = "He"
24
- Li = "Li"
25
- Be = "Be"
26
- B = "B"
27
- C = "C"
28
- N = "N"
29
- O = "O"
30
- F = "F"
31
- Ne = "Ne"
32
- Na = "Na"
33
- Mg = "Mg"
34
- Al = "Al"
35
- Si = "Si"
36
- P = "P"
37
- S = "S"
38
- Cl = "Cl"
39
- Ar = "Ar"
40
- K = "K"
41
- Ca = "Ca"
42
- Sc = "Sc"
43
- Ti = "Ti"
44
- V = "V"
45
- Cr = "Cr"
46
- Mn = "Mn"
47
- Fe = "Fe"
48
- Co = "Co"
49
- Ni = "Ni"
50
- Cu = "Cu"
51
- Zn = "Zn"
52
- Ga = "Ga"
53
- Ge = "Ge"
54
- As = "As"
55
- Se = "Se"
56
- Br = "Br"
57
- Kr = "Kr"
58
- Rb = "Rb"
59
- Sr = "Sr"
60
- Y = "Y"
61
- Zr = "Zr"
62
- Nb = "Nb"
63
- Mo = "Mo"
64
- Tc = "Tc"
65
- Ru = "Ru"
66
- Rh = "Rh"
67
- Pd = "Pd"
68
- Ag = "Ag"
69
- Cd = "Cd"
70
- In = "In"
71
- Sn = "Sn"
72
- Sb = "Sb"
73
- Te = "Te"
74
- I = "I"
75
- Xe = "Xe"
76
- Cs = "Cs"
77
- Ba = "Ba"
78
- La = "La"
79
- Ce = "Ce"
80
- Pr = "Pr"
81
- Nd = "Nd"
82
- Pm = "Pm"
83
- Sm = "Sm"
84
- Eu = "Eu"
85
- Gd = "Gd"
86
- Tb = "Tb"
87
- Dy = "Dy"
88
- Ho = "Ho"
89
- Er = "Er"
90
- Tm = "Tm"
91
- Yb = "Yb"
92
- Lu = "Lu"
93
- Hf = "Hf"
94
- Ta = "Ta"
95
- W = "W"
96
- Re = "Re"
97
- Os = "Os"
98
- Ir = "Ir"
99
- Pt = "Pt"
100
- Au = "Au"
101
- Hg = "Hg"
102
- Tl = "Tl"
103
- Pb = "Pb"
104
- Bi = "Bi"
105
- Po = "Po"
106
- At = "At"
107
- Rn = "Rn"
108
- Fr = "Fr"
109
- Ra = "Ra"
110
- Ac = "Ac"
111
- Th = "Th"
112
- Pa = "Pa"
113
- U = "U"
114
- Np = "Np"
115
- Pu = "Pu"
116
- Am = "Am"
117
- Cm = "Cm"
118
- Bk = "Bk"
119
- Cf = "Cf"
120
- Es = "Es"
121
- Fm = "Fm"
122
- Md = "Md"
123
- No = "No"
124
- Lr = "Lr"
125
- Rf = "Rf"
126
- Db = "Db"
127
- Sg = "Sg"
128
- Bh = "Bh"
129
- Hs = "Hs"
130
- Mt = "Mt"
131
- Ds = "Ds"
132
- Rg = "Rg"
133
- Cn = "Cn"
134
- Nh = "Nh"
135
- Fl = "Fl"
136
- Mc = "Mc"
137
- Lv = "Lv"
138
- Ts = "Ts"
139
- Og = "Og"
140
-
141
-
142
- class TerminationSchema(BaseModel):
143
- chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
144
- ..., title="Chemical Elements"
145
- )
146
- """
147
- Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')
148
- """
149
- space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
150
- """
151
- Space group symmetry designation for the termination
152
- """
153
-
154
-
155
- class Value(Enum):
156
- H = "H"
157
- He = "He"
158
- Li = "Li"
159
- Be = "Be"
160
- B = "B"
161
- C = "C"
162
- N = "N"
163
- O = "O"
164
- F = "F"
165
- Ne = "Ne"
166
- Na = "Na"
167
- Mg = "Mg"
168
- Al = "Al"
169
- Si = "Si"
170
- P = "P"
171
- S = "S"
172
- Cl = "Cl"
173
- Ar = "Ar"
174
- K = "K"
175
- Ca = "Ca"
176
- Sc = "Sc"
177
- Ti = "Ti"
178
- V = "V"
179
- Cr = "Cr"
180
- Mn = "Mn"
181
- Fe = "Fe"
182
- Co = "Co"
183
- Ni = "Ni"
184
- Cu = "Cu"
185
- Zn = "Zn"
186
- Ga = "Ga"
187
- Ge = "Ge"
188
- As = "As"
189
- Se = "Se"
190
- Br = "Br"
191
- Kr = "Kr"
192
- Rb = "Rb"
193
- Sr = "Sr"
194
- Y = "Y"
195
- Zr = "Zr"
196
- Nb = "Nb"
197
- Mo = "Mo"
198
- Tc = "Tc"
199
- Ru = "Ru"
200
- Rh = "Rh"
201
- Pd = "Pd"
202
- Ag = "Ag"
203
- Cd = "Cd"
204
- In = "In"
205
- Sn = "Sn"
206
- Sb = "Sb"
207
- Te = "Te"
208
- I = "I"
209
- Xe = "Xe"
210
- Cs = "Cs"
211
- Ba = "Ba"
212
- La = "La"
213
- Ce = "Ce"
214
- Pr = "Pr"
215
- Nd = "Nd"
216
- Pm = "Pm"
217
- Sm = "Sm"
218
- Eu = "Eu"
219
- Gd = "Gd"
220
- Tb = "Tb"
221
- Dy = "Dy"
222
- Ho = "Ho"
223
- Er = "Er"
224
- Tm = "Tm"
225
- Yb = "Yb"
226
- Lu = "Lu"
227
- Hf = "Hf"
228
- Ta = "Ta"
229
- W = "W"
230
- Re = "Re"
231
- Os = "Os"
232
- Ir = "Ir"
233
- Pt = "Pt"
234
- Au = "Au"
235
- Hg = "Hg"
236
- Tl = "Tl"
237
- Pb = "Pb"
238
- Bi = "Bi"
239
- Po = "Po"
240
- At = "At"
241
- Rn = "Rn"
242
- Fr = "Fr"
243
- Ra = "Ra"
244
- Ac = "Ac"
245
- Th = "Th"
246
- Pa = "Pa"
247
- U = "U"
248
- Np = "Np"
249
- Pu = "Pu"
250
- Am = "Am"
251
- Cm = "Cm"
252
- Bk = "Bk"
253
- Cf = "Cf"
254
- Es = "Es"
255
- Fm = "Fm"
256
- Md = "Md"
257
- No = "No"
258
- Lr = "Lr"
259
- Rf = "Rf"
260
- Db = "Db"
261
- Sg = "Sg"
262
- Bh = "Bh"
263
- Hs = "Hs"
264
- Mt = "Mt"
265
- Ds = "Ds"
266
- Rg = "Rg"
267
- Cn = "Cn"
268
- Nh = "Nh"
269
- Fl = "Fl"
270
- Mc = "Mc"
271
- Lv = "Lv"
272
- Ts = "Ts"
273
- Og = "Og"
274
-
275
-
276
- class Value185(Enum):
277
- X = "X"
278
- Vac = "Vac"
279
-
280
-
281
- class AtomicElementSchema(BaseModel):
282
- value: Union[Value, Value185]
283
- """
284
- All elements, including extra elements
285
- """
286
- id: int
287
- """
288
- integer id of this entry
289
- """
290
-
291
-
292
- class AtomicCoordinateSchema(BaseModel):
293
- value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
294
- """
295
- value of this entry
296
- """
297
- id: int
298
- """
299
- integer id of this entry
300
- """
301
-
302
-
303
- class BasisUnitsEnum(Enum):
304
- crystal = "crystal"
305
- cartesian = "cartesian"
306
-
307
-
308
- class AtomicLabelSchema(BaseModel):
309
- value: Union[Union[int, str, float], conint(ge=1, le=9)]
310
- """
311
- value of this entry
312
- """
313
- id: int
314
- """
315
- integer id of this entry
316
- """
317
-
318
-
319
- class BasisSchema(BaseModel):
320
- elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema")
321
- """
322
- atomic elements schema
323
- """
324
- coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
325
- """
326
- atomic coordinates schema
327
- """
328
- units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
329
- labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
330
- """
331
- atomic labels schema
332
- """
333
-
334
-
335
- class LatticeVectorsUnitsEnum(Enum):
336
- angstrom = "angstrom"
337
- bohr = "bohr"
338
-
339
-
340
- class LatticeVectorsSchema(BaseModel):
341
- a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
342
- b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
343
- c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
344
- alat: Optional[float] = 1
345
- """
346
- lattice parameter for fractional coordinates
347
- """
348
- units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
349
-
350
-
351
- class LatticeTypeEnum(Enum):
352
- CUB = "CUB"
353
- BCC = "BCC"
354
- FCC = "FCC"
355
- TET = "TET"
356
- MCL = "MCL"
357
- ORC = "ORC"
358
- ORCC = "ORCC"
359
- ORCF = "ORCF"
360
- ORCI = "ORCI"
361
- HEX = "HEX"
362
- BCT = "BCT"
363
- TRI = "TRI"
364
- MCLC = "MCLC"
365
- RHL = "RHL"
366
-
367
-
368
- class LatticeUnitsLengthEnum(Enum):
369
- angstrom = "angstrom"
370
- bohr = "bohr"
371
-
372
-
373
- class LatticeUnitsAngleEnum(Enum):
374
- degree = "degree"
375
- radian = "radian"
376
-
377
-
378
- class LatticeUnitsSchema(BaseModel):
379
- length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
380
- angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
381
-
382
-
383
- class LatticeSchema(BaseModel):
384
- a: float
385
- """
386
- length of the first lattice vector
387
- """
388
- b: float
389
- """
390
- length of the second lattice vector
391
- """
392
- c: float
393
- """
394
- length of the third lattice vector
395
- """
396
- alpha: float
397
- """
398
- angle between first and second lattice vector
399
- """
400
- beta: float
401
- """
402
- angle between second and third lattice vector
403
- """
404
- gamma: float
405
- """
406
- angle between first and third lattice vector
407
- """
408
- vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema")
409
- type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
410
- units: Optional[LatticeUnitsSchema] = Field(
411
- default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}),
412
- title="Lattice units schema",
413
- )
414
-
415
-
416
- class Name(Enum):
417
- volume = "volume"
418
-
419
-
420
- class Units(Enum):
421
- angstrom_3 = "angstrom^3"
422
-
423
-
424
- class VolumeSchema(BaseModel):
425
- name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
426
- units: Optional[Units] = None
427
- value: float
428
-
429
-
430
- class Name741(Enum):
431
- density = "density"
432
-
433
-
434
- class Units300(Enum):
435
- g_cm_3 = "g/cm^3"
436
-
437
-
438
- class DensitySchema(BaseModel):
439
- name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
440
- units: Optional[Units300] = None
441
- value: float
442
-
443
-
444
- class Units301(Enum):
445
- angstrom = "angstrom"
446
-
447
-
448
- class ScalarSchema(BaseModel):
449
- units: Optional[Units301] = None
450
- value: float
451
-
452
-
453
- class Name742(Enum):
454
- symmetry = "symmetry"
455
-
456
-
457
- class SymmetrySchema(BaseModel):
458
- pointGroupSymbol: Optional[str] = None
459
- """
460
- point group symbol in Schoenflies notation
461
- """
462
- spaceGroupSymbol: Optional[str] = None
463
- """
464
- space group symbol in Hermann–Mauguin notation
465
- """
466
- tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema")
467
- """
468
- tolerance used for symmetry calculation
469
- """
470
- name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
471
-
472
-
473
- class Name743(Enum):
474
- elemental_ratio = "elemental_ratio"
475
-
476
-
477
- class ElementalRatio(BaseModel):
478
- name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
479
- value: confloat(ge=0.0, le=1.0)
480
- element: Optional[str] = None
481
- """
482
- the element this ratio is for
483
- """
484
-
485
-
486
- class Name744(Enum):
487
- p_norm = "p-norm"
488
-
489
-
490
- class PNorm(BaseModel):
491
- name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
492
- degree: Optional[int] = None
493
- """
494
- degree of the dimensionality of the norm
495
- """
496
- value: float
497
-
498
-
499
- class Name745(Enum):
500
- inchi = "inchi"
501
-
502
-
503
- class InChIRepresentationSchema(BaseModel):
504
- name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
505
- value: str
506
-
507
-
508
- class Name746(Enum):
509
- inchi_key = "inchi_key"
510
-
511
-
512
- class InChIKeyRepresentationSchema(BaseModel):
513
- name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
514
- value: str
515
-
516
-
517
- class DerivedPropertiesSchema(
518
- RootModel[
519
- Union[
520
- VolumeSchema,
521
- DensitySchema,
522
- SymmetrySchema,
523
- ElementalRatio,
524
- PNorm,
525
- InChIRepresentationSchema,
526
- InChIKeyRepresentationSchema,
527
- ]
528
- ]
529
- ):
530
- root: Union[
531
- VolumeSchema,
532
- DensitySchema,
533
- SymmetrySchema,
534
- ElementalRatio,
535
- PNorm,
536
- InChIRepresentationSchema,
537
- InChIKeyRepresentationSchema,
538
- ] = Field(..., discriminator="name")
539
-
540
-
541
- class DatabaseSourceSchema(BaseModel):
542
- id: Union[str, float]
543
- """
544
- 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
545
- """
546
- source: str
547
- """
548
- Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.
549
- """
550
- origin: bool
551
- """
552
- 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).
553
- """
554
- data: Optional[Dict[str, Any]] = None
555
- """
556
- Original response from external source.
557
- """
558
- doi: Optional[str] = None
559
- """
560
- Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506
561
- """
562
- url: Optional[str] = None
563
- """
564
- 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
565
- """
566
-
567
-
568
- class FileSourceSchema(BaseModel):
569
- extension: Optional[str] = None
570
- """
571
- file extension
572
- """
573
- filename: str
574
- """
575
- file name without extension
576
- """
577
- text: str
578
- """
579
- file content as raw text
580
- """
581
- hash: str
582
- """
583
- MD5 hash based on file content
584
- """
585
-
586
-
587
- class Name747(Enum):
588
- default = "default"
589
- atomsTooClose = "atomsTooClose"
590
- atomsOverlap = "atomsOverlap"
591
-
592
-
593
- class Severity(Enum):
594
- info = "info"
595
- warning = "warning"
596
- error = "error"
597
-
598
-
599
- class MaterialConsistencyCheckSchema(BaseModel):
600
- name: Name747
601
- """
602
- Name of the consistency check that is performed, which is listed in an enum.
603
- """
604
- key: str
605
- """
606
- Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
607
- """
608
- severity: Severity
609
- """
610
- Severity level of the problem, which is used in UI to differentiate.
611
- """
612
- message: str
613
- """
614
- Message generated by the consistency check describing the problem.
615
- """
616
-
617
-
618
- class CrystalSchema(BaseModel):
619
- formula: Optional[str] = None
620
- """
621
- reduced chemical formula
622
- """
623
- unitCellFormula: Optional[str] = None
624
- """
625
- chemical formula based on the number of atoms of each element in the supercell
626
- """
627
- basis: BasisSchema = Field(..., title="basis schema")
628
- lattice: LatticeSchema = Field(..., title="lattice schema")
629
- derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema")
630
- external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
631
- """
632
- information about a database source
633
- """
634
- src: Optional[FileSourceSchema] = Field(None, title="file source schema")
635
- """
636
- file source with the information inside
637
- """
638
- scaledHash: Optional[str] = None
639
- """
640
- Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
641
- """
642
- icsdId: Optional[int] = None
643
- """
644
- Corresponding ICSD id of the material
645
- """
646
- isNonPeriodic: Optional[bool] = None
647
- """
648
- Whether to work in the finite molecular picture (usually with atomic orbital basis)
649
- """
650
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None
651
- field_id: Optional[str] = Field(None, alias="_id")
652
- """
653
- entity identity
654
- """
655
- slug: Optional[str] = None
656
- """
657
- entity slug
658
- """
659
- systemName: Optional[str] = None
660
- schemaVersion: Optional[str] = "2022.8.16"
661
- """
662
- entity's schema version. Used to distinct between different schemas.
663
- """
664
- name: Optional[str] = None
665
- """
666
- entity name
667
- """
668
- isDefault: Optional[bool] = False
669
- """
670
- Identifies that entity is defaultable
671
- """
672
- metadata: Optional[Dict[str, Any]] = None
673
-
674
-
675
- class AtomicLayersUniqueRepeatedSchema(BaseModel):
676
- termination_top: TerminationSchema = Field(..., title="Termination Schema")
677
- """
678
- Defines a specific termination of a slab
679
- """
680
- number_of_repetitions: conint(ge=1)
681
- """
682
- Number of repetitions of the unique atomic layers
683
- """
684
- miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
685
- """
686
- Miller indices [h, k, l] defining crystallographic planes
687
- """
688
- crystal: CrystalSchema = Field(..., title="Crystal Schema")
689
- """
690
- A crystal structure, referencing the base material schema
691
- """
692
- use_conventional_cell: Optional[bool] = True
693
- """
694
- Use the conventional cell for the crystal structure
695
- """
696
-
697
-
698
- class AxisEnum(Enum):
699
- x = "x"
700
- y = "y"
701
- z = "z"
702
-
703
-
704
- class Value186(Enum):
705
- H = "H"
706
- He = "He"
707
- Li = "Li"
708
- Be = "Be"
709
- B = "B"
710
- C = "C"
711
- N = "N"
712
- O = "O"
713
- F = "F"
714
- Ne = "Ne"
715
- Na = "Na"
716
- Mg = "Mg"
717
- Al = "Al"
718
- Si = "Si"
719
- P = "P"
720
- S = "S"
721
- Cl = "Cl"
722
- Ar = "Ar"
723
- K = "K"
724
- Ca = "Ca"
725
- Sc = "Sc"
726
- Ti = "Ti"
727
- V = "V"
728
- Cr = "Cr"
729
- Mn = "Mn"
730
- Fe = "Fe"
731
- Co = "Co"
732
- Ni = "Ni"
733
- Cu = "Cu"
734
- Zn = "Zn"
735
- Ga = "Ga"
736
- Ge = "Ge"
737
- As = "As"
738
- Se = "Se"
739
- Br = "Br"
740
- Kr = "Kr"
741
- Rb = "Rb"
742
- Sr = "Sr"
743
- Y = "Y"
744
- Zr = "Zr"
745
- Nb = "Nb"
746
- Mo = "Mo"
747
- Tc = "Tc"
748
- Ru = "Ru"
749
- Rh = "Rh"
750
- Pd = "Pd"
751
- Ag = "Ag"
752
- Cd = "Cd"
753
- In = "In"
754
- Sn = "Sn"
755
- Sb = "Sb"
756
- Te = "Te"
757
- I = "I"
758
- Xe = "Xe"
759
- Cs = "Cs"
760
- Ba = "Ba"
761
- La = "La"
762
- Ce = "Ce"
763
- Pr = "Pr"
764
- Nd = "Nd"
765
- Pm = "Pm"
766
- Sm = "Sm"
767
- Eu = "Eu"
768
- Gd = "Gd"
769
- Tb = "Tb"
770
- Dy = "Dy"
771
- Ho = "Ho"
772
- Er = "Er"
773
- Tm = "Tm"
774
- Yb = "Yb"
775
- Lu = "Lu"
776
- Hf = "Hf"
777
- Ta = "Ta"
778
- W = "W"
779
- Re = "Re"
780
- Os = "Os"
781
- Ir = "Ir"
782
- Pt = "Pt"
783
- Au = "Au"
784
- Hg = "Hg"
785
- Tl = "Tl"
786
- Pb = "Pb"
787
- Bi = "Bi"
788
- Po = "Po"
789
- At = "At"
790
- Rn = "Rn"
791
- Fr = "Fr"
792
- Ra = "Ra"
793
- Ac = "Ac"
794
- Th = "Th"
795
- Pa = "Pa"
796
- U = "U"
797
- Np = "Np"
798
- Pu = "Pu"
799
- Am = "Am"
800
- Cm = "Cm"
801
- Bk = "Bk"
802
- Cf = "Cf"
803
- Es = "Es"
804
- Fm = "Fm"
805
- Md = "Md"
806
- No = "No"
807
- Lr = "Lr"
808
- Rf = "Rf"
809
- Db = "Db"
810
- Sg = "Sg"
811
- Bh = "Bh"
812
- Hs = "Hs"
813
- Mt = "Mt"
814
- Ds = "Ds"
815
- Rg = "Rg"
816
- Cn = "Cn"
817
- Nh = "Nh"
818
- Fl = "Fl"
819
- Mc = "Mc"
820
- Lv = "Lv"
821
- Ts = "Ts"
822
- Og = "Og"
823
-
824
-
825
- class Value187(Enum):
826
- X = "X"
827
- Vac = "Vac"
828
-
829
-
830
- class AtomicElementSchema89(BaseModel):
831
- value: Union[Value186, Value187]
832
- """
833
- All elements, including extra elements
834
- """
835
- id: int
836
- """
837
- integer id of this entry
838
- """
839
-
840
-
841
- class BasisSchema87(BaseModel):
842
- elements: List[AtomicElementSchema89] = Field(..., title="atomic elements schema")
843
- """
844
- atomic elements schema
845
- """
846
- coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
847
- """
848
- atomic coordinates schema
849
- """
850
- units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
851
- labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
852
- """
853
- atomic labels schema
854
- """
855
-
856
-
857
- class LatticeVectorsSchema87(BaseModel):
858
- a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
859
- b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
860
- c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
861
- alat: Optional[float] = 1
862
- """
863
- lattice parameter for fractional coordinates
864
- """
865
- units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
866
-
867
-
868
- class LatticeUnitsSchema88(BaseModel):
869
- length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
870
- angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
871
-
872
-
873
- class LatticeSchema87(BaseModel):
874
- a: float
875
- """
876
- length of the first lattice vector
877
- """
878
- b: float
879
- """
880
- length of the second lattice vector
881
- """
882
- c: float
883
- """
884
- length of the third lattice vector
885
- """
886
- alpha: float
887
- """
888
- angle between first and second lattice vector
889
- """
890
- beta: float
891
- """
892
- angle between second and third lattice vector
893
- """
894
- gamma: float
895
- """
896
- angle between first and third lattice vector
897
- """
898
- vectors: Optional[LatticeVectorsSchema87] = Field(None, title="lattice vectors schema")
899
- type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
900
- units: Optional[LatticeUnitsSchema88] = Field(
901
- default_factory=lambda: LatticeUnitsSchema88.model_validate({"length": "angstrom", "angle": "degree"}),
902
- title="Lattice units schema",
903
- )
904
-
905
-
906
- class Name748(Enum):
907
- volume = "volume"
908
-
909
-
910
- class Units302(Enum):
911
- angstrom_3 = "angstrom^3"
912
-
913
-
914
- class VolumeSchema87(BaseModel):
915
- name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
916
- units: Optional[Units302] = None
917
- value: float
918
-
919
-
920
- class Name749(Enum):
921
- density = "density"
922
-
923
-
924
- class Units303(Enum):
925
- g_cm_3 = "g/cm^3"
926
-
927
-
928
- class DensitySchema88(BaseModel):
929
- name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
930
- units: Optional[Units303] = None
931
- value: float
932
-
933
-
934
- class Units304(Enum):
935
- angstrom = "angstrom"
936
-
937
-
938
- class ScalarSchema89(BaseModel):
939
- units: Optional[Units304] = None
940
- value: float
941
-
942
-
943
- class Name750(Enum):
944
- symmetry = "symmetry"
945
-
946
-
947
- class SymmetrySchema87(BaseModel):
948
- pointGroupSymbol: Optional[str] = None
949
- """
950
- point group symbol in Schoenflies notation
951
- """
952
- spaceGroupSymbol: Optional[str] = None
953
- """
954
- space group symbol in Hermann–Mauguin notation
955
- """
956
- tolerance: Optional[ScalarSchema89] = Field(None, title="scalar schema")
957
- """
958
- tolerance used for symmetry calculation
959
- """
960
- name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
961
-
962
-
963
- class Name751(Enum):
964
- elemental_ratio = "elemental_ratio"
965
-
966
-
967
- class ElementalRatio88(BaseModel):
968
- name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
969
- value: confloat(ge=0.0, le=1.0)
970
- element: Optional[str] = None
971
- """
972
- the element this ratio is for
973
- """
974
-
975
-
976
- class Name752(Enum):
977
- p_norm = "p-norm"
978
-
979
-
980
- class PNorm88(BaseModel):
981
- name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
982
- degree: Optional[int] = None
983
- """
984
- degree of the dimensionality of the norm
985
- """
986
- value: float
987
-
988
-
989
- class Name753(Enum):
990
- inchi = "inchi"
991
-
992
-
993
- class InChIRepresentationSchema88(BaseModel):
994
- name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
995
- value: str
996
-
997
-
998
- class Name754(Enum):
999
- inchi_key = "inchi_key"
1000
-
1001
-
1002
- class InChIKeyRepresentationSchema88(BaseModel):
1003
- name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1004
- value: str
1005
-
1006
-
1007
- class DerivedPropertiesSchema88(
1008
- RootModel[
1009
- Union[
1010
- VolumeSchema87,
1011
- DensitySchema88,
1012
- SymmetrySchema87,
1013
- ElementalRatio88,
1014
- PNorm88,
1015
- InChIRepresentationSchema88,
1016
- InChIKeyRepresentationSchema88,
1017
- ]
1018
- ]
1019
- ):
1020
- root: Union[
1021
- VolumeSchema87,
1022
- DensitySchema88,
1023
- SymmetrySchema87,
1024
- ElementalRatio88,
1025
- PNorm88,
1026
- InChIRepresentationSchema88,
1027
- InChIKeyRepresentationSchema88,
1028
- ] = Field(..., discriminator="name")
1029
-
1030
-
1031
- class Name755(Enum):
1032
- default = "default"
1033
- atomsTooClose = "atomsTooClose"
1034
- atomsOverlap = "atomsOverlap"
1035
-
1036
-
1037
- class MaterialConsistencyCheckSchema87(BaseModel):
1038
- name: Name755
1039
- """
1040
- Name of the consistency check that is performed, which is listed in an enum.
1041
- """
1042
- key: str
1043
- """
1044
- Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
1045
- """
1046
- severity: Severity
1047
- """
1048
- Severity level of the problem, which is used in UI to differentiate.
1049
- """
1050
- message: str
1051
- """
1052
- Message generated by the consistency check describing the problem.
1053
- """
1054
-
1055
-
1056
- class CrystalSchema82(BaseModel):
1057
- formula: Optional[str] = None
1058
- """
1059
- reduced chemical formula
1060
- """
1061
- unitCellFormula: Optional[str] = None
1062
- """
1063
- chemical formula based on the number of atoms of each element in the supercell
1064
- """
1065
- basis: BasisSchema87 = Field(..., title="basis schema")
1066
- lattice: LatticeSchema87 = Field(..., title="lattice schema")
1067
- derivedProperties: Optional[List[DerivedPropertiesSchema88]] = Field(None, title="derived properties schema")
1068
- external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
1069
- """
1070
- information about a database source
1071
- """
1072
- src: Optional[FileSourceSchema] = Field(None, title="file source schema")
1073
- """
1074
- file source with the information inside
1075
- """
1076
- scaledHash: Optional[str] = None
1077
- """
1078
- Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
1079
- """
1080
- icsdId: Optional[int] = None
1081
- """
1082
- Corresponding ICSD id of the material
1083
- """
1084
- isNonPeriodic: Optional[bool] = None
1085
- """
1086
- Whether to work in the finite molecular picture (usually with atomic orbital basis)
1087
- """
1088
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema87]] = None
1089
- field_id: Optional[str] = Field(None, alias="_id")
1090
- """
1091
- entity identity
1092
- """
1093
- slug: Optional[str] = None
1094
- """
1095
- entity slug
1096
- """
1097
- systemName: Optional[str] = None
1098
- schemaVersion: Optional[str] = "2022.8.16"
1099
- """
1100
- entity's schema version. Used to distinct between different schemas.
1101
- """
1102
- name: Optional[str] = None
1103
- """
1104
- entity name
1105
- """
1106
- isDefault: Optional[bool] = False
1107
- """
1108
- Identifies that entity is defaultable
1109
- """
1110
- metadata: Optional[Dict[str, Any]] = None
1111
-
1112
-
1113
- class VacuumConfigurationSchema(BaseModel):
1114
- direction: AxisEnum = Field(..., title="Axis Enum")
1115
- """
1116
- Enum for axis types
1117
- """
1118
- size: Optional[confloat(ge=0.0)] = 10
1119
- """
1120
- Size of the vacuum slab in angstroms
1121
- """
1122
- crystal: CrystalSchema82 = Field(..., title="Crystal Schema")
1123
- """
1124
- A crystal structure, referencing the base material schema
1125
- """
1126
-
1127
-
1128
- class SlabStrainedSupercellWithGapConfigurationSchema(BaseModel):
1129
- gap: Optional[confloat(ge=0.0)] = None
1130
- """
1131
- If provided, the film is shifted to have it as smallest distance to the substrate
1132
- """
1133
- xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
1134
- default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
1135
- max_length=2,
1136
- min_length=2,
1137
- title="Supercell Matrix 2D Schema",
1138
- )
1139
- """
1140
- Supercell matrix for xy plane transformations
1141
- """
1142
- strain_matrix: List[ArrayOf3NumberElementsSchema] = Field(
1143
- ..., max_length=3, min_length=3, title="matrix 3x3 schema"
1144
- )
1145
- stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field(
1146
- ..., max_length=2, min_length=2
1147
- )
1148
- direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
1149
- """
1150
- Enum for axis types
1151
- """