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 Value175(Enum):
268
+ class Value151(Enum):
269
269
  X = "X"
270
270
  Vac = "Vac"
271
271
 
272
272
 
273
273
  class AtomicElementSchema(BaseModel):
274
- value: Union[Value, Value175]
274
+ value: Union[Value, Value151]
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 Name701(Enum):
422
+ class Name605(Enum):
423
423
  density = "density"
424
424
 
425
425
 
426
- class Units285(Enum):
426
+ class Units249(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[Units285] = None
432
+ units: Optional[Units249] = None
433
433
  value: float
434
434
 
435
435
 
436
- class Units286(Enum):
436
+ class Units250(Enum):
437
437
  angstrom = "angstrom"
438
438
 
439
439
 
440
440
  class ScalarSchema(BaseModel):
441
- units: Optional[Units286] = None
441
+ units: Optional[Units250] = None
442
442
  value: float
443
443
 
444
444
 
445
- class Name702(Enum):
445
+ class Name606(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 Name703(Enum):
465
+ class Name607(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 Name704(Enum):
478
+ class Name608(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 Name705(Enum):
491
+ class Name609(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 Name706(Enum):
500
+ class Name610(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 Name707(Enum):
579
+ class Name611(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: Name707
592
+ name: Name611
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 Value176(Enum):
696
+ class Value152(Enum):
697
697
  H = "H"
698
698
  He = "He"
699
699
  Li = "Li"
@@ -814,13 +814,13 @@ class Value176(Enum):
814
814
  Og = "Og"
815
815
 
816
816
 
817
- class Value177(Enum):
817
+ class Value153(Enum):
818
818
  X = "X"
819
819
  Vac = "Vac"
820
820
 
821
821
 
822
- class AtomicElementSchema84(BaseModel):
823
- value: Union[Value176, Value177]
822
+ class AtomicElementSchema72(BaseModel):
823
+ value: Union[Value152, Value153]
824
824
  """
825
825
  All elements, including extra elements
826
826
  """
@@ -830,8 +830,8 @@ class AtomicElementSchema84(BaseModel):
830
830
  """
831
831
 
832
832
 
833
- class BasisSchema82(BaseModel):
834
- elements: List[AtomicElementSchema84] = Field(..., title="atomic elements schema")
833
+ class BasisSchema70(BaseModel):
834
+ elements: List[AtomicElementSchema72] = Field(..., title="atomic elements schema")
835
835
  """
836
836
  atomic elements schema
837
837
  """
@@ -846,7 +846,7 @@ class BasisSchema82(BaseModel):
846
846
  """
847
847
 
848
848
 
849
- class LatticeVectorsSchema82(BaseModel):
849
+ class LatticeVectorsSchema70(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 LatticeVectorsSchema82(BaseModel):
857
857
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
858
858
 
859
859
 
860
- class LatticeUnitsSchema83(BaseModel):
860
+ class LatticeUnitsSchema71(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 LatticeSchema82(BaseModel):
865
+ class LatticeSchema70(BaseModel):
866
866
  a: float
867
867
  """
868
868
  length of the first lattice vector
@@ -887,56 +887,56 @@ class LatticeSchema82(BaseModel):
887
887
  """
888
888
  angle between first and third lattice vector
889
889
  """
890
- vectors: Optional[LatticeVectorsSchema82] = Field(None, title="lattice vectors schema")
890
+ vectors: Optional[LatticeVectorsSchema70] = Field(None, title="lattice vectors schema")
891
891
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
892
- units: Optional[LatticeUnitsSchema83] = Field(
893
- default_factory=lambda: LatticeUnitsSchema83.model_validate({"length": "angstrom", "angle": "degree"}),
892
+ units: Optional[LatticeUnitsSchema71] = Field(
893
+ default_factory=lambda: LatticeUnitsSchema71.model_validate({"length": "angstrom", "angle": "degree"}),
894
894
  title="Lattice units schema",
895
895
  )
896
896
 
897
897
 
898
- class Name708(Enum):
898
+ class Name612(Enum):
899
899
  volume = "volume"
900
900
 
901
901
 
902
- class Units287(Enum):
902
+ class Units251(Enum):
903
903
  angstrom_3 = "angstrom^3"
904
904
 
905
905
 
906
- class VolumeSchema82(BaseModel):
906
+ class VolumeSchema70(BaseModel):
907
907
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
908
- units: Optional[Units287] = None
908
+ units: Optional[Units251] = None
909
909
  value: float
910
910
 
911
911
 
912
- class Name709(Enum):
912
+ class Name613(Enum):
913
913
  density = "density"
914
914
 
915
915
 
916
- class Units288(Enum):
916
+ class Units252(Enum):
917
917
  g_cm_3 = "g/cm^3"
918
918
 
919
919
 
920
- class DensitySchema83(BaseModel):
920
+ class DensitySchema71(BaseModel):
921
921
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
922
- units: Optional[Units288] = None
922
+ units: Optional[Units252] = None
923
923
  value: float
924
924
 
925
925
 
926
- class Units289(Enum):
926
+ class Units253(Enum):
927
927
  angstrom = "angstrom"
928
928
 
929
929
 
930
- class ScalarSchema84(BaseModel):
931
- units: Optional[Units289] = None
930
+ class ScalarSchema72(BaseModel):
931
+ units: Optional[Units253] = None
932
932
  value: float
933
933
 
934
934
 
935
- class Name710(Enum):
935
+ class Name614(Enum):
936
936
  symmetry = "symmetry"
937
937
 
938
938
 
939
- class SymmetrySchema82(BaseModel):
939
+ class SymmetrySchema70(BaseModel):
940
940
  pointGroupSymbol: Optional[str] = None
941
941
  """
942
942
  point group symbol in Schoenflies notation
@@ -945,18 +945,18 @@ class SymmetrySchema82(BaseModel):
945
945
  """
946
946
  space group symbol in Hermann–Mauguin notation
947
947
  """
948
- tolerance: Optional[ScalarSchema84] = Field(None, title="scalar schema")
948
+ tolerance: Optional[ScalarSchema72] = 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 Name711(Enum):
955
+ class Name615(Enum):
956
956
  elemental_ratio = "elemental_ratio"
957
957
 
958
958
 
959
- class ElementalRatio83(BaseModel):
959
+ class ElementalRatio71(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 ElementalRatio83(BaseModel):
965
965
  """
966
966
 
967
967
 
968
- class Name712(Enum):
968
+ class Name616(Enum):
969
969
  p_norm = "p-norm"
970
970
 
971
971
 
972
- class PNorm83(BaseModel):
972
+ class PNorm71(BaseModel):
973
973
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
974
974
  degree: Optional[int] = None
975
975
  """
@@ -978,56 +978,56 @@ class PNorm83(BaseModel):
978
978
  value: float
979
979
 
980
980
 
981
- class Name713(Enum):
981
+ class Name617(Enum):
982
982
  inchi = "inchi"
983
983
 
984
984
 
985
- class InChIRepresentationSchema83(BaseModel):
985
+ class InChIRepresentationSchema71(BaseModel):
986
986
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
987
987
  value: str
988
988
 
989
989
 
990
- class Name714(Enum):
990
+ class Name618(Enum):
991
991
  inchi_key = "inchi_key"
992
992
 
993
993
 
994
- class InChIKeyRepresentationSchema83(BaseModel):
994
+ class InChIKeyRepresentationSchema71(BaseModel):
995
995
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
996
996
  value: str
997
997
 
998
998
 
999
- class DerivedPropertiesSchema83(
999
+ class DerivedPropertiesSchema71(
1000
1000
  RootModel[
1001
1001
  Union[
1002
- VolumeSchema82,
1003
- DensitySchema83,
1004
- SymmetrySchema82,
1005
- ElementalRatio83,
1006
- PNorm83,
1007
- InChIRepresentationSchema83,
1008
- InChIKeyRepresentationSchema83,
1002
+ VolumeSchema70,
1003
+ DensitySchema71,
1004
+ SymmetrySchema70,
1005
+ ElementalRatio71,
1006
+ PNorm71,
1007
+ InChIRepresentationSchema71,
1008
+ InChIKeyRepresentationSchema71,
1009
1009
  ]
1010
1010
  ]
1011
1011
  ):
1012
1012
  root: Union[
1013
- VolumeSchema82,
1014
- DensitySchema83,
1015
- SymmetrySchema82,
1016
- ElementalRatio83,
1017
- PNorm83,
1018
- InChIRepresentationSchema83,
1019
- InChIKeyRepresentationSchema83,
1013
+ VolumeSchema70,
1014
+ DensitySchema71,
1015
+ SymmetrySchema70,
1016
+ ElementalRatio71,
1017
+ PNorm71,
1018
+ InChIRepresentationSchema71,
1019
+ InChIKeyRepresentationSchema71,
1020
1020
  ] = Field(..., discriminator="name")
1021
1021
 
1022
1022
 
1023
- class Name715(Enum):
1023
+ class Name619(Enum):
1024
1024
  default = "default"
1025
1025
  atomsTooClose = "atomsTooClose"
1026
1026
  atomsOverlap = "atomsOverlap"
1027
1027
 
1028
1028
 
1029
- class MaterialConsistencyCheckSchema82(BaseModel):
1030
- name: Name715
1029
+ class MaterialConsistencyCheckSchema70(BaseModel):
1030
+ name: Name619
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 MaterialConsistencyCheckSchema82(BaseModel):
1045
1045
  """
1046
1046
 
1047
1047
 
1048
- class CrystalSchema77(BaseModel):
1048
+ class CrystalSchema65(BaseModel):
1049
1049
  formula: Optional[str] = None
1050
1050
  """
1051
1051
  reduced chemical formula
@@ -1054,9 +1054,9 @@ class CrystalSchema77(BaseModel):
1054
1054
  """
1055
1055
  chemical formula based on the number of atoms of each element in the supercell
1056
1056
  """
1057
- basis: BasisSchema82 = Field(..., title="basis schema")
1058
- lattice: LatticeSchema82 = Field(..., title="lattice schema")
1059
- derivedProperties: Optional[List[DerivedPropertiesSchema83]] = Field(None, title="derived properties schema")
1057
+ basis: BasisSchema70 = Field(..., title="basis schema")
1058
+ lattice: LatticeSchema70 = Field(..., title="lattice schema")
1059
+ derivedProperties: Optional[List[DerivedPropertiesSchema71]] = 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 CrystalSchema77(BaseModel):
1077
1077
  """
1078
1078
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1079
1079
  """
1080
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema82]] = None
1080
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema70]] = 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: CrystalSchema77 = Field(..., title="Crystal Schema")
1114
+ crystal: CrystalSchema65 = 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 Value178(Enum):
1142
+ class Value154(Enum):
1131
1143
  H = "H"
1132
1144
  He = "He"
1133
1145
  Li = "Li"
@@ -1248,13 +1260,13 @@ class Value178(Enum):
1248
1260
  Og = "Og"
1249
1261
 
1250
1262
 
1251
- class Value179(Enum):
1263
+ class Value155(Enum):
1252
1264
  X = "X"
1253
1265
  Vac = "Vac"
1254
1266
 
1255
1267
 
1256
- class AtomicElementSchema85(BaseModel):
1257
- value: Union[Value178, Value179]
1268
+ class AtomicElementSchema73(BaseModel):
1269
+ value: Union[Value154, Value155]
1258
1270
  """
1259
1271
  All elements, including extra elements
1260
1272
  """
@@ -1264,8 +1276,8 @@ class AtomicElementSchema85(BaseModel):
1264
1276
  """
1265
1277
 
1266
1278
 
1267
- class BasisSchema83(BaseModel):
1268
- elements: List[AtomicElementSchema85] = Field(..., title="atomic elements schema")
1279
+ class BasisSchema71(BaseModel):
1280
+ elements: List[AtomicElementSchema73] = Field(..., title="atomic elements schema")
1269
1281
  """
1270
1282
  atomic elements schema
1271
1283
  """
@@ -1280,7 +1292,7 @@ class BasisSchema83(BaseModel):
1280
1292
  """
1281
1293
 
1282
1294
 
1283
- class LatticeVectorsSchema83(BaseModel):
1295
+ class LatticeVectorsSchema71(BaseModel):
1284
1296
  a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1285
1297
  b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1286
1298
  c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
@@ -1291,12 +1303,12 @@ class LatticeVectorsSchema83(BaseModel):
1291
1303
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
1292
1304
 
1293
1305
 
1294
- class LatticeUnitsSchema84(BaseModel):
1306
+ class LatticeUnitsSchema72(BaseModel):
1295
1307
  length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
1296
1308
  angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
1297
1309
 
1298
1310
 
1299
- class LatticeSchema83(BaseModel):
1311
+ class LatticeSchema71(BaseModel):
1300
1312
  a: float
1301
1313
  """
1302
1314
  length of the first lattice vector
@@ -1321,56 +1333,56 @@ class LatticeSchema83(BaseModel):
1321
1333
  """
1322
1334
  angle between first and third lattice vector
1323
1335
  """
1324
- vectors: Optional[LatticeVectorsSchema83] = Field(None, title="lattice vectors schema")
1336
+ vectors: Optional[LatticeVectorsSchema71] = Field(None, title="lattice vectors schema")
1325
1337
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
1326
- units: Optional[LatticeUnitsSchema84] = Field(
1327
- default_factory=lambda: LatticeUnitsSchema84.model_validate({"length": "angstrom", "angle": "degree"}),
1338
+ units: Optional[LatticeUnitsSchema72] = Field(
1339
+ default_factory=lambda: LatticeUnitsSchema72.model_validate({"length": "angstrom", "angle": "degree"}),
1328
1340
  title="Lattice units schema",
1329
1341
  )
1330
1342
 
1331
1343
 
1332
- class Name716(Enum):
1344
+ class Name620(Enum):
1333
1345
  volume = "volume"
1334
1346
 
1335
1347
 
1336
- class Units290(Enum):
1348
+ class Units254(Enum):
1337
1349
  angstrom_3 = "angstrom^3"
1338
1350
 
1339
1351
 
1340
- class VolumeSchema83(BaseModel):
1352
+ class VolumeSchema71(BaseModel):
1341
1353
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
1342
- units: Optional[Units290] = None
1354
+ units: Optional[Units254] = None
1343
1355
  value: float
1344
1356
 
1345
1357
 
1346
- class Name717(Enum):
1358
+ class Name621(Enum):
1347
1359
  density = "density"
1348
1360
 
1349
1361
 
1350
- class Units291(Enum):
1362
+ class Units255(Enum):
1351
1363
  g_cm_3 = "g/cm^3"
1352
1364
 
1353
1365
 
1354
- class DensitySchema84(BaseModel):
1366
+ class DensitySchema72(BaseModel):
1355
1367
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
1356
- units: Optional[Units291] = None
1368
+ units: Optional[Units255] = None
1357
1369
  value: float
1358
1370
 
1359
1371
 
1360
- class Units292(Enum):
1372
+ class Units256(Enum):
1361
1373
  angstrom = "angstrom"
1362
1374
 
1363
1375
 
1364
- class ScalarSchema85(BaseModel):
1365
- units: Optional[Units292] = None
1376
+ class ScalarSchema73(BaseModel):
1377
+ units: Optional[Units256] = None
1366
1378
  value: float
1367
1379
 
1368
1380
 
1369
- class Name718(Enum):
1381
+ class Name622(Enum):
1370
1382
  symmetry = "symmetry"
1371
1383
 
1372
1384
 
1373
- class SymmetrySchema83(BaseModel):
1385
+ class SymmetrySchema71(BaseModel):
1374
1386
  pointGroupSymbol: Optional[str] = None
1375
1387
  """
1376
1388
  point group symbol in Schoenflies notation
@@ -1379,18 +1391,18 @@ class SymmetrySchema83(BaseModel):
1379
1391
  """
1380
1392
  space group symbol in Hermann–Mauguin notation
1381
1393
  """
1382
- tolerance: Optional[ScalarSchema85] = Field(None, title="scalar schema")
1394
+ tolerance: Optional[ScalarSchema73] = Field(None, title="scalar schema")
1383
1395
  """
1384
1396
  tolerance used for symmetry calculation
1385
1397
  """
1386
1398
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
1387
1399
 
1388
1400
 
1389
- class Name719(Enum):
1401
+ class Name623(Enum):
1390
1402
  elemental_ratio = "elemental_ratio"
1391
1403
 
1392
1404
 
1393
- class ElementalRatio84(BaseModel):
1405
+ class ElementalRatio72(BaseModel):
1394
1406
  name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
1395
1407
  value: confloat(ge=0.0, le=1.0)
1396
1408
  element: Optional[str] = None
@@ -1399,11 +1411,11 @@ class ElementalRatio84(BaseModel):
1399
1411
  """
1400
1412
 
1401
1413
 
1402
- class Name720(Enum):
1414
+ class Name624(Enum):
1403
1415
  p_norm = "p-norm"
1404
1416
 
1405
1417
 
1406
- class PNorm84(BaseModel):
1418
+ class PNorm72(BaseModel):
1407
1419
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
1408
1420
  degree: Optional[int] = None
1409
1421
  """
@@ -1412,56 +1424,56 @@ class PNorm84(BaseModel):
1412
1424
  value: float
1413
1425
 
1414
1426
 
1415
- class Name721(Enum):
1427
+ class Name625(Enum):
1416
1428
  inchi = "inchi"
1417
1429
 
1418
1430
 
1419
- class InChIRepresentationSchema84(BaseModel):
1431
+ class InChIRepresentationSchema72(BaseModel):
1420
1432
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
1421
1433
  value: str
1422
1434
 
1423
1435
 
1424
- class Name722(Enum):
1436
+ class Name626(Enum):
1425
1437
  inchi_key = "inchi_key"
1426
1438
 
1427
1439
 
1428
- class InChIKeyRepresentationSchema84(BaseModel):
1440
+ class InChIKeyRepresentationSchema72(BaseModel):
1429
1441
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1430
1442
  value: str
1431
1443
 
1432
1444
 
1433
- class DerivedPropertiesSchema84(
1445
+ class DerivedPropertiesSchema72(
1434
1446
  RootModel[
1435
1447
  Union[
1436
- VolumeSchema83,
1437
- DensitySchema84,
1438
- SymmetrySchema83,
1439
- ElementalRatio84,
1440
- PNorm84,
1441
- InChIRepresentationSchema84,
1442
- InChIKeyRepresentationSchema84,
1448
+ VolumeSchema71,
1449
+ DensitySchema72,
1450
+ SymmetrySchema71,
1451
+ ElementalRatio72,
1452
+ PNorm72,
1453
+ InChIRepresentationSchema72,
1454
+ InChIKeyRepresentationSchema72,
1443
1455
  ]
1444
1456
  ]
1445
1457
  ):
1446
1458
  root: Union[
1447
- VolumeSchema83,
1448
- DensitySchema84,
1449
- SymmetrySchema83,
1450
- ElementalRatio84,
1451
- PNorm84,
1452
- InChIRepresentationSchema84,
1453
- InChIKeyRepresentationSchema84,
1459
+ VolumeSchema71,
1460
+ DensitySchema72,
1461
+ SymmetrySchema71,
1462
+ ElementalRatio72,
1463
+ PNorm72,
1464
+ InChIRepresentationSchema72,
1465
+ InChIKeyRepresentationSchema72,
1454
1466
  ] = Field(..., discriminator="name")
1455
1467
 
1456
1468
 
1457
- class Name723(Enum):
1469
+ class Name627(Enum):
1458
1470
  default = "default"
1459
1471
  atomsTooClose = "atomsTooClose"
1460
1472
  atomsOverlap = "atomsOverlap"
1461
1473
 
1462
1474
 
1463
- class MaterialConsistencyCheckSchema83(BaseModel):
1464
- name: Name723
1475
+ class MaterialConsistencyCheckSchema71(BaseModel):
1476
+ name: Name627
1465
1477
  """
1466
1478
  Name of the consistency check that is performed, which is listed in an enum.
1467
1479
  """
@@ -1479,7 +1491,7 @@ class MaterialConsistencyCheckSchema83(BaseModel):
1479
1491
  """
1480
1492
 
1481
1493
 
1482
- class CrystalSchema78(BaseModel):
1494
+ class CrystalSchema66(BaseModel):
1483
1495
  formula: Optional[str] = None
1484
1496
  """
1485
1497
  reduced chemical formula
@@ -1488,9 +1500,9 @@ class CrystalSchema78(BaseModel):
1488
1500
  """
1489
1501
  chemical formula based on the number of atoms of each element in the supercell
1490
1502
  """
1491
- basis: BasisSchema83 = Field(..., title="basis schema")
1492
- lattice: LatticeSchema83 = Field(..., title="lattice schema")
1493
- derivedProperties: Optional[List[DerivedPropertiesSchema84]] = Field(None, title="derived properties schema")
1503
+ basis: BasisSchema71 = Field(..., title="basis schema")
1504
+ lattice: LatticeSchema71 = Field(..., title="lattice schema")
1505
+ derivedProperties: Optional[List[DerivedPropertiesSchema72]] = Field(None, title="derived properties schema")
1494
1506
  external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
1495
1507
  """
1496
1508
  information about a database source
@@ -1511,7 +1523,7 @@ class CrystalSchema78(BaseModel):
1511
1523
  """
1512
1524
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1513
1525
  """
1514
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema83]] = None
1526
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema71]] = None
1515
1527
  field_id: Optional[str] = Field(None, alias="_id")
1516
1528
  """
1517
1529
  entity identity
@@ -1536,7 +1548,7 @@ class CrystalSchema78(BaseModel):
1536
1548
  metadata: Optional[Dict[str, Any]] = None
1537
1549
 
1538
1550
 
1539
- class VacuumConfigurationSchema34(BaseModel):
1551
+ class VacuumConfigurationSchema28(BaseModel):
1540
1552
  direction: AxisEnum = Field(..., title="Axis Enum")
1541
1553
  """
1542
1554
  Enum for axis types
@@ -1545,17 +1557,21 @@ class VacuumConfigurationSchema34(BaseModel):
1545
1557
  """
1546
1558
  Size of the vacuum slab in angstroms
1547
1559
  """
1548
- crystal: CrystalSchema78 = Field(..., title="Crystal Schema")
1560
+ crystal: CrystalSchema66 = Field(..., title="Crystal Schema")
1549
1561
  """
1550
1562
  A crystal structure, referencing the base material schema
1551
1563
  """
1552
1564
 
1553
1565
 
1554
1566
  class SlabStackConfigurationSchema(BaseModel):
1555
- stack_components: List[Union[SlabConfigurationSchema, Dict[str, Any], VacuumConfigurationSchema34]] = Field(
1567
+ stack_components: List[Union[SlabConfigurationSchema, Dict[str, Any], VacuumConfigurationSchema28]] = Field(
1556
1568
  ..., max_length=3, min_length=3
1557
1569
  )
1558
1570
  direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
1559
1571
  """
1560
1572
  Enum for axis types
1561
1573
  """
1574
+ gaps: Optional[List[ObjectWithId]] = None
1575
+ """
1576
+ Gap distances between stack components as an array of objects with id and value
1577
+ """