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

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

Potentially problematic release.


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

Files changed (60) hide show
  1. mat3ra/esse/data/examples.py +1 -1
  2. mat3ra/esse/data/schemas.py +1 -1
  3. mat3ra/esse/models/apse/file/applications/espresso/7.2/pw_x.py +6 -6
  4. mat3ra/esse/models/core/reusable/energy.py +2 -2
  5. mat3ra/esse/models/element.py +6 -6
  6. mat3ra/esse/models/material/__init__.py +14 -14
  7. mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py +549 -2319
  8. mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py +537 -2307
  9. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/configuration.py +206 -190
  10. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py +56 -1826
  11. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/configuration.py +331 -311
  12. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/configuration.py +331 -311
  13. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py +72 -72
  14. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py +72 -72
  15. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py +14 -14
  16. mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/ideal_crystal.py +14 -14
  17. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanoribbon.py +150 -134
  18. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanotape.py +86 -74
  19. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +84 -72
  20. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py +84 -72
  21. mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/configuration.py +70 -70
  22. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py +14 -14
  23. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py +14 -14
  24. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py +14 -14
  25. mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/crystal.py +14 -14
  26. mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +14 -14
  27. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py +14 -14
  28. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py +16 -16
  29. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py +14 -14
  30. mat3ra/esse/models/materials_category_components/entities/reusable/{repetitions.py → three_dimensional/repetitions.py} +1 -1
  31. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +14 -14
  32. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py +14 -14
  33. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py +14 -14
  34. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py +14 -14
  35. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py +148 -132
  36. mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +14 -2
  37. mat3ra/esse/models/materials_category_components/operations/core/modifications/perturb.py +14 -14
  38. mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
  39. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
  40. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
  41. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
  42. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
  43. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
  44. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
  45. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
  46. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
  47. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
  48. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
  49. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
  50. mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
  51. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
  52. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
  53. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
  54. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
  55. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/METADATA +1 -1
  56. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/RECORD +59 -60
  57. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py +0 -1151
  58. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/WHEEL +0 -0
  59. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/licenses/LICENSE.md +0 -0
  60. {mat3ra_esse-2025.7.29.post0.dist-info → mat3ra_esse-2025.8.6.post0.dist-info}/top_level.txt +0 -0
@@ -144,7 +144,7 @@ class TerminationSchema(BaseModel):
144
144
  """
145
145
 
146
146
 
147
- class TerminationSchema29(BaseModel):
147
+ class TerminationSchema23(BaseModel):
148
148
  chemical_elements: Union[ChemicalElements, constr(pattern=r"^([A-Z][a-z]?[0-9]*)+$")] = Field(
149
149
  ..., title="Chemical Elements"
150
150
  )
@@ -278,13 +278,13 @@ class Value(Enum):
278
278
  Og = "Og"
279
279
 
280
280
 
281
- class Value153(Enum):
281
+ class Value129(Enum):
282
282
  X = "X"
283
283
  Vac = "Vac"
284
284
 
285
285
 
286
286
  class AtomicElementSchema(BaseModel):
287
- value: Union[Value, Value153]
287
+ value: Union[Value, Value129]
288
288
  """
289
289
  All elements, including extra elements
290
290
  """
@@ -432,30 +432,30 @@ class VolumeSchema(BaseModel):
432
432
  value: float
433
433
 
434
434
 
435
- class Name617(Enum):
435
+ class Name521(Enum):
436
436
  density = "density"
437
437
 
438
438
 
439
- class Units249(Enum):
439
+ class Units213(Enum):
440
440
  g_cm_3 = "g/cm^3"
441
441
 
442
442
 
443
443
  class DensitySchema(BaseModel):
444
444
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
445
- units: Optional[Units249] = None
445
+ units: Optional[Units213] = None
446
446
  value: float
447
447
 
448
448
 
449
- class Units250(Enum):
449
+ class Units214(Enum):
450
450
  angstrom = "angstrom"
451
451
 
452
452
 
453
453
  class ScalarSchema(BaseModel):
454
- units: Optional[Units250] = None
454
+ units: Optional[Units214] = None
455
455
  value: float
456
456
 
457
457
 
458
- class Name618(Enum):
458
+ class Name522(Enum):
459
459
  symmetry = "symmetry"
460
460
 
461
461
 
@@ -475,7 +475,7 @@ class SymmetrySchema(BaseModel):
475
475
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
476
476
 
477
477
 
478
- class Name619(Enum):
478
+ class Name523(Enum):
479
479
  elemental_ratio = "elemental_ratio"
480
480
 
481
481
 
@@ -488,7 +488,7 @@ class ElementalRatio(BaseModel):
488
488
  """
