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

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

Potentially problematic release.


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

Files changed (65) 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/models/software/template.py +4 -0
  56. mat3ra/esse/models/software_directory/modeling/unit/execution.py +4 -0
  57. mat3ra/esse/models/software_directory/scripting/unit/execution.py +4 -0
  58. mat3ra/esse/models/workflow/unit/input/_input.py +4 -0
  59. mat3ra/esse/models/workflow/unit/input/_inputItem.py +4 -0
  60. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post1.dist-info}/METADATA +1 -1
  61. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post1.dist-info}/RECORD +64 -65
  62. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py +0 -1151
  63. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post1.dist-info}/WHEEL +0 -0
  64. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post1.dist-info}/licenses/LICENSE.md +0 -0
  65. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post1.dist-info}/top_level.txt +0 -0
@@ -265,13 +265,13 @@ class Value(Enum):
265
265
  Og = "Og"
266
266
 
267
267
 
268
- class Value43(Enum):
268
+ class Value35(Enum):
269
269
  X = "X"
270
270
  Vac = "Vac"
271
271
 
272
272
 
273
273
  class AtomicElementSchema(BaseModel):
274
- value: Union[Value, Value43]
274
+ value: Union[Value, Value35]
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 Name144(Enum):
422
+ class Name112(Enum):
423
423
  density = "density"
424
424
 
425
425
 
