mat3ra-esse 2025.7.15.post0__py3-none-any.whl → 2025.7.29.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 (85) 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/abstract/vector_2d.py +13 -0
  5. mat3ra/esse/models/core/primitive/array_of_2_numbers.py +13 -0
  6. mat3ra/esse/models/core/reusable/energy.py +2 -2
  7. mat3ra/esse/models/element.py +6 -6
  8. mat3ra/esse/models/material/__init__.py +14 -14
  9. mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/__init__.py +3 -0
  10. mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py +6039 -0
  11. mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/__init__.py +3 -0
  12. mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py +6043 -0
  13. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/__init__.py +3 -0
  14. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/__init__.py +3 -0
  15. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/configuration.py +2116 -0
  16. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/base_configuration.py +1561 -0
  17. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/__init__.py +3 -0
  18. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py +6039 -0
  19. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/__init__.py +3 -0
  20. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/configuration.py +2888 -0
  21. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/__init__.py +3 -0
  22. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/configuration.py +2892 -0
  23. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/__init__.py +3 -0
  24. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.py +544 -0
  25. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py +1099 -0
  26. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py +1099 -0
  27. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py +556 -0
  28. mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/ideal_crystal.py +14 -14
  29. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanoribbon.py +1582 -0
  30. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanotape.py +1148 -0
  31. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +78 -94
  32. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py +1147 -0
  33. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py +1151 -0
  34. mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/__init__.py +3 -0
  35. mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/configuration.py +1232 -0
  36. mat3ra/esse/models/materials_category_components/entities/auxiliary/one_dimensional/__init__.py +3 -0
  37. mat3ra/esse/models/materials_category_components/entities/auxiliary/one_dimensional/miller_indices_2d.py +16 -0
  38. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py +527 -2
  39. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py +676 -0
  40. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py +555 -0
  41. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_site.py +1576 -0
  42. mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/crystal.py +14 -14
  43. mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +14 -14
  44. mat3ra/esse/models/materials_category_components/entities/core/zero_dimensional/vacancy.py +22 -0
  45. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/__init__.py +3 -0
  46. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_base.py +541 -0
  47. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py +545 -0
  48. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py +708 -0
  49. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py +541 -0
  50. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +14 -14
  51. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py +14 -14
  52. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py +14 -14
  53. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py +4 -4
  54. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py +4 -4
  55. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py +4 -4
  56. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py +18 -18
  57. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py +1561 -0
  58. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py +74 -77
  59. mat3ra/esse/models/materials_category_components/operations/core/combinations/enums.py +13 -0
  60. mat3ra/esse/models/materials_category_components/operations/core/combinations/merge.py +9 -981
  61. mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +3 -947
  62. mat3ra/esse/models/materials_category_components/operations/core/modifications/perturb.py +538 -0
  63. mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
  64. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
  65. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
  66. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
  67. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
  68. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
  69. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
  70. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
  71. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
  72. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
  73. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
  74. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
  75. mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
  76. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
  77. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
  78. mat3ra/esse/models/properties_directory/structural/basis/__init__.py +2 -2
  79. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
  80. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
  81. {mat3ra_esse-2025.7.15.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/METADATA +1 -1
  82. {mat3ra_esse-2025.7.15.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/RECORD +85 -44
  83. {mat3ra_esse-2025.7.15.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/WHEEL +0 -0
  84. {mat3ra_esse-2025.7.15.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/licenses/LICENSE.md +0 -0
  85. {mat3ra_esse-2025.7.15.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,556 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: materials_category/defective_structures/zero_dimensional/point_defect/vacancy.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 Value(Enum):
14
+ H = "H"
15
+ He = "He"
16
+ Li = "Li"
17
+ Be = "Be"
18
+ B = "B"
19
+ C = "C"
20
+ N = "N"
21
+ O = "O"
22
+ F = "F"
23
+ Ne = "Ne"
24
+ Na = "Na"
25
+ Mg = "Mg"
26
+ Al = "Al"
27
+ Si = "Si"
28
+ P = "P"
29
+ S = "S"
30
+ Cl = "Cl"
31
+ Ar = "Ar"
32
+ K = "K"
33
+ Ca = "Ca"
34
+ Sc = "Sc"
35
+ Ti = "Ti"
36
+ V = "V"
37
+ Cr = "Cr"
38
+ Mn = "Mn"
39
+ Fe = "Fe"
40
+ Co = "Co"
41
+ Ni = "Ni"
42
+ Cu = "Cu"
43
+ Zn = "Zn"
44
+ Ga = "Ga"
45
+ Ge = "Ge"
46
+ As = "As"
47
+ Se = "Se"
48
+ Br = "Br"
49
+ Kr = "Kr"
50
+ Rb = "Rb"
51
+ Sr = "Sr"
52
+ Y = "Y"
53
+ Zr = "Zr"
54
+ Nb = "Nb"
55
+ Mo = "Mo"
56
+ Tc = "Tc"
57
+ Ru = "Ru"
58
+ Rh = "Rh"
59
+ Pd = "Pd"
60
+ Ag = "Ag"
61
+ Cd = "Cd"
62
+ In = "In"
63
+ Sn = "Sn"
64
+ Sb = "Sb"
65
+ Te = "Te"
66
+ I = "I"
67
+ Xe = "Xe"
68
+ Cs = "Cs"
69
+ Ba = "Ba"
70
+ La = "La"
71
+ Ce = "Ce"
72
+ Pr = "Pr"
73
+ Nd = "Nd"
74
+ Pm = "Pm"
75
+ Sm = "Sm"
76
+ Eu = "Eu"
77
+ Gd = "Gd"
78
+ Tb = "Tb"
79
+ Dy = "Dy"
80
+ Ho = "Ho"
81
+ Er = "Er"
82
+ Tm = "Tm"
83
+ Yb = "Yb"
84
+ Lu = "Lu"
85
+ Hf = "Hf"
86
+ Ta = "Ta"
87
+ W = "W"
88
+ Re = "Re"
89
+ Os = "Os"
90
+ Ir = "Ir"
91
+ Pt = "Pt"
92
+ Au = "Au"
93
+ Hg = "Hg"
94
+ Tl = "Tl"
95
+ Pb = "Pb"
96
+ Bi = "Bi"
97
+ Po = "Po"
98
+ At = "At"
99
+ Rn = "Rn"
100
+ Fr = "Fr"
101
+ Ra = "Ra"
102
+ Ac = "Ac"
103
+ Th = "Th"
104
+ Pa = "Pa"
105
+ U = "U"
106
+ Np = "Np"
107
+ Pu = "Pu"
108
+ Am = "Am"
109
+ Cm = "Cm"
110
+ Bk = "Bk"
111
+ Cf = "Cf"
112
+ Es = "Es"
113
+ Fm = "Fm"
114
+ Md = "Md"
115
+ No = "No"
116
+ Lr = "Lr"
117
+ Rf = "Rf"
118
+ Db = "Db"
119
+ Sg = "Sg"
120
+ Bh = "Bh"
121
+ Hs = "Hs"
122
+ Mt = "Mt"
123
+ Ds = "Ds"
124
+ Rg = "Rg"
125
+ Cn = "Cn"
126
+ Nh = "Nh"
127
+ Fl = "Fl"
128
+ Mc = "Mc"
129
+ Lv = "Lv"
130
+ Ts = "Ts"
131
+ Og = "Og"
132
+
133
+
134
+ class Value199(Enum):
135
+ X = "X"
136
+ Vac = "Vac"
137
+
138
+
139
+ class AtomicElementSchema(BaseModel):
140
+ value: Union[Value, Value199]
141
+ """
142
+ All elements, including extra elements
143
+ """
144
+ id: int
145
+ """
146
+ integer id of this entry
147
+ """
148
+
149
+
150
+ class AtomicCoordinateSchema(BaseModel):
151
+ value: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
152
+ """
153
+ value of this entry
154
+ """
155
+ id: int
156
+ """
157
+ integer id of this entry
158
+ """
159
+
160
+
161
+ class BasisUnitsEnum(Enum):
162
+ crystal = "crystal"
163
+ cartesian = "cartesian"
164
+
165
+
166
+ class AtomicLabelSchema(BaseModel):
167
+ value: Union[Union[int, str, float], conint(ge=1, le=9)]
168
+ """
169
+ value of this entry
170
+ """
171
+ id: int
172
+ """
173
+ integer id of this entry
174
+ """
175
+
176
+
177
+ class BasisSchema(BaseModel):
178
+ elements: List[AtomicElementSchema] = Field(..., title="atomic elements schema")
179
+ """
180
+ atomic elements schema
181
+ """
182
+ coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
183
+ """
184
+ atomic coordinates schema
185
+ """
186
+ units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
187
+ labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
188
+ """
189
+ atomic labels schema
190
+ """
191
+
192
+
193
+ class LatticeVectorsUnitsEnum(Enum):
194
+ angstrom = "angstrom"
195
+ bohr = "bohr"
196
+
197
+
198
+ class LatticeVectorsSchema(BaseModel):
199
+ a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
200
+ b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
201
+ c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
202
+ alat: Optional[float] = 1
203
+ """
204
+ lattice parameter for fractional coordinates
205
+ """
206
+ units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
207
+
208
+
209
+ class LatticeTypeEnum(Enum):
210
+ CUB = "CUB"
211
+ BCC = "BCC"
212
+ FCC = "FCC"
213
+ TET = "TET"
214
+ MCL = "MCL"
215
+ ORC = "ORC"
216
+ ORCC = "ORCC"
217
+ ORCF = "ORCF"
218
+ ORCI = "ORCI"
219
+ HEX = "HEX"
220
+ BCT = "BCT"
221
+ TRI = "TRI"
222
+ MCLC = "MCLC"
223
+ RHL = "RHL"
224
+
225
+
226
+ class LatticeUnitsLengthEnum(Enum):
227
+ angstrom = "angstrom"
228
+ bohr = "bohr"
229
+
230
+
231
+ class LatticeUnitsAngleEnum(Enum):
232
+ degree = "degree"
233
+ radian = "radian"
234
+
235
+
236
+ class LatticeUnitsSchema(BaseModel):
237
+ length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
238
+ angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
239
+
240
+
241
+ class LatticeSchema(BaseModel):
242
+ a: float
243
+ """
244
+ length of the first lattice vector
245
+ """
246
+ b: float
247
+ """
248
+ length of the second lattice vector
249
+ """
250
+ c: float
251
+ """
252
+ length of the third lattice vector
253
+ """
254
+ alpha: float
255
+ """
256
+ angle between first and second lattice vector
257
+ """
258
+ beta: float
259
+ """
260
+ angle between second and third lattice vector
261
+ """
262
+ gamma: float
263
+ """
264
+ angle between first and third lattice vector
265
+ """
266
+ vectors: Optional[LatticeVectorsSchema] = Field(None, title="lattice vectors schema")
267
+ type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
268
+ units: Optional[LatticeUnitsSchema] = Field(
269
+ default_factory=lambda: LatticeUnitsSchema.model_validate({"length": "angstrom", "angle": "degree"}),
270
+ title="Lattice units schema",
271
+ )
272
+
273
+
274
+ class Name(Enum):
275
+ volume = "volume"
276
+
277
+
278
+ class Units(Enum):
279
+ angstrom_3 = "angstrom^3"
280
+
281
+
282
+ class VolumeSchema(BaseModel):
283
+ name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
284
+ units: Optional[Units] = None
285
+ value: float
286
+
287
+
288
+ class Name817(Enum):
289
+ density = "density"
290
+
291
+
292
+ class Units329(Enum):
293
+ g_cm_3 = "g/cm^3"
294
+
295
+
296
+ class DensitySchema(BaseModel):
297
+ name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
298
+ units: Optional[Units329] = None
299
+ value: float
300
+
301
+
302
+ class Units330(Enum):
303
+ angstrom = "angstrom"
304
+
305
+
306
+ class ScalarSchema(BaseModel):
307
+ units: Optional[Units330] = None
308
+ value: float
309
+
310
+
311
+ class Name818(Enum):
312
+ symmetry = "symmetry"
313
+
314
+
315
+ class SymmetrySchema(BaseModel):
316
+ pointGroupSymbol: Optional[str] = None
317
+ """
318
+ point group symbol in Schoenflies notation
319
+ """
320
+ spaceGroupSymbol: Optional[str] = None
321
+ """
322
+ space group symbol in Hermann–Mauguin notation
323
+ """
324
+ tolerance: Optional[ScalarSchema] = Field(None, title="scalar schema")
325
+ """
326
+ tolerance used for symmetry calculation
327
+ """
328
+ name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
329
+
330
+
331
+ class Name819(Enum):
332
+ elemental_ratio = "elemental_ratio"
333
+
334
+
335
+ class ElementalRatio(BaseModel):
336
+ name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
337
+ value: confloat(ge=0.0, le=1.0)
338
+ element: Optional[str] = None
339
+ """
340
+ the element this ratio is for
341
+ """
342
+
343
+
344
+ class Name820(Enum):
345
+ p_norm = "p-norm"
346
+
347
+
348
+ class PNorm(BaseModel):
349
+ name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
350
+ degree: Optional[int] = None
351
+ """
352
+ degree of the dimensionality of the norm
353
+ """
354
+ value: float
355
+
356
+
357
+ class Name821(Enum):
358
+ inchi = "inchi"
359
+
360
+
361
+ class InChIRepresentationSchema(BaseModel):
362
+ name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
363
+ value: str
364
+
365
+
366
+ class Name822(Enum):
367
+ inchi_key = "inchi_key"
368
+
369
+
370
+ class InChIKeyRepresentationSchema(BaseModel):
371
+ name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
372
+ value: str
373
+
374
+
375
+ class DerivedPropertiesSchema(
376
+ RootModel[
377
+ Union[
378
+ VolumeSchema,
379
+ DensitySchema,
380
+ SymmetrySchema,
381
+ ElementalRatio,
382
+ PNorm,
383
+ InChIRepresentationSchema,
384
+ InChIKeyRepresentationSchema,
385
+ ]
386
+ ]
387
+ ):
388
+ root: Union[
389
+ VolumeSchema,
390
+ DensitySchema,
391
+ SymmetrySchema,
392
+ ElementalRatio,
393
+ PNorm,
394
+ InChIRepresentationSchema,
395
+ InChIKeyRepresentationSchema,
396
+ ] = Field(..., discriminator="name")
397
+
398
+
399
+ class DatabaseSourceSchema(BaseModel):
400
+ id: Union[str, float]
401
+ """
402
+ 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
403
+ """
404
+ source: str
405
+ """
406
+ Third party source name, e.g. materials project, 2dmatpedia, ICSD, etc.
407
+ """
408
+ origin: bool
409
+ """
410
+ 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).
411
+ """
412
+ data: Optional[Dict[str, Any]] = None
413
+ """
414
+ Original response from external source.
415
+ """
416
+ doi: Optional[str] = None
417
+ """
418
+ Digital Object Identifier, e.g. 10.1088/0953-8984/25/10/105506
419
+ """
420
+ url: Optional[str] = None
421
+ """
422
+ 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
423
+ """
424
+
425
+
426
+ class FileSourceSchema(BaseModel):
427
+ extension: Optional[str] = None
428
+ """
429
+ file extension
430
+ """
431
+ filename: str
432
+ """
433
+ file name without extension
434
+ """
435
+ text: str
436
+ """
437
+ file content as raw text
438
+ """
439
+ hash: str
440
+ """
441
+ MD5 hash based on file content
442
+ """
443
+
444
+
445
+ class Name823(Enum):
446
+ default = "default"
447
+ atomsTooClose = "atomsTooClose"
448
+ atomsOverlap = "atomsOverlap"
449
+
450
+
451
+ class Severity(Enum):
452
+ info = "info"
453
+ warning = "warning"
454
+ error = "error"
455
+
456
+
457
+ class MaterialConsistencyCheckSchema(BaseModel):
458
+ name: Name823
459
+ """
460
+ Name of the consistency check that is performed, which is listed in an enum.
461
+ """
462
+ key: str
463
+ """
464
+ Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
465
+ """
466
+ severity: Severity
467
+ """
468
+ Severity level of the problem, which is used in UI to differentiate.
469
+ """
470
+ message: str
471
+ """
472
+ Message generated by the consistency check describing the problem.
473
+ """
474
+
475
+
476
+ class CrystalSchema(BaseModel):
477
+ formula: Optional[str] = None
478
+ """
479
+ reduced chemical formula
480
+ """
481
+ unitCellFormula: Optional[str] = None
482
+ """
483
+ chemical formula based on the number of atoms of each element in the supercell
484
+ """
485
+ basis: BasisSchema = Field(..., title="basis schema")
486
+ lattice: LatticeSchema = Field(..., title="lattice schema")
487
+ derivedProperties: Optional[List[DerivedPropertiesSchema]] = Field(None, title="derived properties schema")
488
+ external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
489
+ """
490
+ information about a database source
491
+ """
492
+ src: Optional[FileSourceSchema] = Field(None, title="file source schema")
493
+ """
494
+ file source with the information inside
495
+ """
496
+ scaledHash: Optional[str] = None
497
+ """
498
+ Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
499
+ """
500
+ icsdId: Optional[int] = None
501
+ """
502
+ Corresponding ICSD id of the material
503
+ """
504
+ isNonPeriodic: Optional[bool] = None
505
+ """
506
+ Whether to work in the finite molecular picture (usually with atomic orbital basis)
507
+ """
508
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema]] = None
509
+ field_id: Optional[str] = Field(None, alias="_id")
510
+ """
511
+ entity identity
512
+ """
513
+ slug: Optional[str] = None
514
+ """
515
+ entity slug
516
+ """
517
+ systemName: Optional[str] = None
518
+ schemaVersion: Optional[str] = "2022.8.16"
519
+ """
520
+ entity's schema version. Used to distinct between different schemas.
521
+ """
522
+ name: Optional[str] = None
523
+ """
524
+ entity name
525
+ """
526
+ isDefault: Optional[bool] = False
527
+ """
528
+ Identifies that entity is defaultable
529
+ """
530
+ metadata: Optional[Dict[str, Any]] = None
531
+
532
+
533
+ class ChemicalElement(Enum):
534
+ X = "X"
535
+ Vac = "Vac"
536
+
537
+
538
+ class VacancySchema(BaseModel):
539
+ chemical_element: Optional[ChemicalElement] = "Vac"
540
+ """
541
+ Extra elements, used for convenience purposed
542
+ """
543
+
544
+
545
+ class MergeMethodsEnum(Enum):
546
+ ADD = "ADD"
547
+ REPLACE = "REPLACE"
548
+ YIELD = "YIELD"
549
+
550
+
551
+ class VacancyPointDefectSchema(BaseModel):
552
+ merge_components: List[Union[CrystalSchema, VacancySchema]] = Field(..., max_length=2, min_length=2)
553
+ merge_method: Optional[MergeMethodsEnum] = Field("REPLACE", title="Merge Methods Enum")
554
+ """
555
+ Available methods for merging components
556
+ """
@@ -131,13 +131,13 @@ class Value(Enum):
131
131
  Og = "Og"
132
132
 
133
133
 
134
- class Value20(Enum):
134
+ class Value144(Enum):
135
135
  X = "X"
136
136
  Vac = "Vac"
137
137
 
138
138
 
139
139
  class AtomicElementSchema(BaseModel):
140
- value: Union[Value, Value20]
140
+ value: Union[Value, Value144]
141
141
  """
142
142
  All elements, including extra elements
143
143
  """
@@ -285,30 +285,30 @@ class VolumeSchema(BaseModel):
285
285
  value: float
286
286
 
287
287
 
288
- class Name78(Enum):
288
+ class Name574(Enum):
289
289
  density = "density"
290
290
 
291
291
 
292
- class Units45(Enum):
292
+ class Units231(Enum):
293
293
  g_cm_3 = "g/cm^3"
294
294
 
295
295
 
296
296
  class DensitySchema(BaseModel):
297
297
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
298
- units: Optional[Units45] = None
298
+ units: Optional[Units231] = None
299
299
  value: float
300
300
 
301
301
 
302
- class Units46(Enum):
302
+ class Units232(Enum):
303
303
  angstrom = "angstrom"
304
304
 
305
305
 
306
306
  class ScalarSchema(BaseModel):
307
- units: Optional[Units46] = None
307
+ units: Optional[Units232] = None
308
308
  value: float
309
309
 
310
310
 
311
- class Name79(Enum):
311
+ class Name575(Enum):
312
312
  symmetry = "symmetry"
313
313
 
314
314
 
@@ -328,7 +328,7 @@ class SymmetrySchema(BaseModel):
328
328
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
329
329
 
330
330
 
331
- class Name80(Enum):
331
+ class Name576(Enum):
332
332
  elemental_ratio = "elemental_ratio"
333
333
 
334
334
 
@@ -341,7 +341,7 @@ class ElementalRatio(BaseModel):
341
341
  """
342
342
 
343
343
 
344
- class Name81(Enum):
344
+ class Name577(Enum):
345
345
  p_norm = "p-norm"
346
346
 
347
347
 
@@ -354,7 +354,7 @@ class PNorm(BaseModel):
354
354
  value: float
355
355
 
356
356
 
357
- class Name82(Enum):
357
+ class Name578(Enum):
358
358
  inchi = "inchi"
359
359
 
360
360
 
@@ -363,7 +363,7 @@ class InChIRepresentationSchema(BaseModel):
363
363
  value: str
364
364
 
365
365
 
366
- class Name83(Enum):
366
+ class Name579(Enum):
367
367
  inchi_key = "inchi_key"
368
368
 
369
369
 
@@ -442,7 +442,7 @@ class FileSourceSchema(BaseModel):
442
442
  """
443
443
 
444
444
 
445
- class Name84(Enum):
445
+ class Name580(Enum):
446
446
  default = "default"
447
447
  atomsTooClose = "atomsTooClose"
448
448
  atomsOverlap = "atomsOverlap"
@@ -455,7 +455,7 @@ class Severity(Enum):
455
455
 
456
456
 
457
457
  class MaterialConsistencyCheckSchema(BaseModel):
458
- name: Name84
458
+ name: Name580
459
459
  """
460
460
  Name of the consistency check that is performed, which is listed in an enum.
461
461
  """