489
489
 
490
490
 
491
- class Name620(Enum):
491
+ class Name524(Enum):
492
492
  p_norm = "p-norm"
493
493
 
494
494
 
@@ -501,7 +501,7 @@ class PNorm(BaseModel):
501
501
  value: float
502
502
 
503
503
 
504
- class Name621(Enum):
504
+ class Name525(Enum):
505
505
  inchi = "inchi"
506
506
 
507
507
 
@@ -510,7 +510,7 @@ class InChIRepresentationSchema(BaseModel):
510
510
  value: str
511
511
 
512
512
 
513
- class Name622(Enum):
513
+ class Name526(Enum):
514
514
  inchi_key = "inchi_key"
515
515
 
516
516
 
@@ -589,7 +589,7 @@ class FileSourceSchema(BaseModel):
589
589
  """
590
590
 
591
591
 
592
- class Name623(Enum):
592
+ class Name527(Enum):
593
593
  default = "default"
594
594
  atomsTooClose = "atomsTooClose"
595
595
  atomsOverlap = "atomsOverlap"
@@ -602,7 +602,7 @@ class Severity(Enum):
602
602
 
603
603
 
604
604
  class MaterialConsistencyCheckSchema(BaseModel):
605
- name: Name623
605
+ name: Name527
606
606
  """
607
607
  Name of the consistency check that is performed, which is listed in an enum.
608
608
  """
@@ -682,7 +682,7 @@ class CrystalLatticeLinesUniqueRepeatedSchema(BaseModel):
682
682
  """
683
683
  Defines a specific termination of a slab
684
684
  """
685
- termination_bottom: Optional[TerminationSchema29] = Field(None, title="Termination Schema")
685
+ termination_bottom: Optional[TerminationSchema23] = Field(None, title="Termination Schema")
686
686
  """
687
687
  Defines a specific termination of a slab
688
688
  """
@@ -714,7 +714,7 @@ class AxisEnum(Enum):
714
714
  z = "z"
715
715
 
716
716
 
717
- class Value154(Enum):
717
+ class Value130(Enum):
718
718
  H = "H"
719
719
  He = "He"
720
720
  Li = "Li"
@@ -835,13 +835,13 @@ class Value154(Enum):
835
835
  Og = "Og"
836
836
 
837
837
 
838
- class Value155(Enum):
838
+ class Value131(Enum):
839
839
  X = "X"
840
840
  Vac = "Vac"
841
841
 
842
842
 
843
- class AtomicElementSchema75(BaseModel):
844
- value: Union[Value154, Value155]
843
+ class AtomicElementSchema63(BaseModel):
844
+ value: Union[Value130, Value131]
845
845
  """
846
846
  All elements, including extra elements
847
847
  """
@@ -851,8 +851,8 @@ class AtomicElementSchema75(BaseModel):
851
851
  """
852
852
 
853
853
 
854
- class BasisSchema73(BaseModel):
855
- elements: List[AtomicElementSchema75] = Field(..., title="atomic elements schema")
854
+ class BasisSchema61(BaseModel):
855
+ elements: List[AtomicElementSchema63] = Field(..., title="atomic elements schema")
856
856
  """
857
857
  atomic elements schema
858
858
  """
