mat3ra-esse 2025.7.29.post0__py3-none-any.whl → 2025.8.6.post0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of mat3ra-esse might be problematic. Click here for more details.

Files changed (60) hide show
  1. mat3ra/esse/data/examples.py +1 -1
  2. mat3ra/esse/data/schemas.py +1 -1
  3. mat3ra/esse/models/apse/file/applications/espresso/7.2/pw_x.py +6 -6
  4. mat3ra/esse/models/core/reusable/energy.py +2 -2
  5. mat3ra/esse/models/element.py +6 -6
  6. mat3ra/esse/models/material/__init__.py +14 -14
  7. mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py +549 -2319
  8. mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py +537 -2307
  9. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/configuration.py +206 -190
  10. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py +56 -1826
  11. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/configuration.py +331 -311
  12. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/configuration.py +331 -311
  13. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py +72 -72
  14. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py +72 -72
  15. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py +14 -14
  16. mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/ideal_crystal.py +14 -14
  17. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanoribbon.py +150 -134
  18. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanotape.py +86 -74
  19. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +84 -72
  20. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py +84 -72
  21. mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/configuration.py +70 -70
  22. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py +14 -14
  23. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py +14 -14
  24. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py +14 -14
  25. mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/crystal.py +14 -14
  26. mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +14 -14
  27. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py +14 -14
  28. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py +16 -16
  29. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py +14 -14
  30. mat3ra/esse/models/materials_category_components/entities/reusable/{repetitions.py → three_dimensional/repetitions.py} +1 -1
  31. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +14 -14
  32. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py +14 -14
  33. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py +14 -14
  34. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py +14 -14
  35. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py +148 -132
  36. mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +14 -2
  37. mat3ra/esse/models/materials_category_components/operations/core/modifications/perturb.py +14 -14
  38. mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
  39. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
  40. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
  41. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
  42. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
  43. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
  44. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
  45. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
  46. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
  47. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
  48. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
  49. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
  50. mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
  51. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
  52. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
  53. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
  54. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
  55. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/METADATA +1 -1
  56. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/RECORD +59 -60
  57. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py +0 -1151
  58. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/WHEEL +0 -0
  59. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/licenses/LICENSE.md +0 -0
  60. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/top_level.txt +0 -0
@@ -265,13 +265,13 @@ class Value(Enum):
265
265
  Og = "Og"
266
266
 
267
267
 
268
- class Value55(Enum):
268
+ class Value47(Enum):
269
269
  X = "X"
270
270
  Vac = "Vac"
271
271
 
272
272
 
273
273
  class AtomicElementSchema(BaseModel):
274
- value: Union[Value, Value55]
274
+ value: Union[Value, Value47]
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 Name192(Enum):
422
+ class Name160(Enum):
423
423
  density = "density"
424
424
 
425
425
 
