mat3ra-esse 2025.5.17.post1__py3-none-any.whl → 2025.6.5.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.
- 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/apse/materials/builders/slab/pymatgen/parameters.py +3 -3
- mat3ra/esse/models/coordinates_shape_enum.py +15 -0
- mat3ra/esse/models/core/primitive/array_of_3_integers.py +13 -0
- mat3ra/esse/models/core/reusable/axis_enum.py +13 -0
- mat3ra/esse/models/core/reusable/coordinate_conditions/__init__.py +31 -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/material/reusable/slab/slab_configuration_with_termination.py +589 -0
- mat3ra/esse/models/material/reusable/slab/slab_with_termination.py +593 -0
- mat3ra/esse/models/material/reusable/slab/two_slabs_stack.py +618 -0
- mat3ra/esse/models/material/reusable/slab_configuration_with_termination.py +712 -0
- mat3ra/esse/models/material/reusable/stack/slab_configuration_with_termination.py +593 -0
- 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/{defects/slab/configuration.py → pristine_structures/three_dimensional/ideal_crystal.py} +142 -24
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +730 -0
- mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +17 -21
- mat3ra/esse/models/materials_category_components/entities/auxiliary/three_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/three_dimensional/supercell_matrix_3d.py +27 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/miller_indices.py +16 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/supercell_matrix_2d.py +25 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/termination.py +144 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py +13 -0
- mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/__init__.py +3 -0
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/slab/configuration.py → materials_category_components/entities/core/three_dimensional/crystal.py} +142 -46
- mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/void.py +32 -0
- mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +27 -0
- mat3ra/esse/models/materials_category_components/entities/core/zero_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/core/zero_dimensional/atom.py +134 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/repetitions.py +25 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +544 -0
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom/base_configuration.py → materials_category_components/entities/reusable/three_dimensional/strained_uniform.py} +147 -24
- mat3ra/esse/models/{materials_category/defects/zero_dimensional/adatom/configuration.py → materials_category_components/entities/reusable/three_dimensional/supercell.py} +150 -26
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py +683 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py +683 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py +687 -0
- mat3ra/esse/models/{materials_category/defects/by_host/two_dimensional/configuration.py → materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py} +23 -28
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py +717 -0
- mat3ra/esse/models/materials_category_components/operations/core/combinations/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/operations/core/combinations/merge.py +583 -0
- mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +555 -0
- mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py +554 -0
- mat3ra/esse/models/materials_category_components/operations/core/modifications/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/operations/core/modifications/repeat.py +27 -0
- mat3ra/esse/models/materials_category_components/operations/core/modifications/strain.py +19 -0
- mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
- mat3ra/esse/models/properties_directory/non_scalar/average_potential_profile.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/band_structure.py +2 -2
- 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 +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.6.5.post0.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.6.5.post0.dist-info}/RECORD +117 -65
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.6.5.post0.dist-info}/WHEEL +1 -1
- 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/by_host/two_dimensional → material/reusable/coordinate_conditions}/__init__.py +0 -0
- /mat3ra/esse/models/{materials_category/defects/slab → material/reusable/stack}/__init__.py +0 -0
- /mat3ra/esse/models/{materials_category/defects/two_dimensional/slab_grain_boundary → material/reusable/supercell}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/defects/{zero_dimensional/adatom → two_dimensional/grain_boundary_plane}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/{defects/zero_dimensional/complex → multi_material/interfaces}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/{defects/zero_dimensional/defect_pair → pristine_structures/three_dimensional}/__init__.py +0 -0
- /mat3ra/esse/models/materials_category/{defects/zero_dimensional/slab → pristine_structures/two_dimensional}/__init__.py +0 -0
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.6.5.post0.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.5.17.post1.dist-info → mat3ra_esse-2025.6.5.post0.dist-info}/top_level.txt +0 -0
|
@@ -131,13 +131,13 @@ class Value(Enum):
|
|
|
131
131
|
Og = "Og"
|
|
132
132
|
|
|
133
133
|
|
|
134
|
-
class
|
|
134
|
+
class Value41(Enum):
|
|
135
135
|
X = "X"
|
|
136
136
|
Vac = "Vac"
|
|
137
137
|
|
|
138
138
|
|
|
139
139
|
class AtomicElementSchema(BaseModel):
|
|
140
|
-
value: Union[Value,
|
|
140
|
+
value: Union[Value, Value41]
|
|
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
|
|
288
|
+
class Name136(Enum):
|
|
289
289
|
density = "density"
|
|
290
290
|
|
|
291
291
|
|
|
292
|
-
class
|
|
292
|
+
class Units58(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[
|
|
298
|
+
units: Optional[Units58] = None
|
|
299
299
|
value: float
|
|
300
300
|
|
|
301
301
|
|
|
302
|
-
class
|
|
302
|
+
class Units59(Enum):
|
|
303
303
|
angstrom = "angstrom"
|
|
304
304
|
|
|
305
305
|
|
|
306
306
|
class ScalarSchema(BaseModel):
|
|
307
|
-
units: Optional[
|
|
307
|
+
units: Optional[Units59] = None
|
|
308
308
|
value: float
|
|
309
309
|
|
|
310
310
|
|
|
311
|
-
class
|
|
311
|
+
class Name137(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
|
|
331
|
+
class Name138(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
|
|
344
|
+
class Name139(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
|
|
357
|
+
class Name140(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
|
|
366
|
+
class Name141(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
|
|
445
|
+
class Name142(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:
|
|
458
|
+
name: Name142
|
|
459
459
|
"""
|
|
460
460
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
461
461
|
"""
|
|
@@ -559,13 +559,9 @@ class SlabConfigurationSchema(BaseModel):
|
|
|
559
559
|
"""
|
|
560
560
|
use_conventional_cell: Optional[bool] = Field(True, title="Use Conventional Cell")
|
|
561
561
|
"""
|
|
562
|
-
Whether to use conventional cell
|
|
562
|
+
Whether to use conventional cell when generating the slab.
|
|
563
563
|
"""
|
|
564
|
-
use_orthogonal_z: Optional[bool] = Field(
|
|
564
|
+
use_orthogonal_z: Optional[bool] = Field(True, title="Use Orthogonal Z")
|
|
565
565
|
"""
|
|
566
|
-
Whether to make
|
|
567
|
-
"""
|
|
568
|
-
make_primitive: Optional[bool] = Field(False, title="Make Primitive")
|
|
569
|
-
"""
|
|
570
|
-
Whether to make the slab primitive
|
|
566
|
+
Whether to make vector c orthogonal to ab plane for the slab cell.
|
|
571
567
|
"""
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: materials_category_components/entities/auxiliary/three_dimensional/supercell_matrix_3d.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import List, Optional
|
|
8
|
+
|
|
9
|
+
from pydantic import Field, RootModel
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ArrayOf3IntegerElementsSchema(RootModel[List[int]]):
|
|
13
|
+
root: List[int] = Field(..., title="array of 3 integer elements schema")
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class SupercellMatrix3DSchema(RootModel[Optional[List[ArrayOf3IntegerElementsSchema]]]):
|
|
17
|
+
root: Optional[List[ArrayOf3IntegerElementsSchema]] = Field(
|
|
18
|
+
default_factory=lambda: [
|
|
19
|
+
ArrayOf3IntegerElementsSchema.model_validate(v) for v in [[1, 0, 0], [0, 1, 0], [0, 0, 1]]
|
|
20
|
+
],
|
|
21
|
+
max_length=3,
|
|
22
|
+
min_length=3,
|
|
23
|
+
title="Supercell Matrix 3D Schema",
|
|
24
|
+
)
|
|
25
|
+
"""
|
|
26
|
+
3x3 matrix of integers for transforming a unit cell into a supercell
|
|
27
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: materials_category_components/entities/auxiliary/two_dimensional/miller_indices.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import List, Optional
|
|
8
|
+
|
|
9
|
+
from pydantic import Field, RootModel
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class MillerIndicesSchema(RootModel[Optional[List[int]]]):
|
|
13
|
+
root: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
|
|
14
|
+
"""
|
|
15
|
+
Miller indices [h, k, l] defining crystallographic planes
|
|
16
|
+
"""
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: materials_category_components/entities/auxiliary/two_dimensional/supercell_matrix_2d.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import List, Optional
|
|
8
|
+
|
|
9
|
+
from pydantic import Field, RootModel
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class SupercellMatrix2DSchemaItem(RootModel[List[int]]):
|
|
13
|
+
root: List[int]
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class SupercellMatrix2DSchema(RootModel[Optional[List[SupercellMatrix2DSchemaItem]]]):
|
|
17
|
+
root: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
|
|
18
|
+
default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
|
|
19
|
+
max_length=2,
|
|
20
|
+
min_length=2,
|
|
21
|
+
title="Supercell Matrix 2D Schema",
|
|
22
|
+
)
|
|
23
|
+
"""
|
|
24
|
+
Supercell matrix for xy plane transformations
|
|
25
|
+
"""
|
mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/termination.py
ADDED
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: materials_category_components/entities/auxiliary/two_dimensional/termination.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
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"
|
|
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
|
+
"""
|
mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import List
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel, Field
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CrystalSiteSchema(BaseModel):
|
|
13
|
+
coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# generated by datamodel-codegen:
|
|
2
|
-
# filename:
|
|
2
|
+
# filename: materials_category_components/entities/core/three_dimensional/crystal.json
|
|
3
3
|
# version: 0.28.5
|
|
4
4
|
|
|
5
5
|
from __future__ import annotations
|
|
@@ -10,10 +10,136 @@ 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 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 Value15(Enum):
|
|
135
|
+
X = "X"
|
|
136
|
+
Vac = "Vac"
|
|
137
|
+
|
|
138
|
+
|
|
13
139
|
class AtomicElementSchema(BaseModel):
|
|
14
|
-
value:
|
|
140
|
+
value: Union[Value, Value15]
|
|
15
141
|
"""
|
|
16
|
-
|
|
142
|
+
All elements, including extra elements
|
|
17
143
|
"""
|
|
18
144
|
id: int
|
|
19
145
|
"""
|
|
@@ -159,30 +285,30 @@ class VolumeSchema(BaseModel):
|
|
|
159
285
|
value: float
|
|
160
286
|
|
|
161
287
|
|
|
162
|
-
class
|
|
288
|
+
class Name33(Enum):
|
|
163
289
|
density = "density"
|
|
164
290
|
|
|
165
291
|
|
|
166
|
-
class
|
|
292
|
+
class Units19(Enum):
|
|
167
293
|
g_cm_3 = "g/cm^3"
|
|
168
294
|
|
|
169
295
|
|
|
170
296
|
class DensitySchema(BaseModel):
|
|
171
297
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
172
|
-
units: Optional[
|
|
298
|
+
units: Optional[Units19] = None
|
|
173
299
|
value: float
|
|
174
300
|
|
|
175
301
|
|
|
176
|
-
class
|
|
302
|
+
class Units20(Enum):
|
|
177
303
|
angstrom = "angstrom"
|
|
178
304
|
|
|
179
305
|
|
|
180
306
|
class ScalarSchema(BaseModel):
|
|
181
|
-
units: Optional[
|
|
307
|
+
units: Optional[Units20] = None
|
|
182
308
|
value: float
|
|
183
309
|
|
|
184
310
|
|
|
185
|
-
class
|
|
311
|
+
class Name34(Enum):
|
|
186
312
|
symmetry = "symmetry"
|
|
187
313
|
|
|
188
314
|
|
|
@@ -202,7 +328,7 @@ class SymmetrySchema(BaseModel):
|
|
|
202
328
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
203
329
|
|
|
204
330
|
|
|
205
|
-
class
|
|
331
|
+
class Name35(Enum):
|
|
206
332
|
elemental_ratio = "elemental_ratio"
|
|
207
333
|
|
|
208
334
|
|
|
@@ -215,7 +341,7 @@ class ElementalRatio(BaseModel):
|
|
|
215
341
|
"""
|
|
216
342
|
|
|
217
343
|
|
|
218
|
-
class
|
|
344
|
+
class Name36(Enum):
|
|
219
345
|
p_norm = "p-norm"
|
|
220
346
|
|
|
221
347
|
|
|
@@ -228,7 +354,7 @@ class PNorm(BaseModel):
|
|
|
228
354
|
value: float
|
|
229
355
|
|
|
230
356
|
|
|
231
|
-
class
|
|
357
|
+
class Name37(Enum):
|
|
232
358
|
inchi = "inchi"
|
|
233
359
|
|
|
234
360
|
|
|
@@ -237,7 +363,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
237
363
|
value: str
|
|
238
364
|
|
|
239
365
|
|
|
240
|
-
class
|
|
366
|
+
class Name38(Enum):
|
|
241
367
|
inchi_key = "inchi_key"
|
|
242
368
|
|
|
243
369
|
|
|
@@ -316,7 +442,7 @@ class FileSourceSchema(BaseModel):
|
|
|
316
442
|
"""
|
|
317
443
|
|
|
318
444
|
|
|
319
|
-
class
|
|
445
|
+
class Name39(Enum):
|
|
320
446
|
default = "default"
|
|
321
447
|
atomsTooClose = "atomsTooClose"
|
|
322
448
|
atomsOverlap = "atomsOverlap"
|
|
@@ -329,7 +455,7 @@ class Severity(Enum):
|
|
|
329
455
|
|
|
330
456
|
|
|
331
457
|
class MaterialConsistencyCheckSchema(BaseModel):
|
|
332
|
-
name:
|
|
458
|
+
name: Name39
|
|
333
459
|
"""
|
|
334
460
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
335
461
|
"""
|
|
@@ -347,7 +473,7 @@ class MaterialConsistencyCheckSchema(BaseModel):
|
|
|
347
473
|
"""
|
|
348
474
|
|
|
349
475
|
|
|
350
|
-
class
|
|
476
|
+
class CrystalSchema(BaseModel):
|
|
351
477
|
formula: Optional[str] = None
|
|
352
478
|
"""
|
|
353
479
|
reduced chemical formula
|
|
@@ -402,33 +528,3 @@ class MaterialSchema(BaseModel):
|
|
|
402
528
|
Identifies that entity is defaultable
|
|
403
529
|
"""
|
|
404
530
|
metadata: Optional[Dict[str, Any]] = None
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
class DefectType(Enum):
|
|
408
|
-
vacancy = "vacancy"
|
|
409
|
-
substitution = "substitution"
|
|
410
|
-
interstitial = "interstitial"
|
|
411
|
-
adatom = "adatom"
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
class SlabPointDefectConfigurationSchema(BaseModel):
|
|
415
|
-
position_on_surface: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema")
|
|
416
|
-
distance_z: confloat(ge=0.0)
|
|
417
|
-
"""
|
|
418
|
-
Distance from the surface in Angstroms
|
|
419
|
-
"""
|
|
420
|
-
number_of_added_layers: Optional[conint(ge=1)] = Field(1, title="Number of Layers Schema")
|
|
421
|
-
"""
|
|
422
|
-
Number of atomic layers in a structural component
|
|
423
|
-
"""
|
|
424
|
-
crystal: MaterialSchema = Field(..., title="material schema")
|
|
425
|
-
defect_type: DefectType
|
|
426
|
-
coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
427
|
-
chemical_element: Optional[str] = None
|
|
428
|
-
"""
|
|
429
|
-
The chemical element for substitution or interstitial defects
|
|
430
|
-
"""
|
|
431
|
-
use_cartesian_coordinates: Optional[bool] = False
|
|
432
|
-
"""
|
|
433
|
-
Whether coordinates are in cartesian rather than fractional coordinates
|
|
434
|
-
"""
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: materials_category_components/entities/core/three_dimensional/void.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
|
|
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 VoidSchema(BaseModel):
|
|
28
|
+
center_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
29
|
+
shape: BoxCoordinateConditionSchema = Field(..., title="Coordinate Conditions Schema")
|
|
30
|
+
"""
|
|
31
|
+
Combined schema for all coordinate condition types
|
|
32
|
+
"""
|