@@ -867,7 +867,7 @@ class BasisSchema73(BaseModel):
867
867
  """
868
868
 
869
869
 
870
- class LatticeVectorsSchema73(BaseModel):
870
+ class LatticeVectorsSchema61(BaseModel):
871
871
  a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
872
872
  b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
873
873
  c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
@@ -878,12 +878,12 @@ class LatticeVectorsSchema73(BaseModel):
878
878
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
879
879
 
880
880
 
881
- class LatticeUnitsSchema74(BaseModel):
881
+ class LatticeUnitsSchema62(BaseModel):
882
882
  length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
883
883
  angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
884
884
 
885
885
 
886
- class LatticeSchema73(BaseModel):
886
+ class LatticeSchema61(BaseModel):
887
887
  a: float
888
888
  """
889
889
  length of the first lattice vector
@@ -908,56 +908,56 @@ class LatticeSchema73(BaseModel):
908
908
  """
909
909
  angle between first and third lattice vector
910
910
  """
911
- vectors: Optional[LatticeVectorsSchema73] = Field(None, title="lattice vectors schema")
911
+ vectors: Optional[LatticeVectorsSchema61] = Field(None, title="lattice vectors schema")
912
912
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
913
- units: Optional[LatticeUnitsSchema74] = Field(
914
- default_factory=lambda: LatticeUnitsSchema74.model_validate({"length": "angstrom", "angle": "degree"}),
913
+ units: Optional[LatticeUnitsSchema62] = Field(
914
+ default_factory=lambda: LatticeUnitsSchema62.model_validate({"length": "angstrom", "angle": "degree"}),
915
915
  title="Lattice units schema",
916
916
  )
917
917
 
918
918
 
919
- class Name624(Enum):
919
+ class Name528(Enum):
920
920
  volume = "volume"
921
921
 
922
922
 
923
- class Units251(Enum):
923
+ class Units215(Enum):
924
924
  angstrom_3 = "angstrom^3"
925
925
 
926
926
 
927
- class VolumeSchema73(BaseModel):
927
+ class VolumeSchema61(BaseModel):
928
928
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
929
- units: Optional[Units251] = None
929
+ units: Optional[Units215] = None
930
930
  value: float
931
931
 
932
932
 
933
- class Name625(Enum):
933
+ class Name529(Enum):
934
934
  density = "density"
935
935
 
936
936
 
937
- class Units252(Enum):
937
+ class Units216(Enum):
938
938
  g_cm_3 = "g/cm^3"
939
939
 
940
940
 
941
- class DensitySchema74(BaseModel):
941
+ class DensitySchema62(BaseModel):
942
942
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
943
- units: Optional[Units252] = None
943
+ units: Optional[Units216] = None
944
944
  value: float
945
945
 
946
946
 
947
- class Units253(Enum):
947
+ class Units217(Enum):
948
948
  angstrom = "angstrom"
949
949
 
950
950
 
951
- class ScalarSchema74(BaseModel):
952
- units: Optional[Units253] = None
951
+ class ScalarSchema62(BaseModel):
952
+ units: Optional[Units217] = None
953
953
  value: float
954
954
 
955
955
 
956
- class Name626(Enum):
956
+ class Name530(Enum):
957
957
  symmetry = "symmetry"
958
958
 
959
959
 
960
- class SymmetrySchema73(BaseModel):
960
+ class SymmetrySchema61(BaseModel):
961
961
  pointGroupSymbol: Optional[str] = None
962
962
  """
963
963
  point group symbol in Schoenflies notation
@@ -966,18 +966,18 @@ class SymmetrySchema73(BaseModel):
966
966
  """
967
967
  space group symbol in Hermann–Mauguin notation
968
968
  """
969
- tolerance: Optional[ScalarSchema74] = Field(None, title="scalar schema")
969
+ tolerance: Optional[ScalarSchema62] = Field(None, title="scalar schema")
970
970
  """
971
971
  tolerance used for symmetry calculation
972
972
  """
973
973
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
974
974
 
975
975
 
976
- class Name627(Enum):
976
+ class Name531(Enum):
977
977
  elemental_ratio = "elemental_ratio"
978
978
 
979
979
 
980
- class ElementalRatio74(BaseModel):
980
+ class ElementalRatio62(BaseModel):
981
981
  name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
982
982
  value: confloat(ge=0.0, le=1.0)
983
983
  element: Optional[str] = None
@@ -986,11 +986,11 @@ class ElementalRatio74(BaseModel):
986
986
  """
987
987
 
988
988
 
989
- class Name628(Enum):
989
+ class Name532(Enum):
990
990
  p_norm = "p-norm"
991
991
 
992
992
 
993
- class PNorm73(BaseModel):
993
+ class PNorm61(BaseModel):
994
994
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
995
995
  degree: Optional[int] = None
996
996
  """
@@ -999,56 +999,56 @@ class PNorm73(BaseModel):
999
999
  value: float
1000
1000
 
1001
1001
 
1002
- class Name629(Enum):
1002
+ class Name533(Enum):
1003
1003
  inchi = "inchi"
1004
1004
 
1005
1005
 
1006
- class InChIRepresentationSchema74(BaseModel):
1006
+ class InChIRepresentationSchema62(BaseModel):
1007
1007
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
1008
1008
  value: str
1009
1009
 
1010
1010
 
1011
- class Name630(Enum):
1011
+ class Name534(Enum):
1012
1012
  inchi_key = "inchi_key"
1013
1013
 
1014
1014
 
1015
- class InChIKeyRepresentationSchema74(BaseModel):
1015
+ class InChIKeyRepresentationSchema62(BaseModel):
1016
1016
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1017
1017
  value: str
1018
1018
 
1019
1019
 
1020
- class DerivedPropertiesSchema74(
1020
+ class DerivedPropertiesSchema62(
1021
1021
  RootModel[
1022
1022
  Union[
1023
- VolumeSchema73,
1024
- DensitySchema74,
1025
- SymmetrySchema73,
1026
- ElementalRatio74,
1027
- PNorm73,
1028
- InChIRepresentationSchema74,
1029
- InChIKeyRepresentationSchema74,
1023
+ VolumeSchema61,
1024
+ DensitySchema62,
1025
+ SymmetrySchema61,
1026
+ ElementalRatio62,
1027
+ PNorm61,
1028
+ InChIRepresentationSchema62,
1029
+ InChIKeyRepresentationSchema62,
1030
1030
  ]
1031
1031
  ]
1032
1032
  ):
1033
1033
  root: Union[
1034
- VolumeSchema73,
1035
- DensitySchema74,
1036
- SymmetrySchema73,
1037
- ElementalRatio74,
1038
- PNorm73,
1039
- InChIRepresentationSchema74,
1040
- InChIKeyRepresentationSchema74,
1034
+ VolumeSchema61,
1035
+ DensitySchema62,
1036
+ SymmetrySchema61,
1037
+ ElementalRatio62,
1038
+ PNorm61,
1039
+ InChIRepresentationSchema62,
1040
+ InChIKeyRepresentationSchema62,
1041
1041
  ] = Field(..., discriminator="name")
1042
1042
 
1043
1043
 
1044
- class Name631(Enum):
1044
+ class Name535(Enum):
1045
1045
  default = "default"
1046
1046
  atomsTooClose = "atomsTooClose"
1047
1047
  atomsOverlap = "atomsOverlap"
1048
1048
 
1049
1049
 
1050
- class MaterialConsistencyCheckSchema73(BaseModel):
1051
- name: Name631
1050
+ class MaterialConsistencyCheckSchema61(BaseModel):
1051
+ name: Name535
1052
1052
  """
1053
1053
  Name of the consistency check that is performed, which is listed in an enum.
1054
1054
  """
@@ -1066,7 +1066,7 @@ class MaterialConsistencyCheckSchema73(BaseModel):
1066
1066
  """
1067
1067
 
1068
1068
 
1069
- class CrystalSchema69(BaseModel):
1069
+ class CrystalSchema57(BaseModel):
1070
1070
  formula: Optional[str] = None
1071
1071
  """
1072
1072
  reduced chemical formula
@@ -1075,9 +1075,9 @@ class CrystalSchema69(BaseModel):
1075
1075
  """
1076
1076
  chemical formula based on the number of atoms of each element in the supercell
1077
1077
  """
1078
- basis: BasisSchema73 = Field(..., title="basis schema")
1079
- lattice: LatticeSchema73 = Field(..., title="lattice schema")
1080
- derivedProperties: Optional[List[DerivedPropertiesSchema74]] = Field(None, title="derived properties schema")
1078
+ basis: BasisSchema61 = Field(..., title="basis schema")
1079
+ lattice: LatticeSchema61 = Field(..., title="lattice schema")
1080
+ derivedProperties: Optional[List[DerivedPropertiesSchema62]] = Field(None, title="derived properties schema")
1081
1081
  external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
1082
1082
  """
1083
1083
  information about a database source
@@ -1098,7 +1098,7 @@ class CrystalSchema69(BaseModel):
1098
1098
  """
1099
1099
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1100
1100
  """
1101
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema73]] = None
1101
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema61]] = None
1102
1102
  field_id: Optional[str] = Field(None, alias="_id")
