mat3ra-esse 2025.5.16.post0__py3-none-any.whl → 2025.5.17.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 (81) 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 +8 -8
  4. mat3ra/esse/models/core/reusable/energy.py +2 -2
  5. mat3ra/esse/models/definitions/chemical_elements.py +13 -0
  6. mat3ra/esse/models/definitions/materials.py +13 -0
  7. mat3ra/esse/models/element.py +128 -10
  8. mat3ra/esse/models/enums/__init__.py +3 -0
  9. mat3ra/esse/models/enums/chemical_elements.py +13 -0
  10. mat3ra/esse/models/material/__init__.py +140 -14
  11. mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py +128 -4
  12. mat3ra/esse/models/material/reusable/slab/enums/__init__.py +3 -0
  13. mat3ra/esse/models/material/reusable/slab/enums/exposed_face.py +13 -0
  14. mat3ra/esse/models/material/reusable/slab/number_of_layers.py +1 -1
  15. mat3ra/esse/models/material/reusable/slab/termination.py +129 -3
  16. mat3ra/esse/models/material/reusable/slab/vacuum.py +2 -2
  17. mat3ra/esse/models/materials_category/defects/__init__.py +3 -0
  18. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/__init__.py +3 -0
  19. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/__init__.py +3 -0
  20. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/configuration.py +672 -0
  21. mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/configuration.py +546 -0
  22. mat3ra/esse/models/materials_category/defects/configuration.py +541 -0
  23. mat3ra/esse/models/materials_category/defects/enums/__init__.py +3 -0
  24. mat3ra/esse/models/materials_category/defects/enums/atom_placement_method.py +22 -0
  25. mat3ra/esse/models/materials_category/defects/enums/complex_defect_type.py +18 -0
  26. mat3ra/esse/models/materials_category/defects/enums/coordinates_shape.py +21 -0
  27. mat3ra/esse/models/materials_category/defects/enums/point_defect_type.py +13 -0
  28. mat3ra/esse/models/materials_category/defects/enums/slab_defect_type.py +19 -0
  29. mat3ra/esse/models/materials_category/defects/enums.py +13 -0
  30. mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/__init__.py +3 -0
  31. mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +425 -0
  32. mat3ra/esse/models/materials_category/defects/slab/__init__.py +3 -0
  33. mat3ra/esse/models/materials_category/defects/slab/configuration.py +412 -0
  34. mat3ra/esse/models/materials_category/defects/two_dimensional/island/__init__.py +3 -0
  35. mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +449 -0
  36. mat3ra/esse/models/materials_category/defects/two_dimensional/slab_grain_boundary/__init__.py +3 -0
  37. mat3ra/esse/models/materials_category/defects/two_dimensional/slab_grain_boundary/configuration.py +1105 -0
  38. mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/__init__.py +3 -0
  39. mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/base_configuration.py +418 -0
  40. mat3ra/esse/models/materials_category/defects/zero_dimensional/adatom/configuration.py +418 -0
  41. mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/__init__.py +3 -0
  42. mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair.py +1534 -0
  43. mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/__init__.py +3 -0
  44. mat3ra/esse/models/materials_category/defects/zero_dimensional/defect_pair/configuration.py +1026 -0
  45. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/__init__.py +3 -0
  46. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/base_configuration.py +30 -0
  47. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +672 -0
  48. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/__init__.py +3 -0
  49. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/configuration.py +672 -0
  50. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/__init__.py +3 -0
  51. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/configuration.py +672 -0
  52. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/__init__.py +3 -0
  53. mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/configuration.py +672 -0
  54. mat3ra/esse/models/materials_category/defects/zero_dimensional/slab/__init__.py +3 -0
  55. mat3ra/esse/models/materials_category/defects/zero_dimensional/slab/configuration.py +434 -0
  56. mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +142 -16
  57. mat3ra/esse/models/properties_directory/derived_properties.py +11 -11
  58. mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
  59. mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
  60. mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
  61. mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +50 -50
  62. mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
  63. mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
  64. mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
  65. mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
  66. mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
  67. mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
  68. mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
  69. mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
  70. mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
  71. mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
  72. mat3ra/esse/models/properties_directory/structural/basis/__init__.py +128 -2
  73. mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +131 -2
  74. mat3ra/esse/models/properties_directory/structural/basis/atomic_elements.py +130 -3
  75. mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +4 -4
  76. mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
  77. {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/METADATA +1 -1
  78. {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/RECORD +81 -36
  79. {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/WHEEL +0 -0
  80. {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/licenses/LICENSE.md +0 -0
  81. {mat3ra_esse-2025.5.16.post0.dist-info → mat3ra_esse-2025.5.17.post0.dist-info}/top_level.txt +0 -0
@@ -4,13 +4,139 @@
4
4
 
5
5
  from __future__ import annotations
6
6
 
7
- from pydantic import BaseModel, Field
7
+ from enum import Enum
8
+ from typing import Union
9
+
10
+ from pydantic import BaseModel, Field, constr
11
+
12
+
13
+ class ChemicalElements(Enum):
14
+ H = "H"
15
+ He = "He"
16
+ Li = "Li"
17
+ Be = "Be"
18
+ B = "B"
19
+ C = "C"
20
+ N = "N"
21
+ O = "O"
22
+ F = "F"
23
+ Ne = "Ne"
24
+ Na = "Na"
25
+ Mg = "Mg"
26
+ Al = "Al"
27
+ Si = "Si"
28
+ P = "P"
29
+ S = "S"
30
+ Cl = "Cl"
31
+ Ar = "Ar"
32
+ K = "K"
33
+ Ca = "Ca"
34
+ Sc = "Sc"
35
+ Ti = "Ti"
36
+ V = "V"
37
+ Cr = "Cr"
38
+ Mn = "Mn"
39
+ Fe = "Fe"
40
+ Co = "Co"
41
+ Ni = "Ni"
42
+ Cu = "Cu"
43
+ Zn = "Zn"
44
+ Ga = "Ga"
45
+ Ge = "Ge"
46
+ As = "As"
47
+ Se = "Se"
48
+ Br = "Br"
49
+ Kr = "Kr"
50
+ Rb = "Rb"
51
+ Sr = "Sr"
52
+ Y = "Y"
53
+ Zr = "Zr"
54
+ Nb = "Nb"
55
+ Mo = "Mo"
56
+ Tc = "Tc"
57
+ Ru = "Ru"
58
+ Rh = "Rh"
59
+ Pd = "Pd"
60
+ Ag = "Ag"
61
+ Cd = "Cd"
62
+ In = "In"
63
+ Sn = "Sn"
64
+ Sb = "Sb"
65
+ Te = "Te"
66
+ I = "I"
67
+ Xe = "Xe"
68
+ Cs = "Cs"
69
+ Ba = "Ba"
70
+ La = "La"
71
+ Ce = "Ce"
72
+ Pr = "Pr"
73
+ Nd = "Nd"
74
+ Pm = "Pm"
75
+ Sm = "Sm"
76
+ Eu = "Eu"
77
+ Gd = "Gd"
78
+ Tb = "Tb"
79
+ Dy = "Dy"
80
+ Ho = "Ho"
81
+ Er = "Er"
82
+ Tm = "Tm"
83
+ Yb = "Yb"
84
+ Lu = "Lu"
85
+ Hf = "Hf"
86
+ Ta = "Ta"
87
+ W = "W"
88
+ Re = "Re"
89
+ Os = "Os"
90
+ Ir = "Ir"
91
+ Pt = "Pt"
92
+ Au = "Au"
93
+ Hg = "Hg"
94
+ Tl = "Tl"
95
+ Pb = "Pb"
96
+ Bi = "Bi"
97
+ Po = "Po"
98
+ At = "At"
99
+ Rn = "Rn"
100
+ Fr = "Fr"
101
+ Ra = "Ra"
102
+ Ac = "Ac"
103
+ Th = "Th"
104
+ Pa = "Pa"
105
+ U = "U"
106
+ Np = "Np"
107
+ Pu = "Pu"
108
+ Am = "Am"
109
+ Cm = "Cm"
110
+ Bk = "Bk"
111
+ Cf = "Cf"
112
+ Es = "Es"
113
+ Fm = "Fm"
114
+ Md = "Md"
115
+ No = "No"
116
+ Lr = "Lr"
117
+ Rf = "Rf"
118
+ Db = "Db"
119
+ Sg = "Sg"
120
+ Bh = "Bh"
121
+ Hs = "Hs"
122
+ Mt = "Mt"
123
+ Ds = "Ds"
124
+ Rg = "Rg"
125
+ Cn = "Cn"
126
+ Nh = "Nh"
127
+ Fl = "Fl"
128
+ Mc = "Mc"
129
+ Lv = "Lv"
130
+ Ts = "Ts"
131
+ Og = "Og"
8
132
 
9
133
 
10
134
  class TerminationSchema(BaseModel):
11
- chemical_elements: str = Field(..., title="Chemical Elements")
135
+ chemical_elements: Union[ChemicalElements, constr(pattern=r"^[A-Z][a-z]?([A-Z][a-z]?)*$")] = Field(
136
+ ..., title="Chemical Elements"
137
+ )
12
138
  """
13
- Chemical elements at the termination
139
+ Chemical elements at the termination. Can be a single element (e.g. 'Si') or a compound (e.g. 'SiO')
14
140
  """
15
141
  space_group_symmetry_label: str = Field(..., title="Space Group Symmetry Label")
16
142
  """
@@ -9,8 +9,8 @@ from typing import Optional
9
9
  from pydantic import Field, RootModel, confloat
10
10
 
11
11
 
12
- class VacuumSchema(RootModel[Optional[confloat(ge=0.0)]]):
13
- root: Optional[confloat(ge=0.0)] = Field(5, title="Vacuum Schema")
12
+ class VacuumThicknessSchema(RootModel[Optional[confloat(ge=0.0)]]):
13
+ root: Optional[confloat(ge=0.0)] = Field(5, title="Vacuum Thickness Schema")
14
14
  """
15
15
  Vacuum thickness in Angstroms
16
16
  """
@@ -0,0 +1,3 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: schema
3
+ # version: 0.28.5
@@ -0,0 +1,3 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: schema
3
+ # version: 0.28.5
@@ -0,0 +1,3 @@
1
+ # generated by datamodel-codegen:
2
+ # filename: schema
3
+ # version: 0.28.5