mat3ra-esse 2025.5.17.post1__py3-none-any.whl → 2025.5.17.post2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mat3ra-esse might be problematic. Click here for more details.
- mat3ra/esse/data/examples.py +1 -1
- mat3ra/esse/data/schemas.py +1 -1
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw_x.py +6 -6
- mat3ra/esse/models/coordinates_shape_enum.py +15 -0
- mat3ra/esse/models/core/reusable/axis_enum.py +13 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/base.py +21 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/box.py +24 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/cylinder.py +26 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/enum.py +15 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/plane.py +24 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/sphere.py +24 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/triangular_prism.py +27 -0
- mat3ra/esse/models/core/reusable/energy.py +2 -2
- mat3ra/esse/models/element.py +6 -6
- mat3ra/esse/models/material/__init__.py +14 -14
- mat3ra/esse/models/material/reusable/coordinate_conditions/base.py +21 -0
- mat3ra/esse/models/material/reusable/coordinate_conditions/box.py +24 -0
- mat3ra/esse/models/material/reusable/coordinate_conditions/cylinder.py +26 -0
- mat3ra/esse/models/material/reusable/coordinate_conditions/plane.py +24 -0
- mat3ra/esse/models/material/reusable/coordinate_conditions/sphere.py +24 -0
- mat3ra/esse/models/material/reusable/coordinate_conditions/triangular_prism.py +27 -0
- mat3ra/esse/models/{materials_category/defects/by_host/two_dimensional/configuration.py → material/reusable/slab/slab_configuration_with_termination.py} +64 -25
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/slab/configuration.py → material/reusable/slab/slab_with_termination.py} +191 -32
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom/configuration.py → material/reusable/slab/two_slabs_stack.py} +223 -23
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom/base_configuration.py → material/reusable/slab_configuration_with_termination.py} +318 -24
- mat3ra/esse/models/{materials_category/defects/slab/configuration.py → material/reusable/stack/slab_configuration_with_termination.py} +199 -18
- mat3ra/esse/models/material/reusable/stack/slab_in_stack.py +720 -0
- mat3ra/esse/models/material/reusable/stack/stack_of_slabs.py +737 -0
- mat3ra/esse/models/material/reusable/stack/stack_of_two_slabs.py +737 -0
- mat3ra/esse/models/material/reusable/supercell/supercell_matrix_2d.py +25 -0
- mat3ra/esse/models/material/reusable/supercell/supercell_matrix_3d.py +27 -0
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/layered/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/{zero_dimensional/complex/pair.py → two_dimensional/grain_boundary_plane/configuration.py} +163 -497
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/condition_json.py +28 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +163 -48
- mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/configuration.py +130 -130
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/configuration.py +14 -14
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/configuration.py +14 -14
- mat3ra/esse/models/materials_category/multi_material/interfaces/configuration.py +737 -0
- mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +17 -21
- mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
- mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
- mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
- mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
- mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/RECORD +74 -61
- mat3ra/esse/models/materials_category/defects/enums/atom_placement_method.py +0 -22
- mat3ra/esse/models/materials_category/defects/enums/complex_defect_type.py +0 -18
- mat3ra/esse/models/materials_category/defects/enums/coordinates_shape.py +0 -21
- mat3ra/esse/models/materials_category/defects/enums/slab_defect_type.py +0 -19
- mat3ra/esse/models/materials_category/defects/enums.py +0 -13
- mat3ra/esse/models/materials_category/defects/two_dimensional/slab_grain_boundary/configuration.py +0 -1105
- mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/configuration.py +0 -1026
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/base_configuration.py +0 -30
- mat3ra/esse/models/materials_category/defects/zero_dimensional/slab/__init__.py +0 -3
- /mat3ra/esse/models/{materials_category/defects/by_host/two_dimensional → core/reusable/coordinate_conditions}/__init__.py +0 -0
- /mat3ra/esse/models/{materials_category/defects/slab → material/reusable/coordinate_conditions}/__init__.py +0 -0
- /mat3ra/esse/models/{materials_category/defects/two_dimensional/slab_grain_boundary → material/reusable/stack}/__init__.py +0 -0
- /mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom → material/reusable/supercell}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/defects/{zero_dimensional/complex → two_dimensional/grain_boundary_plane}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/{defects/zero_dimensional/defect_pair → multi_material/interfaces}/__init__.py +0 -0
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.5.17.post2.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: materials_category/defects/two_dimensional/island/condition.json.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import List, Literal
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field, RootModel
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class CoordinateShapeEnum(Enum):
|
|
14
|
+
cylinder = "cylinder"
|
|
15
|
+
sphere = "sphere"
|
|
16
|
+
box = "box"
|
|
17
|
+
triangular_prism = "triangular_prism"
|
|
18
|
+
plane = "plane"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class BoxCoordinateConditionSchema(BaseModel):
|
|
22
|
+
shape: Literal["box"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
+
min_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
24
|
+
max_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ESSE(RootModel[BoxCoordinateConditionSchema]):
|
|
28
|
+
root: BoxCoordinateConditionSchema
|
|
@@ -10,42 +10,150 @@ from typing import Any, Dict, List, Literal, Optional, Union
|
|
|
10
10
|
from pydantic import BaseModel, Field, RootModel, confloat, conint
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
class
|
|
14
|
-
sphere = "sphere"
|
|
13
|
+
class CoordinateShapeEnum(Enum):
|
|
15
14
|
cylinder = "cylinder"
|
|
16
|
-
|
|
15
|
+
sphere = "sphere"
|
|
16
|
+
box = "box"
|
|
17
17
|
triangular_prism = "triangular_prism"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
""
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
""
|
|
30
|
-
|
|
31
|
-
""
|
|
32
|
-
|
|
33
|
-
""
|
|
34
|
-
|
|
35
|
-
""
|
|
36
|
-
|
|
37
|
-
""
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
18
|
+
plane = "plane"
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
class BoxCoordinateConditionSchema(BaseModel):
|
|
22
|
+
shape: Literal["box"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
+
min_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
24
|
+
max_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class Value(Enum):
|
|
28
|
+
H = "H"
|
|
29
|
+
He = "He"
|
|
30
|
+
Li = "Li"
|
|
31
|
+
Be = "Be"
|
|
32
|
+
B = "B"
|
|
33
|
+
C = "C"
|
|
34
|
+
N = "N"
|
|
35
|
+
O = "O"
|
|
36
|
+
F = "F"
|
|
37
|
+
Ne = "Ne"
|
|
38
|
+
Na = "Na"
|
|
39
|
+
Mg = "Mg"
|
|
40
|
+
Al = "Al"
|
|
41
|
+
Si = "Si"
|
|
42
|
+
P = "P"
|
|
43
|
+
S = "S"
|
|
44
|
+
Cl = "Cl"
|
|
45
|
+
Ar = "Ar"
|
|
46
|
+
K = "K"
|
|
47
|
+
Ca = "Ca"
|
|
48
|
+
Sc = "Sc"
|
|
49
|
+
Ti = "Ti"
|
|
50
|
+
V = "V"
|
|
51
|
+
Cr = "Cr"
|
|
52
|
+
Mn = "Mn"
|
|
53
|
+
Fe = "Fe"
|
|
54
|
+
Co = "Co"
|
|
55
|
+
Ni = "Ni"
|
|
56
|
+
Cu = "Cu"
|
|
57
|
+
Zn = "Zn"
|
|
58
|
+
Ga = "Ga"
|
|
59
|
+
Ge = "Ge"
|
|
60
|
+
As = "As"
|
|
61
|
+
Se = "Se"
|
|
62
|
+
Br = "Br"
|
|
63
|
+
Kr = "Kr"
|
|
64
|
+
Rb = "Rb"
|
|
65
|
+
Sr = "Sr"
|
|
66
|
+
Y = "Y"
|
|
67
|
+
Zr = "Zr"
|
|
68
|
+
Nb = "Nb"
|
|
69
|
+
Mo = "Mo"
|
|
70
|
+
Tc = "Tc"
|
|
71
|
+
Ru = "Ru"
|
|
72
|
+
Rh = "Rh"
|
|
73
|
+
Pd = "Pd"
|
|
74
|
+
Ag = "Ag"
|
|
75
|
+
Cd = "Cd"
|
|
76
|
+
In = "In"
|
|
77
|
+
Sn = "Sn"
|
|
78
|
+
Sb = "Sb"
|
|
79
|
+
Te = "Te"
|
|
80
|
+
I = "I"
|
|
81
|
+
Xe = "Xe"
|
|
82
|
+
Cs = "Cs"
|
|
83
|
+
Ba = "Ba"
|
|
84
|
+
La = "La"
|
|
85
|
+
Ce = "Ce"
|
|
86
|
+
Pr = "Pr"
|
|
87
|
+
Nd = "Nd"
|
|
88
|
+
Pm = "Pm"
|
|
89
|
+
Sm = "Sm"
|
|
90
|
+
Eu = "Eu"
|
|
91
|
+
Gd = "Gd"
|
|
92
|
+
Tb = "Tb"
|
|
93
|
+
Dy = "Dy"
|
|
94
|
+
Ho = "Ho"
|
|
95
|
+
Er = "Er"
|
|
96
|
+
Tm = "Tm"
|
|
97
|
+
Yb = "Yb"
|
|
98
|
+
Lu = "Lu"
|
|
99
|
+
Hf = "Hf"
|
|
100
|
+
Ta = "Ta"
|
|
101
|
+
W = "W"
|
|
102
|
+
Re = "Re"
|
|
103
|
+
Os = "Os"
|
|
104
|
+
Ir = "Ir"
|
|
105
|
+
Pt = "Pt"
|
|
106
|
+
Au = "Au"
|
|
107
|
+
Hg = "Hg"
|
|
108
|
+
Tl = "Tl"
|
|
109
|
+
Pb = "Pb"
|
|
110
|
+
Bi = "Bi"
|
|
111
|
+
Po = "Po"
|
|
112
|
+
At = "At"
|
|
113
|
+
Rn = "Rn"
|
|
114
|
+
Fr = "Fr"
|
|
115
|
+
Ra = "Ra"
|
|
116
|
+
Ac = "Ac"
|
|
117
|
+
Th = "Th"
|
|
118
|
+
Pa = "Pa"
|
|
119
|
+
U = "U"
|
|
120
|
+
Np = "Np"
|
|
121
|
+
Pu = "Pu"
|
|
122
|
+
Am = "Am"
|
|
123
|
+
Cm = "Cm"
|
|
124
|
+
Bk = "Bk"
|
|
125
|
+
Cf = "Cf"
|
|
126
|
+
Es = "Es"
|
|
127
|
+
Fm = "Fm"
|
|
128
|
+
Md = "Md"
|
|
129
|
+
No = "No"
|
|
130
|
+
Lr = "Lr"
|
|
131
|
+
Rf = "Rf"
|
|
132
|
+
Db = "Db"
|
|
133
|
+
Sg = "Sg"
|
|
134
|
+
Bh = "Bh"
|
|
135
|
+
Hs = "Hs"
|
|
136
|
+
Mt = "Mt"
|
|
137
|
+
Ds = "Ds"
|
|
138
|
+
Rg = "Rg"
|
|
139
|
+
Cn = "Cn"
|
|
140
|
+
Nh = "Nh"
|
|
141
|
+
Fl = "Fl"
|
|
142
|
+
Mc = "Mc"
|
|
143
|
+
Lv = "Lv"
|
|
144
|
+
Ts = "Ts"
|
|
145
|
+
Og = "Og"
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
class Value37(Enum):
|
|
149
|
+
X = "X"
|
|
150
|
+
Vac = "Vac"
|
|
43
151
|
|
|
44
152
|
|
|
45
153
|
class AtomicElementSchema(BaseModel):
|
|
46
|
-
value:
|
|
154
|
+
value: Union[Value, Value37]
|
|
47
155
|
"""
|
|
48
|
-
|
|
156
|
+
All elements, including extra elements
|
|
49
157
|
"""
|
|
50
158
|
id: int
|
|
51
159
|
"""
|
|
@@ -191,30 +299,30 @@ class VolumeSchema(BaseModel):
|
|
|
191
299
|
value: float
|
|
192
300
|
|
|
193
301
|
|
|
194
|
-
class
|
|
302
|
+
class Name120(Enum):
|
|
195
303
|
density = "density"
|
|
196
304
|
|
|
197
305
|
|
|
198
|
-
class
|
|
306
|
+
class Units52(Enum):
|
|
199
307
|
g_cm_3 = "g/cm^3"
|
|
200
308
|
|
|
201
309
|
|
|
202
310
|
class DensitySchema(BaseModel):
|
|
203
311
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
204
|
-
units: Optional[
|
|
312
|
+
units: Optional[Units52] = None
|
|
205
313
|
value: float
|
|
206
314
|
|
|
207
315
|
|
|
208
|
-
class
|
|
316
|
+
class Units53(Enum):
|
|
209
317
|
angstrom = "angstrom"
|
|
210
318
|
|
|
211
319
|
|
|
212
320
|
class ScalarSchema(BaseModel):
|
|
213
|
-
units: Optional[
|
|
321
|
+
units: Optional[Units53] = None
|
|
214
322
|
value: float
|
|
215
323
|
|
|
216
324
|
|
|
217
|
-
class
|
|
325
|
+
class Name121(Enum):
|
|
218
326
|
symmetry = "symmetry"
|
|
219
327
|
|
|
220
328
|
|
|
@@ -234,7 +342,7 @@ class SymmetrySchema(BaseModel):
|
|
|
234
342
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
235
343
|
|
|
236
344
|
|
|
237
|
-
class
|
|
345
|
+
class Name122(Enum):
|
|
238
346
|
elemental_ratio = "elemental_ratio"
|
|
239
347
|
|
|
240
348
|
|
|
@@ -247,7 +355,7 @@ class ElementalRatio(BaseModel):
|
|
|
247
355
|
"""
|
|
248
356
|
|
|
249
357
|
|
|
250
|
-
class
|
|
358
|
+
class Name123(Enum):
|
|
251
359
|
p_norm = "p-norm"
|
|
252
360
|
|
|
253
361
|
|
|
@@ -260,7 +368,7 @@ class PNorm(BaseModel):
|
|
|
260
368
|
value: float
|
|
261
369
|
|
|
262
370
|
|
|
263
|
-
class
|
|
371
|
+
class Name124(Enum):
|
|
264
372
|
inchi = "inchi"
|
|
265
373
|
|
|
266
374
|
|
|
@@ -269,7 +377,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
269
377
|
value: str
|
|
270
378
|
|
|
271
379
|
|
|
272
|
-
class
|
|
380
|
+
class Name125(Enum):
|
|
273
381
|
inchi_key = "inchi_key"
|
|
274
382
|
|
|
275
383
|
|
|
@@ -348,7 +456,7 @@ class FileSourceSchema(BaseModel):
|
|
|
348
456
|
"""
|
|
349
457
|
|
|
350
458
|
|
|
351
|
-
class
|
|
459
|
+
class Name126(Enum):
|
|
352
460
|
default = "default"
|
|
353
461
|
atomsTooClose = "atomsTooClose"
|
|
354
462
|
atomsOverlap = "atomsOverlap"
|
|
@@ -361,7 +469,7 @@ class Severity(Enum):
|
|
|
361
469
|
|
|
362
470
|
|
|
363
471
|
class MaterialConsistencyCheckSchema(BaseModel):
|
|
364
|
-
name:
|
|
472
|
+
name: Name126
|
|
365
473
|
"""
|
|
366
474
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
367
475
|
"""
|
|
@@ -437,13 +545,20 @@ class MaterialSchema(BaseModel):
|
|
|
437
545
|
|
|
438
546
|
|
|
439
547
|
class IslandSlabDefectConfigurationSchema(BaseModel):
|
|
440
|
-
|
|
441
|
-
condition: Optional[Condition] = None
|
|
442
|
-
"""
|
|
443
|
-
Spatial condition defining the shape of the island
|
|
444
|
-
"""
|
|
548
|
+
condition: Optional[BoxCoordinateConditionSchema] = None
|
|
445
549
|
number_of_added_layers: Optional[conint(ge=1)] = Field(1, title="Number of Layers Schema")
|
|
446
550
|
"""
|
|
447
551
|
Number of atomic layers in a structural component
|
|
448
552
|
"""
|
|
449
|
-
|
|
553
|
+
host: Optional[MaterialSchema] = None
|
|
554
|
+
"""
|
|
555
|
+
The base host for the defect
|
|
556
|
+
"""
|
|
557
|
+
use_cartesian_coordinates: Optional[bool] = False
|
|
558
|
+
"""
|
|
559
|
+
Whether to use Cartesian coordinates
|
|
560
|
+
"""
|
|
561
|
+
isExternal: Optional[bool] = False
|
|
562
|
+
"""
|
|
563
|
+
Whether the defect is external to the host material
|
|
564
|
+
"""
|