1103
1103
  """
1104
1104
  entity identity
@@ -1132,12 +1132,20 @@ class VacuumConfigurationSchema(BaseModel):
1132
1132
  """
1133
1133
  Size of the vacuum slab in angstroms
1134
1134
  """
1135
- crystal: CrystalSchema69 = Field(..., title="Crystal Schema")
1135
+ crystal: CrystalSchema57 = Field(..., title="Crystal Schema")
1136
1136
  """
1137
1137
  A crystal structure, referencing the base material schema
1138
1138
  """
1139
1139
 
1140
1140
 
1141
+ class ObjectWithId(BaseModel):
1142
+ value: Optional[confloat(ge=0.0)] = None
1143
+ id: int
1144
+ """
1145
+ integer id of this entry
1146
+ """
1147
+
1148
+
1141
1149
  class NanoTapeConfigurationSchema(BaseModel):
1142
1150
  stack_components: List[Union[CrystalLatticeLinesUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field(
1143
1151
  ..., max_length=2, min_length=2
@@ -1146,9 +1154,13 @@ class NanoTapeConfigurationSchema(BaseModel):
1146
1154
  """
1147
1155
  Enum for axis types
1148
1156
  """
1157
+ gaps: Optional[List[ObjectWithId]] = None
1158
+ """
1159
+ Gap distances between stack components as an array of objects with id and value
1160
+ """
1149
1161
 
1150
1162
 
1151
- class Value156(Enum):
1163
+ class Value132(Enum):
1152
1164
  H = "H"
1153
1165
  He = "He"
1154
1166
  Li = "Li"
@@ -1269,13 +1281,13 @@ class Value156(Enum):
1269
1281
  Og = "Og"
1270
1282
 
1271
1283
 
1272
- class Value157(Enum):
1284
+ class Value133(Enum):
1273
1285
  X = "X"
1274
1286
  Vac = "Vac"
1275
1287
 
1276
1288
 
1277
- class AtomicElementSchema76(BaseModel):
1278
- value: Union[Value156, Value157]
1289
+ class AtomicElementSchema64(BaseModel):
1290
+ value: Union[Value132, Value133]
1279
1291
  """
