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
|
@@ -1663,7 +1663,7 @@ class CardOption(Enum):
|
|
|
1663
1663
|
crystal_sg = "crystal_sg"
|
|
1664
1664
|
|
|
1665
1665
|
|
|
1666
|
-
class
|
|
1666
|
+
class Value27(BaseModel):
|
|
1667
1667
|
model_config = ConfigDict(
|
|
1668
1668
|
extra="forbid",
|
|
1669
1669
|
)
|
|
@@ -1693,7 +1693,7 @@ class AtomicPositionsSchema(BaseModel):
|
|
|
1693
1693
|
extra="forbid",
|
|
1694
1694
|
)
|
|
1695
1695
|
card_option: Optional[CardOption] = "alat"
|
|
1696
|
-
values: Optional[List[
|
|
1696
|
+
values: Optional[List[Value27]] = None
|
|
1697
1697
|
|
|
1698
1698
|
|
|
1699
1699
|
class CardOption5(Enum):
|
|
@@ -1707,7 +1707,7 @@ class CardOption5(Enum):
|
|
|
1707
1707
|
crystal_c = "crystal_c"
|
|
1708
1708
|
|
|
1709
1709
|
|
|
1710
|
-
class
|
|
1710
|
+
class Value28(BaseModel):
|
|
1711
1711
|
model_config = ConfigDict(
|
|
1712
1712
|
extra="forbid",
|
|
1713
1713
|
)
|
|
@@ -1756,7 +1756,7 @@ class KPointsSchema(BaseModel):
|
|
|
1756
1756
|
extra="forbid",
|
|
1757
1757
|
)
|
|
1758
1758
|
card_option: Optional[CardOption5] = None
|
|
1759
|
-
values: Optional[Union[List[
|
|
1759
|
+
values: Optional[Union[List[Value28], Values]] = None
|
|
1760
1760
|
|
|
1761
1761
|
|
|
1762
1762
|
class CardOption6(Enum):
|
|
@@ -1853,7 +1853,7 @@ class ParamType(Enum):
|
|
|
1853
1853
|
E3 = "E3"
|
|
1854
1854
|
|
|
1855
1855
|
|
|
1856
|
-
class
|
|
1856
|
+
class Value29(BaseModel):
|
|
1857
1857
|
model_config = ConfigDict(
|
|
1858
1858
|
extra="forbid",
|
|
1859
1859
|
)
|
|
@@ -1967,7 +1967,7 @@ class HubbardSchema(BaseModel):
|
|
|
1967
1967
|
)
|
|
1968
1968
|
card_option: Optional[CardOption7] = None
|
|
1969
1969
|
values: Optional[
|
|
1970
|
-
Union[List[Union[Values9, Values10]], List[
|
|
1970
|
+
Union[List[Union[Values9, Values10]], List[Value29], List[Union[Values11, Values12, Values13]]]
|
|
1971
1971
|
] = None
|
|
1972
1972
|
|
|
1973
1973
|
|
|
@@ -10,17 +10,17 @@ from pydantic import BaseModel, confloat, conint
|
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
class PymatgenSlabGeneratorParametersSchema(BaseModel):
|
|
13
|
-
min_vacuum_size: Optional[Union[conint(ge=0), confloat(ge=0.0)]] =
|
|
13
|
+
min_vacuum_size: Optional[Union[conint(ge=0), confloat(ge=0.0)]] = 0
|
|
14
14
|
"""
|
|
15
15
|
Minimum size of the vacuum in layers or angstroms
|
|
16
16
|
"""
|
|
17
17
|
in_unit_planes: Optional[bool] = True
|
|
18
18
|
"""
|
|
19
|
-
Whether to
|
|
19
|
+
Whether to use unit planes for the vacuum and slab size
|
|
20
20
|
"""
|
|
21
21
|
reorient_lattice: Optional[bool] = True
|
|
22
22
|
"""
|
|
23
|
-
Whether to reorient the lattice
|
|
23
|
+
Whether to reorient the lattice to have c vector along the z-axis
|
|
24
24
|
"""
|
|
25
25
|
symmetrize: Optional[bool] = True
|
|
26
26
|
"""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: coordinates_shape_enum.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class CoordinateShapeEnum(Enum):
|
|
11
|
+
cylinder = "cylinder"
|
|
12
|
+
sphere = "sphere"
|
|
13
|
+
box = "box"
|
|
14
|
+
triangular_prism = "triangular_prism"
|
|
15
|
+
plane = "plane"
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: core/primitive/array_of_3_integers.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from typing import List
|
|
8
|
+
|
|
9
|
+
from pydantic import Field, RootModel
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class ArrayOf3IntegerElementsSchema(RootModel[List[int]]):
|
|
13
|
+
root: List[int] = Field(..., max_length=3, min_length=3, title="array of 3 integer elements schema")
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: core/reusable/coordinate_conditions.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 = Field(..., title="Coordinate Conditions Schema")
|
|
29
|
+
"""
|
|
30
|
+
Combined schema for all coordinate condition types
|
|
31
|
+
"""
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: core/reusable/coordinate_conditions/base.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel, Field
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CoordinateShapeEnum(Enum):
|
|
13
|
+
cylinder = "cylinder"
|
|
14
|
+
sphere = "sphere"
|
|
15
|
+
box = "box"
|
|
16
|
+
triangular_prism = "triangular_prism"
|
|
17
|
+
plane = "plane"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class CoordinateConditionSchema(BaseModel):
|
|
21
|
+
shape: CoordinateShapeEnum = Field(..., title="Coordinate Shape Enum")
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: core/reusable/coordinate_conditions/box.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")
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: core/reusable/coordinate_conditions/cylinder.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import List, Literal, Optional
|
|
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 CylinderCoordinateConditionSchema(BaseModel):
|
|
22
|
+
shape: Literal["cylinder"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
+
center_coordinate: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="coordinate 3d schema")
|
|
24
|
+
radius: float
|
|
25
|
+
min_z: float
|
|
26
|
+
max_z: float
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: core/reusable/coordinate_conditions/enum.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class CoordinateShapeEnum(Enum):
|
|
11
|
+
cylinder = "cylinder"
|
|
12
|
+
sphere = "sphere"
|
|
13
|
+
box = "box"
|
|
14
|
+
triangular_prism = "triangular_prism"
|
|
15
|
+
plane = "plane"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: core/reusable/coordinate_conditions/plane.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 PlaneCoordinateConditionSchema(BaseModel):
|
|
22
|
+
shape: Literal["plane"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
+
plane_normal: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
24
|
+
plane_point_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: core/reusable/coordinate_conditions/sphere.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 SphereCoordinateConditionSchema(BaseModel):
|
|
22
|
+
shape: Literal["sphere"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
+
center_coordinate: List[float] = Field(..., max_length=3, min_length=3, title="coordinate 3d schema")
|
|
24
|
+
radius: float
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: core/reusable/coordinate_conditions/triangular_prism.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 TriangularPrismCoordinateConditionSchema(BaseModel):
|
|
22
|
+
shape: Literal["triangular_prism"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
+
position_on_surface_1: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema")
|
|
24
|
+
position_on_surface_2: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema")
|
|
25
|
+
position_on_surface_3: List[float] = Field(..., max_length=2, min_length=2, title="coordinate 2d schema")
|
|
26
|
+
min_z: float
|
|
27
|
+
max_z: float
|
|
@@ -20,11 +20,11 @@ class Units(Enum):
|
|
|
20
20
|
eV_atom = "eV/atom"
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
class
|
|
23
|
+
class Units36(Enum):
|
|
24
24
|
eV_A_2 = "eV/A^2"
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
class EnergySchema(BaseModel):
|
|
28
28
|
name: str
|
|
29
|
-
units: Union[Units,
|
|
29
|
+
units: Union[Units, Units36]
|
|
30
30
|
value: float
|
mat3ra/esse/models/element.py
CHANGED
|
@@ -154,20 +154,20 @@ class AtomicRadius(BaseModel):
|
|
|
154
154
|
value: float
|
|
155
155
|
|
|
156
156
|
|
|
157
|
-
class
|
|
157
|
+
class Name63(Enum):
|
|
158
158
|
electronegativity = "electronegativity"
|
|
159
159
|
|
|
160
160
|
|
|
161
161
|
class Electronegativity(BaseModel):
|
|
162
|
-
name: Optional[
|
|
162
|
+
name: Optional[Name63] = None
|
|
163
163
|
value: float
|
|
164
164
|
|
|
165
165
|
|
|
166
|
-
class
|
|
166
|
+
class Name64(Enum):
|
|
167
167
|
ionization_potential = "ionization_potential"
|
|
168
168
|
|
|
169
169
|
|
|
170
|
-
class
|
|
170
|
+
class Units34(Enum):
|
|
171
171
|
kJ_mol = "kJ/mol"
|
|
172
172
|
eV = "eV"
|
|
173
173
|
J_mol = "J/mol"
|
|
@@ -178,8 +178,8 @@ class Units58(Enum):
|
|
|
178
178
|
|
|
179
179
|
|
|
180
180
|
class IonizationPotential(BaseModel):
|
|
181
|
-
name: Optional[
|
|
182
|
-
units: Optional[
|
|
181
|
+
name: Optional[Name64] = None
|
|
182
|
+
units: Optional[Units34] = None
|
|
183
183
|
value: float
|
|
184
184
|
|
|
185
185
|
|
|
@@ -131,13 +131,13 @@ class Value(Enum):
|
|
|
131
131
|
Og = "Og"
|
|
132
132
|
|
|
133
133
|
|
|
134
|
-
class
|
|
134
|
+
class Value23(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, Value23]
|
|
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 Name93(Enum):
|
|
289
289
|
density = "density"
|
|
290
290
|
|
|
291
291
|
|
|
292
|
-
class
|
|
292
|
+
class Units54(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[Units54] = None
|
|
299
299
|
value: float
|
|
300
300
|
|
|
301
301
|
|
|
302
|
-
class
|
|
302
|
+
class Units55(Enum):
|
|
303
303
|
angstrom = "angstrom"
|
|
304
304
|
|
|
305
305
|
|
|
306
306
|
class ScalarSchema(BaseModel):
|
|
307
|
-
units: Optional[
|
|
307
|
+
units: Optional[Units55] = None
|
|
308
308
|
value: float
|
|
309
309
|
|
|
310
310
|
|
|
311
|
-
class
|
|
311
|
+
class Name94(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 Name95(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 Name96(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 Name97(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 Name98(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 Name99(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: Name99
|
|
459
459
|
"""
|
|
460
460
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
461
461
|
"""
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: material/reusable/coordinate_conditions/base.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
|
|
9
|
+
from pydantic import BaseModel, Field
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class CoordinateShapeEnum(Enum):
|
|
13
|
+
cylinder = "cylinder"
|
|
14
|
+
sphere = "sphere"
|
|
15
|
+
box = "box"
|
|
16
|
+
triangular_prism = "triangular_prism"
|
|
17
|
+
plane = "plane"
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
class CoordinateConditionSchema(BaseModel):
|
|
21
|
+
shape: CoordinateShapeEnum = Field(..., title="Coordinate Shape Enum")
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: material/reusable/coordinate_conditions/box.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)
|
|
24
|
+
max_coordinate: List[float] = Field(..., max_length=3, min_length=3)
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: material/reusable/coordinate_conditions/cylinder.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import List, Literal, Optional
|
|
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 CylinderCoordinateConditionSchema(BaseModel):
|
|
22
|
+
shape: Literal["cylinder"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
+
center_position: Optional[List[float]] = Field([0.5, 0.5], max_length=2, min_length=2)
|
|
24
|
+
radius: Optional[float] = 0.25
|
|
25
|
+
min_z: Optional[float] = 0
|
|
26
|
+
max_z: Optional[float] = 1
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: material/reusable/coordinate_conditions/plane.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 PlaneCoordinateConditionSchema(BaseModel):
|
|
22
|
+
shape: Literal["plane"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
+
plane_normal: List[float] = Field(..., max_length=3, min_length=3)
|
|
24
|
+
plane_point_coordinate: List[float] = Field(..., max_length=3, min_length=3)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: material/reusable/coordinate_conditions/sphere.json
|
|
3
|
+
# version: 0.28.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import List, Literal, Optional
|
|
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 SphereCoordinateConditionSchema(BaseModel):
|
|
22
|
+
shape: Literal["sphere"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
+
center_position: Optional[List[float]] = Field([0.5, 0.5], max_length=2, min_length=2)
|
|
24
|
+
radius: Optional[float] = 0.25
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: material/reusable/coordinate_conditions/triangular_prism.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 TriangularPrismCoordinateConditionSchema(BaseModel):
|
|
22
|
+
shape: Literal["triangular_prism"] = Field(..., title="Coordinate Shape Enum")
|
|
23
|
+
position_on_surface_1: List[float] = Field(..., max_length=2, min_length=2)
|
|
24
|
+
position_on_surface_2: List[float] = Field(..., max_length=2, min_length=2)
|
|
25
|
+
position_on_surface_3: List[float] = Field(..., max_length=2, min_length=2)
|
|
26
|
+
min_z: float
|
|
27
|
+
max_z: float
|