mat3ra-esse 2025.6.5.post0__py3-none-any.whl → 2025.6.30.post0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mat3ra-esse might be problematic. Click here for more details.

Files changed (144) hide show
  1. mat3ra/esse/data/examples.py +1 -1
  2. mat3ra/esse/data/schemas.py +1 -1
  3. mat3ra/esse/models/apse/file/applications/espresso/7.2/pw_x.py +6 -6
  4. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +428 -15
  5. mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/termination.py +1 -1
  6. mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +526 -2
  7. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +14 -14
  8. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py +14 -14
  9. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py +14 -14
  10. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py +1 -1
  11. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py +1 -1
  12. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py +1 -1
  13. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py +428 -15
  14. mat3ra/esse/models/materials_category_components/operations/core/combinations/merge.py +413 -0
  15. mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +427 -14
  16. mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py +427 -14
  17. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
  18. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
  19. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
  20. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
  21. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
  22. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
  23. mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
  24. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
  25. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
  26. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
  27. {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.30.post0.dist-info}/METADATA +1 -1
  28. {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.30.post0.dist-info}/RECORD +31 -144
  29. mat3ra/esse/models/coordinates_shape_enum.py +0 -15
  30. mat3ra/esse/models/core/abstract/2d_data.py +0 -17
  31. mat3ra/esse/models/core/abstract/2d_plot.py +0 -34
  32. mat3ra/esse/models/core/abstract/3d_grid.py +0 -14
  33. mat3ra/esse/models/core/abstract/3d_tensor.py +0 -19
  34. mat3ra/esse/models/core/abstract/3d_vector_basis.py +0 -15
  35. mat3ra/esse/models/core/abstract/_3d_tensor.py +0 -19
  36. mat3ra/esse/models/core/abstract/_3d_vector_basis.py +0 -15
  37. mat3ra/esse/models/core/abstract/point.py +0 -13
  38. mat3ra/esse/models/core/abstract/vector.py +0 -13
  39. mat3ra/esse/models/core/primitive/1d_data_series.py +0 -13
  40. mat3ra/esse/models/core/primitive/3d_lattice.py +0 -34
  41. mat3ra/esse/models/core/primitive/_3d_lattice.py +0 -34
  42. mat3ra/esse/models/core/reusable/accuracy_level.py +0 -27
  43. mat3ra/esse/models/core/reusable/atomic_strings.py +0 -24
  44. mat3ra/esse/models/core/reusable/coordinate_conditions/cylinder.py +0 -26
  45. mat3ra/esse/models/core/reusable/coordinate_conditions/plane.py +0 -24
  46. mat3ra/esse/models/core/reusable/coordinate_conditions/sphere.py +0 -24
  47. mat3ra/esse/models/core/reusable/coordinate_conditions/triangular_prism.py +0 -27
  48. mat3ra/esse/models/core/reusable/energy_accuracy_levels/__init__.py +0 -3
  49. mat3ra/esse/models/core/reusable/energy_accuracy_levels.py +0 -31
  50. mat3ra/esse/models/enums/__init__.py +0 -3
  51. mat3ra/esse/models/enums/chemical_elements.py +0 -13
  52. mat3ra/esse/models/material/builders/base/__init__.py +0 -3
  53. mat3ra/esse/models/material/builders/base/selector_parameters.py +0 -16
  54. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/__init__.py +0 -3
  55. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/builder_parameters.py +0 -28
  56. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py +0 -151
  57. mat3ra/esse/models/material/reusable/__init__.py +0 -3
  58. mat3ra/esse/models/material/reusable/coordinate_conditions/__init__.py +0 -3
  59. mat3ra/esse/models/material/reusable/coordinate_conditions/base.py +0 -21
  60. mat3ra/esse/models/material/reusable/coordinate_conditions/box.py +0 -24
  61. mat3ra/esse/models/material/reusable/coordinate_conditions/cylinder.py +0 -26
  62. mat3ra/esse/models/material/reusable/coordinate_conditions/plane.py +0 -24
  63. mat3ra/esse/models/material/reusable/coordinate_conditions/sphere.py +0 -24
  64. mat3ra/esse/models/material/reusable/coordinate_conditions/triangular_prism.py +0 -27
  65. mat3ra/esse/models/material/reusable/repetitions.py +0 -25
  66. mat3ra/esse/models/material/reusable/slab/__init__.py +0 -3
  67. mat3ra/esse/models/material/reusable/slab/enums/__init__.py +0 -3
  68. mat3ra/esse/models/material/reusable/slab/enums/exposed_face.py +0 -13
  69. mat3ra/esse/models/material/reusable/slab/enums.py +0 -13
  70. mat3ra/esse/models/material/reusable/slab/miller_indices.py +0 -16
  71. mat3ra/esse/models/material/reusable/slab/number_of_layers.py +0 -16
  72. mat3ra/esse/models/material/reusable/slab/slab_configuration_with_termination.py +0 -589
  73. mat3ra/esse/models/material/reusable/slab/slab_with_termination.py +0 -593
  74. mat3ra/esse/models/material/reusable/slab/termination.py +0 -144
  75. mat3ra/esse/models/material/reusable/slab/two_slabs_stack.py +0 -618
  76. mat3ra/esse/models/material/reusable/slab/vacuum.py +0 -16
  77. mat3ra/esse/models/material/reusable/slab_configuration_with_termination.py +0 -712
  78. mat3ra/esse/models/material/reusable/stack/__init__.py +0 -3
  79. mat3ra/esse/models/material/reusable/stack/slab_configuration_with_termination.py +0 -593
  80. mat3ra/esse/models/material/reusable/stack/slab_in_stack.py +0 -720
  81. mat3ra/esse/models/material/reusable/stack/stack_of_slabs.py +0 -737
  82. mat3ra/esse/models/material/reusable/stack/stack_of_two_slabs.py +0 -737
  83. mat3ra/esse/models/material/reusable/supercell/__init__.py +0 -3
  84. mat3ra/esse/models/material/reusable/supercell/supercell_matrix_2d.py +0 -25
  85. mat3ra/esse/models/material/reusable/supercell/supercell_matrix_3d.py +0 -27
  86. mat3ra/esse/models/material/reusable/supercell_matrix_2d.py +0 -25
  87. mat3ra/esse/models/material/reusable/supercell_matrix_3d.py +0 -27
  88. mat3ra/esse/models/materials_category/defects/__init__.py +0 -3
  89. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/__init__.py +0 -3
  90. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/configuration.py +0 -672
  91. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/layered/__init__.py +0 -3
  92. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/layered/configuration.py +0 -549
  93. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/__init__.py +0 -3
  94. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/configuration.py +0 -550
  95. mat3ra/esse/models/materials_category/defects/configuration.py +0 -545
  96. mat3ra/esse/models/materials_category/defects/enums/__init__.py +0 -3
  97. mat3ra/esse/models/materials_category/defects/enums/point_defect_type.py +0 -13
  98. mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/__init__.py +0 -3
  99. mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +0 -563
  100. mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/__init__.py +0 -3
  101. mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/configuration.py +0 -1200
  102. mat3ra/esse/models/materials_category/defects/two_dimensional/island/__init__.py +0 -3
  103. mat3ra/esse/models/materials_category/defects/two_dimensional/island/condition_json.py +0 -28
  104. mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +0 -564
  105. mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/__init__.py +0 -3
  106. mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/configuration.py +0 -1538
  107. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/__init__.py +0 -3
  108. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +0 -672
  109. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/__init__.py +0 -3
  110. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/configuration.py +0 -672
  111. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/__init__.py +0 -3
  112. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/configuration.py +0 -672
  113. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/__init__.py +0 -3
  114. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/configuration.py +0 -672
  115. mat3ra/esse/models/materials_category/multi_material/interfaces/__init__.py +0 -3
  116. mat3ra/esse/models/materials_category/multi_material/interfaces/configuration.py +0 -737
  117. mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/__init__.py +0 -3
  118. mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +0 -567
  119. mat3ra/esse/models/methods_directory/physical/psp/file/__init__.py +0 -129
  120. mat3ra/esse/models/methods_directory/physical/psp/file_data_item/__init__.py +0 -111
  121. mat3ra/esse/models/properties_directory/structural/lattice/lattice_bravais.py +0 -74
  122. mat3ra/esse/models/property/base/__init__.py +0 -200
  123. mat3ra/esse/models/property/meta/__init__.py +0 -200
  124. mat3ra/esse/models/property/raw/__init__.py +0 -200
  125. mat3ra/esse/models/property/source/__init__.py +0 -150
  126. mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/__init__.py +0 -3
  127. mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/atoms.py +0 -41
  128. mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/db_entry.py +0 -55
  129. mat3ra/esse/models/third_party/file/applications/espresso/7.2/__init__.py +0 -3
  130. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/__init__.py +0 -3
  131. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_positions.py +0 -51
  132. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_species.py +0 -34
  133. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell.py +0 -111
  134. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell_parameters.py +0 -36
  135. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/control.py +0 -169
  136. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/electrons.py +0 -139
  137. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/hubbard.py +0 -194
  138. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/ions.py +0 -422
  139. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/k_points.py +0 -73
  140. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/system.py +0 -841
  141. mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw_x.py +0 -1990
  142. {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.30.post0.dist-info}/WHEEL +0 -0
  143. {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.30.post0.dist-info}/licenses/LICENSE.md +0 -0
  144. {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.30.post0.dist-info}/top_level.txt +0 -0
