mat3ra-esse 2025.7.29.post0__py3-none-any.whl → 2025.8.6.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/core/reusable/energy.py +2 -2
- mat3ra/esse/models/element.py +6 -6
- mat3ra/esse/models/material/__init__.py +14 -14
- mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py +549 -2319
- mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py +537 -2307
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/configuration.py +206 -190
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py +56 -1826
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/configuration.py +331 -311
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/configuration.py +331 -311
- mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py +72 -72
- mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py +72 -72
- mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py +14 -14
- mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/ideal_crystal.py +14 -14
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanoribbon.py +150 -134
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanotape.py +86 -74
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +84 -72
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py +84 -72
- mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/configuration.py +70 -70
- mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py +14 -14
- mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py +14 -14
- mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py +14 -14
- mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/crystal.py +14 -14
- mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +14 -14
- mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py +14 -14
- mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py +16 -16
- mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py +14 -14
- mat3ra/esse/models/materials_category_components/entities/reusable/{repetitions.py → three_dimensional/repetitions.py} +1 -1
- mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +14 -14
- mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py +14 -14
- mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py +14 -14
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py +14 -14
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py +148 -132
- mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +14 -2
- mat3ra/esse/models/materials_category_components/operations/core/modifications/perturb.py +14 -14
- mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
- mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
- mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
- mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
- mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
- {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/RECORD +59 -60
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py +0 -1151
- {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/top_level.txt +0 -0
|
@@ -265,13 +265,13 @@ class Value(Enum):
|
|
|
265
265
|
Og = "Og"
|
|
266
266
|
|
|
267
267
|
|
|
268
|
-
class
|
|
268
|
+
class Value147(Enum):
|
|
269
269
|
X = "X"
|
|
270
270
|
Vac = "Vac"
|
|
271
271
|
|
|
272
272
|
|
|
273
273
|
class AtomicElementSchema(BaseModel):
|
|
274
|
-
value: Union[Value,
|
|
274
|
+
value: Union[Value, Value147]
|
|
275
275
|
"""
|
|
276
276
|
All elements, including extra elements
|
|
277
277
|
"""
|
|
@@ -419,30 +419,30 @@ class VolumeSchema(BaseModel):
|
|
|
419
419
|
value: float
|
|
420
420
|
|
|
421
421
|
|
|
422
|
-
class
|
|
422
|
+
class Name589(Enum):
|
|
423
423
|
density = "density"
|
|
424
424
|
|
|
425
425
|
|
|
426
|
-
class
|
|
426
|
+
class Units243(Enum):
|
|
427
427
|
g_cm_3 = "g/cm^3"
|
|
428
428
|
|
|
429
429
|
|
|
430
430
|
class DensitySchema(BaseModel):
|
|
431
431
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
432
|
-
units: Optional[
|
|
432
|
+
units: Optional[Units243] = None
|
|
433
433
|
value: float
|
|
434
434
|
|
|
435
435
|
|
|
436
|
-
class
|
|
436
|
+
class Units244(Enum):
|
|
437
437
|
angstrom = "angstrom"
|
|
438
438
|
|
|
439
439
|
|
|
440
440
|
class ScalarSchema(BaseModel):
|
|
441
|
-
units: Optional[
|
|
441
|
+
units: Optional[Units244] = None
|
|
442
442
|
value: float
|
|
443
443
|
|
|
444
444
|
|
|
445
|
-
class
|
|
445
|
+
class Name590(Enum):
|
|
446
446
|
symmetry = "symmetry"
|
|
447
447
|
|
|
448
448
|
|
|
@@ -462,7 +462,7 @@ class SymmetrySchema(BaseModel):
|
|
|
462
462
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
463
463
|
|
|
464
464
|
|
|
465
|
-
class
|
|
465
|
+
class Name591(Enum):
|
|
466
466
|
elemental_ratio = "elemental_ratio"
|
|
467
467
|
|
|
468
468
|
|
|
@@ -475,7 +475,7 @@ class ElementalRatio(BaseModel):
|
|
|
475
475
|
"""
|
|
476
476
|
|
|
477
477
|
|
|
478
|
-
class
|
|
478
|
+
class Name592(Enum):
|
|
479
479
|
p_norm = "p-norm"
|
|
480
480
|
|
|
481
481
|
|
|
@@ -488,7 +488,7 @@ class PNorm(BaseModel):
|
|
|
488
488
|
value: float
|
|
489
489
|
|
|
490
490
|
|
|
491
|
-
class
|
|
491
|
+
class Name593(Enum):
|
|
492
492
|
inchi = "inchi"
|
|
493
493
|
|
|
494
494
|
|
|
@@ -497,7 +497,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
497
497
|
value: str
|
|
498
498
|
|
|
499
499
|
|
|
500
|
-
class
|
|
500
|
+
class Name594(Enum):
|
|
501
501
|
inchi_key = "inchi_key"
|
|
502
502
|
|
|
503
503
|
|
|
@@ -576,7 +576,7 @@ class FileSourceSchema(BaseModel):
|
|
|
576
576
|
"""
|
|
577
577
|
|
|
578
578
|
|
|
579
|
-
class
|
|
579
|
+
class Name595(Enum):
|
|
580
580
|
default = "default"
|
|
581
581
|
atomsTooClose = "atomsTooClose"
|
|
582
582
|
atomsOverlap = "atomsOverlap"
|
|
@@ -589,7 +589,7 @@ class Severity(Enum):
|
|
|
589
589
|
|
|
590
590
|
|
|
591
591
|
class MaterialConsistencyCheckSchema(BaseModel):
|
|
592
|
-
name:
|
|
592
|
+
name: Name595
|
|
593
593
|
"""
|
|
594
594
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
595
595
|
"""
|
|
@@ -693,7 +693,7 @@ class AxisEnum(Enum):
|
|
|
693
693
|
z = "z"
|
|
694
694
|
|
|
695
695
|
|
|
696
|
-
class
|
|
696
|
+
class Value148(Enum):
|
|
697
697
|
H = "H"
|
|
698
698
|
He = "He"
|
|
699
699
|
Li = "Li"
|
|
@@ -814,13 +814,13 @@ class Value172(Enum):
|
|
|
814
814
|
Og = "Og"
|
|
815
815
|
|
|
816
816
|
|
|
817
|
-
class
|
|
817
|
+
class Value149(Enum):
|
|
818
818
|
X = "X"
|
|
819
819
|
Vac = "Vac"
|
|
820
820
|
|
|
821
821
|
|
|
822
|
-
class
|
|
823
|
-
value: Union[
|
|
822
|
+
class AtomicElementSchema70(BaseModel):
|
|
823
|
+
value: Union[Value148, Value149]
|
|
824
824
|
"""
|
|
825
825
|
All elements, including extra elements
|
|
826
826
|
"""
|
|
@@ -830,8 +830,8 @@ class AtomicElementSchema82(BaseModel):
|
|
|
830
830
|
"""
|
|
831
831
|
|
|
832
832
|
|
|
833
|
-
class
|
|
834
|
-
elements: List[
|
|
833
|
+
class BasisSchema68(BaseModel):
|
|
834
|
+
elements: List[AtomicElementSchema70] = Field(..., title="atomic elements schema")
|
|
835
835
|
"""
|
|
836
836
|
atomic elements schema
|
|
837
837
|
"""
|
|
@@ -846,7 +846,7 @@ class BasisSchema80(BaseModel):
|
|
|
846
846
|
"""
|
|
847
847
|
|
|
848
848
|
|
|
849
|
-
class
|
|
849
|
+
class LatticeVectorsSchema68(BaseModel):
|
|
850
850
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
851
851
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
852
852
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -857,12 +857,12 @@ class LatticeVectorsSchema80(BaseModel):
|
|
|
857
857
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
858
858
|
|
|
859
859
|
|
|
860
|
-
class
|
|
860
|
+
class LatticeUnitsSchema69(BaseModel):
|
|
861
861
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
862
862
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
863
863
|
|
|
864
864
|
|
|
865
|
-
class
|
|
865
|
+
class LatticeSchema68(BaseModel):
|
|
866
866
|
a: float
|
|
867
867
|
"""
|
|
868
868
|
length of the first lattice vector
|
|
@@ -887,56 +887,56 @@ class LatticeSchema80(BaseModel):
|
|
|
887
887
|
"""
|
|
888
888
|
angle between first and third lattice vector
|
|
889
889
|
"""
|
|
890
|
-
vectors: Optional[
|
|
890
|
+
vectors: Optional[LatticeVectorsSchema68] = Field(None, title="lattice vectors schema")
|
|
891
891
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
892
|
-
units: Optional[
|
|
893
|
-
default_factory=lambda:
|
|
892
|
+
units: Optional[LatticeUnitsSchema69] = Field(
|
|
893
|
+
default_factory=lambda: LatticeUnitsSchema69.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
894
894
|
title="Lattice units schema",
|
|
895
895
|
)
|
|
896
896
|
|
|
897
897
|
|
|
898
|
-
class
|
|
898
|
+
class Name596(Enum):
|
|
899
899
|
volume = "volume"
|
|
900
900
|
|
|
901
901
|
|
|
902
|
-
class
|
|
902
|
+
class Units245(Enum):
|
|
903
903
|
angstrom_3 = "angstrom^3"
|
|
904
904
|
|
|
905
905
|
|
|
906
|
-
class
|
|
906
|
+
class VolumeSchema68(BaseModel):
|
|
907
907
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
908
|
-
units: Optional[
|
|
908
|
+
units: Optional[Units245] = None
|
|
909
909
|
value: float
|
|
910
910
|
|
|
911
911
|
|
|
912
|
-
class
|
|
912
|
+
class Name597(Enum):
|
|
913
913
|
density = "density"
|
|
914
914
|
|
|
915
915
|
|
|
916
|
-
class
|
|
916
|
+
class Units246(Enum):
|
|
917
917
|
g_cm_3 = "g/cm^3"
|
|
918
918
|
|
|
919
919
|
|
|
920
|
-
class
|
|
920
|
+
class DensitySchema69(BaseModel):
|
|
921
921
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
922
|
-
units: Optional[
|
|
922
|
+
units: Optional[Units246] = None
|
|
923
923
|
value: float
|
|
924
924
|
|
|
925
925
|
|
|
926
|
-
class
|
|
926
|
+
class Units247(Enum):
|
|
927
927
|
angstrom = "angstrom"
|
|
928
928
|
|
|
929
929
|
|
|
930
|
-
class
|
|
931
|
-
units: Optional[
|
|
930
|
+
class ScalarSchema70(BaseModel):
|
|
931
|
+
units: Optional[Units247] = None
|
|
932
932
|
value: float
|
|
933
933
|
|
|
934
934
|
|
|
935
|
-
class
|
|
935
|
+
class Name598(Enum):
|
|
936
936
|
symmetry = "symmetry"
|
|
937
937
|
|
|
938
938
|
|
|
939
|
-
class
|
|
939
|
+
class SymmetrySchema68(BaseModel):
|
|
940
940
|
pointGroupSymbol: Optional[str] = None
|
|
941
941
|
"""
|
|
942
942
|
point group symbol in Schoenflies notation
|
|
@@ -945,18 +945,18 @@ class SymmetrySchema80(BaseModel):
|
|
|
945
945
|
"""
|
|
946
946
|
space group symbol in Hermann–Mauguin notation
|
|
947
947
|
"""
|
|
948
|
-
tolerance: Optional[
|
|
948
|
+
tolerance: Optional[ScalarSchema70] = Field(None, title="scalar schema")
|
|
949
949
|
"""
|
|
950
950
|
tolerance used for symmetry calculation
|
|
951
951
|
"""
|
|
952
952
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
953
953
|
|
|
954
954
|
|
|
955
|
-
class
|
|
955
|
+
class Name599(Enum):
|
|
956
956
|
elemental_ratio = "elemental_ratio"
|
|
957
957
|
|
|
958
958
|
|
|
959
|
-
class
|
|
959
|
+
class ElementalRatio69(BaseModel):
|
|
960
960
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
961
961
|
value: confloat(ge=0.0, le=1.0)
|
|
962
962
|
element: Optional[str] = None
|
|
@@ -965,11 +965,11 @@ class ElementalRatio81(BaseModel):
|
|
|
965
965
|
"""
|
|
966
966
|
|
|
967
967
|
|
|
968
|
-
class
|
|
968
|
+
class Name600(Enum):
|
|
969
969
|
p_norm = "p-norm"
|
|
970
970
|
|
|
971
971
|
|
|
972
|
-
class
|
|
972
|
+
class PNorm69(BaseModel):
|
|
973
973
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
974
974
|
degree: Optional[int] = None
|
|
975
975
|
"""
|
|
@@ -978,56 +978,56 @@ class PNorm81(BaseModel):
|
|
|
978
978
|
value: float
|
|
979
979
|
|
|
980
980
|
|
|
981
|
-
class
|
|
981
|
+
class Name601(Enum):
|
|
982
982
|
inchi = "inchi"
|
|
983
983
|
|
|
984
984
|
|
|
985
|
-
class
|
|
985
|
+
class InChIRepresentationSchema69(BaseModel):
|
|
986
986
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
987
987
|
value: str
|
|
988
988
|
|
|
989
989
|
|
|
990
|
-
class
|
|
990
|
+
class Name602(Enum):
|
|
991
991
|
inchi_key = "inchi_key"
|
|
992
992
|
|
|
993
993
|
|
|
994
|
-
class
|
|
994
|
+
class InChIKeyRepresentationSchema69(BaseModel):
|
|
995
995
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
996
996
|
value: str
|
|
997
997
|
|
|
998
998
|
|
|
999
|
-
class
|
|
999
|
+
class DerivedPropertiesSchema69(
|
|
1000
1000
|
RootModel[
|
|
1001
1001
|
Union[
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1002
|
+
VolumeSchema68,
|
|
1003
|
+
DensitySchema69,
|
|
1004
|
+
SymmetrySchema68,
|
|
1005
|
+
ElementalRatio69,
|
|
1006
|
+
PNorm69,
|
|
1007
|
+
InChIRepresentationSchema69,
|
|
1008
|
+
InChIKeyRepresentationSchema69,
|
|
1009
1009
|
]
|
|
1010
1010
|
]
|
|
1011
1011
|
):
|
|
1012
1012
|
root: Union[
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1013
|
+
VolumeSchema68,
|
|
1014
|
+
DensitySchema69,
|
|
1015
|
+
SymmetrySchema68,
|
|
1016
|
+
ElementalRatio69,
|
|
1017
|
+
PNorm69,
|
|
1018
|
+
InChIRepresentationSchema69,
|
|
1019
|
+
InChIKeyRepresentationSchema69,
|
|
1020
1020
|
] = Field(..., discriminator="name")
|
|
1021
1021
|
|
|
1022
1022
|
|
|
1023
|
-
class
|
|
1023
|
+
class Name603(Enum):
|
|
1024
1024
|
default = "default"
|
|
1025
1025
|
atomsTooClose = "atomsTooClose"
|
|
1026
1026
|
atomsOverlap = "atomsOverlap"
|
|
1027
1027
|
|
|
1028
1028
|
|
|
1029
|
-
class
|
|
1030
|
-
name:
|
|
1029
|
+
class MaterialConsistencyCheckSchema68(BaseModel):
|
|
1030
|
+
name: Name603
|
|
1031
1031
|
"""
|
|
1032
1032
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
1033
1033
|
"""
|
|
@@ -1045,7 +1045,7 @@ class MaterialConsistencyCheckSchema80(BaseModel):
|
|
|
1045
1045
|
"""
|
|
1046
1046
|
|
|
1047
1047
|
|
|
1048
|
-
class
|
|
1048
|
+
class CrystalSchema63(BaseModel):
|
|
1049
1049
|
formula: Optional[str] = None
|
|
1050
1050
|
"""
|
|
1051
1051
|
reduced chemical formula
|
|
@@ -1054,9 +1054,9 @@ class CrystalSchema75(BaseModel):
|
|
|
1054
1054
|
"""
|
|
1055
1055
|
chemical formula based on the number of atoms of each element in the supercell
|
|
1056
1056
|
"""
|
|
1057
|
-
basis:
|
|
1058
|
-
lattice:
|
|
1059
|
-
derivedProperties: Optional[List[
|
|
1057
|
+
basis: BasisSchema68 = Field(..., title="basis schema")
|
|
1058
|
+
lattice: LatticeSchema68 = Field(..., title="lattice schema")
|
|
1059
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema69]] = Field(None, title="derived properties schema")
|
|
1060
1060
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
1061
1061
|
"""
|
|
1062
1062
|
information about a database source
|
|
@@ -1077,7 +1077,7 @@ class CrystalSchema75(BaseModel):
|
|
|
1077
1077
|
"""
|
|
1078
1078
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
1079
1079
|
"""
|
|
1080
|
-
consistencyChecks: Optional[List[
|
|
1080
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema68]] = None
|
|
1081
1081
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
1082
1082
|
"""
|
|
1083
1083
|
entity identity
|
|
@@ -1111,12 +1111,20 @@ class VacuumConfigurationSchema(BaseModel):
|
|
|
1111
1111
|
"""
|
|
1112
1112
|
Size of the vacuum slab in angstroms
|
|
1113
1113
|
"""
|
|
1114
|
-
crystal:
|
|
1114
|
+
crystal: CrystalSchema63 = Field(..., title="Crystal Schema")
|
|
1115
1115
|
"""
|
|
1116
1116
|
A crystal structure, referencing the base material schema
|
|
1117
1117
|
"""
|
|
1118
1118
|
|
|
1119
1119
|
|
|
1120
|
+
class ObjectWithId(BaseModel):
|
|
1121
|
+
value: Optional[confloat(ge=0.0)] = None
|
|
1122
|
+
id: int
|
|
1123
|
+
"""
|
|
1124
|
+
integer id of this entry
|
|
1125
|
+
"""
|
|
1126
|
+
|
|
1127
|
+
|
|
1120
1128
|
class SlabConfigurationSchema(BaseModel):
|
|
1121
1129
|
stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field(
|
|
1122
1130
|
..., max_length=2, min_length=2
|
|
@@ -1125,3 +1133,7 @@ class SlabConfigurationSchema(BaseModel):
|
|
|
1125
1133
|
"""
|
|
1126
1134
|
Enum for axis types
|
|
1127
1135
|
"""
|
|
1136
|
+
gaps: Optional[List[ObjectWithId]] = None
|
|
1137
|
+
"""
|
|
1138
|
+
Gap distances between stack components as an array of objects with id and value
|
|
1139
|
+
"""
|