mat3ra-esse 2025.7.29.post0__py3-none-any.whl → 2025.8.6.post1__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/models/software/template.py +4 -0
- mat3ra/esse/models/software_directory/modeling/unit/execution.py +4 -0
- mat3ra/esse/models/software_directory/scripting/unit/execution.py +4 -0
- mat3ra/esse/models/workflow/unit/input/_input.py +4 -0
- mat3ra/esse/models/workflow/unit/input/_inputItem.py +4 -0
- {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post1.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post1.dist-info}/RECORD +64 -65
- 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.post1.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post1.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post1.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 Value67(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, Value67]
|
|
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 Name240(Enum):
|
|
423
423
|
density = "density"
|
|
424
424
|
|
|
425
425
|
|
|
426
|
-
class
|
|
426
|
+
class Units97(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[Units97] = None
|
|
433
433
|
value: float
|
|
434
434
|
|
|
435
435
|
|
|
436
|
-
class
|
|
436
|
+
class Units98(Enum):
|
|
437
437
|
angstrom = "angstrom"
|
|
438
438
|
|
|
439
439
|
|
|
440
440
|
class ScalarSchema(BaseModel):
|
|
441
|
-
units: Optional[
|
|
441
|
+
units: Optional[Units98] = None
|
|
442
442
|
value: float
|
|
443
443
|
|
|
444
444
|
|
|
445
|
-
class
|
|
445
|
+
class Name241(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 Name242(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 Name243(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 Name244(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 Name245(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 Name246(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: Name246
|
|
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 Value68(Enum):
|
|
697
697
|
H = "H"
|
|
698
698
|
He = "He"
|
|
699
699
|
Li = "Li"
|
|
@@ -814,13 +814,13 @@ class Value76(Enum):
|
|
|
814
814
|
Og = "Og"
|
|
815
815
|
|
|
816
816
|
|
|
817
|
-
class
|
|
817
|
+
class Value69(Enum):
|
|
818
818
|
X = "X"
|
|
819
819
|
Vac = "Vac"
|
|
820
820
|
|
|
821
821
|
|
|
822
|
-
class
|
|
823
|
-
value: Union[
|
|
822
|
+
class AtomicElementSchema33(BaseModel):
|
|
823
|
+
value: Union[Value68, Value69]
|
|
824
824
|
"""
|
|
825
825
|
All elements, including extra elements
|
|
826
826
|
"""
|
|
@@ -830,8 +830,8 @@ class AtomicElementSchema37(BaseModel):
|
|
|
830
830
|
"""
|
|
831
831
|
|
|
832
832
|
|
|
833
|
-
class
|
|
834
|
-
elements: List[
|
|
833
|
+
class BasisSchema31(BaseModel):
|
|
834
|
+
elements: List[AtomicElementSchema33] = Field(..., title="atomic elements schema")
|
|
835
835
|
"""
|
|
836
836
|
atomic elements schema
|
|
837
837
|
"""
|
|
@@ -846,7 +846,7 @@ class BasisSchema35(BaseModel):
|
|
|
846
846
|
"""
|
|
847
847
|
|
|
848
848
|
|
|
849
|
-
class
|
|
849
|
+
class LatticeVectorsSchema30(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 LatticeVectorsSchema34(BaseModel):
|
|
|
857
857
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
858
858
|
|
|
859
859
|
|
|
860
|
-
class
|
|
860
|
+
class LatticeUnitsSchema30(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 LatticeSchema30(BaseModel):
|
|
866
866
|
a: float
|
|
867
867
|
"""
|
|
868
868
|
length of the first lattice vector
|
|
@@ -887,56 +887,56 @@ class LatticeSchema34(BaseModel):
|
|
|
887
887
|
"""
|
|
888
888
|
angle between first and third lattice vector
|
|
889
889
|
"""
|
|
890
|
-
vectors: Optional[
|
|
890
|
+
vectors: Optional[LatticeVectorsSchema30] = 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[LatticeUnitsSchema30] = Field(
|
|
893
|
+
default_factory=lambda: LatticeUnitsSchema30.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
894
894
|
title="Lattice units schema",
|
|
895
895
|
)
|
|
896
896
|
|
|
897
897
|
|
|
898
|
-
class
|
|
898
|
+
class Name247(Enum):
|
|
899
899
|
volume = "volume"
|
|
900
900
|
|
|
901
901
|
|
|
902
|
-
class
|
|
902
|
+
class Units99(Enum):
|
|
903
903
|
angstrom_3 = "angstrom^3"
|
|
904
904
|
|
|
905
905
|
|
|
906
|
-
class
|
|
906
|
+
class VolumeSchema30(BaseModel):
|
|
907
907
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
908
|
-
units: Optional[
|
|
908
|
+
units: Optional[Units99] = None
|
|
909
909
|
value: float
|
|
910
910
|
|
|
911
911
|
|
|
912
|
-
class
|
|
912
|
+
class Name248(Enum):
|
|
913
913
|
density = "density"
|
|
914
914
|
|
|
915
915
|
|
|
916
|
-
class
|
|
916
|
+
class Units100(Enum):
|
|
917
917
|
g_cm_3 = "g/cm^3"
|
|
918
918
|
|
|
919
919
|
|
|
920
|
-
class
|
|
920
|
+
class DensitySchema30(BaseModel):
|
|
921
921
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
922
|
-
units: Optional[
|
|
922
|
+
units: Optional[Units100] = None
|
|
923
923
|
value: float
|
|
924
924
|
|
|
925
925
|
|
|
926
|
-
class
|
|
926
|
+
class Units101(Enum):
|
|
927
927
|
angstrom = "angstrom"
|
|
928
928
|
|
|
929
929
|
|
|
930
|
-
class
|
|
931
|
-
units: Optional[
|
|
930
|
+
class ScalarSchema31(BaseModel):
|
|
931
|
+
units: Optional[Units101] = None
|
|
932
932
|
value: float
|
|
933
933
|
|
|
934
934
|
|
|
935
|
-
class
|
|
935
|
+
class Name249(Enum):
|
|
936
936
|
symmetry = "symmetry"
|
|
937
937
|
|
|
938
938
|
|
|
939
|
-
class
|
|
939
|
+
class SymmetrySchema30(BaseModel):
|
|
940
940
|
pointGroupSymbol: Optional[str] = None
|
|
941
941
|
"""
|
|
942
942
|
point group symbol in Schoenflies notation
|
|
@@ -945,18 +945,18 @@ class SymmetrySchema34(BaseModel):
|
|
|
945
945
|
"""
|
|
946
946
|
space group symbol in Hermann–Mauguin notation
|
|
947
947
|
"""
|
|
948
|
-
tolerance: Optional[
|
|
948
|
+
tolerance: Optional[ScalarSchema31] = 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 Name250(Enum):
|
|
956
956
|
elemental_ratio = "elemental_ratio"
|
|
957
957
|
|
|
958
958
|
|
|
959
|
-
class
|
|
959
|
+
class ElementalRatio30(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 ElementalRatio34(BaseModel):
|
|
|
965
965
|
"""
|
|
966
966
|
|
|
967
967
|
|
|
968
|
-
class
|
|
968
|
+
class Name251(Enum):
|
|
969
969
|
p_norm = "p-norm"
|
|
970
970
|
|
|
971
971
|
|
|
972
|
-
class
|
|
972
|
+
class PNorm30(BaseModel):
|
|
973
973
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
974
974
|
degree: Optional[int] = None
|
|
975
975
|
"""
|
|
@@ -978,56 +978,56 @@ class PNorm34(BaseModel):
|
|
|
978
978
|
value: float
|
|
979
979
|
|
|
980
980
|
|
|
981
|
-
class
|
|
981
|
+
class Name252(Enum):
|
|
982
982
|
inchi = "inchi"
|
|
983
983
|
|
|
984
984
|
|
|
985
|
-
class
|
|
985
|
+
class InChIRepresentationSchema30(BaseModel):
|
|
986
986
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
987
987
|
value: str
|
|
988
988
|
|
|
989
989
|
|
|
990
|
-
class
|
|
990
|
+
class Name253(Enum):
|
|
991
991
|
inchi_key = "inchi_key"
|
|
992
992
|
|
|
993
993
|
|
|
994
|
-
class
|
|
994
|
+
class InChIKeyRepresentationSchema30(BaseModel):
|
|
995
995
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
996
996
|
value: str
|
|
997
997
|
|
|
998
998
|
|
|
999
|
-
class
|
|
999
|
+
class DerivedPropertiesSchema30(
|
|
1000
1000
|
RootModel[
|
|
1001
1001
|
Union[
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1002
|
+
VolumeSchema30,
|
|
1003
|
+
DensitySchema30,
|
|
1004
|
+
SymmetrySchema30,
|
|
1005
|
+
ElementalRatio30,
|
|
1006
|
+
PNorm30,
|
|
1007
|
+
InChIRepresentationSchema30,
|
|
1008
|
+
InChIKeyRepresentationSchema30,
|
|
1009
1009
|
]
|
|
1010
1010
|
]
|
|
1011
1011
|
):
|
|
1012
1012
|
root: Union[
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1013
|
+
VolumeSchema30,
|
|
1014
|
+
DensitySchema30,
|
|
1015
|
+
SymmetrySchema30,
|
|
1016
|
+
ElementalRatio30,
|
|
1017
|
+
PNorm30,
|
|
1018
|
+
InChIRepresentationSchema30,
|
|
1019
|
+
InChIKeyRepresentationSchema30,
|
|
1020
1020
|
] = Field(..., discriminator="name")
|
|
1021
1021
|
|
|
1022
1022
|
|
|
1023
|
-
class
|
|
1023
|
+
class Name254(Enum):
|
|
1024
1024
|
default = "default"
|
|
1025
1025
|
atomsTooClose = "atomsTooClose"
|
|
1026
1026
|
atomsOverlap = "atomsOverlap"
|
|
1027
1027
|
|
|
1028
1028
|
|
|
1029
|
-
class
|
|
1030
|
-
name:
|
|
1029
|
+
class MaterialConsistencyCheckSchema30(BaseModel):
|
|
1030
|
+
name: Name254
|
|
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 MaterialConsistencyCheckSchema34(BaseModel):
|
|
|
1045
1045
|
"""
|
|
1046
1046
|
|
|
1047
1047
|
|
|
1048
|
-
class
|
|
1048
|
+
class CrystalSchema30(BaseModel):
|
|
1049
1049
|
formula: Optional[str] = None
|
|
1050
1050
|
"""
|
|
1051
1051
|
reduced chemical formula
|
|
@@ -1054,9 +1054,9 @@ class CrystalSchema34(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: BasisSchema31 = Field(..., title="basis schema")
|
|
1058
|
+
lattice: LatticeSchema30 = Field(..., title="lattice schema")
|
|
1059
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema30]] = 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 CrystalSchema34(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[MaterialConsistencyCheckSchema30]] = 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: CrystalSchema30 = 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,6 +1133,10 @@ 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
1142
|
class SupercellMatrix2DSchemaItem(RootModel[List[int]]):
|
|
@@ -1135,7 +1147,7 @@ class ArrayOf3NumberElementsSchema(RootModel[List[float]]):
|
|
|
1135
1147
|
root: List[float] = Field(..., title="array of 3 number elements schema")
|
|
1136
1148
|
|
|
1137
1149
|
|
|
1138
|
-
class
|
|
1150
|
+
class TerminationSchema13(BaseModel):
|
|
1139
1151
|
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
1140
1152
|
..., title="Chemical Elements"
|
|
1141
1153
|
)
|
|
@@ -1148,7 +1160,7 @@ class TerminationSchema15(BaseModel):
|
|
|
1148
1160
|
"""
|
|
1149
1161
|
|
|
1150
1162
|
|
|
1151
|
-
class
|
|
1163
|
+
class Value70(Enum):
|
|
1152
1164
|
H = "H"
|
|
1153
1165
|
He = "He"
|
|
1154
1166
|
Li = "Li"
|
|
@@ -1269,13 +1281,13 @@ class Value78(Enum):
|
|
|
1269
1281
|
Og = "Og"
|
|
1270
1282
|
|
|
1271
1283
|
|
|
1272
|
-
class
|
|
1284
|
+
class Value71(Enum):
|
|
1273
1285
|
X = "X"
|
|
1274
1286
|
Vac = "Vac"
|
|
1275
1287
|
|
|
1276
1288
|
|
|
1277
|
-
class
|
|
1278
|
-
value: Union[
|
|
1289
|
+
class AtomicElementSchema34(BaseModel):
|
|
1290
|
+
value: Union[Value70, Value71]
|
|
1279
1291
|
"""
|
|
1280
1292
|
All elements, including extra elements
|
|
1281
1293
|
"""
|
|
@@ -1285,8 +1297,8 @@ class AtomicElementSchema38(BaseModel):
|
|
|
1285
1297
|
"""
|
|
1286
1298
|
|
|
1287
1299
|
|
|
1288
|
-
class
|
|
1289
|
-
elements: List[
|
|
1300
|
+
class BasisSchema32(BaseModel):
|
|
1301
|
+
elements: List[AtomicElementSchema34] = Field(..., title="atomic elements schema")
|
|
1290
1302
|
"""
|
|
1291
1303
|
atomic elements schema
|
|
1292
1304
|
"""
|
|
@@ -1301,7 +1313,7 @@ class BasisSchema36(BaseModel):
|
|
|
1301
1313
|
"""
|
|
1302
1314
|
|
|
1303
1315
|
|
|
1304
|
-
class
|
|
1316
|
+
class LatticeVectorsSchema31(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 LatticeVectorsSchema35(BaseModel):
|
|
|
1312
1324
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
1313
1325
|
|
|
1314
1326
|
|
|
1315
|
-
class
|
|
1327
|
+
class LatticeUnitsSchema31(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 LatticeSchema31(BaseModel):
|
|
1321
1333
|
a: float
|
|
1322
1334
|
"""
|
|
1323
1335
|
length of the first lattice vector
|
|
@@ -1342,56 +1354,56 @@ class LatticeSchema35(BaseModel):
|
|
|
1342
1354
|
"""
|
|
1343
1355
|
angle between first and third lattice vector
|
|
1344
1356
|
"""
|
|
1345
|
-
vectors: Optional[
|
|
1357
|
+
vectors: Optional[LatticeVectorsSchema31] = 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[LatticeUnitsSchema31] = Field(
|
|
1360
|
+
default_factory=lambda: LatticeUnitsSchema31.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
1349
1361
|
title="Lattice units schema",
|
|
1350
1362
|
)
|
|
1351
1363
|
|
|
1352
1364
|
|
|
1353
|
-
class
|
|
1365
|
+
class Name255(Enum):
|
|
1354
1366
|
volume = "volume"
|
|
1355
1367
|
|
|
1356
1368
|
|
|
1357
|
-
class
|
|
1369
|
+
class Units102(Enum):
|
|
1358
1370
|
angstrom_3 = "angstrom^3"
|
|
1359
1371
|
|
|
1360
1372
|
|
|
1361
|
-
class
|
|
1373
|
+
class VolumeSchema31(BaseModel):
|
|
1362
1374
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
1363
|
-
units: Optional[
|
|
1375
|
+
units: Optional[Units102] = None
|
|
1364
1376
|
value: float
|
|
1365
1377
|
|
|
1366
1378
|
|
|
1367
|
-
class
|
|
1379
|
+
class Name256(Enum):
|
|
1368
1380
|
density = "density"
|
|
1369
1381
|
|
|
1370
1382
|
|
|
1371
|
-
class
|
|
1383
|
+
class Units103(Enum):
|
|
1372
1384
|
g_cm_3 = "g/cm^3"
|
|
1373
1385
|
|
|
1374
1386
|
|
|
1375
|
-
class
|
|
1387
|
+
class DensitySchema31(BaseModel):
|
|
1376
1388
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
1377
|
-
units: Optional[
|
|
1389
|
+
units: Optional[Units103] = None
|
|
1378
1390
|
value: float
|
|
1379
1391
|
|
|
1380
1392
|
|
|
1381
|
-
class
|
|
1393
|
+
class Units104(Enum):
|
|
1382
1394
|
angstrom = "angstrom"
|
|
1383
1395
|
|
|
1384
1396
|
|
|
1385
|
-
class
|
|
1386
|
-
units: Optional[
|
|
1397
|
+
class ScalarSchema32(BaseModel):
|
|
1398
|
+
units: Optional[Units104] = None
|
|
1387
1399
|
value: float
|
|
1388
1400
|
|
|
1389
1401
|
|
|
1390
|
-
class
|
|
1402
|
+
class Name257(Enum):
|
|
1391
1403
|
symmetry = "symmetry"
|
|
1392
1404
|
|
|
1393
1405
|
|
|
1394
|
-
class
|
|
1406
|
+
class SymmetrySchema31(BaseModel):
|
|
1395
1407
|
pointGroupSymbol: Optional[str] = None
|
|
1396
1408
|
"""
|
|
1397
1409
|
point group symbol in Schoenflies notation
|
|
@@ -1400,18 +1412,18 @@ class SymmetrySchema35(BaseModel):
|
|
|
1400
1412
|
"""
|
|
1401
1413
|
space group symbol in Hermann–Mauguin notation
|
|
1402
1414
|
"""
|
|
1403
|
-
tolerance: Optional[
|
|
1415
|
+
tolerance: Optional[ScalarSchema32] = 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 Name258(Enum):
|
|
1411
1423
|
elemental_ratio = "elemental_ratio"
|
|
1412
1424
|
|
|
1413
1425
|
|
|
1414
|
-
class
|
|
1426
|
+
class ElementalRatio31(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 ElementalRatio35(BaseModel):
|
|
|
1420
1432
|
"""
|
|
1421
1433
|
|
|
1422
1434
|
|
|
1423
|
-
class
|
|
1435
|
+
class Name259(Enum):
|
|
1424
1436
|
p_norm = "p-norm"
|
|
1425
1437
|
|
|
1426
1438
|
|
|
1427
|
-
class
|
|
1439
|
+
class PNorm31(BaseModel):
|
|
1428
1440
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
1429
1441
|
degree: Optional[int] = None
|
|
1430
1442
|
"""
|
|
@@ -1433,56 +1445,56 @@ class PNorm35(BaseModel):
|
|
|
1433
1445
|
value: float
|
|
1434
1446
|
|
|
1435
1447
|
|
|
1436
|
-
class
|
|
1448
|
+
class Name260(Enum):
|
|
1437
1449
|
inchi = "inchi"
|
|
1438
1450
|
|
|
1439
1451
|
|
|
1440
|
-
class
|
|
1452
|
+
class InChIRepresentationSchema31(BaseModel):
|
|
1441
1453
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
1442
1454
|
value: str
|
|
1443
1455
|
|
|
1444
1456
|
|
|
1445
|
-
class
|
|
1457
|
+
class Name261(Enum):
|
|
1446
1458
|
inchi_key = "inchi_key"
|
|
1447
1459
|
|
|
1448
1460
|
|
|
1449
|
-
class
|
|
1461
|
+
class InChIKeyRepresentationSchema31(BaseModel):
|
|
1450
1462
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
1451
1463
|
value: str
|
|
1452
1464
|
|
|
1453
1465
|
|
|
1454
|
-
class
|
|
1466
|
+
class DerivedPropertiesSchema31(
|
|
1455
1467
|
RootModel[
|
|
1456
1468
|
Union[
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1469
|
+
VolumeSchema31,
|
|
1470
|
+
DensitySchema31,
|
|
1471
|
+
SymmetrySchema31,
|
|
1472
|
+
ElementalRatio31,
|
|
1473
|
+
PNorm31,
|
|
1474
|
+
InChIRepresentationSchema31,
|
|
1475
|
+
InChIKeyRepresentationSchema31,
|
|
1464
1476
|
]
|
|
1465
1477
|
]
|
|
1466
1478
|
):
|
|
1467
1479
|
root: Union[
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1480
|
+
VolumeSchema31,
|
|
1481
|
+
DensitySchema31,
|
|
1482
|
+
SymmetrySchema31,
|
|
1483
|
+
ElementalRatio31,
|
|
1484
|
+
PNorm31,
|
|
1485
|
+
InChIRepresentationSchema31,
|
|
1486
|
+
InChIKeyRepresentationSchema31,
|
|
1475
1487
|
] = Field(..., discriminator="name")
|
|
1476
1488
|
|
|
1477
1489
|
|
|
1478
|
-
class
|
|
1490
|
+
class Name262(Enum):
|
|
1479
1491
|
default = "default"
|
|
1480
1492
|
atomsTooClose = "atomsTooClose"
|
|
1481
1493
|
atomsOverlap = "atomsOverlap"
|
|
1482
1494
|
|
|
1483
1495
|
|
|
1484
|
-
class
|
|
1485
|
-
name:
|
|
1496
|
+
class MaterialConsistencyCheckSchema31(BaseModel):
|
|
1497
|
+
name: Name262
|
|
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 MaterialConsistencyCheckSchema35(BaseModel):
|
|
|
1500
1512
|
"""
|
|
1501
1513
|
|
|
1502
1514
|
|
|
1503
|
-
class
|
|
1515
|
+
class CrystalSchema31(BaseModel):
|
|
1504
1516
|
formula: Optional[str] = None
|
|
1505
1517
|
"""
|
|
1506
1518
|
reduced chemical formula
|
|
@@ -1509,9 +1521,9 @@ class CrystalSchema35(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: BasisSchema32 = Field(..., title="basis schema")
|
|
1525
|
+
lattice: LatticeSchema31 = Field(..., title="lattice schema")
|
|
1526
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema31]] = 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 CrystalSchema35(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[MaterialConsistencyCheckSchema31]] = None
|
|
1536
1548
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
1537
1549
|
"""
|
|
1538
1550
|
entity identity
|
|
@@ -1557,8 +1569,8 @@ class CrystalSchema35(BaseModel):
|
|
|
1557
1569
|
metadata: Optional[Dict[str, Any]] = None
|
|
1558
1570
|
|
|
1559
1571
|
|
|
1560
|
-
class
|
|
1561
|
-
termination_top:
|
|
1572
|
+
class AtomicLayersUniqueRepeatedSchema11(BaseModel):
|
|
1573
|
+
termination_top: TerminationSchema13 = Field(..., title="Termination Schema")
|
|
1562
1574
|
"""
|
|
1563
1575
|
Defines a specific termination of a slab
|
|
1564
1576
|
"""
|
|
@@ -1570,7 +1582,7 @@ class AtomicLayersUniqueRepeatedSchema13(BaseModel):
|
|
|
1570
1582
|
"""
|
|
1571
1583
|
Miller indices [h, k, l] defining crystallographic planes
|
|
1572
1584
|
"""
|
|
1573
|
-
crystal:
|
|
1585
|
+
crystal: CrystalSchema31 = Field(..., title="Crystal Schema")
|
|
1574
1586
|
"""
|
|
1575
1587
|
A crystal structure, referencing the base material schema
|
|
1576
1588
|
"""
|
|
@@ -1580,7 +1592,7 @@ class AtomicLayersUniqueRepeatedSchema13(BaseModel):
|
|
|
1580
1592
|
"""
|
|
1581
1593
|
|
|
1582
1594
|
|
|
1583
|
-
class
|
|
1595
|
+
class Value72(Enum):
|
|
1584
1596
|
H = "H"
|
|
1585
1597
|
He = "He"
|
|
1586
1598
|
Li = "Li"
|
|
@@ -1701,13 +1713,13 @@ class Value80(Enum):
|
|
|
1701
1713
|
Og = "Og"
|
|
1702
1714
|
|
|
1703
1715
|
|
|
1704
|
-
class
|
|
1716
|
+
class Value73(Enum):
|
|
1705
1717
|
X = "X"
|
|
1706
1718
|
Vac = "Vac"
|
|
1707
1719
|
|
|
1708
1720
|
|
|
1709
|
-
class
|
|
1710
|
-
value: Union[
|
|
1721
|
+
class AtomicElementSchema35(BaseModel):
|
|
1722
|
+
value: Union[Value72, Value73]
|
|
1711
1723
|
"""
|
|
1712
1724
|
All elements, including extra elements
|
|
1713
1725
|
"""
|
|
@@ -1717,8 +1729,8 @@ class AtomicElementSchema39(BaseModel):
|
|
|
1717
1729
|
"""
|
|
1718
1730
|
|
|
1719
1731
|
|
|
1720
|
-
class
|
|
1721
|
-
elements: List[
|
|
1732
|
+
class BasisSchema33(BaseModel):
|
|
1733
|
+
elements: List[AtomicElementSchema35] = Field(..., title="atomic elements schema")
|
|
1722
1734
|
"""
|
|
1723
1735
|
atomic elements schema
|
|
1724
1736
|
"""
|
|
@@ -1733,7 +1745,7 @@ class BasisSchema37(BaseModel):
|
|
|
1733
1745
|
"""
|
|
1734
1746
|
|
|
1735
1747
|
|
|
1736
|
-
class
|
|
1748
|
+
class LatticeVectorsSchema32(BaseModel):
|
|
1737
1749
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
1738
1750
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
1739
1751
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -1744,12 +1756,12 @@ class LatticeVectorsSchema36(BaseModel):
|
|
|
1744
1756
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
1745
1757
|
|
|
1746
1758
|
|
|
1747
|
-
class
|
|
1759
|
+
class LatticeUnitsSchema32(BaseModel):
|
|
1748
1760
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
1749
1761
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
1750
1762
|
|
|
1751
1763
|
|
|
1752
|
-
class
|
|
1764
|
+
class LatticeSchema32(BaseModel):
|
|
1753
1765
|
a: float
|
|
1754
1766
|
"""
|
|
1755
1767
|
length of the first lattice vector
|
|
@@ -1774,56 +1786,56 @@ class LatticeSchema36(BaseModel):
|
|
|
1774
1786
|
"""
|
|
1775
1787
|
angle between first and third lattice vector
|
|
1776
1788
|
"""
|
|
1777
|
-
vectors: Optional[
|
|
1789
|
+
vectors: Optional[LatticeVectorsSchema32] = Field(None, title="lattice vectors schema")
|
|
1778
1790
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
1779
|
-
units: Optional[
|
|
1780
|
-
default_factory=lambda:
|
|
1791
|
+
units: Optional[LatticeUnitsSchema32] = Field(
|
|
1792
|
+
default_factory=lambda: LatticeUnitsSchema32.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
1781
1793
|
title="Lattice units schema",
|
|
1782
1794
|
)
|
|
1783
1795
|
|
|
1784
1796
|
|
|
1785
|
-
class
|
|
1797
|
+
class Name263(Enum):
|
|
1786
1798
|
volume = "volume"
|
|
1787
1799
|
|
|
1788
1800
|
|
|
1789
|
-
class
|
|
1801
|
+
class Units105(Enum):
|
|
1790
1802
|
angstrom_3 = "angstrom^3"
|
|
1791
1803
|
|
|
1792
1804
|
|
|
1793
|
-
class
|
|
1805
|
+
class VolumeSchema32(BaseModel):
|
|
1794
1806
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
1795
|
-
units: Optional[
|
|
1807
|
+
units: Optional[Units105] = None
|
|
1796
1808
|
value: float
|
|
1797
1809
|
|
|
1798
1810
|
|
|
1799
|
-
class
|
|
1811
|
+
class Name264(Enum):
|
|
1800
1812
|
density = "density"
|
|
1801
1813
|
|
|
1802
1814
|
|
|
1803
|
-
class
|
|
1815
|
+
class Units106(Enum):
|
|
1804
1816
|
g_cm_3 = "g/cm^3"
|
|
1805
1817
|
|
|
1806
1818
|
|
|
1807
|
-
class
|
|
1819
|
+
class DensitySchema32(BaseModel):
|
|
1808
1820
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
1809
|
-
units: Optional[
|
|
1821
|
+
units: Optional[Units106] = None
|
|
1810
1822
|
value: float
|
|
1811
1823
|
|
|
1812
1824
|
|
|
1813
|
-
class
|
|
1825
|
+
class Units107(Enum):
|
|
1814
1826
|
angstrom = "angstrom"
|
|
1815
1827
|
|
|
1816
1828
|
|
|
1817
|
-
class
|
|
1818
|
-
units: Optional[
|
|
1829
|
+
class ScalarSchema33(BaseModel):
|
|
1830
|
+
units: Optional[Units107] = None
|
|
1819
1831
|
value: float
|
|
1820
1832
|
|
|
1821
1833
|
|
|
1822
|
-
class
|
|
1834
|
+
class Name265(Enum):
|
|
1823
1835
|
symmetry = "symmetry"
|
|
1824
1836
|
|
|
1825
1837
|
|
|
1826
|
-
class
|
|
1838
|
+
class SymmetrySchema32(BaseModel):
|
|
1827
1839
|
pointGroupSymbol: Optional[str] = None
|
|
1828
1840
|
"""
|
|
1829
1841
|
point group symbol in Schoenflies notation
|
|
@@ -1832,18 +1844,18 @@ class SymmetrySchema36(BaseModel):
|
|
|
1832
1844
|
"""
|
|
1833
1845
|
space group symbol in Hermann–Mauguin notation
|
|
1834
1846
|
"""
|
|
1835
|
-
tolerance: Optional[
|
|
1847
|
+
tolerance: Optional[ScalarSchema33] = Field(None, title="scalar schema")
|
|
1836
1848
|
"""
|
|
1837
1849
|
tolerance used for symmetry calculation
|
|
1838
1850
|
"""
|
|
1839
1851
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
1840
1852
|
|
|
1841
1853
|
|
|
1842
|
-
class
|
|
1854
|
+
class Name266(Enum):
|
|
1843
1855
|
elemental_ratio = "elemental_ratio"
|
|
1844
1856
|
|
|
1845
1857
|
|
|
1846
|
-
class
|
|
1858
|
+
class ElementalRatio32(BaseModel):
|
|
1847
1859
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
1848
1860
|
value: confloat(ge=0.0, le=1.0)
|
|
1849
1861
|
element: Optional[str] = None
|
|
@@ -1852,11 +1864,11 @@ class ElementalRatio36(BaseModel):
|
|
|
1852
1864
|
"""
|
|
1853
1865
|
|
|
1854
1866
|
|
|
1855
|
-
class
|
|
1867
|
+
class Name267(Enum):
|
|
1856
1868
|
p_norm = "p-norm"
|
|
1857
1869
|
|
|
1858
1870
|
|
|
1859
|
-
class
|
|
1871
|
+
class PNorm32(BaseModel):
|
|
1860
1872
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
1861
1873
|
degree: Optional[int] = None
|
|
1862
1874
|
"""
|
|
@@ -1865,56 +1877,56 @@ class PNorm36(BaseModel):
|
|
|
1865
1877
|
value: float
|
|
1866
1878
|
|
|
1867
1879
|
|
|
1868
|
-
class
|
|
1880
|
+
class Name268(Enum):
|
|
1869
1881
|
inchi = "inchi"
|
|
1870
1882
|
|
|
1871
1883
|
|
|
1872
|
-
class
|
|
1884
|
+
class InChIRepresentationSchema32(BaseModel):
|
|
1873
1885
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
1874
1886
|
value: str
|
|
1875
1887
|
|
|
1876
1888
|
|
|
1877
|
-
class
|
|
1889
|
+
class Name269(Enum):
|
|
1878
1890
|
inchi_key = "inchi_key"
|
|
1879
1891
|
|
|
1880
1892
|
|
|
1881
|
-
class
|
|
1893
|
+
class InChIKeyRepresentationSchema32(BaseModel):
|
|
1882
1894
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
1883
1895
|
value: str
|
|
1884
1896
|
|
|
1885
1897
|
|
|
1886
|
-
class
|
|
1898
|
+
class DerivedPropertiesSchema32(
|
|
1887
1899
|
RootModel[
|
|
1888
1900
|
Union[
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1901
|
+
VolumeSchema32,
|
|
1902
|
+
DensitySchema32,
|
|
1903
|
+
SymmetrySchema32,
|
|
1904
|
+
ElementalRatio32,
|
|
1905
|
+
PNorm32,
|
|
1906
|
+
InChIRepresentationSchema32,
|
|
1907
|
+
InChIKeyRepresentationSchema32,
|
|
1896
1908
|
]
|
|
1897
1909
|
]
|
|
1898
1910
|
):
|
|
1899
1911
|
root: Union[
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1912
|
+
VolumeSchema32,
|
|
1913
|
+
DensitySchema32,
|
|
1914
|
+
SymmetrySchema32,
|
|
1915
|
+
ElementalRatio32,
|
|
1916
|
+
PNorm32,
|
|
1917
|
+
InChIRepresentationSchema32,
|
|
1918
|
+
InChIKeyRepresentationSchema32,
|
|
1907
1919
|
] = Field(..., discriminator="name")
|
|
1908
1920
|
|
|
1909
1921
|
|
|
1910
|
-
class
|
|
1922
|
+
class Name270(Enum):
|
|
1911
1923
|
default = "default"
|
|
1912
1924
|
atomsTooClose = "atomsTooClose"
|
|
1913
1925
|
atomsOverlap = "atomsOverlap"
|
|
1914
1926
|
|
|
1915
1927
|
|
|
1916
|
-
class
|
|
1917
|
-
name:
|
|
1928
|
+
class MaterialConsistencyCheckSchema32(BaseModel):
|
|
1929
|
+
name: Name270
|
|
1918
1930
|
"""
|
|
1919
1931
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
1920
1932
|
"""
|
|
@@ -1932,7 +1944,7 @@ class MaterialConsistencyCheckSchema36(BaseModel):
|
|
|
1932
1944
|
"""
|
|
1933
1945
|
|
|
1934
1946
|
|
|
1935
|
-
class
|
|
1947
|
+
class CrystalSchema32(BaseModel):
|
|
1936
1948
|
formula: Optional[str] = None
|
|
1937
1949
|
"""
|
|
1938
1950
|
reduced chemical formula
|
|
@@ -1941,9 +1953,9 @@ class CrystalSchema36(BaseModel):
|
|
|
1941
1953
|
"""
|
|
1942
1954
|
chemical formula based on the number of atoms of each element in the supercell
|
|
1943
1955
|
"""
|
|
1944
|
-
basis:
|
|
1945
|
-
lattice:
|
|
1946
|
-
derivedProperties: Optional[List[
|
|
1956
|
+
basis: BasisSchema33 = Field(..., title="basis schema")
|
|
1957
|
+
lattice: LatticeSchema32 = Field(..., title="lattice schema")
|
|
1958
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema32]] = Field(None, title="derived properties schema")
|
|
1947
1959
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
1948
1960
|
"""
|
|
1949
1961
|
information about a database source
|
|
@@ -1964,7 +1976,7 @@ class CrystalSchema36(BaseModel):
|
|
|
1964
1976
|
"""
|
|
1965
1977
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
1966
1978
|
"""
|
|
1967
|
-
consistencyChecks: Optional[List[
|
|
1979
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema32]] = None
|
|
1968
1980
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
1969
1981
|
"""
|
|
1970
1982
|
entity identity
|
|
@@ -1989,7 +2001,7 @@ class CrystalSchema36(BaseModel):
|
|
|
1989
2001
|
metadata: Optional[Dict[str, Any]] = None
|
|
1990
2002
|
|
|
1991
2003
|
|
|
1992
|
-
class
|
|
2004
|
+
class VacuumConfigurationSchema14(BaseModel):
|
|
1993
2005
|
direction: AxisEnum = Field(..., title="Axis Enum")
|
|
1994
2006
|
"""
|
|
1995
2007
|
Enum for axis types
|
|
@@ -1998,7 +2010,7 @@ class VacuumConfigurationSchema16(BaseModel):
|
|
|
1998
2010
|
"""
|
|
1999
2011
|
Size of the vacuum slab in angstroms
|
|
2000
2012
|
"""
|
|
2001
|
-
crystal:
|
|
2013
|
+
crystal: CrystalSchema32 = Field(..., title="Crystal Schema")
|
|
2002
2014
|
"""
|
|
2003
2015
|
A crystal structure, referencing the base material schema
|
|
2004
2016
|
"""
|
|
@@ -2017,16 +2029,20 @@ class SlabStrainedSupercellConfigurationSchema(BaseModel):
|
|
|
2017
2029
|
strain_matrix: List[ArrayOf3NumberElementsSchema] = Field(
|
|
2018
2030
|
..., max_length=3, min_length=3, title="matrix 3x3 schema"
|
|
2019
2031
|
)
|
|
2020
|
-
stack_components: List[Union[
|
|
2032
|
+
stack_components: List[Union[AtomicLayersUniqueRepeatedSchema11, VacuumConfigurationSchema14]] = Field(
|
|
2021
2033
|
..., max_length=2, min_length=2
|
|
2022
2034
|
)
|
|
2023
2035
|
direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
|
|
2024
2036
|
"""
|
|
2025
2037
|
Enum for axis types
|
|
2026
2038
|
"""
|
|
2039
|
+
gaps: Optional[List[ObjectWithId]] = None
|
|
2040
|
+
"""
|
|
2041
|
+
Gap distances between stack components as an array of objects with id and value
|
|
2042
|
+
"""
|
|
2027
2043
|
|
|
2028
2044
|
|
|
2029
|
-
class
|
|
2045
|
+
class TerminationSchema14(BaseModel):
|
|
2030
2046
|
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
2031
2047
|
..., title="Chemical Elements"
|
|
2032
2048
|
)
|
|
@@ -2039,7 +2055,7 @@ class TerminationSchema16(BaseModel):
|
|
|
2039
2055
|
"""
|
|
2040
2056
|
|
|
2041
2057
|
|
|
2042
|
-
class
|
|
2058
|
+
class Value74(Enum):
|
|
2043
2059
|
H = "H"
|
|
2044
2060
|
He = "He"
|
|
2045
2061
|
Li = "Li"
|
|
@@ -2160,13 +2176,13 @@ class Value82(Enum):
|
|
|
2160
2176
|
Og = "Og"
|
|
2161
2177
|
|
|
2162
2178
|
|
|
2163
|
-
class
|
|
2179
|
+
class Value75(Enum):
|
|
2164
2180
|
X = "X"
|
|
2165
2181
|
Vac = "Vac"
|
|
2166
2182
|
|
|
2167
2183
|
|
|
2168
|
-
class
|
|
2169
|
-
value: Union[
|
|
2184
|
+
class AtomicElementSchema36(BaseModel):
|
|
2185
|
+
value: Union[Value74, Value75]
|
|
2170
2186
|
"""
|
|
2171
2187
|
All elements, including extra elements
|
|
2172
2188
|
"""
|
|
@@ -2176,8 +2192,8 @@ class AtomicElementSchema40(BaseModel):
|
|
|
2176
2192
|
"""
|
|
2177
2193
|
|
|
2178
2194
|
|
|
2179
|
-
class
|
|
2180
|
-
elements: List[
|
|
2195
|
+
class BasisSchema34(BaseModel):
|
|
2196
|
+
elements: List[AtomicElementSchema36] = Field(..., title="atomic elements schema")
|
|
2181
2197
|
"""
|
|
2182
2198
|
atomic elements schema
|
|
2183
2199
|
"""
|
|
@@ -2192,7 +2208,7 @@ class BasisSchema38(BaseModel):
|
|
|
2192
2208
|
"""
|
|
2193
2209
|
|
|
2194
2210
|
|
|
2195
|
-
class
|
|
2211
|
+
class LatticeVectorsSchema33(BaseModel):
|
|
2196
2212
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
2197
2213
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
2198
2214
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -2203,12 +2219,12 @@ class LatticeVectorsSchema37(BaseModel):
|
|
|
2203
2219
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
2204
2220
|
|
|
2205
2221
|
|
|
2206
|
-
class
|
|
2222
|
+
class LatticeUnitsSchema33(BaseModel):
|
|
2207
2223
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
2208
2224
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
2209
2225
|
|
|
2210
2226
|
|
|
2211
|
-
class
|
|
2227
|
+
class LatticeSchema33(BaseModel):
|
|
2212
2228
|
a: float
|
|
2213
2229
|
"""
|
|
2214
2230
|
length of the first lattice vector
|
|
@@ -2233,56 +2249,56 @@ class LatticeSchema37(BaseModel):
|
|
|
2233
2249
|
"""
|
|
2234
2250
|
angle between first and third lattice vector
|
|
2235
2251
|
"""
|
|
2236
|
-
vectors: Optional[
|
|
2252
|
+
vectors: Optional[LatticeVectorsSchema33] = Field(None, title="lattice vectors schema")
|
|
2237
2253
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
2238
|
-
units: Optional[
|
|
2239
|
-
default_factory=lambda:
|
|
2254
|
+
units: Optional[LatticeUnitsSchema33] = Field(
|
|
2255
|
+
default_factory=lambda: LatticeUnitsSchema33.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
2240
2256
|
title="Lattice units schema",
|
|
2241
2257
|
)
|
|
2242
2258
|
|
|
2243
2259
|
|
|
2244
|
-
class
|
|
2260
|
+
class Name271(Enum):
|
|
2245
2261
|
volume = "volume"
|
|
2246
2262
|
|
|
2247
2263
|
|
|
2248
|
-
class
|
|
2264
|
+
class Units108(Enum):
|
|
2249
2265
|
angstrom_3 = "angstrom^3"
|
|
2250
2266
|
|
|
2251
2267
|
|
|
2252
|
-
class
|
|
2268
|
+
class VolumeSchema33(BaseModel):
|
|
2253
2269
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
2254
|
-
units: Optional[
|
|
2270
|
+
units: Optional[Units108] = None
|
|
2255
2271
|
value: float
|
|
2256
2272
|
|
|
2257
2273
|
|
|
2258
|
-
class
|
|
2274
|
+
class Name272(Enum):
|
|
2259
2275
|
density = "density"
|
|
2260
2276
|
|
|
2261
2277
|
|
|
2262
|
-
class
|
|
2278
|
+
class Units109(Enum):
|
|
2263
2279
|
g_cm_3 = "g/cm^3"
|
|
2264
2280
|
|
|
2265
2281
|
|
|
2266
|
-
class
|
|
2282
|
+
class DensitySchema33(BaseModel):
|
|
2267
2283
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
2268
|
-
units: Optional[
|
|
2284
|
+
units: Optional[Units109] = None
|
|
2269
2285
|
value: float
|
|
2270
2286
|
|
|
2271
2287
|
|
|
2272
|
-
class
|
|
2288
|
+
class Units110(Enum):
|
|
2273
2289
|
angstrom = "angstrom"
|
|
2274
2290
|
|
|
2275
2291
|
|
|
2276
|
-
class
|
|
2277
|
-
units: Optional[
|
|
2292
|
+
class ScalarSchema34(BaseModel):
|
|
2293
|
+
units: Optional[Units110] = None
|
|
2278
2294
|
value: float
|
|
2279
2295
|
|
|
2280
2296
|
|
|
2281
|
-
class
|
|
2297
|
+
class Name273(Enum):
|
|
2282
2298
|
symmetry = "symmetry"
|
|
2283
2299
|
|
|
2284
2300
|
|
|
2285
|
-
class
|
|
2301
|
+
class SymmetrySchema33(BaseModel):
|
|
2286
2302
|
pointGroupSymbol: Optional[str] = None
|
|
2287
2303
|
"""
|
|
2288
2304
|
point group symbol in Schoenflies notation
|
|
@@ -2291,18 +2307,18 @@ class SymmetrySchema37(BaseModel):
|
|
|
2291
2307
|
"""
|
|
2292
2308
|
space group symbol in Hermann–Mauguin notation
|
|
2293
2309
|
"""
|
|
2294
|
-
tolerance: Optional[
|
|
2310
|
+
tolerance: Optional[ScalarSchema34] = Field(None, title="scalar schema")
|
|
2295
2311
|
"""
|
|
2296
2312
|
tolerance used for symmetry calculation
|
|
2297
2313
|
"""
|
|
2298
2314
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
2299
2315
|
|
|
2300
2316
|
|
|
2301
|
-
class
|
|
2317
|
+
class Name274(Enum):
|
|
2302
2318
|
elemental_ratio = "elemental_ratio"
|
|
2303
2319
|
|
|
2304
2320
|
|
|
2305
|
-
class
|
|
2321
|
+
class ElementalRatio33(BaseModel):
|
|
2306
2322
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
2307
2323
|
value: confloat(ge=0.0, le=1.0)
|
|
2308
2324
|
element: Optional[str] = None
|
|
@@ -2311,11 +2327,11 @@ class ElementalRatio37(BaseModel):
|
|
|
2311
2327
|
"""
|
|
2312
2328
|
|
|
2313
2329
|
|
|
2314
|
-
class
|
|
2330
|
+
class Name275(Enum):
|
|
2315
2331
|
p_norm = "p-norm"
|
|
2316
2332
|
|
|
2317
2333
|
|
|
2318
|
-
class
|
|
2334
|
+
class PNorm33(BaseModel):
|
|
2319
2335
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
2320
2336
|
degree: Optional[int] = None
|
|
2321
2337
|
"""
|
|
@@ -2324,56 +2340,56 @@ class PNorm37(BaseModel):
|
|
|
2324
2340
|
value: float
|
|
2325
2341
|
|
|
2326
2342
|
|
|
2327
|
-
class
|
|
2343
|
+
class Name276(Enum):
|
|
2328
2344
|
inchi = "inchi"
|
|
2329
2345
|
|
|
2330
2346
|
|
|
2331
|
-
class
|
|
2347
|
+
class InChIRepresentationSchema33(BaseModel):
|
|
2332
2348
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
2333
2349
|
value: str
|
|
2334
2350
|
|
|
2335
2351
|
|
|
2336
|
-
class
|
|
2352
|
+
class Name277(Enum):
|
|
2337
2353
|
inchi_key = "inchi_key"
|
|
2338
2354
|
|
|
2339
2355
|
|
|
2340
|
-
class
|
|
2356
|
+
class InChIKeyRepresentationSchema33(BaseModel):
|
|
2341
2357
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
2342
2358
|
value: str
|
|
2343
2359
|
|
|
2344
2360
|
|
|
2345
|
-
class
|
|
2361
|
+
class DerivedPropertiesSchema33(
|
|
2346
2362
|
RootModel[
|
|
2347
2363
|
Union[
|
|
2348
|
-
|
|
2349
|
-
|
|
2350
|
-
|
|
2351
|
-
|
|
2352
|
-
|
|
2353
|
-
|
|
2354
|
-
|
|
2364
|
+
VolumeSchema33,
|
|
2365
|
+
DensitySchema33,
|
|
2366
|
+
SymmetrySchema33,
|
|
2367
|
+
ElementalRatio33,
|
|
2368
|
+
PNorm33,
|
|
2369
|
+
InChIRepresentationSchema33,
|
|
2370
|
+
InChIKeyRepresentationSchema33,
|
|
2355
2371
|
]
|
|
2356
2372
|
]
|
|
2357
2373
|
):
|
|
2358
2374
|
root: Union[
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2375
|
+
VolumeSchema33,
|
|
2376
|
+
DensitySchema33,
|
|
2377
|
+
SymmetrySchema33,
|
|
2378
|
+
ElementalRatio33,
|
|
2379
|
+
PNorm33,
|
|
2380
|
+
InChIRepresentationSchema33,
|
|
2381
|
+
InChIKeyRepresentationSchema33,
|
|
2366
2382
|
] = Field(..., discriminator="name")
|
|
2367
2383
|
|
|
2368
2384
|
|
|
2369
|
-
class
|
|
2385
|
+
class Name278(Enum):
|
|
2370
2386
|
default = "default"
|
|
2371
2387
|
atomsTooClose = "atomsTooClose"
|
|
2372
2388
|
atomsOverlap = "atomsOverlap"
|
|
2373
2389
|
|
|
2374
2390
|
|
|
2375
|
-
class
|
|
2376
|
-
name:
|
|
2391
|
+
class MaterialConsistencyCheckSchema33(BaseModel):
|
|
2392
|
+
name: Name278
|
|
2377
2393
|
"""
|
|
2378
2394
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
2379
2395
|
"""
|
|
@@ -2391,7 +2407,7 @@ class MaterialConsistencyCheckSchema37(BaseModel):
|
|
|
2391
2407
|
"""
|
|
2392
2408
|
|
|
2393
2409
|
|
|
2394
|
-
class
|
|
2410
|
+
class CrystalSchema33(BaseModel):
|
|
2395
2411
|
formula: Optional[str] = None
|
|
2396
2412
|
"""
|
|
2397
2413
|
reduced chemical formula
|
|
@@ -2400,9 +2416,9 @@ class CrystalSchema37(BaseModel):
|
|
|
2400
2416
|
"""
|
|
2401
2417
|
chemical formula based on the number of atoms of each element in the supercell
|
|
2402
2418
|
"""
|
|
2403
|
-
basis:
|
|
2404
|
-
lattice:
|
|
2405
|
-
derivedProperties: Optional[List[
|
|
2419
|
+
basis: BasisSchema34 = Field(..., title="basis schema")
|
|
2420
|
+
lattice: LatticeSchema33 = Field(..., title="lattice schema")
|
|
2421
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema33]] = Field(None, title="derived properties schema")
|
|
2406
2422
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
2407
2423
|
"""
|
|
2408
2424
|
information about a database source
|
|
@@ -2423,7 +2439,7 @@ class CrystalSchema37(BaseModel):
|
|
|
2423
2439
|
"""
|
|
2424
2440
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
2425
2441
|
"""
|
|
2426
|
-
consistencyChecks: Optional[List[
|
|
2442
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema33]] = None
|
|
2427
2443
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
2428
2444
|
"""
|
|
2429
2445
|
entity identity
|
|
@@ -2448,8 +2464,8 @@ class CrystalSchema37(BaseModel):
|
|
|
2448
2464
|
metadata: Optional[Dict[str, Any]] = None
|
|
2449
2465
|
|
|
2450
2466
|
|
|
2451
|
-
class
|
|
2452
|
-
termination_top:
|
|
2467
|
+
class AtomicLayersUniqueRepeatedSchema12(BaseModel):
|
|
2468
|
+
termination_top: TerminationSchema14 = Field(..., title="Termination Schema")
|
|
2453
2469
|
"""
|
|
2454
2470
|
Defines a specific termination of a slab
|
|
2455
2471
|
"""
|
|
@@ -2461,7 +2477,7 @@ class AtomicLayersUniqueRepeatedSchema14(BaseModel):
|
|
|
2461
2477
|
"""
|
|
2462
2478
|
Miller indices [h, k, l] defining crystallographic planes
|
|
2463
2479
|
"""
|
|
2464
|
-
crystal:
|
|
2480
|
+
crystal: CrystalSchema33 = Field(..., title="Crystal Schema")
|
|
2465
2481
|
"""
|
|
2466
2482
|
A crystal structure, referencing the base material schema
|
|
2467
2483
|
"""
|
|
@@ -2471,7 +2487,7 @@ class AtomicLayersUniqueRepeatedSchema14(BaseModel):
|
|
|
2471
2487
|
"""
|
|
2472
2488
|
|
|
2473
2489
|
|
|
2474
|
-
class
|
|
2490
|
+
class Value76(Enum):
|
|
2475
2491
|
H = "H"
|
|
2476
2492
|
He = "He"
|
|
2477
2493
|
Li = "Li"
|
|
@@ -2592,13 +2608,13 @@ class Value84(Enum):
|
|
|
2592
2608
|
Og = "Og"
|
|
2593
2609
|
|
|
2594
2610
|
|
|
2595
|
-
class
|
|
2611
|
+
class Value77(Enum):
|
|
2596
2612
|
X = "X"
|
|
2597
2613
|
Vac = "Vac"
|
|
2598
2614
|
|
|
2599
2615
|
|
|
2600
|
-
class
|
|
2601
|
-
value: Union[
|
|
2616
|
+
class AtomicElementSchema37(BaseModel):
|
|
2617
|
+
value: Union[Value76, Value77]
|
|
2602
2618
|
"""
|
|
2603
2619
|
All elements, including extra elements
|
|
2604
2620
|
"""
|
|
@@ -2608,8 +2624,8 @@ class AtomicElementSchema41(BaseModel):
|
|
|
2608
2624
|
"""
|
|
2609
2625
|
|
|
2610
2626
|
|
|
2611
|
-
class
|
|
2612
|
-
elements: List[
|
|
2627
|
+
class BasisSchema35(BaseModel):
|
|
2628
|
+
elements: List[AtomicElementSchema37] = Field(..., title="atomic elements schema")
|
|
2613
2629
|
"""
|
|
2614
2630
|
atomic elements schema
|
|
2615
2631
|
"""
|
|
@@ -2624,7 +2640,7 @@ class BasisSchema39(BaseModel):
|
|
|
2624
2640
|
"""
|
|
2625
2641
|
|
|
2626
2642
|
|
|
2627
|
-
class
|
|
2643
|
+
class LatticeVectorsSchema34(BaseModel):
|
|
2628
2644
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
2629
2645
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
2630
2646
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -2635,12 +2651,12 @@ class LatticeVectorsSchema38(BaseModel):
|
|
|
2635
2651
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
2636
2652
|
|
|
2637
2653
|
|
|
2638
|
-
class
|
|
2654
|
+
class LatticeUnitsSchema34(BaseModel):
|
|
2639
2655
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
2640
2656
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
2641
2657
|
|
|
2642
2658
|
|
|
2643
|
-
class
|
|
2659
|
+
class LatticeSchema34(BaseModel):
|
|
2644
2660
|
a: float
|
|
2645
2661
|
"""
|
|
2646
2662
|
length of the first lattice vector
|
|
@@ -2665,56 +2681,56 @@ class LatticeSchema38(BaseModel):
|
|
|
2665
2681
|
"""
|
|
2666
2682
|
angle between first and third lattice vector
|
|
2667
2683
|
"""
|
|
2668
|
-
vectors: Optional[
|
|
2684
|
+
vectors: Optional[LatticeVectorsSchema34] = Field(None, title="lattice vectors schema")
|
|
2669
2685
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
2670
|
-
units: Optional[
|
|
2671
|
-
default_factory=lambda:
|
|
2686
|
+
units: Optional[LatticeUnitsSchema34] = Field(
|
|
2687
|
+
default_factory=lambda: LatticeUnitsSchema34.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
2672
2688
|
title="Lattice units schema",
|
|
2673
2689
|
)
|
|
2674
2690
|
|
|
2675
2691
|
|
|
2676
|
-
class
|
|
2692
|
+
class Name279(Enum):
|
|
2677
2693
|
volume = "volume"
|
|
2678
2694
|
|
|
2679
2695
|
|
|
2680
|
-
class
|
|
2696
|
+
class Units111(Enum):
|
|
2681
2697
|
angstrom_3 = "angstrom^3"
|
|
2682
2698
|
|
|
2683
2699
|
|
|
2684
|
-
class
|
|
2700
|
+
class VolumeSchema34(BaseModel):
|
|
2685
2701
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
2686
|
-
units: Optional[
|
|
2702
|
+
units: Optional[Units111] = None
|
|
2687
2703
|
value: float
|
|
2688
2704
|
|
|
2689
2705
|
|
|
2690
|
-
class
|
|
2706
|
+
class Name280(Enum):
|
|
2691
2707
|
density = "density"
|
|
2692
2708
|
|
|
2693
2709
|
|
|
2694
|
-
class
|
|
2710
|
+
class Units112(Enum):
|
|
2695
2711
|
g_cm_3 = "g/cm^3"
|
|
2696
2712
|
|
|
2697
2713
|
|
|
2698
|
-
class
|
|
2714
|
+
class DensitySchema34(BaseModel):
|
|
2699
2715
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
2700
|
-
units: Optional[
|
|
2716
|
+
units: Optional[Units112] = None
|
|
2701
2717
|
value: float
|
|
2702
2718
|
|
|
2703
2719
|
|
|
2704
|
-
class
|
|
2720
|
+
class Units113(Enum):
|
|
2705
2721
|
angstrom = "angstrom"
|
|
2706
2722
|
|
|
2707
2723
|
|
|
2708
|
-
class
|
|
2709
|
-
units: Optional[
|
|
2724
|
+
class ScalarSchema35(BaseModel):
|
|
2725
|
+
units: Optional[Units113] = None
|
|
2710
2726
|
value: float
|
|
2711
2727
|
|
|
2712
2728
|
|
|
2713
|
-
class
|
|
2729
|
+
class Name281(Enum):
|
|
2714
2730
|
symmetry = "symmetry"
|
|
2715
2731
|
|
|
2716
2732
|
|
|
2717
|
-
class
|
|
2733
|
+
class SymmetrySchema34(BaseModel):
|
|
2718
2734
|
pointGroupSymbol: Optional[str] = None
|
|
2719
2735
|
"""
|
|
2720
2736
|
point group symbol in Schoenflies notation
|
|
@@ -2723,18 +2739,18 @@ class SymmetrySchema38(BaseModel):
|
|
|
2723
2739
|
"""
|
|
2724
2740
|
space group symbol in Hermann–Mauguin notation
|
|
2725
2741
|
"""
|
|
2726
|
-
tolerance: Optional[
|
|
2742
|
+
tolerance: Optional[ScalarSchema35] = Field(None, title="scalar schema")
|
|
2727
2743
|
"""
|
|
2728
2744
|
tolerance used for symmetry calculation
|
|
2729
2745
|
"""
|
|
2730
2746
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
2731
2747
|
|
|
2732
2748
|
|
|
2733
|
-
class
|
|
2749
|
+
class Name282(Enum):
|
|
2734
2750
|
elemental_ratio = "elemental_ratio"
|
|
2735
2751
|
|
|
2736
2752
|
|
|
2737
|
-
class
|
|
2753
|
+
class ElementalRatio34(BaseModel):
|
|
2738
2754
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
2739
2755
|
value: confloat(ge=0.0, le=1.0)
|
|
2740
2756
|
element: Optional[str] = None
|
|
@@ -2743,11 +2759,11 @@ class ElementalRatio38(BaseModel):
|
|
|
2743
2759
|
"""
|
|
2744
2760
|
|
|
2745
2761
|
|
|
2746
|
-
class
|
|
2762
|
+
class Name283(Enum):
|
|
2747
2763
|
p_norm = "p-norm"
|
|
2748
2764
|
|
|
2749
2765
|
|
|
2750
|
-
class
|
|
2766
|
+
class PNorm34(BaseModel):
|
|
2751
2767
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
2752
2768
|
degree: Optional[int] = None
|
|
2753
2769
|
"""
|
|
@@ -2756,56 +2772,56 @@ class PNorm38(BaseModel):
|
|
|
2756
2772
|
value: float
|
|
2757
2773
|
|
|
2758
2774
|
|
|
2759
|
-
class
|
|
2775
|
+
class Name284(Enum):
|
|
2760
2776
|
inchi = "inchi"
|
|
2761
2777
|
|
|
2762
2778
|
|
|
2763
|
-
class
|
|
2779
|
+
class InChIRepresentationSchema34(BaseModel):
|
|
2764
2780
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
2765
2781
|
value: str
|
|
2766
2782
|
|
|
2767
2783
|
|
|
2768
|
-
class
|
|
2784
|
+
class Name285(Enum):
|
|
2769
2785
|
inchi_key = "inchi_key"
|
|
2770
2786
|
|
|
2771
2787
|
|
|
2772
|
-
class
|
|
2788
|
+
class InChIKeyRepresentationSchema34(BaseModel):
|
|
2773
2789
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
2774
2790
|
value: str
|
|
2775
2791
|
|
|
2776
2792
|
|
|
2777
|
-
class
|
|
2793
|
+
class DerivedPropertiesSchema34(
|
|
2778
2794
|
RootModel[
|
|
2779
2795
|
Union[
|
|
2780
|
-
|
|
2781
|
-
|
|
2782
|
-
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2796
|
+
VolumeSchema34,
|
|
2797
|
+
DensitySchema34,
|
|
2798
|
+
SymmetrySchema34,
|
|
2799
|
+
ElementalRatio34,
|
|
2800
|
+
PNorm34,
|
|
2801
|
+
InChIRepresentationSchema34,
|
|
2802
|
+
InChIKeyRepresentationSchema34,
|
|
2787
2803
|
]
|
|
2788
2804
|
]
|
|
2789
2805
|
):
|
|
2790
2806
|
root: Union[
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2807
|
+
VolumeSchema34,
|
|
2808
|
+
DensitySchema34,
|
|
2809
|
+
SymmetrySchema34,
|
|
2810
|
+
ElementalRatio34,
|
|
2811
|
+
PNorm34,
|
|
2812
|
+
InChIRepresentationSchema34,
|
|
2813
|
+
InChIKeyRepresentationSchema34,
|
|
2798
2814
|
] = Field(..., discriminator="name")
|
|
2799
2815
|
|
|
2800
2816
|
|
|
2801
|
-
class
|
|
2817
|
+
class Name286(Enum):
|
|
2802
2818
|
default = "default"
|
|
2803
2819
|
atomsTooClose = "atomsTooClose"
|
|
2804
2820
|
atomsOverlap = "atomsOverlap"
|
|
2805
2821
|
|
|
2806
2822
|
|
|
2807
|
-
class
|
|
2808
|
-
name:
|
|
2823
|
+
class MaterialConsistencyCheckSchema34(BaseModel):
|
|
2824
|
+
name: Name286
|
|
2809
2825
|
"""
|
|
2810
2826
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
2811
2827
|
"""
|
|
@@ -2823,7 +2839,7 @@ class MaterialConsistencyCheckSchema38(BaseModel):
|
|
|
2823
2839
|
"""
|
|
2824
2840
|
|
|
2825
2841
|
|
|
2826
|
-
class
|
|
2842
|
+
class CrystalSchema34(BaseModel):
|
|
2827
2843
|
formula: Optional[str] = None
|
|
2828
2844
|
"""
|
|
2829
2845
|
reduced chemical formula
|
|
@@ -2832,9 +2848,9 @@ class CrystalSchema38(BaseModel):
|
|
|
2832
2848
|
"""
|
|
2833
2849
|
chemical formula based on the number of atoms of each element in the supercell
|
|
2834
2850
|
"""
|
|
2835
|
-
basis:
|
|
2836
|
-
lattice:
|
|
2837
|
-
derivedProperties: Optional[List[
|
|
2851
|
+
basis: BasisSchema35 = Field(..., title="basis schema")
|
|
2852
|
+
lattice: LatticeSchema34 = Field(..., title="lattice schema")
|
|
2853
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema34]] = Field(None, title="derived properties schema")
|
|
2838
2854
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
2839
2855
|
"""
|
|
2840
2856
|
information about a database source
|
|
@@ -2855,7 +2871,7 @@ class CrystalSchema38(BaseModel):
|
|
|
2855
2871
|
"""
|
|
2856
2872
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
2857
2873
|
"""
|
|
2858
|
-
consistencyChecks: Optional[List[
|
|
2874
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema34]] = None
|
|
2859
2875
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
2860
2876
|
"""
|
|
2861
2877
|
entity identity
|
|
@@ -2880,7 +2896,7 @@ class CrystalSchema38(BaseModel):
|
|
|
2880
2896
|
metadata: Optional[Dict[str, Any]] = None
|
|
2881
2897
|
|
|
2882
2898
|
|
|
2883
|
-
class
|
|
2899
|
+
class VacuumConfigurationSchema15(BaseModel):
|
|
2884
2900
|
direction: AxisEnum = Field(..., title="Axis Enum")
|
|
2885
2901
|
"""
|
|
2886
2902
|
Enum for axis types
|
|
@@ -2889,39 +2905,27 @@ class VacuumConfigurationSchema17(BaseModel):
|
|
|
2889
2905
|
"""
|
|
2890
2906
|
Size of the vacuum slab in angstroms
|
|
2891
2907
|
"""
|
|
2892
|
-
crystal:
|
|
2908
|
+
crystal: CrystalSchema34 = Field(..., title="Crystal Schema")
|
|
2893
2909
|
"""
|
|
2894
2910
|
A crystal structure, referencing the base material schema
|
|
2895
2911
|
"""
|
|
2896
2912
|
|
|
2897
2913
|
|
|
2898
|
-
class
|
|
2899
|
-
|
|
2900
|
-
"""
|
|
2901
|
-
If provided, the film is shifted to have it as smallest distance to the substrate
|
|
2902
|
-
"""
|
|
2903
|
-
xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
|
|
2904
|
-
default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
|
|
2905
|
-
max_length=2,
|
|
2906
|
-
min_length=2,
|
|
2907
|
-
title="Supercell Matrix 2D Schema",
|
|
2908
|
-
)
|
|
2909
|
-
"""
|
|
2910
|
-
Supercell matrix for xy plane transformations
|
|
2911
|
-
"""
|
|
2912
|
-
strain_matrix: List[ArrayOf3NumberElementsSchema] = Field(
|
|
2913
|
-
..., max_length=3, min_length=3, title="matrix 3x3 schema"
|
|
2914
|
-
)
|
|
2915
|
-
stack_components: List[Union[AtomicLayersUniqueRepeatedSchema14, VacuumConfigurationSchema17]] = Field(
|
|
2914
|
+
class SlabConfigurationSchema8(BaseModel):
|
|
2915
|
+
stack_components: List[Union[AtomicLayersUniqueRepeatedSchema12, VacuumConfigurationSchema15]] = Field(
|
|
2916
2916
|
..., max_length=2, min_length=2
|
|
2917
2917
|
)
|
|
2918
2918
|
direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
|
|
2919
2919
|
"""
|
|
2920
2920
|
Enum for axis types
|
|
2921
2921
|
"""
|
|
2922
|
+
gaps: Optional[List[ObjectWithId]] = None
|
|
2923
|
+
"""
|
|
2924
|
+
Gap distances between stack components as an array of objects with id and value
|
|
2925
|
+
"""
|
|
2922
2926
|
|
|
2923
2927
|
|
|
2924
|
-
class
|
|
2928
|
+
class TerminationSchema15(BaseModel):
|
|
2925
2929
|
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
2926
2930
|
..., title="Chemical Elements"
|
|
2927
2931
|
)
|
|
@@ -2934,7 +2938,7 @@ class TerminationSchema17(BaseModel):
|
|
|
2934
2938
|
"""
|
|
2935
2939
|
|
|
2936
2940
|
|
|
2937
|
-
class
|
|
2941
|
+
class Value78(Enum):
|
|
2938
2942
|
H = "H"
|
|
2939
2943
|
He = "He"
|
|
2940
2944
|
Li = "Li"
|
|
@@ -3055,13 +3059,13 @@ class Value86(Enum):
|
|
|
3055
3059
|
Og = "Og"
|
|
3056
3060
|
|
|
3057
3061
|
|
|
3058
|
-
class
|
|
3062
|
+
class Value79(Enum):
|
|
3059
3063
|
X = "X"
|
|
3060
3064
|
Vac = "Vac"
|
|
3061
3065
|
|
|
3062
3066
|
|
|
3063
|
-
class
|
|
3064
|
-
value: Union[
|
|
3067
|
+
class AtomicElementSchema38(BaseModel):
|
|
3068
|
+
value: Union[Value78, Value79]
|
|
3065
3069
|
"""
|
|
3066
3070
|
All elements, including extra elements
|
|
3067
3071
|
"""
|
|
@@ -3071,8 +3075,8 @@ class AtomicElementSchema42(BaseModel):
|
|
|
3071
3075
|
"""
|
|
3072
3076
|
|
|
3073
3077
|
|
|
3074
|
-
class
|
|
3075
|
-
elements: List[
|
|
3078
|
+
class BasisSchema36(BaseModel):
|
|
3079
|
+
elements: List[AtomicElementSchema38] = Field(..., title="atomic elements schema")
|
|
3076
3080
|
"""
|
|
3077
3081
|
atomic elements schema
|
|
3078
3082
|
"""
|
|
@@ -3087,7 +3091,7 @@ class BasisSchema40(BaseModel):
|
|
|
3087
3091
|
"""
|
|
3088
3092
|
|
|
3089
3093
|
|
|
3090
|
-
class
|
|
3094
|
+
class LatticeVectorsSchema35(BaseModel):
|
|
3091
3095
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
3092
3096
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
3093
3097
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -3098,12 +3102,12 @@ class LatticeVectorsSchema39(BaseModel):
|
|
|
3098
3102
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
3099
3103
|
|
|
3100
3104
|
|
|
3101
|
-
class
|
|
3105
|
+
class LatticeUnitsSchema35(BaseModel):
|
|
3102
3106
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
3103
3107
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
3104
3108
|
|
|
3105
3109
|
|
|
3106
|
-
class
|
|
3110
|
+
class LatticeSchema35(BaseModel):
|
|
3107
3111
|
a: float
|
|
3108
3112
|
"""
|
|
3109
3113
|
length of the first lattice vector
|
|
@@ -3128,56 +3132,56 @@ class LatticeSchema39(BaseModel):
|
|
|
3128
3132
|
"""
|
|
3129
3133
|
angle between first and third lattice vector
|
|
3130
3134
|
"""
|
|
3131
|
-
vectors: Optional[
|
|
3135
|
+
vectors: Optional[LatticeVectorsSchema35] = Field(None, title="lattice vectors schema")
|
|
3132
3136
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
3133
|
-
units: Optional[
|
|
3134
|
-
default_factory=lambda:
|
|
3137
|
+
units: Optional[LatticeUnitsSchema35] = Field(
|
|
3138
|
+
default_factory=lambda: LatticeUnitsSchema35.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
3135
3139
|
title="Lattice units schema",
|
|
3136
3140
|
)
|
|
3137
3141
|
|
|
3138
3142
|
|
|
3139
|
-
class
|
|
3143
|
+
class Name287(Enum):
|
|
3140
3144
|
volume = "volume"
|
|
3141
3145
|
|
|
3142
3146
|
|
|
3143
|
-
class
|
|
3147
|
+
class Units114(Enum):
|
|
3144
3148
|
angstrom_3 = "angstrom^3"
|
|
3145
3149
|
|
|
3146
3150
|
|
|
3147
|
-
class
|
|
3151
|
+
class VolumeSchema35(BaseModel):
|
|
3148
3152
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
3149
|
-
units: Optional[
|
|
3153
|
+
units: Optional[Units114] = None
|
|
3150
3154
|
value: float
|
|
3151
3155
|
|
|
3152
3156
|
|
|
3153
|
-
class
|
|
3157
|
+
class Name288(Enum):
|
|
3154
3158
|
density = "density"
|
|
3155
3159
|
|
|
3156
3160
|
|
|
3157
|
-
class
|
|
3161
|
+
class Units115(Enum):
|
|
3158
3162
|
g_cm_3 = "g/cm^3"
|
|
3159
3163
|
|
|
3160
3164
|
|
|
3161
|
-
class
|
|
3165
|
+
class DensitySchema35(BaseModel):
|
|
3162
3166
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
3163
|
-
units: Optional[
|
|
3167
|
+
units: Optional[Units115] = None
|
|
3164
3168
|
value: float
|
|
3165
3169
|
|
|
3166
3170
|
|
|
3167
|
-
class
|
|
3171
|
+
class Units116(Enum):
|
|
3168
3172
|
angstrom = "angstrom"
|
|
3169
3173
|
|
|
3170
3174
|
|
|
3171
|
-
class
|
|
3172
|
-
units: Optional[
|
|
3175
|
+
class ScalarSchema36(BaseModel):
|
|
3176
|
+
units: Optional[Units116] = None
|
|
3173
3177
|
value: float
|
|
3174
3178
|
|
|
3175
3179
|
|
|
3176
|
-
class
|
|
3180
|
+
class Name289(Enum):
|
|
3177
3181
|
symmetry = "symmetry"
|
|
3178
3182
|
|
|
3179
3183
|
|
|
3180
|
-
class
|
|
3184
|
+
class SymmetrySchema35(BaseModel):
|
|
3181
3185
|
pointGroupSymbol: Optional[str] = None
|
|
3182
3186
|
"""
|
|
3183
3187
|
point group symbol in Schoenflies notation
|
|
@@ -3186,18 +3190,18 @@ class SymmetrySchema39(BaseModel):
|
|
|
3186
3190
|
"""
|
|
3187
3191
|
space group symbol in Hermann–Mauguin notation
|
|
3188
3192
|
"""
|
|
3189
|
-
tolerance: Optional[
|
|
3193
|
+
tolerance: Optional[ScalarSchema36] = Field(None, title="scalar schema")
|
|
3190
3194
|
"""
|
|
3191
3195
|
tolerance used for symmetry calculation
|
|
3192
3196
|
"""
|
|
3193
3197
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
3194
3198
|
|
|
3195
3199
|
|
|
3196
|
-
class
|
|
3200
|
+
class Name290(Enum):
|
|
3197
3201
|
elemental_ratio = "elemental_ratio"
|
|
3198
3202
|
|
|
3199
3203
|
|
|
3200
|
-
class
|
|
3204
|
+
class ElementalRatio35(BaseModel):
|
|
3201
3205
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
3202
3206
|
value: confloat(ge=0.0, le=1.0)
|
|
3203
3207
|
element: Optional[str] = None
|
|
@@ -3206,11 +3210,11 @@ class ElementalRatio39(BaseModel):
|
|
|
3206
3210
|
"""
|
|
3207
3211
|
|
|
3208
3212
|
|
|
3209
|
-
class
|
|
3213
|
+
class Name291(Enum):
|
|
3210
3214
|
p_norm = "p-norm"
|
|
3211
3215
|
|
|
3212
3216
|
|
|
3213
|
-
class
|
|
3217
|
+
class PNorm35(BaseModel):
|
|
3214
3218
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
3215
3219
|
degree: Optional[int] = None
|
|
3216
3220
|
"""
|
|
@@ -3219,56 +3223,56 @@ class PNorm39(BaseModel):
|
|
|
3219
3223
|
value: float
|
|
3220
3224
|
|
|
3221
3225
|
|
|
3222
|
-
class
|
|
3226
|
+
class Name292(Enum):
|
|
3223
3227
|
inchi = "inchi"
|
|
3224
3228
|
|
|
3225
3229
|
|
|
3226
|
-
class
|
|
3230
|
+
class InChIRepresentationSchema35(BaseModel):
|
|
3227
3231
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
3228
3232
|
value: str
|
|
3229
3233
|
|
|
3230
3234
|
|
|
3231
|
-
class
|
|
3235
|
+
class Name293(Enum):
|
|
3232
3236
|
inchi_key = "inchi_key"
|
|
3233
3237
|
|
|
3234
3238
|
|
|
3235
|
-
class
|
|
3239
|
+
class InChIKeyRepresentationSchema35(BaseModel):
|
|
3236
3240
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
3237
3241
|
value: str
|
|
3238
3242
|
|
|
3239
3243
|
|
|
3240
|
-
class
|
|
3244
|
+
class DerivedPropertiesSchema35(
|
|
3241
3245
|
RootModel[
|
|
3242
3246
|
Union[
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
|
|
3246
|
-
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3247
|
+
VolumeSchema35,
|
|
3248
|
+
DensitySchema35,
|
|
3249
|
+
SymmetrySchema35,
|
|
3250
|
+
ElementalRatio35,
|
|
3251
|
+
PNorm35,
|
|
3252
|
+
InChIRepresentationSchema35,
|
|
3253
|
+
InChIKeyRepresentationSchema35,
|
|
3250
3254
|
]
|
|
3251
3255
|
]
|
|
3252
3256
|
):
|
|
3253
3257
|
root: Union[
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
|
|
3259
|
-
|
|
3260
|
-
|
|
3258
|
+
VolumeSchema35,
|
|
3259
|
+
DensitySchema35,
|
|
3260
|
+
SymmetrySchema35,
|
|
3261
|
+
ElementalRatio35,
|
|
3262
|
+
PNorm35,
|
|
3263
|
+
InChIRepresentationSchema35,
|
|
3264
|
+
InChIKeyRepresentationSchema35,
|
|
3261
3265
|
] = Field(..., discriminator="name")
|
|
3262
3266
|
|
|
3263
3267
|
|
|
3264
|
-
class
|
|
3268
|
+
class Name294(Enum):
|
|
3265
3269
|
default = "default"
|
|
3266
3270
|
atomsTooClose = "atomsTooClose"
|
|
3267
3271
|
atomsOverlap = "atomsOverlap"
|
|
3268
3272
|
|
|
3269
3273
|
|
|
3270
|
-
class
|
|
3271
|
-
name:
|
|
3274
|
+
class MaterialConsistencyCheckSchema35(BaseModel):
|
|
3275
|
+
name: Name294
|
|
3272
3276
|
"""
|
|
3273
3277
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
3274
3278
|
"""
|
|
@@ -3286,7 +3290,7 @@ class MaterialConsistencyCheckSchema39(BaseModel):
|
|
|
3286
3290
|
"""
|
|
3287
3291
|
|
|
3288
3292
|
|
|
3289
|
-
class
|
|
3293
|
+
class CrystalSchema35(BaseModel):
|
|
3290
3294
|
formula: Optional[str] = None
|
|
3291
3295
|
"""
|
|
3292
3296
|
reduced chemical formula
|
|
@@ -3295,9 +3299,9 @@ class CrystalSchema39(BaseModel):
|
|
|
3295
3299
|
"""
|
|
3296
3300
|
chemical formula based on the number of atoms of each element in the supercell
|
|
3297
3301
|
"""
|
|
3298
|
-
basis:
|
|
3299
|
-
lattice:
|
|
3300
|
-
derivedProperties: Optional[List[
|
|
3302
|
+
basis: BasisSchema36 = Field(..., title="basis schema")
|
|
3303
|
+
lattice: LatticeSchema35 = Field(..., title="lattice schema")
|
|
3304
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema35]] = Field(None, title="derived properties schema")
|
|
3301
3305
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
3302
3306
|
"""
|
|
3303
3307
|
information about a database source
|
|
@@ -3318,7 +3322,7 @@ class CrystalSchema39(BaseModel):
|
|
|
3318
3322
|
"""
|
|
3319
3323
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
3320
3324
|
"""
|
|
3321
|
-
consistencyChecks: Optional[List[
|
|
3325
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema35]] = None
|
|
3322
3326
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
3323
3327
|
"""
|
|
3324
3328
|
entity identity
|
|
@@ -3343,8 +3347,8 @@ class CrystalSchema39(BaseModel):
|
|
|
3343
3347
|
metadata: Optional[Dict[str, Any]] = None
|
|
3344
3348
|
|
|
3345
3349
|
|
|
3346
|
-
class
|
|
3347
|
-
termination_top:
|
|
3350
|
+
class AtomicLayersUniqueRepeatedSchema13(BaseModel):
|
|
3351
|
+
termination_top: TerminationSchema15 = Field(..., title="Termination Schema")
|
|
3348
3352
|
"""
|
|
3349
3353
|
Defines a specific termination of a slab
|
|
3350
3354
|
"""
|
|
@@ -3356,7 +3360,7 @@ class AtomicLayersUniqueRepeatedSchema15(BaseModel):
|
|
|
3356
3360
|
"""
|
|
3357
3361
|
Miller indices [h, k, l] defining crystallographic planes
|
|
3358
3362
|
"""
|
|
3359
|
-
crystal:
|
|
3363
|
+
crystal: CrystalSchema35 = Field(..., title="Crystal Schema")
|
|
3360
3364
|
"""
|
|
3361
3365
|
A crystal structure, referencing the base material schema
|
|
3362
3366
|
"""
|
|
@@ -3366,7 +3370,7 @@ class AtomicLayersUniqueRepeatedSchema15(BaseModel):
|
|
|
3366
3370
|
"""
|
|
3367
3371
|
|
|
3368
3372
|
|
|
3369
|
-
class
|
|
3373
|
+
class Value80(Enum):
|
|
3370
3374
|
H = "H"
|
|
3371
3375
|
He = "He"
|
|
3372
3376
|
Li = "Li"
|
|
@@ -3487,13 +3491,13 @@ class Value88(Enum):
|
|
|
3487
3491
|
Og = "Og"
|
|
3488
3492
|
|
|
3489
3493
|
|
|
3490
|
-
class
|
|
3494
|
+
class Value81(Enum):
|
|
3491
3495
|
X = "X"
|
|
3492
3496
|
Vac = "Vac"
|
|
3493
3497
|
|
|
3494
3498
|
|
|
3495
|
-
class
|
|
3496
|
-
value: Union[
|
|
3499
|
+
class AtomicElementSchema39(BaseModel):
|
|
3500
|
+
value: Union[Value80, Value81]
|
|
3497
3501
|
"""
|
|
3498
3502
|
All elements, including extra elements
|
|
3499
3503
|
"""
|
|
@@ -3503,8 +3507,8 @@ class AtomicElementSchema43(BaseModel):
|
|
|
3503
3507
|
"""
|
|
3504
3508
|
|
|
3505
3509
|
|
|
3506
|
-
class
|
|
3507
|
-
elements: List[
|
|
3510
|
+
class BasisSchema37(BaseModel):
|
|
3511
|
+
elements: List[AtomicElementSchema39] = Field(..., title="atomic elements schema")
|
|
3508
3512
|
"""
|
|
3509
3513
|
atomic elements schema
|
|
3510
3514
|
"""
|
|
@@ -3519,7 +3523,7 @@ class BasisSchema41(BaseModel):
|
|
|
3519
3523
|
"""
|
|
3520
3524
|
|
|
3521
3525
|
|
|
3522
|
-
class
|
|
3526
|
+
class LatticeVectorsSchema36(BaseModel):
|
|
3523
3527
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
3524
3528
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
3525
3529
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -3530,12 +3534,12 @@ class LatticeVectorsSchema40(BaseModel):
|
|
|
3530
3534
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
3531
3535
|
|
|
3532
3536
|
|
|
3533
|
-
class
|
|
3537
|
+
class LatticeUnitsSchema36(BaseModel):
|
|
3534
3538
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
3535
3539
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
3536
3540
|
|
|
3537
3541
|
|
|
3538
|
-
class
|
|
3542
|
+
class LatticeSchema36(BaseModel):
|
|
3539
3543
|
a: float
|
|
3540
3544
|
"""
|
|
3541
3545
|
length of the first lattice vector
|
|
@@ -3560,56 +3564,56 @@ class LatticeSchema40(BaseModel):
|
|
|
3560
3564
|
"""
|
|
3561
3565
|
angle between first and third lattice vector
|
|
3562
3566
|
"""
|
|
3563
|
-
vectors: Optional[
|
|
3567
|
+
vectors: Optional[LatticeVectorsSchema36] = Field(None, title="lattice vectors schema")
|
|
3564
3568
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
3565
|
-
units: Optional[
|
|
3566
|
-
default_factory=lambda:
|
|
3569
|
+
units: Optional[LatticeUnitsSchema36] = Field(
|
|
3570
|
+
default_factory=lambda: LatticeUnitsSchema36.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
3567
3571
|
title="Lattice units schema",
|
|
3568
3572
|
)
|
|
3569
3573
|
|
|
3570
3574
|
|
|
3571
|
-
class
|
|
3575
|
+
class Name295(Enum):
|
|
3572
3576
|
volume = "volume"
|
|
3573
3577
|
|
|
3574
3578
|
|
|
3575
|
-
class
|
|
3579
|
+
class Units117(Enum):
|
|
3576
3580
|
angstrom_3 = "angstrom^3"
|
|
3577
3581
|
|
|
3578
3582
|
|
|
3579
|
-
class
|
|
3583
|
+
class VolumeSchema36(BaseModel):
|
|
3580
3584
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
3581
|
-
units: Optional[
|
|
3585
|
+
units: Optional[Units117] = None
|
|
3582
3586
|
value: float
|
|
3583
3587
|
|
|
3584
3588
|
|
|
3585
|
-
class
|
|
3589
|
+
class Name296(Enum):
|
|
3586
3590
|
density = "density"
|
|
3587
3591
|
|
|
3588
3592
|
|
|
3589
|
-
class
|
|
3593
|
+
class Units118(Enum):
|
|
3590
3594
|
g_cm_3 = "g/cm^3"
|
|
3591
3595
|
|
|
3592
3596
|
|
|
3593
|
-
class
|
|
3597
|
+
class DensitySchema36(BaseModel):
|
|
3594
3598
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
3595
|
-
units: Optional[
|
|
3599
|
+
units: Optional[Units118] = None
|
|
3596
3600
|
value: float
|
|
3597
3601
|
|
|
3598
3602
|
|
|
3599
|
-
class
|
|
3603
|
+
class Units119(Enum):
|
|
3600
3604
|
angstrom = "angstrom"
|
|
3601
3605
|
|
|
3602
3606
|
|
|
3603
|
-
class
|
|
3604
|
-
units: Optional[
|
|
3607
|
+
class ScalarSchema37(BaseModel):
|
|
3608
|
+
units: Optional[Units119] = None
|
|
3605
3609
|
value: float
|
|
3606
3610
|
|
|
3607
3611
|
|
|
3608
|
-
class
|
|
3612
|
+
class Name297(Enum):
|
|
3609
3613
|
symmetry = "symmetry"
|
|
3610
3614
|
|
|
3611
3615
|
|
|
3612
|
-
class
|
|
3616
|
+
class SymmetrySchema36(BaseModel):
|
|
3613
3617
|
pointGroupSymbol: Optional[str] = None
|
|
3614
3618
|
"""
|
|
3615
3619
|
point group symbol in Schoenflies notation
|
|
@@ -3618,18 +3622,18 @@ class SymmetrySchema40(BaseModel):
|
|
|
3618
3622
|
"""
|
|
3619
3623
|
space group symbol in Hermann–Mauguin notation
|
|
3620
3624
|
"""
|
|
3621
|
-
tolerance: Optional[
|
|
3625
|
+
tolerance: Optional[ScalarSchema37] = Field(None, title="scalar schema")
|
|
3622
3626
|
"""
|
|
3623
3627
|
tolerance used for symmetry calculation
|
|
3624
3628
|
"""
|
|
3625
3629
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
3626
3630
|
|
|
3627
3631
|
|
|
3628
|
-
class
|
|
3632
|
+
class Name298(Enum):
|
|
3629
3633
|
elemental_ratio = "elemental_ratio"
|
|
3630
3634
|
|
|
3631
3635
|
|
|
3632
|
-
class
|
|
3636
|
+
class ElementalRatio36(BaseModel):
|
|
3633
3637
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
3634
3638
|
value: confloat(ge=0.0, le=1.0)
|
|
3635
3639
|
element: Optional[str] = None
|
|
@@ -3638,11 +3642,11 @@ class ElementalRatio40(BaseModel):
|
|
|
3638
3642
|
"""
|
|
3639
3643
|
|
|
3640
3644
|
|
|
3641
|
-
class
|
|
3645
|
+
class Name299(Enum):
|
|
3642
3646
|
p_norm = "p-norm"
|
|
3643
3647
|
|
|
3644
3648
|
|
|
3645
|
-
class
|
|
3649
|
+
class PNorm36(BaseModel):
|
|
3646
3650
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
3647
3651
|
degree: Optional[int] = None
|
|
3648
3652
|
"""
|
|
@@ -3651,56 +3655,56 @@ class PNorm40(BaseModel):
|
|
|
3651
3655
|
value: float
|
|
3652
3656
|
|
|
3653
3657
|
|
|
3654
|
-
class
|
|
3658
|
+
class Name300(Enum):
|
|
3655
3659
|
inchi = "inchi"
|
|
3656
3660
|
|
|
3657
3661
|
|
|
3658
|
-
class
|
|
3662
|
+
class InChIRepresentationSchema36(BaseModel):
|
|
3659
3663
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
3660
3664
|
value: str
|
|
3661
3665
|
|
|
3662
3666
|
|
|
3663
|
-
class
|
|
3667
|
+
class Name301(Enum):
|
|
3664
3668
|
inchi_key = "inchi_key"
|
|
3665
3669
|
|
|
3666
3670
|
|
|
3667
|
-
class
|
|
3671
|
+
class InChIKeyRepresentationSchema36(BaseModel):
|
|
3668
3672
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
3669
3673
|
value: str
|
|
3670
3674
|
|
|
3671
3675
|
|
|
3672
|
-
class
|
|
3676
|
+
class DerivedPropertiesSchema36(
|
|
3673
3677
|
RootModel[
|
|
3674
3678
|
Union[
|
|
3675
|
-
|
|
3676
|
-
|
|
3677
|
-
|
|
3678
|
-
|
|
3679
|
-
|
|
3680
|
-
|
|
3681
|
-
|
|
3679
|
+
VolumeSchema36,
|
|
3680
|
+
DensitySchema36,
|
|
3681
|
+
SymmetrySchema36,
|
|
3682
|
+
ElementalRatio36,
|
|
3683
|
+
PNorm36,
|
|
3684
|
+
InChIRepresentationSchema36,
|
|
3685
|
+
InChIKeyRepresentationSchema36,
|
|
3682
3686
|
]
|
|
3683
3687
|
]
|
|
3684
3688
|
):
|
|
3685
3689
|
root: Union[
|
|
3686
|
-
|
|
3687
|
-
|
|
3688
|
-
|
|
3689
|
-
|
|
3690
|
-
|
|
3691
|
-
|
|
3692
|
-
|
|
3690
|
+
VolumeSchema36,
|
|
3691
|
+
DensitySchema36,
|
|
3692
|
+
SymmetrySchema36,
|
|
3693
|
+
ElementalRatio36,
|
|
3694
|
+
PNorm36,
|
|
3695
|
+
InChIRepresentationSchema36,
|
|
3696
|
+
InChIKeyRepresentationSchema36,
|
|
3693
3697
|
] = Field(..., discriminator="name")
|
|
3694
3698
|
|
|
3695
3699
|
|
|
3696
|
-
class
|
|
3700
|
+
class Name302(Enum):
|
|
3697
3701
|
default = "default"
|
|
3698
3702
|
atomsTooClose = "atomsTooClose"
|
|
3699
3703
|
atomsOverlap = "atomsOverlap"
|
|
3700
3704
|
|
|
3701
3705
|
|
|
3702
|
-
class
|
|
3703
|
-
name:
|
|
3706
|
+
class MaterialConsistencyCheckSchema36(BaseModel):
|
|
3707
|
+
name: Name302
|
|
3704
3708
|
"""
|
|
3705
3709
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
3706
3710
|
"""
|
|
@@ -3718,7 +3722,7 @@ class MaterialConsistencyCheckSchema40(BaseModel):
|
|
|
3718
3722
|
"""
|
|
3719
3723
|
|
|
3720
3724
|
|
|
3721
|
-
class
|
|
3725
|
+
class CrystalSchema36(BaseModel):
|
|
3722
3726
|
formula: Optional[str] = None
|
|
3723
3727
|
"""
|
|
3724
3728
|
reduced chemical formula
|
|
@@ -3727,9 +3731,9 @@ class CrystalSchema40(BaseModel):
|
|
|
3727
3731
|
"""
|
|
3728
3732
|
chemical formula based on the number of atoms of each element in the supercell
|
|
3729
3733
|
"""
|
|
3730
|
-
basis:
|
|
3731
|
-
lattice:
|
|
3732
|
-
derivedProperties: Optional[List[
|
|
3734
|
+
basis: BasisSchema37 = Field(..., title="basis schema")
|
|
3735
|
+
lattice: LatticeSchema36 = Field(..., title="lattice schema")
|
|
3736
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema36]] = Field(None, title="derived properties schema")
|
|
3733
3737
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
3734
3738
|
"""
|
|
3735
3739
|
information about a database source
|
|
@@ -3750,7 +3754,7 @@ class CrystalSchema40(BaseModel):
|
|
|
3750
3754
|
"""
|
|
3751
3755
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
3752
3756
|
"""
|
|
3753
|
-
consistencyChecks: Optional[List[
|
|
3757
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema36]] = None
|
|
3754
3758
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
3755
3759
|
"""
|
|
3756
3760
|
entity identity
|
|
@@ -3775,7 +3779,7 @@ class CrystalSchema40(BaseModel):
|
|
|
3775
3779
|
metadata: Optional[Dict[str, Any]] = None
|
|
3776
3780
|
|
|
3777
3781
|
|
|
3778
|
-
class
|
|
3782
|
+
class VacuumConfigurationSchema16(BaseModel):
|
|
3779
3783
|
direction: AxisEnum = Field(..., title="Axis Enum")
|
|
3780
3784
|
"""
|
|
3781
3785
|
Enum for axis types
|
|
@@ -3784,36 +3788,39 @@ class VacuumConfigurationSchema18(BaseModel):
|
|
|
3784
3788
|
"""
|
|
3785
3789
|
Size of the vacuum slab in angstroms
|
|
3786
3790
|
"""
|
|
3787
|
-
crystal:
|
|
3791
|
+
crystal: CrystalSchema36 = Field(..., title="Crystal Schema")
|
|
3788
3792
|
"""
|
|
3789
3793
|
A crystal structure, referencing the base material schema
|
|
3790
3794
|
"""
|
|
3791
3795
|
|
|
3792
3796
|
|
|
3793
|
-
class
|
|
3794
|
-
|
|
3795
|
-
|
|
3797
|
+
class SlabStrainedSupercellConfigurationSchema3(BaseModel):
|
|
3798
|
+
xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
|
|
3799
|
+
default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
|
|
3800
|
+
max_length=2,
|
|
3801
|
+
min_length=2,
|
|
3802
|
+
title="Supercell Matrix 2D Schema",
|
|
3796
3803
|
)
|
|
3797
|
-
direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
|
|
3798
3804
|
"""
|
|
3799
|
-
|
|
3805
|
+
Supercell matrix for xy plane transformations
|
|
3800
3806
|
"""
|
|
3801
|
-
|
|
3802
|
-
|
|
3803
|
-
|
|
3804
|
-
|
|
3805
|
-
...,
|
|
3807
|
+
strain_matrix: List[ArrayOf3NumberElementsSchema] = Field(
|
|
3808
|
+
..., max_length=3, min_length=3, title="matrix 3x3 schema"
|
|
3809
|
+
)
|
|
3810
|
+
stack_components: List[Union[AtomicLayersUniqueRepeatedSchema13, VacuumConfigurationSchema16]] = Field(
|
|
3811
|
+
..., max_length=2, min_length=2
|
|
3806
3812
|
)
|
|
3813
|
+
direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
|
|
3807
3814
|
"""
|
|
3808
|
-
|
|
3815
|
+
Enum for axis types
|
|
3809
3816
|
"""
|
|
3810
|
-
|
|
3817
|
+
gaps: Optional[List[ObjectWithId]] = None
|
|
3811
3818
|
"""
|
|
3812
|
-
|
|
3819
|
+
Gap distances between stack components as an array of objects with id and value
|
|
3813
3820
|
"""
|
|
3814
3821
|
|
|
3815
3822
|
|
|
3816
|
-
class
|
|
3823
|
+
class Value82(Enum):
|
|
3817
3824
|
H = "H"
|
|
3818
3825
|
He = "He"
|
|
3819
3826
|
Li = "Li"
|
|
@@ -3934,13 +3941,13 @@ class Value90(Enum):
|
|
|
3934
3941
|
Og = "Og"
|
|
3935
3942
|
|
|
3936
3943
|
|
|
3937
|
-
class
|
|
3944
|
+
class Value83(Enum):
|
|
3938
3945
|
X = "X"
|
|
3939
3946
|
Vac = "Vac"
|
|
3940
3947
|
|
|
3941
3948
|
|
|
3942
|
-
class
|
|
3943
|
-
value: Union[
|
|
3949
|
+
class AtomicElementSchema40(BaseModel):
|
|
3950
|
+
value: Union[Value82, Value83]
|
|
3944
3951
|
"""
|
|
3945
3952
|
All elements, including extra elements
|
|
3946
3953
|
"""
|
|
@@ -3950,8 +3957,8 @@ class AtomicElementSchema44(BaseModel):
|
|
|
3950
3957
|
"""
|
|
3951
3958
|
|
|
3952
3959
|
|
|
3953
|
-
class
|
|
3954
|
-
elements: List[
|
|
3960
|
+
class BasisSchema38(BaseModel):
|
|
3961
|
+
elements: List[AtomicElementSchema40] = Field(..., title="atomic elements schema")
|
|
3955
3962
|
"""
|
|
3956
3963
|
atomic elements schema
|
|
3957
3964
|
"""
|
|
@@ -3966,7 +3973,7 @@ class BasisSchema42(BaseModel):
|
|
|
3966
3973
|
"""
|
|
3967
3974
|
|
|
3968
3975
|
|
|
3969
|
-
class
|
|
3976
|
+
class LatticeVectorsSchema37(BaseModel):
|
|
3970
3977
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
3971
3978
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
3972
3979
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -3977,12 +3984,12 @@ class LatticeVectorsSchema41(BaseModel):
|
|
|
3977
3984
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
3978
3985
|
|
|
3979
3986
|
|
|
3980
|
-
class
|
|
3987
|
+
class LatticeUnitsSchema37(BaseModel):
|
|
3981
3988
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
3982
3989
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
3983
3990
|
|
|
3984
3991
|
|
|
3985
|
-
class
|
|
3992
|
+
class LatticeSchema37(BaseModel):
|
|
3986
3993
|
a: float
|
|
3987
3994
|
"""
|
|
3988
3995
|
length of the first lattice vector
|
|
@@ -4007,1829 +4014,56 @@ class LatticeSchema41(BaseModel):
|
|
|
4007
4014
|
"""
|
|
4008
4015
|
angle between first and third lattice vector
|
|
4009
4016
|
"""
|
|
4010
|
-
vectors: Optional[
|
|
4017
|
+
vectors: Optional[LatticeVectorsSchema37] = Field(None, title="lattice vectors schema")
|
|
4011
4018
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
4012
|
-
units: Optional[
|
|
4013
|
-
default_factory=lambda:
|
|
4019
|
+
units: Optional[LatticeUnitsSchema37] = Field(
|
|
4020
|
+
default_factory=lambda: LatticeUnitsSchema37.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
4014
4021
|
title="Lattice units schema",
|
|
4015
4022
|
)
|
|
4016
4023
|
|
|
4017
4024
|
|
|
4018
|
-
class
|
|
4025
|
+
class Name303(Enum):
|
|
4019
4026
|
volume = "volume"
|
|
4020
4027
|
|
|
4021
4028
|
|
|
4022
|
-
class
|
|
4029
|
+
class Units120(Enum):
|
|
4023
4030
|
angstrom_3 = "angstrom^3"
|
|
4024
4031
|
|
|
4025
4032
|
|
|
4026
|
-
class
|
|
4033
|
+
class VolumeSchema37(BaseModel):
|
|
4027
4034
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
4028
|
-
units: Optional[
|
|
4035
|
+
units: Optional[Units120] = None
|
|
4029
4036
|
value: float
|
|
4030
4037
|
|
|
4031
4038
|
|
|
4032
|
-
class
|
|
4039
|
+
class Name304(Enum):
|
|
4033
4040
|
density = "density"
|
|
4034
4041
|
|
|
4035
4042
|
|
|
4036
|
-
class
|
|
4043
|
+
class Units121(Enum):
|
|
4037
4044
|
g_cm_3 = "g/cm^3"
|
|
4038
4045
|
|
|
4039
4046
|
|
|
4040
|
-
class
|
|
4041
|
-
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
4042
|
-
units: Optional[Units133] = None
|
|
4043
|
-
value: float
|
|
4044
|
-
|
|
4045
|
-
|
|
4046
|
-
class Units134(Enum):
|
|
4047
|
-
angstrom = "angstrom"
|
|
4048
|
-
|
|
4049
|
-
|
|
4050
|
-
class ScalarSchema42(BaseModel):
|
|
4051
|
-
units: Optional[Units134] = None
|
|
4052
|
-
value: float
|
|
4053
|
-
|
|
4054
|
-
|
|
4055
|
-
class Name337(Enum):
|
|
4056
|
-
symmetry = "symmetry"
|
|
4057
|
-
|
|
4058
|
-
|
|
4059
|
-
class SymmetrySchema41(BaseModel):
|
|
4060
|
-
pointGroupSymbol: Optional[str] = None
|
|
4061
|
-
"""
|
|
4062
|
-
point group symbol in Schoenflies notation
|
|
4063
|
-
"""
|
|
4064
|
-
spaceGroupSymbol: Optional[str] = None
|
|
4065
|
-
"""
|
|
4066
|
-
space group symbol in Hermann–Mauguin notation
|
|
4067
|
-
"""
|
|
4068
|
-
tolerance: Optional[ScalarSchema42] = Field(None, title="scalar schema")
|
|
4069
|
-
"""
|
|
4070
|
-
tolerance used for symmetry calculation
|
|
4071
|
-
"""
|
|
4072
|
-
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
4073
|
-
|
|
4074
|
-
|
|
4075
|
-
class Name338(Enum):
|
|
4076
|
-
elemental_ratio = "elemental_ratio"
|
|
4077
|
-
|
|
4078
|
-
|
|
4079
|
-
class ElementalRatio41(BaseModel):
|
|
4080
|
-
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
4081
|
-
value: confloat(ge=0.0, le=1.0)
|
|
4082
|
-
element: Optional[str] = None
|
|
4083
|
-
"""
|
|
4084
|
-
the element this ratio is for
|
|
4085
|
-
"""
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
class Name339(Enum):
|
|
4089
|
-
p_norm = "p-norm"
|
|
4090
|
-
|
|
4091
|
-
|
|
4092
|
-
class PNorm41(BaseModel):
|
|
4093
|
-
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
4094
|
-
degree: Optional[int] = None
|
|
4095
|
-
"""
|
|
4096
|
-
degree of the dimensionality of the norm
|
|
4097
|
-
"""
|
|
4098
|
-
value: float
|
|
4099
|
-
|
|
4100
|
-
|
|
4101
|
-
class Name340(Enum):
|
|
4102
|
-
inchi = "inchi"
|
|
4103
|
-
|
|
4104
|
-
|
|
4105
|
-
class InChIRepresentationSchema41(BaseModel):
|
|
4106
|
-
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
4107
|
-
value: str
|
|
4108
|
-
|
|
4109
|
-
|
|
4110
|
-
class Name341(Enum):
|
|
4111
|
-
inchi_key = "inchi_key"
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
class InChIKeyRepresentationSchema41(BaseModel):
|
|
4115
|
-
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
4116
|
-
value: str
|
|
4117
|
-
|
|
4118
|
-
|
|
4119
|
-
class DerivedPropertiesSchema41(
|
|
4120
|
-
RootModel[
|
|
4121
|
-
Union[
|
|
4122
|
-
VolumeSchema41,
|
|
4123
|
-
DensitySchema41,
|
|
4124
|
-
SymmetrySchema41,
|
|
4125
|
-
ElementalRatio41,
|
|
4126
|
-
PNorm41,
|
|
4127
|
-
InChIRepresentationSchema41,
|
|
4128
|
-
InChIKeyRepresentationSchema41,
|
|
4129
|
-
]
|
|
4130
|
-
]
|
|
4131
|
-
):
|
|
4132
|
-
root: Union[
|
|
4133
|
-
VolumeSchema41,
|
|
4134
|
-
DensitySchema41,
|
|
4135
|
-
SymmetrySchema41,
|
|
4136
|
-
ElementalRatio41,
|
|
4137
|
-
PNorm41,
|
|
4138
|
-
InChIRepresentationSchema41,
|
|
4139
|
-
InChIKeyRepresentationSchema41,
|
|
4140
|
-
] = Field(..., discriminator="name")
|
|
4141
|
-
|
|
4142
|
-
|
|
4143
|
-
class Name342(Enum):
|
|
4144
|
-
default = "default"
|
|
4145
|
-
atomsTooClose = "atomsTooClose"
|
|
4146
|
-
atomsOverlap = "atomsOverlap"
|
|
4147
|
-
|
|
4148
|
-
|
|
4149
|
-
class MaterialConsistencyCheckSchema41(BaseModel):
|
|
4150
|
-
name: Name342
|
|
4151
|
-
"""
|
|
4152
|
-
Name of the consistency check that is performed, which is listed in an enum.
|
|
4153
|
-
"""
|
|
4154
|
-
key: str
|
|
4155
|
-
"""
|
|
4156
|
-
Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
|
|
4157
|
-
"""
|
|
4158
|
-
severity: Severity
|
|
4159
|
-
"""
|
|
4160
|
-
Severity level of the problem, which is used in UI to differentiate.
|
|
4161
|
-
"""
|
|
4162
|
-
message: str
|
|
4163
|
-
"""
|
|
4164
|
-
Message generated by the consistency check describing the problem.
|
|
4165
|
-
"""
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
class CrystalSchema41(BaseModel):
|
|
4169
|
-
formula: Optional[str] = None
|
|
4170
|
-
"""
|
|
4171
|
-
reduced chemical formula
|
|
4172
|
-
"""
|
|
4173
|
-
unitCellFormula: Optional[str] = None
|
|
4174
|
-
"""
|
|
4175
|
-
chemical formula based on the number of atoms of each element in the supercell
|
|
4176
|
-
"""
|
|
4177
|
-
basis: BasisSchema42 = Field(..., title="basis schema")
|
|
4178
|
-
lattice: LatticeSchema41 = Field(..., title="lattice schema")
|
|
4179
|
-
derivedProperties: Optional[List[DerivedPropertiesSchema41]] = Field(None, title="derived properties schema")
|
|
4180
|
-
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
4181
|
-
"""
|
|
4182
|
-
information about a database source
|
|
4183
|
-
"""
|
|
4184
|
-
src: Optional[FileSourceSchema] = Field(None, title="file source schema")
|
|
4185
|
-
"""
|
|
4186
|
-
file source with the information inside
|
|
4187
|
-
"""
|
|
4188
|
-
scaledHash: Optional[str] = None
|
|
4189
|
-
"""
|
|
4190
|
-
Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
|
|
4191
|
-
"""
|
|
4192
|
-
icsdId: Optional[int] = None
|
|
4193
|
-
"""
|
|
4194
|
-
Corresponding ICSD id of the material
|
|
4195
|
-
"""
|
|
4196
|
-
isNonPeriodic: Optional[bool] = None
|
|
4197
|
-
"""
|
|
4198
|
-
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
4199
|
-
"""
|
|
4200
|
-
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema41]] = None
|
|
4201
|
-
field_id: Optional[str] = Field(None, alias="_id")
|
|
4202
|
-
"""
|
|
4203
|
-
entity identity
|
|
4204
|
-
"""
|
|
4205
|
-
slug: Optional[str] = None
|
|
4206
|
-
"""
|
|
4207
|
-
entity slug
|
|
4208
|
-
"""
|
|
4209
|
-
systemName: Optional[str] = None
|
|
4210
|
-
schemaVersion: Optional[str] = "2022.8.16"
|
|
4211
|
-
"""
|
|
4212
|
-
entity's schema version. Used to distinct between different schemas.
|
|
4213
|
-
"""
|
|
4214
|
-
name: Optional[str] = None
|
|
4215
|
-
"""
|
|
4216
|
-
entity name
|
|
4217
|
-
"""
|
|
4218
|
-
isDefault: Optional[bool] = False
|
|
4219
|
-
"""
|
|
4220
|
-
Identifies that entity is defaultable
|
|
4221
|
-
"""
|
|
4222
|
-
metadata: Optional[Dict[str, Any]] = None
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
class AtomicLayersUniqueRepeatedSchema16(BaseModel):
|
|
4226
|
-
termination_top: TerminationSchema18 = Field(..., title="Termination Schema")
|
|
4227
|
-
"""
|
|
4228
|
-
Defines a specific termination of a slab
|
|
4229
|
-
"""
|
|
4230
|
-
number_of_repetitions: conint(ge=1)
|
|
4231
|
-
"""
|
|
4232
|
-
Number of repetitions of the unique atomic layers
|
|
4233
|
-
"""
|
|
4234
|
-
miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
|
|
4235
|
-
"""
|
|
4236
|
-
Miller indices [h, k, l] defining crystallographic planes
|
|
4237
|
-
"""
|
|
4238
|
-
crystal: CrystalSchema41 = Field(..., title="Crystal Schema")
|
|
4239
|
-
"""
|
|
4240
|
-
A crystal structure, referencing the base material schema
|
|
4241
|
-
"""
|
|
4242
|
-
use_conventional_cell: Optional[bool] = True
|
|
4243
|
-
"""
|
|
4244
|
-
Use the conventional cell for the crystal structure
|
|
4245
|
-
"""
|
|
4246
|
-
|
|
4247
|
-
|
|
4248
|
-
class Value92(Enum):
|
|
4249
|
-
H = "H"
|
|
4250
|
-
He = "He"
|
|
4251
|
-
Li = "Li"
|
|
4252
|
-
Be = "Be"
|
|
4253
|
-
B = "B"
|
|
4254
|
-
C = "C"
|
|
4255
|
-
N = "N"
|
|
4256
|
-
O = "O"
|
|
4257
|
-
F = "F"
|
|
4258
|
-
Ne = "Ne"
|
|
4259
|
-
Na = "Na"
|
|
4260
|
-
Mg = "Mg"
|
|
4261
|
-
Al = "Al"
|
|
4262
|
-
Si = "Si"
|
|
4263
|
-
P = "P"
|
|
4264
|
-
S = "S"
|
|
4265
|
-
Cl = "Cl"
|
|
4266
|
-
Ar = "Ar"
|
|
4267
|
-
K = "K"
|
|
4268
|
-
Ca = "Ca"
|
|
4269
|
-
Sc = "Sc"
|
|
4270
|
-
Ti = "Ti"
|
|
4271
|
-
V = "V"
|
|
4272
|
-
Cr = "Cr"
|
|
4273
|
-
Mn = "Mn"
|
|
4274
|
-
Fe = "Fe"
|
|
4275
|
-
Co = "Co"
|
|
4276
|
-
Ni = "Ni"
|
|
4277
|
-
Cu = "Cu"
|
|
4278
|
-
Zn = "Zn"
|
|
4279
|
-
Ga = "Ga"
|
|
4280
|
-
Ge = "Ge"
|
|
4281
|
-
As = "As"
|
|
4282
|
-
Se = "Se"
|
|
4283
|
-
Br = "Br"
|
|
4284
|
-
Kr = "Kr"
|
|
4285
|
-
Rb = "Rb"
|
|
4286
|
-
Sr = "Sr"
|
|
4287
|
-
Y = "Y"
|
|
4288
|
-
Zr = "Zr"
|
|
4289
|
-
Nb = "Nb"
|
|
4290
|
-
Mo = "Mo"
|
|
4291
|
-
Tc = "Tc"
|
|
4292
|
-
Ru = "Ru"
|
|
4293
|
-
Rh = "Rh"
|
|
4294
|
-
Pd = "Pd"
|
|
4295
|
-
Ag = "Ag"
|
|
4296
|
-
Cd = "Cd"
|
|
4297
|
-
In = "In"
|
|
4298
|
-
Sn = "Sn"
|
|
4299
|
-
Sb = "Sb"
|
|
4300
|
-
Te = "Te"
|
|
4301
|
-
I = "I"
|
|
4302
|
-
Xe = "Xe"
|
|
4303
|
-
Cs = "Cs"
|
|
4304
|
-
Ba = "Ba"
|
|
4305
|
-
La = "La"
|
|
4306
|
-
Ce = "Ce"
|
|
4307
|
-
Pr = "Pr"
|
|
4308
|
-
Nd = "Nd"
|
|
4309
|
-
Pm = "Pm"
|
|
4310
|
-
Sm = "Sm"
|
|
4311
|
-
Eu = "Eu"
|
|
4312
|
-
Gd = "Gd"
|
|
4313
|
-
Tb = "Tb"
|
|
4314
|
-
Dy = "Dy"
|
|
4315
|
-
Ho = "Ho"
|
|
4316
|
-
Er = "Er"
|
|
4317
|
-
Tm = "Tm"
|
|
4318
|
-
Yb = "Yb"
|
|
4319
|
-
Lu = "Lu"
|
|
4320
|
-
Hf = "Hf"
|
|
4321
|
-
Ta = "Ta"
|
|
4322
|
-
W = "W"
|
|
4323
|
-
Re = "Re"
|
|
4324
|
-
Os = "Os"
|
|
4325
|
-
Ir = "Ir"
|
|
4326
|
-
Pt = "Pt"
|
|
4327
|
-
Au = "Au"
|
|
4328
|
-
Hg = "Hg"
|
|
4329
|
-
Tl = "Tl"
|
|
4330
|
-
Pb = "Pb"
|
|
4331
|
-
Bi = "Bi"
|
|
4332
|
-
Po = "Po"
|
|
4333
|
-
At = "At"
|
|
4334
|
-
Rn = "Rn"
|
|
4335
|
-
Fr = "Fr"
|
|
4336
|
-
Ra = "Ra"
|
|
4337
|
-
Ac = "Ac"
|
|
4338
|
-
Th = "Th"
|
|
4339
|
-
Pa = "Pa"
|
|
4340
|
-
U = "U"
|
|
4341
|
-
Np = "Np"
|
|
4342
|
-
Pu = "Pu"
|
|
4343
|
-
Am = "Am"
|
|
4344
|
-
Cm = "Cm"
|
|
4345
|
-
Bk = "Bk"
|
|
4346
|
-
Cf = "Cf"
|
|
4347
|
-
Es = "Es"
|
|
4348
|
-
Fm = "Fm"
|
|
4349
|
-
Md = "Md"
|
|
4350
|
-
No = "No"
|
|
4351
|
-
Lr = "Lr"
|
|
4352
|
-
Rf = "Rf"
|
|
4353
|
-
Db = "Db"
|
|
4354
|
-
Sg = "Sg"
|
|
4355
|
-
Bh = "Bh"
|
|
4356
|
-
Hs = "Hs"
|
|
4357
|
-
Mt = "Mt"
|
|
4358
|
-
Ds = "Ds"
|
|
4359
|
-
Rg = "Rg"
|
|
4360
|
-
Cn = "Cn"
|
|
4361
|
-
Nh = "Nh"
|
|
4362
|
-
Fl = "Fl"
|
|
4363
|
-
Mc = "Mc"
|
|
4364
|
-
Lv = "Lv"
|
|
4365
|
-
Ts = "Ts"
|
|
4366
|
-
Og = "Og"
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
class Value93(Enum):
|
|
4370
|
-
X = "X"
|
|
4371
|
-
Vac = "Vac"
|
|
4372
|
-
|
|
4373
|
-
|
|
4374
|
-
class AtomicElementSchema45(BaseModel):
|
|
4375
|
-
value: Union[Value92, Value93]
|
|
4376
|
-
"""
|
|
4377
|
-
All elements, including extra elements
|
|
4378
|
-
"""
|
|
4379
|
-
id: int
|
|
4380
|
-
"""
|
|
4381
|
-
integer id of this entry
|
|
4382
|
-
"""
|
|
4383
|
-
|
|
4384
|
-
|
|
4385
|
-
class BasisSchema43(BaseModel):
|
|
4386
|
-
elements: List[AtomicElementSchema45] = Field(..., title="atomic elements schema")
|
|
4387
|
-
"""
|
|
4388
|
-
atomic elements schema
|
|
4389
|
-
"""
|
|
4390
|
-
coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
|
|
4391
|
-
"""
|
|
4392
|
-
atomic coordinates schema
|
|
4393
|
-
"""
|
|
4394
|
-
units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
|
|
4395
|
-
labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
|
|
4396
|
-
"""
|
|
4397
|
-
atomic labels schema
|
|
4398
|
-
"""
|
|
4399
|
-
|
|
4400
|
-
|
|
4401
|
-
class LatticeVectorsSchema42(BaseModel):
|
|
4402
|
-
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
4403
|
-
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
4404
|
-
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
4405
|
-
alat: Optional[float] = 1
|
|
4406
|
-
"""
|
|
4407
|
-
lattice parameter for fractional coordinates
|
|
4408
|
-
"""
|
|
4409
|
-
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
class LatticeUnitsSchema42(BaseModel):
|
|
4413
|
-
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
4414
|
-
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
4415
|
-
|
|
4416
|
-
|
|
4417
|
-
class LatticeSchema42(BaseModel):
|
|
4418
|
-
a: float
|
|
4419
|
-
"""
|
|
4420
|
-
length of the first lattice vector
|
|
4421
|
-
"""
|
|
4422
|
-
b: float
|
|
4423
|
-
"""
|
|
4424
|
-
length of the second lattice vector
|
|
4425
|
-
"""
|
|
4426
|
-
c: float
|
|
4427
|
-
"""
|
|
4428
|
-
length of the third lattice vector
|
|
4429
|
-
"""
|
|
4430
|
-
alpha: float
|
|
4431
|
-
"""
|
|
4432
|
-
angle between first and second lattice vector
|
|
4433
|
-
"""
|
|
4434
|
-
beta: float
|
|
4435
|
-
"""
|
|
4436
|
-
angle between second and third lattice vector
|
|
4437
|
-
"""
|
|
4438
|
-
gamma: float
|
|
4439
|
-
"""
|
|
4440
|
-
angle between first and third lattice vector
|
|
4441
|
-
"""
|
|
4442
|
-
vectors: Optional[LatticeVectorsSchema42] = Field(None, title="lattice vectors schema")
|
|
4443
|
-
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
4444
|
-
units: Optional[LatticeUnitsSchema42] = Field(
|
|
4445
|
-
default_factory=lambda: LatticeUnitsSchema42.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
4446
|
-
title="Lattice units schema",
|
|
4447
|
-
)
|
|
4448
|
-
|
|
4449
|
-
|
|
4450
|
-
class Name343(Enum):
|
|
4451
|
-
volume = "volume"
|
|
4452
|
-
|
|
4453
|
-
|
|
4454
|
-
class Units135(Enum):
|
|
4455
|
-
angstrom_3 = "angstrom^3"
|
|
4456
|
-
|
|
4457
|
-
|
|
4458
|
-
class VolumeSchema42(BaseModel):
|
|
4459
|
-
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
4460
|
-
units: Optional[Units135] = None
|
|
4461
|
-
value: float
|
|
4462
|
-
|
|
4463
|
-
|
|
4464
|
-
class Name344(Enum):
|
|
4465
|
-
density = "density"
|
|
4466
|
-
|
|
4467
|
-
|
|
4468
|
-
class Units136(Enum):
|
|
4469
|
-
g_cm_3 = "g/cm^3"
|
|
4470
|
-
|
|
4471
|
-
|
|
4472
|
-
class DensitySchema42(BaseModel):
|
|
4473
|
-
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
4474
|
-
units: Optional[Units136] = None
|
|
4475
|
-
value: float
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
class Units137(Enum):
|
|
4479
|
-
angstrom = "angstrom"
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
class ScalarSchema43(BaseModel):
|
|
4483
|
-
units: Optional[Units137] = None
|
|
4484
|
-
value: float
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
class Name345(Enum):
|
|
4488
|
-
symmetry = "symmetry"
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
class SymmetrySchema42(BaseModel):
|
|
4492
|
-
pointGroupSymbol: Optional[str] = None
|
|
4493
|
-
"""
|
|
4494
|
-
point group symbol in Schoenflies notation
|
|
4495
|
-
"""
|
|
4496
|
-
spaceGroupSymbol: Optional[str] = None
|
|
4497
|
-
"""
|
|
4498
|
-
space group symbol in Hermann–Mauguin notation
|
|
4499
|
-
"""
|
|
4500
|
-
tolerance: Optional[ScalarSchema43] = Field(None, title="scalar schema")
|
|
4501
|
-
"""
|
|
4502
|
-
tolerance used for symmetry calculation
|
|
4503
|
-
"""
|
|
4504
|
-
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
class Name346(Enum):
|
|
4508
|
-
elemental_ratio = "elemental_ratio"
|
|
4509
|
-
|
|
4510
|
-
|
|
4511
|
-
class ElementalRatio42(BaseModel):
|
|
4512
|
-
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
4513
|
-
value: confloat(ge=0.0, le=1.0)
|
|
4514
|
-
element: Optional[str] = None
|
|
4515
|
-
"""
|
|
4516
|
-
the element this ratio is for
|
|
4517
|
-
"""
|
|
4518
|
-
|
|
4519
|
-
|
|
4520
|
-
class Name347(Enum):
|
|
4521
|
-
p_norm = "p-norm"
|
|
4522
|
-
|
|
4523
|
-
|
|
4524
|
-
class PNorm42(BaseModel):
|
|
4525
|
-
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
4526
|
-
degree: Optional[int] = None
|
|
4527
|
-
"""
|
|
4528
|
-
degree of the dimensionality of the norm
|
|
4529
|
-
"""
|
|
4530
|
-
value: float
|
|
4531
|
-
|
|
4532
|
-
|
|
4533
|
-
class Name348(Enum):
|
|
4534
|
-
inchi = "inchi"
|
|
4535
|
-
|
|
4536
|
-
|
|
4537
|
-
class InChIRepresentationSchema42(BaseModel):
|
|
4538
|
-
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
4539
|
-
value: str
|
|
4540
|
-
|
|
4541
|
-
|
|
4542
|
-
class Name349(Enum):
|
|
4543
|
-
inchi_key = "inchi_key"
|
|
4544
|
-
|
|
4545
|
-
|
|
4546
|
-
class InChIKeyRepresentationSchema42(BaseModel):
|
|
4547
|
-
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
4548
|
-
value: str
|
|
4549
|
-
|
|
4550
|
-
|
|
4551
|
-
class DerivedPropertiesSchema42(
|
|
4552
|
-
RootModel[
|
|
4553
|
-
Union[
|
|
4554
|
-
VolumeSchema42,
|
|
4555
|
-
DensitySchema42,
|
|
4556
|
-
SymmetrySchema42,
|
|
4557
|
-
ElementalRatio42,
|
|
4558
|
-
PNorm42,
|
|
4559
|
-
InChIRepresentationSchema42,
|
|
4560
|
-
InChIKeyRepresentationSchema42,
|
|
4561
|
-
]
|
|
4562
|
-
]
|
|
4563
|
-
):
|
|
4564
|
-
root: Union[
|
|
4565
|
-
VolumeSchema42,
|
|
4566
|
-
DensitySchema42,
|
|
4567
|
-
SymmetrySchema42,
|
|
4568
|
-
ElementalRatio42,
|
|
4569
|
-
PNorm42,
|
|
4570
|
-
InChIRepresentationSchema42,
|
|
4571
|
-
InChIKeyRepresentationSchema42,
|
|
4572
|
-
] = Field(..., discriminator="name")
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
class Name350(Enum):
|
|
4576
|
-
default = "default"
|
|
4577
|
-
atomsTooClose = "atomsTooClose"
|
|
4578
|
-
atomsOverlap = "atomsOverlap"
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
class MaterialConsistencyCheckSchema42(BaseModel):
|
|
4582
|
-
name: Name350
|
|
4583
|
-
"""
|
|
4584
|
-
Name of the consistency check that is performed, which is listed in an enum.
|
|
4585
|
-
"""
|
|
4586
|
-
key: str
|
|
4587
|
-
"""
|
|
4588
|
-
Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
|
|
4589
|
-
"""
|
|
4590
|
-
severity: Severity
|
|
4591
|
-
"""
|
|
4592
|
-
Severity level of the problem, which is used in UI to differentiate.
|
|
4593
|
-
"""
|
|
4594
|
-
message: str
|
|
4595
|
-
"""
|
|
4596
|
-
Message generated by the consistency check describing the problem.
|
|
4597
|
-
"""
|
|
4598
|
-
|
|
4599
|
-
|
|
4600
|
-
class CrystalSchema42(BaseModel):
|
|
4601
|
-
formula: Optional[str] = None
|
|
4602
|
-
"""
|
|
4603
|
-
reduced chemical formula
|
|
4604
|
-
"""
|
|
4605
|
-
unitCellFormula: Optional[str] = None
|
|
4606
|
-
"""
|
|
4607
|
-
chemical formula based on the number of atoms of each element in the supercell
|
|
4608
|
-
"""
|
|
4609
|
-
basis: BasisSchema43 = Field(..., title="basis schema")
|
|
4610
|
-
lattice: LatticeSchema42 = Field(..., title="lattice schema")
|
|
4611
|
-
derivedProperties: Optional[List[DerivedPropertiesSchema42]] = Field(None, title="derived properties schema")
|
|
4612
|
-
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
4613
|
-
"""
|
|
4614
|
-
information about a database source
|
|
4615
|
-
"""
|
|
4616
|
-
src: Optional[FileSourceSchema] = Field(None, title="file source schema")
|
|
4617
|
-
"""
|
|
4618
|
-
file source with the information inside
|
|
4619
|
-
"""
|
|
4620
|
-
scaledHash: Optional[str] = None
|
|
4621
|
-
"""
|
|
4622
|
-
Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
|
|
4623
|
-
"""
|
|
4624
|
-
icsdId: Optional[int] = None
|
|
4625
|
-
"""
|
|
4626
|
-
Corresponding ICSD id of the material
|
|
4627
|
-
"""
|
|
4628
|
-
isNonPeriodic: Optional[bool] = None
|
|
4629
|
-
"""
|
|
4630
|
-
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
4631
|
-
"""
|
|
4632
|
-
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema42]] = None
|
|
4633
|
-
field_id: Optional[str] = Field(None, alias="_id")
|
|
4634
|
-
"""
|
|
4635
|
-
entity identity
|
|
4636
|
-
"""
|
|
4637
|
-
slug: Optional[str] = None
|
|
4638
|
-
"""
|
|
4639
|
-
entity slug
|
|
4640
|
-
"""
|
|
4641
|
-
systemName: Optional[str] = None
|
|
4642
|
-
schemaVersion: Optional[str] = "2022.8.16"
|
|
4643
|
-
"""
|
|
4644
|
-
entity's schema version. Used to distinct between different schemas.
|
|
4645
|
-
"""
|
|
4646
|
-
name: Optional[str] = None
|
|
4647
|
-
"""
|
|
4648
|
-
entity name
|
|
4649
|
-
"""
|
|
4650
|
-
isDefault: Optional[bool] = False
|
|
4651
|
-
"""
|
|
4652
|
-
Identifies that entity is defaultable
|
|
4653
|
-
"""
|
|
4654
|
-
metadata: Optional[Dict[str, Any]] = None
|
|
4655
|
-
|
|
4656
|
-
|
|
4657
|
-
class VacuumConfigurationSchema19(BaseModel):
|
|
4658
|
-
direction: AxisEnum = Field(..., title="Axis Enum")
|
|
4659
|
-
"""
|
|
4660
|
-
Enum for axis types
|
|
4661
|
-
"""
|
|
4662
|
-
size: Optional[confloat(ge=0.0)] = 10
|
|
4663
|
-
"""
|
|
4664
|
-
Size of the vacuum slab in angstroms
|
|
4665
|
-
"""
|
|
4666
|
-
crystal: CrystalSchema42 = Field(..., title="Crystal Schema")
|
|
4667
|
-
"""
|
|
4668
|
-
A crystal structure, referencing the base material schema
|
|
4669
|
-
"""
|
|
4670
|
-
|
|
4671
|
-
|
|
4672
|
-
class SlabStrainedSupercellConfigurationSchema3(BaseModel):
|
|
4673
|
-
xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
|
|
4674
|
-
default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
|
|
4675
|
-
max_length=2,
|
|
4676
|
-
min_length=2,
|
|
4677
|
-
title="Supercell Matrix 2D Schema",
|
|
4678
|
-
)
|
|
4679
|
-
"""
|
|
4680
|
-
Supercell matrix for xy plane transformations
|
|
4681
|
-
"""
|
|
4682
|
-
strain_matrix: List[ArrayOf3NumberElementsSchema] = Field(
|
|
4683
|
-
..., max_length=3, min_length=3, title="matrix 3x3 schema"
|
|
4684
|
-
)
|
|
4685
|
-
stack_components: List[Union[AtomicLayersUniqueRepeatedSchema16, VacuumConfigurationSchema19]] = Field(
|
|
4686
|
-
..., max_length=2, min_length=2
|
|
4687
|
-
)
|
|
4688
|
-
direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
|
|
4689
|
-
"""
|
|
4690
|
-
Enum for axis types
|
|
4691
|
-
"""
|
|
4692
|
-
|
|
4693
|
-
|
|
4694
|
-
class TerminationSchema19(BaseModel):
|
|
4695
|
-
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
4696
|
-
..., title="Chemical Elements"
|
|
4697
|
-
)
|
|
4698
|
-
"""
|
|
4699
|
-
Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')
|
|
4700
|
-
"""
|
|
4701
|
-
space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
|
|
4702
|
-
"""
|
|
4703
|
-
Space group symmetry designation for the termination
|
|
4704
|
-
"""
|
|
4705
|
-
|
|
4706
|
-
|
|
4707
|
-
class Value94(Enum):
|
|
4708
|
-
H = "H"
|
|
4709
|
-
He = "He"
|
|
4710
|
-
Li = "Li"
|
|
4711
|
-
Be = "Be"
|
|
4712
|
-
B = "B"
|
|
4713
|
-
C = "C"
|
|
4714
|
-
N = "N"
|
|
4715
|
-
O = "O"
|
|
4716
|
-
F = "F"
|
|
4717
|
-
Ne = "Ne"
|
|
4718
|
-
Na = "Na"
|
|
4719
|
-
Mg = "Mg"
|
|
4720
|
-
Al = "Al"
|
|
4721
|
-
Si = "Si"
|
|
4722
|
-
P = "P"
|
|
4723
|
-
S = "S"
|
|
4724
|
-
Cl = "Cl"
|
|
4725
|
-
Ar = "Ar"
|
|
4726
|
-
K = "K"
|
|
4727
|
-
Ca = "Ca"
|
|
4728
|
-
Sc = "Sc"
|
|
4729
|
-
Ti = "Ti"
|
|
4730
|
-
V = "V"
|
|
4731
|
-
Cr = "Cr"
|
|
4732
|
-
Mn = "Mn"
|
|
4733
|
-
Fe = "Fe"
|
|
4734
|
-
Co = "Co"
|
|
4735
|
-
Ni = "Ni"
|
|
4736
|
-
Cu = "Cu"
|
|
4737
|
-
Zn = "Zn"
|
|
4738
|
-
Ga = "Ga"
|
|
4739
|
-
Ge = "Ge"
|
|
4740
|
-
As = "As"
|
|
4741
|
-
Se = "Se"
|
|
4742
|
-
Br = "Br"
|
|
4743
|
-
Kr = "Kr"
|
|
4744
|
-
Rb = "Rb"
|
|
4745
|
-
Sr = "Sr"
|
|
4746
|
-
Y = "Y"
|
|
4747
|
-
Zr = "Zr"
|
|
4748
|
-
Nb = "Nb"
|
|
4749
|
-
Mo = "Mo"
|
|
4750
|
-
Tc = "Tc"
|
|
4751
|
-
Ru = "Ru"
|
|
4752
|
-
Rh = "Rh"
|
|
4753
|
-
Pd = "Pd"
|
|
4754
|
-
Ag = "Ag"
|
|
4755
|
-
Cd = "Cd"
|
|
4756
|
-
In = "In"
|
|
4757
|
-
Sn = "Sn"
|
|
4758
|
-
Sb = "Sb"
|
|
4759
|
-
Te = "Te"
|
|
4760
|
-
I = "I"
|
|
4761
|
-
Xe = "Xe"
|
|
4762
|
-
Cs = "Cs"
|
|
4763
|
-
Ba = "Ba"
|
|
4764
|
-
La = "La"
|
|
4765
|
-
Ce = "Ce"
|
|
4766
|
-
Pr = "Pr"
|
|
4767
|
-
Nd = "Nd"
|
|
4768
|
-
Pm = "Pm"
|
|
4769
|
-
Sm = "Sm"
|
|
4770
|
-
Eu = "Eu"
|
|
4771
|
-
Gd = "Gd"
|
|
4772
|
-
Tb = "Tb"
|
|
4773
|
-
Dy = "Dy"
|
|
4774
|
-
Ho = "Ho"
|
|
4775
|
-
Er = "Er"
|
|
4776
|
-
Tm = "Tm"
|
|
4777
|
-
Yb = "Yb"
|
|
4778
|
-
Lu = "Lu"
|
|
4779
|
-
Hf = "Hf"
|
|
4780
|
-
Ta = "Ta"
|
|
4781
|
-
W = "W"
|
|
4782
|
-
Re = "Re"
|
|
4783
|
-
Os = "Os"
|
|
4784
|
-
Ir = "Ir"
|
|
4785
|
-
Pt = "Pt"
|
|
4786
|
-
Au = "Au"
|
|
4787
|
-
Hg = "Hg"
|
|
4788
|
-
Tl = "Tl"
|
|
4789
|
-
Pb = "Pb"
|
|
4790
|
-
Bi = "Bi"
|
|
4791
|
-
Po = "Po"
|
|
4792
|
-
At = "At"
|
|
4793
|
-
Rn = "Rn"
|
|
4794
|
-
Fr = "Fr"
|
|
4795
|
-
Ra = "Ra"
|
|
4796
|
-
Ac = "Ac"
|
|
4797
|
-
Th = "Th"
|
|
4798
|
-
Pa = "Pa"
|
|
4799
|
-
U = "U"
|
|
4800
|
-
Np = "Np"
|
|
4801
|
-
Pu = "Pu"
|
|
4802
|
-
Am = "Am"
|
|
4803
|
-
Cm = "Cm"
|
|
4804
|
-
Bk = "Bk"
|
|
4805
|
-
Cf = "Cf"
|
|
4806
|
-
Es = "Es"
|
|
4807
|
-
Fm = "Fm"
|
|
4808
|
-
Md = "Md"
|
|
4809
|
-
No = "No"
|
|
4810
|
-
Lr = "Lr"
|
|
4811
|
-
Rf = "Rf"
|
|
4812
|
-
Db = "Db"
|
|
4813
|
-
Sg = "Sg"
|
|
4814
|
-
Bh = "Bh"
|
|
4815
|
-
Hs = "Hs"
|
|
4816
|
-
Mt = "Mt"
|
|
4817
|
-
Ds = "Ds"
|
|
4818
|
-
Rg = "Rg"
|
|
4819
|
-
Cn = "Cn"
|
|
4820
|
-
Nh = "Nh"
|
|
4821
|
-
Fl = "Fl"
|
|
4822
|
-
Mc = "Mc"
|
|
4823
|
-
Lv = "Lv"
|
|
4824
|
-
Ts = "Ts"
|
|
4825
|
-
Og = "Og"
|
|
4826
|
-
|
|
4827
|
-
|
|
4828
|
-
class Value95(Enum):
|
|
4829
|
-
X = "X"
|
|
4830
|
-
Vac = "Vac"
|
|
4831
|
-
|
|
4832
|
-
|
|
4833
|
-
class AtomicElementSchema46(BaseModel):
|
|
4834
|
-
value: Union[Value94, Value95]
|
|
4835
|
-
"""
|
|
4836
|
-
All elements, including extra elements
|
|
4837
|
-
"""
|
|
4838
|
-
id: int
|
|
4839
|
-
"""
|
|
4840
|
-
integer id of this entry
|
|
4841
|
-
"""
|
|
4842
|
-
|
|
4843
|
-
|
|
4844
|
-
class BasisSchema44(BaseModel):
|
|
4845
|
-
elements: List[AtomicElementSchema46] = Field(..., title="atomic elements schema")
|
|
4846
|
-
"""
|
|
4847
|
-
atomic elements schema
|
|
4848
|
-
"""
|
|
4849
|
-
coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
|
|
4850
|
-
"""
|
|
4851
|
-
atomic coordinates schema
|
|
4852
|
-
"""
|
|
4853
|
-
units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
|
|
4854
|
-
labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
|
|
4855
|
-
"""
|
|
4856
|
-
atomic labels schema
|
|
4857
|
-
"""
|
|
4858
|
-
|
|
4859
|
-
|
|
4860
|
-
class LatticeVectorsSchema43(BaseModel):
|
|
4861
|
-
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
4862
|
-
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
4863
|
-
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
4864
|
-
alat: Optional[float] = 1
|
|
4865
|
-
"""
|
|
4866
|
-
lattice parameter for fractional coordinates
|
|
4867
|
-
"""
|
|
4868
|
-
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
4869
|
-
|
|
4870
|
-
|
|
4871
|
-
class LatticeUnitsSchema43(BaseModel):
|
|
4872
|
-
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
4873
|
-
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
4874
|
-
|
|
4875
|
-
|
|
4876
|
-
class LatticeSchema43(BaseModel):
|
|
4877
|
-
a: float
|
|
4878
|
-
"""
|
|
4879
|
-
length of the first lattice vector
|
|
4880
|
-
"""
|
|
4881
|
-
b: float
|
|
4882
|
-
"""
|
|
4883
|
-
length of the second lattice vector
|
|
4884
|
-
"""
|
|
4885
|
-
c: float
|
|
4886
|
-
"""
|
|
4887
|
-
length of the third lattice vector
|
|
4888
|
-
"""
|
|
4889
|
-
alpha: float
|
|
4890
|
-
"""
|
|
4891
|
-
angle between first and second lattice vector
|
|
4892
|
-
"""
|
|
4893
|
-
beta: float
|
|
4894
|
-
"""
|
|
4895
|
-
angle between second and third lattice vector
|
|
4896
|
-
"""
|
|
4897
|
-
gamma: float
|
|
4898
|
-
"""
|
|
4899
|
-
angle between first and third lattice vector
|
|
4900
|
-
"""
|
|
4901
|
-
vectors: Optional[LatticeVectorsSchema43] = Field(None, title="lattice vectors schema")
|
|
4902
|
-
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
4903
|
-
units: Optional[LatticeUnitsSchema43] = Field(
|
|
4904
|
-
default_factory=lambda: LatticeUnitsSchema43.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
4905
|
-
title="Lattice units schema",
|
|
4906
|
-
)
|
|
4907
|
-
|
|
4908
|
-
|
|
4909
|
-
class Name351(Enum):
|
|
4910
|
-
volume = "volume"
|
|
4911
|
-
|
|
4912
|
-
|
|
4913
|
-
class Units138(Enum):
|
|
4914
|
-
angstrom_3 = "angstrom^3"
|
|
4915
|
-
|
|
4916
|
-
|
|
4917
|
-
class VolumeSchema43(BaseModel):
|
|
4918
|
-
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
4919
|
-
units: Optional[Units138] = None
|
|
4920
|
-
value: float
|
|
4921
|
-
|
|
4922
|
-
|
|
4923
|
-
class Name352(Enum):
|
|
4924
|
-
density = "density"
|
|
4925
|
-
|
|
4926
|
-
|
|
4927
|
-
class Units139(Enum):
|
|
4928
|
-
g_cm_3 = "g/cm^3"
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
class DensitySchema43(BaseModel):
|
|
4932
|
-
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
4933
|
-
units: Optional[Units139] = None
|
|
4934
|
-
value: float
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
class Units140(Enum):
|
|
4938
|
-
angstrom = "angstrom"
|
|
4939
|
-
|
|
4940
|
-
|
|
4941
|
-
class ScalarSchema44(BaseModel):
|
|
4942
|
-
units: Optional[Units140] = None
|
|
4943
|
-
value: float
|
|
4944
|
-
|
|
4945
|
-
|
|
4946
|
-
class Name353(Enum):
|
|
4947
|
-
symmetry = "symmetry"
|
|
4948
|
-
|
|
4949
|
-
|
|
4950
|
-
class SymmetrySchema43(BaseModel):
|
|
4951
|
-
pointGroupSymbol: Optional[str] = None
|
|
4952
|
-
"""
|
|
4953
|
-
point group symbol in Schoenflies notation
|
|
4954
|
-
"""
|
|
4955
|
-
spaceGroupSymbol: Optional[str] = None
|
|
4956
|
-
"""
|
|
4957
|
-
space group symbol in Hermann–Mauguin notation
|
|
4958
|
-
"""
|
|
4959
|
-
tolerance: Optional[ScalarSchema44] = Field(None, title="scalar schema")
|
|
4960
|
-
"""
|
|
4961
|
-
tolerance used for symmetry calculation
|
|
4962
|
-
"""
|
|
4963
|
-
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
4964
|
-
|
|
4965
|
-
|
|
4966
|
-
class Name354(Enum):
|
|
4967
|
-
elemental_ratio = "elemental_ratio"
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
class ElementalRatio43(BaseModel):
|
|
4971
|
-
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
4972
|
-
value: confloat(ge=0.0, le=1.0)
|
|
4973
|
-
element: Optional[str] = None
|
|
4974
|
-
"""
|
|
4975
|
-
the element this ratio is for
|
|
4976
|
-
"""
|
|
4977
|
-
|
|
4978
|
-
|
|
4979
|
-
class Name355(Enum):
|
|
4980
|
-
p_norm = "p-norm"
|
|
4981
|
-
|
|
4982
|
-
|
|
4983
|
-
class PNorm43(BaseModel):
|
|
4984
|
-
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
4985
|
-
degree: Optional[int] = None
|
|
4986
|
-
"""
|
|
4987
|
-
degree of the dimensionality of the norm
|
|
4988
|
-
"""
|
|
4989
|
-
value: float
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
class Name356(Enum):
|
|
4993
|
-
inchi = "inchi"
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
class InChIRepresentationSchema43(BaseModel):
|
|
4997
|
-
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
4998
|
-
value: str
|
|
4999
|
-
|
|
5000
|
-
|
|
5001
|
-
class Name357(Enum):
|
|
5002
|
-
inchi_key = "inchi_key"
|
|
5003
|
-
|
|
5004
|
-
|
|
5005
|
-
class InChIKeyRepresentationSchema43(BaseModel):
|
|
5006
|
-
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
5007
|
-
value: str
|
|
5008
|
-
|
|
5009
|
-
|
|
5010
|
-
class DerivedPropertiesSchema43(
|
|
5011
|
-
RootModel[
|
|
5012
|
-
Union[
|
|
5013
|
-
VolumeSchema43,
|
|
5014
|
-
DensitySchema43,
|
|
5015
|
-
SymmetrySchema43,
|
|
5016
|
-
ElementalRatio43,
|
|
5017
|
-
PNorm43,
|
|
5018
|
-
InChIRepresentationSchema43,
|
|
5019
|
-
InChIKeyRepresentationSchema43,
|
|
5020
|
-
]
|
|
5021
|
-
]
|
|
5022
|
-
):
|
|
5023
|
-
root: Union[
|
|
5024
|
-
VolumeSchema43,
|
|
5025
|
-
DensitySchema43,
|
|
5026
|
-
SymmetrySchema43,
|
|
5027
|
-
ElementalRatio43,
|
|
5028
|
-
PNorm43,
|
|
5029
|
-
InChIRepresentationSchema43,
|
|
5030
|
-
InChIKeyRepresentationSchema43,
|
|
5031
|
-
] = Field(..., discriminator="name")
|
|
5032
|
-
|
|
5033
|
-
|
|
5034
|
-
class Name358(Enum):
|
|
5035
|
-
default = "default"
|
|
5036
|
-
atomsTooClose = "atomsTooClose"
|
|
5037
|
-
atomsOverlap = "atomsOverlap"
|
|
5038
|
-
|
|
5039
|
-
|
|
5040
|
-
class MaterialConsistencyCheckSchema43(BaseModel):
|
|
5041
|
-
name: Name358
|
|
5042
|
-
"""
|
|
5043
|
-
Name of the consistency check that is performed, which is listed in an enum.
|
|
5044
|
-
"""
|
|
5045
|
-
key: str
|
|
5046
|
-
"""
|
|
5047
|
-
Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
|
|
5048
|
-
"""
|
|
5049
|
-
severity: Severity
|
|
5050
|
-
"""
|
|
5051
|
-
Severity level of the problem, which is used in UI to differentiate.
|
|
5052
|
-
"""
|
|
5053
|
-
message: str
|
|
5054
|
-
"""
|
|
5055
|
-
Message generated by the consistency check describing the problem.
|
|
5056
|
-
"""
|
|
5057
|
-
|
|
5058
|
-
|
|
5059
|
-
class CrystalSchema43(BaseModel):
|
|
5060
|
-
formula: Optional[str] = None
|
|
5061
|
-
"""
|
|
5062
|
-
reduced chemical formula
|
|
5063
|
-
"""
|
|
5064
|
-
unitCellFormula: Optional[str] = None
|
|
5065
|
-
"""
|
|
5066
|
-
chemical formula based on the number of atoms of each element in the supercell
|
|
5067
|
-
"""
|
|
5068
|
-
basis: BasisSchema44 = Field(..., title="basis schema")
|
|
5069
|
-
lattice: LatticeSchema43 = Field(..., title="lattice schema")
|
|
5070
|
-
derivedProperties: Optional[List[DerivedPropertiesSchema43]] = Field(None, title="derived properties schema")
|
|
5071
|
-
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
5072
|
-
"""
|
|
5073
|
-
information about a database source
|
|
5074
|
-
"""
|
|
5075
|
-
src: Optional[FileSourceSchema] = Field(None, title="file source schema")
|
|
5076
|
-
"""
|
|
5077
|
-
file source with the information inside
|
|
5078
|
-
"""
|
|
5079
|
-
scaledHash: Optional[str] = None
|
|
5080
|
-
"""
|
|
5081
|
-
Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
|
|
5082
|
-
"""
|
|
5083
|
-
icsdId: Optional[int] = None
|
|
5084
|
-
"""
|
|
5085
|
-
Corresponding ICSD id of the material
|
|
5086
|
-
"""
|
|
5087
|
-
isNonPeriodic: Optional[bool] = None
|
|
5088
|
-
"""
|
|
5089
|
-
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
5090
|
-
"""
|
|
5091
|
-
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema43]] = None
|
|
5092
|
-
field_id: Optional[str] = Field(None, alias="_id")
|
|
5093
|
-
"""
|
|
5094
|
-
entity identity
|
|
5095
|
-
"""
|
|
5096
|
-
slug: Optional[str] = None
|
|
5097
|
-
"""
|
|
5098
|
-
entity slug
|
|
5099
|
-
"""
|
|
5100
|
-
systemName: Optional[str] = None
|
|
5101
|
-
schemaVersion: Optional[str] = "2022.8.16"
|
|
5102
|
-
"""
|
|
5103
|
-
entity's schema version. Used to distinct between different schemas.
|
|
5104
|
-
"""
|
|
5105
|
-
name: Optional[str] = None
|
|
5106
|
-
"""
|
|
5107
|
-
entity name
|
|
5108
|
-
"""
|
|
5109
|
-
isDefault: Optional[bool] = False
|
|
5110
|
-
"""
|
|
5111
|
-
Identifies that entity is defaultable
|
|
5112
|
-
"""
|
|
5113
|
-
metadata: Optional[Dict[str, Any]] = None
|
|
5114
|
-
|
|
5115
|
-
|
|
5116
|
-
class AtomicLayersUniqueRepeatedSchema17(BaseModel):
|
|
5117
|
-
termination_top: TerminationSchema19 = Field(..., title="Termination Schema")
|
|
5118
|
-
"""
|
|
5119
|
-
Defines a specific termination of a slab
|
|
5120
|
-
"""
|
|
5121
|
-
number_of_repetitions: conint(ge=1)
|
|
5122
|
-
"""
|
|
5123
|
-
Number of repetitions of the unique atomic layers
|
|
5124
|
-
"""
|
|
5125
|
-
miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
|
|
5126
|
-
"""
|
|
5127
|
-
Miller indices [h, k, l] defining crystallographic planes
|
|
5128
|
-
"""
|
|
5129
|
-
crystal: CrystalSchema43 = Field(..., title="Crystal Schema")
|
|
5130
|
-
"""
|
|
5131
|
-
A crystal structure, referencing the base material schema
|
|
5132
|
-
"""
|
|
5133
|
-
use_conventional_cell: Optional[bool] = True
|
|
5134
|
-
"""
|
|
5135
|
-
Use the conventional cell for the crystal structure
|
|
5136
|
-
"""
|
|
5137
|
-
|
|
5138
|
-
|
|
5139
|
-
class Value96(Enum):
|
|
5140
|
-
H = "H"
|
|
5141
|
-
He = "He"
|
|
5142
|
-
Li = "Li"
|
|
5143
|
-
Be = "Be"
|
|
5144
|
-
B = "B"
|
|
5145
|
-
C = "C"
|
|
5146
|
-
N = "N"
|
|
5147
|
-
O = "O"
|
|
5148
|
-
F = "F"
|
|
5149
|
-
Ne = "Ne"
|
|
5150
|
-
Na = "Na"
|
|
5151
|
-
Mg = "Mg"
|
|
5152
|
-
Al = "Al"
|
|
5153
|
-
Si = "Si"
|
|
5154
|
-
P = "P"
|
|
5155
|
-
S = "S"
|
|
5156
|
-
Cl = "Cl"
|
|
5157
|
-
Ar = "Ar"
|
|
5158
|
-
K = "K"
|
|
5159
|
-
Ca = "Ca"
|
|
5160
|
-
Sc = "Sc"
|
|
5161
|
-
Ti = "Ti"
|
|
5162
|
-
V = "V"
|
|
5163
|
-
Cr = "Cr"
|
|
5164
|
-
Mn = "Mn"
|
|
5165
|
-
Fe = "Fe"
|
|
5166
|
-
Co = "Co"
|
|
5167
|
-
Ni = "Ni"
|
|
5168
|
-
Cu = "Cu"
|
|
5169
|
-
Zn = "Zn"
|
|
5170
|
-
Ga = "Ga"
|
|
5171
|
-
Ge = "Ge"
|
|
5172
|
-
As = "As"
|
|
5173
|
-
Se = "Se"
|
|
5174
|
-
Br = "Br"
|
|
5175
|
-
Kr = "Kr"
|
|
5176
|
-
Rb = "Rb"
|
|
5177
|
-
Sr = "Sr"
|
|
5178
|
-
Y = "Y"
|
|
5179
|
-
Zr = "Zr"
|
|
5180
|
-
Nb = "Nb"
|
|
5181
|
-
Mo = "Mo"
|
|
5182
|
-
Tc = "Tc"
|
|
5183
|
-
Ru = "Ru"
|
|
5184
|
-
Rh = "Rh"
|
|
5185
|
-
Pd = "Pd"
|
|
5186
|
-
Ag = "Ag"
|
|
5187
|
-
Cd = "Cd"
|
|
5188
|
-
In = "In"
|
|
5189
|
-
Sn = "Sn"
|
|
5190
|
-
Sb = "Sb"
|
|
5191
|
-
Te = "Te"
|
|
5192
|
-
I = "I"
|
|
5193
|
-
Xe = "Xe"
|
|
5194
|
-
Cs = "Cs"
|
|
5195
|
-
Ba = "Ba"
|
|
5196
|
-
La = "La"
|
|
5197
|
-
Ce = "Ce"
|
|
5198
|
-
Pr = "Pr"
|
|
5199
|
-
Nd = "Nd"
|
|
5200
|
-
Pm = "Pm"
|
|
5201
|
-
Sm = "Sm"
|
|
5202
|
-
Eu = "Eu"
|
|
5203
|
-
Gd = "Gd"
|
|
5204
|
-
Tb = "Tb"
|
|
5205
|
-
Dy = "Dy"
|
|
5206
|
-
Ho = "Ho"
|
|
5207
|
-
Er = "Er"
|
|
5208
|
-
Tm = "Tm"
|
|
5209
|
-
Yb = "Yb"
|
|
5210
|
-
Lu = "Lu"
|
|
5211
|
-
Hf = "Hf"
|
|
5212
|
-
Ta = "Ta"
|
|
5213
|
-
W = "W"
|
|
5214
|
-
Re = "Re"
|
|
5215
|
-
Os = "Os"
|
|
5216
|
-
Ir = "Ir"
|
|
5217
|
-
Pt = "Pt"
|
|
5218
|
-
Au = "Au"
|
|
5219
|
-
Hg = "Hg"
|
|
5220
|
-
Tl = "Tl"
|
|
5221
|
-
Pb = "Pb"
|
|
5222
|
-
Bi = "Bi"
|
|
5223
|
-
Po = "Po"
|
|
5224
|
-
At = "At"
|
|
5225
|
-
Rn = "Rn"
|
|
5226
|
-
Fr = "Fr"
|
|
5227
|
-
Ra = "Ra"
|
|
5228
|
-
Ac = "Ac"
|
|
5229
|
-
Th = "Th"
|
|
5230
|
-
Pa = "Pa"
|
|
5231
|
-
U = "U"
|
|
5232
|
-
Np = "Np"
|
|
5233
|
-
Pu = "Pu"
|
|
5234
|
-
Am = "Am"
|
|
5235
|
-
Cm = "Cm"
|
|
5236
|
-
Bk = "Bk"
|
|
5237
|
-
Cf = "Cf"
|
|
5238
|
-
Es = "Es"
|
|
5239
|
-
Fm = "Fm"
|
|
5240
|
-
Md = "Md"
|
|
5241
|
-
No = "No"
|
|
5242
|
-
Lr = "Lr"
|
|
5243
|
-
Rf = "Rf"
|
|
5244
|
-
Db = "Db"
|
|
5245
|
-
Sg = "Sg"
|
|
5246
|
-
Bh = "Bh"
|
|
5247
|
-
Hs = "Hs"
|
|
5248
|
-
Mt = "Mt"
|
|
5249
|
-
Ds = "Ds"
|
|
5250
|
-
Rg = "Rg"
|
|
5251
|
-
Cn = "Cn"
|
|
5252
|
-
Nh = "Nh"
|
|
5253
|
-
Fl = "Fl"
|
|
5254
|
-
Mc = "Mc"
|
|
5255
|
-
Lv = "Lv"
|
|
5256
|
-
Ts = "Ts"
|
|
5257
|
-
Og = "Og"
|
|
5258
|
-
|
|
5259
|
-
|
|
5260
|
-
class Value97(Enum):
|
|
5261
|
-
X = "X"
|
|
5262
|
-
Vac = "Vac"
|
|
5263
|
-
|
|
5264
|
-
|
|
5265
|
-
class AtomicElementSchema47(BaseModel):
|
|
5266
|
-
value: Union[Value96, Value97]
|
|
5267
|
-
"""
|
|
5268
|
-
All elements, including extra elements
|
|
5269
|
-
"""
|
|
5270
|
-
id: int
|
|
5271
|
-
"""
|
|
5272
|
-
integer id of this entry
|
|
5273
|
-
"""
|
|
5274
|
-
|
|
5275
|
-
|
|
5276
|
-
class BasisSchema45(BaseModel):
|
|
5277
|
-
elements: List[AtomicElementSchema47] = Field(..., title="atomic elements schema")
|
|
5278
|
-
"""
|
|
5279
|
-
atomic elements schema
|
|
5280
|
-
"""
|
|
5281
|
-
coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
|
|
5282
|
-
"""
|
|
5283
|
-
atomic coordinates schema
|
|
5284
|
-
"""
|
|
5285
|
-
units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
|
|
5286
|
-
labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
|
|
5287
|
-
"""
|
|
5288
|
-
atomic labels schema
|
|
5289
|
-
"""
|
|
5290
|
-
|
|
5291
|
-
|
|
5292
|
-
class LatticeVectorsSchema44(BaseModel):
|
|
5293
|
-
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
5294
|
-
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
5295
|
-
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
5296
|
-
alat: Optional[float] = 1
|
|
5297
|
-
"""
|
|
5298
|
-
lattice parameter for fractional coordinates
|
|
5299
|
-
"""
|
|
5300
|
-
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
5301
|
-
|
|
5302
|
-
|
|
5303
|
-
class LatticeUnitsSchema44(BaseModel):
|
|
5304
|
-
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
5305
|
-
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
5306
|
-
|
|
5307
|
-
|
|
5308
|
-
class LatticeSchema44(BaseModel):
|
|
5309
|
-
a: float
|
|
5310
|
-
"""
|
|
5311
|
-
length of the first lattice vector
|
|
5312
|
-
"""
|
|
5313
|
-
b: float
|
|
5314
|
-
"""
|
|
5315
|
-
length of the second lattice vector
|
|
5316
|
-
"""
|
|
5317
|
-
c: float
|
|
5318
|
-
"""
|
|
5319
|
-
length of the third lattice vector
|
|
5320
|
-
"""
|
|
5321
|
-
alpha: float
|
|
5322
|
-
"""
|
|
5323
|
-
angle between first and second lattice vector
|
|
5324
|
-
"""
|
|
5325
|
-
beta: float
|
|
5326
|
-
"""
|
|
5327
|
-
angle between second and third lattice vector
|
|
5328
|
-
"""
|
|
5329
|
-
gamma: float
|
|
5330
|
-
"""
|
|
5331
|
-
angle between first and third lattice vector
|
|
5332
|
-
"""
|
|
5333
|
-
vectors: Optional[LatticeVectorsSchema44] = Field(None, title="lattice vectors schema")
|
|
5334
|
-
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
5335
|
-
units: Optional[LatticeUnitsSchema44] = Field(
|
|
5336
|
-
default_factory=lambda: LatticeUnitsSchema44.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
5337
|
-
title="Lattice units schema",
|
|
5338
|
-
)
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
|
-
class Name359(Enum):
|
|
5342
|
-
volume = "volume"
|
|
5343
|
-
|
|
5344
|
-
|
|
5345
|
-
class Units141(Enum):
|
|
5346
|
-
angstrom_3 = "angstrom^3"
|
|
5347
|
-
|
|
5348
|
-
|
|
5349
|
-
class VolumeSchema44(BaseModel):
|
|
5350
|
-
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
5351
|
-
units: Optional[Units141] = None
|
|
5352
|
-
value: float
|
|
5353
|
-
|
|
5354
|
-
|
|
5355
|
-
class Name360(Enum):
|
|
5356
|
-
density = "density"
|
|
5357
|
-
|
|
5358
|
-
|
|
5359
|
-
class Units142(Enum):
|
|
5360
|
-
g_cm_3 = "g/cm^3"
|
|
5361
|
-
|
|
5362
|
-
|
|
5363
|
-
class DensitySchema44(BaseModel):
|
|
5364
|
-
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
5365
|
-
units: Optional[Units142] = None
|
|
5366
|
-
value: float
|
|
5367
|
-
|
|
5368
|
-
|
|
5369
|
-
class Units143(Enum):
|
|
5370
|
-
angstrom = "angstrom"
|
|
5371
|
-
|
|
5372
|
-
|
|
5373
|
-
class ScalarSchema45(BaseModel):
|
|
5374
|
-
units: Optional[Units143] = None
|
|
5375
|
-
value: float
|
|
5376
|
-
|
|
5377
|
-
|
|
5378
|
-
class Name361(Enum):
|
|
5379
|
-
symmetry = "symmetry"
|
|
5380
|
-
|
|
5381
|
-
|
|
5382
|
-
class SymmetrySchema44(BaseModel):
|
|
5383
|
-
pointGroupSymbol: Optional[str] = None
|
|
5384
|
-
"""
|
|
5385
|
-
point group symbol in Schoenflies notation
|
|
5386
|
-
"""
|
|
5387
|
-
spaceGroupSymbol: Optional[str] = None
|
|
5388
|
-
"""
|
|
5389
|
-
space group symbol in Hermann–Mauguin notation
|
|
5390
|
-
"""
|
|
5391
|
-
tolerance: Optional[ScalarSchema45] = Field(None, title="scalar schema")
|
|
5392
|
-
"""
|
|
5393
|
-
tolerance used for symmetry calculation
|
|
5394
|
-
"""
|
|
5395
|
-
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
5396
|
-
|
|
5397
|
-
|
|
5398
|
-
class Name362(Enum):
|
|
5399
|
-
elemental_ratio = "elemental_ratio"
|
|
5400
|
-
|
|
5401
|
-
|
|
5402
|
-
class ElementalRatio44(BaseModel):
|
|
5403
|
-
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
5404
|
-
value: confloat(ge=0.0, le=1.0)
|
|
5405
|
-
element: Optional[str] = None
|
|
5406
|
-
"""
|
|
5407
|
-
the element this ratio is for
|
|
5408
|
-
"""
|
|
5409
|
-
|
|
5410
|
-
|
|
5411
|
-
class Name363(Enum):
|
|
5412
|
-
p_norm = "p-norm"
|
|
5413
|
-
|
|
5414
|
-
|
|
5415
|
-
class PNorm44(BaseModel):
|
|
5416
|
-
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
5417
|
-
degree: Optional[int] = None
|
|
5418
|
-
"""
|
|
5419
|
-
degree of the dimensionality of the norm
|
|
5420
|
-
"""
|
|
5421
|
-
value: float
|
|
5422
|
-
|
|
5423
|
-
|
|
5424
|
-
class Name364(Enum):
|
|
5425
|
-
inchi = "inchi"
|
|
5426
|
-
|
|
5427
|
-
|
|
5428
|
-
class InChIRepresentationSchema44(BaseModel):
|
|
5429
|
-
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
5430
|
-
value: str
|
|
5431
|
-
|
|
5432
|
-
|
|
5433
|
-
class Name365(Enum):
|
|
5434
|
-
inchi_key = "inchi_key"
|
|
5435
|
-
|
|
5436
|
-
|
|
5437
|
-
class InChIKeyRepresentationSchema44(BaseModel):
|
|
5438
|
-
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
5439
|
-
value: str
|
|
5440
|
-
|
|
5441
|
-
|
|
5442
|
-
class DerivedPropertiesSchema44(
|
|
5443
|
-
RootModel[
|
|
5444
|
-
Union[
|
|
5445
|
-
VolumeSchema44,
|
|
5446
|
-
DensitySchema44,
|
|
5447
|
-
SymmetrySchema44,
|
|
5448
|
-
ElementalRatio44,
|
|
5449
|
-
PNorm44,
|
|
5450
|
-
InChIRepresentationSchema44,
|
|
5451
|
-
InChIKeyRepresentationSchema44,
|
|
5452
|
-
]
|
|
5453
|
-
]
|
|
5454
|
-
):
|
|
5455
|
-
root: Union[
|
|
5456
|
-
VolumeSchema44,
|
|
5457
|
-
DensitySchema44,
|
|
5458
|
-
SymmetrySchema44,
|
|
5459
|
-
ElementalRatio44,
|
|
5460
|
-
PNorm44,
|
|
5461
|
-
InChIRepresentationSchema44,
|
|
5462
|
-
InChIKeyRepresentationSchema44,
|
|
5463
|
-
] = Field(..., discriminator="name")
|
|
5464
|
-
|
|
5465
|
-
|
|
5466
|
-
class Name366(Enum):
|
|
5467
|
-
default = "default"
|
|
5468
|
-
atomsTooClose = "atomsTooClose"
|
|
5469
|
-
atomsOverlap = "atomsOverlap"
|
|
5470
|
-
|
|
5471
|
-
|
|
5472
|
-
class MaterialConsistencyCheckSchema44(BaseModel):
|
|
5473
|
-
name: Name366
|
|
5474
|
-
"""
|
|
5475
|
-
Name of the consistency check that is performed, which is listed in an enum.
|
|
5476
|
-
"""
|
|
5477
|
-
key: str
|
|
5478
|
-
"""
|
|
5479
|
-
Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
|
|
5480
|
-
"""
|
|
5481
|
-
severity: Severity
|
|
5482
|
-
"""
|
|
5483
|
-
Severity level of the problem, which is used in UI to differentiate.
|
|
5484
|
-
"""
|
|
5485
|
-
message: str
|
|
5486
|
-
"""
|
|
5487
|
-
Message generated by the consistency check describing the problem.
|
|
5488
|
-
"""
|
|
5489
|
-
|
|
5490
|
-
|
|
5491
|
-
class CrystalSchema44(BaseModel):
|
|
5492
|
-
formula: Optional[str] = None
|
|
5493
|
-
"""
|
|
5494
|
-
reduced chemical formula
|
|
5495
|
-
"""
|
|
5496
|
-
unitCellFormula: Optional[str] = None
|
|
5497
|
-
"""
|
|
5498
|
-
chemical formula based on the number of atoms of each element in the supercell
|
|
5499
|
-
"""
|
|
5500
|
-
basis: BasisSchema45 = Field(..., title="basis schema")
|
|
5501
|
-
lattice: LatticeSchema44 = Field(..., title="lattice schema")
|
|
5502
|
-
derivedProperties: Optional[List[DerivedPropertiesSchema44]] = Field(None, title="derived properties schema")
|
|
5503
|
-
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
5504
|
-
"""
|
|
5505
|
-
information about a database source
|
|
5506
|
-
"""
|
|
5507
|
-
src: Optional[FileSourceSchema] = Field(None, title="file source schema")
|
|
5508
|
-
"""
|
|
5509
|
-
file source with the information inside
|
|
5510
|
-
"""
|
|
5511
|
-
scaledHash: Optional[str] = None
|
|
5512
|
-
"""
|
|
5513
|
-
Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
|
|
5514
|
-
"""
|
|
5515
|
-
icsdId: Optional[int] = None
|
|
5516
|
-
"""
|
|
5517
|
-
Corresponding ICSD id of the material
|
|
5518
|
-
"""
|
|
5519
|
-
isNonPeriodic: Optional[bool] = None
|
|
5520
|
-
"""
|
|
5521
|
-
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
5522
|
-
"""
|
|
5523
|
-
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema44]] = None
|
|
5524
|
-
field_id: Optional[str] = Field(None, alias="_id")
|
|
5525
|
-
"""
|
|
5526
|
-
entity identity
|
|
5527
|
-
"""
|
|
5528
|
-
slug: Optional[str] = None
|
|
5529
|
-
"""
|
|
5530
|
-
entity slug
|
|
5531
|
-
"""
|
|
5532
|
-
systemName: Optional[str] = None
|
|
5533
|
-
schemaVersion: Optional[str] = "2022.8.16"
|
|
5534
|
-
"""
|
|
5535
|
-
entity's schema version. Used to distinct between different schemas.
|
|
5536
|
-
"""
|
|
5537
|
-
name: Optional[str] = None
|
|
5538
|
-
"""
|
|
5539
|
-
entity name
|
|
5540
|
-
"""
|
|
5541
|
-
isDefault: Optional[bool] = False
|
|
5542
|
-
"""
|
|
5543
|
-
Identifies that entity is defaultable
|
|
5544
|
-
"""
|
|
5545
|
-
metadata: Optional[Dict[str, Any]] = None
|
|
5546
|
-
|
|
5547
|
-
|
|
5548
|
-
class VacuumConfigurationSchema20(BaseModel):
|
|
5549
|
-
direction: AxisEnum = Field(..., title="Axis Enum")
|
|
5550
|
-
"""
|
|
5551
|
-
Enum for axis types
|
|
5552
|
-
"""
|
|
5553
|
-
size: Optional[confloat(ge=0.0)] = 10
|
|
5554
|
-
"""
|
|
5555
|
-
Size of the vacuum slab in angstroms
|
|
5556
|
-
"""
|
|
5557
|
-
crystal: CrystalSchema44 = Field(..., title="Crystal Schema")
|
|
5558
|
-
"""
|
|
5559
|
-
A crystal structure, referencing the base material schema
|
|
5560
|
-
"""
|
|
5561
|
-
|
|
5562
|
-
|
|
5563
|
-
class SlabStrainedSupercellWithGapConfigurationSchema3(BaseModel):
|
|
5564
|
-
gap: Optional[confloat(ge=0.0)] = None
|
|
5565
|
-
"""
|
|
5566
|
-
If provided, the film is shifted to have it as smallest distance to the substrate
|
|
5567
|
-
"""
|
|
5568
|
-
xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
|
|
5569
|
-
default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
|
|
5570
|
-
max_length=2,
|
|
5571
|
-
min_length=2,
|
|
5572
|
-
title="Supercell Matrix 2D Schema",
|
|
5573
|
-
)
|
|
5574
|
-
"""
|
|
5575
|
-
Supercell matrix for xy plane transformations
|
|
5576
|
-
"""
|
|
5577
|
-
strain_matrix: List[ArrayOf3NumberElementsSchema] = Field(
|
|
5578
|
-
..., max_length=3, min_length=3, title="matrix 3x3 schema"
|
|
5579
|
-
)
|
|
5580
|
-
stack_components: List[Union[AtomicLayersUniqueRepeatedSchema17, VacuumConfigurationSchema20]] = Field(
|
|
5581
|
-
..., max_length=2, min_length=2
|
|
5582
|
-
)
|
|
5583
|
-
direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
|
|
5584
|
-
"""
|
|
5585
|
-
Enum for axis types
|
|
5586
|
-
"""
|
|
5587
|
-
|
|
5588
|
-
|
|
5589
|
-
class Value98(Enum):
|
|
5590
|
-
H = "H"
|
|
5591
|
-
He = "He"
|
|
5592
|
-
Li = "Li"
|
|
5593
|
-
Be = "Be"
|
|
5594
|
-
B = "B"
|
|
5595
|
-
C = "C"
|
|
5596
|
-
N = "N"
|
|
5597
|
-
O = "O"
|
|
5598
|
-
F = "F"
|
|
5599
|
-
Ne = "Ne"
|
|
5600
|
-
Na = "Na"
|
|
5601
|
-
Mg = "Mg"
|
|
5602
|
-
Al = "Al"
|
|
5603
|
-
Si = "Si"
|
|
5604
|
-
P = "P"
|
|
5605
|
-
S = "S"
|
|
5606
|
-
Cl = "Cl"
|
|
5607
|
-
Ar = "Ar"
|
|
5608
|
-
K = "K"
|
|
5609
|
-
Ca = "Ca"
|
|
5610
|
-
Sc = "Sc"
|
|
5611
|
-
Ti = "Ti"
|
|
5612
|
-
V = "V"
|
|
5613
|
-
Cr = "Cr"
|
|
5614
|
-
Mn = "Mn"
|
|
5615
|
-
Fe = "Fe"
|
|
5616
|
-
Co = "Co"
|
|
5617
|
-
Ni = "Ni"
|
|
5618
|
-
Cu = "Cu"
|
|
5619
|
-
Zn = "Zn"
|
|
5620
|
-
Ga = "Ga"
|
|
5621
|
-
Ge = "Ge"
|
|
5622
|
-
As = "As"
|
|
5623
|
-
Se = "Se"
|
|
5624
|
-
Br = "Br"
|
|
5625
|
-
Kr = "Kr"
|
|
5626
|
-
Rb = "Rb"
|
|
5627
|
-
Sr = "Sr"
|
|
5628
|
-
Y = "Y"
|
|
5629
|
-
Zr = "Zr"
|
|
5630
|
-
Nb = "Nb"
|
|
5631
|
-
Mo = "Mo"
|
|
5632
|
-
Tc = "Tc"
|
|
5633
|
-
Ru = "Ru"
|
|
5634
|
-
Rh = "Rh"
|
|
5635
|
-
Pd = "Pd"
|
|
5636
|
-
Ag = "Ag"
|
|
5637
|
-
Cd = "Cd"
|
|
5638
|
-
In = "In"
|
|
5639
|
-
Sn = "Sn"
|
|
5640
|
-
Sb = "Sb"
|
|
5641
|
-
Te = "Te"
|
|
5642
|
-
I = "I"
|
|
5643
|
-
Xe = "Xe"
|
|
5644
|
-
Cs = "Cs"
|
|
5645
|
-
Ba = "Ba"
|
|
5646
|
-
La = "La"
|
|
5647
|
-
Ce = "Ce"
|
|
5648
|
-
Pr = "Pr"
|
|
5649
|
-
Nd = "Nd"
|
|
5650
|
-
Pm = "Pm"
|
|
5651
|
-
Sm = "Sm"
|
|
5652
|
-
Eu = "Eu"
|
|
5653
|
-
Gd = "Gd"
|
|
5654
|
-
Tb = "Tb"
|
|
5655
|
-
Dy = "Dy"
|
|
5656
|
-
Ho = "Ho"
|
|
5657
|
-
Er = "Er"
|
|
5658
|
-
Tm = "Tm"
|
|
5659
|
-
Yb = "Yb"
|
|
5660
|
-
Lu = "Lu"
|
|
5661
|
-
Hf = "Hf"
|
|
5662
|
-
Ta = "Ta"
|
|
5663
|
-
W = "W"
|
|
5664
|
-
Re = "Re"
|
|
5665
|
-
Os = "Os"
|
|
5666
|
-
Ir = "Ir"
|
|
5667
|
-
Pt = "Pt"
|
|
5668
|
-
Au = "Au"
|
|
5669
|
-
Hg = "Hg"
|
|
5670
|
-
Tl = "Tl"
|
|
5671
|
-
Pb = "Pb"
|
|
5672
|
-
Bi = "Bi"
|
|
5673
|
-
Po = "Po"
|
|
5674
|
-
At = "At"
|
|
5675
|
-
Rn = "Rn"
|
|
5676
|
-
Fr = "Fr"
|
|
5677
|
-
Ra = "Ra"
|
|
5678
|
-
Ac = "Ac"
|
|
5679
|
-
Th = "Th"
|
|
5680
|
-
Pa = "Pa"
|
|
5681
|
-
U = "U"
|
|
5682
|
-
Np = "Np"
|
|
5683
|
-
Pu = "Pu"
|
|
5684
|
-
Am = "Am"
|
|
5685
|
-
Cm = "Cm"
|
|
5686
|
-
Bk = "Bk"
|
|
5687
|
-
Cf = "Cf"
|
|
5688
|
-
Es = "Es"
|
|
5689
|
-
Fm = "Fm"
|
|
5690
|
-
Md = "Md"
|
|
5691
|
-
No = "No"
|
|
5692
|
-
Lr = "Lr"
|
|
5693
|
-
Rf = "Rf"
|
|
5694
|
-
Db = "Db"
|
|
5695
|
-
Sg = "Sg"
|
|
5696
|
-
Bh = "Bh"
|
|
5697
|
-
Hs = "Hs"
|
|
5698
|
-
Mt = "Mt"
|
|
5699
|
-
Ds = "Ds"
|
|
5700
|
-
Rg = "Rg"
|
|
5701
|
-
Cn = "Cn"
|
|
5702
|
-
Nh = "Nh"
|
|
5703
|
-
Fl = "Fl"
|
|
5704
|
-
Mc = "Mc"
|
|
5705
|
-
Lv = "Lv"
|
|
5706
|
-
Ts = "Ts"
|
|
5707
|
-
Og = "Og"
|
|
5708
|
-
|
|
5709
|
-
|
|
5710
|
-
class Value99(Enum):
|
|
5711
|
-
X = "X"
|
|
5712
|
-
Vac = "Vac"
|
|
5713
|
-
|
|
5714
|
-
|
|
5715
|
-
class AtomicElementSchema48(BaseModel):
|
|
5716
|
-
value: Union[Value98, Value99]
|
|
5717
|
-
"""
|
|
5718
|
-
All elements, including extra elements
|
|
5719
|
-
"""
|
|
5720
|
-
id: int
|
|
5721
|
-
"""
|
|
5722
|
-
integer id of this entry
|
|
5723
|
-
"""
|
|
5724
|
-
|
|
5725
|
-
|
|
5726
|
-
class BasisSchema46(BaseModel):
|
|
5727
|
-
elements: List[AtomicElementSchema48] = Field(..., title="atomic elements schema")
|
|
5728
|
-
"""
|
|
5729
|
-
atomic elements schema
|
|
5730
|
-
"""
|
|
5731
|
-
coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
|
|
5732
|
-
"""
|
|
5733
|
-
atomic coordinates schema
|
|
5734
|
-
"""
|
|
5735
|
-
units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
|
|
5736
|
-
labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
|
|
5737
|
-
"""
|
|
5738
|
-
atomic labels schema
|
|
5739
|
-
"""
|
|
5740
|
-
|
|
5741
|
-
|
|
5742
|
-
class LatticeVectorsSchema45(BaseModel):
|
|
5743
|
-
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
5744
|
-
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
5745
|
-
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
5746
|
-
alat: Optional[float] = 1
|
|
5747
|
-
"""
|
|
5748
|
-
lattice parameter for fractional coordinates
|
|
5749
|
-
"""
|
|
5750
|
-
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
5751
|
-
|
|
5752
|
-
|
|
5753
|
-
class LatticeUnitsSchema45(BaseModel):
|
|
5754
|
-
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
5755
|
-
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
5756
|
-
|
|
5757
|
-
|
|
5758
|
-
class LatticeSchema45(BaseModel):
|
|
5759
|
-
a: float
|
|
5760
|
-
"""
|
|
5761
|
-
length of the first lattice vector
|
|
5762
|
-
"""
|
|
5763
|
-
b: float
|
|
5764
|
-
"""
|
|
5765
|
-
length of the second lattice vector
|
|
5766
|
-
"""
|
|
5767
|
-
c: float
|
|
5768
|
-
"""
|
|
5769
|
-
length of the third lattice vector
|
|
5770
|
-
"""
|
|
5771
|
-
alpha: float
|
|
5772
|
-
"""
|
|
5773
|
-
angle between first and second lattice vector
|
|
5774
|
-
"""
|
|
5775
|
-
beta: float
|
|
5776
|
-
"""
|
|
5777
|
-
angle between second and third lattice vector
|
|
5778
|
-
"""
|
|
5779
|
-
gamma: float
|
|
5780
|
-
"""
|
|
5781
|
-
angle between first and third lattice vector
|
|
5782
|
-
"""
|
|
5783
|
-
vectors: Optional[LatticeVectorsSchema45] = Field(None, title="lattice vectors schema")
|
|
5784
|
-
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
5785
|
-
units: Optional[LatticeUnitsSchema45] = Field(
|
|
5786
|
-
default_factory=lambda: LatticeUnitsSchema45.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
5787
|
-
title="Lattice units schema",
|
|
5788
|
-
)
|
|
5789
|
-
|
|
5790
|
-
|
|
5791
|
-
class Name367(Enum):
|
|
5792
|
-
volume = "volume"
|
|
5793
|
-
|
|
5794
|
-
|
|
5795
|
-
class Units144(Enum):
|
|
5796
|
-
angstrom_3 = "angstrom^3"
|
|
5797
|
-
|
|
5798
|
-
|
|
5799
|
-
class VolumeSchema45(BaseModel):
|
|
5800
|
-
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
5801
|
-
units: Optional[Units144] = None
|
|
5802
|
-
value: float
|
|
5803
|
-
|
|
5804
|
-
|
|
5805
|
-
class Name368(Enum):
|
|
5806
|
-
density = "density"
|
|
5807
|
-
|
|
5808
|
-
|
|
5809
|
-
class Units145(Enum):
|
|
5810
|
-
g_cm_3 = "g/cm^3"
|
|
5811
|
-
|
|
5812
|
-
|
|
5813
|
-
class DensitySchema45(BaseModel):
|
|
4047
|
+
class DensitySchema37(BaseModel):
|
|
5814
4048
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
5815
|
-
units: Optional[
|
|
4049
|
+
units: Optional[Units121] = None
|
|
5816
4050
|
value: float
|
|
5817
4051
|
|
|
5818
4052
|
|
|
5819
|
-
class
|
|
4053
|
+
class Units122(Enum):
|
|
5820
4054
|
angstrom = "angstrom"
|
|
5821
4055
|
|
|
5822
4056
|
|
|
5823
|
-
class
|
|
5824
|
-
units: Optional[
|
|
4057
|
+
class ScalarSchema38(BaseModel):
|
|
4058
|
+
units: Optional[Units122] = None
|
|
5825
4059
|
value: float
|
|
5826
4060
|
|
|
5827
4061
|
|
|
5828
|
-
class
|
|
4062
|
+
class Name305(Enum):
|
|
5829
4063
|
symmetry = "symmetry"
|
|
5830
4064
|
|
|
5831
4065
|
|
|
5832
|
-
class
|
|
4066
|
+
class SymmetrySchema37(BaseModel):
|
|
5833
4067
|
pointGroupSymbol: Optional[str] = None
|
|
5834
4068
|
"""
|
|
5835
4069
|
point group symbol in Schoenflies notation
|
|
@@ -5838,18 +4072,18 @@ class SymmetrySchema45(BaseModel):
|
|
|
5838
4072
|
"""
|
|
5839
4073
|
space group symbol in Hermann–Mauguin notation
|
|
5840
4074
|
"""
|
|
5841
|
-
tolerance: Optional[
|
|
4075
|
+
tolerance: Optional[ScalarSchema38] = Field(None, title="scalar schema")
|
|
5842
4076
|
"""
|
|
5843
4077
|
tolerance used for symmetry calculation
|
|
5844
4078
|
"""
|
|
5845
4079
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
5846
4080
|
|
|
5847
4081
|
|
|
5848
|
-
class
|
|
4082
|
+
class Name306(Enum):
|
|
5849
4083
|
elemental_ratio = "elemental_ratio"
|
|
5850
4084
|
|
|
5851
4085
|
|
|
5852
|
-
class
|
|
4086
|
+
class ElementalRatio37(BaseModel):
|
|
5853
4087
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
5854
4088
|
value: confloat(ge=0.0, le=1.0)
|
|
5855
4089
|
element: Optional[str] = None
|
|
@@ -5858,11 +4092,11 @@ class ElementalRatio45(BaseModel):
|
|
|
5858
4092
|
"""
|
|
5859
4093
|
|
|
5860
4094
|
|
|
5861
|
-
class
|
|
4095
|
+
class Name307(Enum):
|
|
5862
4096
|
p_norm = "p-norm"
|
|
5863
4097
|
|
|
5864
4098
|
|
|
5865
|
-
class
|
|
4099
|
+
class PNorm37(BaseModel):
|
|
5866
4100
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
5867
4101
|
degree: Optional[int] = None
|
|
5868
4102
|
"""
|
|
@@ -5871,56 +4105,56 @@ class PNorm45(BaseModel):
|
|
|
5871
4105
|
value: float
|
|
5872
4106
|
|
|
5873
4107
|
|
|
5874
|
-
class
|
|
4108
|
+
class Name308(Enum):
|
|
5875
4109
|
inchi = "inchi"
|
|
5876
4110
|
|
|
5877
4111
|
|
|
5878
|
-
class
|
|
4112
|
+
class InChIRepresentationSchema37(BaseModel):
|
|
5879
4113
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
5880
4114
|
value: str
|
|
5881
4115
|
|
|
5882
4116
|
|
|
5883
|
-
class
|
|
4117
|
+
class Name309(Enum):
|
|
5884
4118
|
inchi_key = "inchi_key"
|
|
5885
4119
|
|
|
5886
4120
|
|
|
5887
|
-
class
|
|
4121
|
+
class InChIKeyRepresentationSchema37(BaseModel):
|
|
5888
4122
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
5889
4123
|
value: str
|
|
5890
4124
|
|
|
5891
4125
|
|
|
5892
|
-
class
|
|
4126
|
+
class DerivedPropertiesSchema37(
|
|
5893
4127
|
RootModel[
|
|
5894
4128
|
Union[
|
|
5895
|
-
|
|
5896
|
-
|
|
5897
|
-
|
|
5898
|
-
|
|
5899
|
-
|
|
5900
|
-
|
|
5901
|
-
|
|
4129
|
+
VolumeSchema37,
|
|
4130
|
+
DensitySchema37,
|
|
4131
|
+
SymmetrySchema37,
|
|
4132
|
+
ElementalRatio37,
|
|
4133
|
+
PNorm37,
|
|
4134
|
+
InChIRepresentationSchema37,
|
|
4135
|
+
InChIKeyRepresentationSchema37,
|
|
5902
4136
|
]
|
|
5903
4137
|
]
|
|
5904
4138
|
):
|
|
5905
4139
|
root: Union[
|
|
5906
|
-
|
|
5907
|
-
|
|
5908
|
-
|
|
5909
|
-
|
|
5910
|
-
|
|
5911
|
-
|
|
5912
|
-
|
|
4140
|
+
VolumeSchema37,
|
|
4141
|
+
DensitySchema37,
|
|
4142
|
+
SymmetrySchema37,
|
|
4143
|
+
ElementalRatio37,
|
|
4144
|
+
PNorm37,
|
|
4145
|
+
InChIRepresentationSchema37,
|
|
4146
|
+
InChIKeyRepresentationSchema37,
|
|
5913
4147
|
] = Field(..., discriminator="name")
|
|
5914
4148
|
|
|
5915
4149
|
|
|
5916
|
-
class
|
|
4150
|
+
class Name310(Enum):
|
|
5917
4151
|
default = "default"
|
|
5918
4152
|
atomsTooClose = "atomsTooClose"
|
|
5919
4153
|
atomsOverlap = "atomsOverlap"
|
|
5920
4154
|
|
|
5921
4155
|
|
|
5922
|
-
class
|
|
5923
|
-
name:
|
|
4156
|
+
class MaterialConsistencyCheckSchema37(BaseModel):
|
|
4157
|
+
name: Name310
|
|
5924
4158
|
"""
|
|
5925
4159
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
5926
4160
|
"""
|
|
@@ -5938,7 +4172,7 @@ class MaterialConsistencyCheckSchema45(BaseModel):
|
|
|
5938
4172
|
"""
|
|
5939
4173
|
|
|
5940
4174
|
|
|
5941
|
-
class
|
|
4175
|
+
class CrystalSchema37(BaseModel):
|
|
5942
4176
|
formula: Optional[str] = None
|
|
5943
4177
|
"""
|
|
5944
4178
|
reduced chemical formula
|
|
@@ -5947,9 +4181,9 @@ class CrystalSchema45(BaseModel):
|
|
|
5947
4181
|
"""
|
|
5948
4182
|
chemical formula based on the number of atoms of each element in the supercell
|
|
5949
4183
|
"""
|
|
5950
|
-
basis:
|
|
5951
|
-
lattice:
|
|
5952
|
-
derivedProperties: Optional[List[
|
|
4184
|
+
basis: BasisSchema38 = Field(..., title="basis schema")
|
|
4185
|
+
lattice: LatticeSchema37 = Field(..., title="lattice schema")
|
|
4186
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema37]] = Field(None, title="derived properties schema")
|
|
5953
4187
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
5954
4188
|
"""
|
|
5955
4189
|
information about a database source
|
|
@@ -5970,7 +4204,7 @@ class CrystalSchema45(BaseModel):
|
|
|
5970
4204
|
"""
|
|
5971
4205
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
5972
4206
|
"""
|
|
5973
|
-
consistencyChecks: Optional[List[
|
|
4207
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema37]] = None
|
|
5974
4208
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
5975
4209
|
"""
|
|
5976
4210
|
entity identity
|
|
@@ -5995,7 +4229,7 @@ class CrystalSchema45(BaseModel):
|
|
|
5995
4229
|
metadata: Optional[Dict[str, Any]] = None
|
|
5996
4230
|
|
|
5997
4231
|
|
|
5998
|
-
class
|
|
4232
|
+
class VacuumConfigurationSchema17(BaseModel):
|
|
5999
4233
|
direction: AxisEnum = Field(..., title="Axis Enum")
|
|
6000
4234
|
"""
|
|
6001
4235
|
Enum for axis types
|
|
@@ -6004,7 +4238,7 @@ class VacuumConfigurationSchema21(BaseModel):
|
|
|
6004
4238
|
"""
|
|
6005
4239
|
Size of the vacuum slab in angstroms
|
|
6006
4240
|
"""
|
|
6007
|
-
crystal:
|
|
4241
|
+
crystal: CrystalSchema37 = Field(..., title="Crystal Schema")
|
|
6008
4242
|
"""
|
|
6009
4243
|
A crystal structure, referencing the base material schema
|
|
6010
4244
|
"""
|
|
@@ -6013,17 +4247,9 @@ class VacuumConfigurationSchema21(BaseModel):
|
|
|
6013
4247
|
class GrainBoundaryLinearConfigurationSchema(BaseModel):
|
|
6014
4248
|
stack_components: List[
|
|
6015
4249
|
Union[
|
|
6016
|
-
Union[
|
|
6017
|
-
|
|
6018
|
-
|
|
6019
|
-
SlabStrainedSupercellWithGapConfigurationSchema,
|
|
6020
|
-
],
|
|
6021
|
-
Union[
|
|
6022
|
-
SlabConfigurationSchema8,
|
|
6023
|
-
SlabStrainedSupercellConfigurationSchema3,
|
|
6024
|
-
SlabStrainedSupercellWithGapConfigurationSchema3,
|
|
6025
|
-
],
|
|
6026
|
-
VacuumConfigurationSchema21,
|
|
4250
|
+
Union[SlabConfigurationSchema, SlabStrainedSupercellConfigurationSchema],
|
|
4251
|
+
Union[SlabConfigurationSchema8, SlabStrainedSupercellConfigurationSchema3],
|
|
4252
|
+
VacuumConfigurationSchema17,
|
|
6027
4253
|
]
|
|
6028
4254
|
] = Field(..., max_length=2, min_length=2)
|
|
6029
4255
|
"""
|
|
@@ -6041,3 +4267,7 @@ class GrainBoundaryLinearConfigurationSchema(BaseModel):
|
|
|
6041
4267
|
"""
|
|
6042
4268
|
xy shift for the film as cartesian 2D vector on the xy plane.
|
|
6043
4269
|
"""
|
|
4270
|
+
gaps: Optional[List[ObjectWithId]] = None
|
|
4271
|
+
"""
|
|
4272
|
+
Gap distances between stack components as an array of objects with id and value
|
|
4273
|
+
"""
|