1280
1292
  All elements, including extra elements
1281
1293
  """
@@ -1285,8 +1297,8 @@ class AtomicElementSchema76(BaseModel):
1285
1297
  """
1286
1298
 
1287
1299
 
1288
- class BasisSchema74(BaseModel):
1289
- elements: List[AtomicElementSchema76] = Field(..., title="atomic elements schema")
1300
+ class BasisSchema62(BaseModel):
1301
+ elements: List[AtomicElementSchema64] = Field(..., title="atomic elements schema")
1290
1302
  """
1291
1303
  atomic elements schema
1292
1304
  """
@@ -1301,7 +1313,7 @@ class BasisSchema74(BaseModel):
1301
1313
  """
1302
1314
 
1303
1315
 
1304
- class LatticeVectorsSchema74(BaseModel):
1316
+ class LatticeVectorsSchema62(BaseModel):
1305
1317
  a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1306
1318
  b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
1307
1319
  c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
@@ -1312,12 +1324,12 @@ class LatticeVectorsSchema74(BaseModel):
1312
1324
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
1313
1325
 
1314
1326
 
1315
- class LatticeUnitsSchema75(BaseModel):
1327
+ class LatticeUnitsSchema63(BaseModel):
1316
1328
  length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
1317
1329
  angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
1318
1330
 
1319
1331
 
1320
- class LatticeSchema74(BaseModel):
1332
+ class LatticeSchema62(BaseModel):
1321
1333
  a: float
1322
1334
  """
