mat3ra-esse 2025.4.17.post0__py3-none-any.whl → 2025.4.22.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.
- mat3ra/esse/data/examples.py +1 -1
- mat3ra/esse/data/schemas.py +1 -1
- mat3ra/esse/models/apse/db/nist_jarvis/2024_3.13/__init__.py +3 -0
- mat3ra/esse/models/apse/db/nist_jarvis/2024_3.13/atoms.py +41 -0
- mat3ra/esse/models/apse/db/nist_jarvis/2024_3.13/db_entry.py +55 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/__init__.py +3 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw.x/__init__.py +3 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw.x/atomic_positions.py +51 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw.x/atomic_species.py +34 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw.x/cell.py +111 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw.x/cell_parameters.py +36 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw.x/control.py +169 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw.x/electrons.py +139 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw.x/hubbard.py +194 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw.x/ions.py +422 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw.x/k_points.py +73 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw.x/system.py +841 -0
- mat3ra/esse/models/apse/file/applications/espresso/7.2/pw_x.py +1990 -0
- mat3ra/esse/models/core/abstract/coordinate_3d.py +13 -0
- mat3ra/esse/models/core/abstract/kpoint.py +16 -0
- mat3ra/esse/models/core/abstract/matrix_3x3.py +17 -0
- mat3ra/esse/models/core/abstract/vector_3d.py +13 -0
- mat3ra/esse/models/core/abstract/vector_boolean_3d.py +13 -0
- mat3ra/esse/models/core/primitive/array_of_ids.py +5 -5
- mat3ra/esse/models/core/primitive/object_with_id.py +14 -0
- mat3ra/esse/models/core/primitive/object_with_id_and_value.py +20 -0
- mat3ra/esse/models/core/reusable/atomic_scalars.py +4 -4
- mat3ra/esse/models/core/reusable/atomic_string.py +18 -0
- mat3ra/esse/models/core/reusable/atomic_vector.py +20 -0
- mat3ra/esse/models/core/reusable/atomic_vectors.py +9 -9
- mat3ra/esse/models/core/reusable/band_gap.py +8 -2
- mat3ra/esse/models/core/reusable/energy.py +2 -2
- mat3ra/esse/models/core/reusable/energy_accuracy_levels/__init__.py +3 -0
- mat3ra/esse/models/element.py +6 -6
- mat3ra/esse/models/material/__init__.py +68 -46
- mat3ra/esse/models/methods_directory/physical/psp/file/__init__.py +129 -0
- mat3ra/esse/models/methods_directory/physical/psp/file_data_item/__init__.py +111 -0
- mat3ra/esse/models/properties_directory/derived_properties.py +10 -10
- mat3ra/esse/models/properties_directory/non_scalar/average_potential_profile.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/band_gaps.py +12 -3
- mat3ra/esse/models/properties_directory/non_scalar/band_structure.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/density_of_states.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dispersions.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/phonon_dos.py +2 -2
- mat3ra/esse/models/properties_directory/non_scalar/stress_tensor.py +1 -1
- mat3ra/esse/models/properties_directory/non_scalar/total_energy_contributions.py +26 -26
- mat3ra/esse/models/properties_directory/non_scalar/vibrational_spectrum.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/electron_affinity.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/fermi_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/formation_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/ionization_potential.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/reaction_energy_barrier.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/surface_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/total_energy.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/valence_band_offset.py +2 -2
- mat3ra/esse/models/properties_directory/scalar/zero_point_energy.py +2 -2
- mat3ra/esse/models/properties_directory/structural/atomic_forces.py +8 -8
- mat3ra/esse/models/properties_directory/structural/basis/__init__.py +38 -16
- mat3ra/esse/models/properties_directory/structural/basis/atomic_constraint.py +20 -0
- mat3ra/esse/models/properties_directory/structural/basis/atomic_constraints.py +11 -14
- mat3ra/esse/models/properties_directory/structural/basis/atomic_constraints_property.py +33 -0
- mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinate.py +10 -4
- mat3ra/esse/models/properties_directory/structural/basis/atomic_coordinates.py +16 -27
- mat3ra/esse/models/properties_directory/structural/basis/atomic_element.py +6 -7
- mat3ra/esse/models/properties_directory/structural/basis/atomic_elements.py +27 -0
- mat3ra/esse/models/properties_directory/structural/basis/atomic_label.py +11 -5
- mat3ra/esse/models/properties_directory/structural/basis/atomic_labels.py +27 -0
- mat3ra/esse/models/properties_directory/structural/basis/bonds.py +3 -3
- mat3ra/esse/models/properties_directory/structural/basis/units_enum.py +12 -0
- mat3ra/esse/models/properties_directory/structural/lattice/__init__.py +16 -16
- mat3ra/esse/models/properties_directory/structural/lattice/lattice_vectors.py +10 -11
- mat3ra/esse/models/properties_directory/structural/lattice/units/__init__.py +3 -0
- mat3ra/esse/models/properties_directory/structural/lattice/units/angle_enum.py +12 -0
- mat3ra/esse/models/properties_directory/structural/lattice/units/length_enum.py +12 -0
- mat3ra/esse/models/properties_directory/structural/lattice/vectors/__init__.py +26 -0
- mat3ra/esse/models/properties_directory/structural/lattice/vectors/units_enum.py +12 -0
- mat3ra/esse/models/properties_directory/structural/magnetic_moments.py +8 -8
- mat3ra/esse/models/properties_directory/structural/molecular_pattern.py +9 -9
- mat3ra/esse/models/properties_directory/structural/patterns/functional_group.py +3 -3
- mat3ra/esse/models/properties_directory/structural/patterns/ring.py +3 -3
- mat3ra/esse/models/properties_directory/structural/patterns/special_bond.py +3 -3
- mat3ra/esse/models/properties_directory/workflow/convergence/ionic.py +2 -2
- {mat3ra_esse-2025.4.17.post0.dist-info → mat3ra_esse-2025.4.22.post0.dist-info}/METADATA +1 -1
- {mat3ra_esse-2025.4.17.post0.dist-info → mat3ra_esse-2025.4.22.post0.dist-info}/RECORD +87 -49
- {mat3ra_esse-2025.4.17.post0.dist-info → mat3ra_esse-2025.4.22.post0.dist-info}/WHEEL +1 -1
- {mat3ra_esse-2025.4.17.post0.dist-info → mat3ra_esse-2025.4.22.post0.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.4.17.post0.dist-info → mat3ra_esse-2025.4.22.post0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# generated by datamodel-codegen:
|
|
2
|
+
# filename: methods_directory/physical/psp/file_data_item.json
|
|
3
|
+
# version: 0.25.5
|
|
4
|
+
|
|
5
|
+
from __future__ import annotations
|
|
6
|
+
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import List, Optional
|
|
9
|
+
|
|
10
|
+
from pydantic import BaseModel, ConfigDict, Field, confloat, conint, constr
|
|
11
|
+
|
|
12
|
+
from ..Reusable_schema_for_energy_value_with_unit_corresponding_to_a_specific_accuracy_level__e import (
|
|
13
|
+
g,
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Type(Enum):
|
|
18
|
+
us = "us"
|
|
19
|
+
nc = "nc"
|
|
20
|
+
nc_fr = "nc-fr"
|
|
21
|
+
paw = "paw"
|
|
22
|
+
coulomb = "coulomb"
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
class ExchangeCorrelation(BaseModel):
|
|
26
|
+
approximation: Optional[str] = None
|
|
27
|
+
"""
|
|
28
|
+
DFT approximation
|
|
29
|
+
"""
|
|
30
|
+
functional: Optional[str] = None
|
|
31
|
+
"""
|
|
32
|
+
Exchange correlation functional
|
|
33
|
+
"""
|
|
34
|
+
path: Optional[str] = Field(None, title="category path schema")
|
|
35
|
+
"""
|
|
36
|
+
TODO: Use regex once schema draft version has been updated
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
class AtomicOrbitalSchema(BaseModel):
|
|
41
|
+
orbitalName: Optional[constr(pattern=r"^[1-7][sSpPdDfF]$")] = None
|
|
42
|
+
orbitalIndex: Optional[conint(ge=1)] = None
|
|
43
|
+
principalNumber: Optional[conint(ge=1, le=7)] = None
|
|
44
|
+
angularMomentum: Optional[conint(ge=0, le=3)] = None
|
|
45
|
+
occupation: Optional[confloat(ge=0.0, le=14.0)] = None
|
|
46
|
+
"""
|
|
47
|
+
Shell occupation
|
|
48
|
+
"""
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class Name(Enum):
|
|
52
|
+
pseudopotential = "pseudopotential"
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class Cutoffs(BaseModel):
|
|
56
|
+
model_config = ConfigDict(
|
|
57
|
+
extra="forbid",
|
|
58
|
+
)
|
|
59
|
+
wavefunction: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None
|
|
60
|
+
"""
|
|
61
|
+
Energy cutoff values for wavefunction plane wave expansion.
|
|
62
|
+
"""
|
|
63
|
+
density: Optional[List[g.FieldUsedForSuggestedWavefunctionAndChargeDensityCutoffs]] = None
|
|
64
|
+
"""
|
|
65
|
+
Energy cutoff values for charge density plane wave expansion.
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
class FileDataItem(BaseModel):
|
|
70
|
+
element: str
|
|
71
|
+
"""
|
|
72
|
+
chemical element
|
|
73
|
+
"""
|
|
74
|
+
hash: Optional[str] = None
|
|
75
|
+
"""
|
|
76
|
+
MD5 hash of the pseudopotential file
|
|
77
|
+
"""
|
|
78
|
+
type: Type
|
|
79
|
+
source: str
|
|
80
|
+
"""
|
|
81
|
+
explains where this came from
|
|
82
|
+
"""
|
|
83
|
+
version: Optional[str] = None
|
|
84
|
+
"""
|
|
85
|
+
explains the version of where this came from
|
|
86
|
+
"""
|
|
87
|
+
exchangeCorrelation: ExchangeCorrelation
|
|
88
|
+
valenceConfiguration: Optional[List[AtomicOrbitalSchema]] = None
|
|
89
|
+
"""
|
|
90
|
+
contains pseudo orbital information, including orbital names and occupations
|
|
91
|
+
"""
|
|
92
|
+
path: str
|
|
93
|
+
"""
|
|
94
|
+
location of the pseudopotential file on filesystem
|
|
95
|
+
"""
|
|
96
|
+
apps: List[str]
|
|
97
|
+
"""
|
|
98
|
+
The names of the simulation engines that can use this pseudopotential, e.g. espresso
|
|
99
|
+
"""
|
|
100
|
+
filename: Optional[str] = None
|
|
101
|
+
"""
|
|
102
|
+
filename of pseudopotential file on filesystem
|
|
103
|
+
"""
|
|
104
|
+
name: Optional[Name] = None
|
|
105
|
+
"""
|
|
106
|
+
name of the data category
|
|
107
|
+
"""
|
|
108
|
+
cutoffs: Optional[Cutoffs] = None
|
|
109
|
+
"""
|
|
110
|
+
Suggested cutoff values for wave function and charge density.
|
|
111
|
+
"""
|
|
@@ -24,30 +24,30 @@ class VolumeSchema(BaseModel):
|
|
|
24
24
|
value: float
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class Name12(Enum):
|
|
28
28
|
density = "density"
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
class
|
|
31
|
+
class Units13(Enum):
|
|
32
32
|
g_cm_3 = "g/cm^3"
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
class DensitySchema(BaseModel):
|
|
36
36
|
name: Literal["1#-datamodel-code-generator-#-object-#-special-#"]
|
|
37
|
-
units: Optional[
|
|
37
|
+
units: Optional[Units13] = None
|
|
38
38
|
value: float
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
class
|
|
41
|
+
class Units14(Enum):
|
|
42
42
|
angstrom = "angstrom"
|
|
43
43
|
|
|
44
44
|
|
|
45
45
|
class ScalarSchema(BaseModel):
|
|
46
|
-
units: Optional[
|
|
46
|
+
units: Optional[Units14] = None
|
|
47
47
|
value: float
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
class
|
|
50
|
+
class Name13(Enum):
|
|
51
51
|
symmetry = "symmetry"
|
|
52
52
|
|
|
53
53
|
|
|
@@ -67,7 +67,7 @@ class SymmetrySchema(BaseModel):
|
|
|
67
67
|
name: Literal["2#-datamodel-code-generator-#-object-#-special-#"]
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
class
|
|
70
|
+
class Name14(Enum):
|
|
71
71
|
elemental_ratio = "elemental_ratio"
|
|
72
72
|
|
|
73
73
|
|
|
@@ -80,7 +80,7 @@ class ElementalRatio(BaseModel):
|
|
|
80
80
|
"""
|
|
81
81
|
|
|
82
82
|
|
|
83
|
-
class
|
|
83
|
+
class Name15(Enum):
|
|
84
84
|
p_norm = "p-norm"
|
|
85
85
|
|
|
86
86
|
|
|
@@ -93,7 +93,7 @@ class PNorm(BaseModel):
|
|
|
93
93
|
value: float
|
|
94
94
|
|
|
95
95
|
|
|
96
|
-
class
|
|
96
|
+
class Name16(Enum):
|
|
97
97
|
inchi = "inchi"
|
|
98
98
|
|
|
99
99
|
|
|
@@ -102,7 +102,7 @@ class InChIRepresentationSchema(BaseModel):
|
|
|
102
102
|
value: str
|
|
103
103
|
|
|
104
104
|
|
|
105
|
-
class
|
|
105
|
+
class Name17(Enum):
|
|
106
106
|
inchi_key = "inchi_key"
|
|
107
107
|
|
|
108
108
|
|
|
@@ -42,7 +42,7 @@ class Label1(Enum):
|
|
|
42
42
|
energy = "energy"
|
|
43
43
|
|
|
44
44
|
|
|
45
|
-
class
|
|
45
|
+
class Units3(Enum):
|
|
46
46
|
kJ_mol = "kJ/mol"
|
|
47
47
|
eV = "eV"
|
|
48
48
|
J_mol = "J/mol"
|
|
@@ -57,7 +57,7 @@ class AxisSchema3(BaseModel):
|
|
|
57
57
|
"""
|
|
58
58
|
label of an axis object
|
|
59
59
|
"""
|
|
60
|
-
units: Optional[
|
|
60
|
+
units: Optional[Units3] = None
|
|
61
61
|
"""
|
|
62
62
|
units for an axis
|
|
63
63
|
"""
|
|
@@ -30,8 +30,14 @@ class Units(Enum):
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
class BandGapSchema(BaseModel):
|
|
33
|
-
kpointConduction: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="
|
|
34
|
-
|
|
33
|
+
kpointConduction: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema")
|
|
34
|
+
"""
|
|
35
|
+
A k-point is a point in reciprocal space of a crystal.
|
|
36
|
+
"""
|
|
37
|
+
kpointValence: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema")
|
|
38
|
+
"""
|
|
39
|
+
A k-point is a point in reciprocal space of a crystal.
|
|
40
|
+
"""
|
|
35
41
|
eigenvalueConduction: Optional[float] = None
|
|
36
42
|
"""
|
|
37
43
|
eigenvalue at k-point in conduction band
|
|
@@ -53,7 +59,10 @@ class Eigenvalue1(BaseModel):
|
|
|
53
59
|
|
|
54
60
|
|
|
55
61
|
class Eigenvalue(BaseModel):
|
|
56
|
-
kpoint: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="
|
|
62
|
+
kpoint: Optional[List[float]] = Field(None, max_length=3, min_length=3, title="kpoint schema")
|
|
63
|
+
"""
|
|
64
|
+
A k-point is a point in reciprocal space of a crystal.
|
|
65
|
+
"""
|
|
57
66
|
weight: Optional[float] = None
|
|
58
67
|
eigenvalues: Optional[List[Eigenvalue1]] = None
|
|
59
68
|
|
|
@@ -34,7 +34,7 @@ class Label3(Enum):
|
|
|
34
34
|
energy = "energy"
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
class
|
|
37
|
+
class Units7(Enum):
|
|
38
38
|
kJ_mol = "kJ/mol"
|
|
39
39
|
eV = "eV"
|
|
40
40
|
J_mol = "J/mol"
|
|
@@ -49,7 +49,7 @@ class AxisSchema6(BaseModel):
|
|
|
49
49
|
"""
|
|
50
50
|
label of an axis object
|
|
51
51
|
"""
|
|
52
|
-
units: Optional[
|
|
52
|
+
units: Optional[Units7] = None
|
|
53
53
|
"""
|
|
54
54
|
units for an axis
|
|
55
55
|
"""
|
|
@@ -39,7 +39,7 @@ class Label7(Enum):
|
|
|
39
39
|
density_of_states = "density of states"
|
|
40
40
|
|
|
41
41
|
|
|
42
|
-
class
|
|
42
|
+
class Units11(Enum):
|
|
43
43
|
states_unitcell = "states/unitcell"
|
|
44
44
|
|
|
45
45
|
|
|
@@ -48,7 +48,7 @@ class AxisSchema10(BaseModel):
|
|
|
48
48
|
"""
|
|
49
49
|
label of an axis object
|
|
50
50
|
"""
|
|
51
|
-
units: Optional[
|
|
51
|
+
units: Optional[Units11] = None
|
|
52
52
|
"""
|
|
53
53
|
units for an axis
|
|
54
54
|
"""
|
|
@@ -34,7 +34,7 @@ class Label9(Enum):
|
|
|
34
34
|
frequency = "frequency"
|
|
35
35
|
|
|
36
36
|
|
|
37
|
-
class
|
|
37
|
+
class Units39(Enum):
|
|
38
38
|
cm_1 = "cm-1"
|
|
39
39
|
THz = "THz"
|
|
40
40
|
meV = "meV"
|
|
@@ -45,7 +45,7 @@ class AxisSchema12(BaseModel):
|
|
|
45
45
|
"""
|
|
46
46
|
label of an axis object
|
|
47
47
|
"""
|
|
48
|
-
units: Optional[
|
|
48
|
+
units: Optional[Units39] = None
|
|
49
49
|
"""
|
|
50
50
|
units for an axis
|
|
51
51
|
"""
|
|
@@ -35,7 +35,7 @@ class Label11(Enum):
|
|
|
35
35
|
Phonon_DOS = "Phonon DOS"
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
class
|
|
38
|
+
class Units41(Enum):
|
|
39
39
|
states_cm_1 = "states/cm-1"
|
|
40
40
|
states_THz = "states/THz"
|
|
41
41
|
states_meV = "states/meV"
|
|
@@ -46,7 +46,7 @@ class AxisSchema14(BaseModel):
|
|
|
46
46
|
"""
|
|
47
47
|
label of an axis object
|
|
48
48
|
"""
|
|
49
|
-
units: Optional[
|
|
49
|
+
units: Optional[Units41] = None
|
|
50
50
|
"""
|
|
51
51
|
units for an axis
|
|
52
52
|
"""
|
|
@@ -25,7 +25,7 @@ class Units(Enum):
|
|
|
25
25
|
|
|
26
26
|
class StressTensorSchema(BaseModel):
|
|
27
27
|
value: Optional[List[ArrayOf3NumberElementsSchema]] = Field(
|
|
28
|
-
None, max_length=3, min_length=3, title="
|
|
28
|
+
None, max_length=3, min_length=3, title="matrix 3x3 schema"
|
|
29
29
|
)
|
|
30
30
|
name: Optional[Name] = None
|
|
31
31
|
units: Optional[Units] = None
|
|
@@ -19,115 +19,115 @@ class ScalarSchema(BaseModel):
|
|
|
19
19
|
value: float
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
class
|
|
22
|
+
class Name74(Enum):
|
|
23
23
|
harris_foulkes = "harris_foulkes"
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
class ScalarSchema6(BaseModel):
|
|
27
|
-
name: Optional[
|
|
27
|
+
name: Optional[Name74] = None
|
|
28
28
|
value: float
|
|
29
29
|
|
|
30
30
|
|
|
31
|
-
class
|
|
31
|
+
class Name75(Enum):
|
|
32
32
|
one_electron = "one_electron"
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
class ScalarSchema7(BaseModel):
|
|
36
|
-
name: Optional[
|
|
36
|
+
name: Optional[Name75] = None
|
|
37
37
|
value: float
|
|
38
38
|
|
|
39
39
|
|
|
40
|
-
class
|
|
40
|
+
class Name76(Enum):
|
|
41
41
|
hartree = "hartree"
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
class ScalarSchema8(BaseModel):
|
|
45
|
-
name: Optional[
|
|
45
|
+
name: Optional[Name76] = None
|
|
46
46
|
value: float
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
class
|
|
49
|
+
class Name77(Enum):
|
|
50
50
|
exchange = "exchange"
|
|
51
51
|
|
|
52
52
|
|
|
53
53
|
class ScalarSchema9(BaseModel):
|
|
54
|
-
name: Optional[
|
|
54
|
+
name: Optional[Name77] = None
|
|
55
55
|
value: float
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
class
|
|
58
|
+
class Name78(Enum):
|
|
59
59
|
exchange_correlation = "exchange_correlation"
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
class ScalarSchema10(BaseModel):
|
|
63
|
-
name: Optional[
|
|
63
|
+
name: Optional[Name78] = None
|
|
64
64
|
value: float
|
|
65
65
|
|
|
66
66
|
|
|
67
|
-
class
|
|
67
|
+
class Name79(Enum):
|
|
68
68
|
ewald = "ewald"
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
class ScalarSchema11(BaseModel):
|
|
72
|
-
name: Optional[
|
|
72
|
+
name: Optional[Name79] = None
|
|
73
73
|
value: float
|
|
74
74
|
|
|
75
75
|
|
|
76
|
-
class
|
|
76
|
+
class Name80(Enum):
|
|
77
77
|
alphaZ = "alphaZ"
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
class ScalarSchema12(BaseModel):
|
|
81
|
-
name: Optional[
|
|
81
|
+
name: Optional[Name80] = None
|
|
82
82
|
value: float
|
|
83
83
|
|
|
84
84
|
|
|
85
|
-
class
|
|
85
|
+
class Name81(Enum):
|
|
86
86
|
atomic_energy = "atomic_energy"
|
|
87
87
|
|
|
88
88
|
|
|
89
89
|
class ScalarSchema13(BaseModel):
|
|
90
|
-
name: Optional[
|
|
90
|
+
name: Optional[Name81] = None
|
|
91
91
|
value: float
|
|
92
92
|
|
|
93
93
|
|
|
94
|
-
class
|
|
94
|
+
class Name82(Enum):
|
|
95
95
|
eigenvalues = "eigenvalues"
|
|
96
96
|
|
|
97
97
|
|
|
98
98
|
class ScalarSchema14(BaseModel):
|
|
99
|
-
name: Optional[
|
|
99
|
+
name: Optional[Name82] = None
|
|
100
100
|
value: float
|
|
101
101
|
|
|
102
102
|
|
|
103
|
-
class
|
|
103
|
+
class Name83(Enum):
|
|
104
104
|
PAW_double_counting_correction_2 = "PAW_double-counting_correction_2"
|
|
105
105
|
|
|
106
106
|
|
|
107
107
|
class ScalarSchema15(BaseModel):
|
|
108
|
-
name: Optional[
|
|
108
|
+
name: Optional[Name83] = None
|
|
109
109
|
value: float
|
|
110
110
|
|
|
111
111
|
|
|
112
|
-
class
|
|
112
|
+
class Name84(Enum):
|
|
113
113
|
PAW_double_counting_correction_3 = "PAW_double-counting_correction_3"
|
|
114
114
|
|
|
115
115
|
|
|
116
116
|
class ScalarSchema16(BaseModel):
|
|
117
|
-
name: Optional[
|
|
117
|
+
name: Optional[Name84] = None
|
|
118
118
|
value: float
|
|
119
119
|
|
|
120
120
|
|
|
121
|
-
class
|
|
121
|
+
class Name85(Enum):
|
|
122
122
|
hartree_fock = "hartree_fock"
|
|
123
123
|
|
|
124
124
|
|
|
125
125
|
class ScalarSchema17(BaseModel):
|
|
126
|
-
name: Optional[
|
|
126
|
+
name: Optional[Name85] = None
|
|
127
127
|
value: float
|
|
128
128
|
|
|
129
129
|
|
|
130
|
-
class
|
|
130
|
+
class Name86(Enum):
|
|
131
131
|
total_energy_contributions = "total_energy_contributions"
|
|
132
132
|
|
|
133
133
|
|
|
@@ -194,5 +194,5 @@ class TotalEnergyContributionsSchema(BaseModel):
|
|
|
194
194
|
"""
|
|
195
195
|
hartree-fock contribution
|
|
196
196
|
"""
|
|
197
|
-
name: Optional[
|
|
197
|
+
name: Optional[Name86] = None
|
|
198
198
|
units: Optional[Units] = None
|
|
@@ -38,7 +38,7 @@ class Label17(Enum):
|
|
|
38
38
|
Absorption_coefficient = "Absorption coefficient"
|
|
39
39
|
|
|
40
40
|
|
|
41
|
-
class
|
|
41
|
+
class Units58(Enum):
|
|
42
42
|
field_debye_angstrom__2 = "(debye/angstrom)^2"
|
|
43
43
|
km_mol = "km/mol"
|
|
44
44
|
m_mol = "m/mol"
|
|
@@ -50,7 +50,7 @@ class AxisSchema20(BaseModel):
|
|
|
50
50
|
"""
|
|
51
51
|
label of an axis object
|
|
52
52
|
"""
|
|
53
|
-
units: Optional[
|
|
53
|
+
units: Optional[Units58] = None
|
|
54
54
|
"""
|
|
55
55
|
units for an axis
|
|
56
56
|
"""
|
|
@@ -24,11 +24,11 @@ class Units(Enum):
|
|
|
24
24
|
eV_atom = "eV/atom"
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class Units16(Enum):
|
|
28
28
|
eV_A_2 = "eV/A^2"
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class ElectronAffinitySchema(BaseModel):
|
|
32
32
|
name: Name
|
|
33
|
-
units: Union[Units,
|
|
33
|
+
units: Union[Units, Units16]
|
|
34
34
|
value: float
|
|
@@ -24,11 +24,11 @@ class Units(Enum):
|
|
|
24
24
|
eV_atom = "eV/atom"
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class Units23(Enum):
|
|
28
28
|
eV_A_2 = "eV/A^2"
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class FermiEnergySchema(BaseModel):
|
|
32
32
|
name: Name
|
|
33
|
-
units: Union[Units,
|
|
33
|
+
units: Union[Units, Units23]
|
|
34
34
|
value: float
|
|
@@ -24,11 +24,11 @@ class Units(Enum):
|
|
|
24
24
|
eV_atom = "eV/atom"
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class Units25(Enum):
|
|
28
28
|
eV_A_2 = "eV/A^2"
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class FormationEnergySchema(BaseModel):
|
|
32
32
|
name: Name
|
|
33
|
-
units: Union[Units,
|
|
33
|
+
units: Union[Units, Units25]
|
|
34
34
|
value: float
|
|
@@ -24,11 +24,11 @@ class Units(Enum):
|
|
|
24
24
|
eV_atom = "eV/atom"
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class Units33(Enum):
|
|
28
28
|
eV_A_2 = "eV/A^2"
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class IonizationPotentialSchema(BaseModel):
|
|
32
32
|
name: Name
|
|
33
|
-
units: Union[Units,
|
|
33
|
+
units: Union[Units, Units33]
|
|
34
34
|
value: float
|
|
@@ -24,11 +24,11 @@ class Units(Enum):
|
|
|
24
24
|
eV_atom = "eV/atom"
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class Units45(Enum):
|
|
28
28
|
eV_A_2 = "eV/A^2"
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class ReactionEnergyBarrierSchema(BaseModel):
|
|
32
32
|
name: Name
|
|
33
|
-
units: Union[Units,
|
|
33
|
+
units: Union[Units, Units45]
|
|
34
34
|
value: float
|
|
@@ -24,11 +24,11 @@ class Units(Enum):
|
|
|
24
24
|
eV_atom = "eV/atom"
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class Units49(Enum):
|
|
28
28
|
eV_A_2 = "eV/A^2"
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class SurfaceEnergySchema(BaseModel):
|
|
32
32
|
name: Name
|
|
33
|
-
units: Union[Units,
|
|
33
|
+
units: Union[Units, Units49]
|
|
34
34
|
value: float
|
|
@@ -24,11 +24,11 @@ class Units(Enum):
|
|
|
24
24
|
eV_atom = "eV/atom"
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class Units52(Enum):
|
|
28
28
|
eV_A_2 = "eV/A^2"
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class TotalEnergySchema(BaseModel):
|
|
32
32
|
name: Name
|
|
33
|
-
units: Union[Units,
|
|
33
|
+
units: Union[Units, Units52]
|
|
34
34
|
value: float
|
|
@@ -24,11 +24,11 @@ class Units(Enum):
|
|
|
24
24
|
eV_atom = "eV/atom"
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class Units56(Enum):
|
|
28
28
|
eV_A_2 = "eV/A^2"
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class ValenceBandOffsetSchema(BaseModel):
|
|
32
32
|
name: Name
|
|
33
|
-
units: Union[Units,
|
|
33
|
+
units: Union[Units, Units56]
|
|
34
34
|
value: float
|
|
@@ -24,11 +24,11 @@ class Units(Enum):
|
|
|
24
24
|
eV_atom = "eV/atom"
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
class
|
|
27
|
+
class Units61(Enum):
|
|
28
28
|
eV_A_2 = "eV/A^2"
|
|
29
29
|
|
|
30
30
|
|
|
31
31
|
class ZeroPointEnergySchema(BaseModel):
|
|
32
32
|
name: Name
|
|
33
|
-
units: Union[Units,
|
|
33
|
+
units: Union[Units, Units61]
|
|
34
34
|
value: float
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
from __future__ import annotations
|
|
6
6
|
|
|
7
7
|
from enum import Enum
|
|
8
|
-
from typing import List, Optional
|
|
8
|
+
from typing import List, Optional
|
|
9
9
|
|
|
10
10
|
from pydantic import BaseModel, Field
|
|
11
11
|
|
|
@@ -14,9 +14,12 @@ class Name(Enum):
|
|
|
14
14
|
atomic_forces = "atomic_forces"
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
class
|
|
18
|
-
value:
|
|
19
|
-
|
|
17
|
+
class AtomicVectorSchema(BaseModel):
|
|
18
|
+
value: List[float] = Field(..., max_length=3, min_length=3, title="vector 3d schema")
|
|
19
|
+
"""
|
|
20
|
+
value of this entry
|
|
21
|
+
"""
|
|
22
|
+
id: int
|
|
20
23
|
"""
|
|
21
24
|
integer id of this entry
|
|
22
25
|
"""
|
|
@@ -33,8 +36,5 @@ class Units(Enum):
|
|
|
33
36
|
|
|
34
37
|
class AtomicForces(BaseModel):
|
|
35
38
|
name: Optional[Name] = None
|
|
36
|
-
values: Optional[List[
|
|
37
|
-
"""
|
|
38
|
-
array of objects containing integer id each
|
|
39
|
-
"""
|
|
39
|
+
values: Optional[List[AtomicVectorSchema]] = Field(None, title="atomic vectors schema")
|
|
40
40
|
units: Optional[Units] = None
|