@@ -1,34 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: core/primitive/3d_lattice.json
3
- # version: 0.28.5
4
-
5
- from __future__ import annotations
6
-
7
- from pydantic import BaseModel
8
-
9
-
10
- class Field3DimensionalLatticeSchema(BaseModel):
11
- a: float
12
- """
13
- length of the first lattice vector
14
- """
15
- b: float
16
- """
17
- length of the second lattice vector
18
- """
19
- c: float
20
- """
21
- length of the third lattice vector
22
- """
23
- alpha: float
24
- """
25
- angle between first and second lattice vector
26
- """
27
- beta: float
28
- """
29
- angle between second and third lattice vector
30
- """
31
- gamma: float
32
- """
33
- angle between first and third lattice vector
34
- """
@@ -1,27 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: core/reusable/accuracy_level.json
3
- # version: 0.25.5
4
-
5
- from __future__ import annotations
6
-
7
- from typing import Optional
8
-
9
- from pydantic import BaseModel, ConfigDict
10
-
11
-
12
- class ReusableAccuracyLevelsSchema(BaseModel):
13
- model_config = ConfigDict(
14
- extra="forbid",
15
- )
16
- standard: Optional[float] = None
17
- """
18
- Parameter value for standard or default accuracy calculation.
19
- """
20
- high: Optional[float] = None
21
- """
22
- Parameter value for high precision calculation.
23
- """
24
- low: Optional[float] = None
25
- """
26
- Parameter value for low precision calculation.
27
- """
@@ -1,24 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: core/reusable/atomic_strings.json
3
- # version: 0.28.5
4
-
5
- from __future__ import annotations
6
-
7
- from typing import List, Optional
8
-
9
- from pydantic import BaseModel, Field, RootModel
10
-
11
-
12
- class AtomicStringsVectorsSchemaItem(BaseModel):
13
- value: Optional[str] = None
14
- id: Optional[int] = None
15
- """
16
- integer id of this entry
17
- """
18
-
19
-
20
- class AtomicStringsVectorsSchema(RootModel[List[AtomicStringsVectorsSchemaItem]]):
21
- root: List[AtomicStringsVectorsSchemaItem] = Field(..., title="atomic strings vectors schema")
22
- """
23
- array of objects containing integer id each
24
- """
@@ -1,26 +0,0 @@
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
@@ -1,24 +0,0 @@
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")
@@ -1,24 +0,0 @@
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
@@ -1,27 +0,0 @@
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
@@ -1,3 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: schema
3
- # version: 0.25.5
@@ -1,31 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: core/reusable/energy_accuracy_levels.json
3
- # version: 0.28.5
4
-
5
- from __future__ import annotations
6
-
7
- from enum import Enum
8
-
9
- from pydantic import BaseModel
10
-
11
-
12
- class AccuracyLevel(Enum):
13
- standard = "standard"
14
- low = "low"
15
- high = "high"
16
-
17
-
18
- class Unit(Enum):
19
- Ry = "Ry"
20
-
21
-
22
- class ReusableSchemaForAccuracyLevelsWithValueAndEnergyUnit(BaseModel):
23
- accuracy_level: AccuracyLevel
24
- """
25
- Parameter value suitable for a specific accuracy level.
26
- """
27
- unit: Unit
28
- """
29
- Unit of the energy value corresponding to a accuracy_level. The values are expressed in Ry.
30
- """
31
- value: float
@@ -1,3 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: schema
3
- # version: 0.28.5
@@ -1,13 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: enums/chemical_elements.json
3
- # version: 0.28.5
4
-
5
- from __future__ import annotations
6
-
7
- from typing import Any
8
-
9
- from pydantic import Field, RootModel
10
-
11
-
12
- class ChemicalElementSymbols(RootModel[Any]):
13
- root: Any = Field(..., title="Chemical Element Symbols")
@@ -1,3 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: schema
3
- # version: 0.28.5
@@ -1,16 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: material/builders/base/selector_parameters.json
3
- # version: 0.28.5
4
-
5
- from __future__ import annotations
6
-
7
- from typing import Optional
8
-
9
- from pydantic import BaseModel, conint
10
-
11
-
12
- class BaseSelectorParametersSchema(BaseModel):
13
- default_index: Optional[conint(ge=0)] = 0
14
- """
15
- Default index for the selector
16
- """
@@ -1,3 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: schema
3
- # version: 0.28.5
@@ -1,28 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: material/builders/single_material/two_dimensional/slab/builder_parameters.json
3
- # version: 0.28.5
4
-
5
- from __future__ import annotations
6
-
7
- from typing import Optional, Union
8
-
9
- from pydantic import BaseModel, confloat, conint
10
-
11
-
12
- class SlabBuilderParametersSchema(BaseModel):
13
- min_vacuum_size: Optional[Union[conint(ge=0), confloat(ge=0.0)]] = 1
14
- """
15
- Minimum size of the vacuum in layers or angstroms
16
- """
17
- in_unit_planes: Optional[bool] = True
18
- """
19
- Whether to cleave in unit planes
20
- """
21
- reorient_lattice: Optional[bool] = True
22
- """
23
- Whether to reorient the lattice
24
- """
25
- symmetrize: Optional[bool] = True
26
- """
27
- Whether to symmetrize the slab
28
- """
@@ -1,151 +0,0 @@
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
- """
@@ -1,3 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: schema
3
- # version: 0.28.5
@@ -1,3 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: schema
3
- # version: 0.28.5
@@ -1,21 +0,0 @@
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")
@@ -1,24 +0,0 @@
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)
@@ -1,26 +0,0 @@
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
@@ -1,24 +0,0 @@
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)
@@ -1,24 +0,0 @@
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
@@ -1,27 +0,0 @@
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
@@ -1,25 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: material/reusable/repetitions.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, conint
10
-
11
-
12
- class CrystalRepetitionsSchemaItem(RootModel[conint(ge=1)]):
13
- root: conint(ge=1)
14
-
15
-
16
- class CrystalRepetitionsSchema(RootModel[Optional[List[CrystalRepetitionsSchemaItem]]]):
17
- root: Optional[List[CrystalRepetitionsSchemaItem]] = Field(
18
- default_factory=lambda: [CrystalRepetitionsSchemaItem.model_validate(v) for v in [1, 1, 1]],
19
- max_length=3,
20
- min_length=3,
21
- title="Crystal Repetitions Schema",
22
- )
23
- """
24
- Number of unit cells to repeat in each direction for a crystal structure.
25
- """
@@ -1,3 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: schema
3
- # version: 0.28.5
@@ -1,3 +0,0 @@
1
- # generated by datamodel-codegen:
2
- # filename: schema
3
- # version: 0.28.5
@@ -1,13 +0,0 @@
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"