1323
1335
  length of the first lattice vector
@@ -1342,56 +1354,56 @@ class LatticeSchema74(BaseModel):
1342
1354
  """
1343
1355
  angle between first and third lattice vector
1344
1356
  """
1345
- vectors: Optional[LatticeVectorsSchema74] = Field(None, title="lattice vectors schema")
1357
+ vectors: Optional[LatticeVectorsSchema62] = Field(None, title="lattice vectors schema")
1346
1358
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
1347
- units: Optional[LatticeUnitsSchema75] = Field(
1348
- default_factory=lambda: LatticeUnitsSchema75.model_validate({"length": "angstrom", "angle": "degree"}),
1359
+ units: Optional[LatticeUnitsSchema63] = Field(
1360
+ default_factory=lambda: LatticeUnitsSchema63.model_validate({"length": "angstrom", "angle": "degree"}),
1349
1361
  title="Lattice units schema",
1350
1362
  )
1351
1363
 
1352
1364
 
1353
- class Name632(Enum):
1365
+ class Name536(Enum):
1354
1366
  volume = "volume"
1355
1367
 
1356
1368
 
1357
- class Units254(Enum):
1369
+ class Units218(Enum):
1358
1370
  angstrom_3 = "angstrom^3"
1359
1371
 
1360
1372
 
1361
- class VolumeSchema74(BaseModel):
1373
+ class VolumeSchema62(BaseModel):
1362
1374
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
1363
- units: Optional[Units254] = None
1375
+ units: Optional[Units218] = None
1364
1376
  value: float
1365
1377
 
1366
1378
 
1367
- class Name633(Enum):
1379
+ class Name537(Enum):
1368
1380
  density = "density"
1369
1381
 
1370
1382
 
1371
- class Units255(Enum):
1383
+ class Units219(Enum):
1372
1384
  g_cm_3 = "g/cm^3"
1373
1385
 
1374
1386
 
1375
- class DensitySchema75(BaseModel):
1387
+ class DensitySchema63(BaseModel):
1376
1388
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
1377
- units: Optional[Units255] = None
1389
+ units: Optional[Units219] = None
1378
1390
  value: float
1379
1391
 
1380
1392
 
1381
- class Units256(Enum):
1393
+ class Units220(Enum):
1382
1394
  angstrom = "angstrom"
1383
1395
 
1384
1396
 
1385
- class ScalarSchema75(BaseModel):
1386
- units: Optional[Units256] = None
1397
+ class ScalarSchema63(BaseModel):
1398
+ units: Optional[Units220] = None
1387
1399
  value: float
1388
1400
 
1389
1401
 
1390
- class Name634(Enum):
1402
+ class Name538(Enum):
1391
1403
  symmetry = "symmetry"
1392
1404
 
1393
1405
 
1394
- class SymmetrySchema74(BaseModel):
1406
+ class SymmetrySchema62(BaseModel):
1395
1407
  pointGroupSymbol: Optional[str] = None
1396
1408
  """
1397
1409
  point group symbol in Schoenflies notation
@@ -1400,18 +1412,18 @@ class SymmetrySchema74(BaseModel):
1400
1412
  """
1401
1413
  space group symbol in Hermann–Mauguin notation
1402
1414
  """
1403
- tolerance: Optional[ScalarSchema75] = Field(None, title="scalar schema")
1415
+ tolerance: Optional[ScalarSchema63] = Field(None, title="scalar schema")
1404
1416
  """
1405
1417
  tolerance used for symmetry calculation
1406
1418
  """
1407
1419
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
1408
1420
 
1409
1421
 
1410
- class Name635(Enum):
1422
+ class Name539(Enum):
1411
1423
  elemental_ratio = "elemental_ratio"
1412
1424
 
1413
1425
 
1414
- class ElementalRatio75(BaseModel):
1426
+ class ElementalRatio63(BaseModel):
1415
1427
  name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
1416
1428
  value: confloat(ge=0.0, le=1.0)
1417
1429
  element: Optional[str] = None
@@ -1420,11 +1432,11 @@ class ElementalRatio75(BaseModel):
1420
1432
  """
1421
1433
 
1422
1434
 
1423
- class Name636(Enum):
1435
+ class Name540(Enum):
1424
1436
  p_norm = "p-norm"
1425
1437
 
1426
1438
 
1427
- class PNorm74(BaseModel):
1439
+ class PNorm62(BaseModel):
1428
1440
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
1429
1441
  degree: Optional[int] = None
1430
1442
  """
@@ -1433,56 +1445,56 @@ class PNorm74(BaseModel):
1433
1445
  value: float
1434
1446
 
1435
1447
 
1436
- class Name637(Enum):
1448
+ class Name541(Enum):
1437
1449
  inchi = "inchi"
1438
1450
 
1439
1451
 
1440
- class InChIRepresentationSchema75(BaseModel):
1452
+ class InChIRepresentationSchema63(BaseModel):
1441
1453
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
1442
1454
  value: str
1443
1455
 
1444
1456
 
1445
- class Name638(Enum):
1457
+ class Name542(Enum):
1446
1458
  inchi_key = "inchi_key"
1447
1459
 
1448
1460
 
1449
- class InChIKeyRepresentationSchema75(BaseModel):
1461
+ class InChIKeyRepresentationSchema63(BaseModel):
1450
1462
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1451
1463
  value: str
1452
1464
 
1453
1465
 
1454
- class DerivedPropertiesSchema75(
1466
+ class DerivedPropertiesSchema63(
1455
1467
  RootModel[
1456
1468
  Union[
1457
- VolumeSchema74,
1458
- DensitySchema75,
1459
- SymmetrySchema74,
1460
- ElementalRatio75,
1461
- PNorm74,
1462
- InChIRepresentationSchema75,
1463
- InChIKeyRepresentationSchema75,
1469
+ VolumeSchema62,
1470
+ DensitySchema63,
1471
+ SymmetrySchema62,
1472
+ ElementalRatio63,
1473
+ PNorm62,
1474
+ InChIRepresentationSchema63,
1475
+ InChIKeyRepresentationSchema63,
1464
1476
  ]
1465
1477
  ]
1466
1478
  ):
1467
1479
  root: Union[
1468
- VolumeSchema74,
1469
- DensitySchema75,
1470
- SymmetrySchema74,
1471
- ElementalRatio75,
1472
- PNorm74,
1473
- InChIRepresentationSchema75,
1474
- InChIKeyRepresentationSchema75,
1480
+ VolumeSchema62,
1481
+ DensitySchema63,
1482
+ SymmetrySchema62,
1483
+ ElementalRatio63,
1484
+ PNorm62,
1485
+ InChIRepresentationSchema63,
1486
+ InChIKeyRepresentationSchema63,
1475
1487
  ] = Field(..., discriminator="name")
1476
1488
 
1477
1489
 
1478
- class Name639(Enum):
1490
+ class Name543(Enum):
1479
1491
  default = "default"
1480
1492
  atomsTooClose = "atomsTooClose"
1481
1493
  atomsOverlap = "atomsOverlap"
1482
1494
 
1483
1495
 
1484
- class MaterialConsistencyCheckSchema74(BaseModel):
1485
- name: Name639
1496
+ class MaterialConsistencyCheckSchema62(BaseModel):
1497
+ name: Name543
1486
1498
  """
1487
1499
  Name of the consistency check that is performed, which is listed in an enum.
1488
1500
  """
@@ -1500,7 +1512,7 @@ class MaterialConsistencyCheckSchema74(BaseModel):
1500
1512
  """
1501
1513
 
1502
1514
 
1503
- class CrystalSchema70(BaseModel):
1515
+ class CrystalSchema58(BaseModel):
1504
1516
  formula: Optional[str] = None
1505
1517
  """
1506
1518
  reduced chemical formula
@@ -1509,9 +1521,9 @@ class CrystalSchema70(BaseModel):
1509
1521
  """
1510
1522
  chemical formula based on the number of atoms of each element in the supercell
1511
1523
  """
1512
- basis: BasisSchema74 = Field(..., title="basis schema")
1513
- lattice: LatticeSchema74 = Field(..., title="lattice schema")
1514
- derivedProperties: Optional[List[DerivedPropertiesSchema75]] = Field(None, title="derived properties schema")
1524
+ basis: BasisSchema62 = Field(..., title="basis schema")
1525
+ lattice: LatticeSchema62 = Field(..., title="lattice schema")
1526
+ derivedProperties: Optional[List[DerivedPropertiesSchema63]] = Field(None, title="derived properties schema")
1515
1527
  external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
1516
1528
  """
1517
1529
  information about a database source
@@ -1532,7 +1544,7 @@ class CrystalSchema70(BaseModel):
1532
1544
  """
1533
1545
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1534
1546
  """
1535
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema74]] = None
1547
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema62]] = None
1536
1548
  field_id: Optional[str] = Field(None, alias="_id")
