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 Value63(Enum):
268
+ class Value55(Enum):
269
269
  X = "X"
270
270
  Vac = "Vac"
271
271
 
272
272
 
273
273
  class AtomicElementSchema(BaseModel):
274
- value: Union[Value, Value63]
274
+ value: Union[Value, Value55]
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 Name224(Enum):
422
+ class Name192(Enum):
423
423
  density = "density"
424
424
 
425
425
 
426
- class Units91(Enum):
426
+ class Units79(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[Units91] = None
432
+ units: Optional[Units79] = None
433
433
  value: float
434
434
 
435
435
 
436
- class Units92(Enum):
436
+ class Units80(Enum):
437
437
  angstrom = "angstrom"
438
438
 
439
439
 
440
440
  class ScalarSchema(BaseModel):
441
- units: Optional[Units92] = None
441
+ units: Optional[Units80] = None
442
442
  value: float
443
443
 
444
444
 
445
- class Name225(Enum):
445
+ class Name193(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 Name226(Enum):
465
+ class Name194(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 Name227(Enum):
478
+ class Name195(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 Name228(Enum):
491
+ class Name196(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 Name229(Enum):
500
+ class Name197(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 Name230(Enum):
579
+ class Name198(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: Name230
592
+ name: Name198
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 Value64(Enum):
696
+ class Value56(Enum):
697
697
  H = "H"
698
698
  He = "He"
699
699
  Li = "Li"
@@ -814,13 +814,13 @@ class Value64(Enum):
814
814
  Og = "Og"
815
815
 
816
816
 
817
- class Value65(Enum):
817
+ class Value57(Enum):
818
818
  X = "X"
819
819
  Vac = "Vac"
820
820
 
821
821
 
822
- class AtomicElementSchema31(BaseModel):
823
- value: Union[Value64, Value65]
822
+ class AtomicElementSchema27(BaseModel):
823
+ value: Union[Value56, Value57]
824
824
  """
825
825
  All elements, including extra elements
826
826
  """
@@ -830,8 +830,8 @@ class AtomicElementSchema31(BaseModel):
830
830
  """
831
831
 
832
832
 
833
- class BasisSchema29(BaseModel):
834
- elements: List[AtomicElementSchema31] = Field(..., title="atomic elements schema")
833
+ class BasisSchema25(BaseModel):
834
+ elements: List[AtomicElementSchema27] = Field(..., title="atomic elements schema")
835
835
  """
836
836
  atomic elements schema
837
837
  """
@@ -846,7 +846,7 @@ class BasisSchema29(BaseModel):
846
846
  """
847
847
 
848
848
 
849
- class LatticeVectorsSchema28(BaseModel):
849
+ class LatticeVectorsSchema24(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 LatticeVectorsSchema28(BaseModel):
857
857
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
858
858
 
859
859
 
860
- class LatticeUnitsSchema28(BaseModel):
860
+ class LatticeUnitsSchema24(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 LatticeSchema28(BaseModel):
865
+ class LatticeSchema24(BaseModel):
866
866
  a: float
867
867
  """
868
868
  length of the first lattice vector
@@ -887,56 +887,56 @@ class LatticeSchema28(BaseModel):
887
887
  """
888
888
  angle between first and third lattice vector
889
889
  """
890
- vectors: Optional[LatticeVectorsSchema28] = Field(None, title="lattice vectors schema")
890
+ vectors: Optional[LatticeVectorsSchema24] = Field(None, title="lattice vectors schema")
891
891
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
892
- units: Optional[LatticeUnitsSchema28] = Field(
893
- default_factory=lambda: LatticeUnitsSchema28.model_validate({"length": "angstrom", "angle": "degree"}),
892
+ units: Optional[LatticeUnitsSchema24] = Field(
893
+ default_factory=lambda: LatticeUnitsSchema24.model_validate({"length": "angstrom", "angle": "degree"}),
894
894
  title="Lattice units schema",
895
895
  )
896
896
 
897
897
 
898
- class Name231(Enum):
898
+ class Name199(Enum):
899
899
  volume = "volume"
900
900
 
901
901
 
902
- class Units93(Enum):
902
+ class Units81(Enum):
903
903
  angstrom_3 = "angstrom^3"
904
904
 
905
905
 
906
- class VolumeSchema28(BaseModel):
906
+ class VolumeSchema24(BaseModel):
907
907
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
908
- units: Optional[Units93] = None
908
+ units: Optional[Units81] = None
909
909
  value: float
910
910
 
911
911
 
912
- class Name232(Enum):
912
+ class Name200(Enum):
913
913
  density = "density"
914
914
 
915
915
 
916
- class Units94(Enum):
916
+ class Units82(Enum):
917
917
  g_cm_3 = "g/cm^3"
918
918
 
919
919
 
920
- class DensitySchema28(BaseModel):
920
+ class DensitySchema24(BaseModel):
921
921
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
922
- units: Optional[Units94] = None
922
+ units: Optional[Units82] = None
923
923
  value: float
924
924
 
925
925
 
926
- class Units95(Enum):
926
+ class Units83(Enum):
927
927
  angstrom = "angstrom"
928
928
 
929
929
 
930
- class ScalarSchema29(BaseModel):
931
- units: Optional[Units95] = None
930
+ class ScalarSchema25(BaseModel):
931
+ units: Optional[Units83] = None
932
932
  value: float
933
933
 
934
934
 
935
- class Name233(Enum):
935
+ class Name201(Enum):
936
936
  symmetry = "symmetry"
937
937
 
938
938
 
939
- class SymmetrySchema28(BaseModel):
939
+ class SymmetrySchema24(BaseModel):
940
940
  pointGroupSymbol: Optional[str] = None
941
941
  """
942
942
  point group symbol in Schoenflies notation
@@ -945,18 +945,18 @@ class SymmetrySchema28(BaseModel):
945
945
  """
946
946
  space group symbol in Hermann–Mauguin notation
947
947
  """
948
- tolerance: Optional[ScalarSchema29] = Field(None, title="scalar schema")
948
+ tolerance: Optional[ScalarSchema25] = 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 Name234(Enum):
955
+ class Name202(Enum):
956
956
  elemental_ratio = "elemental_ratio"
957
957
 
958
958
 
959
- class ElementalRatio28(BaseModel):
959
+ class ElementalRatio24(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 ElementalRatio28(BaseModel):
965
965
  """
966
966
 
967
967
 
968
- class Name235(Enum):
968
+ class Name203(Enum):
969
969
  p_norm = "p-norm"
970
970
 
971
971
 
972
- class PNorm28(BaseModel):
972
+ class PNorm24(BaseModel):
973
973
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
974
974
  degree: Optional[int] = None
975
975
  """
@@ -978,56 +978,56 @@ class PNorm28(BaseModel):
978
978
  value: float
979
979
 
980
980
 
981
- class Name236(Enum):
981
+ class Name204(Enum):
982
982
  inchi = "inchi"
983
983
 
984
984
 
985
- class InChIRepresentationSchema28(BaseModel):
985
+ class InChIRepresentationSchema24(BaseModel):
986
986
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
987
987
  value: str
988
988
 
989
989
 
990
- class Name237(Enum):
990
+ class Name205(Enum):
991
991
  inchi_key = "inchi_key"
992
992
 
993
993
 
994
- class InChIKeyRepresentationSchema28(BaseModel):
994
+ class InChIKeyRepresentationSchema24(BaseModel):
995
995
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
996
996
  value: str
997
997
 
998
998
 
999
- class DerivedPropertiesSchema28(
999
+ class DerivedPropertiesSchema24(
1000
1000
  RootModel[
1001
1001
  Union[
1002
- VolumeSchema28,
1003
- DensitySchema28,
1004
- SymmetrySchema28,
1005
- ElementalRatio28,
1006
- PNorm28,
1007
- InChIRepresentationSchema28,
1008
- InChIKeyRepresentationSchema28,
1002
+ VolumeSchema24,
1003
+ DensitySchema24,
1004
+ SymmetrySchema24,
1005
+ ElementalRatio24,
1006
+ PNorm24,
1007
+ InChIRepresentationSchema24,
1008
+ InChIKeyRepresentationSchema24,
1009
1009
  ]
1010
1010
  ]
1011
1011
  ):
1012
1012
  root: Union[
1013
- VolumeSchema28,
1014
- DensitySchema28,
1015
- SymmetrySchema28,
1016
- ElementalRatio28,
1017
- PNorm28,
1018
- InChIRepresentationSchema28,
1019
- InChIKeyRepresentationSchema28,
1013
+ VolumeSchema24,
1014
+ DensitySchema24,
1015
+ SymmetrySchema24,
1016
+ ElementalRatio24,
1017
+ PNorm24,
1018
+ InChIRepresentationSchema24,
1019
+ InChIKeyRepresentationSchema24,
1020
1020
  ] = Field(..., discriminator="name")
1021
1021
 
1022
1022
 
1023
- class Name238(Enum):
1023
+ class Name206(Enum):
1024
1024
  default = "default"
1025
1025
  atomsTooClose = "atomsTooClose"
1026
1026
  atomsOverlap = "atomsOverlap"
1027
1027
 
1028
1028
 
1029
- class MaterialConsistencyCheckSchema28(BaseModel):
1030
- name: Name238
1029
+ class MaterialConsistencyCheckSchema24(BaseModel):
1030
+ name: Name206
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 MaterialConsistencyCheckSchema28(BaseModel):
1045
1045
  """
1046
1046
 
1047
1047
 
1048
- class CrystalSchema28(BaseModel):
1048
+ class CrystalSchema24(BaseModel):
1049
1049
  formula: Optional[str] = None
1050
1050
  """
1051
1051
  reduced chemical formula
@@ -1054,9 +1054,9 @@ class CrystalSchema28(BaseModel):
1054
1054
  """
1055
1055
  chemical formula based on the number of atoms of each element in the supercell
1056
1056
  """
1057
- basis: BasisSchema29 = Field(..., title="basis schema")
1058
- lattice: LatticeSchema28 = Field(..., title="lattice schema")
1059
- derivedProperties: Optional[List[DerivedPropertiesSchema28]] = Field(None, title="derived properties schema")
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")
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 CrystalSchema28(BaseModel):
1077
1077
  """
1078
1078
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1079
1079
  """
1080
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema28]] = None
1080
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema24]] = 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: CrystalSchema28 = Field(..., title="Crystal Schema")
1114
+ crystal: CrystalSchema24 = 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 TerminationSchema13(BaseModel):
1142
+ class TerminationSchema11(BaseModel):
1131
1143
  chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
1132
1144
  ..., title="Chemical Elements"
1133
1145
  )
@@ -1140,7 +1152,7 @@ class TerminationSchema13(BaseModel):
1140
1152
  """
1141
1153
 
1142
1154
 
1143
- class Value66(Enum):
1155
+ class Value58(Enum):
1144
1156
  H = "H"
1145
1157
  He = "He"
1146
1158
  Li = "Li"
@@ -1261,13 +1273,13 @@ class Value66(Enum):
1261
1273
  Og = "Og"
1262
1274
 
1263
1275
 
1264
- class Value67(Enum):
1276
+ class Value59(Enum):
1265
1277
  X = "X"
1266
1278
  Vac = "Vac"
1267
1279
 
1268
1280
 
1269
- class AtomicElementSchema32(BaseModel):
1270
- value: Union[Value66, Value67]
1281
+ class AtomicElementSchema28(BaseModel):
1282
+ value: Union[Value58, Value59]
1271
1283
  """
1272
1284
  All elements, including extra elements
1273
1285
  """
@@ -1277,8 +1289,8 @@ class AtomicElementSchema32(BaseModel):
1277
1289
  """
1278
1290
 
1279
1291
 
1280
- class BasisSchema30(BaseModel):
1281
- elements: List[AtomicElementSchema32] = Field(..., title="atomic elements schema")
1292
+ class BasisSchema26(BaseModel):
1293
+ elements: List[AtomicElementSchema28] = Field(..., title="atomic elements schema")
1282
1294
  """
1283
1295
  atomic elements schema
1284
1296
  """
@@ -1293,7 +1305,7 @@ class BasisSchema30(BaseModel):
1293
1305
  """
1294
1306
 
1295
1307
 
1296
- class LatticeVectorsSchema29(BaseModel):
1308
+ class LatticeVectorsSchema25(BaseModel):
1297
1309
  a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1298
1310
  b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1299
1311
  c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
@@ -1304,12 +1316,12 @@ class LatticeVectorsSchema29(BaseModel):
1304
1316
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
1305
1317
 
1306
1318
 
1307
- class LatticeUnitsSchema29(BaseModel):
1319
+ class LatticeUnitsSchema25(BaseModel):
1308
1320
  length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
1309
1321
  angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
1310
1322
 
1311
1323
 
1312
- class LatticeSchema29(BaseModel):
1324
+ class LatticeSchema25(BaseModel):
1313
1325
  a: float
1314
1326
  """
1315
1327
  length of the first lattice vector
@@ -1334,56 +1346,56 @@ class LatticeSchema29(BaseModel):
1334
1346
  """
1335
1347
  angle between first and third lattice vector
1336
1348
  """
1337
- vectors: Optional[LatticeVectorsSchema29] = Field(None, title="lattice vectors schema")
1349
+ vectors: Optional[LatticeVectorsSchema25] = Field(None, title="lattice vectors schema")
1338
1350
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
1339
- units: Optional[LatticeUnitsSchema29] = Field(
1340
- default_factory=lambda: LatticeUnitsSchema29.model_validate({"length": "angstrom", "angle": "degree"}),
1351
+ units: Optional[LatticeUnitsSchema25] = Field(
1352
+ default_factory=lambda: LatticeUnitsSchema25.model_validate({"length": "angstrom", "angle": "degree"}),
1341
1353
  title="Lattice units schema",
1342
1354
  )
1343
1355
 
1344
1356
 
1345
- class Name239(Enum):
1357
+ class Name207(Enum):
1346
1358
  volume = "volume"
1347
1359
 
1348
1360
 
1349
- class Units96(Enum):
1361
+ class Units84(Enum):
1350
1362
  angstrom_3 = "angstrom^3"
1351
1363
 
1352
1364
 
1353
- class VolumeSchema29(BaseModel):
1365
+ class VolumeSchema25(BaseModel):
1354
1366
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
1355
- units: Optional[Units96] = None
1367
+ units: Optional[Units84] = None
1356
1368
  value: float
1357
1369
 
1358
1370
 
1359
- class Name240(Enum):
1371
+ class Name208(Enum):
1360
1372
  density = "density"
1361
1373
 
1362
1374
 
1363
- class Units97(Enum):
1375
+ class Units85(Enum):
1364
1376
  g_cm_3 = "g/cm^3"
1365
1377
 
1366
1378
 
1367
- class DensitySchema29(BaseModel):
1379
+ class DensitySchema25(BaseModel):
1368
1380
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
1369
- units: Optional[Units97] = None
1381
+ units: Optional[Units85] = None
1370
1382
  value: float
1371
1383
 
1372
1384
 
1373
- class Units98(Enum):
1385
+ class Units86(Enum):
1374
1386
  angstrom = "angstrom"
1375
1387
 
1376
1388
 
1377
- class ScalarSchema30(BaseModel):
1378
- units: Optional[Units98] = None
1389
+ class ScalarSchema26(BaseModel):
1390
+ units: Optional[Units86] = None
1379
1391
  value: float
1380
1392
 
1381
1393
 
1382
- class Name241(Enum):
1394
+ class Name209(Enum):
1383
1395
  symmetry = "symmetry"
1384
1396
 
1385
1397
 
1386
- class SymmetrySchema29(BaseModel):
1398
+ class SymmetrySchema25(BaseModel):
1387
1399
  pointGroupSymbol: Optional[str] = None
1388
1400
  """
1389
1401
  point group symbol in Schoenflies notation
@@ -1392,18 +1404,18 @@ class SymmetrySchema29(BaseModel):
1392
1404
  """
1393
1405
  space group symbol in Hermann–Mauguin notation
1394
1406
  """
1395
- tolerance: Optional[ScalarSchema30] = Field(None, title="scalar schema")
1407
+ tolerance: Optional[ScalarSchema26] = Field(None, title="scalar schema")
1396
1408
  """
1397
1409
  tolerance used for symmetry calculation
1398
1410
  """
1399
1411
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
1400
1412
 
1401
1413
 
1402
- class Name242(Enum):
1414
+ class Name210(Enum):
1403
1415
  elemental_ratio = "elemental_ratio"
1404
1416
 
1405
1417
 
1406
- class ElementalRatio29(BaseModel):
1418
+ class ElementalRatio25(BaseModel):
1407
1419
  name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
1408
1420
  value: confloat(ge=0.0, le=1.0)
1409
1421
  element: Optional[str] = None
@@ -1412,11 +1424,11 @@ class ElementalRatio29(BaseModel):
1412
1424
  """
1413
1425
 
1414
1426
 
1415
- class Name243(Enum):
1427
+ class Name211(Enum):
1416
1428
  p_norm = "p-norm"
1417
1429
 
1418
1430
 
1419
- class PNorm29(BaseModel):
1431
+ class PNorm25(BaseModel):
1420
1432
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
1421
1433
  degree: Optional[int] = None
1422
1434
  """
@@ -1425,56 +1437,56 @@ class PNorm29(BaseModel):
1425
1437
  value: float
1426
1438
 
1427
1439
 
1428
- class Name244(Enum):
1440
+ class Name212(Enum):
1429
1441
  inchi = "inchi"
1430
1442
 
1431
1443
 
1432
- class InChIRepresentationSchema29(BaseModel):
1444
+ class InChIRepresentationSchema25(BaseModel):
1433
1445
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
1434
1446
  value: str
1435
1447
 
1436
1448
 
1437
- class Name245(Enum):
1449
+ class Name213(Enum):
1438
1450
  inchi_key = "inchi_key"
1439
1451
 
1440
1452
 
1441
- class InChIKeyRepresentationSchema29(BaseModel):
1453
+ class InChIKeyRepresentationSchema25(BaseModel):
1442
1454
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1443
1455
  value: str
1444
1456
 
1445
1457
 
1446
- class DerivedPropertiesSchema29(
1458
+ class DerivedPropertiesSchema25(
1447
1459
  RootModel[
1448
1460
  Union[
1449
- VolumeSchema29,
1450
- DensitySchema29,
1451
- SymmetrySchema29,
1452
- ElementalRatio29,
1453
- PNorm29,
1454
- InChIRepresentationSchema29,
1455
- InChIKeyRepresentationSchema29,
1461
+ VolumeSchema25,
1462
+ DensitySchema25,
1463
+ SymmetrySchema25,
1464
+ ElementalRatio25,
1465
+ PNorm25,
1466
+ InChIRepresentationSchema25,
1467
+ InChIKeyRepresentationSchema25,
1456
1468
  ]
1457
1469
  ]
1458
1470
  ):
1459
1471
  root: Union[
1460
- VolumeSchema29,
1461
- DensitySchema29,
1462
- SymmetrySchema29,
1463
- ElementalRatio29,
1464
- PNorm29,
1465
- InChIRepresentationSchema29,
1466
- InChIKeyRepresentationSchema29,
1472
+ VolumeSchema25,
1473
+ DensitySchema25,
1474
+ SymmetrySchema25,
1475
+ ElementalRatio25,
1476
+ PNorm25,
1477
+ InChIRepresentationSchema25,
1478
+ InChIKeyRepresentationSchema25,
1467
1479
  ] = Field(..., discriminator="name")
1468
1480
 
1469
1481
 
1470
- class Name246(Enum):
1482
+ class Name214(Enum):
1471
1483
  default = "default"
1472
1484
  atomsTooClose = "atomsTooClose"
1473
1485
  atomsOverlap = "atomsOverlap"
1474
1486
 
1475
1487
 
1476
- class MaterialConsistencyCheckSchema29(BaseModel):
1477
- name: Name246
1488
+ class MaterialConsistencyCheckSchema25(BaseModel):
1489
+ name: Name214
1478
1490
  """
1479
1491
  Name of the consistency check that is performed, which is listed in an enum.
1480
1492
  """
@@ -1492,7 +1504,7 @@ class MaterialConsistencyCheckSchema29(BaseModel):
1492
1504
  """
1493
1505
 
1494
1506
 
1495
- class CrystalSchema29(BaseModel):
1507
+ class CrystalSchema25(BaseModel):
1496
1508
  formula: Optional[str] = None
1497
1509
  """
1498
1510
  reduced chemical formula
@@ -1501,9 +1513,9 @@ class CrystalSchema29(BaseModel):
1501
1513
  """
1502
1514
  chemical formula based on the number of atoms of each element in the supercell
1503
1515
  """
1504
- basis: BasisSchema30 = Field(..., title="basis schema")
1505
- lattice: LatticeSchema29 = Field(..., title="lattice schema")
1506
- derivedProperties: Optional[List[DerivedPropertiesSchema29]] = Field(None, title="derived properties schema")
1516
+ basis: BasisSchema26 = Field(..., title="basis schema")
1517
+ lattice: LatticeSchema25 = Field(..., title="lattice schema")
1518
+ derivedProperties: Optional[List[DerivedPropertiesSchema25]] = Field(None, title="derived properties schema")
1507
1519
  external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
1508
1520
  """
1509
1521
  information about a database source
@@ -1524,7 +1536,7 @@ class CrystalSchema29(BaseModel):
1524
1536
  """
1525
1537
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1526
1538
  """
1527
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema29]] = None
1539
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema25]] = None
1528
1540
  field_id: Optional[str] = Field(None, alias="_id")
1529
1541
  """
1530
1542
  entity identity
@@ -1549,8 +1561,8 @@ class CrystalSchema29(BaseModel):
1549
1561
  metadata: Optional[Dict[str, Any]] = None
1550
1562
 
1551
1563
 
1552
- class AtomicLayersUniqueRepeatedSchema11(BaseModel):
1553
- termination_top: TerminationSchema13 = Field(..., title="Termination Schema")
1564
+ class AtomicLayersUniqueRepeatedSchema9(BaseModel):
1565
+ termination_top: TerminationSchema11 = Field(..., title="Termination Schema")
1554
1566
  """
1555
1567
  Defines a specific termination of a slab
1556
1568
  """
@@ -1562,7 +1574,7 @@ class AtomicLayersUniqueRepeatedSchema11(BaseModel):
1562
1574
  """
1563
1575
  Miller indices [h, k, l] defining crystallographic planes
1564
1576
  """
1565
- crystal: CrystalSchema29 = Field(..., title="Crystal Schema")
1577
+ crystal: CrystalSchema25 = Field(..., title="Crystal Schema")
1566
1578
  """
1567
1579
  A crystal structure, referencing the base material schema
1568
1580
  """
@@ -1572,7 +1584,7 @@ class AtomicLayersUniqueRepeatedSchema11(BaseModel):
1572
1584
  """
1573
1585
 
1574
1586
 
1575
- class Value68(Enum):
1587
+ class Value60(Enum):
1576
1588
  H = "H"
1577
1589
  He = "He"
1578
1590
  Li = "Li"
@@ -1693,13 +1705,13 @@ class Value68(Enum):
1693
1705
  Og = "Og"
1694
1706
 
1695
1707
 
1696
- class Value69(Enum):
1708
+ class Value61(Enum):
1697
1709
  X = "X"
1698
1710
  Vac = "Vac"
1699
1711
 
1700
1712
 
1701
- class AtomicElementSchema33(BaseModel):
1702
- value: Union[Value68, Value69]
1713
+ class AtomicElementSchema29(BaseModel):
1714
+ value: Union[Value60, Value61]
1703
1715
  """
1704
1716
  All elements, including extra elements
1705
1717
  """
@@ -1709,8 +1721,8 @@ class AtomicElementSchema33(BaseModel):
1709
1721
  """
1710
1722
 
1711
1723
 
1712
- class BasisSchema31(BaseModel):
1713
- elements: List[AtomicElementSchema33] = Field(..., title="atomic elements schema")
1724
+ class BasisSchema27(BaseModel):
1725
+ elements: List[AtomicElementSchema29] = Field(..., title="atomic elements schema")
1714
1726
  """
1715
1727
  atomic elements schema
1716
1728
  """
@@ -1725,7 +1737,7 @@ class BasisSchema31(BaseModel):
1725
1737
  """
1726
1738
 
1727
1739
 
1728
- class LatticeVectorsSchema30(BaseModel):
1740
+ class LatticeVectorsSchema26(BaseModel):
1729
1741
  a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1730
1742
  b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1731
1743
  c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
@@ -1736,12 +1748,12 @@ class LatticeVectorsSchema30(BaseModel):
1736
1748
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
1737
1749
 
1738
1750
 
1739
- class LatticeUnitsSchema30(BaseModel):
1751
+ class LatticeUnitsSchema26(BaseModel):
1740
1752
  length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
1741
1753
  angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
1742
1754
 
1743
1755
 
1744
- class LatticeSchema30(BaseModel):
1756
+ class LatticeSchema26(BaseModel):
1745
1757
  a: float
1746
1758
  """
1747
1759
  length of the first lattice vector
@@ -1766,56 +1778,56 @@ class LatticeSchema30(BaseModel):
1766
1778
  """
1767
1779
  angle between first and third lattice vector
1768
1780
  """
1769
- vectors: Optional[LatticeVectorsSchema30] = Field(None, title="lattice vectors schema")
1781
+ vectors: Optional[LatticeVectorsSchema26] = Field(None, title="lattice vectors schema")
1770
1782
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
1771
- units: Optional[LatticeUnitsSchema30] = Field(
1772
- default_factory=lambda: LatticeUnitsSchema30.model_validate({"length": "angstrom", "angle": "degree"}),
1783
+ units: Optional[LatticeUnitsSchema26] = Field(
1784
+ default_factory=lambda: LatticeUnitsSchema26.model_validate({"length": "angstrom", "angle": "degree"}),
1773
1785
  title="Lattice units schema",
1774
1786
  )
1775
1787
 
1776
1788
 
1777
- class Name247(Enum):
1789
+ class Name215(Enum):
1778
1790
  volume = "volume"
1779
1791
 
1780
1792
 
1781
- class Units99(Enum):
1793
+ class Units87(Enum):
1782
1794
  angstrom_3 = "angstrom^3"
1783
1795
 
1784
1796
 
1785
- class VolumeSchema30(BaseModel):
1797
+ class VolumeSchema26(BaseModel):
1786
1798
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
1787
- units: Optional[Units99] = None
1799
+ units: Optional[Units87] = None
1788
1800
  value: float
1789
1801
 
1790
1802
 
1791
- class Name248(Enum):
1803
+ class Name216(Enum):
1792
1804
  density = "density"
1793
1805
 
1794
1806
 
1795
- class Units100(Enum):
1807
+ class Units88(Enum):
1796
1808
  g_cm_3 = "g/cm^3"
1797
1809
 
1798
1810
 
1799
- class DensitySchema30(BaseModel):
1811
+ class DensitySchema26(BaseModel):
1800
1812
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
1801
- units: Optional[Units100] = None
1813
+ units: Optional[Units88] = None
1802
1814
  value: float
1803
1815
 
1804
1816
 
1805
- class Units101(Enum):
1817
+ class Units89(Enum):
1806
1818
  angstrom = "angstrom"
1807
1819
 
1808
1820
 
1809
- class ScalarSchema31(BaseModel):
1810
- units: Optional[Units101] = None
1821
+ class ScalarSchema27(BaseModel):
1822
+ units: Optional[Units89] = None
1811
1823
  value: float
1812
1824
 
1813
1825
 
1814
- class Name249(Enum):
1826
+ class Name217(Enum):
1815
1827
  symmetry = "symmetry"
1816
1828
 
1817
1829
 
1818
- class SymmetrySchema30(BaseModel):
1830
+ class SymmetrySchema26(BaseModel):
1819
1831
  pointGroupSymbol: Optional[str] = None
1820
1832
  """
1821
1833
  point group symbol in Schoenflies notation
@@ -1824,18 +1836,18 @@ class SymmetrySchema30(BaseModel):
1824
1836
  """
1825
1837
  space group symbol in Hermann–Mauguin notation
1826
1838
  """
1827
- tolerance: Optional[ScalarSchema31] = Field(None, title="scalar schema")
1839
+ tolerance: Optional[ScalarSchema27] = Field(None, title="scalar schema")
1828
1840
  """
1829
1841
  tolerance used for symmetry calculation
1830
1842
  """
1831
1843
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
1832
1844
 
1833
1845
 
1834
- class Name250(Enum):
1846
+ class Name218(Enum):
1835
1847
  elemental_ratio = "elemental_ratio"
1836
1848
 
1837
1849
 
1838
- class ElementalRatio30(BaseModel):
1850
+ class ElementalRatio26(BaseModel):
1839
1851
  name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
1840
1852
  value: confloat(ge=0.0, le=1.0)
1841
1853
  element: Optional[str] = None
@@ -1844,11 +1856,11 @@ class ElementalRatio30(BaseModel):
1844
1856
  """
1845
1857
 
1846
1858
 
1847
- class Name251(Enum):
1859
+ class Name219(Enum):
1848
1860
  p_norm = "p-norm"
1849
1861
 
1850
1862
 
1851
- class PNorm30(BaseModel):
1863
+ class PNorm26(BaseModel):
1852
1864
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
1853
1865
  degree: Optional[int] = None
1854
1866
  """
@@ -1857,56 +1869,56 @@ class PNorm30(BaseModel):
1857
1869
  value: float
1858
1870
 
1859
1871
 
1860
- class Name252(Enum):
1872
+ class Name220(Enum):
1861
1873
  inchi = "inchi"
1862
1874
 
1863
1875
 
1864
- class InChIRepresentationSchema30(BaseModel):
1876
+ class InChIRepresentationSchema26(BaseModel):
1865
1877
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
1866
1878
  value: str
1867
1879
 
1868
1880
 
1869
- class Name253(Enum):
1881
+ class Name221(Enum):
1870
1882
  inchi_key = "inchi_key"
1871
1883
 
1872
1884
 
1873
- class InChIKeyRepresentationSchema30(BaseModel):
1885
+ class InChIKeyRepresentationSchema26(BaseModel):
1874
1886
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1875
1887
  value: str
1876
1888
 
1877
1889
 
1878
- class DerivedPropertiesSchema30(
1890
+ class DerivedPropertiesSchema26(
1879
1891
  RootModel[
1880
1892
  Union[
1881
- VolumeSchema30,
1882
- DensitySchema30,
1883
- SymmetrySchema30,
1884
- ElementalRatio30,
1885
- PNorm30,
1886
- InChIRepresentationSchema30,
1887
- InChIKeyRepresentationSchema30,
1893
+ VolumeSchema26,
1894
+ DensitySchema26,
1895
+ SymmetrySchema26,
1896
+ ElementalRatio26,
1897
+ PNorm26,
1898
+ InChIRepresentationSchema26,
1899
+ InChIKeyRepresentationSchema26,
1888
1900
  ]
1889
1901
  ]
1890
1902
  ):
1891
1903
  root: Union[
1892
- VolumeSchema30,
1893
- DensitySchema30,
1894
- SymmetrySchema30,
1895
- ElementalRatio30,
1896
- PNorm30,
1897
- InChIRepresentationSchema30,
1898
- InChIKeyRepresentationSchema30,
1904
+ VolumeSchema26,
1905
+ DensitySchema26,
1906
+ SymmetrySchema26,
1907
+ ElementalRatio26,
1908
+ PNorm26,
1909
+ InChIRepresentationSchema26,
1910
+ InChIKeyRepresentationSchema26,
1899
1911
  ] = Field(..., discriminator="name")
1900
1912
 
1901
1913
 
1902
- class Name254(Enum):
1914
+ class Name222(Enum):
1903
1915
  default = "default"
1904
1916
  atomsTooClose = "atomsTooClose"
1905
1917
  atomsOverlap = "atomsOverlap"
1906
1918
 
1907
1919
 
1908
- class MaterialConsistencyCheckSchema30(BaseModel):
1909
- name: Name254
1920
+ class MaterialConsistencyCheckSchema26(BaseModel):
1921
+ name: Name222
1910
1922
  """
1911
1923
  Name of the consistency check that is performed, which is listed in an enum.
1912
1924
  """
@@ -1924,7 +1936,7 @@ class MaterialConsistencyCheckSchema30(BaseModel):
1924
1936
  """
1925
1937
 
1926
1938
 
1927
- class CrystalSchema30(BaseModel):
1939
+ class CrystalSchema26(BaseModel):
1928
1940
  formula: Optional[str] = None
1929
1941
  """
1930
1942
  reduced chemical formula
@@ -1933,9 +1945,9 @@ class CrystalSchema30(BaseModel):
1933
1945
  """
1934
1946
  chemical formula based on the number of atoms of each element in the supercell
1935
1947
  """
1936
- basis: BasisSchema31 = Field(..., title="basis schema")
1937
- lattice: LatticeSchema30 = Field(..., title="lattice schema")
1938
- derivedProperties: Optional[List[DerivedPropertiesSchema30]] = Field(None, title="derived properties schema")
1948
+ basis: BasisSchema27 = Field(..., title="basis schema")
1949
+ lattice: LatticeSchema26 = Field(..., title="lattice schema")
1950
+ derivedProperties: Optional[List[DerivedPropertiesSchema26]] = Field(None, title="derived properties schema")
1939
1951
  external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
1940
1952
  """
1941
1953
  information about a database source
@@ -1956,7 +1968,7 @@ class CrystalSchema30(BaseModel):
1956
1968
  """
1957
1969
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1958
1970
  """
1959
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema30]] = None
1971
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema26]] = None
1960
1972
  field_id: Optional[str] = Field(None, alias="_id")
1961
1973
  """
1962
1974
  entity identity
@@ -1981,7 +1993,7 @@ class CrystalSchema30(BaseModel):
1981
1993
  metadata: Optional[Dict[str, Any]] = None
1982
1994
 
1983
1995
 
1984
- class VacuumConfigurationSchema13(BaseModel):
1996
+ class VacuumConfigurationSchema11(BaseModel):
1985
1997
  direction: AxisEnum = Field(..., title="Axis Enum")
1986
1998
  """
1987
1999
  Enum for axis types
@@ -1990,23 +2002,27 @@ class VacuumConfigurationSchema13(BaseModel):
1990
2002
  """
1991
2003
  Size of the vacuum slab in angstroms
1992
2004
  """
1993
- crystal: CrystalSchema30 = Field(..., title="Crystal Schema")
2005
+ crystal: CrystalSchema26 = Field(..., title="Crystal Schema")
1994
2006
  """
1995
2007
  A crystal structure, referencing the base material schema
1996
2008
  """
1997
2009
 
1998
2010
 
1999
2011
  class SlabConfigurationSchema6(BaseModel):
2000
- stack_components: List[Union[AtomicLayersUniqueRepeatedSchema11, VacuumConfigurationSchema13]] = Field(
2012
+ stack_components: List[Union[AtomicLayersUniqueRepeatedSchema9, VacuumConfigurationSchema11]] = Field(
2001
2013
  ..., max_length=2, min_length=2
2002
2014
  )
2003
2015
  direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
2004
2016
  """
2005
2017
  Enum for axis types
2006
2018
  """
2019
+ gaps: Optional[List[ObjectWithId]] = None
2020
+ """
2021
+ Gap distances between stack components as an array of objects with id and value
2022
+ """
2007
2023
 
2008
2024
 
2009
- class Value70(Enum):
2025
+ class Value62(Enum):
2010
2026
  H = "H"
2011
2027
  He = "He"
2012
2028
  Li = "Li"
@@ -2127,13 +2143,13 @@ class Value70(Enum):
2127
2143
  Og = "Og"
2128
2144
 
2129
2145
 
2130
- class Value71(Enum):
2146
+ class Value63(Enum):
2131
2147
  X = "X"
2132
2148
  Vac = "Vac"
2133
2149
 
2134
2150
 
2135
- class AtomicElementSchema34(BaseModel):
2136
- value: Union[Value70, Value71]
2151
+ class AtomicElementSchema30(BaseModel):
2152
+ value: Union[Value62, Value63]
2137
2153
  """
2138
2154
  All elements, including extra elements
2139
2155
  """
@@ -2143,8 +2159,8 @@ class AtomicElementSchema34(BaseModel):
2143
2159
  """
2144
2160
 
2145
2161
 
2146
- class BasisSchema32(BaseModel):
2147
- elements: List[AtomicElementSchema34] = Field(..., title="atomic elements schema")
2162
+ class BasisSchema28(BaseModel):
2163
+ elements: List[AtomicElementSchema30] = Field(..., title="atomic elements schema")
2148
2164
  """
2149
2165
  atomic elements schema
2150
2166
  """
@@ -2159,7 +2175,7 @@ class BasisSchema32(BaseModel):
2159
2175
  """
2160
2176
 
2161
2177
 
2162
- class LatticeVectorsSchema31(BaseModel):
2178
+ class LatticeVectorsSchema27(BaseModel):
2163
2179
  a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
2164
2180
  b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
2165
2181
  c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
@@ -2170,12 +2186,12 @@ class LatticeVectorsSchema31(BaseModel):
2170
2186
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
2171
2187
 
2172
2188
 
2173
- class LatticeUnitsSchema31(BaseModel):
2189
+ class LatticeUnitsSchema27(BaseModel):
2174
2190
  length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
2175
2191
  angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
2176
2192
 
2177
2193
 
2178
- class LatticeSchema31(BaseModel):
2194
+ class LatticeSchema27(BaseModel):
2179
2195
  a: float
2180
2196
  """
2181
2197
  length of the first lattice vector
@@ -2200,56 +2216,56 @@ class LatticeSchema31(BaseModel):
2200
2216
  """
2201
2217
  angle between first and third lattice vector
2202
2218
  """
2203
- vectors: Optional[LatticeVectorsSchema31] = Field(None, title="lattice vectors schema")
2219
+ vectors: Optional[LatticeVectorsSchema27] = Field(None, title="lattice vectors schema")
2204
2220
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
2205
- units: Optional[LatticeUnitsSchema31] = Field(
2206
- default_factory=lambda: LatticeUnitsSchema31.model_validate({"length": "angstrom", "angle": "degree"}),
2221
+ units: Optional[LatticeUnitsSchema27] = Field(
2222
+ default_factory=lambda: LatticeUnitsSchema27.model_validate({"length": "angstrom", "angle": "degree"}),
2207
2223
  title="Lattice units schema",
2208
2224
  )
2209
2225
 
2210
2226
 
2211
- class Name255(Enum):
2227
+ class Name223(Enum):
2212
2228
  volume = "volume"
2213
2229
 
2214
2230
 
2215
- class Units102(Enum):
2231
+ class Units90(Enum):
2216
2232
  angstrom_3 = "angstrom^3"
2217
2233
 
2218
2234
 
2219
- class VolumeSchema31(BaseModel):
2235
+ class VolumeSchema27(BaseModel):
2220
2236
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
2221
- units: Optional[Units102] = None
2237
+ units: Optional[Units90] = None
2222
2238
  value: float
2223
2239
 
2224
2240
 
2225
- class Name256(Enum):
2241
+ class Name224(Enum):
2226
2242
  density = "density"
2227
2243
 
2228
2244
 
2229
- class Units103(Enum):
2245
+ class Units91(Enum):
2230
2246
  g_cm_3 = "g/cm^3"
2231
2247
 
2232
2248
 
2233
- class DensitySchema31(BaseModel):
2249
+ class DensitySchema27(BaseModel):
2234
2250
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
2235
- units: Optional[Units103] = None
2251
+ units: Optional[Units91] = None
2236
2252
  value: float
2237
2253
 
2238
2254
 
2239
- class Units104(Enum):
2255
+ class Units92(Enum):
2240
2256
  angstrom = "angstrom"
2241
2257
 
2242
2258
 
2243
- class ScalarSchema32(BaseModel):
2244
- units: Optional[Units104] = None
2259
+ class ScalarSchema28(BaseModel):
2260
+ units: Optional[Units92] = None
2245
2261
  value: float
2246
2262
 
2247
2263
 
2248
- class Name257(Enum):
2264
+ class Name225(Enum):
2249
2265
  symmetry = "symmetry"
2250
2266
 
2251
2267
 
2252
- class SymmetrySchema31(BaseModel):
2268
+ class SymmetrySchema27(BaseModel):
2253
2269
  pointGroupSymbol: Optional[str] = None
2254
2270
  """
2255
2271
  point group symbol in Schoenflies notation
@@ -2258,18 +2274,18 @@ class SymmetrySchema31(BaseModel):
2258
2274
  """
2259
2275
  space group symbol in Hermann–Mauguin notation
2260
2276
  """
2261
- tolerance: Optional[ScalarSchema32] = Field(None, title="scalar schema")
2277
+ tolerance: Optional[ScalarSchema28] = Field(None, title="scalar schema")
2262
2278
  """
2263
2279
  tolerance used for symmetry calculation
2264
2280
  """
2265
2281
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
2266
2282
 
2267
2283
 
2268
- class Name258(Enum):
2284
+ class Name226(Enum):
2269
2285
  elemental_ratio = "elemental_ratio"
2270
2286
 
2271
2287
 
2272
- class ElementalRatio31(BaseModel):
2288
+ class ElementalRatio27(BaseModel):
2273
2289
  name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
2274
2290
  value: confloat(ge=0.0, le=1.0)
2275
2291
  element: Optional[str] = None
@@ -2278,11 +2294,11 @@ class ElementalRatio31(BaseModel):
2278
2294
  """
2279
2295
 
2280
2296
 
2281
- class Name259(Enum):
2297
+ class Name227(Enum):
2282
2298
  p_norm = "p-norm"
2283
2299
 
2284
2300
 
2285
- class PNorm31(BaseModel):
2301
+ class PNorm27(BaseModel):
2286
2302
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
2287
2303
  degree: Optional[int] = None
2288
2304
  """
@@ -2291,56 +2307,56 @@ class PNorm31(BaseModel):
2291
2307
  value: float
2292
2308
 
2293
2309
 
2294
- class Name260(Enum):
2310
+ class Name228(Enum):
2295
2311
  inchi = "inchi"
2296
2312
 
2297
2313
 
2298
- class InChIRepresentationSchema31(BaseModel):
2314
+ class InChIRepresentationSchema27(BaseModel):
2299
2315
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
2300
2316
  value: str
2301
2317
 
2302
2318
 
2303
- class Name261(Enum):
2319
+ class Name229(Enum):
2304
2320
  inchi_key = "inchi_key"
2305
2321
 
2306
2322
 
2307
- class InChIKeyRepresentationSchema31(BaseModel):
2323
+ class InChIKeyRepresentationSchema27(BaseModel):
2308
2324
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
2309
2325
  value: str
2310
2326
 
2311
2327
 
2312
- class DerivedPropertiesSchema31(
2328
+ class DerivedPropertiesSchema27(
2313
2329
  RootModel[
2314
2330
  Union[
2315
- VolumeSchema31,
2316
- DensitySchema31,
2317
- SymmetrySchema31,
2318
- ElementalRatio31,
2319
- PNorm31,
2320
- InChIRepresentationSchema31,
2321
- InChIKeyRepresentationSchema31,
2331
+ VolumeSchema27,
2332
+ DensitySchema27,
2333
+ SymmetrySchema27,
2334
+ ElementalRatio27,
2335
+ PNorm27,
2336
+ InChIRepresentationSchema27,
2337
+ InChIKeyRepresentationSchema27,
2322
2338
  ]
2323
2339
  ]
2324
2340
  ):
2325
2341
  root: Union[
2326
- VolumeSchema31,
2327
- DensitySchema31,
2328
- SymmetrySchema31,
2329
- ElementalRatio31,
2330
- PNorm31,
2331
- InChIRepresentationSchema31,
2332
- InChIKeyRepresentationSchema31,
2342
+ VolumeSchema27,
2343
+ DensitySchema27,
2344
+ SymmetrySchema27,
2345
+ ElementalRatio27,
2346
+ PNorm27,
2347
+ InChIRepresentationSchema27,
2348
+ InChIKeyRepresentationSchema27,
2333
2349
  ] = Field(..., discriminator="name")
2334
2350
 
2335
2351
 
2336
- class Name262(Enum):
2352
+ class Name230(Enum):
2337
2353
  default = "default"
2338
2354
  atomsTooClose = "atomsTooClose"
2339
2355
  atomsOverlap = "atomsOverlap"
2340
2356
 
2341
2357
 
2342
- class MaterialConsistencyCheckSchema31(BaseModel):
2343
- name: Name262
2358
+ class MaterialConsistencyCheckSchema27(BaseModel):
2359
+ name: Name230
2344
2360
  """
2345
2361
  Name of the consistency check that is performed, which is listed in an enum.
2346
2362
  """
@@ -2358,7 +2374,7 @@ class MaterialConsistencyCheckSchema31(BaseModel):
2358
2374
  """
2359
2375
 
2360
2376
 
2361
- class CrystalSchema31(BaseModel):
2377
+ class CrystalSchema27(BaseModel):
2362
2378
  formula: Optional[str] = None
2363
2379
  """
2364
2380
  reduced chemical formula
@@ -2367,9 +2383,9 @@ class CrystalSchema31(BaseModel):
2367
2383
  """
2368
2384
  chemical formula based on the number of atoms of each element in the supercell
2369
2385
  """
2370
- basis: BasisSchema32 = Field(..., title="basis schema")
2371
- lattice: LatticeSchema31 = Field(..., title="lattice schema")
2372
- derivedProperties: Optional[List[DerivedPropertiesSchema31]] = Field(None, title="derived properties schema")
2386
+ basis: BasisSchema28 = Field(..., title="basis schema")
2387
+ lattice: LatticeSchema27 = Field(..., title="lattice schema")
2388
+ derivedProperties: Optional[List[DerivedPropertiesSchema27]] = Field(None, title="derived properties schema")
2373
2389
  external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
2374
2390
  """
2375
2391
  information about a database source
@@ -2390,7 +2406,7 @@ class CrystalSchema31(BaseModel):
2390
2406
  """
2391
2407
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
2392
2408
  """
2393
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema31]] = None
2409
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema27]] = None
2394
2410
  field_id: Optional[str] = Field(None, alias="_id")
2395
2411
  """
2396
2412
  entity identity
@@ -2430,7 +2446,7 @@ class BoxCoordinateConditionSchema(BaseModel):
2430
2446
 
2431
2447
 
2432
2448
  class VoidRegionSchema(BaseModel):
2433
- crystal: CrystalSchema31 = Field(..., title="Crystal Schema")
2449
+ crystal: CrystalSchema27 = Field(..., title="Crystal Schema")
2434
2450
  """
2435
2451
  A crystal structure, referencing the base material schema
2436
2452
  """
@@ -2454,7 +2470,7 @@ class MergeSchema(BaseModel):
2454
2470
  """
2455
2471
 
2456
2472
 
2457
- class Value72(Enum):
2473
+ class Value64(Enum):
2458
2474
  H = "H"
2459
2475
  He = "He"
2460
2476
  Li = "Li"
@@ -2575,13 +2591,13 @@ class Value72(Enum):
2575
2591
  Og = "Og"
2576
2592
 
2577
2593
 
2578
- class Value73(Enum):
2594
+ class Value65(Enum):
2579
2595
  X = "X"
2580
2596
  Vac = "Vac"
2581
2597
 
2582
2598
 
2583
- class AtomicElementSchema35(BaseModel):
2584
- value: Union[Value72, Value73]
2599
+ class AtomicElementSchema31(BaseModel):
2600
+ value: Union[Value64, Value65]
2585
2601
  """
2586
2602
  All elements, including extra elements
2587
2603
  """
@@ -2591,8 +2607,8 @@ class AtomicElementSchema35(BaseModel):
2591
2607
  """
2592
2608
 
2593
2609
 
2594
- class BasisSchema33(BaseModel):
2595
- elements: List[AtomicElementSchema35] = Field(..., title="atomic elements schema")
2610
+ class BasisSchema29(BaseModel):
2611
+ elements: List[AtomicElementSchema31] = Field(..., title="atomic elements schema")
2596
2612
  """
2597
2613
  atomic elements schema
2598
2614
  """
@@ -2607,7 +2623,7 @@ class BasisSchema33(BaseModel):
2607
2623
  """
2608
2624
 
2609
2625
 
2610
- class LatticeVectorsSchema32(BaseModel):
2626
+ class LatticeVectorsSchema28(BaseModel):
2611
2627
  a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
2612
2628
  b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
2613
2629
  c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
@@ -2618,12 +2634,12 @@ class LatticeVectorsSchema32(BaseModel):
2618
2634
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
2619
2635
 
2620
2636
 
2621
- class LatticeUnitsSchema32(BaseModel):
2637
+ class LatticeUnitsSchema28(BaseModel):
2622
2638
  length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
2623
2639
  angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
2624
2640
 
2625
2641
 
2626
- class LatticeSchema32(BaseModel):
2642
+ class LatticeSchema28(BaseModel):
2627
2643
  a: float
2628
2644
  """
2629
2645
  length of the first lattice vector
@@ -2648,56 +2664,56 @@ class LatticeSchema32(BaseModel):
2648
2664
  """
2649
2665
  angle between first and third lattice vector
2650
2666
  """
2651
- vectors: Optional[LatticeVectorsSchema32] = Field(None, title="lattice vectors schema")
2667
+ vectors: Optional[LatticeVectorsSchema28] = Field(None, title="lattice vectors schema")
2652
2668
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
2653
- units: Optional[LatticeUnitsSchema32] = Field(
2654
- default_factory=lambda: LatticeUnitsSchema32.model_validate({"length": "angstrom", "angle": "degree"}),
2669
+ units: Optional[LatticeUnitsSchema28] = Field(
2670
+ default_factory=lambda: LatticeUnitsSchema28.model_validate({"length": "angstrom", "angle": "degree"}),
2655
2671
  title="Lattice units schema",
2656
2672
  )
2657
2673
 
2658
2674
 
2659
- class Name263(Enum):
2675
+ class Name231(Enum):
2660
2676
  volume = "volume"
2661
2677
 
2662
2678
 
2663
- class Units105(Enum):
2679
+ class Units93(Enum):
2664
2680
  angstrom_3 = "angstrom^3"
2665
2681
 
2666
2682
 
2667
- class VolumeSchema32(BaseModel):
2683
+ class VolumeSchema28(BaseModel):
2668
2684
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
2669
- units: Optional[Units105] = None
2685
+ units: Optional[Units93] = None
2670
2686
  value: float
2671
2687
 
2672
2688
 
2673
- class Name264(Enum):
2689
+ class Name232(Enum):
2674
2690
  density = "density"
2675
2691
 
2676
2692
 
2677
- class Units106(Enum):
2693
+ class Units94(Enum):
2678
2694
  g_cm_3 = "g/cm^3"
2679
2695
 
2680
2696
 
2681
- class DensitySchema32(BaseModel):
2697
+ class DensitySchema28(BaseModel):
2682
2698
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
2683
- units: Optional[Units106] = None
2699
+ units: Optional[Units94] = None
2684
2700
  value: float
2685
2701
 
2686
2702
 
2687
- class Units107(Enum):
2703
+ class Units95(Enum):
2688
2704
  angstrom = "angstrom"
2689
2705
 
2690
2706
 
2691
- class ScalarSchema33(BaseModel):
2692
- units: Optional[Units107] = None
2707
+ class ScalarSchema29(BaseModel):
2708
+ units: Optional[Units95] = None
2693
2709
  value: float
2694
2710
 
2695
2711
 
2696
- class Name265(Enum):
2712
+ class Name233(Enum):
2697
2713
  symmetry = "symmetry"
2698
2714
 
2699
2715
 
2700
- class SymmetrySchema32(BaseModel):
2716
+ class SymmetrySchema28(BaseModel):
2701
2717
  pointGroupSymbol: Optional[str] = None
2702
2718
  """
2703
2719
  point group symbol in Schoenflies notation
@@ -2706,18 +2722,18 @@ class SymmetrySchema32(BaseModel):
2706
2722
  """
2707
2723
  space group symbol in Hermann–Mauguin notation
2708
2724
  """
2709
- tolerance: Optional[ScalarSchema33] = Field(None, title="scalar schema")
2725
+ tolerance: Optional[ScalarSchema29] = Field(None, title="scalar schema")
2710
2726
  """
2711
2727
  tolerance used for symmetry calculation
2712
2728
  """
2713
2729
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
2714
2730
 
2715
2731
 
2716
- class Name266(Enum):
2732
+ class Name234(Enum):
2717
2733
  elemental_ratio = "elemental_ratio"
2718
2734
 
2719
2735
 
2720
- class ElementalRatio32(BaseModel):
2736
+ class ElementalRatio28(BaseModel):
2721
2737
  name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
2722
2738
  value: confloat(ge=0.0, le=1.0)
2723
2739
  element: Optional[str] = None
@@ -2726,11 +2742,11 @@ class ElementalRatio32(BaseModel):
2726
2742
  """
2727
2743
 
2728
2744
 
2729
- class Name267(Enum):
2745
+ class Name235(Enum):
2730
2746
  p_norm = "p-norm"
2731
2747
 
2732
2748
 
2733
- class PNorm32(BaseModel):
2749
+ class PNorm28(BaseModel):
2734
2750
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
2735
2751
  degree: Optional[int] = None
2736
2752
  """
@@ -2739,56 +2755,56 @@ class PNorm32(BaseModel):
2739
2755
  value: float
2740
2756
 
2741
2757
 
2742
- class Name268(Enum):
2758
+ class Name236(Enum):
2743
2759
  inchi = "inchi"
2744
2760
 
2745
2761
 
2746
- class InChIRepresentationSchema32(BaseModel):
2762
+ class InChIRepresentationSchema28(BaseModel):
2747
2763
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
2748
2764
  value: str
2749
2765
 
2750
2766
 
2751
- class Name269(Enum):
2767
+ class Name237(Enum):
2752
2768
  inchi_key = "inchi_key"
2753
2769
 
2754
2770
 
2755
- class InChIKeyRepresentationSchema32(BaseModel):
2771
+ class InChIKeyRepresentationSchema28(BaseModel):
2756
2772
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
2757
2773
  value: str
2758
2774
 
2759
2775
 
2760
- class DerivedPropertiesSchema32(
2776
+ class DerivedPropertiesSchema28(
2761
2777
  RootModel[
2762
2778
  Union[
2763
- VolumeSchema32,
2764
- DensitySchema32,
2765
- SymmetrySchema32,
2766
- ElementalRatio32,
2767
- PNorm32,
2768
- InChIRepresentationSchema32,
2769
- InChIKeyRepresentationSchema32,
2779
+ VolumeSchema28,
2780
+ DensitySchema28,
2781
+ SymmetrySchema28,
2782
+ ElementalRatio28,
2783
+ PNorm28,
2784
+ InChIRepresentationSchema28,
2785
+ InChIKeyRepresentationSchema28,
2770
2786
  ]
2771
2787
  ]
2772
2788
  ):
2773
2789
  root: Union[
2774
- VolumeSchema32,
2775
- DensitySchema32,
2776
- SymmetrySchema32,
2777
- ElementalRatio32,
2778
- PNorm32,
2779
- InChIRepresentationSchema32,
2780
- InChIKeyRepresentationSchema32,
2790
+ VolumeSchema28,
2791
+ DensitySchema28,
2792
+ SymmetrySchema28,
2793
+ ElementalRatio28,
2794
+ PNorm28,
2795
+ InChIRepresentationSchema28,
2796
+ InChIKeyRepresentationSchema28,
2781
2797
  ] = Field(..., discriminator="name")
2782
2798
 
2783
2799
 
2784
- class Name270(Enum):
2800
+ class Name238(Enum):
2785
2801
  default = "default"
2786
2802
  atomsTooClose = "atomsTooClose"
2787
2803
  atomsOverlap = "atomsOverlap"
2788
2804
 
2789
2805
 
2790
- class MaterialConsistencyCheckSchema32(BaseModel):
2791
- name: Name270
2806
+ class MaterialConsistencyCheckSchema28(BaseModel):
2807
+ name: Name238
2792
2808
  """
2793
2809
  Name of the consistency check that is performed, which is listed in an enum.
2794
2810
  """
@@ -2806,7 +2822,7 @@ class MaterialConsistencyCheckSchema32(BaseModel):
2806
2822
  """
2807
2823
 
2808
2824
 
2809
- class CrystalSchema32(BaseModel):
2825
+ class CrystalSchema28(BaseModel):
2810
2826
  formula: Optional[str] = None
2811
2827
  """
2812
2828
  reduced chemical formula
@@ -2815,9 +2831,9 @@ class CrystalSchema32(BaseModel):
2815
2831
  """
2816
2832
  chemical formula based on the number of atoms of each element in the supercell
2817
2833
  """
2818
- basis: BasisSchema33 = Field(..., title="basis schema")
2819
- lattice: LatticeSchema32 = Field(..., title="lattice schema")
2820
- derivedProperties: Optional[List[DerivedPropertiesSchema32]] = Field(None, title="derived properties schema")
2834
+ basis: BasisSchema29 = Field(..., title="basis schema")
2835
+ lattice: LatticeSchema28 = Field(..., title="lattice schema")
2836
+ derivedProperties: Optional[List[DerivedPropertiesSchema28]] = Field(None, title="derived properties schema")
2821
2837
  external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
2822
2838
  """
2823
2839
  information about a database source
@@ -2838,7 +2854,7 @@ class CrystalSchema32(BaseModel):
2838
2854
  """
2839
2855
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
2840
2856
  """
2841
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema32]] = None
2857
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema28]] = None
2842
2858
  field_id: Optional[str] = Field(None, alias="_id")
2843
2859
  """
2844
2860
  entity identity
@@ -2863,7 +2879,7 @@ class CrystalSchema32(BaseModel):
2863
2879
  metadata: Optional[Dict[str, Any]] = None
2864
2880
 
2865
2881
 
2866
- class VacuumConfigurationSchema14(BaseModel):
2882
+ class VacuumConfigurationSchema12(BaseModel):
2867
2883
  direction: AxisEnum = Field(..., title="Axis Enum")
2868
2884
  """
2869
2885
  Enum for axis types
@@ -2872,17 +2888,21 @@ class VacuumConfigurationSchema14(BaseModel):
2872
2888
  """
2873
2889
  Size of the vacuum slab in angstroms
2874
2890
  """
2875
- crystal: CrystalSchema32 = Field(..., title="Crystal Schema")
2891
+ crystal: CrystalSchema28 = Field(..., title="Crystal Schema")
2876
2892
  """
2877
2893
  A crystal structure, referencing the base material schema
2878
2894
  """
2879
2895
 
2880
2896
 
2881
2897
  class IslandDefectConfigurationSchema(BaseModel):
2882
- stack_components: List[Union[SlabConfigurationSchema, MergeSchema, VacuumConfigurationSchema14]] = Field(
2898
+ stack_components: List[Union[SlabConfigurationSchema, MergeSchema, VacuumConfigurationSchema12]] = Field(
2883
2899
  ..., max_length=3, min_length=3
2884
2900
  )
2885
2901
  direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
2886
2902
  """
2887
2903
  Enum for axis types
2888
2904
  """
2905
+ gaps: Optional[List[ObjectWithId]] = None
2906
+ """
2907
+ Gap distances between stack components as an array of objects with id and value
2908
+ """