mat3ra-esse 2025.7.1.post0__py3-none-any.whl → 2025.7.29.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 (99) 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/abstract/vector_2d.py +13 -0
  5. mat3ra/esse/models/core/primitive/array_of_2_numbers.py +13 -0
  6. mat3ra/esse/models/core/reusable/energy.py +2 -2
  7. mat3ra/esse/models/element.py +6 -6
  8. mat3ra/esse/models/job/__init__.py +8 -0
  9. mat3ra/esse/models/material/__init__.py +14 -14
  10. mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/__init__.py +3 -0
  11. mat3ra/esse/models/materials_category/compound_pristine_structures/two_dimensional/interface/configuration.py +6039 -0
  12. mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/__init__.py +3 -0
  13. mat3ra/esse/models/materials_category/defective_structures/one_dimensional/grain_boundary_linear/configuration.py +6043 -0
  14. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/__init__.py +3 -0
  15. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/__init__.py +3 -0
  16. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/adatom/configuration.py +2116 -0
  17. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/base_configuration.py +1561 -0
  18. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/__init__.py +3 -0
  19. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/grain_boundary_planar/configuration.py +6039 -0
  20. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/__init__.py +3 -0
  21. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/island/configuration.py +2888 -0
  22. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/__init__.py +3 -0
  23. mat3ra/esse/models/materials_category/defective_structures/two_dimensional/terrace/configuration.py +2892 -0
  24. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/__init__.py +3 -0
  25. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/base_configuration.py +544 -0
  26. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/interstitial.py +1099 -0
  27. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/substitutional.py +1099 -0
  28. mat3ra/esse/models/materials_category/defective_structures/zero_dimensional/point_defect/vacancy.py +556 -0
  29. mat3ra/esse/models/materials_category/pristine_structures/three_dimensional/ideal_crystal.py +14 -14
  30. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanoribbon.py +1582 -0
  31. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/nanotape.py +1148 -0
  32. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab.py +78 -94
  33. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell.py +1147 -0
  34. mat3ra/esse/models/materials_category/pristine_structures/two_dimensional/slab_strained_supercell_with_gap.py +1151 -0
  35. mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/__init__.py +3 -0
  36. mat3ra/esse/models/materials_category/processed_structures/two_dimensional/passivation/configuration.py +1232 -0
  37. mat3ra/esse/models/materials_category_components/entities/auxiliary/one_dimensional/__init__.py +3 -0
  38. mat3ra/esse/models/materials_category_components/entities/auxiliary/one_dimensional/miller_indices_2d.py +16 -0
  39. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/crystal_site.py +527 -2
  40. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/point_defect_site.py +676 -0
  41. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_region.py +555 -0
  42. mat3ra/esse/models/materials_category_components/entities/auxiliary/zero_dimensional/void_site.py +1576 -0
  43. mat3ra/esse/models/materials_category_components/entities/core/three_dimensional/crystal.py +14 -14
  44. mat3ra/esse/models/materials_category_components/entities/core/two_dimensional/vacuum.py +14 -14
  45. mat3ra/esse/models/materials_category_components/entities/core/zero_dimensional/vacancy.py +22 -0
  46. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/__init__.py +3 -0
  47. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_base.py +541 -0
  48. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines.py +545 -0
  49. mat3ra/esse/models/materials_category_components/entities/reusable/one_dimensional/crystal_lattice_lines_unique_repeated.py +708 -0
  50. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/crystal_lattice_base.py +541 -0
  51. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_non_uniform.py +14 -14
  52. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/strained_uniform.py +14 -14
  53. mat3ra/esse/models/materials_category_components/entities/reusable/three_dimensional/supercell.py +14 -14
  54. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers.py +4 -4
  55. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique.py +4 -4
  56. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/atomic_layers_unique_repeated.py +4 -4
  57. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/crystal_lattice_planes.py +18 -18
  58. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_stack_configuration.py +1561 -0
  59. mat3ra/esse/models/materials_category_components/entities/reusable/two_dimensional/slab_unit_cell.py +74 -77
  60. mat3ra/esse/models/materials_category_components/operations/core/combinations/enums.py +13 -0
  61. mat3ra/esse/models/materials_category_components/operations/core/combinations/merge.py +9 -981
  62. mat3ra/esse/models/materials_category_components/operations/core/combinations/stack.py +3 -947
  63. mat3ra/esse/models/materials_category_components/operations/core/modifications/perturb.py +538 -0
  64. mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
  65. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
  66. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
  67. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
  68. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
  69. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
  70. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
  71. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
  72. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
  73. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
  74. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
  75. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
  76. mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
  77. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
  78. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
  79. mat3ra/esse/models/properties_directory/structural/basis/__init__.py +2 -2
  80. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
  81. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
  82. mat3ra/esse/models/software/flavor.py +4 -0
  83. mat3ra/esse/models/software_directory/ml/unit/execution/__init__.py +16 -0
  84. mat3ra/esse/models/software_directory/ml/unit/execution/evaluate/cross_validate.py +4 -0
  85. mat3ra/esse/models/software_directory/ml/unit/execution/initialize.py +4 -0
  86. mat3ra/esse/models/software_directory/ml/unit/execution/score.py +4 -0
  87. mat3ra/esse/models/software_directory/ml/unit/execution/train.py +4 -0
  88. mat3ra/esse/models/software_directory/modeling/unit/execution.py +4 -0
  89. mat3ra/esse/models/software_directory/scripting/unit/execution.py +4 -0
  90. mat3ra/esse/models/workflow/__init__.py +8 -0
  91. mat3ra/esse/models/workflow/subworkflow/__init__.py +4 -0
  92. mat3ra/esse/models/workflow/subworkflow/unit.py +4 -0
  93. mat3ra/esse/models/workflow/unit/__init__.py +4 -0
  94. mat3ra/esse/models/workflow/unit/execution.py +4 -0
  95. {mat3ra_esse-2025.7.1.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/METADATA +5 -5
  96. {mat3ra_esse-2025.7.1.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/RECORD +99 -58
  97. {mat3ra_esse-2025.7.1.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/WHEEL +0 -0
  98. {mat3ra_esse-2025.7.1.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/licenses/LICENSE.md +0 -0
  99. {mat3ra_esse-2025.7.1.post0.dist-info → mat3ra_esse-2025.7.29.post0.dist-info}/top_level.txt +0 -0
@@ -10,10 +10,6 @@ from typing import Any, Dict, List, Literal, Optional, Union
10
10
  from pydantic import BaseModel, Field, RootModel, confloat, conint, constr
11
11
 
12
12
 
13
- class SupercellMatrix2DSchemaItem(RootModel[List[int]]):
14
- root: List[int]
15
-
16
-
17
13
  class ChemicalElements(Enum):
18
14
  H = "H"
19
15
  He = "He"
@@ -269,13 +265,13 @@ class Value(Enum):
269
265
  Og = "Og"
270
266
 
271
267
 
272
- class Value33(Enum):
268
+ class Value171(Enum):
273
269
  X = "X"
274
270
  Vac = "Vac"
275
271
 
276
272
 
277
273
  class AtomicElementSchema(BaseModel):
278
- value: Union[Value, Value33]
274
+ value: Union[Value, Value171]
279
275
  """
280
276
  All elements, including extra elements
281
277
  """
@@ -423,30 +419,30 @@ class VolumeSchema(BaseModel):
423
419
  value: float
424
420
 
425
421
 
426
- class Name133(Enum):
422
+ class Name685(Enum):
427
423
  density = "density"
428
424
 
429
425
 
430
- class Units72(Enum):
426
+ class Units279(Enum):
431
427
  g_cm_3 = "g/cm^3"
432
428
 
433
429
 
434
430
  class DensitySchema(BaseModel):
435
431
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
436
- units: Optional[Units72] = None
432
+ units: Optional[Units279] = None
437
433
  value: float
438
434
 
439
435
 
440
- class Units73(Enum):
436
+ class Units280(Enum):
441
437
  angstrom = "angstrom"
442
438
 
443
439
 
444
440
  class ScalarSchema(BaseModel):
445
- units: Optional[Units73] = None
441
+ units: Optional[Units280] = None
446
442
  value: float
447
443
 
448
444
 
449
- class Name134(Enum):
445
+ class Name686(Enum):
450
446
  symmetry = "symmetry"
451
447
 
452
448
 
@@ -466,7 +462,7 @@ class SymmetrySchema(BaseModel):
466
462
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
467
463
 
468
464
 
469
- class Name135(Enum):
465
+ class Name687(Enum):
470
466
  elemental_ratio = "elemental_ratio"
471
467
 
472
468
 
@@ -479,7 +475,7 @@ class ElementalRatio(BaseModel):
479
475
  """
480
476
 
481
477
 
482
- class Name136(Enum):
478
+ class Name688(Enum):
483
479
  p_norm = "p-norm"
484
480
 
485
481
 
@@ -492,7 +488,7 @@ class PNorm(BaseModel):
492
488
  value: float
493
489
 
494
490
 
495
- class Name137(Enum):
491
+ class Name689(Enum):
496
492
  inchi = "inchi"
497
493
 
498
494
 
@@ -501,7 +497,7 @@ class InChIRepresentationSchema(BaseModel):
501
497
  value: str
502
498
 
503
499
 
504
- class Name138(Enum):
500
+ class Name690(Enum):
505
501
  inchi_key = "inchi_key"
506
502
 
507
503
 
@@ -580,7 +576,7 @@ class FileSourceSchema(BaseModel):
580
576
  """
581
577
 
582
578
 
583
- class Name139(Enum):
579
+ class Name691(Enum):
584
580
  default = "default"
585
581
  atomsTooClose = "atomsTooClose"
586
582
  atomsOverlap = "atomsOverlap"
@@ -593,7 +589,7 @@ class Severity(Enum):
593
589
 
594
590
 
595
591
  class MaterialConsistencyCheckSchema(BaseModel):
596
- name: Name139
592
+ name: Name691
597
593
  """
598
594
  Name of the consistency check that is performed, which is listed in an enum.
599
595
  """
@@ -677,14 +673,14 @@ class AtomicLayersUniqueRepeatedSchema(BaseModel):
677
673
  """
678
674
  Number of repetitions of the unique atomic layers
679
675
  """
680
- crystal: CrystalSchema = Field(..., title="Crystal Schema")
681
- """
682
- A crystal structure, referencing the base material schema
683
- """
684
676
  miller_indices: Optional[List[int]] = Field([0, 0, 1], max_length=3, min_length=3, title="Miller Indices Schema")
685
677
  """
686
678
  Miller indices [h, k, l] defining crystallographic planes
687
679
  """
680
+ crystal: CrystalSchema = Field(..., title="Crystal Schema")
681
+ """
682
+ A crystal structure, referencing the base material schema
683
+ """
688
684
  use_conventional_cell: Optional[bool] = True
689
685
  """
690
686
  Use the conventional cell for the crystal structure
@@ -697,7 +693,7 @@ class AxisEnum(Enum):
697
693
  z = "z"
698
694
 
699
695
 
700
- class Value34(Enum):
696
+ class Value172(Enum):
701
697
  H = "H"
702
698
  He = "He"
703
699
  Li = "Li"
@@ -818,13 +814,13 @@ class Value34(Enum):
818
814
  Og = "Og"
819
815
 
820
816
 
821
- class Value35(Enum):
817
+ class Value173(Enum):
822
818
  X = "X"
823
819
  Vac = "Vac"
824
820
 
825
821
 
826
- class AtomicElementSchema13(BaseModel):
827
- value: Union[Value34, Value35]
822
+ class AtomicElementSchema82(BaseModel):
823
+ value: Union[Value172, Value173]
828
824
  """
829
825
  All elements, including extra elements
830
826
  """
@@ -834,8 +830,8 @@ class AtomicElementSchema13(BaseModel):
834
830
  """
835
831
 
836
832
 
837
- class BasisSchema11(BaseModel):
838
- elements: List[AtomicElementSchema13] = Field(..., title="atomic elements schema")
833
+ class BasisSchema80(BaseModel):
834
+ elements: List[AtomicElementSchema82] = Field(..., title="atomic elements schema")
839
835
  """
840
836
  atomic elements schema
841
837
  """
@@ -850,7 +846,7 @@ class BasisSchema11(BaseModel):
850
846
  """
851
847
 
852
848
 
853
- class LatticeVectorsSchema11(BaseModel):
849
+ class LatticeVectorsSchema80(BaseModel):
854
850
  a: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
855
851
  b: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
856
852
  c: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
@@ -861,12 +857,12 @@ class LatticeVectorsSchema11(BaseModel):
861
857
  units: Optional[LatticeVectorsUnitsEnum] = Field("angstrom", title="lattice vectors units enum")
862
858
 
863
859
 
864
- class LatticeUnitsSchema12(BaseModel):
860
+ class LatticeUnitsSchema81(BaseModel):
865
861
  length: Optional[LatticeUnitsLengthEnum] = Field("angstrom", title="lattice units length enum")
866
862
  angle: Optional[LatticeUnitsAngleEnum] = Field("degree", title="lattice units angle enum")
867
863
 
868
864
 
869
- class LatticeSchema11(BaseModel):
865
+ class LatticeSchema80(BaseModel):
870
866
  a: float
871
867
  """
872
868
  length of the first lattice vector
@@ -891,56 +887,56 @@ class LatticeSchema11(BaseModel):
891
887
  """
892
888
  angle between first and third lattice vector
893
889
  """
894
- vectors: Optional[LatticeVectorsSchema11] = Field(None, title="lattice vectors schema")
890
+ vectors: Optional[LatticeVectorsSchema80] = Field(None, title="lattice vectors schema")
895
891
  type: Optional[LatticeTypeEnum] = Field("TRI", title="lattice type enum")
896
- units: Optional[LatticeUnitsSchema12] = Field(
897
- default_factory=lambda: LatticeUnitsSchema12.model_validate({"length": "angstrom", "angle": "degree"}),
892
+ units: Optional[LatticeUnitsSchema81] = Field(
893
+ default_factory=lambda: LatticeUnitsSchema81.model_validate({"length": "angstrom", "angle": "degree"}),
898
894
  title="Lattice units schema",
899
895
  )
900
896
 
901
897
 
902
- class Name140(Enum):
898
+ class Name692(Enum):
903
899
  volume = "volume"
904
900
 
905
901
 
906
- class Units74(Enum):
902
+ class Units281(Enum):
907
903
  angstrom_3 = "angstrom^3"
908
904
 
909
905
 
910
- class VolumeSchema11(BaseModel):
906
+ class VolumeSchema80(BaseModel):
911
907
  name: Literal["0#-datamodel-code-generator-#-object-#-special-#"]
912
- units: Optional[Units74] = None
908
+ units: Optional[Units281] = None
913
909
  value: float
914
910
 
915
911
 
916
- class Name141(Enum):
912
+ class Name693(Enum):
917
913
  density = "density"
918
914
 
919
915
 
920
- class Units75(Enum):
916
+ class Units282(Enum):
921
917
  g_cm_3 = "g/cm^3"
922
918
 
923
919
 
924
- class DensitySchema12(BaseModel):
920
+ class DensitySchema81(BaseModel):
925
921
  name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
926
- units: Optional[Units75] = None
922
+ units: Optional[Units282] = None
927
923
  value: float
928
924
 
929
925
 
930
- class Units76(Enum):
926
+ class Units283(Enum):
931
927
  angstrom = "angstrom"
932
928
 
933
929
 
934
- class ScalarSchema13(BaseModel):
935
- units: Optional[Units76] = None
930
+ class ScalarSchema82(BaseModel):
931
+ units: Optional[Units283] = None
936
932
  value: float
937
933
 
938
934
 
939
- class Name142(Enum):
935
+ class Name694(Enum):
940
936
  symmetry = "symmetry"
941
937
 
942
938
 
943
- class SymmetrySchema11(BaseModel):
939
+ class SymmetrySchema80(BaseModel):
944
940
  pointGroupSymbol: Optional[str] = None
945
941
  """
946
942
  point group symbol in Schoenflies notation
@@ -949,18 +945,18 @@ class SymmetrySchema11(BaseModel):
949
945
  """
950
946
  space group symbol in Hermann–Mauguin notation
951
947
  """
952
- tolerance: Optional[ScalarSchema13] = Field(None, title="scalar schema")
948
+ tolerance: Optional[ScalarSchema82] = Field(None, title="scalar schema")
953
949
  """
954
950
  tolerance used for symmetry calculation
955
951
  """
956
952
  name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
957
953
 
958
954
 
959
- class Name143(Enum):
955
+ class Name695(Enum):
960
956
  elemental_ratio = "elemental_ratio"
961
957
 
962
958
 
963
- class ElementalRatio12(BaseModel):
959
+ class ElementalRatio81(BaseModel):
964
960
  name: Literal["3#-datamodel-code-generator-#-object-#-special-#"]
965
961
  value: confloat(ge=0.0, le=1.0)
966
962
  element: Optional[str] = None
@@ -969,11 +965,11 @@ class ElementalRatio12(BaseModel):
969
965
  """
970
966
 
971
967
 
972
- class Name144(Enum):
968
+ class Name696(Enum):
973
969
  p_norm = "p-norm"
974
970
 
975
971
 
976
- class PNorm12(BaseModel):
972
+ class PNorm81(BaseModel):
977
973
  name: Literal["4#-datamodel-code-generator-#-object-#-special-#"]
978
974
  degree: Optional[int] = None
979
975
  """
@@ -982,56 +978,56 @@ class PNorm12(BaseModel):
982
978
  value: float
983
979
 
984
980
 
985
- class Name145(Enum):
981
+ class Name697(Enum):
986
982
  inchi = "inchi"
987
983
 
988
984
 
989
- class InChIRepresentationSchema12(BaseModel):
985
+ class InChIRepresentationSchema81(BaseModel):
990
986
  name: Literal["5#-datamodel-code-generator-#-object-#-special-#"]
991
987
  value: str
992
988
 
993
989
 
994
- class Name146(Enum):
990
+ class Name698(Enum):
995
991
  inchi_key = "inchi_key"
996
992
 
997
993
 
998
- class InChIKeyRepresentationSchema12(BaseModel):
994
+ class InChIKeyRepresentationSchema81(BaseModel):
999
995
  name: Literal["6#-datamodel-code-generator-#-object-#-special-#"]
1000
996
  value: str
1001
997
 
1002
998
 
1003
- class DerivedPropertiesSchema12(
999
+ class DerivedPropertiesSchema81(
1004
1000
  RootModel[
1005
1001
  Union[
1006
- VolumeSchema11,
1007
- DensitySchema12,
1008
- SymmetrySchema11,
1009
- ElementalRatio12,
1010
- PNorm12,
1011
- InChIRepresentationSchema12,
1012
- InChIKeyRepresentationSchema12,
1002
+ VolumeSchema80,
1003
+ DensitySchema81,
1004
+ SymmetrySchema80,
1005
+ ElementalRatio81,
1006
+ PNorm81,
1007
+ InChIRepresentationSchema81,
1008
+ InChIKeyRepresentationSchema81,
1013
1009
  ]
1014
1010
  ]
1015
1011
  ):
1016
1012
  root: Union[
1017
- VolumeSchema11,
1018
- DensitySchema12,
1019
- SymmetrySchema11,
1020
- ElementalRatio12,
1021
- PNorm12,
1022
- InChIRepresentationSchema12,
1023
- InChIKeyRepresentationSchema12,
1013
+ VolumeSchema80,
1014
+ DensitySchema81,
1015
+ SymmetrySchema80,
1016
+ ElementalRatio81,
1017
+ PNorm81,
1018
+ InChIRepresentationSchema81,
1019
+ InChIKeyRepresentationSchema81,
1024
1020
  ] = Field(..., discriminator="name")
1025
1021
 
1026
1022
 
1027
- class Name147(Enum):
1023
+ class Name699(Enum):
1028
1024
  default = "default"
1029
1025
  atomsTooClose = "atomsTooClose"
1030
1026
  atomsOverlap = "atomsOverlap"
1031
1027
 
1032
1028
 
1033
- class MaterialConsistencyCheckSchema11(BaseModel):
1034
- name: Name147
1029
+ class MaterialConsistencyCheckSchema80(BaseModel):
1030
+ name: Name699
1035
1031
  """
1036
1032
  Name of the consistency check that is performed, which is listed in an enum.
1037
1033
  """
@@ -1049,7 +1045,7 @@ class MaterialConsistencyCheckSchema11(BaseModel):
1049
1045
  """
1050
1046
 
1051
1047
 
1052
- class CrystalSchema8(BaseModel):
1048
+ class CrystalSchema75(BaseModel):
1053
1049
  formula: Optional[str] = None
1054
1050
  """
1055
1051
  reduced chemical formula
@@ -1058,9 +1054,9 @@ class CrystalSchema8(BaseModel):
1058
1054
  """
1059
1055
  chemical formula based on the number of atoms of each element in the supercell
1060
1056
  """
1061
- basis: BasisSchema11 = Field(..., title="basis schema")
1062
- lattice: LatticeSchema11 = Field(..., title="lattice schema")
1063
- derivedProperties: Optional[List[DerivedPropertiesSchema12]] = Field(None, title="derived properties schema")
1057
+ basis: BasisSchema80 = Field(..., title="basis schema")
1058
+ lattice: LatticeSchema80 = Field(..., title="lattice schema")
1059
+ derivedProperties: Optional[List[DerivedPropertiesSchema81]] = Field(None, title="derived properties schema")
1064
1060
  external: Optional[DatabaseSourceSchema] = Field(None, title="database source schema")
1065
1061
  """
1066
1062
  information about a database source
@@ -1081,7 +1077,7 @@ class CrystalSchema8(BaseModel):
1081
1077
  """
1082
1078
  Whether to work in the finite molecular picture (usually with atomic orbital basis)
1083
1079
  """
1084
- consistencyChecks: Optional[List[MaterialConsistencyCheckSchema11]] = None
1080
+ consistencyChecks: Optional[List[MaterialConsistencyCheckSchema80]] = None
1085
1081
  field_id: Optional[str] = Field(None, alias="_id")
1086
1082
  """
1087
1083
  entity identity
@@ -1115,29 +1111,17 @@ class VacuumConfigurationSchema(BaseModel):
1115
1111
  """
1116
1112
  Size of the vacuum slab in angstroms
1117
1113
  """
1118
- crystal: CrystalSchema8 = Field(..., title="Crystal Schema")
1114
+ crystal: CrystalSchema75 = Field(..., title="Crystal Schema")
1119
1115
  """
1120
1116
  A crystal structure, referencing the base material schema
1121
1117
  """
1122
1118
 
1123
1119
 
1124
1120
  class SlabConfigurationSchema(BaseModel):
1125
- xy_supercell_matrix: Optional[List[SupercellMatrix2DSchemaItem]] = Field(
1126
- default_factory=lambda: [SupercellMatrix2DSchemaItem.model_validate(v) for v in [[1, 0], [0, 1]]],
1127
- max_length=2,
1128
- min_length=2,
1129
- title="Supercell Matrix 2D Schema",
1130
- )
1131
- """
1132
- Supercell matrix for xy plane transformations
1133
- """
1134
1121
  stack_components: List[Union[AtomicLayersUniqueRepeatedSchema, VacuumConfigurationSchema]] = Field(
1135
- ..., min_length=2
1122
+ ..., max_length=2, min_length=2
1136
1123
  )
1137
- """
1138
- Components of the slab unit cell: repeated unique atomic layers and vacuum
1139
- """
1140
- direction: AxisEnum = Field(..., title="Axis Enum")
1124
+ direction: Optional[AxisEnum] = Field("z", title="Axis Enum")
1141
1125
  """
1142
1126
  Enum for axis types
1143
1127
  """