mat3ra-esse 2025.5.13.post0__py3-none-any.whl → 2025.5.16.post1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mat3ra-esse might be problematic. Click here for more details.
- mat3ra/esse/data/examples.py +1 -1
- mat3ra/esse/data/schemas.py +1 -1
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw_x.py +8 -8
- mat3ra/esse/models/apse/materials/builders/slab/pymatgen/__init__.py +3 -0
- mat3ra/esse/models/apse/materials/builders/slab/pymatgen/parameters.py +28 -0
- mat3ra/esse/models/core/reusable/energy.py +2 -2
- mat3ra/esse/models/element.py +128 -10
- mat3ra/esse/models/enums/__init__.py +3 -0
- mat3ra/esse/models/enums/chemical_elements.py +13 -0
- mat3ra/esse/models/material/__init__.py +140 -14
- mat3ra/esse/models/material/builders/base/__init__.py +3 -0
- mat3ra/esse/models/material/builders/base/selector_parameters.py +16 -0
- mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/__init__.py +3 -0
- mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/builder_parameters.py +28 -0
- mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py +151 -0
- mat3ra/esse/models/material/reusable/slab/enums/__init__.py +3 -0
- mat3ra/esse/models/material/reusable/slab/enums/exposed_face.py +13 -0
- mat3ra/esse/models/material/reusable/slab/number_of_layers.py +1 -1
- mat3ra/esse/models/material/reusable/slab/termination.py +129 -3
- mat3ra/esse/models/material/reusable/slab/vacuum.py +2 -2
- mat3ra/esse/models/materials_category/defects/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/configuration.py +538 -0
- mat3ra/esse/models/materials_category/defects/enums/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/enums/atom_placement_method.py +22 -0
- mat3ra/esse/models/materials_category/defects/enums/complex_defect_type.py +18 -0
- mat3ra/esse/models/materials_category/defects/enums/coordinates_shape.py +21 -0
- mat3ra/esse/models/materials_category/defects/enums/point_defect_type.py +13 -0
- mat3ra/esse/models/materials_category/defects/enums/slab_defect_type.py +19 -0
- mat3ra/esse/models/materials_category/defects/enums.py +13 -0
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +425 -0
- mat3ra/esse/models/materials_category/defects/slab/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/slab/configuration.py +412 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +449 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/slab_grain_boundary/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/two_dimensional/slab_grain_boundary/configuration.py +1105 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/base_configuration.py +418 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/configuration.py +418 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/configuration.py +1026 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/base_configuration.py +30 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +672 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/slab/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defects/zero_dimensional/slab/configuration.py +434 -0
- mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +142 -16
- mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
- mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
- mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
- mat3ra/esse/models/properties_directory/structural/basis/__init__.py +128 -2
- mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +131 -2
- mat3ra/esse/models/properties_directory/structural/basis/atomic_elements.py +130 -3
- mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
- mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
- {mat3ra_esse-2025.5.13.post0.dist-info → mat3ra_esse-2025.5.16.post1.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.5.13.post0.dist-info → mat3ra_esse-2025.5.16.post1.dist-info}/RECORD +73 -36
- {mat3ra_esse-2025.5.13.post0.dist-info → mat3ra_esse-2025.5.16.post1.dist-info}/WHEEL +1 -1
- mat3ra/esse/models/material/reusable/slab/thickness.py +0 -16
- {mat3ra_esse-2025.5.13.post0.dist-info → mat3ra_esse-2025.5.16.post1.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.5.13.post0.dist-info → mat3ra_esse-2025.5.16.post1.dist-info}/top_level.txt +0 -0
mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: material/builders/single_material/two_dimensional/slab/selector_parameters.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Optional, Union
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field, constr
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ChemicalElements(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 TerminationSchema(BaseModel):
|
|
135
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
|
|
136
|
+
..., title="Chemical Elements"
|
|
137
|
+
)
|
|
138
|
+
"""
|
|
139
|
+
Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')
|
|
140
|
+
"""
|
|
141
|
+
space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
|
|
142
|
+
"""
|
|
143
|
+
Space group symmetry designation for the termination
|
|
144
|
+
"""
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
class SlabSelectorParametersSchema(BaseModel):
|
|
148
|
+
termination: Optional[TerminationSchema] = Field(None, title="Termination Schema")
|
|
149
|
+
"""
|
|
150
|
+
Defines a specific termination of a slab
|
|
151
|
+
"""
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: material/reusable/slab/enums/exposed_face.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SlabExposedFaceEnum(Enum):
|
|
11
|
+
top = "top"
|
|
12
|
+
bottom = "bottom"
|
|
13
|
+
both = "both"
|
|
@@ -10,7 +10,7 @@ from pydantic import Field, RootModel, conint
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class NumberOfLayersSchema(RootModel[Optional[conint(ge=1)]]):
|
|
13
|
-
root: Optional[conint(ge=1)] = Field(1, title="
|
|
13
|
+
root: Optional[conint(ge=1)] = Field(1, title="Number of Layers Schema")
|
|
14
14
|
"""
|
|
15
15
|
Number of atomic layers in a structural component
|
|
16
16
|
"""
|
|
@@ -4,13 +4,139 @@
|
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
|
-
from
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import Union
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, Field, constr
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class ChemicalElements(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"
|
|
8
132
|
|
|
9
133
|
|
|
10
134
|
class TerminationSchema(BaseModel):
|
|
11
|
-
chemical_elements:
|
|
135
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
|
|
136
|
+
..., title="Chemical Elements"
|
|
137
|
+
)
|
|
12
138
|
"""
|
|
13
|
-
Chemical elements at the termination
|
|
139
|
+
Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')
|
|
14
140
|
"""
|
|
15
141
|
space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
|
|
16
142
|
"""
|
|
@@ -9,8 +9,8 @@ from typing import Optional
|
|
|
9
9
|
from pydantic import Field, RootModel, confloat
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
class
|
|
13
|
-
root: Optional[confloat(ge=0.0)] = Field(5, title="Vacuum Schema")
|
|
12
|
+
class VacuumThicknessSchema(RootModel[Optional[confloat(ge=0.0)]]):
|
|
13
|
+
root: Optional[confloat(ge=0.0)] = Field(5, title="Vacuum Thickness Schema")
|
|
14
14
|
"""
|
|
15
15
|
Vacuum thickness in Angstroms
|
|
16
16
|
"""
|