426
- class Units79(Enum):
426
+ class Units67(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[Units79] = None
432
+ units: Optional[Units67] = None
433
433
  value: float
434
434
 
435
435
 
436
- class Units80(Enum):
436
+ class Units68(Enum):
437
437
  angstrom = "angstrom"
438
438
 
439
439
 
440
440
  class ScalarSchema(BaseModel):
441
- units: Optional[Units80] = None
441
+ units: Optional[Units68] = None
442
442
  value: float
443
443
 
444
444
 
445
- class Name193(Enum):
445
+ class Name161(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 Name194(Enum):
465
+ class Name162(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 Name195(Enum):
478
+ class Name163(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 Name196(Enum):
491
+ class Name164(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 Name197(Enum):
500
+ class Name165(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 Name198(Enum):
579
+ class Name166(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: Name198
592
+ name: Name166
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 Value56(Enum):
696
+ class Value48(Enum):
697
697
  H = "H"
698
698
  He = "He"
699
699
  Li = "Li"
@@ -814,13 +814,13 @@ class Value56(Enum):
814
814
  Og = "Og"
815
815
 
816
816
 
817
- class Value57(Enum):
817
+ class Value49(Enum):
818
818
  X = "X"
819
819
  Vac = "Vac"
820
820
 
821
821
 
822
- class AtomicElementSchema27(BaseModel):
823
- value: Union[Value56, Value57]
822
+ class AtomicElementSchema23(BaseModel):
823
+ value: Union[Value48, Value49]
824
824
  """
825
825
  All elements, including extra elements
826
826
  """
@@ -830,8 +830,8 @@ class AtomicElementSchema27(BaseModel):
830
830
  """
831
831
 
832
832
 
833
- class BasisSchema25(BaseModel):
834
- elements: List[AtomicElementSchema27] = Field(..., title="atomic elements schema")
833
+ class BasisSchema21(BaseModel):
834
+ elements: List[AtomicElementSchema23] = Field(..., title="atomic elements schema")
835
835
  """
836
836
  atomic elements schema
837
837
  """
@@ -846,7 +846,7 @@ class BasisSchema25(BaseModel):
846
846
  """
847
847
 
848
848
 
849
- class LatticeVectorsSchema24(BaseModel):
849
+ class LatticeVectorsSchema20(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 LatticeVectorsSchema24(BaseModel):
857
857
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
858
858
 
859
859
 
860
- class LatticeUnitsSchema24(BaseModel):
860
+ class LatticeUnitsSchema20(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 LatticeSchema24(BaseModel):
865
+ class LatticeSchema20(BaseModel):
866
866
  a: float
867
867
  """
868
868
  length of the first lattice vector
@@ -887,56 +887,56 @@ class LatticeSchema24(BaseModel):
887
887
  """
888
888
  angle between first and third lattice vector
889
889
  """
890
- vectors: Optional[LatticeVectorsSchema24] = Field(None, title="lattice vectors schema")
890
+ vectors: Optional[LatticeVectorsSchema20] = Field(None, title="lattice vectors schema")
891
891
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
892
- units: Optional[LatticeUnitsSchema24] = Field(
893
- default_factory=lambda: LatticeUnitsSchema24.model_validate({"length": "angstrom", "angle": "degree"}),
892
+ units: Optional[LatticeUnitsSchema20] = Field(
893
+ default_factory=lambda: LatticeUnitsSchema20.model_validate({"length": "angstrom", "angle": "degree"}),
894
894
  title="Lattice units schema",
895
895
  )
896
896
 
897
897
 
898
- class Name199(Enum):
898
+ class Name167(Enum):
899
899
  volume = "volume"
900
900
 
901
901
 
902
- class Units81(Enum):
902
+ class Units69(Enum):
903
903
  angstrom_3 = "angstrom^3"
904
904
 
905
905
 
906
- class VolumeSchema24(BaseModel):
906
+ class VolumeSchema20(BaseModel):
907
907
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
908
- units: Optional[Units81] = None
908
+ units: Optional[Units69] = None
909
909
  value: float
910
910
 
911
911
 
912
- class Name200(Enum):
912
+ class Name168(Enum):
913
913
  density = "density"
914
914
 
915
915
 
916
- class Units82(Enum):
916
+ class Units70(Enum):
917
917
  g_cm_3 = "g/cm^3"
918
918
 
919
919
 
920
- class DensitySchema24(BaseModel):
920
+ class DensitySchema20(BaseModel):
921
921
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
922
- units: Optional[Units82] = None
922
+ units: Optional[Units70] = None
923
923
  value: float
924
924
 
925
925
 
926
- class Units83(Enum):
926
+ class Units71(Enum):
927
927
  angstrom = "angstrom"
928
928
 
929
929
 
930
- class ScalarSchema25(BaseModel):
931
- units: Optional[Units83] = None
930
+ class ScalarSchema21(BaseModel):
931
+ units: Optional[Units71] = None
932
932
  value: float
933
933
 
934
934
 
935
- class Name201(Enum):
935
+ class Name169(Enum):
936
936
  symmetry = "symmetry"
937
937
 
938
938
 
939
- class SymmetrySchema24(BaseModel):
939
+ class SymmetrySchema20(BaseModel):
940
940
  pointGroupSymbol: Optional[str] = None
941
941
  """
942
942
  point group symbol in Schoenflies notation
@@ -945,18 +945,18 @@ class SymmetrySchema24(BaseModel):
945
945
  """
946
946
  space group symbol in Hermann–Mauguin notation
947
947
  """
948
- tolerance: Optional[ScalarSchema25] = Field(None, title="scalar schema")
948
+ tolerance: Optional[ScalarSchema21] = 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 Name202(Enum):
955
+ class Name170(Enum):
956
956
  elemental_ratio = "elemental_ratio"
957
957
 
958
958
 
959
- class ElementalRatio24(BaseModel):
959
+ class ElementalRatio20(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 ElementalRatio24(BaseModel):
965
965
  """
966
966
 
967
967
 
968
- class Name203(Enum):
968
+ class Name171(Enum):
969
969
  p_norm = "p-norm"
970
970
 
971
971
 
972
- class PNorm24(BaseModel):
972
+ class PNorm20(BaseModel):
973
973
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
974
974
  degree: Optional[int] = None
975
975
  """
@@ -978,56 +978,56 @@ class PNorm24(BaseModel):
978
978
  value: float
979
979
 
980
980
 
981
- class Name204(Enum):
981
+ class Name172(Enum):
982
982
  inchi = "inchi"
983
983
 
984
984
 
985
- class InChIRepresentationSchema24(BaseModel):
985
+ class InChIRepresentationSchema20(BaseModel):
986
986
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
987
987
  value: str
988
988
 
989
989
 
990
- class Name205(Enum):
990
+ class Name173(Enum):
991
991
  inchi_key = "inchi_key"
992
992
 
993
993
 
994
- class InChIKeyRepresentationSchema24(BaseModel):
994
+ class InChIKeyRepresentationSchema20(BaseModel):
995
995
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
996
996
  value: str
997
997
 
998
998
 
999
- class DerivedPropertiesSchema24(
999
+ class DerivedPropertiesSchema20(
1000
1000
  RootModel[
1001
1001
  Union[
1002
- VolumeSchema24,
1003
- DensitySchema24,
1004
- SymmetrySchema24,
1005
- ElementalRatio24,
1006
- PNorm24,
1007
- InChIRepresentationSchema24,
1008
- InChIKeyRepresentationSchema24,
1002
+ VolumeSchema20,
1003
+ DensitySchema20,
1004
+ SymmetrySchema20,
1005
+ ElementalRatio20,
1006
+ PNorm20,
1007
+ InChIRepresentationSchema20,
1008
+ InChIKeyRepresentationSchema20,
1009
1009
  ]
1010
1010
  ]
1011
1011
  ):
1012
1012
  root: Union[
1013
- VolumeSchema24,
1014
- DensitySchema24,
1015
- SymmetrySchema24,
1016
- ElementalRatio24,
1017
- PNorm24,
1018
- InChIRepresentationSchema24,
1019
- InChIKeyRepresentationSchema24,
1013
+ VolumeSchema20,
1014
+ DensitySchema20,
1015
+ SymmetrySchema20,
1016
+ ElementalRatio20,
1017
+ PNorm20,
1018
+ InChIRepresentationSchema20,
1019
+ InChIKeyRepresentationSchema20,
1020
1020
  ] = Field(..., discriminator="name")
1021
1021
 
1022
1022
 
1023
- class Name206(Enum):
1023
+ class Name174(Enum):
1024
1024
  default = "default"
1025
1025
  atomsTooClose = "atomsTooClose"
1026
1026
  atomsOverlap = "atomsOverlap"
1027
1027
 
1028
1028
 
1029
- class MaterialConsistencyCheckSchema24(BaseModel):
1030
- name: Name206
1029
+ class MaterialConsistencyCheckSchema20(BaseModel):
1030
+ name: Name174
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 MaterialConsistencyCheckSchema24(BaseModel):
1045
1045
  """
1046
1046
 
1047
1047
 
1048
- class CrystalSchema24(BaseModel):
1048
+ class CrystalSchema20(BaseModel):
1049
1049
  formula: Optional[str] = None
1050
1050
  """
1051
1051
  reduced chemical formula
@@ -1054,9 +1054,9 @@ class CrystalSchema24(BaseModel):
1054
1054
  """
1055
1055
  chemical formula based on the number of atoms of each element in the supercell
1056
1056
  """
1057
- basis: BasisSchema25 = Field(..., title="basis schema")
1058
- lattice: LatticeSchema24 = Field(..., title="lattice schema")
1059
- derivedProperties: Optional[List[DerivedPropertiesSchema24]] = Field(None, title="derived properties schema")
1057
+ basis: BasisSchema21 = Field(..., title="basis schema")
1058
+ lattice: LatticeSchema20 = Field(..., title="lattice schema")
1059
+ derivedProperties: Optional[List[DerivedPropertiesSchema20]] = 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 CrystalSchema24(BaseModel):
1077
1077
  """
1078
1078
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1079
1079
  """
1080
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema24]] = None
1080
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema20]] = 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: CrystalSchema24 = Field(..., title="Crystal Schema")
1114
+ crystal: CrystalSchema20 = Field(..., title="Crystal Schema")
1115
1115
  """
1116
1116
  A crystal structure, referencing the base material schema
1117
1117
  """
1118
1118
 
1119
1119
 
1120
+ class ObjectWithId(BaseModel):
1121
+ value: Optional[confloat(ge=0.0)] = None
1122
+ id: int
1123
+ """
1124
+ integer id of this entry
1125
+ """
1126
+
1127
+
1120
1128
  class SlabConfigurationSchema(BaseModel):
1121
1129
  stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field(
1122
1130
  ..., max_length=2, min_length=2
@@ -1125,9 +1133,13 @@ class SlabConfigurationSchema(BaseModel):
1125
1133
  """
1126
1134
  Enum for axis types
1127
1135
  """
1136
+ gaps: Optional[List[ObjectWithId]] = None
1137
+ """
1138
+ Gap distances between stack components as an array of objects with id and value
1139
+ """
1128
1140
 
1129
1141
 
1130
- class Value58(Enum):
1142
+ class Value50(Enum):
1131
1143
  H = "H"
1132
1144
  He = "He"
1133
1145
  Li = "Li"
@@ -1248,13 +1260,13 @@ class Value58(Enum):
1248
1260
  Og = "Og"
1249
1261
 
1250
1262
 
1251
- class Value59(Enum):
1263
+ class Value51(Enum):
1252
1264
  X = "X"
1253
1265
  Vac = "Vac"
1254
1266
 
1255
1267
 
1256
- class AtomicElementSchema28(BaseModel):
1257
- value: Union[Value58, Value59]
1268
+ class AtomicElementSchema24(BaseModel):
1269
+ value: Union[Value50, Value51]
1258
1270
  """
1259
1271
  All elements, including extra elements
1260
1272
  """
@@ -1264,8 +1276,8 @@ class AtomicElementSchema28(BaseModel):
1264
1276
  """
1265
1277
 
1266
1278
 
1267
- class BasisSchema26(BaseModel):
1268
- elements: List[AtomicElementSchema28] = Field(..., title="atomic elements schema")
1279
+ class BasisSchema22(BaseModel):
1280
+ elements: List[AtomicElementSchema24] = Field(..., title="atomic elements schema")
1269
1281
  """
1270
1282
  atomic elements schema
1271
1283
  """
@@ -1280,7 +1292,7 @@ class BasisSchema26(BaseModel):
1280
1292
  """
1281
1293
 
1282
1294
 
1283
- class LatticeVectorsSchema25(BaseModel):
1295
+ class LatticeVectorsSchema21(BaseModel):
1284
1296
  a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1285
1297
  b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1286
1298
  c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
@@ -1291,12 +1303,12 @@ class LatticeVectorsSchema25(BaseModel):
1291
1303
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
1292
1304
 
1293
1305
 
1294
- class LatticeUnitsSchema25(BaseModel):
1306
+ class LatticeUnitsSchema21(BaseModel):
1295
1307
  length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
1296
1308
  angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
1297
1309
 
1298
1310
 
1299
- class LatticeSchema25(BaseModel):
1311
+ class LatticeSchema21(BaseModel):
1300
1312
  a: float
1301
1313
  """
1302
1314
  length of the first lattice vector
@@ -1321,56 +1333,56 @@ class LatticeSchema25(BaseModel):
1321
1333
  """
1322
1334
  angle between first and third lattice vector
1323
1335
  """
1324
- vectors: Optional[LatticeVectorsSchema25] = Field(None, title="lattice vectors schema")
1336
+ vectors: Optional[LatticeVectorsSchema21] = Field(None, title="lattice vectors schema")
1325
1337
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
1326
- units: Optional[LatticeUnitsSchema25] = Field(
1327
- default_factory=lambda: LatticeUnitsSchema25.model_validate({"length": "angstrom", "angle": "degree"}),
1338
+ units: Optional[LatticeUnitsSchema21] = Field(
1339
+ default_factory=lambda: LatticeUnitsSchema21.model_validate({"length": "angstrom", "angle": "degree"}),
1328
1340
  title="Lattice units schema",
1329
1341
  )
1330
1342
 
1331
1343
 
1332
- class Name207(Enum):
1344
+ class Name175(Enum):
1333
1345
  volume = "volume"
1334
1346
 
1335
1347
 
1336
- class Units84(Enum):
1348
+ class Units72(Enum):
1337
1349
  angstrom_3 = "angstrom^3"
1338
1350
 
1339
1351
 
1340
- class VolumeSchema25(BaseModel):
1352
+ class VolumeSchema21(BaseModel):
1341
1353
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
1342
- units: Optional[Units84] = None
1354
+ units: Optional[Units72] = None
1343
1355
  value: float
1344
1356
 
1345
1357
 
1346
- class Name208(Enum):
1358
+ class Name176(Enum):
1347
1359
  density = "density"
1348
1360
 
1349
1361
 
1350
- class Units85(Enum):
1362
+ class Units73(Enum):
1351
1363
  g_cm_3 = "g/cm^3"
1352
1364
 
1353
1365
 
1354
- class DensitySchema25(BaseModel):
1366
+ class DensitySchema21(BaseModel):
1355
1367
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
1356
- units: Optional[Units85] = None
1368
+ units: Optional[Units73] = None
1357
1369
  value: float
1358
1370
 
1359
1371
 
1360
- class Units86(Enum):
1372
+ class Units74(Enum):
1361
1373
  angstrom = "angstrom"
1362
1374
 
1363
1375
 
1364
- class ScalarSchema26(BaseModel):
1365
- units: Optional[Units86] = None
1376
+ class ScalarSchema22(BaseModel):
1377
+ units: Optional[Units74] = None
1366
1378
  value: float
1367
1379
 
1368
1380
 
1369
- class Name209(Enum):
1381
+ class Name177(Enum):
1370
1382
  symmetry = "symmetry"
1371
1383
 
1372
1384
 
1373
- class SymmetrySchema25(BaseModel):
1385
+ class SymmetrySchema21(BaseModel):
1374
1386
  pointGroupSymbol: Optional[str] = None
1375
1387
  """
1376
1388
  point group symbol in Schoenflies notation
@@ -1379,18 +1391,18 @@ class SymmetrySchema25(BaseModel):
1379
1391
  """
1380
1392
  space group symbol in Hermann–Mauguin notation
1381
1393
  """
1382
- tolerance: Optional[ScalarSchema26] = Field(None, title="scalar schema")
1394
+ tolerance: Optional[ScalarSchema22] = Field(None, title="scalar schema")
1383
1395
  """
1384
1396
  tolerance used for symmetry calculation
1385
1397
  """
1386
1398
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
1387
1399
 
1388
1400
 
1389
- class Name210(Enum):
1401
+ class Name178(Enum):
1390
1402
  elemental_ratio = "elemental_ratio"
1391
1403
 
1392
1404
 
1393
- class ElementalRatio25(BaseModel):
1405
+ class ElementalRatio21(BaseModel):
1394
1406
  name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
1395
1407
  value: confloat(ge=0.0, le=1.0)
1396
1408
  element: Optional[str] = None
@@ -1399,11 +1411,11 @@ class ElementalRatio25(BaseModel):
1399
1411
  """
1400
1412
 
1401
1413
 
1402
- class Name211(Enum):
1414
+ class Name179(Enum):
1403
1415
  p_norm = "p-norm"
1404
1416
 
1405
1417
 
1406
- class PNorm25(BaseModel):
1418
+ class PNorm21(BaseModel):
1407
1419
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
1408
1420
  degree: Optional[int] = None
1409
1421
  """
@@ -1412,56 +1424,56 @@ class PNorm25(BaseModel):
1412
1424
  value: float
1413
1425
 
1414
1426
 
1415
- class Name212(Enum):
1427
+ class Name180(Enum):
1416
1428
  inchi = "inchi"
1417
1429
 
1418
1430
 
1419
- class InChIRepresentationSchema25(BaseModel):
1431
+ class InChIRepresentationSchema21(BaseModel):
1420
1432
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
1421
1433
  value: str
1422
1434
 
1423
1435
 
1424
- class Name213(Enum):
1436
+ class Name181(Enum):
1425
1437
  inchi_key = "inchi_key"
1426
1438
 
1427
1439
 
1428
- class InChIKeyRepresentationSchema25(BaseModel):
1440
+ class InChIKeyRepresentationSchema21(BaseModel):
1429
1441
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1430
1442
  value: str
1431
1443
 
1432
1444
 
1433
- class DerivedPropertiesSchema25(
1445
+ class DerivedPropertiesSchema21(
1434
1446
  RootModel[
1435
1447
  Union[
1436
- VolumeSchema25,
1437
- DensitySchema25,
1438
- SymmetrySchema25,
1439
- ElementalRatio25,
1440
- PNorm25,
1441
- InChIRepresentationSchema25,
1442
- InChIKeyRepresentationSchema25,
1448
+ VolumeSchema21,
1449
+ DensitySchema21,
1450
+ SymmetrySchema21,
1451
+ ElementalRatio21,
1452
+ PNorm21,
1453
+ InChIRepresentationSchema21,
1454
+ InChIKeyRepresentationSchema21,
1443
1455
  ]
1444
1456
  ]
1445
1457
  ):
1446
1458
  root: Union[
1447
- VolumeSchema25,
1448
- DensitySchema25,
1449
- SymmetrySchema25,
1450
- ElementalRatio25,
1451
- PNorm25,
1452
- InChIRepresentationSchema25,
1453
- InChIKeyRepresentationSchema25,
1459
+ VolumeSchema21,
1460
+ DensitySchema21,
1461
+ SymmetrySchema21,
1462
+ ElementalRatio21,
1463
+ PNorm21,
1464
+ InChIRepresentationSchema21,
1465
+ InChIKeyRepresentationSchema21,
1454
1466
  ] = Field(..., discriminator="name")
1455
1467
 
1456
1468
 
1457
- class Name214(Enum):
1469
+ class Name182(Enum):
1458
1470
  default = "default"
1459
1471
  atomsTooClose = "atomsTooClose"
1460
1472
  atomsOverlap = "atomsOverlap"
1461
1473
 
1462
1474
 
1463
- class MaterialConsistencyCheckSchema25(BaseModel):
1464
- name: Name214
1475
+ class MaterialConsistencyCheckSchema21(BaseModel):
1476
+ name: Name182
1465
1477
  """
1466
1478
  Name of the consistency check that is performed, which is listed in an enum.
1467
1479
  """
@@ -1479,7 +1491,7 @@ class MaterialConsistencyCheckSchema25(BaseModel):
1479
1491
  """
1480
1492
 
1481
1493
 
1482
- class CrystalSchema25(BaseModel):
1494
+ class CrystalSchema21(BaseModel):
1483
1495
  formula: Optional[str] = None
1484
1496
  """
1485
1497
  reduced chemical formula
@@ -1488,9 +1500,9 @@ class CrystalSchema25(BaseModel):
1488
1500
  """
1489
1501
  chemical formula based on the number of atoms of each element in the supercell
1490
1502
  """
1491
- basis: BasisSchema26 = Field(..., title="basis schema")
1492
- lattice: LatticeSchema25 = Field(..., title="lattice schema")
1493
- derivedProperties: Optional[List[DerivedPropertiesSchema25]] = Field(None, title="derived properties schema")
1503
+ basis: BasisSchema22 = Field(..., title="basis schema")
1504
+ lattice: LatticeSchema21 = Field(..., title="lattice schema")
1505
+ derivedProperties: Optional[List[DerivedPropertiesSchema21]] = Field(None, title="derived properties schema")
1494
1506
  external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
1495
1507
  """
1496
1508
  information about a database source
@@ -1511,7 +1523,7 @@ class CrystalSchema25(BaseModel):
1511
1523
  """
1512
1524
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1513
1525
  """
1514
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema25]] = None
1526
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema21]] = None
1515
1527
  field_id: Optional[str] = Field(None, alias="_id")
1516
1528
  """
1517
1529
  entity identity
@@ -1674,7 +1686,7 @@ class VacancySchema(BaseModel):
1674
1686
 
1675
1687
 
1676
1688
  class PointDefectSiteSchema(BaseModel):
1677
- crystal: CrystalSchema25 = Field(..., title="Crystal Schema")
1689
+ crystal: CrystalSchema21 = Field(..., title="Crystal Schema")
1678
1690
  """
1679
1691
  A crystal structure, referencing the base material schema
1680
1692
  """
@@ -1682,7 +1694,7 @@ class PointDefectSiteSchema(BaseModel):
1682
1694
  element: Union[AtomSchema, VacancySchema]
1683
1695
 
1684
1696
 
1685
- class Value60(Enum):
1697
+ class Value52(Enum):
1686
1698
  H = "H"
1687
1699
  He = "He"
1688
1700
  Li = "Li"
@@ -1803,13 +1815,13 @@ class Value60(Enum):
1803
1815
  Og = "Og"
1804
1816
 
1805
1817
 
1806
- class Value61(Enum):
1818
+ class Value53(Enum):
1807
1819
  X = "X"
1808
1820
  Vac = "Vac"
1809
1821
 
1810
1822
 
1811
- class AtomicElementSchema29(BaseModel):
1812
- value: Union[Value60, Value61]
1823
+ class AtomicElementSchema25(BaseModel):
1824
+ value: Union[Value52, Value53]
1813
1825
  """
1814
1826
  All elements, including extra elements
1815
1827
  """
@@ -1819,8 +1831,8 @@ class AtomicElementSchema29(BaseModel):
1819
1831
  """
1820
1832
 
1821
1833
 
1822
- class BasisSchema27(BaseModel):
1823
- elements: List[AtomicElementSchema29] = Field(..., title="atomic elements schema")
1834
+ class BasisSchema23(BaseModel):
1835
+ elements: List[AtomicElementSchema25] = Field(..., title="atomic elements schema")
1824
1836
  """
1825
1837
  atomic elements schema
1826
1838
  """
@@ -1835,7 +1847,7 @@ class BasisSchema27(BaseModel):
1835
1847
  """
1836
1848
 
1837
1849
 
1838
- class LatticeVectorsSchema26(BaseModel):
1850
+ class LatticeVectorsSchema22(BaseModel):
1839
1851
  a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1840
1852
  b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1841
1853
  c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
@@ -1846,12 +1858,12 @@ class LatticeVectorsSchema26(BaseModel):
1846
1858
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
1847
1859
 
1848
1860
 
1849
- class LatticeUnitsSchema26(BaseModel):
1861
+ class LatticeUnitsSchema22(BaseModel):
1850
1862
  length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
1851
1863
  angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
1852
1864
 
1853
1865
 
1854
- class LatticeSchema26(BaseModel):
1866
+ class LatticeSchema22(BaseModel):
1855
1867
  a: float
1856
1868
  """
1857
1869
  length of the first lattice vector
@@ -1876,56 +1888,56 @@ class LatticeSchema26(BaseModel):
1876
1888
  """
1877
1889
  angle between first and third lattice vector
1878
1890
  """
1879
- vectors: Optional[LatticeVectorsSchema26] = Field(None, title="lattice vectors schema")
1891
+ vectors: Optional[LatticeVectorsSchema22] = Field(None, title="lattice vectors schema")
1880
1892
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
1881
- units: Optional[LatticeUnitsSchema26] = Field(
1882
- default_factory=lambda: LatticeUnitsSchema26.model_validate({"length": "angstrom", "angle": "degree"}),
1893
+ units: Optional[LatticeUnitsSchema22] = Field(
1894
+ default_factory=lambda: LatticeUnitsSchema22.model_validate({"length": "angstrom", "angle": "degree"}),
1883
1895
  title="Lattice units schema",
1884
1896
  )
1885
1897
 
1886
1898
 
1887
- class Name215(Enum):
1899
+ class Name183(Enum):
1888
1900
  volume = "volume"
1889
1901
 
1890
1902
 
1891
- class Units87(Enum):
1903
+ class Units75(Enum):
1892
1904
  angstrom_3 = "angstrom^3"
1893
1905
 
1894
1906
 
1895
- class VolumeSchema26(BaseModel):
1907
+ class VolumeSchema22(BaseModel):
1896
1908
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
1897
- units: Optional[Units87] = None
1909
+ units: Optional[Units75] = None
1898
1910
  value: float
1899
1911
 
1900
1912
 
1901
- class Name216(Enum):
1913
+ class Name184(Enum):
1902
1914
  density = "density"
1903
1915
 
1904
1916
 
1905
- class Units88(Enum):
1917
+ class Units76(Enum):
1906
1918
  g_cm_3 = "g/cm^3"
1907
1919
 
1908
1920
 
1909
- class DensitySchema26(BaseModel):
1921
+ class DensitySchema22(BaseModel):
1910
1922
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
1911
- units: Optional[Units88] = None
1923
+ units: Optional[Units76] = None
1912
1924
  value: float
1913
1925
 
1914
1926
 
1915
- class Units89(Enum):
1927
+ class Units77(Enum):
1916
1928
  angstrom = "angstrom"
1917
1929
 
1918
1930
 
1919
- class ScalarSchema27(BaseModel):
1920
- units: Optional[Units89] = None
1931
+ class ScalarSchema23(BaseModel):
1932
+ units: Optional[Units77] = None
1921
1933
  value: float
1922
1934
 
1923
1935
 
1924
- class Name217(Enum):
1936
+ class Name185(Enum):
1925
1937
  symmetry = "symmetry"
1926
1938
 
1927
1939
 
1928
- class SymmetrySchema26(BaseModel):
1940
+ class SymmetrySchema22(BaseModel):
1929
1941
  pointGroupSymbol: Optional[str] = None
1930
1942
  """
1931
1943
  point group symbol in Schoenflies notation
@@ -1934,18 +1946,18 @@ class SymmetrySchema26(BaseModel):
1934
1946
  """
1935
1947
  space group symbol in Hermann–Mauguin notation
1936
1948
  """
1937
- tolerance: Optional[ScalarSchema27] = Field(None, title="scalar schema")
1949
+ tolerance: Optional[ScalarSchema23] = Field(None, title="scalar schema")
1938
1950
  """
1939
1951
  tolerance used for symmetry calculation
1940
1952
  """
1941
1953
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
1942
1954
 
1943
1955
 
1944
- class Name218(Enum):
1956
+ class Name186(Enum):
1945
1957
  elemental_ratio = "elemental_ratio"
1946
1958
 
1947
1959
 
1948
- class ElementalRatio26(BaseModel):
1960
+ class ElementalRatio22(BaseModel):
1949
1961
  name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
1950
1962
  value: confloat(ge=0.0, le=1.0)
1951
1963
  element: Optional[str] = None
@@ -1954,11 +1966,11 @@ class ElementalRatio26(BaseModel):
1954
1966
  """
1955
1967
 
1956
1968
 
1957
- class Name219(Enum):
1969
+ class Name187(Enum):
1958
1970
  p_norm = "p-norm"
1959
1971
 
1960
1972
 
1961
- class PNorm26(BaseModel):
1973
+ class PNorm22(BaseModel):
1962
1974
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
1963
1975
  degree: Optional[int] = None
1964
1976
  """
@@ -1967,56 +1979,56 @@ class PNorm26(BaseModel):
1967
1979
  value: float
1968
1980
 
1969
1981
 
1970
- class Name220(Enum):
1982
+ class Name188(Enum):
1971
1983
  inchi = "inchi"
1972
1984
 
1973
1985
 
1974
- class InChIRepresentationSchema26(BaseModel):
1986
+ class InChIRepresentationSchema22(BaseModel):
1975
1987
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
1976
1988
  value: str
1977
1989
 
1978
1990
 
1979
- class Name221(Enum):
1991
+ class Name189(Enum):
1980
1992
  inchi_key = "inchi_key"
1981
1993
 
1982
1994
 
1983
- class InChIKeyRepresentationSchema26(BaseModel):
1995
+ class InChIKeyRepresentationSchema22(BaseModel):
1984
1996
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1985
1997
  value: str
1986
1998
 
1987
1999
 
1988
- class DerivedPropertiesSchema26(
2000
+ class DerivedPropertiesSchema22(
1989
2001
  RootModel[
1990
2002
  Union[
1991
- VolumeSchema26,
1992
- DensitySchema26,
1993
- SymmetrySchema26,
1994
- ElementalRatio26,
1995
- PNorm26,
1996
- InChIRepresentationSchema26,
1997
- InChIKeyRepresentationSchema26,
2003
+ VolumeSchema22,
2004
+ DensitySchema22,
2005
+ SymmetrySchema22,
2006
+ ElementalRatio22,
2007
+ PNorm22,
2008
+ InChIRepresentationSchema22,
2009
+ InChIKeyRepresentationSchema22,
1998
2010
  ]
1999
2011
  ]
2000
2012
  ):
2001
2013
  root: Union[
2002
- VolumeSchema26,
2003
- DensitySchema26,
2004
- SymmetrySchema26,
2005
- ElementalRatio26,
2006
- PNorm26,
2007
- InChIRepresentationSchema26,
2008
- InChIKeyRepresentationSchema26,
2014
+ VolumeSchema22,
2015
+ DensitySchema22,
2016
+ SymmetrySchema22,
2017
+ ElementalRatio22,
2018
+ PNorm22,
2019
+ InChIRepresentationSchema22,
2020
+ InChIKeyRepresentationSchema22,
2009
2021
  ] = Field(..., discriminator="name")
2010
2022
 
2011
2023
 
2012
- class Name222(Enum):
2024
+ class Name190(Enum):
2013
2025
  default = "default"
2014
2026
  atomsTooClose = "atomsTooClose"
2015
2027
  atomsOverlap = "atomsOverlap"
2016
2028
 
2017
2029
 
2018
- class MaterialConsistencyCheckSchema26(BaseModel):
2019
- name: Name222
2030
+ class MaterialConsistencyCheckSchema22(BaseModel):
2031
+ name: Name190
2020
2032
  """
2021
2033
  Name of the consistency check that is performed, which is listed in an enum.
2022
2034
  """
@@ -2034,7 +2046,7 @@ class MaterialConsistencyCheckSchema26(BaseModel):
2034
2046
  """
2035
2047
 
2036
2048
 
2037
- class CrystalSchema26(BaseModel):
2049
+ class CrystalSchema22(BaseModel):
2038
2050
  formula: Optional[str] = None
2039
2051
  """
2040
2052
  reduced chemical formula
@@ -2043,9 +2055,9 @@ class CrystalSchema26(BaseModel):
2043
2055
  """
2044
2056
  chemical formula based on the number of atoms of each element in the supercell
2045
2057
  """
2046
- basis: BasisSchema27 = Field(..., title="basis schema")
2047
- lattice: LatticeSchema26 = Field(..., title="lattice schema")
2048
- derivedProperties: Optional[List[DerivedPropertiesSchema26]] = Field(None, title="derived properties schema")
2058
+ basis: BasisSchema23 = Field(..., title="basis schema")
2059
+ lattice: LatticeSchema22 = Field(..., title="lattice schema")
2060
+ derivedProperties: Optional[List[DerivedPropertiesSchema22]] = Field(None, title="derived properties schema")
2049
2061
  external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
2050
2062
  """
2051
2063
  information about a database source
@@ -2066,7 +2078,7 @@ class CrystalSchema26(BaseModel):
2066
2078
  """
2067
2079
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
2068
2080
  """
2069
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema26]] = None
2081
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema22]] = None
2070
2082
  field_id: Optional[str] = Field(None, alias="_id")
2071
2083
  """
2072
2084
  entity identity
@@ -2091,7 +2103,7 @@ class CrystalSchema26(BaseModel):
2091
2103
  metadata: Optional[Dict[str, Any]] = None
2092
2104
 
2093
2105
 
2094
- class VacuumConfigurationSchema11(BaseModel):
2106
+ class VacuumConfigurationSchema9(BaseModel):
2095
2107
  direction: AxisEnum = Field(..., title="Axis Enum")
2096
2108
  """
2097
2109
  Enum for axis types
@@ -2100,17 +2112,21 @@ class VacuumConfigurationSchema11(BaseModel):
2100
2112
  """
2101
2113
  Size of the vacuum slab in angstroms
2102
2114
  """
2103
- crystal: CrystalSchema26 = Field(..., title="Crystal Schema")
2115
+ crystal: CrystalSchema22 = Field(..., title="Crystal Schema")
2104
2116
  """
2105
2117
  A crystal structure, referencing the base material schema
2106
2118
  """
2107
2119
 
2108
2120
 
2109
2121
  class AdatomDefectConfigurationSchema(BaseModel):
2110
- stack_components: List[Union[SlabConfigurationSchema, PointDefectSiteSchema, VacuumConfigurationSchema11]] = Field(
2122
+ stack_components: List[Union[SlabConfigurationSchema, PointDefectSiteSchema, VacuumConfigurationSchema9]] = Field(
2111
2123
  ..., max_length=3, min_length=3
2112
2124
  )
2113
2125
  direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
2114
2126
  """
2115
2127
  Enum for axis types
2116
2128
  """
2129
+ gaps: Optional[List[ObjectWithId]] = None
2130
+ """
2131
+ Gap distances between stack components as an array of objects with id and value
2132
+ """