426
- class Units61(Enum):
426
+ class Units49(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[Units61] = None
432
+ units: Optional[Units49] = None
433
433
  value: float
434
434
 
435
435
 
436
- class Units62(Enum):
436
+ class Units50(Enum):
437
437
  angstrom = "angstrom"
438
438
 
439
439
 
440
440
  class ScalarSchema(BaseModel):
441
- units: Optional[Units62] = None
441
+ units: Optional[Units50] = None
442
442
  value: float
443
443
 
444
444
 
445
- class Name145(Enum):
445
+ class Name113(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 Name146(Enum):
465
+ class Name114(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 Name147(Enum):
478
+ class Name115(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 Name148(Enum):
491
+ class Name116(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 Name149(Enum):
500
+ class Name117(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 Name150(Enum):
579
+ class Name118(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: Name150
592
+ name: Name118
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 Value44(Enum):
696
+ class Value36(Enum):
697
697
  H = "H"
698
698
  He = "He"
699
699
  Li = "Li"
@@ -814,13 +814,13 @@ class Value44(Enum):
814
814
  Og = "Og"
815
815
 
816
816
 
817
- class Value45(Enum):
817
+ class Value37(Enum):
818
818
  X = "X"
819
819
  Vac = "Vac"
820
820
 
821
821
 
822
- class AtomicElementSchema21(BaseModel):
823
- value: Union[Value44, Value45]
822
+ class AtomicElementSchema17(BaseModel):
823
+ value: Union[Value36, Value37]
824
824
  """
825
825
  All elements, including extra elements
826
826
  """
@@ -830,8 +830,8 @@ class AtomicElementSchema21(BaseModel):
830
830
  """
831
831
 
832
832
 
833
- class BasisSchema19(BaseModel):
834
- elements: List[AtomicElementSchema21] = Field(..., title="atomic elements schema")
833
+ class BasisSchema15(BaseModel):
834
+ elements: List[AtomicElementSchema17] = Field(..., title="atomic elements schema")
835
835
  """
836
836
  atomic elements schema
837
837
  """
@@ -846,7 +846,7 @@ class BasisSchema19(BaseModel):
846
846
  """
847
847
 
848
848
 
849
- class LatticeVectorsSchema18(BaseModel):
849
+ class LatticeVectorsSchema14(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 LatticeVectorsSchema18(BaseModel):
857
857
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
858
858
 
859
859
 
860
- class LatticeUnitsSchema18(BaseModel):
860
+ class LatticeUnitsSchema14(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 LatticeSchema18(BaseModel):
865
+ class LatticeSchema14(BaseModel):
866
866
  a: float
867
867
  """
868
868
  length of the first lattice vector
@@ -887,56 +887,56 @@ class LatticeSchema18(BaseModel):
887
887
  """
888
888
  angle between first and third lattice vector
889
889
  """
890
- vectors: Optional[LatticeVectorsSchema18] = Field(None, title="lattice vectors schema")
890
+ vectors: Optional[LatticeVectorsSchema14] = Field(None, title="lattice vectors schema")
891
891
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
892
- units: Optional[LatticeUnitsSchema18] = Field(
893
- default_factory=lambda: LatticeUnitsSchema18.model_validate({"length": "angstrom", "angle": "degree"}),
892
+ units: Optional[LatticeUnitsSchema14] = Field(
893
+ default_factory=lambda: LatticeUnitsSchema14.model_validate({"length": "angstrom", "angle": "degree"}),
894
894
  title="Lattice units schema",
895
895
  )
896
896
 
897
897
 
898
- class Name151(Enum):
898
+ class Name119(Enum):
899
899
  volume = "volume"
900
900
 
901
901
 
902
- class Units63(Enum):
902
+ class Units51(Enum):
903
903
  angstrom_3 = "angstrom^3"
904
904
 
905
905
 
906
- class VolumeSchema18(BaseModel):
906
+ class VolumeSchema14(BaseModel):
907
907
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
908
- units: Optional[Units63] = None
908
+ units: Optional[Units51] = None
909
909
  value: float
910
910
 
911
911
 
912
- class Name152(Enum):
912
+ class Name120(Enum):
913
913
  density = "density"
914
914
 
915
915
 
916
- class Units64(Enum):
916
+ class Units52(Enum):
917
917
  g_cm_3 = "g/cm^3"
918
918
 
919
919
 
920
- class DensitySchema18(BaseModel):
920
+ class DensitySchema14(BaseModel):
921
921
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
922
- units: Optional[Units64] = None
922
+ units: Optional[Units52] = None
923
923
  value: float
924
924
 
925
925
 
926
- class Units65(Enum):
926
+ class Units53(Enum):
927
927
  angstrom = "angstrom"
928
928
 
929
929
 
930
- class ScalarSchema19(BaseModel):
931
- units: Optional[Units65] = None
930
+ class ScalarSchema15(BaseModel):
931
+ units: Optional[Units53] = None
932
932
  value: float
933
933
 
934
934
 
935
- class Name153(Enum):
935
+ class Name121(Enum):
936
936
  symmetry = "symmetry"
937
937
 
938
938
 
939
- class SymmetrySchema18(BaseModel):
939
+ class SymmetrySchema14(BaseModel):
940
940
  pointGroupSymbol: Optional[str] = None
941
941
  """
942
942
  point group symbol in Schoenflies notation
@@ -945,18 +945,18 @@ class SymmetrySchema18(BaseModel):
945
945
  """
946
946
  space group symbol in Hermann–Mauguin notation
947
947
  """
948
- tolerance: Optional[ScalarSchema19] = Field(None, title="scalar schema")
948
+ tolerance: Optional[ScalarSchema15] = 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 Name154(Enum):
955
+ class Name122(Enum):
956
956
  elemental_ratio = "elemental_ratio"
957
957
 
958
958
 
959
- class ElementalRatio18(BaseModel):
959
+ class ElementalRatio14(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 ElementalRatio18(BaseModel):
965
965
  """
966
966
 
967
967
 
968
- class Name155(Enum):
968
+ class Name123(Enum):
969
969
  p_norm = "p-norm"
970
970
 
971
971
 
972
- class PNorm18(BaseModel):
972
+ class PNorm14(BaseModel):
973
973
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
974
974
  degree: Optional[int] = None
975
975
  """
@@ -978,56 +978,56 @@ class PNorm18(BaseModel):
978
978
  value: float
979
979
 
980
980
 
981
- class Name156(Enum):
981
+ class Name124(Enum):
982
982
  inchi = "inchi"
983
983
 
984
984
 
985
- class InChIRepresentationSchema18(BaseModel):
985
+ class InChIRepresentationSchema14(BaseModel):
986
986
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
987
987
  value: str
988
988
 
989
989
 
990
- class Name157(Enum):
990
+ class Name125(Enum):
991
991
  inchi_key = "inchi_key"
992
992
 
993
993
 
994
- class InChIKeyRepresentationSchema18(BaseModel):
994
+ class InChIKeyRepresentationSchema14(BaseModel):
995
995
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
996
996
  value: str
997
997
 
998
998
 
999
- class DerivedPropertiesSchema18(
999
+ class DerivedPropertiesSchema14(
1000
1000
  RootModel[
1001
1001
  Union[
1002
- VolumeSchema18,
1003
- DensitySchema18,
1004
- SymmetrySchema18,
1005
- ElementalRatio18,
1006
- PNorm18,
1007
- InChIRepresentationSchema18,
1008
- InChIKeyRepresentationSchema18,
1002
+ VolumeSchema14,
1003
+ DensitySchema14,
1004
+ SymmetrySchema14,
1005
+ ElementalRatio14,
1006
+ PNorm14,
1007
+ InChIRepresentationSchema14,
1008
+ InChIKeyRepresentationSchema14,
1009
1009
  ]
1010
1010
  ]
1011
1011
  ):
1012
1012
  root: Union[
1013
- VolumeSchema18,
1014
- DensitySchema18,
1015
- SymmetrySchema18,
1016
- ElementalRatio18,
1017
- PNorm18,
1018
- InChIRepresentationSchema18,
1019
- InChIKeyRepresentationSchema18,
1013
+ VolumeSchema14,
1014
+ DensitySchema14,
1015
+ SymmetrySchema14,
1016
+ ElementalRatio14,
1017
+ PNorm14,
1018
+ InChIRepresentationSchema14,
1019
+ InChIKeyRepresentationSchema14,
1020
1020
  ] = Field(..., discriminator="name")
1021
1021
 
1022
1022
 
1023
- class Name158(Enum):
1023
+ class Name126(Enum):
1024
1024
  default = "default"
1025
1025
  atomsTooClose = "atomsTooClose"
1026
1026
  atomsOverlap = "atomsOverlap"
1027
1027
 
1028
1028
 
1029
- class MaterialConsistencyCheckSchema18(BaseModel):
1030
- name: Name158
1029
+ class MaterialConsistencyCheckSchema14(BaseModel):
1030
+ name: Name126
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 MaterialConsistencyCheckSchema18(BaseModel):
1045
1045
  """
1046
1046
 
1047
1047
 
1048
- class CrystalSchema18(BaseModel):
1048
+ class CrystalSchema14(BaseModel):
1049
1049
  formula: Optional[str] = None
1050
1050
  """
1051
1051
  reduced chemical formula
@@ -1054,9 +1054,9 @@ class CrystalSchema18(BaseModel):
1054
1054
  """
1055
1055
  chemical formula based on the number of atoms of each element in the supercell
1056
1056
  """
1057
- basis: BasisSchema19 = Field(..., title="basis schema")
1058
- lattice: LatticeSchema18 = Field(..., title="lattice schema")
1059
- derivedProperties: Optional[List[DerivedPropertiesSchema18]] = Field(None, title="derived properties schema")
1057
+ basis: BasisSchema15 = Field(..., title="basis schema")
1058
+ lattice: LatticeSchema14 = Field(..., title="lattice schema")
1059
+ derivedProperties: Optional[List[DerivedPropertiesSchema14]] = 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 CrystalSchema18(BaseModel):
1077
1077
  """
1078
1078
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1079
1079
  """
1080
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema18]] = None
1080
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema14]] = 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: CrystalSchema18 = Field(..., title="Crystal Schema")
1114
+ crystal: CrystalSchema14 = 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 TerminationSchema10(BaseModel):
1142
+ class TerminationSchema8(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 TerminationSchema10(BaseModel):
1140
1152
  """
1141
1153
 
1142
1154
 
1143
- class Value46(Enum):
1155
+ class Value38(Enum):
1144
1156
  H = "H"
1145
1157
  He = "He"
1146
1158
  Li = "Li"
@@ -1261,13 +1273,13 @@ class Value46(Enum):
1261
1273
  Og = "Og"
1262
1274
 
1263
1275
 
1264
- class Value47(Enum):
1276
+ class Value39(Enum):
1265
1277
  X = "X"
1266
1278
  Vac = "Vac"
1267
1279
 
1268
1280
 
1269
- class AtomicElementSchema22(BaseModel):
1270
- value: Union[Value46, Value47]
1281
+ class AtomicElementSchema18(BaseModel):
1282
+ value: Union[Value38, Value39]
1271
1283
  """
1272
1284
  All elements, including extra elements
1273
1285
  """
@@ -1277,8 +1289,8 @@ class AtomicElementSchema22(BaseModel):
1277
1289
  """
1278
1290
 
1279
1291
 
1280
- class BasisSchema20(BaseModel):
1281
- elements: List[AtomicElementSchema22] = Field(..., title="atomic elements schema")
1292
+ class BasisSchema16(BaseModel):
1293
+ elements: List[AtomicElementSchema18] = Field(..., title="atomic elements schema")
1282
1294
  """
1283
1295
  atomic elements schema
1284
1296
  """
@@ -1293,7 +1305,7 @@ class BasisSchema20(BaseModel):
1293
1305
  """
1294
1306
 
1295
1307
 
1296
- class LatticeVectorsSchema19(BaseModel):
1308
+ class LatticeVectorsSchema15(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 LatticeVectorsSchema19(BaseModel):
1304
1316
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
1305
1317
 
1306
1318
 
1307
- class LatticeUnitsSchema19(BaseModel):
1319
+ class LatticeUnitsSchema15(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 LatticeSchema19(BaseModel):
1324
+ class LatticeSchema15(BaseModel):
1313
1325
  a: float
1314
1326
  """
1315
1327
  length of the first lattice vector
@@ -1334,56 +1346,56 @@ class LatticeSchema19(BaseModel):
1334
1346
  """
1335
1347
  angle between first and third lattice vector
1336
1348
  """
1337
- vectors: Optional[LatticeVectorsSchema19] = Field(None, title="lattice vectors schema")
1349
+ vectors: Optional[LatticeVectorsSchema15] = Field(None, title="lattice vectors schema")
1338
1350
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
1339
- units: Optional[LatticeUnitsSchema19] = Field(
1340
- default_factory=lambda: LatticeUnitsSchema19.model_validate({"length": "angstrom", "angle": "degree"}),
1351
+ units: Optional[LatticeUnitsSchema15] = Field(
1352
+ default_factory=lambda: LatticeUnitsSchema15.model_validate({"length": "angstrom", "angle": "degree"}),
1341
1353
  title="Lattice units schema",
1342
1354
  )
1343
1355
 
1344
1356
 
1345
- class Name159(Enum):
1357
+ class Name127(Enum):
1346
1358
  volume = "volume"
1347
1359
 
1348
1360
 
1349
- class Units66(Enum):
1361
+ class Units54(Enum):
1350
1362
  angstrom_3 = "angstrom^3"
1351
1363
 
1352
1364
 
1353
- class VolumeSchema19(BaseModel):
1365
+ class VolumeSchema15(BaseModel):
1354
1366
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
1355
- units: Optional[Units66] = None
1367
+ units: Optional[Units54] = None
1356
1368
  value: float
1357
1369
 
1358
1370
 
1359
- class Name160(Enum):
1371
+ class Name128(Enum):
1360
1372
  density = "density"
1361
1373
 
1362
1374
 
1363
- class Units67(Enum):
1375
+ class Units55(Enum):
1364
1376
  g_cm_3 = "g/cm^3"
1365
1377
 
1366
1378
 
1367
- class DensitySchema19(BaseModel):
1379
+ class DensitySchema15(BaseModel):
1368
1380
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
1369
- units: Optional[Units67] = None
1381
+ units: Optional[Units55] = None
1370
1382
  value: float
1371
1383
 
1372
1384
 
1373
- class Units68(Enum):
1385
+ class Units56(Enum):
1374
1386
  angstrom = "angstrom"
1375
1387
 
1376
1388
 
1377
- class ScalarSchema20(BaseModel):
1378
- units: Optional[Units68] = None
1389
+ class ScalarSchema16(BaseModel):
1390
+ units: Optional[Units56] = None
1379
1391
  value: float
1380
1392
 
1381
1393
 
1382
- class Name161(Enum):
1394
+ class Name129(Enum):
1383
1395
  symmetry = "symmetry"
1384
1396
 
1385
1397
 
1386
- class SymmetrySchema19(BaseModel):
1398
+ class SymmetrySchema15(BaseModel):
1387
1399
  pointGroupSymbol: Optional[str] = None
1388
1400
  """
1389
1401
  point group symbol in Schoenflies notation
@@ -1392,18 +1404,18 @@ class SymmetrySchema19(BaseModel):
1392
1404
  """
1393
1405
  space group symbol in Hermann–Mauguin notation
1394
1406
  """
1395
- tolerance: Optional[ScalarSchema20] = Field(None, title="scalar schema")
1407
+ tolerance: Optional[ScalarSchema16] = 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 Name162(Enum):
1414
+ class Name130(Enum):
1403
1415
  elemental_ratio = "elemental_ratio"
1404
1416
 
1405
1417
 
1406
- class ElementalRatio19(BaseModel):
1418
+ class ElementalRatio15(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 ElementalRatio19(BaseModel):
1412
1424
  """
1413
1425
 
1414
1426
 
1415
- class Name163(Enum):
1427
+ class Name131(Enum):
1416
1428
  p_norm = "p-norm"
1417
1429
 
1418
1430
 
1419
- class PNorm19(BaseModel):
1431
+ class PNorm15(BaseModel):
1420
1432
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
1421
1433
  degree: Optional[int] = None
1422
1434
  """
@@ -1425,56 +1437,56 @@ class PNorm19(BaseModel):
1425
1437
  value: float
1426
1438
 
1427
1439
 
1428
- class Name164(Enum):
1440
+ class Name132(Enum):
1429
1441
  inchi = "inchi"
1430
1442
 
1431
1443
 
1432
- class InChIRepresentationSchema19(BaseModel):
1444
+ class InChIRepresentationSchema15(BaseModel):
1433
1445
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
1434
1446
  value: str
1435
1447
 
1436
1448
 
1437
- class Name165(Enum):
1449
+ class Name133(Enum):
1438
1450
  inchi_key = "inchi_key"
1439
1451
 
1440
1452
 
1441
- class InChIKeyRepresentationSchema19(BaseModel):
1453
+ class InChIKeyRepresentationSchema15(BaseModel):
1442
1454
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1443
1455
  value: str
1444
1456
 
1445
1457
 
1446
- class DerivedPropertiesSchema19(
1458
+ class DerivedPropertiesSchema15(
1447
1459
  RootModel[
1448
1460
  Union[
1449
- VolumeSchema19,
1450
- DensitySchema19,
1451
- SymmetrySchema19,
1452
- ElementalRatio19,
1453
- PNorm19,
1454
- InChIRepresentationSchema19,
1455
- InChIKeyRepresentationSchema19,
1461
+ VolumeSchema15,
1462
+ DensitySchema15,
1463
+ SymmetrySchema15,
1464
+ ElementalRatio15,
1465
+ PNorm15,
1466
+ InChIRepresentationSchema15,
1467
+ InChIKeyRepresentationSchema15,
1456
1468
  ]
1457
1469
  ]
1458
1470
  ):
1459
1471
  root: Union[
1460
- VolumeSchema19,
1461
- DensitySchema19,
1462
- SymmetrySchema19,
1463
- ElementalRatio19,
1464
- PNorm19,
1465
- InChIRepresentationSchema19,
1466
- InChIKeyRepresentationSchema19,
1472
+ VolumeSchema15,
1473
+ DensitySchema15,
1474
+ SymmetrySchema15,
1475
+ ElementalRatio15,
1476
+ PNorm15,
1477
+ InChIRepresentationSchema15,
1478
+ InChIKeyRepresentationSchema15,
1467
1479
  ] = Field(..., discriminator="name")
1468
1480
 
1469
1481
 
1470
- class Name166(Enum):
1482
+ class Name134(Enum):
1471
1483
  default = "default"
1472
1484
  atomsTooClose = "atomsTooClose"
1473
1485
  atomsOverlap = "atomsOverlap"
1474
1486
 
1475
1487
 
1476
- class MaterialConsistencyCheckSchema19(BaseModel):
1477
- name: Name166
1488
+ class MaterialConsistencyCheckSchema15(BaseModel):
1489
+ name: Name134
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 MaterialConsistencyCheckSchema19(BaseModel):
1492
1504
  """
1493
1505
 
1494
1506
 
1495
- class CrystalSchema19(BaseModel):
1507
+ class CrystalSchema15(BaseModel):
1496
1508
  formula: Optional[str] = None
1497
1509
  """
1498
1510
  reduced chemical formula
@@ -1501,9 +1513,9 @@ class CrystalSchema19(BaseModel):
1501
1513
  """
1502
1514
  chemical formula based on the number of atoms of each element in the supercell
1503
1515
  """
1504
- basis: BasisSchema20 = Field(..., title="basis schema")
1505
- lattice: LatticeSchema19 = Field(..., title="lattice schema")
1506
- derivedProperties: Optional[List[DerivedPropertiesSchema19]] = Field(None, title="derived properties schema")
1516
+ basis: BasisSchema16 = Field(..., title="basis schema")
1517
+ lattice: LatticeSchema15 = Field(..., title="lattice schema")
1518
+ derivedProperties: Optional[List[DerivedPropertiesSchema15]] = 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 CrystalSchema19(BaseModel):
1524
1536
  """
1525
1537
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1526
1538
  """
1527
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema19]] = None
1539
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema15]] = None
1528
1540
  field_id: Optional[str] = Field(None, alias="_id")
1529
1541
  """
1530
1542
  entity identity
@@ -1549,8 +1561,8 @@ class CrystalSchema19(BaseModel):
1549
1561
  metadata: Optional[Dict[str, Any]] = None
1550
1562
 
1551
1563
 
1552
- class AtomicLayersUniqueRepeatedSchema8(BaseModel):
1553
- termination_top: TerminationSchema10 = Field(..., title="Termination Schema")
1564
+ class AtomicLayersUniqueRepeatedSchema6(BaseModel):
1565
+ termination_top: TerminationSchema8 = Field(..., title="Termination Schema")
1554
1566
  """
1555
1567
  Defines a specific termination of a slab
1556
1568
  """
@@ -1562,7 +1574,7 @@ class AtomicLayersUniqueRepeatedSchema8(BaseModel):
1562
1574
  """
1563
1575
  Miller indices [h, k, l] defining crystallographic planes
1564
1576
  """
1565
- crystal: CrystalSchema19 = Field(..., title="Crystal Schema")
1577
+ crystal: CrystalSchema15 = Field(..., title="Crystal Schema")
1566
1578
  """
1567
1579
  A crystal structure, referencing the base material schema
1568
1580
  """
@@ -1572,7 +1584,7 @@ class AtomicLayersUniqueRepeatedSchema8(BaseModel):
1572
1584
  """
1573
1585
 
1574
1586
 
1575
- class Value48(Enum):
1587
+ class Value40(Enum):
1576
1588
  H = "H"
1577
1589
  He = "He"
1578
1590
  Li = "Li"
@@ -1693,13 +1705,13 @@ class Value48(Enum):
1693
1705
  Og = "Og"
1694
1706
 
1695
1707
 
1696
- class Value49(Enum):
1708
+ class Value41(Enum):
1697
1709
  X = "X"
1698
1710
  Vac = "Vac"
1699
1711
 
1700
1712
 
1701
- class AtomicElementSchema23(BaseModel):
1702
- value: Union[Value48, Value49]
1713
+ class AtomicElementSchema19(BaseModel):
1714
+ value: Union[Value40, Value41]
1703
1715
  """
1704
1716
  All elements, including extra elements
1705
1717
  """
@@ -1709,8 +1721,8 @@ class AtomicElementSchema23(BaseModel):
1709
1721
  """
1710
1722
 
1711
1723
 
1712
- class BasisSchema21(BaseModel):
1713
- elements: List[AtomicElementSchema23] = Field(..., title="atomic elements schema")
1724
+ class BasisSchema17(BaseModel):
1725
+ elements: List[AtomicElementSchema19] = Field(..., title="atomic elements schema")
1714
1726
  """
1715
1727
  atomic elements schema
1716
1728
  """
@@ -1725,7 +1737,7 @@ class BasisSchema21(BaseModel):
1725
1737
  """
1726
1738
 
1727
1739
 
1728
- class LatticeVectorsSchema20(BaseModel):
1740
+ class LatticeVectorsSchema16(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 LatticeVectorsSchema20(BaseModel):
1736
1748
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
1737
1749
 
1738
1750
 
1739
- class LatticeUnitsSchema20(BaseModel):
1751
+ class LatticeUnitsSchema16(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 LatticeSchema20(BaseModel):
1756
+ class LatticeSchema16(BaseModel):
1745
1757
  a: float
1746
1758
  """
1747
1759
  length of the first lattice vector
@@ -1766,56 +1778,56 @@ class LatticeSchema20(BaseModel):
1766
1778
  """
1767
1779
  angle between first and third lattice vector
1768
1780
  """
1769
- vectors: Optional[LatticeVectorsSchema20] = Field(None, title="lattice vectors schema")
1781
+ vectors: Optional[LatticeVectorsSchema16] = Field(None, title="lattice vectors schema")
1770
1782
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
1771
- units: Optional[LatticeUnitsSchema20] = Field(
1772
- default_factory=lambda: LatticeUnitsSchema20.model_validate({"length": "angstrom", "angle": "degree"}),
1783
+ units: Optional[LatticeUnitsSchema16] = Field(
1784
+ default_factory=lambda: LatticeUnitsSchema16.model_validate({"length": "angstrom", "angle": "degree"}),
1773
1785
  title="Lattice units schema",
1774
1786
  )
1775
1787
 
1776
1788
 
1777
- class Name167(Enum):
1789
+ class Name135(Enum):
1778
1790
  volume = "volume"
1779
1791
 
1780
1792
 
1781
- class Units69(Enum):
1793
+ class Units57(Enum):
1782
1794
  angstrom_3 = "angstrom^3"
1783
1795
 
1784
1796
 
1785
- class VolumeSchema20(BaseModel):
1797
+ class VolumeSchema16(BaseModel):
1786
1798
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
1787
- units: Optional[Units69] = None
1799
+ units: Optional[Units57] = None
1788
1800
  value: float
1789
1801
 
1790
1802
 
1791
- class Name168(Enum):
1803
+ class Name136(Enum):
1792
1804
  density = "density"
1793
1805
 
1794
1806
 
1795
- class Units70(Enum):
1807
+ class Units58(Enum):
1796
1808
  g_cm_3 = "g/cm^3"
1797
1809
 
1798
1810
 
1799
- class DensitySchema20(BaseModel):
1811
+ class DensitySchema16(BaseModel):
1800
1812
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
1801
- units: Optional[Units70] = None
1813
+ units: Optional[Units58] = None
1802
1814
  value: float
1803
1815
 
1804
1816
 
1805
- class Units71(Enum):
1817
+ class Units59(Enum):
1806
1818
  angstrom = "angstrom"
1807
1819
 
1808
1820
 
1809
- class ScalarSchema21(BaseModel):
1810
- units: Optional[Units71] = None
1821
+ class ScalarSchema17(BaseModel):
1822
+ units: Optional[Units59] = None
1811
1823
  value: float
1812
1824
 
1813
1825
 
1814
- class Name169(Enum):
1826
+ class Name137(Enum):
1815
1827
  symmetry = "symmetry"
1816
1828
 
1817
1829
 
1818
- class SymmetrySchema20(BaseModel):
1830
+ class SymmetrySchema16(BaseModel):
1819
1831
  pointGroupSymbol: Optional[str] = None
1820
1832
  """
1821
1833
  point group symbol in Schoenflies notation
@@ -1824,18 +1836,18 @@ class SymmetrySchema20(BaseModel):
1824
1836
  """
1825
1837
  space group symbol in Hermann–Mauguin notation
1826
1838
  """
1827
- tolerance: Optional[ScalarSchema21] = Field(None, title="scalar schema")
1839
+ tolerance: Optional[ScalarSchema17] = 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 Name170(Enum):
1846
+ class Name138(Enum):
1835
1847
  elemental_ratio = "elemental_ratio"
1836
1848
 
1837
1849
 
1838
- class ElementalRatio20(BaseModel):
1850
+ class ElementalRatio16(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 ElementalRatio20(BaseModel):
1844
1856
  """
1845
1857
 
1846
1858
 
1847
- class Name171(Enum):
1859
+ class Name139(Enum):
1848
1860
  p_norm = "p-norm"
1849
1861
 
1850
1862
 
1851
- class PNorm20(BaseModel):
1863
+ class PNorm16(BaseModel):
1852
1864
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
1853
1865
  degree: Optional[int] = None
1854
1866
  """
@@ -1857,56 +1869,56 @@ class PNorm20(BaseModel):
1857
1869
  value: float
1858
1870
 
1859
1871
 
1860
- class Name172(Enum):
1872
+ class Name140(Enum):
1861
1873
  inchi = "inchi"
1862
1874
 
1863
1875
 
1864
- class InChIRepresentationSchema20(BaseModel):
1876
+ class InChIRepresentationSchema16(BaseModel):
1865
1877
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
1866
1878
  value: str
1867
1879
 
1868
1880
 
1869
- class Name173(Enum):
1881
+ class Name141(Enum):
1870
1882
  inchi_key = "inchi_key"
1871
1883
 
1872
1884
 
1873
- class InChIKeyRepresentationSchema20(BaseModel):
1885
+ class InChIKeyRepresentationSchema16(BaseModel):
1874
1886
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1875
1887
  value: str
1876
1888
 
1877
1889
 
1878
- class DerivedPropertiesSchema20(
1890
+ class DerivedPropertiesSchema16(
1879
1891
  RootModel[
1880
1892
  Union[
1881
- VolumeSchema20,
1882
- DensitySchema20,
1883
- SymmetrySchema20,
1884
- ElementalRatio20,
1885
- PNorm20,
1886
- InChIRepresentationSchema20,
1887
- InChIKeyRepresentationSchema20,
1893
+ VolumeSchema16,
1894
+ DensitySchema16,
1895
+ SymmetrySchema16,
1896
+ ElementalRatio16,
1897
+ PNorm16,
1898
+ InChIRepresentationSchema16,
1899
+ InChIKeyRepresentationSchema16,
1888
1900
  ]
1889
1901
  ]
1890
1902
  ):
1891
1903
  root: Union[
1892
- VolumeSchema20,
1893
- DensitySchema20,
1894
- SymmetrySchema20,
1895
- ElementalRatio20,
1896
- PNorm20,
1897
- InChIRepresentationSchema20,
1898
- InChIKeyRepresentationSchema20,
1904
+ VolumeSchema16,
1905
+ DensitySchema16,
1906
+ SymmetrySchema16,
1907
+ ElementalRatio16,
1908
+ PNorm16,
1909
+ InChIRepresentationSchema16,
1910
+ InChIKeyRepresentationSchema16,
1899
1911
  ] = Field(..., discriminator="name")
1900
1912
 
1901
1913
 
1902
- class Name174(Enum):
1914
+ class Name142(Enum):
1903
1915
  default = "default"
1904
1916
  atomsTooClose = "atomsTooClose"
1905
1917
  atomsOverlap = "atomsOverlap"
1906
1918
 
1907
1919
 
1908
- class MaterialConsistencyCheckSchema20(BaseModel):
1909
- name: Name174
1920
+ class MaterialConsistencyCheckSchema16(BaseModel):
1921
+ name: Name142
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 MaterialConsistencyCheckSchema20(BaseModel):
1924
1936
  """
1925
1937
 
1926
1938
 
1927
- class CrystalSchema20(BaseModel):
1939
+ class CrystalSchema16(BaseModel):
1928
1940
  formula: Optional[str] = None
1929
1941
  """
1930
1942
  reduced chemical formula
@@ -1933,9 +1945,9 @@ class CrystalSchema20(BaseModel):
1933
1945
  """
1934
1946
  chemical formula based on the number of atoms of each element in the supercell
1935
1947
  """
1936
- basis: BasisSchema21 = Field(..., title="basis schema")
1937
- lattice: LatticeSchema20 = Field(..., title="lattice schema")
1938
- derivedProperties: Optional[List[DerivedPropertiesSchema20]] = Field(None, title="derived properties schema")
1948
+ basis: BasisSchema17 = Field(..., title="basis schema")
1949
+ lattice: LatticeSchema16 = Field(..., title="lattice schema")
1950
+ derivedProperties: Optional[List[DerivedPropertiesSchema16]] = 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 CrystalSchema20(BaseModel):
1956
1968
  """
1957
1969
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1958
1970
  """
1959
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema20]] = None
1971
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema16]] = None
1960
1972
  field_id: Optional[str] = Field(None, alias="_id")
1961
1973
  """
1962
1974
  entity identity
@@ -1981,7 +1993,7 @@ class CrystalSchema20(BaseModel):
1981
1993
  metadata: Optional[Dict[str, Any]] = None
1982
1994
 
1983
1995
 
1984
- class VacuumConfigurationSchema8(BaseModel):
1996
+ class VacuumConfigurationSchema6(BaseModel):
1985
1997
  direction: AxisEnum = Field(..., title="Axis Enum")
1986
1998
  """
1987
1999
  Enum for axis types
@@ -1990,23 +2002,27 @@ class VacuumConfigurationSchema8(BaseModel):
1990
2002
  """
1991
2003
  Size of the vacuum slab in angstroms
1992
2004
  """
1993
- crystal: CrystalSchema20 = Field(..., title="Crystal Schema")
2005
+ crystal: CrystalSchema16 = 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 SlabConfigurationSchema3(BaseModel):
2000
- stack_components: List[Union[AtomicLayersUniqueRepeatedSchema8, VacuumConfigurationSchema8]] = Field(
2012
+ stack_components: List[Union[AtomicLayersUniqueRepeatedSchema6, VacuumConfigurationSchema6]] = 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 Value50(Enum):
2025
+ class Value42(Enum):
2010
2026
  H = "H"
2011
2027
  He = "He"
2012
2028
  Li = "Li"
@@ -2127,13 +2143,13 @@ class Value50(Enum):
2127
2143
  Og = "Og"
2128
2144
 
2129
2145
 
2130
- class Value51(Enum):
2146
+ class Value43(Enum):
2131
2147
  X = "X"
2132
2148
  Vac = "Vac"
2133
2149
 
2134
2150
 
2135
- class AtomicElementSchema24(BaseModel):
2136
- value: Union[Value50, Value51]
2151
+ class AtomicElementSchema20(BaseModel):
2152
+ value: Union[Value42, Value43]
2137
2153
  """
2138
2154
  All elements, including extra elements
2139
2155
  """
@@ -2143,8 +2159,8 @@ class AtomicElementSchema24(BaseModel):
2143
2159
  """
2144
2160
 
2145
2161
 
2146
- class BasisSchema22(BaseModel):
2147
- elements: List[AtomicElementSchema24] = Field(..., title="atomic elements schema")
2162
+ class BasisSchema18(BaseModel):
2163
+ elements: List[AtomicElementSchema20] = Field(..., title="atomic elements schema")
2148
2164
  """
2149
2165
  atomic elements schema
2150
2166
  """
@@ -2159,7 +2175,7 @@ class BasisSchema22(BaseModel):
2159
2175
  """
2160
2176
 
2161
2177
 
2162
- class LatticeVectorsSchema21(BaseModel):
2178
+ class LatticeVectorsSchema17(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 LatticeVectorsSchema21(BaseModel):
2170
2186
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
2171
2187
 
2172
2188
 
2173
- class LatticeUnitsSchema21(BaseModel):
2189
+ class LatticeUnitsSchema17(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 LatticeSchema21(BaseModel):
2194
+ class LatticeSchema17(BaseModel):
2179
2195
  a: float
2180
2196
  """
2181
2197
  length of the first lattice vector
@@ -2200,56 +2216,56 @@ class LatticeSchema21(BaseModel):
2200
2216
  """
2201
2217
  angle between first and third lattice vector
2202
2218
  """
2203
- vectors: Optional[LatticeVectorsSchema21] = Field(None, title="lattice vectors schema")
2219
+ vectors: Optional[LatticeVectorsSchema17] = Field(None, title="lattice vectors schema")
2204
2220
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
2205
- units: Optional[LatticeUnitsSchema21] = Field(
2206
- default_factory=lambda: LatticeUnitsSchema21.model_validate({"length": "angstrom", "angle": "degree"}),
2221
+ units: Optional[LatticeUnitsSchema17] = Field(
2222
+ default_factory=lambda: LatticeUnitsSchema17.model_validate({"length": "angstrom", "angle": "degree"}),
2207
2223
  title="Lattice units schema",
2208
2224
  )
2209
2225
 
2210
2226
 
2211
- class Name175(Enum):
2227
+ class Name143(Enum):
2212
2228
  volume = "volume"
2213
2229
 
2214
2230
 
2215
- class Units72(Enum):
2231
+ class Units60(Enum):
2216
2232
  angstrom_3 = "angstrom^3"
2217
2233
 
2218
2234
 
2219
- class VolumeSchema21(BaseModel):
2235
+ class VolumeSchema17(BaseModel):
2220
2236
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
2221
- units: Optional[Units72] = None
2237
+ units: Optional[Units60] = None
2222
2238
  value: float
2223
2239
 
2224
2240
 
2225
- class Name176(Enum):
2241
+ class Name144(Enum):
2226
2242
  density = "density"
2227
2243
 
2228
2244
 
2229
- class Units73(Enum):
2245
+ class Units61(Enum):
2230
2246
  g_cm_3 = "g/cm^3"
2231
2247
 
2232
2248
 
2233
- class DensitySchema21(BaseModel):
2249
+ class DensitySchema17(BaseModel):
2234
2250
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
2235
- units: Optional[Units73] = None
2251
+ units: Optional[Units61] = None
2236
2252
  value: float
2237
2253
 
2238
2254
 
2239
- class Units74(Enum):
2255
+ class Units62(Enum):
2240
2256
  angstrom = "angstrom"
2241
2257
 
2242
2258
 
2243
- class ScalarSchema22(BaseModel):
2244
- units: Optional[Units74] = None
2259
+ class ScalarSchema18(BaseModel):
2260
+ units: Optional[Units62] = None
2245
2261
  value: float
2246
2262
 
2247
2263
 
2248
- class Name177(Enum):
2264
+ class Name145(Enum):
2249
2265
  symmetry = "symmetry"
2250
2266
 
2251
2267
 
2252
- class SymmetrySchema21(BaseModel):
2268
+ class SymmetrySchema17(BaseModel):
2253
2269
  pointGroupSymbol: Optional[str] = None
2254
2270
  """
2255
2271
  point group symbol in Schoenflies notation
@@ -2258,18 +2274,18 @@ class SymmetrySchema21(BaseModel):
2258
2274
  """
2259
2275
  space group symbol in Hermann–Mauguin notation
2260
2276
  """
2261
- tolerance: Optional[ScalarSchema22] = Field(None, title="scalar schema")
2277
+ tolerance: Optional[ScalarSchema18] = 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 Name178(Enum):
2284
+ class Name146(Enum):
2269
2285
  elemental_ratio = "elemental_ratio"
2270
2286
 
2271
2287
 
2272
- class ElementalRatio21(BaseModel):
2288
+ class ElementalRatio17(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 ElementalRatio21(BaseModel):
2278
2294
  """
2279
2295
 
2280
2296
 
2281
- class Name179(Enum):
2297
+ class Name147(Enum):
2282
2298
  p_norm = "p-norm"
2283
2299
 
2284
2300
 
2285
- class PNorm21(BaseModel):
2301
+ class PNorm17(BaseModel):
2286
2302
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
2287
2303
  degree: Optional[int] = None
2288
2304
  """
@@ -2291,56 +2307,56 @@ class PNorm21(BaseModel):
2291
2307
  value: float
2292
2308
 
2293
2309
 
2294
- class Name180(Enum):
2310
+ class Name148(Enum):
2295
2311
  inchi = "inchi"
2296
2312
 
2297
2313
 
2298
- class InChIRepresentationSchema21(BaseModel):
2314
+ class InChIRepresentationSchema17(BaseModel):
2299
2315
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
2300
2316
  value: str
2301
2317
 
2302
2318
 
2303
- class Name181(Enum):
2319
+ class Name149(Enum):
2304
2320
  inchi_key = "inchi_key"
2305
2321
 
2306
2322
 
2307
- class InChIKeyRepresentationSchema21(BaseModel):
2323
+ class InChIKeyRepresentationSchema17(BaseModel):
2308
2324
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
2309
2325
  value: str
2310
2326
 
2311
2327
 
2312
- class DerivedPropertiesSchema21(
2328
+ class DerivedPropertiesSchema17(
2313
2329
  RootModel[
2314
2330
  Union[
2315
- VolumeSchema21,
2316
- DensitySchema21,
2317
- SymmetrySchema21,
2318
- ElementalRatio21,
2319
- PNorm21,
2320
- InChIRepresentationSchema21,
2321
- InChIKeyRepresentationSchema21,
2331
+ VolumeSchema17,
2332
+ DensitySchema17,
2333
+ SymmetrySchema17,
2334
+ ElementalRatio17,
2335
+ PNorm17,
2336
+ InChIRepresentationSchema17,
2337
+ InChIKeyRepresentationSchema17,
2322
2338
  ]
2323
2339
  ]
2324
2340
  ):
2325
2341
  root: Union[
2326
- VolumeSchema21,
2327
- DensitySchema21,
2328
- SymmetrySchema21,
2329
- ElementalRatio21,
2330
- PNorm21,
2331
- InChIRepresentationSchema21,
2332
- InChIKeyRepresentationSchema21,
2342
+ VolumeSchema17,
2343
+ DensitySchema17,
2344
+ SymmetrySchema17,
2345
+ ElementalRatio17,
2346
+ PNorm17,
2347
+ InChIRepresentationSchema17,
2348
+ InChIKeyRepresentationSchema17,
2333
2349
  ] = Field(..., discriminator="name")
2334
2350
 
2335
2351
 
2336
- class Name182(Enum):
2352
+ class Name150(Enum):
2337
2353
  default = "default"
2338
2354
  atomsTooClose = "atomsTooClose"
2339
2355
  atomsOverlap = "atomsOverlap"
2340
2356
 
2341
2357
 
2342
- class MaterialConsistencyCheckSchema21(BaseModel):
2343
- name: Name182
2358
+ class MaterialConsistencyCheckSchema17(BaseModel):
2359
+ name: Name150
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 MaterialConsistencyCheckSchema21(BaseModel):
2358
2374
  """
2359
2375
 
2360
2376
 
2361
- class CrystalSchema21(BaseModel):
2377
+ class CrystalSchema17(BaseModel):
2362
2378
  formula: Optional[str] = None
2363
2379
  """
2364
2380
  reduced chemical formula
@@ -2367,9 +2383,9 @@ class CrystalSchema21(BaseModel):
2367
2383
  """
2368
2384
  chemical formula based on the number of atoms of each element in the supercell
2369
2385
  """
2370
- basis: BasisSchema22 = Field(..., title="basis schema")
2371
- lattice: LatticeSchema21 = Field(..., title="lattice schema")
2372
- derivedProperties: Optional[List[DerivedPropertiesSchema21]] = Field(None, title="derived properties schema")
2386
+ basis: BasisSchema18 = Field(..., title="basis schema")
2387
+ lattice: LatticeSchema17 = Field(..., title="lattice schema")
2388
+ derivedProperties: Optional[List[DerivedPropertiesSchema17]] = 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 CrystalSchema21(BaseModel):
2390
2406
  """
2391
2407
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
2392
2408
  """
2393
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema21]] = None
2409
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema17]] = 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: CrystalSchema21 = Field(..., title="Crystal Schema")
2449
+ crystal: CrystalSchema17 = 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 Value52(Enum):
2473
+ class Value44(Enum):
2458
2474
  H = "H"
2459
2475
  He = "He"
2460
2476
  Li = "Li"
@@ -2575,13 +2591,13 @@ class Value52(Enum):
2575
2591
  Og = "Og"
2576
2592
 
2577
2593
 
2578
- class Value53(Enum):
2594
+ class Value45(Enum):
2579
2595
  X = "X"
2580
2596
  Vac = "Vac"
2581
2597
 
2582
2598
 
2583
- class AtomicElementSchema25(BaseModel):
2584
- value: Union[Value52, Value53]
2599
+ class AtomicElementSchema21(BaseModel):
2600
+ value: Union[Value44, Value45]
2585
2601
  """
2586
2602
  All elements, including extra elements
2587
2603
  """
@@ -2591,8 +2607,8 @@ class AtomicElementSchema25(BaseModel):
2591
2607
  """
2592
2608
 
2593
2609
 
2594
- class BasisSchema23(BaseModel):
2595
- elements: List[AtomicElementSchema25] = Field(..., title="atomic elements schema")
2610
+ class BasisSchema19(BaseModel):
2611
+ elements: List[AtomicElementSchema21] = Field(..., title="atomic elements schema")
2596
2612
  """
2597
2613
  atomic elements schema
2598
2614
  """
@@ -2607,7 +2623,7 @@ class BasisSchema23(BaseModel):
2607
2623
  """
2608
2624
 
2609
2625
 
2610
- class LatticeVectorsSchema22(BaseModel):
2626
+ class LatticeVectorsSchema18(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 LatticeVectorsSchema22(BaseModel):
2618
2634
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
2619
2635
 
2620
2636
 
2621
- class LatticeUnitsSchema22(BaseModel):
2637
+ class LatticeUnitsSchema18(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 LatticeSchema22(BaseModel):
2642
+ class LatticeSchema18(BaseModel):
2627
2643
  a: float
2628
2644
  """
2629
2645
  length of the first lattice vector
@@ -2648,56 +2664,56 @@ class LatticeSchema22(BaseModel):
2648
2664
  """
2649
2665
  angle between first and third lattice vector
2650
2666
  """
2651
- vectors: Optional[LatticeVectorsSchema22] = Field(None, title="lattice vectors schema")
2667
+ vectors: Optional[LatticeVectorsSchema18] = Field(None, title="lattice vectors schema")
2652
2668
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
2653
- units: Optional[LatticeUnitsSchema22] = Field(
2654
- default_factory=lambda: LatticeUnitsSchema22.model_validate({"length": "angstrom", "angle": "degree"}),
2669
+ units: Optional[LatticeUnitsSchema18] = Field(
2670
+ default_factory=lambda: LatticeUnitsSchema18.model_validate({"length": "angstrom", "angle": "degree"}),
2655
2671
  title="Lattice units schema",
2656
2672
  )
2657
2673
 
2658
2674
 
2659
- class Name183(Enum):
2675
+ class Name151(Enum):
2660
2676
  volume = "volume"
2661
2677
 
2662
2678
 
2663
- class Units75(Enum):
2679
+ class Units63(Enum):
2664
2680
  angstrom_3 = "angstrom^3"
2665
2681
 
2666
2682
 
2667
- class VolumeSchema22(BaseModel):
2683
+ class VolumeSchema18(BaseModel):
2668
2684
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
2669
- units: Optional[Units75] = None
2685
+ units: Optional[Units63] = None
2670
2686
  value: float
2671
2687
 
2672
2688
 
2673
- class Name184(Enum):
2689
+ class Name152(Enum):
2674
2690
  density = "density"
2675
2691
 
2676
2692
 
2677
- class Units76(Enum):
2693
+ class Units64(Enum):
2678
2694
  g_cm_3 = "g/cm^3"
2679
2695
 
2680
2696
 
2681
- class DensitySchema22(BaseModel):
2697
+ class DensitySchema18(BaseModel):
2682
2698
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
2683
- units: Optional[Units76] = None
2699
+ units: Optional[Units64] = None
2684
2700
  value: float
2685
2701
 
2686
2702
 
2687
- class Units77(Enum):
2703
+ class Units65(Enum):
2688
2704
  angstrom = "angstrom"
2689
2705
 
2690
2706
 
2691
- class ScalarSchema23(BaseModel):
2692
- units: Optional[Units77] = None
2707
+ class ScalarSchema19(BaseModel):
2708
+ units: Optional[Units65] = None
2693
2709
  value: float
2694
2710
 
2695
2711
 
2696
- class Name185(Enum):
2712
+ class Name153(Enum):
2697
2713
  symmetry = "symmetry"
2698
2714
 
2699
2715
 
2700
- class SymmetrySchema22(BaseModel):
2716
+ class SymmetrySchema18(BaseModel):
2701
2717
  pointGroupSymbol: Optional[str] = None
2702
2718
  """
2703
2719
  point group symbol in Schoenflies notation
@@ -2706,18 +2722,18 @@ class SymmetrySchema22(BaseModel):
2706
2722
  """
2707
2723
  space group symbol in Hermann–Mauguin notation
2708
2724
  """
2709
- tolerance: Optional[ScalarSchema23] = Field(None, title="scalar schema")
2725
+ tolerance: Optional[ScalarSchema19] = 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 Name186(Enum):
2732
+ class Name154(Enum):
2717
2733
  elemental_ratio = "elemental_ratio"
2718
2734
 
2719
2735
 
2720
- class ElementalRatio22(BaseModel):
2736
+ class ElementalRatio18(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 ElementalRatio22(BaseModel):
2726
2742
  """
2727
2743
 
2728
2744
 
2729
- class Name187(Enum):
2745
+ class Name155(Enum):
2730
2746
  p_norm = "p-norm"
2731
2747
 
2732
2748
 
2733
- class PNorm22(BaseModel):
2749
+ class PNorm18(BaseModel):
2734
2750
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
2735
2751
  degree: Optional[int] = None
2736
2752
  """
@@ -2739,56 +2755,56 @@ class PNorm22(BaseModel):
2739
2755
  value: float
2740
2756
 
2741
2757
 
2742
- class Name188(Enum):
2758
+ class Name156(Enum):
2743
2759
  inchi = "inchi"
2744
2760
 
2745
2761
 
2746
- class InChIRepresentationSchema22(BaseModel):
2762
+ class InChIRepresentationSchema18(BaseModel):
2747
2763
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
2748
2764
  value: str
2749
2765
 
2750
2766
 
2751
- class Name189(Enum):
2767
+ class Name157(Enum):
2752
2768
  inchi_key = "inchi_key"
2753
2769
 
2754
2770
 
2755
- class InChIKeyRepresentationSchema22(BaseModel):
2771
+ class InChIKeyRepresentationSchema18(BaseModel):
2756
2772
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
2757
2773
  value: str
2758
2774
 
2759
2775
 
2760
- class DerivedPropertiesSchema22(
2776
+ class DerivedPropertiesSchema18(
2761
2777
  RootModel[
2762
2778
  Union[
2763
- VolumeSchema22,
2764
- DensitySchema22,
2765
- SymmetrySchema22,
2766
- ElementalRatio22,
2767
- PNorm22,
2768
- InChIRepresentationSchema22,
2769
- InChIKeyRepresentationSchema22,
2779
+ VolumeSchema18,
2780
+ DensitySchema18,
2781
+ SymmetrySchema18,
2782
+ ElementalRatio18,
2783
+ PNorm18,
2784
+ InChIRepresentationSchema18,
2785
+ InChIKeyRepresentationSchema18,
2770
2786
  ]
2771
2787
  ]
2772
2788
  ):
2773
2789
  root: Union[
2774
- VolumeSchema22,
2775
- DensitySchema22,
2776
- SymmetrySchema22,
2777
- ElementalRatio22,
2778
- PNorm22,
2779
- InChIRepresentationSchema22,
2780
- InChIKeyRepresentationSchema22,
2790
+ VolumeSchema18,
2791
+ DensitySchema18,
2792
+ SymmetrySchema18,
2793
+ ElementalRatio18,
2794
+ PNorm18,
2795
+ InChIRepresentationSchema18,
2796
+ InChIKeyRepresentationSchema18,
2781
2797
  ] = Field(..., discriminator="name")
2782
2798
 
2783
2799
 
2784
- class Name190(Enum):
2800
+ class Name158(Enum):
2785
2801
  default = "default"
2786
2802
  atomsTooClose = "atomsTooClose"
2787
2803
  atomsOverlap = "atomsOverlap"
2788
2804
 
2789
2805
 
2790
- class MaterialConsistencyCheckSchema22(BaseModel):
2791
- name: Name190
2806
+ class MaterialConsistencyCheckSchema18(BaseModel):
2807
+ name: Name158
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 MaterialConsistencyCheckSchema22(BaseModel):
2806
2822
  """
2807
2823
 
2808
2824
 
2809
- class CrystalSchema22(BaseModel):
2825
+ class CrystalSchema18(BaseModel):
2810
2826
  formula: Optional[str] = None
2811
2827
  """
2812
2828
  reduced chemical formula
@@ -2815,9 +2831,9 @@ class CrystalSchema22(BaseModel):
2815
2831
  """
2816
2832
  chemical formula based on the number of atoms of each element in the supercell
2817
2833
  """
2818
- basis: BasisSchema23 = Field(..., title="basis schema")
2819
- lattice: LatticeSchema22 = Field(..., title="lattice schema")
2820
- derivedProperties: Optional[List[DerivedPropertiesSchema22]] = Field(None, title="derived properties schema")
2834
+ basis: BasisSchema19 = Field(..., title="basis schema")
2835
+ lattice: LatticeSchema18 = Field(..., title="lattice schema")
2836
+ derivedProperties: Optional[List[DerivedPropertiesSchema18]] = 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 CrystalSchema22(BaseModel):
2838
2854
  """
2839
2855
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
2840
2856
  """
2841
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema22]] = None
2857
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema18]] = None
2842
2858
  field_id: Optional[str] = Field(None, alias="_id")
2843
2859
  """
2844
2860
  entity identity
@@ -2863,7 +2879,7 @@ class CrystalSchema22(BaseModel):
2863
2879
  metadata: Optional[Dict[str, Any]] = None
2864
2880
 
2865
2881
 
2866
- class VacuumConfigurationSchema9(BaseModel):
2882
+ class VacuumConfigurationSchema7(BaseModel):
2867
2883
  direction: AxisEnum = Field(..., title="Axis Enum")
2868
2884
  """
2869
2885
  Enum for axis types
@@ -2872,14 +2888,14 @@ class VacuumConfigurationSchema9(BaseModel):
2872
2888
  """
2873
2889
  Size of the vacuum slab in angstroms
2874
2890
  """
2875
- crystal: CrystalSchema22 = Field(..., title="Crystal Schema")
2891
+ crystal: CrystalSchema18 = 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 TerraceDefectConfigurationSchema(BaseModel):
2882
- stack_components: List[Union[SlabConfigurationSchema, MergeSchema, VacuumConfigurationSchema9]] = Field(
2898
+ stack_components: List[Union[SlabConfigurationSchema, MergeSchema, VacuumConfigurationSchema7]] = Field(
2883
2899
  ..., max_length=3, min_length=3
2884
2900
  )
2885
2901
  cut_direction: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
@@ -2890,3 +2906,7 @@ class TerraceDefectConfigurationSchema(BaseModel):
2890
2906
  """
2891
2907
  Enum for axis types
2892
2908
  """
2909
+ gaps: Optional[List[ObjectWithId]] = None
2910
+ """
2911
+ Gap distances between stack components as an array of objects with id and value
2912
+ """