1537
1549
  """
1538
1550
  entity identity
@@ -1557,7 +1569,7 @@ class CrystalSchema70(BaseModel):
1557
1569
  metadata: Optional[Dict[str, Any]] = None
1558
1570
 
1559
1571
 
1560
- class VacuumConfigurationSchema30(BaseModel):
1572
+ class VacuumConfigurationSchema24(BaseModel):
1561
1573
  direction: AxisEnum = Field(..., title="Axis Enum")
1562
1574
  """
1563
1575
  Enum for axis types
@@ -1566,17 +1578,21 @@ class VacuumConfigurationSchema30(BaseModel):
1566
1578
  """
1567
1579
  Size of the vacuum slab in angstroms
1568
1580
  """
1569
- crystal: CrystalSchema70 = Field(..., title="Crystal Schema")
1581
+ crystal: CrystalSchema58 = Field(..., title="Crystal Schema")
1570
1582
  """
1571
1583
  A crystal structure, referencing the base material schema
1572
1584
  """
1573
1585
 
1574
1586
 
1575
1587
  class NanoribbonConfigurationSchema(BaseModel):
1576
- stack_components: List[Union[NanoTapeConfigurationSchema, VacuumConfigurationSchema30]] = Field(
1588
+ stack_components: List[Union[NanoTapeConfigurationSchema, VacuumConfigurationSchema24]] = Field(
1577
1589
  ..., max_length=2, min_length=2
1578
1590
  )
1579
1591
  direction: Optional[AxisEnum] = Field("x", title="Axis Enum")
1580
1592
  """
1581
1593
  Enum for axis types
1582
1594
  """
1595
+ gaps: Optional[List[ObjectWithId]] = None
1596
+ """
1597
+ Gap distances between stack components as an array of objects with id and value
1598
+ """