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
|
@@ -144,7 +144,7 @@ class TerminationSchema(BaseModel):
|
|
|
144
144
|
"""
|
|
145
145
|
|
|
146
146
|
|
|
147
|
-
class
|
|
147
|
+
class TerminationSchema23(BaseModel):
|
|
148
148
|
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
149
149
|
..., title="Chemical Elements"
|
|
150
150
|
)
|
|
@@ -278,13 +278,13 @@ class Value(Enum):
|
|
|
278
278
|
Og = "Og"
|
|
279
279
|
|
|
280
280
|
|
|
281
|
-
class
|
|
281
|
+
class Value129(Enum):
|
|
282
282
|
X = "X"
|
|
283
283
|
Vac = "Vac"
|
|
284
284
|
|
|
285
285
|
|
|
286
286
|
class AtomicElementSchema(BaseModel):
|
|
287
|
-
value: Union[Value,
|
|
287
|
+
value: Union[Value, Value129]
|
|
288
288
|
"""
|
|
289
289
|
All elements, including extra elements
|
|
290
290
|
"""
|
|
@@ -432,30 +432,30 @@ class VolumeSchema(BaseModel):
|
|
|
432
432
|
value: float
|
|
433
433
|
|
|
434
434
|
|
|
435
|
-
class
|
|
435
|
+
class Name521(Enum):
|
|
436
436
|
density = "density"
|
|
437
437
|
|
|
438
438
|
|
|
439
|
-
class
|
|
439
|
+
class Units213(Enum):
|
|
440
440
|
g_cm_3 = "g/cm^3"
|
|
441
441
|
|
|
442
442
|
|
|
443
443
|
class DensitySchema(BaseModel):
|
|
444
444
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
445
|
-
units: Optional[
|
|
445
|
+
units: Optional[Units213] = None
|
|
446
446
|
value: float
|
|
447
447
|
|
|
448
448
|
|
|
449
|
-
class
|
|
449
|
+
class Units214(Enum):
|
|
450
450
|
angstrom = "angstrom"
|
|
451
451
|
|
|
452
452
|
|
|
453
453
|
class ScalarSchema(BaseModel):
|
|
454
|
-
units: Optional[
|
|
454
|
+
units: Optional[Units214] = None
|
|
455
455
|
value: float
|
|
456
456
|
|
|
457
457
|
|
|
458
|
-
class
|
|
458
|
+
class Name522(Enum):
|
|
459
459
|
symmetry = "symmetry"
|
|
460
460
|
|
|
461
461
|
|
|
@@ -475,7 +475,7 @@ class SymmetrySchema(BaseModel):
|
|
|
475
475
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
476
476
|
|
|
477
477
|
|
|
478
|
-
class
|
|
478
|
+
class Name523(Enum):
|
|
479
479
|
elemental_ratio = "elemental_ratio"
|
|
480
480
|
|
|
481
481
|
|
|
@@ -488,7 +488,7 @@ class ElementalRatio(BaseModel):
|
|
|
488
488
|
"""
|
|
489
489
|
|
|
490
490
|
|
|
491
|
-
class
|
|
491
|
+
class Name524(Enum):
|
|
492
492
|
p_norm = "p-norm"
|
|
493
493
|
|
|
494
494
|
|
|
@@ -501,7 +501,7 @@ class PNorm(BaseModel):
|
|
|
501
501
|
value: float
|
|
502
502
|
|
|
503
503
|
|
|
504
|
-
class
|
|
504
|
+
class Name525(Enum):
|
|
505
505
|
inchi = "inchi"
|
|
506
506
|
|
|
507
507
|
|
|
@@ -510,7 +510,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
510
510
|
value: str
|
|
511
511
|
|
|
512
512
|
|
|
513
|
-
class
|
|
513
|
+
class Name526(Enum):
|
|
514
514
|
inchi_key = "inchi_key"
|
|
515
515
|
|
|
516
516
|
|
|
@@ -589,7 +589,7 @@ class FileSourceSchema(BaseModel):
|
|
|
589
589
|
"""
|
|
590
590
|
|
|
591
591
|
|
|
592
|
-
class
|
|
592
|
+
class Name527(Enum):
|
|
593
593
|
default = "default"
|
|
594
594
|
atomsTooClose = "atomsTooClose"
|
|
595
595
|
atomsOverlap = "atomsOverlap"
|
|
@@ -602,7 +602,7 @@ class Severity(Enum):
|
|
|
602
602
|
|
|
603
603
|
|
|
604
604
|
class MaterialConsistencyCheckSchema(BaseModel):
|
|
605
|
-
name:
|
|
605
|
+
name: Name527
|
|
606
606
|
"""
|
|
607
607
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
608
608
|
"""
|
|
@@ -682,7 +682,7 @@ class CrystalLatticeLinesUniqueRepeatedSchema(BaseModel):
|
|
|
682
682
|
"""
|
|
683
683
|
Defines a specific termination of a slab
|
|
684
684
|
"""
|
|
685
|
-
termination_bottom: Optional[
|
|
685
|
+
termination_bottom: Optional[TerminationSchema23] = Field(None, title="Termination Schema")
|
|
686
686
|
"""
|
|
687
687
|
Defines a specific termination of a slab
|
|
688
688
|
"""
|
|
@@ -714,7 +714,7 @@ class AxisEnum(Enum):
|
|
|
714
714
|
z = "z"
|
|
715
715
|
|
|
716
716
|
|
|
717
|
-
class
|
|
717
|
+
class Value130(Enum):
|
|
718
718
|
H = "H"
|
|
719
719
|
He = "He"
|
|
720
720
|
Li = "Li"
|
|
@@ -835,13 +835,13 @@ class Value154(Enum):
|
|
|
835
835
|
Og = "Og"
|
|
836
836
|
|
|
837
837
|
|
|
838
|
-
class
|
|
838
|
+
class Value131(Enum):
|
|
839
839
|
X = "X"
|
|
840
840
|
Vac = "Vac"
|
|
841
841
|
|
|
842
842
|
|
|
843
|
-
class
|
|
844
|
-
value: Union[
|
|
843
|
+
class AtomicElementSchema63(BaseModel):
|
|
844
|
+
value: Union[Value130, Value131]
|
|
845
845
|
"""
|
|
846
846
|
All elements, including extra elements
|
|
847
847
|
"""
|
|
@@ -851,8 +851,8 @@ class AtomicElementSchema75(BaseModel):
|
|
|
851
851
|
"""
|
|
852
852
|
|
|
853
853
|
|
|
854
|
-
class
|
|
855
|
-
elements: List[
|
|
854
|
+
class BasisSchema61(BaseModel):
|
|
855
|
+
elements: List[AtomicElementSchema63] = Field(..., title="atomic elements schema")
|
|
856
856
|
"""
|
|
857
857
|
atomic elements schema
|
|
858
858
|
"""
|
|
@@ -867,7 +867,7 @@ class BasisSchema73(BaseModel):
|
|
|
867
867
|
"""
|
|
868
868
|
|
|
869
869
|
|
|
870
|
-
class
|
|
870
|
+
class LatticeVectorsSchema61(BaseModel):
|
|
871
871
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
872
872
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
873
873
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -878,12 +878,12 @@ class LatticeVectorsSchema73(BaseModel):
|
|
|
878
878
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
879
879
|
|
|
880
880
|
|
|
881
|
-
class
|
|
881
|
+
class LatticeUnitsSchema62(BaseModel):
|
|
882
882
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
883
883
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
884
884
|
|
|
885
885
|
|
|
886
|
-
class
|
|
886
|
+
class LatticeSchema61(BaseModel):
|
|
887
887
|
a: float
|
|
888
888
|
"""
|
|
889
889
|
length of the first lattice vector
|
|
@@ -908,56 +908,56 @@ class LatticeSchema73(BaseModel):
|
|
|
908
908
|
"""
|
|
909
909
|
angle between first and third lattice vector
|
|
910
910
|
"""
|
|
911
|
-
vectors: Optional[
|
|
911
|
+
vectors: Optional[LatticeVectorsSchema61] = Field(None, title="lattice vectors schema")
|
|
912
912
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
913
|
-
units: Optional[
|
|
914
|
-
default_factory=lambda:
|
|
913
|
+
units: Optional[LatticeUnitsSchema62] = Field(
|
|
914
|
+
default_factory=lambda: LatticeUnitsSchema62.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
915
915
|
title="Lattice units schema",
|
|
916
916
|
)
|
|
917
917
|
|
|
918
918
|
|
|
919
|
-
class
|
|
919
|
+
class Name528(Enum):
|
|
920
920
|
volume = "volume"
|
|
921
921
|
|
|
922
922
|
|
|
923
|
-
class
|
|
923
|
+
class Units215(Enum):
|
|
924
924
|
angstrom_3 = "angstrom^3"
|
|
925
925
|
|
|
926
926
|
|
|
927
|
-
class
|
|
927
|
+
class VolumeSchema61(BaseModel):
|
|
928
928
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
929
|
-
units: Optional[
|
|
929
|
+
units: Optional[Units215] = None
|
|
930
930
|
value: float
|
|
931
931
|
|
|
932
932
|
|
|
933
|
-
class
|
|
933
|
+
class Name529(Enum):
|
|
934
934
|
density = "density"
|
|
935
935
|
|
|
936
936
|
|
|
937
|
-
class
|
|
937
|
+
class Units216(Enum):
|
|
938
938
|
g_cm_3 = "g/cm^3"
|
|
939
939
|
|
|
940
940
|
|
|
941
|
-
class
|
|
941
|
+
class DensitySchema62(BaseModel):
|
|
942
942
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
943
|
-
units: Optional[
|
|
943
|
+
units: Optional[Units216] = None
|
|
944
944
|
value: float
|
|
945
945
|
|
|
946
946
|
|
|
947
|
-
class
|
|
947
|
+
class Units217(Enum):
|
|
948
948
|
angstrom = "angstrom"
|
|
949
949
|
|
|
950
950
|
|
|
951
|
-
class
|
|
952
|
-
units: Optional[
|
|
951
|
+
class ScalarSchema62(BaseModel):
|
|
952
|
+
units: Optional[Units217] = None
|
|
953
953
|
value: float
|
|
954
954
|
|
|
955
955
|
|
|
956
|
-
class
|
|
956
|
+
class Name530(Enum):
|
|
957
957
|
symmetry = "symmetry"
|
|
958
958
|
|
|
959
959
|
|
|
960
|
-
class
|
|
960
|
+
class SymmetrySchema61(BaseModel):
|
|
961
961
|
pointGroupSymbol: Optional[str] = None
|
|
962
962
|
"""
|
|
963
963
|
point group symbol in Schoenflies notation
|
|
@@ -966,18 +966,18 @@ class SymmetrySchema73(BaseModel):
|
|
|
966
966
|
"""
|
|
967
967
|
space group symbol in Hermann–Mauguin notation
|
|
968
968
|
"""
|
|
969
|
-
tolerance: Optional[
|
|
969
|
+
tolerance: Optional[ScalarSchema62] = Field(None, title="scalar schema")
|
|
970
970
|
"""
|
|
971
971
|
tolerance used for symmetry calculation
|
|
972
972
|
"""
|
|
973
973
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
974
974
|
|
|
975
975
|
|
|
976
|
-
class
|
|
976
|
+
class Name531(Enum):
|
|
977
977
|
elemental_ratio = "elemental_ratio"
|
|
978
978
|
|
|
979
979
|
|
|
980
|
-
class
|
|
980
|
+
class ElementalRatio62(BaseModel):
|
|
981
981
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
982
982
|
value: confloat(ge=0.0, le=1.0)
|
|
983
983
|
element: Optional[str] = None
|
|
@@ -986,11 +986,11 @@ class ElementalRatio74(BaseModel):
|
|
|
986
986
|
"""
|
|
987
987
|
|
|
988
988
|
|
|
989
|
-
class
|
|
989
|
+
class Name532(Enum):
|
|
990
990
|
p_norm = "p-norm"
|
|
991
991
|
|
|
992
992
|
|
|
993
|
-
class
|
|
993
|
+
class PNorm61(BaseModel):
|
|
994
994
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
995
995
|
degree: Optional[int] = None
|
|
996
996
|
"""
|
|
@@ -999,56 +999,56 @@ class PNorm73(BaseModel):
|
|
|
999
999
|
value: float
|
|
1000
1000
|
|
|
1001
1001
|
|
|
1002
|
-
class
|
|
1002
|
+
class Name533(Enum):
|
|
1003
1003
|
inchi = "inchi"
|
|
1004
1004
|
|
|
1005
1005
|
|
|
1006
|
-
class
|
|
1006
|
+
class InChIRepresentationSchema62(BaseModel):
|
|
1007
1007
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
1008
1008
|
value: str
|
|
1009
1009
|
|
|
1010
1010
|
|
|
1011
|
-
class
|
|
1011
|
+
class Name534(Enum):
|
|
1012
1012
|
inchi_key = "inchi_key"
|
|
1013
1013
|
|
|
1014
1014
|
|
|
1015
|
-
class
|
|
1015
|
+
class InChIKeyRepresentationSchema62(BaseModel):
|
|
1016
1016
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
1017
1017
|
value: str
|
|
1018
1018
|
|
|
1019
1019
|
|
|
1020
|
-
class
|
|
1020
|
+
class DerivedPropertiesSchema62(
|
|
1021
1021
|
RootModel[
|
|
1022
1022
|
Union[
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1023
|
+
VolumeSchema61,
|
|
1024
|
+
DensitySchema62,
|
|
1025
|
+
SymmetrySchema61,
|
|
1026
|
+
ElementalRatio62,
|
|
1027
|
+
PNorm61,
|
|
1028
|
+
InChIRepresentationSchema62,
|
|
1029
|
+
InChIKeyRepresentationSchema62,
|
|
1030
1030
|
]
|
|
1031
1031
|
]
|
|
1032
1032
|
):
|
|
1033
1033
|
root: Union[
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1034
|
+
VolumeSchema61,
|
|
1035
|
+
DensitySchema62,
|
|
1036
|
+
SymmetrySchema61,
|
|
1037
|
+
ElementalRatio62,
|
|
1038
|
+
PNorm61,
|
|
1039
|
+
InChIRepresentationSchema62,
|
|
1040
|
+
InChIKeyRepresentationSchema62,
|
|
1041
1041
|
] = Field(..., discriminator="name")
|
|
1042
1042
|
|
|
1043
1043
|
|
|
1044
|
-
class
|
|
1044
|
+
class Name535(Enum):
|
|
1045
1045
|
default = "default"
|
|
1046
1046
|
atomsTooClose = "atomsTooClose"
|
|
1047
1047
|
atomsOverlap = "atomsOverlap"
|
|
1048
1048
|
|
|
1049
1049
|
|
|
1050
|
-
class
|
|
1051
|
-
name:
|
|
1050
|
+
class MaterialConsistencyCheckSchema61(BaseModel):
|
|
1051
|
+
name: Name535
|
|
1052
1052
|
"""
|
|
1053
1053
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
1054
1054
|
"""
|
|
@@ -1066,7 +1066,7 @@ class MaterialConsistencyCheckSchema73(BaseModel):
|
|
|
1066
1066
|
"""
|
|
1067
1067
|
|
|
1068
1068
|
|
|
1069
|
-
class
|
|
1069
|
+
class CrystalSchema57(BaseModel):
|
|
1070
1070
|
formula: Optional[str] = None
|
|
1071
1071
|
"""
|
|
1072
1072
|
reduced chemical formula
|
|
@@ -1075,9 +1075,9 @@ class CrystalSchema69(BaseModel):
|
|
|
1075
1075
|
"""
|
|
1076
1076
|
chemical formula based on the number of atoms of each element in the supercell
|
|
1077
1077
|
"""
|
|
1078
|
-
basis:
|
|
1079
|
-
lattice:
|
|
1080
|
-
derivedProperties: Optional[List[
|
|
1078
|
+
basis: BasisSchema61 = Field(..., title="basis schema")
|
|
1079
|
+
lattice: LatticeSchema61 = Field(..., title="lattice schema")
|
|
1080
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema62]] = Field(None, title="derived properties schema")
|
|
1081
1081
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
1082
1082
|
"""
|
|
1083
1083
|
information about a database source
|
|
@@ -1098,7 +1098,7 @@ class CrystalSchema69(BaseModel):
|
|
|
1098
1098
|
"""
|
|
1099
1099
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
1100
1100
|
"""
|
|
1101
|
-
consistencyChecks: Optional[List[
|
|
1101
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema61]] = None
|
|
1102
1102
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
1103
1103
|
"""
|
|
1104
1104
|
entity identity
|
|
@@ -1132,12 +1132,20 @@ class VacuumConfigurationSchema(BaseModel):
|
|
|
1132
1132
|
"""
|
|
1133
1133
|
Size of the vacuum slab in angstroms
|
|
1134
1134
|
"""
|
|
1135
|
-
crystal:
|
|
1135
|
+
crystal: CrystalSchema57 = Field(..., title="Crystal Schema")
|
|
1136
1136
|
"""
|
|
1137
1137
|
A crystal structure, referencing the base material schema
|
|
1138
1138
|
"""
|
|
1139
1139
|
|
|
1140
1140
|
|
|
1141
|
+
class ObjectWithId(BaseModel):
|
|
1142
|
+
value: Optional[confloat(ge=0.0)] = None
|
|
1143
|
+
id: int
|
|
1144
|
+
"""
|
|
1145
|
+
integer id of this entry
|
|
1146
|
+
"""
|
|
1147
|
+
|
|
1148
|
+
|
|
1141
1149
|
class NanoTapeConfigurationSchema(BaseModel):
|
|
1142
1150
|
stack_components: List[Union[CrystalLatticeLinesUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field(
|
|
1143
1151
|
..., max_length=2, min_length=2
|
|
@@ -1146,9 +1154,13 @@ class NanoTapeConfigurationSchema(BaseModel):
|
|
|
1146
1154
|
"""
|
|
1147
1155
|
Enum for axis types
|
|
1148
1156
|
"""
|
|
1157
|
+
gaps: Optional[List[ObjectWithId]] = None
|
|
1158
|
+
"""
|
|
1159
|
+
Gap distances between stack components as an array of objects with id and value
|
|
1160
|
+
"""
|
|
1149
1161
|
|
|
1150
1162
|
|
|
1151
|
-
class
|
|
1163
|
+
class Value132(Enum):
|
|
1152
1164
|
H = "H"
|
|
1153
1165
|
He = "He"
|
|
1154
1166
|
Li = "Li"
|
|
@@ -1269,13 +1281,13 @@ class Value156(Enum):
|
|
|
1269
1281
|
Og = "Og"
|
|
1270
1282
|
|
|
1271
1283
|
|
|
1272
|
-
class
|
|
1284
|
+
class Value133(Enum):
|
|
1273
1285
|
X = "X"
|
|
1274
1286
|
Vac = "Vac"
|
|
1275
1287
|
|
|
1276
1288
|
|
|
1277
|
-
class
|
|
1278
|
-
value: Union[
|
|
1289
|
+
class AtomicElementSchema64(BaseModel):
|
|
1290
|
+
value: Union[Value132, Value133]
|
|
1279
1291
|
"""
|
|
1280
1292
|
All elements, including extra elements
|
|
1281
1293
|
"""
|
|
@@ -1285,8 +1297,8 @@ class AtomicElementSchema76(BaseModel):
|
|
|
1285
1297
|
"""
|
|
1286
1298
|
|
|
1287
1299
|
|
|
1288
|
-
class
|
|
1289
|
-
elements: List[
|
|
1300
|
+
class BasisSchema62(BaseModel):
|
|
1301
|
+
elements: List[AtomicElementSchema64] = Field(..., title="atomic elements schema")
|
|
1290
1302
|
"""
|
|
1291
1303
|
atomic elements schema
|
|
1292
1304
|
"""
|
|
@@ -1301,7 +1313,7 @@ class BasisSchema74(BaseModel):
|
|
|
1301
1313
|
"""
|
|
1302
1314
|
|
|
1303
1315
|
|
|
1304
|
-
class
|
|
1316
|
+
class LatticeVectorsSchema62(BaseModel):
|
|
1305
1317
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
1306
1318
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
1307
1319
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -1312,12 +1324,12 @@ class LatticeVectorsSchema74(BaseModel):
|
|
|
1312
1324
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
1313
1325
|
|
|
1314
1326
|
|
|
1315
|
-
class
|
|
1327
|
+
class LatticeUnitsSchema63(BaseModel):
|
|
1316
1328
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
1317
1329
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
1318
1330
|
|
|
1319
1331
|
|
|
1320
|
-
class
|
|
1332
|
+
class LatticeSchema62(BaseModel):
|
|
1321
1333
|
a: float
|
|
1322
1334
|
"""
|
|
1323
1335
|
length of the first lattice vector
|
|
@@ -1342,56 +1354,56 @@ class LatticeSchema74(BaseModel):
|
|
|
1342
1354
|
"""
|
|
1343
1355
|
angle between first and third lattice vector
|
|
1344
1356
|
"""
|
|
1345
|
-
vectors: Optional[
|
|
1357
|
+
vectors: Optional[LatticeVectorsSchema62] = Field(None, title="lattice vectors schema")
|
|
1346
1358
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
1347
|
-
units: Optional[
|
|
1348
|
-
default_factory=lambda:
|
|
1359
|
+
units: Optional[LatticeUnitsSchema63] = Field(
|
|
1360
|
+
default_factory=lambda: LatticeUnitsSchema63.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
1349
1361
|
title="Lattice units schema",
|
|
1350
1362
|
)
|
|
1351
1363
|
|
|
1352
1364
|
|
|
1353
|
-
class
|
|
1365
|
+
class Name536(Enum):
|
|
1354
1366
|
volume = "volume"
|
|
1355
1367
|
|
|
1356
1368
|
|
|
1357
|
-
class
|
|
1369
|
+
class Units218(Enum):
|
|
1358
1370
|
angstrom_3 = "angstrom^3"
|
|
1359
1371
|
|
|
1360
1372
|
|
|
1361
|
-
class
|
|
1373
|
+
class VolumeSchema62(BaseModel):
|
|
1362
1374
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
1363
|
-
units: Optional[
|
|
1375
|
+
units: Optional[Units218] = None
|
|
1364
1376
|
value: float
|
|
1365
1377
|
|
|
1366
1378
|
|
|
1367
|
-
class
|
|
1379
|
+
class Name537(Enum):
|
|
1368
1380
|
density = "density"
|
|
1369
1381
|
|
|
1370
1382
|
|
|
1371
|
-
class
|
|
1383
|
+
class Units219(Enum):
|
|
1372
1384
|
g_cm_3 = "g/cm^3"
|
|
1373
1385
|
|
|
1374
1386
|
|
|
1375
|
-
class
|
|
1387
|
+
class DensitySchema63(BaseModel):
|
|
1376
1388
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
1377
|
-
units: Optional[
|
|
1389
|
+
units: Optional[Units219] = None
|
|
1378
1390
|
value: float
|
|
1379
1391
|
|
|
1380
1392
|
|
|
1381
|
-
class
|
|
1393
|
+
class Units220(Enum):
|
|
1382
1394
|
angstrom = "angstrom"
|
|
1383
1395
|
|
|
1384
1396
|
|
|
1385
|
-
class
|
|
1386
|
-
units: Optional[
|
|
1397
|
+
class ScalarSchema63(BaseModel):
|
|
1398
|
+
units: Optional[Units220] = None
|
|
1387
1399
|
value: float
|
|
1388
1400
|
|
|
1389
1401
|
|
|
1390
|
-
class
|
|
1402
|
+
class Name538(Enum):
|
|
1391
1403
|
symmetry = "symmetry"
|
|
1392
1404
|
|
|
1393
1405
|
|
|
1394
|
-
class
|
|
1406
|
+
class SymmetrySchema62(BaseModel):
|
|
1395
1407
|
pointGroupSymbol: Optional[str] = None
|
|
1396
1408
|
"""
|
|
1397
1409
|
point group symbol in Schoenflies notation
|
|
@@ -1400,18 +1412,18 @@ class SymmetrySchema74(BaseModel):
|
|
|
1400
1412
|
"""
|
|
1401
1413
|
space group symbol in Hermann–Mauguin notation
|
|
1402
1414
|
"""
|
|
1403
|
-
tolerance: Optional[
|
|
1415
|
+
tolerance: Optional[ScalarSchema63] = Field(None, title="scalar schema")
|
|
1404
1416
|
"""
|
|
1405
1417
|
tolerance used for symmetry calculation
|
|
1406
1418
|
"""
|
|
1407
1419
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
1408
1420
|
|
|
1409
1421
|
|
|
1410
|
-
class
|
|
1422
|
+
class Name539(Enum):
|
|
1411
1423
|
elemental_ratio = "elemental_ratio"
|
|
1412
1424
|
|
|
1413
1425
|
|
|
1414
|
-
class
|
|
1426
|
+
class ElementalRatio63(BaseModel):
|
|
1415
1427
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
1416
1428
|
value: confloat(ge=0.0, le=1.0)
|
|
1417
1429
|
element: Optional[str] = None
|
|
@@ -1420,11 +1432,11 @@ class ElementalRatio75(BaseModel):
|
|
|
1420
1432
|
"""
|
|
1421
1433
|
|
|
1422
1434
|
|
|
1423
|
-
class
|
|
1435
|
+
class Name540(Enum):
|
|
1424
1436
|
p_norm = "p-norm"
|
|
1425
1437
|
|
|
1426
1438
|
|
|
1427
|
-
class
|
|
1439
|
+
class PNorm62(BaseModel):
|
|
1428
1440
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
1429
1441
|
degree: Optional[int] = None
|
|
1430
1442
|
"""
|
|
@@ -1433,56 +1445,56 @@ class PNorm74(BaseModel):
|
|
|
1433
1445
|
value: float
|
|
1434
1446
|
|
|
1435
1447
|
|
|
1436
|
-
class
|
|
1448
|
+
class Name541(Enum):
|
|
1437
1449
|
inchi = "inchi"
|
|
1438
1450
|
|
|
1439
1451
|
|
|
1440
|
-
class
|
|
1452
|
+
class InChIRepresentationSchema63(BaseModel):
|
|
1441
1453
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
1442
1454
|
value: str
|
|
1443
1455
|
|
|
1444
1456
|
|
|
1445
|
-
class
|
|
1457
|
+
class Name542(Enum):
|
|
1446
1458
|
inchi_key = "inchi_key"
|
|
1447
1459
|
|
|
1448
1460
|
|
|
1449
|
-
class
|
|
1461
|
+
class InChIKeyRepresentationSchema63(BaseModel):
|
|
1450
1462
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
1451
1463
|
value: str
|
|
1452
1464
|
|
|
1453
1465
|
|
|
1454
|
-
class
|
|
1466
|
+
class DerivedPropertiesSchema63(
|
|
1455
1467
|
RootModel[
|
|
1456
1468
|
Union[
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1469
|
+
VolumeSchema62,
|
|
1470
|
+
DensitySchema63,
|
|
1471
|
+
SymmetrySchema62,
|
|
1472
|
+
ElementalRatio63,
|
|
1473
|
+
PNorm62,
|
|
1474
|
+
InChIRepresentationSchema63,
|
|
1475
|
+
InChIKeyRepresentationSchema63,
|
|
1464
1476
|
]
|
|
1465
1477
|
]
|
|
1466
1478
|
):
|
|
1467
1479
|
root: Union[
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1480
|
+
VolumeSchema62,
|
|
1481
|
+
DensitySchema63,
|
|
1482
|
+
SymmetrySchema62,
|
|
1483
|
+
ElementalRatio63,
|
|
1484
|
+
PNorm62,
|
|
1485
|
+
InChIRepresentationSchema63,
|
|
1486
|
+
InChIKeyRepresentationSchema63,
|
|
1475
1487
|
] = Field(..., discriminator="name")
|
|
1476
1488
|
|
|
1477
1489
|
|
|
1478
|
-
class
|
|
1490
|
+
class Name543(Enum):
|
|
1479
1491
|
default = "default"
|
|
1480
1492
|
atomsTooClose = "atomsTooClose"
|
|
1481
1493
|
atomsOverlap = "atomsOverlap"
|
|
1482
1494
|
|
|
1483
1495
|
|
|
1484
|
-
class
|
|
1485
|
-
name:
|
|
1496
|
+
class MaterialConsistencyCheckSchema62(BaseModel):
|
|
1497
|
+
name: Name543
|
|
1486
1498
|
"""
|
|
1487
1499
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
1488
1500
|
"""
|
|
@@ -1500,7 +1512,7 @@ class MaterialConsistencyCheckSchema74(BaseModel):
|
|
|
1500
1512
|
"""
|
|
1501
1513
|
|
|
1502
1514
|
|
|
1503
|
-
class
|
|
1515
|
+
class CrystalSchema58(BaseModel):
|
|
1504
1516
|
formula: Optional[str] = None
|
|
1505
1517
|
"""
|
|
1506
1518
|
reduced chemical formula
|
|
@@ -1509,9 +1521,9 @@ class CrystalSchema70(BaseModel):
|
|
|
1509
1521
|
"""
|
|
1510
1522
|
chemical formula based on the number of atoms of each element in the supercell
|
|
1511
1523
|
"""
|
|
1512
|
-
basis:
|
|
1513
|
-
lattice:
|
|
1514
|
-
derivedProperties: Optional[List[
|
|
1524
|
+
basis: BasisSchema62 = Field(..., title="basis schema")
|
|
1525
|
+
lattice: LatticeSchema62 = Field(..., title="lattice schema")
|
|
1526
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema63]] = Field(None, title="derived properties schema")
|
|
1515
1527
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
1516
1528
|
"""
|
|
1517
1529
|
information about a database source
|
|
@@ -1532,7 +1544,7 @@ class CrystalSchema70(BaseModel):
|
|
|
1532
1544
|
"""
|
|
1533
1545
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
1534
1546
|
"""
|
|
1535
|
-
consistencyChecks: Optional[List[
|
|
1547
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema62]] = None
|
|
1536
1548
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
1537
1549
|
"""
|
|
1538
1550
|
entity identity
|
|
@@ -1557,7 +1569,7 @@ class CrystalSchema70(BaseModel):
|
|
|
1557
1569
|
metadata: Optional[Dict[str, Any]] = None
|
|
1558
1570
|
|
|
1559
1571
|
|
|
1560
|
-
class
|
|
1572
|
+
class VacuumConfigurationSchema24(BaseModel):
|
|
1561
1573
|
direction: AxisEnum = Field(..., title="Axis Enum")
|
|
1562
1574
|
"""
|
|
1563
1575
|
Enum for axis types
|
|
@@ -1566,17 +1578,21 @@ class VacuumConfigurationSchema30(BaseModel):
|
|
|
1566
1578
|
"""
|
|
1567
1579
|
Size of the vacuum slab in angstroms
|
|
1568
1580
|
"""
|
|
1569
|
-
crystal:
|
|
1581
|
+
crystal: CrystalSchema58 = Field(..., title="Crystal Schema")
|
|
1570
1582
|
"""
|
|
1571
1583
|
A crystal structure, referencing the base material schema
|
|
1572
1584
|
"""
|
|
1573
1585
|
|
|
1574
1586
|
|
|
1575
1587
|
class NanoribbonConfigurationSchema(BaseModel):
|
|
1576
|
-
stack_components: List[Union[NanoTapeConfigurationSchema,
|
|
1588
|
+
stack_components: List[Union[NanoTapeConfigurationSchema, VacuumConfigurationSchema24]] = Field(
|
|
1577
1589
|
..., max_length=2, min_length=2
|
|
1578
1590
|
)
|
|
1579
1591
|
direction: Optional[AxisEnum] = Field("x", title="Axis Enum")
|
|
1580
1592
|
"""
|
|
1581
1593
|
Enum for axis types
|
|
1582
1594
|
"""
|
|
1595
|
+
gaps: Optional[List[ObjectWithId]] = None
|
|
1596
|
+
"""
|
|
1597
|
+
Gap distances between stack components as an array of objects with id and value
|
|
1598
|
+
"""
|