mat3ra-esse 2025.6.5.post0__py3-none-any.whl → 2025.6.14.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/material/builders/single_material/two_dimensional/slab/selector_parameters.py +1 -1
- mat3ra/esse/models/material/reusable/slab/termination.py +1 -1
- mat3ra/esse/models/material/reusable/slab_configuration_with_termination.py +1 -1
- mat3ra/esse/models/material/reusable/stack/slab_in_stack.py +1 -1
- mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/configuration.py +2 -2
- mat3ra/esse/models/materials_category/multi_material/interfaces/configuration.py +1 -1
- mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +428 -15
- mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/termination.py +1 -1
- mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +526 -2
- 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 +1 -1
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py +1 -1
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py +1 -1
- mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py +428 -15
- mat3ra/esse/models/materials_category_components/operations/core/combinations/merge.py +413 -0
- mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +427 -14
- mat3ra/esse/models/materials_category_components/operations/core/combinations/stack_component.py +427 -14
- 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/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-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/RECORD +37 -37
- {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.6.5.post0.dist-info → mat3ra_esse-2025.6.14.post0.dist-info}/top_level.txt +0 -0
|
@@ -1663,7 +1663,7 @@ class CardOption(Enum):
|
|
|
1663
1663
|
crystal_sg = "crystal_sg"
|
|
1664
1664
|
|
|
1665
1665
|
|
|
1666
|
-
class
|
|
1666
|
+
class Value29(BaseModel):
|
|
1667
1667
|
model_config = ConfigDict(
|
|
1668
1668
|
extra="forbid",
|
|
1669
1669
|
)
|
|
@@ -1693,7 +1693,7 @@ class AtomicPositionsSchema(BaseModel):
|
|
|
1693
1693
|
extra="forbid",
|
|
1694
1694
|
)
|
|
1695
1695
|
card_option: Optional[CardOption] = "alat"
|
|
1696
|
-
values: Optional[List[
|
|
1696
|
+
values: Optional[List[Value29]] = None
|
|
1697
1697
|
|
|
1698
1698
|
|
|
1699
1699
|
class CardOption5(Enum):
|
|
@@ -1707,7 +1707,7 @@ class CardOption5(Enum):
|
|
|
1707
1707
|
crystal_c = "crystal_c"
|
|
1708
1708
|
|
|
1709
1709
|
|
|
1710
|
-
class
|
|
1710
|
+
class Value30(BaseModel):
|
|
1711
1711
|
model_config = ConfigDict(
|
|
1712
1712
|
extra="forbid",
|
|
1713
1713
|
)
|
|
@@ -1756,7 +1756,7 @@ class KPointsSchema(BaseModel):
|
|
|
1756
1756
|
extra="forbid",
|
|
1757
1757
|
)
|
|
1758
1758
|
card_option: Optional[CardOption5] = None
|
|
1759
|
-
values: Optional[Union[List[
|
|
1759
|
+
values: Optional[Union[List[Value30], Values]] = None
|
|
1760
1760
|
|
|
1761
1761
|
|
|
1762
1762
|
class CardOption6(Enum):
|
|
@@ -1853,7 +1853,7 @@ class ParamType(Enum):
|
|
|
1853
1853
|
E3 = "E3"
|
|
1854
1854
|
|
|
1855
1855
|
|
|
1856
|
-
class
|
|
1856
|
+
class Value31(BaseModel):
|
|
1857
1857
|
model_config = ConfigDict(
|
|
1858
1858
|
extra="forbid",
|
|
1859
1859
|
)
|
|
@@ -1967,7 +1967,7 @@ class HubbardSchema(BaseModel):
|
|
|
1967
1967
|
)
|
|
1968
1968
|
card_option: Optional[CardOption7] = None
|
|
1969
1969
|
values: Optional[
|
|
1970
|
-
Union[List[Union[Values9, Values10]], List[
|
|
1970
|
+
Union[List[Union[Values9, Values10]], List[Value31], List[Union[Values11, Values12, Values13]]]
|
|
1971
1971
|
] = None
|
|
1972
1972
|
|
|
1973
1973
|
|
mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py
CHANGED
|
@@ -132,7 +132,7 @@ class ChemicalElements(Enum):
|
|
|
132
132
|
|
|
133
133
|
|
|
134
134
|
class TerminationSchema(BaseModel):
|
|
135
|
-
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?
|
|
135
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
136
136
|
..., title="Chemical Elements"
|
|
137
137
|
)
|
|
138
138
|
"""
|
|
@@ -132,7 +132,7 @@ class ChemicalElements(Enum):
|
|
|
132
132
|
|
|
133
133
|
|
|
134
134
|
class TerminationSchema(BaseModel):
|
|
135
|
-
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?
|
|
135
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
136
136
|
..., title="Chemical Elements"
|
|
137
137
|
)
|
|
138
138
|
"""
|
|
@@ -689,7 +689,7 @@ class ChemicalElements(Enum):
|
|
|
689
689
|
|
|
690
690
|
|
|
691
691
|
class TerminationSchema(BaseModel):
|
|
692
|
-
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?
|
|
692
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
693
693
|
..., title="Chemical Elements"
|
|
694
694
|
)
|
|
695
695
|
"""
|
|
@@ -689,7 +689,7 @@ class ChemicalElements(Enum):
|
|
|
689
689
|
|
|
690
690
|
|
|
691
691
|
class TerminationSchema(BaseModel):
|
|
692
|
-
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?
|
|
692
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
693
693
|
..., title="Chemical Elements"
|
|
694
694
|
)
|
|
695
695
|
"""
|
mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/configuration.py
CHANGED
|
@@ -695,7 +695,7 @@ class ChemicalElements(Enum):
|
|
|
695
695
|
|
|
696
696
|
|
|
697
697
|
class TerminationSchema(BaseModel):
|
|
698
|
-
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?
|
|
698
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
699
699
|
..., title="Chemical Elements"
|
|
700
700
|
)
|
|
701
701
|
"""
|
|
@@ -1150,7 +1150,7 @@ class SlabConfigurationSchema2(BaseModel):
|
|
|
1150
1150
|
|
|
1151
1151
|
|
|
1152
1152
|
class TerminationSchema2(BaseModel):
|
|
1153
|
-
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?
|
|
1153
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
1154
1154
|
..., title="Chemical Elements"
|
|
1155
1155
|
)
|
|
1156
1156
|
"""
|
|
@@ -689,7 +689,7 @@ class ChemicalElements(Enum):
|
|
|
689
689
|
|
|
690
690
|
|
|
691
691
|
class TerminationSchema(BaseModel):
|
|
692
|
-
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?
|
|
692
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
693
693
|
..., title="Chemical Elements"
|
|
694
694
|
)
|
|
695
695
|
"""
|
|
@@ -136,7 +136,7 @@ class ChemicalElements(Enum):
|
|
|
136
136
|
|
|
137
137
|
|
|
138
138
|
class TerminationSchema(BaseModel):
|
|
139
|
-
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?
|
|
139
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
140
140
|
..., title="Chemical Elements"
|
|
141
141
|
)
|
|
142
142
|
"""
|
|
@@ -269,13 +269,13 @@ class Value(Enum):
|
|
|
269
269
|
Og = "Og"
|
|
270
270
|
|
|
271
271
|
|
|
272
|
-
class
|
|
272
|
+
class Value33(Enum):
|
|
273
273
|
X = "X"
|
|
274
274
|
Vac = "Vac"
|
|
275
275
|
|
|
276
276
|
|
|
277
277
|
class AtomicElementSchema(BaseModel):
|
|
278
|
-
value: Union[Value,
|
|
278
|
+
value: Union[Value, Value33]
|
|
279
279
|
"""
|
|
280
280
|
All elements, including extra elements
|
|
281
281
|
"""
|
|
@@ -423,30 +423,30 @@ class VolumeSchema(BaseModel):
|
|
|
423
423
|
value: float
|
|
424
424
|
|
|
425
425
|
|
|
426
|
-
class
|
|
426
|
+
class Name133(Enum):
|
|
427
427
|
density = "density"
|
|
428
428
|
|
|
429
429
|
|
|
430
|
-
class
|
|
430
|
+
class Units72(Enum):
|
|
431
431
|
g_cm_3 = "g/cm^3"
|
|
432
432
|
|
|
433
433
|
|
|
434
434
|
class DensitySchema(BaseModel):
|
|
435
435
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
436
|
-
units: Optional[
|
|
436
|
+
units: Optional[Units72] = None
|
|
437
437
|
value: float
|
|
438
438
|
|
|
439
439
|
|
|
440
|
-
class
|
|
440
|
+
class Units73(Enum):
|
|
441
441
|
angstrom = "angstrom"
|
|
442
442
|
|
|
443
443
|
|
|
444
444
|
class ScalarSchema(BaseModel):
|
|
445
|
-
units: Optional[
|
|
445
|
+
units: Optional[Units73] = None
|
|
446
446
|
value: float
|
|
447
447
|
|
|
448
448
|
|
|
449
|
-
class
|
|
449
|
+
class Name134(Enum):
|
|
450
450
|
symmetry = "symmetry"
|
|
451
451
|
|
|
452
452
|
|
|
@@ -466,7 +466,7 @@ class SymmetrySchema(BaseModel):
|
|
|
466
466
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
467
467
|
|
|
468
468
|
|
|
469
|
-
class
|
|
469
|
+
class Name135(Enum):
|
|
470
470
|
elemental_ratio = "elemental_ratio"
|
|
471
471
|
|
|
472
472
|
|
|
@@ -479,7 +479,7 @@ class ElementalRatio(BaseModel):
|
|
|
479
479
|
"""
|
|
480
480
|
|
|
481
481
|
|
|
482
|
-
class
|
|
482
|
+
class Name136(Enum):
|
|
483
483
|
p_norm = "p-norm"
|
|
484
484
|
|
|
485
485
|
|
|
@@ -492,7 +492,7 @@ class PNorm(BaseModel):
|
|
|
492
492
|
value: float
|
|
493
493
|
|
|
494
494
|
|
|
495
|
-
class
|
|
495
|
+
class Name137(Enum):
|
|
496
496
|
inchi = "inchi"
|
|
497
497
|
|
|
498
498
|
|
|
@@ -501,7 +501,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
501
501
|
value: str
|
|
502
502
|
|
|
503
503
|
|
|
504
|
-
class
|
|
504
|
+
class Name138(Enum):
|
|
505
505
|
inchi_key = "inchi_key"
|
|
506
506
|
|
|
507
507
|
|
|
@@ -580,7 +580,7 @@ class FileSourceSchema(BaseModel):
|
|
|
580
580
|
"""
|
|
581
581
|
|
|
582
582
|
|
|
583
|
-
class
|
|
583
|
+
class Name139(Enum):
|
|
584
584
|
default = "default"
|
|
585
585
|
atomsTooClose = "atomsTooClose"
|
|
586
586
|
atomsOverlap = "atomsOverlap"
|
|
@@ -593,7 +593,7 @@ class Severity(Enum):
|
|
|
593
593
|
|
|
594
594
|
|
|
595
595
|
class MaterialConsistencyCheckSchema(BaseModel):
|
|
596
|
-
name:
|
|
596
|
+
name: Name139
|
|
597
597
|
"""
|
|
598
598
|
Name of the consistency check that is performed, which is listed in an enum.
|
|
599
599
|
"""
|
|
@@ -697,6 +697,415 @@ class AxisEnum(Enum):
|
|
|
697
697
|
z = "z"
|
|
698
698
|
|
|
699
699
|
|
|
700
|
+
class Value34(Enum):
|
|
701
|
+
H = "H"
|
|
702
|
+
He = "He"
|
|
703
|
+
Li = "Li"
|
|
704
|
+
Be = "Be"
|
|
705
|
+
B = "B"
|
|
706
|
+
C = "C"
|
|
707
|
+
N = "N"
|
|
708
|
+
O = "O"
|
|
709
|
+
F = "F"
|
|
710
|
+
Ne = "Ne"
|
|
711
|
+
Na = "Na"
|
|
712
|
+
Mg = "Mg"
|
|
713
|
+
Al = "Al"
|
|
714
|
+
Si = "Si"
|
|
715
|
+
P = "P"
|
|
716
|
+
S = "S"
|
|
717
|
+
Cl = "Cl"
|
|
718
|
+
Ar = "Ar"
|
|
719
|
+
K = "K"
|
|
720
|
+
Ca = "Ca"
|
|
721
|
+
Sc = "Sc"
|
|
722
|
+
Ti = "Ti"
|
|
723
|
+
V = "V"
|
|
724
|
+
Cr = "Cr"
|
|
725
|
+
Mn = "Mn"
|
|
726
|
+
Fe = "Fe"
|
|
727
|
+
Co = "Co"
|
|
728
|
+
Ni = "Ni"
|
|
729
|
+
Cu = "Cu"
|
|
730
|
+
Zn = "Zn"
|
|
731
|
+
Ga = "Ga"
|
|
732
|
+
Ge = "Ge"
|
|
733
|
+
As = "As"
|
|
734
|
+
Se = "Se"
|
|
735
|
+
Br = "Br"
|
|
736
|
+
Kr = "Kr"
|
|
737
|
+
Rb = "Rb"
|
|
738
|
+
Sr = "Sr"
|
|
739
|
+
Y = "Y"
|
|
740
|
+
Zr = "Zr"
|
|
741
|
+
Nb = "Nb"
|
|
742
|
+
Mo = "Mo"
|
|
743
|
+
Tc = "Tc"
|
|
744
|
+
Ru = "Ru"
|
|
745
|
+
Rh = "Rh"
|
|
746
|
+
Pd = "Pd"
|
|
747
|
+
Ag = "Ag"
|
|
748
|
+
Cd = "Cd"
|
|
749
|
+
In = "In"
|
|
750
|
+
Sn = "Sn"
|
|
751
|
+
Sb = "Sb"
|
|
752
|
+
Te = "Te"
|
|
753
|
+
I = "I"
|
|
754
|
+
Xe = "Xe"
|
|
755
|
+
Cs = "Cs"
|
|
756
|
+
Ba = "Ba"
|
|
757
|
+
La = "La"
|
|
758
|
+
Ce = "Ce"
|
|
759
|
+
Pr = "Pr"
|
|
760
|
+
Nd = "Nd"
|
|
761
|
+
Pm = "Pm"
|
|
762
|
+
Sm = "Sm"
|
|
763
|
+
Eu = "Eu"
|
|
764
|
+
Gd = "Gd"
|
|
765
|
+
Tb = "Tb"
|
|
766
|
+
Dy = "Dy"
|
|
767
|
+
Ho = "Ho"
|
|
768
|
+
Er = "Er"
|
|
769
|
+
Tm = "Tm"
|
|
770
|
+
Yb = "Yb"
|
|
771
|
+
Lu = "Lu"
|
|
772
|
+
Hf = "Hf"
|
|
773
|
+
Ta = "Ta"
|
|
774
|
+
W = "W"
|
|
775
|
+
Re = "Re"
|
|
776
|
+
Os = "Os"
|
|
777
|
+
Ir = "Ir"
|
|
778
|
+
Pt = "Pt"
|
|
779
|
+
Au = "Au"
|
|
780
|
+
Hg = "Hg"
|
|
781
|
+
Tl = "Tl"
|
|
782
|
+
Pb = "Pb"
|
|
783
|
+
Bi = "Bi"
|
|
784
|
+
Po = "Po"
|
|
785
|
+
At = "At"
|
|
786
|
+
Rn = "Rn"
|
|
787
|
+
Fr = "Fr"
|
|
788
|
+
Ra = "Ra"
|
|
789
|
+
Ac = "Ac"
|
|
790
|
+
Th = "Th"
|
|
791
|
+
Pa = "Pa"
|
|
792
|
+
U = "U"
|
|
793
|
+
Np = "Np"
|
|
794
|
+
Pu = "Pu"
|
|
795
|
+
Am = "Am"
|
|
796
|
+
Cm = "Cm"
|
|
797
|
+
Bk = "Bk"
|
|
798
|
+
Cf = "Cf"
|
|
799
|
+
Es = "Es"
|
|
800
|
+
Fm = "Fm"
|
|
801
|
+
Md = "Md"
|
|
802
|
+
No = "No"
|
|
803
|
+
Lr = "Lr"
|
|
804
|
+
Rf = "Rf"
|
|
805
|
+
Db = "Db"
|
|
806
|
+
Sg = "Sg"
|
|
807
|
+
Bh = "Bh"
|
|
808
|
+
Hs = "Hs"
|
|
809
|
+
Mt = "Mt"
|
|
810
|
+
Ds = "Ds"
|
|
811
|
+
Rg = "Rg"
|
|
812
|
+
Cn = "Cn"
|
|
813
|
+
Nh = "Nh"
|
|
814
|
+
Fl = "Fl"
|
|
815
|
+
Mc = "Mc"
|
|
816
|
+
Lv = "Lv"
|
|
817
|
+
Ts = "Ts"
|
|
818
|
+
Og = "Og"
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
class Value35(Enum):
|
|
822
|
+
X = "X"
|
|
823
|
+
Vac = "Vac"
|
|
824
|
+
|
|
825
|
+
|
|
826
|
+
class AtomicElementSchema13(BaseModel):
|
|
827
|
+
value: Union[Value34, Value35]
|
|
828
|
+
"""
|
|
829
|
+
All elements, including extra elements
|
|
830
|
+
"""
|
|
831
|
+
id: int
|
|
832
|
+
"""
|
|
833
|
+
integer id of this entry
|
|
834
|
+
"""
|
|
835
|
+
|
|
836
|
+
|
|
837
|
+
class BasisSchema11(BaseModel):
|
|
838
|
+
elements: List[AtomicElementSchema13] = Field(..., title="atomic elements schema")
|
|
839
|
+
"""
|
|
840
|
+
atomic elements schema
|
|
841
|
+
"""
|
|
842
|
+
coordinates: List[AtomicCoordinateSchema] = Field(..., title="atomic coordinates schema")
|
|
843
|
+
"""
|
|
844
|
+
atomic coordinates schema
|
|
845
|
+
"""
|
|
846
|
+
units: Optional[BasisUnitsEnum] = Field("crystal", title="basis units enum")
|
|
847
|
+
labels: Optional[List[AtomicLabelSchema]] = Field(None, title="atomic labels schema")
|
|
848
|
+
"""
|
|
849
|
+
atomic labels schema
|
|
850
|
+
"""
|
|
851
|
+
|
|
852
|
+
|
|
853
|
+
class LatticeVectorsSchema11(BaseModel):
|
|
854
|
+
a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
855
|
+
b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
856
|
+
c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
857
|
+
alat: Optional[float] = 1
|
|
858
|
+
"""
|
|
859
|
+
lattice parameter for fractional coordinates
|
|
860
|
+
"""
|
|
861
|
+
units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
|
|
862
|
+
|
|
863
|
+
|
|
864
|
+
class LatticeUnitsSchema12(BaseModel):
|
|
865
|
+
length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
|
|
866
|
+
angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
|
|
867
|
+
|
|
868
|
+
|
|
869
|
+
class LatticeSchema11(BaseModel):
|
|
870
|
+
a: float
|
|
871
|
+
"""
|
|
872
|
+
length of the first lattice vector
|
|
873
|
+
"""
|
|
874
|
+
b: float
|
|
875
|
+
"""
|
|
876
|
+
length of the second lattice vector
|
|
877
|
+
"""
|
|
878
|
+
c: float
|
|
879
|
+
"""
|
|
880
|
+
length of the third lattice vector
|
|
881
|
+
"""
|
|
882
|
+
alpha: float
|
|
883
|
+
"""
|
|
884
|
+
angle between first and second lattice vector
|
|
885
|
+
"""
|
|
886
|
+
beta: float
|
|
887
|
+
"""
|
|
888
|
+
angle between second and third lattice vector
|
|
889
|
+
"""
|
|
890
|
+
gamma: float
|
|
891
|
+
"""
|
|
892
|
+
angle between first and third lattice vector
|
|
893
|
+
"""
|
|
894
|
+
vectors: Optional[LatticeVectorsSchema11] = Field(None, title="lattice vectors schema")
|
|
895
|
+
type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
|
|
896
|
+
units: Optional[LatticeUnitsSchema12] = Field(
|
|
897
|
+
default_factory=lambda: LatticeUnitsSchema12.model_validate({"length": "angstrom", "angle": "degree"}),
|
|
898
|
+
title="Lattice units schema",
|
|
899
|
+
)
|
|
900
|
+
|
|
901
|
+
|
|
902
|
+
class Name140(Enum):
|
|
903
|
+
volume = "volume"
|
|
904
|
+
|
|
905
|
+
|
|
906
|
+
class Units74(Enum):
|
|
907
|
+
angstrom_3 = "angstrom^3"
|
|
908
|
+
|
|
909
|
+
|
|
910
|
+
class VolumeSchema11(BaseModel):
|
|
911
|
+
name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
|
|
912
|
+
units: Optional[Units74] = None
|
|
913
|
+
value: float
|
|
914
|
+
|
|
915
|
+
|
|
916
|
+
class Name141(Enum):
|
|
917
|
+
density = "density"
|
|
918
|
+
|
|
919
|
+
|
|
920
|
+
class Units75(Enum):
|
|
921
|
+
g_cm_3 = "g/cm^3"
|
|
922
|
+
|
|
923
|
+
|
|
924
|
+
class DensitySchema12(BaseModel):
|
|
925
|
+
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
926
|
+
units: Optional[Units75] = None
|
|
927
|
+
value: float
|
|
928
|
+
|
|
929
|
+
|
|
930
|
+
class Units76(Enum):
|
|
931
|
+
angstrom = "angstrom"
|
|
932
|
+
|
|
933
|
+
|
|
934
|
+
class ScalarSchema13(BaseModel):
|
|
935
|
+
units: Optional[Units76] = None
|
|
936
|
+
value: float
|
|
937
|
+
|
|
938
|
+
|
|
939
|
+
class Name142(Enum):
|
|
940
|
+
symmetry = "symmetry"
|
|
941
|
+
|
|
942
|
+
|
|
943
|
+
class SymmetrySchema11(BaseModel):
|
|
944
|
+
pointGroupSymbol: Optional[str] = None
|
|
945
|
+
"""
|
|
946
|
+
point group symbol in Schoenflies notation
|
|
947
|
+
"""
|
|
948
|
+
spaceGroupSymbol: Optional[str] = None
|
|
949
|
+
"""
|
|
950
|
+
space group symbol in Hermann–Mauguin notation
|
|
951
|
+
"""
|
|
952
|
+
tolerance: Optional[ScalarSchema13] = Field(None, title="scalar schema")
|
|
953
|
+
"""
|
|
954
|
+
tolerance used for symmetry calculation
|
|
955
|
+
"""
|
|
956
|
+
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
957
|
+
|
|
958
|
+
|
|
959
|
+
class Name143(Enum):
|
|
960
|
+
elemental_ratio = "elemental_ratio"
|
|
961
|
+
|
|
962
|
+
|
|
963
|
+
class ElementalRatio12(BaseModel):
|
|
964
|
+
name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
|
|
965
|
+
value: confloat(ge=0.0, le=1.0)
|
|
966
|
+
element: Optional[str] = None
|
|
967
|
+
"""
|
|
968
|
+
the element this ratio is for
|
|
969
|
+
"""
|
|
970
|
+
|
|
971
|
+
|
|
972
|
+
class Name144(Enum):
|
|
973
|
+
p_norm = "p-norm"
|
|
974
|
+
|
|
975
|
+
|
|
976
|
+
class PNorm12(BaseModel):
|
|
977
|
+
name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
|
|
978
|
+
degree: Optional[int] = None
|
|
979
|
+
"""
|
|
980
|
+
degree of the dimensionality of the norm
|
|
981
|
+
"""
|
|
982
|
+
value: float
|
|
983
|
+
|
|
984
|
+
|
|
985
|
+
class Name145(Enum):
|
|
986
|
+
inchi = "inchi"
|
|
987
|
+
|
|
988
|
+
|
|
989
|
+
class InChIRepresentationSchema12(BaseModel):
|
|
990
|
+
name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
|
|
991
|
+
value: str
|
|
992
|
+
|
|
993
|
+
|
|
994
|
+
class Name146(Enum):
|
|
995
|
+
inchi_key = "inchi_key"
|
|
996
|
+
|
|
997
|
+
|
|
998
|
+
class InChIKeyRepresentationSchema12(BaseModel):
|
|
999
|
+
name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
|
|
1000
|
+
value: str
|
|
1001
|
+
|
|
1002
|
+
|
|
1003
|
+
class DerivedPropertiesSchema12(
|
|
1004
|
+
RootModel[
|
|
1005
|
+
Union[
|
|
1006
|
+
VolumeSchema11,
|
|
1007
|
+
DensitySchema12,
|
|
1008
|
+
SymmetrySchema11,
|
|
1009
|
+
ElementalRatio12,
|
|
1010
|
+
PNorm12,
|
|
1011
|
+
InChIRepresentationSchema12,
|
|
1012
|
+
InChIKeyRepresentationSchema12,
|
|
1013
|
+
]
|
|
1014
|
+
]
|
|
1015
|
+
):
|
|
1016
|
+
root: Union[
|
|
1017
|
+
VolumeSchema11,
|
|
1018
|
+
DensitySchema12,
|
|
1019
|
+
SymmetrySchema11,
|
|
1020
|
+
ElementalRatio12,
|
|
1021
|
+
PNorm12,
|
|
1022
|
+
InChIRepresentationSchema12,
|
|
1023
|
+
InChIKeyRepresentationSchema12,
|
|
1024
|
+
] = Field(..., discriminator="name")
|
|
1025
|
+
|
|
1026
|
+
|
|
1027
|
+
class Name147(Enum):
|
|
1028
|
+
default = "default"
|
|
1029
|
+
atomsTooClose = "atomsTooClose"
|
|
1030
|
+
atomsOverlap = "atomsOverlap"
|
|
1031
|
+
|
|
1032
|
+
|
|
1033
|
+
class MaterialConsistencyCheckSchema11(BaseModel):
|
|
1034
|
+
name: Name147
|
|
1035
|
+
"""
|
|
1036
|
+
Name of the consistency check that is performed, which is listed in an enum.
|
|
1037
|
+
"""
|
|
1038
|
+
key: str
|
|
1039
|
+
"""
|
|
1040
|
+
Key of the property of the entity on which the consistency check is performed in Mongo dot notation, e.g. 'basis.coordinates.1'
|
|
1041
|
+
"""
|
|
1042
|
+
severity: Severity
|
|
1043
|
+
"""
|
|
1044
|
+
Severity level of the problem, which is used in UI to differentiate.
|
|
1045
|
+
"""
|
|
1046
|
+
message: str
|
|
1047
|
+
"""
|
|
1048
|
+
Message generated by the consistency check describing the problem.
|
|
1049
|
+
"""
|
|
1050
|
+
|
|
1051
|
+
|
|
1052
|
+
class CrystalSchema8(BaseModel):
|
|
1053
|
+
formula: Optional[str] = None
|
|
1054
|
+
"""
|
|
1055
|
+
reduced chemical formula
|
|
1056
|
+
"""
|
|
1057
|
+
unitCellFormula: Optional[str] = None
|
|
1058
|
+
"""
|
|
1059
|
+
chemical formula based on the number of atoms of each element in the supercell
|
|
1060
|
+
"""
|
|
1061
|
+
basis: BasisSchema11 = Field(..., title="basis schema")
|
|
1062
|
+
lattice: LatticeSchema11 = Field(..., title="lattice schema")
|
|
1063
|
+
derivedProperties: Optional[List[DerivedPropertiesSchema12]] = Field(None, title="derived properties schema")
|
|
1064
|
+
external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
|
|
1065
|
+
"""
|
|
1066
|
+
information about a database source
|
|
1067
|
+
"""
|
|
1068
|
+
src: Optional[FileSourceSchema] = Field(None, title="file source schema")
|
|
1069
|
+
"""
|
|
1070
|
+
file source with the information inside
|
|
1071
|
+
"""
|
|
1072
|
+
scaledHash: Optional[str] = None
|
|
1073
|
+
"""
|
|
1074
|
+
Hash string for a scaled structure with lattice vector a set to 1 (eg. for materials under pressure).
|
|
1075
|
+
"""
|
|
1076
|
+
icsdId: Optional[int] = None
|
|
1077
|
+
"""
|
|
1078
|
+
Corresponding ICSD id of the material
|
|
1079
|
+
"""
|
|
1080
|
+
isNonPeriodic: Optional[bool] = None
|
|
1081
|
+
"""
|
|
1082
|
+
Whether to work in the finite molecular picture (usually with atomic orbital basis)
|
|
1083
|
+
"""
|
|
1084
|
+
consistencyChecks: Optional[List[MaterialConsistencyCheckSchema11]] = None
|
|
1085
|
+
field_id: Optional[str] = Field(None, alias="_id")
|
|
1086
|
+
"""
|
|
1087
|
+
entity identity
|
|
1088
|
+
"""
|
|
1089
|
+
slug: Optional[str] = None
|
|
1090
|
+
"""
|
|
1091
|
+
entity slug
|
|
1092
|
+
"""
|
|
1093
|
+
systemName: Optional[str] = None
|
|
1094
|
+
schemaVersion: Optional[str] = "2022.8.16"
|
|
1095
|
+
"""
|
|
1096
|
+
entity's schema version. Used to distinct between different schemas.
|
|
1097
|
+
"""
|
|
1098
|
+
name: Optional[str] = None
|
|
1099
|
+
"""
|
|
1100
|
+
entity name
|
|
1101
|
+
"""
|
|
1102
|
+
isDefault: Optional[bool] = False
|
|
1103
|
+
"""
|
|
1104
|
+
Identifies that entity is defaultable
|
|
1105
|
+
"""
|
|
1106
|
+
metadata: Optional[Dict[str, Any]] = None
|
|
1107
|
+
|
|
1108
|
+
|
|
700
1109
|
class VacuumConfigurationSchema(BaseModel):
|
|
701
1110
|
direction: AxisEnum = Field(..., title="Axis Enum")
|
|
702
1111
|
"""
|
|
@@ -706,6 +1115,10 @@ class VacuumConfigurationSchema(BaseModel):
|
|
|
706
1115
|
"""
|
|
707
1116
|
Size of the vacuum slab in angstroms
|
|
708
1117
|
"""
|
|
1118
|
+
crystal: CrystalSchema8 = Field(..., title="Crystal Schema")
|
|
1119
|
+
"""
|
|
1120
|
+
A crystal structure, referencing the base material schema
|
|
1121
|
+
"""
|
|
709
1122
|
|
|
710
1123
|
|
|
711
1124
|
class SlabConfigurationSchema(BaseModel):
|
mat3ra/esse/models/materials_category_components/entities/auxiliary/two_dimensional/termination.py
CHANGED
|
@@ -132,7 +132,7 @@ class ChemicalElements(Enum):
|
|
|
132
132
|
|
|
133
133
|
|
|
134
134
|
class TerminationSchema(BaseModel):
|
|
135
|
-
chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?
|
|
135
|
+
chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
|
|
136
136
|
..., title="Chemical Elements"
|
|
137
137
|
)
|
|
138
138
|
"""
|