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 Value151(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, Value151]
|
|
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 Name605(Enum):
|
|
423
423
|
density = "density"
|
|
424
424
|
|
|
425
425
|
|
|
426
|
-
class
|
|
426
|
+
class Units249(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[Units249] = None
|
|
433
433
|
value: float
|
|
434
434
|
|
|
435
435
|
|
|
436
|
-
class
|
|
436
|
+
class Units250(Enum):
|
|
437
437
|
angstrom = "angstrom"
|
|
438
438
|
|
|
439
439
|
|
|
440
440
|
class ScalarSchema(BaseModel):
|
|
441
|
-
units: Optional[
|
|
441
|
+
units: Optional[Units250] = None
|
|
442
442
|
value: float
|
|
443
443
|
|
|
444
444
|
|
|
445
|
-
class
|
|
445
|
+
class Name606(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 Name607(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 Name608(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 Name609(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 Name610(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 Name611(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: Name611
|
|
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 Value152(Enum):
|
|
697
697
|
H = "H"
|
|
698
698
|
He = "He"
|
|
699
699
|
Li = "Li"
|
|
@@ -814,13 +814,13 @@ class Value176(Enum):
|
|
|
814
814
|
Og = "Og"
|
|
815
815
|
|
|
816
816
|
|
|
817
|
-
class
|
|
817
|
+
class Value153(Enum):
|
|
818
818
|
X = "X"
|
|
819
819
|
Vac = "Vac"
|
|
820
820
|
|
|
821
821
|
|
|
822
|
-
class
|
|
823
|
-
value: Union[
|
|
822
|
+
class AtomicElementSchema72(BaseModel):
|
|
823
|
+
value: Union[Value152, Value153]
|
|
824
824
|
"""
|
|
825
825
|
All elements, including extra elements
|
|
826
826
|
"""
|
|
@@ -830,8 +830,8 @@ class AtomicElementSchema84(BaseModel):
|
|
|
830
830
|
"""
|
|
831
831
|
|
|
832
832
|
|
|
833
|
-
class
|
|
834
|
-
elements: List[
|
|
833
|
+
class BasisSchema70(BaseModel):
|
|
834
|
+
elements: List[AtomicElementSchema72] = Field(..., title="atomic elements schema")
|
|
835
835
|
"""
|
|
836
836
|
atomic elements schema
|
|
837
837
|
"""
|
|
@@ -846,7 +846,7 @@ class BasisSchema82(BaseModel):
|
|
|
846
846
|
"""
|
|
847
847
|
|
|
848
848
|
|
|
849
|
-
class
|
|
849
|
+
class LatticeVectorsSchema70(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 LatticeVectorsSchema82(BaseModel):
|
|
|
857
857
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
858
858
|
|
|
859
859
|
|
|
860
|
-
class
|
|
860
|
+
class LatticeUnitsSchema71(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 LatticeSchema70(BaseModel):
|
|
866
866
|
a: float
|
|
867
867
|
"""
|
|
868
868
|
length of the first lattice vector
|
|
@@ -887,56 +887,56 @@ class LatticeSchema82(BaseModel):
|
|
|
887
887
|
"""
|
|
888
888
|
angle between first and third lattice vector
|
|
889
889
|
"""
|
|
890
|
-
vectors: Optional[
|
|
890
|
+
vectors: Optional[LatticeVectorsSchema70] = 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[LatticeUnitsSchema71] = Field(
|
|
893
|
+
default_factory=lambda: LatticeUnitsSchema71.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
894
894
|
title="Lattice units schema",
|
|
895
895
|
)
|
|
896
896
|
|
|
897
897
|
|
|
898
|
-
class
|
|
898
|
+
class Name612(Enum):
|
|
899
899
|
volume = "volume"
|
|
900
900
|
|
|
901
901
|
|
|
902
|
-
class
|
|
902
|
+
class Units251(Enum):
|
|
903
903
|
angstrom_3 = "angstrom^3"
|
|
904
904
|
|
|
905
905
|
|
|
906
|
-
class
|
|
906
|
+
class VolumeSchema70(BaseModel):
|
|
907
907
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
908
|
-
units: Optional[
|
|
908
|
+
units: Optional[Units251] = None
|
|
909
909
|
value: float
|
|
910
910
|
|
|
911
911
|
|
|
912
|
-
class
|
|
912
|
+
class Name613(Enum):
|
|
913
913
|
density = "density"
|
|
914
914
|
|
|
915
915
|
|
|
916
|
-
class
|
|
916
|
+
class Units252(Enum):
|
|
917
917
|
g_cm_3 = "g/cm^3"
|
|
918
918
|
|
|
919
919
|
|
|
920
|
-
class
|
|
920
|
+
class DensitySchema71(BaseModel):
|
|
921
921
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
922
|
-
units: Optional[
|
|
922
|
+
units: Optional[Units252] = None
|
|
923
923
|
value: float
|
|
924
924
|
|
|
925
925
|
|
|
926
|
-
class
|
|
926
|
+
class Units253(Enum):
|
|
927
927
|
angstrom = "angstrom"
|
|
928
928
|
|
|
929
929
|
|
|
930
|
-
class
|
|
931
|
-
units: Optional[
|
|
930
|
+
class ScalarSchema72(BaseModel):
|
|
931
|
+
units: Optional[Units253] = None
|
|
932
932
|
value: float
|
|
933
933
|
|
|
934
934
|
|
|
935
|
-
class
|
|
935
|
+
class Name614(Enum):
|
|
936
936
|
symmetry = "symmetry"
|
|
937
937
|
|
|
938
938
|
|
|
939
|
-
class
|
|
939
|
+
class SymmetrySchema70(BaseModel):
|
|
940
940
|
pointGroupSymbol: Optional[str] = None
|
|
941
941
|
"""
|
|
942
942
|
point group symbol in Schoenflies notation
|
|
@@ -945,18 +945,18 @@ class SymmetrySchema82(BaseModel):
|
|
|
945
945
|
"""
|
|
946
946
|
space group symbol in Hermann–Mauguin notation
|
|
947
947
|
"""
|
|
948
|
-
tolerance: Optional[
|
|
948
|
+
tolerance: Optional[ScalarSchema72] = 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 Name615(Enum):
|
|
956
956
|
elemental_ratio = "elemental_ratio"
|
|
957
957
|
|
|
958
958
|
|
|
959
|
-
class
|
|
959
|
+
class ElementalRatio71(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 ElementalRatio83(BaseModel):
|
|
|
965
965
|
"""
|
|
966
966
|
|
|
967
967
|
|
|
968
|
-
class
|
|
968
|
+
class Name616(Enum):
|
|
969
969
|
p_norm = "p-norm"
|
|
970
970
|
|
|
971
971
|
|
|
972
|
-
class
|
|
972
|
+
class PNorm71(BaseModel):
|
|
973
973
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
974
974
|
degree: Optional[int] = None
|
|
975
975
|
"""
|
|
@@ -978,56 +978,56 @@ class PNorm83(BaseModel):
|
|
|
978
978
|
value: float
|
|
979
979
|
|
|
980
980
|
|
|
981
|
-
class
|
|
981
|
+
class Name617(Enum):
|
|
982
982
|
inchi = "inchi"
|
|
983
983
|
|
|
984
984
|
|
|
985
|
-
class
|
|
985
|
+
class InChIRepresentationSchema71(BaseModel):
|
|
986
986
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
987
987
|
value: str
|
|
988
988
|
|
|
989
989
|
|
|
990
|
-
class
|
|
990
|
+
class Name618(Enum):
|
|
991
991
|
inchi_key = "inchi_key"
|
|
992
992
|
|
|
993
993
|
|
|
994
|
-
class
|
|
994
|
+
class InChIKeyRepresentationSchema71(BaseModel):
|
|
995
995
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
996
996
|
value: str
|
|
997
997
|
|
|
998
998
|
|
|
999
|
-
class
|
|
999
|
+
class DerivedPropertiesSchema71(
|
|
1000
1000
|
RootModel[
|
|
1001
1001
|
Union[
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1002
|
+
VolumeSchema70,
|
|
1003
|
+
DensitySchema71,
|
|
1004
|
+
SymmetrySchema70,
|
|
1005
|
+
ElementalRatio71,
|
|
1006
|
+
PNorm71,
|
|
1007
|
+
InChIRepresentationSchema71,
|
|
1008
|
+
InChIKeyRepresentationSchema71,
|
|
1009
1009
|
]
|
|
1010
1010
|
]
|
|
1011
1011
|
):
|
|
1012
1012
|
root: Union[
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1013
|
+
VolumeSchema70,
|
|
1014
|
+
DensitySchema71,
|
|
1015
|
+
SymmetrySchema70,
|
|
1016
|
+
ElementalRatio71,
|
|
1017
|
+
PNorm71,
|
|
1018
|
+
InChIRepresentationSchema71,
|
|
1019
|
+
InChIKeyRepresentationSchema71,
|
|
1020
1020
|
] = Field(..., discriminator="name")
|
|
1021
1021
|
|
|
1022
1022
|
|
|
1023
|
-
class
|
|
1023
|
+
class Name619(Enum):
|
|
1024
1024
|
default = "default"
|
|
1025
1025
|
atomsTooClose = "atomsTooClose"
|
|
1026
1026
|
atomsOverlap = "atomsOverlap"
|
|
1027
1027
|
|
|
1028
1028
|
|
|
1029
|
-
class
|
|
1030
|
-
name:
|
|
1029
|
+
class MaterialConsistencyCheckSchema70(BaseModel):
|
|
1030
|
+
name: Name619
|
|
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 MaterialConsistencyCheckSchema82(BaseModel):
|
|
|
1045
1045
|
"""
|
|
1046
1046
|
|
|
1047
1047
|
|
|
1048
|
-
class
|
|
1048
|
+
class CrystalSchema65(BaseModel):
|
|
1049
1049
|
formula: Optional[str] = None
|
|
1050
1050
|
"""
|
|
1051
1051
|
reduced chemical formula
|
|
@@ -1054,9 +1054,9 @@ class CrystalSchema77(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: BasisSchema70 = Field(..., title="basis schema")
|
|
1058
|
+
lattice: LatticeSchema70 = Field(..., title="lattice schema")
|
|
1059
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema71]] = 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 CrystalSchema77(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[MaterialConsistencyCheckSchema70]] = 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: CrystalSchema65 = 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,9 +1133,13 @@ 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
|
+
"""
|
|
1128
1140
|
|
|
1129
1141
|
|
|
1130
|
-
class
|
|
1142
|
+
class Value154(Enum):
|
|
1131
1143
|
H = "H"
|
|
1132
1144
|
He = "He"
|
|
1133
1145
|
Li = "Li"
|
|
@@ -1248,13 +1260,13 @@ class Value178(Enum):
|
|
|
1248
1260
|
Og = "Og"
|
|
1249
1261
|
|
|
1250
1262
|
|
|
1251
|
-
class
|
|
1263
|
+
class Value155(Enum):
|
|
1252
1264
|
X = "X"
|
|
1253
1265
|
Vac = "Vac"
|
|
1254
1266
|
|
|
1255
1267
|
|
|
1256
|
-
class
|
|
1257
|
-
value: Union[
|
|
1268
|
+
class AtomicElementSchema73(BaseModel):
|
|
1269
|
+
value: Union[Value154, Value155]
|
|
1258
1270
|
"""
|
|
1259
1271
|
All elements, including extra elements
|
|
1260
1272
|
"""
|
|
@@ -1264,8 +1276,8 @@ class AtomicElementSchema85(BaseModel):
|
|
|
1264
1276
|
"""
|
|
1265
1277
|
|
|
1266
1278
|
|
|
1267
|
-
class
|
|
1268
|
-
elements: List[
|
|
1279
|
+
class BasisSchema71(BaseModel):
|
|
1280
|
+
elements: List[AtomicElementSchema73] = Field(..., title="atomic elements schema")
|
|
1269
1281
|
"""
|
|
1270
1282
|
atomic elements schema
|
|
1271
1283
|
"""
|
|
@@ -1280,7 +1292,7 @@ class BasisSchema83(BaseModel):
|
|
|
1280
1292
|
"""
|
|
1281
1293
|
|
|
1282
1294
|
|
|
1283
|
-
class
|
|
1295
|
+
class LatticeVectorsSchema71(BaseModel):
|
|
1284
1296
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
1285
1297
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
1286
1298
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -1291,12 +1303,12 @@ class LatticeVectorsSchema83(BaseModel):
|
|
|
1291
1303
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
1292
1304
|
|
|
1293
1305
|
|
|
1294
|
-
class
|
|
1306
|
+
class LatticeUnitsSchema72(BaseModel):
|
|
1295
1307
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
1296
1308
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
1297
1309
|
|
|
1298
1310
|
|
|
1299
|
-
class
|
|
1311
|
+
class LatticeSchema71(BaseModel):
|
|
1300
1312
|
a: float
|
|
1301
1313
|
"""
|
|
1302
1314
|
length of the first lattice vector
|
|
@@ -1321,56 +1333,56 @@ class LatticeSchema83(BaseModel):
|
|
|
1321
1333
|
"""
|
|
1322
1334
|
angle between first and third lattice vector
|
|
1323
1335
|
"""
|
|
1324
|
-
vectors: Optional[
|
|
1336
|
+
vectors: Optional[LatticeVectorsSchema71] = Field(None, title="lattice vectors schema")
|
|
1325
1337
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
1326
|
-
units: Optional[
|
|
1327
|
-
default_factory=lambda:
|
|
1338
|
+
units: Optional[LatticeUnitsSchema72] = Field(
|
|
1339
|
+
default_factory=lambda: LatticeUnitsSchema72.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
1328
1340
|
title="Lattice units schema",
|
|
1329
1341
|
)
|
|
1330
1342
|
|
|
1331
1343
|
|
|
1332
|
-
class
|
|
1344
|
+
class Name620(Enum):
|
|
1333
1345
|
volume = "volume"
|
|
1334
1346
|
|
|
1335
1347
|
|
|
1336
|
-
class
|
|
1348
|
+
class Units254(Enum):
|
|
1337
1349
|
angstrom_3 = "angstrom^3"
|
|
1338
1350
|
|
|
1339
1351
|
|
|
1340
|
-
class
|
|
1352
|
+
class VolumeSchema71(BaseModel):
|
|
1341
1353
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
1342
|
-
units: Optional[
|
|
1354
|
+
units: Optional[Units254] = None
|
|
1343
1355
|
value: float
|
|
1344
1356
|
|
|
1345
1357
|
|
|
1346
|
-
class
|
|
1358
|
+
class Name621(Enum):
|
|
1347
1359
|
density = "density"
|
|
1348
1360
|
|
|
1349
1361
|
|
|
1350
|
-
class
|
|
1362
|
+
class Units255(Enum):
|
|
1351
1363
|
g_cm_3 = "g/cm^3"
|
|
1352
1364
|
|
|
1353
1365
|
|
|
1354
|
-
class
|
|
1366
|
+
class DensitySchema72(BaseModel):
|
|
1355
1367
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
1356
|
-
units: Optional[
|
|
1368
|
+
units: Optional[Units255] = None
|
|
1357
1369
|
value: float
|
|
1358
1370
|
|
|
1359
1371
|
|
|
1360
|
-
class
|
|
1372
|
+
class Units256(Enum):
|
|
1361
1373
|
angstrom = "angstrom"
|
|
1362
1374
|
|
|
1363
1375
|
|
|
1364
|
-
class
|
|
1365
|
-
units: Optional[
|
|
1376
|
+
class ScalarSchema73(BaseModel):
|
|
1377
|
+
units: Optional[Units256] = None
|
|
1366
1378
|
value: float
|
|
1367
1379
|
|
|
1368
1380
|
|
|
1369
|
-
class
|
|
1381
|
+
class Name622(Enum):
|
|
1370
1382
|
symmetry = "symmetry"
|
|
1371
1383
|
|
|
1372
1384
|
|
|
1373
|
-
class
|
|
1385
|
+
class SymmetrySchema71(BaseModel):
|
|
1374
1386
|
pointGroupSymbol: Optional[str] = None
|
|
1375
1387
|
"""
|
|
1376
1388
|
point group symbol in Schoenflies notation
|
|
@@ -1379,18 +1391,18 @@ class SymmetrySchema83(BaseModel):
|
|
|
1379
1391
|
"""
|
|
1380
1392
|
space group symbol in Hermann–Mauguin notation
|
|
1381
1393
|
"""
|
|
1382
|
-
tolerance: Optional[
|
|
1394
|
+
tolerance: Optional[ScalarSchema73] = Field(None, title="scalar schema")
|
|
1383
1395
|
"""
|
|
1384
1396
|
tolerance used for symmetry calculation
|
|
1385
1397
|
"""
|
|
1386
1398
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
1387
1399
|
|
|
1388
1400
|
|
|
1389
|
-
class
|
|
1401
|
+
class Name623(Enum):
|
|
1390
1402
|
elemental_ratio = "elemental_ratio"
|
|
1391
1403
|
|
|
1392
1404
|
|
|
1393
|
-
class
|
|
1405
|
+
class ElementalRatio72(BaseModel):
|
|
1394
1406
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
1395
1407
|
value: confloat(ge=0.0, le=1.0)
|
|
1396
1408
|
element: Optional[str] = None
|
|
@@ -1399,11 +1411,11 @@ class ElementalRatio84(BaseModel):
|
|
|
1399
1411
|
"""
|
|
1400
1412
|
|
|
1401
1413
|
|
|
1402
|
-
class
|
|
1414
|
+
class Name624(Enum):
|
|
1403
1415
|
p_norm = "p-norm"
|
|
1404
1416
|
|
|
1405
1417
|
|
|
1406
|
-
class
|
|
1418
|
+
class PNorm72(BaseModel):
|
|
1407
1419
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
1408
1420
|
degree: Optional[int] = None
|
|
1409
1421
|
"""
|
|
@@ -1412,56 +1424,56 @@ class PNorm84(BaseModel):
|
|
|
1412
1424
|
value: float
|
|
1413
1425
|
|
|
1414
1426
|
|
|
1415
|
-
class
|
|
1427
|
+
class Name625(Enum):
|
|
1416
1428
|
inchi = "inchi"
|
|
1417
1429
|
|
|
1418
1430
|
|
|
1419
|
-
class
|
|
1431
|
+
class InChIRepresentationSchema72(BaseModel):
|
|
1420
1432
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
1421
1433
|
value: str
|
|
1422
1434
|
|
|
1423
1435
|
|
|
1424
|
-
class
|
|
1436
|
+
class Name626(Enum):
|
|
1425
1437
|
inchi_key = "inchi_key"
|
|
1426
1438
|
|
|
1427
1439
|
|
|
1428
|
-
class
|
|
1440
|
+
class InChIKeyRepresentationSchema72(BaseModel):
|
|
1429
1441
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
1430
1442
|
value: str
|
|
1431
1443
|
|
|
1432
1444
|
|
|
1433
|
-
class
|
|
1445
|
+
class DerivedPropertiesSchema72(
|
|
1434
1446
|
RootModel[
|
|
1435
1447
|
Union[
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1448
|
+
VolumeSchema71,
|
|
1449
|
+
DensitySchema72,
|
|
1450
|
+
SymmetrySchema71,
|
|
1451
|
+
ElementalRatio72,
|
|
1452
|
+
PNorm72,
|
|
1453
|
+
InChIRepresentationSchema72,
|
|
1454
|
+
InChIKeyRepresentationSchema72,
|
|
1443
1455
|
]
|
|
1444
1456
|
]
|
|
1445
1457
|
):
|
|
1446
1458
|
root: Union[
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1459
|
+
VolumeSchema71,
|
|
1460
|
+
DensitySchema72,
|
|
1461
|
+
SymmetrySchema71,
|
|
1462
|
+
ElementalRatio72,
|
|
1463
|
+
PNorm72,
|
|
1464
|
+
InChIRepresentationSchema72,
|
|
1465
|
+
InChIKeyRepresentationSchema72,
|
|
1454
1466
|
] = Field(..., discriminator="name")
|
|
1455
1467
|
|
|
1456
1468
|
|
|
1457
|
-
class
|
|
1469
|
+
class Name627(Enum):
|
|
1458
1470
|
default = "default"
|
|
1459
1471
|
atomsTooClose = "atomsTooClose"
|
|
1460
1472
|
atomsOverlap = "atomsOverlap"
|
|
1461
1473
|
|
|
1462
1474
|
|
|
1463
|
-
class
|
|
1464
|
-
name:
|
|
1475
|
+
class MaterialConsistencyCheckSchema71(BaseModel):
|
|
1476
|
+
name: Name627
|
|
1465
1477
|
"""
|
|
1466
1478
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
1467
1479
|
"""
|
|
@@ -1479,7 +1491,7 @@ class MaterialConsistencyCheckSchema83(BaseModel):
|
|
|
1479
1491
|
"""
|
|
1480
1492
|
|
|
1481
1493
|
|
|
1482
|
-
class
|
|
1494
|
+
class CrystalSchema66(BaseModel):
|
|
1483
1495
|
formula: Optional[str] = None
|
|
1484
1496
|
"""
|
|
1485
1497
|
reduced chemical formula
|
|
@@ -1488,9 +1500,9 @@ class CrystalSchema78(BaseModel):
|
|
|
1488
1500
|
"""
|
|
1489
1501
|
chemical formula based on the number of atoms of each element in the supercell
|
|
1490
1502
|
"""
|
|
1491
|
-
basis:
|
|
1492
|
-
lattice:
|
|
1493
|
-
derivedProperties: Optional[List[
|
|
1503
|
+
basis: BasisSchema71 = Field(..., title="basis schema")
|
|
1504
|
+
lattice: LatticeSchema71 = Field(..., title="lattice schema")
|
|
1505
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema72]] = Field(None, title="derived properties schema")
|
|
1494
1506
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
1495
1507
|
"""
|
|
1496
1508
|
information about a database source
|
|
@@ -1511,7 +1523,7 @@ class CrystalSchema78(BaseModel):
|
|
|
1511
1523
|
"""
|
|
1512
1524
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
1513
1525
|
"""
|
|
1514
|
-
consistencyChecks: Optional[List[
|
|
1526
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema71]] = None
|
|
1515
1527
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
1516
1528
|
"""
|
|
1517
1529
|
entity identity
|
|
@@ -1536,7 +1548,7 @@ class CrystalSchema78(BaseModel):
|
|
|
1536
1548
|
metadata: Optional[Dict[str, Any]] = None
|
|
1537
1549
|
|
|
1538
1550
|
|
|
1539
|
-
class
|
|
1551
|
+
class VacuumConfigurationSchema28(BaseModel):
|
|
1540
1552
|
direction: AxisEnum = Field(..., title="Axis Enum")
|
|
1541
1553
|
"""
|
|
1542
1554
|
Enum for axis types
|
|
@@ -1545,17 +1557,21 @@ class VacuumConfigurationSchema34(BaseModel):
|
|
|
1545
1557
|
"""
|
|
1546
1558
|
Size of the vacuum slab in angstroms
|
|
1547
1559
|
"""
|
|
1548
|
-
crystal:
|
|
1560
|
+
crystal: CrystalSchema66 = Field(..., title="Crystal Schema")
|
|
1549
1561
|
"""
|
|
1550
1562
|
A crystal structure, referencing the base material schema
|
|
1551
1563
|
"""
|
|
1552
1564
|
|
|
1553
1565
|
|
|
1554
1566
|
class SlabStackConfigurationSchema(BaseModel):
|
|
1555
|
-
stack_components: List[Union[SlabConfigurationSchema, Dict[str, Any],
|
|
1567
|
+
stack_components: List[Union[SlabConfigurationSchema, Dict[str, Any], VacuumConfigurationSchema28]] = Field(
|
|
1556
1568
|
..., max_length=3, min_length=3
|
|
1557
1569
|
)
|
|
1558
1570
|
direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
|
|
1559
1571
|
"""
|
|
1560
1572
|
Enum for axis types
|
|
1561
1573
|
"""
|
|
1574
|
+
gaps: Optional[List[ObjectWithId]] = None
|
|
1575
|
+
"""
|
|
1576
|
+
Gap distances between stack components as an array of objects with id and value
|
|
1577
|
+
"""
|