mat3ra-esse 2025.7.15.post0__py3-none-any.whl → 2025.7.29.post0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mat3ra-esse might be problematic. Click here for more details.
- mat3ra/esse/data/examples.py +1 -1
- mat3ra/esse/data/schemas.py +1 -1
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw_x.py +6 -6
- mat3ra/esse/models/core/abstract/vector_2d.py +13 -0
- mat3ra/esse/models/core/primitive/array_of_2_numbers.py +13 -0
- 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/__init__.py +3 -0
- mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py +6039 -0
- mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py +6043 -0
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/configuration.py +2116 -0
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/base_configuration.py +1561 -0
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py +6039 -0
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/configuration.py +2888 -0
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/configuration.py +2892 -0
- mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/__init__.py +3 -0
- mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.py +544 -0
- mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py +1099 -0
- mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py +1099 -0
- mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py +556 -0
- 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 +1582 -0
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanotape.py +1148 -0
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +78 -94
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py +1147 -0
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py +1151 -0
- mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/__init__.py +3 -0
- mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/configuration.py +1232 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/one_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/one_dimensional/miller_indices_2d.py +16 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py +527 -2
- mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py +676 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py +555 -0
- mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_site.py +1576 -0
- 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/core/zero_dimensional/vacancy.py +22 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/__init__.py +3 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_base.py +541 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py +545 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py +708 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py +541 -0
- 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/atomic_layers.py +4 -4
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py +4 -4
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py +4 -4
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py +18 -18
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py +1561 -0
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py +74 -77
- mat3ra/esse/models/materials_category_components/operations/core/combinations/enums.py +13 -0
- mat3ra/esse/models/materials_category_components/operations/core/combinations/merge.py +9 -981
- mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +3 -947
- mat3ra/esse/models/materials_category_components/operations/core/modifications/perturb.py +538 -0
- 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/basis/__init__.py +2 -2
- mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
- mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
- {mat3ra_esse-2025.7.15.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.7.15.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/RECORD +85 -44
- {mat3ra_esse-2025.7.15.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2025.7.15.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.7.15.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/top_level.txt +0 -0
|
@@ -10,10 +10,6 @@ from typing import Any, Dict, List, Literal, Optional, Union
|
|
|
10
10
|
from pydantic import BaseModel, Field, RootModel, confloat, conint, constr
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
class SupercellMatrix2DSchemaItem(RootModel[List[int]]):
|
|
14
|
-
root: List[int]
|
|
15
|
-
|
|
16
|
-
|
|
17
13
|
class ChemicalElements(Enum):
|
|
18
14
|
H = "H"
|
|
19
15
|
He = "He"
|
|
@@ -269,13 +265,13 @@ class Value(Enum):
|
|
|
269
265
|
Og = "Og"
|
|
270
266
|
|
|
271
267
|
|
|
272
|
-
class
|
|
268
|
+
class Value171(Enum):
|
|
273
269
|
X = "X"
|
|
274
270
|
Vac = "Vac"
|
|
275
271
|
|
|
276
272
|
|
|
277
273
|
class AtomicElementSchema(BaseModel):
|
|
278
|
-
value: Union[Value,
|
|
274
|
+
value: Union[Value, Value171]
|
|
279
275
|
"""
|
|
280
276
|
All elements, including extra elements
|
|
281
277
|
"""
|
|
@@ -423,30 +419,30 @@ class VolumeSchema(BaseModel):
|
|
|
423
419
|
value: float
|
|
424
420
|
|
|
425
421
|
|
|
426
|
-
class
|
|
422
|
+
class Name685(Enum):
|
|
427
423
|
density = "density"
|
|
428
424
|
|
|
429
425
|
|
|
430
|
-
class
|
|
426
|
+
class Units279(Enum):
|
|
431
427
|
g_cm_3 = "g/cm^3"
|
|
432
428
|
|
|
433
429
|
|
|
434
430
|
class DensitySchema(BaseModel):
|
|
435
431
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
436
|
-
units: Optional[
|
|
432
|
+
units: Optional[Units279] = None
|
|
437
433
|
value: float
|
|
438
434
|
|
|
439
435
|
|
|
440
|
-
class
|
|
436
|
+
class Units280(Enum):
|
|
441
437
|
angstrom = "angstrom"
|
|
442
438
|
|
|
443
439
|
|
|
444
440
|
class ScalarSchema(BaseModel):
|
|
445
|
-
units: Optional[
|
|
441
|
+
units: Optional[Units280] = None
|
|
446
442
|
value: float
|
|
447
443
|
|
|
448
444
|
|
|
449
|
-
class
|
|
445
|
+
class Name686(Enum):
|
|
450
446
|
symmetry = "symmetry"
|
|
451
447
|
|
|
452
448
|
|
|
@@ -466,7 +462,7 @@ class SymmetrySchema(BaseModel):
|
|
|
466
462
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
467
463
|
|
|
468
464
|
|
|
469
|
-
class
|
|
465
|
+
class Name687(Enum):
|
|
470
466
|
elemental_ratio = "elemental_ratio"
|
|
471
467
|
|
|
472
468
|
|
|
@@ -479,7 +475,7 @@ class ElementalRatio(BaseModel):
|
|
|
479
475
|
"""
|
|
480
476
|
|
|
481
477
|
|
|
482
|
-
class
|
|
478
|
+
class Name688(Enum):
|
|
483
479
|
p_norm = "p-norm"
|
|
484
480
|
|
|
485
481
|
|
|
@@ -492,7 +488,7 @@ class PNorm(BaseModel):
|
|
|
492
488
|
value: float
|
|
493
489
|
|
|
494
490
|
|
|
495
|
-
class
|
|
491
|
+
class Name689(Enum):
|
|
496
492
|
inchi = "inchi"
|
|
497
493
|
|
|
498
494
|
|
|
@@ -501,7 +497,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
501
497
|
value: str
|
|
502
498
|
|
|
503
499
|
|
|
504
|
-
class
|
|
500
|
+
class Name690(Enum):
|
|
505
501
|
inchi_key = "inchi_key"
|
|
506
502
|
|
|
507
503
|
|
|
@@ -580,7 +576,7 @@ class FileSourceSchema(BaseModel):
|
|
|
580
576
|
"""
|
|
581
577
|
|
|
582
578
|
|
|
583
|
-
class
|
|
579
|
+
class Name691(Enum):
|
|
584
580
|
default = "default"
|
|
585
581
|
atomsTooClose = "atomsTooClose"
|
|
586
582
|
atomsOverlap = "atomsOverlap"
|
|
@@ -593,7 +589,7 @@ class Severity(Enum):
|
|
|
593
589
|
|
|
594
590
|
|
|
595
591
|
class MaterialConsistencyCheckSchema(BaseModel):
|
|
596
|
-
name:
|
|
592
|
+
name: Name691
|
|
597
593
|
"""
|
|
598
594
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
599
595
|
"""
|
|
@@ -677,14 +673,14 @@ class AtomicLayersUniqueRepeatedSchema(BaseModel):
|
|
|
677
673
|
"""
|
|
678
674
|
Number of repetitions of the unique atomic layers
|
|
679
675
|
"""
|
|
680
|
-
crystal: CrystalSchema = Field(..., title="Crystal Schema")
|
|
681
|
-
"""
|
|
682
|
-
A crystal structure, referencing the base material schema
|
|
683
|
-
"""
|
|
684
676
|
miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
|
|
685
677
|
"""
|
|
686
678
|
Miller indices [h, k, l] defining crystallographic planes
|
|
687
679
|
"""
|
|
680
|
+
crystal: CrystalSchema = Field(..., title="Crystal Schema")
|
|
681
|
+
"""
|
|
682
|
+
A crystal structure, referencing the base material schema
|
|
683
|
+
"""
|
|
688
684
|
use_conventional_cell: Optional[bool] = True
|
|
689
685
|
"""
|
|
690
686
|
Use the conventional cell for the crystal structure
|
|
@@ -697,7 +693,7 @@ class AxisEnum(Enum):
|
|
|
697
693
|
z = "z"
|
|
698
694
|
|
|
699
695
|
|
|
700
|
-
class
|
|
696
|
+
class Value172(Enum):
|
|
701
697
|
H = "H"
|
|
702
698
|
He = "He"
|
|
703
699
|
Li = "Li"
|
|
@@ -818,13 +814,13 @@ class Value34(Enum):
|
|
|
818
814
|
Og = "Og"
|
|
819
815
|
|
|
820
816
|
|
|
821
|
-
class
|
|
817
|
+
class Value173(Enum):
|
|
822
818
|
X = "X"
|
|
823
819
|
Vac = "Vac"
|
|
824
820
|
|
|
825
821
|
|
|
826
|
-
class
|
|
827
|
-
value: Union[
|
|
822
|
+
class AtomicElementSchema82(BaseModel):
|
|
823
|
+
value: Union[Value172, Value173]
|
|
828
824
|
"""
|
|
829
825
|
All elements, including extra elements
|
|
830
826
|
"""
|
|
@@ -834,8 +830,8 @@ class AtomicElementSchema13(BaseModel):
|
|
|
834
830
|
"""
|
|
835
831
|
|
|
836
832
|
|
|
837
|
-
class
|
|
838
|
-
elements: List[
|
|
833
|
+
class BasisSchema80(BaseModel):
|
|
834
|
+
elements: List[AtomicElementSchema82] = Field(..., title="atomic elements schema")
|
|
839
835
|
"""
|
|
840
836
|
atomic elements schema
|
|
841
837
|
"""
|
|
@@ -850,7 +846,7 @@ class BasisSchema11(BaseModel):
|
|
|
850
846
|
"""
|
|
851
847
|
|
|
852
848
|
|
|
853
|
-
class
|
|
849
|
+
class LatticeVectorsSchema80(BaseModel):
|
|
854
850
|
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
855
851
|
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
856
852
|
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
@@ -861,12 +857,12 @@ class LatticeVectorsSchema11(BaseModel):
|
|
|
861
857
|
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
862
858
|
|
|
863
859
|
|
|
864
|
-
class
|
|
860
|
+
class LatticeUnitsSchema81(BaseModel):
|
|
865
861
|
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
866
862
|
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
867
863
|
|
|
868
864
|
|
|
869
|
-
class
|
|
865
|
+
class LatticeSchema80(BaseModel):
|
|
870
866
|
a: float
|
|
871
867
|
"""
|
|
872
868
|
length of the first lattice vector
|
|
@@ -891,56 +887,56 @@ class LatticeSchema11(BaseModel):
|
|
|
891
887
|
"""
|
|
892
888
|
angle between first and third lattice vector
|
|
893
889
|
"""
|
|
894
|
-
vectors: Optional[
|
|
890
|
+
vectors: Optional[LatticeVectorsSchema80] = Field(None, title="lattice vectors schema")
|
|
895
891
|
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
896
|
-
units: Optional[
|
|
897
|
-
default_factory=lambda:
|
|
892
|
+
units: Optional[LatticeUnitsSchema81] = Field(
|
|
893
|
+
default_factory=lambda: LatticeUnitsSchema81.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
898
894
|
title="Lattice units schema",
|
|
899
895
|
)
|
|
900
896
|
|
|
901
897
|
|
|
902
|
-
class
|
|
898
|
+
class Name692(Enum):
|
|
903
899
|
volume = "volume"
|
|
904
900
|
|
|
905
901
|
|
|
906
|
-
class
|
|
902
|
+
class Units281(Enum):
|
|
907
903
|
angstrom_3 = "angstrom^3"
|
|
908
904
|
|
|
909
905
|
|
|
910
|
-
class
|
|
906
|
+
class VolumeSchema80(BaseModel):
|
|
911
907
|
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
912
|
-
units: Optional[
|
|
908
|
+
units: Optional[Units281] = None
|
|
913
909
|
value: float
|
|
914
910
|
|
|
915
911
|
|
|
916
|
-
class
|
|
912
|
+
class Name693(Enum):
|
|
917
913
|
density = "density"
|
|
918
914
|
|
|
919
915
|
|
|
920
|
-
class
|
|
916
|
+
class Units282(Enum):
|
|
921
917
|
g_cm_3 = "g/cm^3"
|
|
922
918
|
|
|
923
919
|
|
|
924
|
-
class
|
|
920
|
+
class DensitySchema81(BaseModel):
|
|
925
921
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
926
|
-
units: Optional[
|
|
922
|
+
units: Optional[Units282] = None
|
|
927
923
|
value: float
|
|
928
924
|
|
|
929
925
|
|
|
930
|
-
class
|
|
926
|
+
class Units283(Enum):
|
|
931
927
|
angstrom = "angstrom"
|
|
932
928
|
|
|
933
929
|
|
|
934
|
-
class
|
|
935
|
-
units: Optional[
|
|
930
|
+
class ScalarSchema82(BaseModel):
|
|
931
|
+
units: Optional[Units283] = None
|
|
936
932
|
value: float
|
|
937
933
|
|
|
938
934
|
|
|
939
|
-
class
|
|
935
|
+
class Name694(Enum):
|
|
940
936
|
symmetry = "symmetry"
|
|
941
937
|
|
|
942
938
|
|
|
943
|
-
class
|
|
939
|
+
class SymmetrySchema80(BaseModel):
|
|
944
940
|
pointGroupSymbol: Optional[str] = None
|
|
945
941
|
"""
|
|
946
942
|
point group symbol in Schoenflies notation
|
|
@@ -949,18 +945,18 @@ class SymmetrySchema11(BaseModel):
|
|
|
949
945
|
"""
|
|
950
946
|
space group symbol in Hermann–Mauguin notation
|
|
951
947
|
"""
|
|
952
|
-
tolerance: Optional[
|
|
948
|
+
tolerance: Optional[ScalarSchema82] = Field(None, title="scalar schema")
|
|
953
949
|
"""
|
|
954
950
|
tolerance used for symmetry calculation
|
|
955
951
|
"""
|
|
956
952
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
957
953
|
|
|
958
954
|
|
|
959
|
-
class
|
|
955
|
+
class Name695(Enum):
|
|
960
956
|
elemental_ratio = "elemental_ratio"
|
|
961
957
|
|
|
962
958
|
|
|
963
|
-
class
|
|
959
|
+
class ElementalRatio81(BaseModel):
|
|
964
960
|
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
965
961
|
value: confloat(ge=0.0, le=1.0)
|
|
966
962
|
element: Optional[str] = None
|
|
@@ -969,11 +965,11 @@ class ElementalRatio12(BaseModel):
|
|
|
969
965
|
"""
|
|
970
966
|
|
|
971
967
|
|
|
972
|
-
class
|
|
968
|
+
class Name696(Enum):
|
|
973
969
|
p_norm = "p-norm"
|
|
974
970
|
|
|
975
971
|
|
|
976
|
-
class
|
|
972
|
+
class PNorm81(BaseModel):
|
|
977
973
|
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
978
974
|
degree: Optional[int] = None
|
|
979
975
|
"""
|
|
@@ -982,56 +978,56 @@ class PNorm12(BaseModel):
|
|
|
982
978
|
value: float
|
|
983
979
|
|
|
984
980
|
|
|
985
|
-
class
|
|
981
|
+
class Name697(Enum):
|
|
986
982
|
inchi = "inchi"
|
|
987
983
|
|
|
988
984
|
|
|
989
|
-
class
|
|
985
|
+
class InChIRepresentationSchema81(BaseModel):
|
|
990
986
|
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
991
987
|
value: str
|
|
992
988
|
|
|
993
989
|
|
|
994
|
-
class
|
|
990
|
+
class Name698(Enum):
|
|
995
991
|
inchi_key = "inchi_key"
|
|
996
992
|
|
|
997
993
|
|
|
998
|
-
class
|
|
994
|
+
class InChIKeyRepresentationSchema81(BaseModel):
|
|
999
995
|
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
1000
996
|
value: str
|
|
1001
997
|
|
|
1002
998
|
|
|
1003
|
-
class
|
|
999
|
+
class DerivedPropertiesSchema81(
|
|
1004
1000
|
RootModel[
|
|
1005
1001
|
Union[
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1002
|
+
VolumeSchema80,
|
|
1003
|
+
DensitySchema81,
|
|
1004
|
+
SymmetrySchema80,
|
|
1005
|
+
ElementalRatio81,
|
|
1006
|
+
PNorm81,
|
|
1007
|
+
InChIRepresentationSchema81,
|
|
1008
|
+
InChIKeyRepresentationSchema81,
|
|
1013
1009
|
]
|
|
1014
1010
|
]
|
|
1015
1011
|
):
|
|
1016
1012
|
root: Union[
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1013
|
+
VolumeSchema80,
|
|
1014
|
+
DensitySchema81,
|
|
1015
|
+
SymmetrySchema80,
|
|
1016
|
+
ElementalRatio81,
|
|
1017
|
+
PNorm81,
|
|
1018
|
+
InChIRepresentationSchema81,
|
|
1019
|
+
InChIKeyRepresentationSchema81,
|
|
1024
1020
|
] = Field(..., discriminator="name")
|
|
1025
1021
|
|
|
1026
1022
|
|
|
1027
|
-
class
|
|
1023
|
+
class Name699(Enum):
|
|
1028
1024
|
default = "default"
|
|
1029
1025
|
atomsTooClose = "atomsTooClose"
|
|
1030
1026
|
atomsOverlap = "atomsOverlap"
|
|
1031
1027
|
|
|
1032
1028
|
|
|
1033
|
-
class
|
|
1034
|
-
name:
|
|
1029
|
+
class MaterialConsistencyCheckSchema80(BaseModel):
|
|
1030
|
+
name: Name699
|
|
1035
1031
|
"""
|
|
1036
1032
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
1037
1033
|
"""
|
|
@@ -1049,7 +1045,7 @@ class MaterialConsistencyCheckSchema11(BaseModel):
|
|
|
1049
1045
|
"""
|
|
1050
1046
|
|
|
1051
1047
|
|
|
1052
|
-
class
|
|
1048
|
+
class CrystalSchema75(BaseModel):
|
|
1053
1049
|
formula: Optional[str] = None
|
|
1054
1050
|
"""
|
|
1055
1051
|
reduced chemical formula
|
|
@@ -1058,9 +1054,9 @@ class CrystalSchema8(BaseModel):
|
|
|
1058
1054
|
"""
|
|
1059
1055
|
chemical formula based on the number of atoms of each element in the supercell
|
|
1060
1056
|
"""
|
|
1061
|
-
basis:
|
|
1062
|
-
lattice:
|
|
1063
|
-
derivedProperties: Optional[List[
|
|
1057
|
+
basis: BasisSchema80 = Field(..., title="basis schema")
|
|
1058
|
+
lattice: LatticeSchema80 = Field(..., title="lattice schema")
|
|
1059
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema81]] = Field(None, title="derived properties schema")
|
|
1064
1060
|
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
1065
1061
|
"""
|
|
1066
1062
|
information about a database source
|
|
@@ -1081,7 +1077,7 @@ class CrystalSchema8(BaseModel):
|
|
|
1081
1077
|
"""
|
|
1082
1078
|
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
1083
1079
|
"""
|
|
1084
|
-
consistencyChecks: Optional[List[
|
|
1080
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema80]] = None
|
|
1085
1081
|
field_id: Optional[str] = Field(None, alias="_id")
|
|
1086
1082
|
"""
|
|
1087
1083
|
entity identity
|
|
@@ -1115,29 +1111,17 @@ class VacuumConfigurationSchema(BaseModel):
|
|
|
1115
1111
|
"""
|
|
1116
1112
|
Size of the vacuum slab in angstroms
|
|
1117
1113
|
"""
|
|
1118
|
-
crystal:
|
|
1114
|
+
crystal: CrystalSchema75 = Field(..., title="Crystal Schema")
|
|
1119
1115
|
"""
|
|
1120
1116
|
A crystal structure, referencing the base material schema
|
|
1121
1117
|
"""
|
|
1122
1118
|
|
|
1123
1119
|
|
|
1124
1120
|
class SlabConfigurationSchema(BaseModel):
|
|
1125
|
-
xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
|
|
1126
|
-
default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
|
|
1127
|
-
max_length=2,
|
|
1128
|
-
min_length=2,
|
|
1129
|
-
title="Supercell Matrix 2D Schema",
|
|
1130
|
-
)
|
|
1131
|
-
"""
|
|
1132
|
-
Supercell matrix for xy plane transformations
|
|
1133
|
-
"""
|
|
1134
1121
|
stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field(
|
|
1135
|
-
..., min_length=2
|
|
1122
|
+
..., max_length=2, min_length=2
|
|
1136
1123
|
)
|
|
1137
|
-
"""
|
|
1138
|
-
Components of the slab unit cell: repeated unique atomic layers and vacuum
|
|
1139
|
-
"""
|
|
1140
|
-
direction: AxisEnum = Field(..., title="Axis Enum")
|
|
1124
|
+
direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
|
|
1141
1125
|
"""
|
|
1142
1126
|
Enum for axis types
|
|
1143
1127
|
"""
|