mat3ra-esse 2025.6.14.post0__py3-none-any.whl → 2025.7.1.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-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/METADATA +2 -2
- {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/RECORD +5 -118
- mat3ra/esse/models/coordinates_shape_enum.py +0 -15
- mat3ra/esse/models/core/abstract/2d_data.py +0 -17
- mat3ra/esse/models/core/abstract/2d_plot.py +0 -34
- mat3ra/esse/models/core/abstract/3d_grid.py +0 -14
- mat3ra/esse/models/core/abstract/3d_tensor.py +0 -19
- mat3ra/esse/models/core/abstract/3d_vector_basis.py +0 -15
- mat3ra/esse/models/core/abstract/_3d_tensor.py +0 -19
- mat3ra/esse/models/core/abstract/_3d_vector_basis.py +0 -15
- mat3ra/esse/models/core/abstract/point.py +0 -13
- mat3ra/esse/models/core/abstract/vector.py +0 -13
- mat3ra/esse/models/core/primitive/1d_data_series.py +0 -13
- mat3ra/esse/models/core/primitive/3d_lattice.py +0 -34
- mat3ra/esse/models/core/primitive/_3d_lattice.py +0 -34
- mat3ra/esse/models/core/reusable/accuracy_level.py +0 -27
- mat3ra/esse/models/core/reusable/atomic_strings.py +0 -24
- mat3ra/esse/models/core/reusable/coordinate_conditions/cylinder.py +0 -26
- mat3ra/esse/models/core/reusable/coordinate_conditions/plane.py +0 -24
- mat3ra/esse/models/core/reusable/coordinate_conditions/sphere.py +0 -24
- mat3ra/esse/models/core/reusable/coordinate_conditions/triangular_prism.py +0 -27
- mat3ra/esse/models/core/reusable/energy_accuracy_levels/__init__.py +0 -3
- mat3ra/esse/models/core/reusable/energy_accuracy_levels.py +0 -31
- mat3ra/esse/models/enums/__init__.py +0 -3
- mat3ra/esse/models/enums/chemical_elements.py +0 -13
- mat3ra/esse/models/material/builders/base/__init__.py +0 -3
- mat3ra/esse/models/material/builders/base/selector_parameters.py +0 -16
- mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/__init__.py +0 -3
- mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/builder_parameters.py +0 -28
- mat3ra/esse/models/material/builders/single_material/two_dimensional/slab/selector_parameters.py +0 -151
- mat3ra/esse/models/material/reusable/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/coordinate_conditions/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/coordinate_conditions/base.py +0 -21
- mat3ra/esse/models/material/reusable/coordinate_conditions/box.py +0 -24
- mat3ra/esse/models/material/reusable/coordinate_conditions/cylinder.py +0 -26
- mat3ra/esse/models/material/reusable/coordinate_conditions/plane.py +0 -24
- mat3ra/esse/models/material/reusable/coordinate_conditions/sphere.py +0 -24
- mat3ra/esse/models/material/reusable/coordinate_conditions/triangular_prism.py +0 -27
- mat3ra/esse/models/material/reusable/repetitions.py +0 -25
- mat3ra/esse/models/material/reusable/slab/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/slab/enums/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/slab/enums/exposed_face.py +0 -13
- mat3ra/esse/models/material/reusable/slab/enums.py +0 -13
- mat3ra/esse/models/material/reusable/slab/miller_indices.py +0 -16
- mat3ra/esse/models/material/reusable/slab/number_of_layers.py +0 -16
- mat3ra/esse/models/material/reusable/slab/slab_configuration_with_termination.py +0 -589
- mat3ra/esse/models/material/reusable/slab/slab_with_termination.py +0 -593
- mat3ra/esse/models/material/reusable/slab/termination.py +0 -144
- mat3ra/esse/models/material/reusable/slab/two_slabs_stack.py +0 -618
- mat3ra/esse/models/material/reusable/slab/vacuum.py +0 -16
- mat3ra/esse/models/material/reusable/slab_configuration_with_termination.py +0 -712
- mat3ra/esse/models/material/reusable/stack/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/stack/slab_configuration_with_termination.py +0 -593
- mat3ra/esse/models/material/reusable/stack/slab_in_stack.py +0 -720
- mat3ra/esse/models/material/reusable/stack/stack_of_slabs.py +0 -737
- mat3ra/esse/models/material/reusable/stack/stack_of_two_slabs.py +0 -737
- mat3ra/esse/models/material/reusable/supercell/__init__.py +0 -3
- mat3ra/esse/models/material/reusable/supercell/supercell_matrix_2d.py +0 -25
- mat3ra/esse/models/material/reusable/supercell/supercell_matrix_3d.py +0 -27
- mat3ra/esse/models/material/reusable/supercell_matrix_2d.py +0 -25
- mat3ra/esse/models/material/reusable/supercell_matrix_3d.py +0 -27
- mat3ra/esse/models/materials_category/defects/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/adatom/configuration.py +0 -672
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/layered/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/layered/configuration.py +0 -549
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/by_host/two_dimensional/point/configuration.py +0 -550
- mat3ra/esse/models/materials_category/defects/configuration.py +0 -545
- mat3ra/esse/models/materials_category/defects/enums/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/enums/point_defect_type.py +0 -13
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/one_dimensional/terrace/configuration.py +0 -563
- mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/two_dimensional/grain_boundary_plane/configuration.py +0 -1200
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/condition_json.py +0 -28
- mat3ra/esse/models/materials_category/defects/two_dimensional/island/configuration.py +0 -564
- mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/zero_dimensional/complex/pair/configuration.py +0 -1538
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/configuration.py +0 -672
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/interstitial/configuration.py +0 -672
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/substitution/configuration.py +0 -672
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/__init__.py +0 -3
- mat3ra/esse/models/materials_category/defects/zero_dimensional/point/vacancy/configuration.py +0 -672
- mat3ra/esse/models/materials_category/multi_material/interfaces/__init__.py +0 -3
- mat3ra/esse/models/materials_category/multi_material/interfaces/configuration.py +0 -737
- mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/__init__.py +0 -3
- mat3ra/esse/models/materials_category/single_material/two_dimensional/slab/configuration.py +0 -567
- mat3ra/esse/models/methods_directory/physical/psp/file/__init__.py +0 -129
- mat3ra/esse/models/methods_directory/physical/psp/file_data_item/__init__.py +0 -111
- mat3ra/esse/models/properties_directory/structural/lattice/lattice_bravais.py +0 -74
- mat3ra/esse/models/property/base/__init__.py +0 -200
- mat3ra/esse/models/property/meta/__init__.py +0 -200
- mat3ra/esse/models/property/raw/__init__.py +0 -200
- mat3ra/esse/models/property/source/__init__.py +0 -150
- mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/__init__.py +0 -3
- mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/atoms.py +0 -41
- mat3ra/esse/models/third_party/db/nist_jarvis/2024_3.13/db_entry.py +0 -55
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/__init__.py +0 -3
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/__init__.py +0 -3
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_positions.py +0 -51
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/atomic_species.py +0 -34
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell.py +0 -111
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/cell_parameters.py +0 -36
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/control.py +0 -169
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/electrons.py +0 -139
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/hubbard.py +0 -194
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/ions.py +0 -422
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/k_points.py +0 -73
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw.x/system.py +0 -841
- mat3ra/esse/models/third_party/file/applications/espresso/7.2/pw_x.py +0 -1990
- {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/WHEEL +0 -0
- {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/licenses/LICENSE.md +0 -0
- {mat3ra_esse-2025.6.14.post0.dist-info → mat3ra_esse-2025.7.1.post0.dist-info}/top_level.txt +0 -0
|
@@ -1,841 +0,0 @@
|
|
|
1
|
-
# generated by datamodel-codegen:
|
|
2
|
-
# filename: 3pse/file/applications/espresso/7.2/pw.x/system.json
|
|
3
|
-
# version: 0.28.5
|
|
4
|
-
|
|
5
|
-
from __future__ import annotations
|
|
6
|
-
|
|
7
|
-
from enum import Enum
|
|
8
|
-
from typing import List, Optional, Union
|
|
9
|
-
|
|
10
|
-
from pydantic import BaseModel, ConfigDict, Field, RootModel, confloat, conint
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class Occupations(Enum):
|
|
14
|
-
smearing = "smearing"
|
|
15
|
-
tetrahedra = "tetrahedra"
|
|
16
|
-
tetrahedra_lin = "tetrahedra_lin"
|
|
17
|
-
tetrahedra_opt = "tetrahedra_opt"
|
|
18
|
-
fixed = "fixed"
|
|
19
|
-
from_input = "from_input"
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class Smearing(Enum):
|
|
23
|
-
gaussian = "gaussian"
|
|
24
|
-
gauss = "gauss"
|
|
25
|
-
methfessel_paxton = "methfessel-paxton"
|
|
26
|
-
m_p = "m-p"
|
|
27
|
-
mp = "mp"
|
|
28
|
-
marzari_vanderbilt = "marzari-vanderbilt"
|
|
29
|
-
cold = "cold"
|
|
30
|
-
m_v = "m-v"
|
|
31
|
-
mv = "mv"
|
|
32
|
-
fermi_dirac = "fermi-dirac"
|
|
33
|
-
f_d = "f-d"
|
|
34
|
-
fd = "fd"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
class PolType(Enum):
|
|
38
|
-
e = "e"
|
|
39
|
-
h = "h"
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
class ExxdivTreatment(Enum):
|
|
43
|
-
gygi_baldereschi = "gygi-baldereschi"
|
|
44
|
-
vcut_spherical = "vcut_spherical"
|
|
45
|
-
vcut_ws = "vcut_ws"
|
|
46
|
-
none = "none"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
class HubbardOccItem(RootModel[conint(ge=1)]):
|
|
50
|
-
root: conint(ge=1)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
class HubbardOccItem5(RootModel[conint(ge=1, le=3)]):
|
|
54
|
-
root: conint(ge=1, le=3)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
class ConstrainedMagnetization(Enum):
|
|
58
|
-
none = "none"
|
|
59
|
-
total = "total"
|
|
60
|
-
atomic = "atomic"
|
|
61
|
-
total_direction = "total direction"
|
|
62
|
-
atomic_direction = "atomic direction"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
class AssumeIsolated(Enum):
|
|
66
|
-
none = "none"
|
|
67
|
-
makov_payne = "makov-payne"
|
|
68
|
-
m_p = "m-p"
|
|
69
|
-
mp = "mp"
|
|
70
|
-
martyna_tuckerman = "martyna-tuckerman"
|
|
71
|
-
m_t = "m-t"
|
|
72
|
-
mt = "mt"
|
|
73
|
-
esm = "esm"
|
|
74
|
-
field_2D = "2D"
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
class EsmBc(Enum):
|
|
78
|
-
pbc = "pbc"
|
|
79
|
-
bc1 = "bc1"
|
|
80
|
-
bc2 = "bc2"
|
|
81
|
-
bc3 = "bc3"
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
class VdwCorr(Enum):
|
|
85
|
-
none = "none"
|
|
86
|
-
grimme_d2 = "grimme-d2"
|
|
87
|
-
Grimme_D2 = "Grimme-D2"
|
|
88
|
-
DFT_D = "DFT-D"
|
|
89
|
-
dft_d = "dft-d"
|
|
90
|
-
grimme_d3 = "grimme-d3"
|
|
91
|
-
Grimme_D3 = "Grimme-D3"
|
|
92
|
-
DFT_D3 = "DFT-D3"
|
|
93
|
-
dft_d3 = "dft-d3"
|
|
94
|
-
TS = "TS"
|
|
95
|
-
ts = "ts"
|
|
96
|
-
ts_vdw = "ts-vdw"
|
|
97
|
-
ts_vdW = "ts-vdW"
|
|
98
|
-
tkatchenko_scheffler = "tkatchenko-scheffler"
|
|
99
|
-
MBD = "MBD"
|
|
100
|
-
mbd = "mbd"
|
|
101
|
-
many_body_dispersion = "many-body-dispersion"
|
|
102
|
-
mbd_vdw = "mbd_vdw"
|
|
103
|
-
XDM = "XDM"
|
|
104
|
-
xdm = "xdm"
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
class SystemSchema(BaseModel):
|
|
108
|
-
model_config = ConfigDict(
|
|
109
|
-
extra="forbid",
|
|
110
|
-
)
|
|
111
|
-
ibrav: int
|
|
112
|
-
nat: int
|
|
113
|
-
"""
|
|
114
|
-
number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)
|
|
115
|
-
"""
|
|
116
|
-
ntyp: int
|
|
117
|
-
"""
|
|
118
|
-
number of types of atoms in the unit cell
|
|
119
|
-
"""
|
|
120
|
-
nbnd: Optional[int] = None
|
|
121
|
-
"""
|
|
122
|
-
Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)
|
|
123
|
-
"""
|
|
124
|
-
nbnd_cond: Optional[int] = None
|
|
125
|
-
"""
|
|
126
|
-
Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case.
|
|
127
|
-
"""
|
|
128
|
-
tot_charge: Optional[float] = 0
|
|
129
|
-
starting_charge: Optional[float] = 0
|
|
130
|
-
"""
|
|
131
|
-
starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'.
|
|
132
|
-
"""
|
|
133
|
-
tot_magnetization: Optional[float] = -10000
|
|
134
|
-
"""
|
|
135
|
-
Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle.
|
|
136
|
-
"""
|
|
137
|
-
starting_magnetization: Optional[List[confloat(ge=-1.0, le=1.0)]] = None
|
|
138
|
-
ecutwfc: float
|
|
139
|
-
"""
|
|
140
|
-
kinetic energy cutoff (Ry) for wavefunctions
|
|
141
|
-
"""
|
|
142
|
-
ecutrho: Optional[float] = None
|
|
143
|
-
"""
|
|
144
|
-
Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc
|
|
145
|
-
"""
|
|
146
|
-
ecutfock: Optional[float] = None
|
|
147
|
-
"""
|
|
148
|
-
Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials.
|
|
149
|
-
"""
|
|
150
|
-
nr1: Optional[int] = None
|
|
151
|
-
"""
|
|
152
|
-
Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)
|
|
153
|
-
"""
|
|
154
|
-
nr2: Optional[int] = None
|
|
155
|
-
"""
|
|
156
|
-
Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)
|
|
157
|
-
"""
|
|
158
|
-
nr3: Optional[int] = None
|
|
159
|
-
"""
|
|
160
|
-
Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)
|
|
161
|
-
"""
|
|
162
|
-
nr1s: Optional[int] = None
|
|
163
|
-
"""
|
|
164
|
-
Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )
|
|
165
|
-
"""
|
|
166
|
-
nr2s: Optional[int] = None
|
|
167
|
-
"""
|
|
168
|
-
Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )
|
|
169
|
-
"""
|
|
170
|
-
nr3s: Optional[int] = None
|
|
171
|
-
"""
|
|
172
|
-
Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )
|
|
173
|
-
"""
|
|
174
|
-
nosym: Optional[bool] = False
|
|
175
|
-
nosym_evc: Optional[bool] = False
|
|
176
|
-
noinv: Optional[bool] = False
|
|
177
|
-
"""
|
|
178
|
-
if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation
|
|
179
|
-
"""
|
|
180
|
-
no_t_rev: Optional[bool] = False
|
|
181
|
-
"""
|
|
182
|
-
if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal.
|
|
183
|
-
"""
|
|
184
|
-
force_symmorphic: Optional[bool] = False
|
|
185
|
-
"""
|
|
186
|
-
if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation
|
|
187
|
-
"""
|
|
188
|
-
use_all_frac: Optional[bool] = False
|
|
189
|
-
occupations: Optional[Occupations] = None
|
|
190
|
-
one_atom_occupations: Optional[bool] = False
|
|
191
|
-
starting_spin_angle: Optional[bool] = False
|
|
192
|
-
degauss_cond: Optional[float] = 0
|
|
193
|
-
"""
|
|
194
|
-
value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.).
|
|
195
|
-
"""
|
|
196
|
-
nelec_cond: Optional[float] = 0
|
|
197
|
-
"""
|
|
198
|
-
Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold.
|
|
199
|
-
"""
|
|
200
|
-
degauss: Optional[float] = 0
|
|
201
|
-
"""
|
|
202
|
-
value of the gaussian spreading (Ry) for brillouin-zone integration in metals.
|
|
203
|
-
"""
|
|
204
|
-
smearing: Optional[Smearing] = "gaussian"
|
|
205
|
-
nspin: Optional[int] = 1
|
|
206
|
-
sic_gamma: Optional[float] = 0
|
|
207
|
-
"""
|
|
208
|
-
Strength of the gammaDFT potential.
|
|
209
|
-
"""
|
|
210
|
-
pol_type: Optional[PolType] = None
|
|
211
|
-
"""
|
|
212
|
-
Type of polaron in gammaDFT.
|
|
213
|
-
"""
|
|
214
|
-
sic_energy: Optional[bool] = False
|
|
215
|
-
"""
|
|
216
|
-
Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost.
|
|
217
|
-
"""
|
|
218
|
-
sci_vb: Optional[float] = 0
|
|
219
|
-
"""
|
|
220
|
-
Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted.
|
|
221
|
-
"""
|
|
222
|
-
sci_cb: Optional[float] = 0
|
|
223
|
-
"""
|
|
224
|
-
Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted.
|
|
225
|
-
"""
|
|
226
|
-
noncolin: Optional[bool] = False
|
|
227
|
-
"""
|
|
228
|
-
if .true. the program will perform a noncollinear calculation.
|
|
229
|
-
"""
|
|
230
|
-
ecfixed: Optional[float] = 0
|
|
231
|
-
qcutz: Optional[float] = 0
|
|
232
|
-
q2sigma: Optional[float] = 0.1
|
|
233
|
-
input_dft: Optional[str] = None
|
|
234
|
-
"""
|
|
235
|
-
Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!
|
|
236
|
-
"""
|
|
237
|
-
ace: Optional[bool] = True
|
|
238
|
-
"""
|
|
239
|
-
Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092
|
|
240
|
-
"""
|
|
241
|
-
exx_fraction: Optional[float] = None
|
|
242
|
-
"""
|
|
243
|
-
Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20.
|
|
244
|
-
"""
|
|
245
|
-
screening_parameter: Optional[float] = 0.106
|
|
246
|
-
"""
|
|
247
|
-
screening_parameter for HSE like hybrid functionals.
|
|
248
|
-
"""
|
|
249
|
-
exxdiv_treatment: Optional[ExxdivTreatment] = "gygi-baldereschi"
|
|
250
|
-
x_gamma_extrapolation: Optional[bool] = True
|
|
251
|
-
"""
|
|
252
|
-
Specific for EXX. If .true., extrapolate the G=0 term of the potential
|
|
253
|
-
"""
|
|
254
|
-
ecutvcut: Optional[float] = None
|
|
255
|
-
"""
|
|
256
|
-
Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors.
|
|
257
|
-
"""
|
|
258
|
-
nqx1: Optional[int] = 0
|
|
259
|
-
"""
|
|
260
|
-
Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points.
|
|
261
|
-
"""
|
|
262
|
-
nqx2: Optional[int] = None
|
|
263
|
-
"""
|
|
264
|
-
Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points.
|
|
265
|
-
"""
|
|
266
|
-
nqx3: Optional[int] = None
|
|
267
|
-
"""
|
|
268
|
-
Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points.
|
|
269
|
-
"""
|
|
270
|
-
localization_thr: Optional[float] = 0
|
|
271
|
-
"""
|
|
272
|
-
Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation
|
|
273
|
-
"""
|
|
274
|
-
Hubbard_occ: Optional[List[List[Union[HubbardOccItem, HubbardOccItem5, float]]]] = None
|
|
275
|
-
Hubbard_alpha: Optional[List[float]] = None
|
|
276
|
-
Hubbard_beta: Optional[List[float]] = None
|
|
277
|
-
starting_ns_eigenvalue: Optional[List[List[List[float]]]] = None
|
|
278
|
-
dmft: Optional[bool] = False
|
|
279
|
-
"""
|
|
280
|
-
If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1.
|
|
281
|
-
"""
|
|
282
|
-
dmft_prefix: Optional[str] = None
|
|
283
|
-
"""
|
|
284
|
-
prepended to hdf5 archive: dmft_prefix.h5
|
|
285
|
-
"""
|
|
286
|
-
ensemble_energies: Optional[bool] = False
|
|
287
|
-
"""
|
|
288
|
-
If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation.
|
|
289
|
-
"""
|
|
290
|
-
edir: Optional[int] = None
|
|
291
|
-
"""
|
|
292
|
-
The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE.
|
|
293
|
-
"""
|
|
294
|
-
emaxpos: Optional[float] = 0.5
|
|
295
|
-
"""
|
|
296
|
-
Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE.
|
|
297
|
-
"""
|
|
298
|
-
eopreg: Optional[float] = 0.1
|
|
299
|
-
"""
|
|
300
|
-
Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE.
|
|
301
|
-
"""
|
|
302
|
-
eamp: Optional[float] = 0.001
|
|
303
|
-
angle1: Optional[List[float]] = Field(None, max_length=1, min_length=1)
|
|
304
|
-
"""
|
|
305
|
-
The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types.
|
|
306
|
-
"""
|
|
307
|
-
angle2: Optional[List[float]] = Field(None, max_length=1, min_length=1)
|
|
308
|
-
"""
|
|
309
|
-
The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only.
|
|
310
|
-
"""
|
|
311
|
-
lforcet: Optional[bool] = None
|
|
312
|
-
"""
|
|
313
|
-
When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1
|
|
314
|
-
"""
|
|
315
|
-
constrained_magnetization: Optional[ConstrainedMagnetization] = "none"
|
|
316
|
-
"""
|
|
317
|
-
Used to perform constrained calculations in magnetic systems.
|
|
318
|
-
"""
|
|
319
|
-
fixed_magnetization: Optional[List[float]] = Field(None, max_length=3, min_length=3)
|
|
320
|
-
lambda_: Optional[float] = Field(1, alias="lambda")
|
|
321
|
-
"""
|
|
322
|
-
parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda
|
|
323
|
-
"""
|
|
324
|
-
report: Optional[int] = -1
|
|
325
|
-
"""
|
|
326
|
-
determines when atomic magnetic moments are printed on output
|
|
327
|
-
"""
|
|
328
|
-
lspinorb: Optional[bool] = None
|
|
329
|
-
"""
|
|
330
|
-
if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit.
|
|
331
|
-
"""
|
|
332
|
-
assume_isolated: Optional[AssumeIsolated] = "none"
|
|
333
|
-
"""
|
|
334
|
-
Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)
|
|
335
|
-
"""
|
|
336
|
-
esm_bc: Optional[EsmBc] = "pbc"
|
|
337
|
-
"""
|
|
338
|
-
If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab.
|
|
339
|
-
"""
|
|
340
|
-
esm_w: Optional[float] = 0
|
|
341
|
-
"""
|
|
342
|
-
If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] ).
|
|
343
|
-
"""
|
|
344
|
-
esm_efield: Optional[float] = 0
|
|
345
|
-
"""
|
|
346
|
-
If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes.
|
|
347
|
-
"""
|
|
348
|
-
esm_nfit: Optional[int] = 4
|
|
349
|
-
"""
|
|
350
|
-
If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge.
|
|
351
|
-
"""
|
|
352
|
-
lgcscf: Optional[bool] = False
|
|
353
|
-
"""
|
|
354
|
-
If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF.
|
|
355
|
-
"""
|
|
356
|
-
gcscf_mu: Optional[float] = None
|
|
357
|
-
"""
|
|
358
|
-
The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge
|
|
359
|
-
"""
|
|
360
|
-
gcscf_conv_thr: Optional[float] = 0.01
|
|
361
|
-
"""
|
|
362
|
-
Convergence threshold of Fermi energy (eV) for GC-SCF.
|
|
363
|
-
"""
|
|
364
|
-
gcscf_beta: Optional[float] = 0.05
|
|
365
|
-
"""
|
|
366
|
-
Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite.
|
|
367
|
-
"""
|
|
368
|
-
vdw_corr: Optional[VdwCorr] = "none"
|
|
369
|
-
"""
|
|
370
|
-
Type of Van der Waals correction
|
|
371
|
-
"""
|
|
372
|
-
london: Optional[bool] = False
|
|
373
|
-
"""
|
|
374
|
-
OBSOLESCENT, same as vdw_corr='DFT-D'
|
|
375
|
-
"""
|
|
376
|
-
london_s6: Optional[float] = 0.75
|
|
377
|
-
"""
|
|
378
|
-
global scaling parameter for DFT-D. Default is good for PBE.
|
|
379
|
-
"""
|
|
380
|
-
london_c6: Optional[float] = None
|
|
381
|
-
"""
|
|
382
|
-
atomic C6 coefficient of each atom type
|
|
383
|
-
"""
|
|
384
|
-
london_rvdw: Optional[float] = None
|
|
385
|
-
"""
|
|
386
|
-
atomic vdw radii of each atom type
|
|
387
|
-
"""
|
|
388
|
-
london_rcut: Optional[float] = 200
|
|
389
|
-
"""
|
|
390
|
-
cutoff radius (a.u.) for dispersion interactions
|
|
391
|
-
"""
|
|
392
|
-
dftd3_version: Optional[conint(ge=2, le=6)] = 3
|
|
393
|
-
"""
|
|
394
|
-
Version of Grimme implementation of Grimme-D3
|
|
395
|
-
"""
|
|
396
|
-
dftd3_threebody: Optional[bool] = True
|
|
397
|
-
"""
|
|
398
|
-
Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled.
|
|
399
|
-
"""
|
|
400
|
-
ts_vdw_econv_thr: Optional[float] = 1e-06
|
|
401
|
-
"""
|
|
402
|
-
Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it
|
|
403
|
-
"""
|
|
404
|
-
ts_vdw_isolated: Optional[bool] = False
|
|
405
|
-
"""
|
|
406
|
-
Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system.
|
|
407
|
-
"""
|
|
408
|
-
xdm: Optional[bool] = False
|
|
409
|
-
"""
|
|
410
|
-
OBSOLESCENT, same as vdw_corr='xdm'
|
|
411
|
-
"""
|
|
412
|
-
xdm_a1: Optional[float] = 0.6836
|
|
413
|
-
"""
|
|
414
|
-
Damping function parameter a1 (adimensional)
|
|
415
|
-
"""
|
|
416
|
-
xdm_a2: Optional[float] = 1.5045
|
|
417
|
-
"""
|
|
418
|
-
Damping function parameter a2 (angstrom)
|
|
419
|
-
"""
|
|
420
|
-
space_group: Optional[int] = 0
|
|
421
|
-
"""
|
|
422
|
-
The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)
|
|
423
|
-
"""
|
|
424
|
-
uniqueb: Optional[bool] = False
|
|
425
|
-
"""
|
|
426
|
-
Used only for monoclinic lattices
|
|
427
|
-
"""
|
|
428
|
-
origin_choice: Optional[int] = 1
|
|
429
|
-
"""
|
|
430
|
-
Used only for space groups that in the ITA allow the use of two different origins
|
|
431
|
-
"""
|
|
432
|
-
rhombohedral: Optional[bool] = True
|
|
433
|
-
"""
|
|
434
|
-
Used only for rhombohedral space groups.
|
|
435
|
-
"""
|
|
436
|
-
zgate: Optional[float] = 0.5
|
|
437
|
-
"""
|
|
438
|
-
used only if gate = .TRUE.
|
|
439
|
-
"""
|
|
440
|
-
relaxz: Optional[bool] = False
|
|
441
|
-
"""
|
|
442
|
-
used only if gate = .TRUE.
|
|
443
|
-
"""
|
|
444
|
-
block: Optional[bool] = False
|
|
445
|
-
"""
|
|
446
|
-
used only if gate = .TRUE.
|
|
447
|
-
"""
|
|
448
|
-
block_1: Optional[float] = 0.45
|
|
449
|
-
"""
|
|
450
|
-
used only if gate = .TRUE. and block = .TRUE.
|
|
451
|
-
"""
|
|
452
|
-
block_2: Optional[float] = 0.55
|
|
453
|
-
"""
|
|
454
|
-
used only if gate = .TRUE. and block = .TRUE.
|
|
455
|
-
"""
|
|
456
|
-
block_height: Optional[float] = 0.1
|
|
457
|
-
"""
|
|
458
|
-
used only if gate = .TRUE. and block = .TRUE.
|
|
459
|
-
"""
|
|
460
|
-
nextffield: Optional[int] = 0
|
|
461
|
-
"""
|
|
462
|
-
Number of activated external ionic force fields.
|
|
463
|
-
"""
|
|
464
|
-
celldm: Optional[List[float]] = Field(None, max_length=6, min_length=6)
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
class HubbardOccItem6(RootModel[conint(ge=1)]):
|
|
468
|
-
root: conint(ge=1)
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
class HubbardOccItem7(RootModel[conint(ge=1, le=3)]):
|
|
472
|
-
root: conint(ge=1, le=3)
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
class SystemSchema3(BaseModel):
|
|
476
|
-
model_config = ConfigDict(
|
|
477
|
-
extra="forbid",
|
|
478
|
-
)
|
|
479
|
-
ibrav: int
|
|
480
|
-
nat: int
|
|
481
|
-
"""
|
|
482
|
-
number of atoms in the unit cell (ALL atoms, except if space_group is set, in which case, INEQUIVALENT atoms)
|
|
483
|
-
"""
|
|
484
|
-
ntyp: int
|
|
485
|
-
"""
|
|
486
|
-
number of types of atoms in the unit cell
|
|
487
|
-
"""
|
|
488
|
-
nbnd: Optional[int] = None
|
|
489
|
-
"""
|
|
490
|
-
Default: for an insulator, nbnd = number of valence bands (nbnd = # of electrons /2); for a metal, 20% more (minimum 4 more)
|
|
491
|
-
"""
|
|
492
|
-
nbnd_cond: Optional[int] = None
|
|
493
|
-
"""
|
|
494
|
-
Default: nbnd_cond = nbnd - # of electrons / 2 in the collinear case; nbnd_cond = nbnd - # of electrons in the noncollinear case.
|
|
495
|
-
"""
|
|
496
|
-
tot_charge: Optional[float] = 0
|
|
497
|
-
starting_charge: Optional[float] = 0
|
|
498
|
-
"""
|
|
499
|
-
starting charge on atomic type 'i', to create starting potential with startingpot = 'atomic'.
|
|
500
|
-
"""
|
|
501
|
-
tot_magnetization: Optional[float] = -10000
|
|
502
|
-
"""
|
|
503
|
-
Total majority spin charge - minority spin charge. Used to impose a specific total electronic magnetization. If unspecified then tot_magnetization variable is ignored and the amount of electronic magnetization is determined during the self-consistent cycle.
|
|
504
|
-
"""
|
|
505
|
-
starting_magnetization: Optional[List[confloat(ge=-1.0, le=1.0)]] = None
|
|
506
|
-
ecutwfc: float
|
|
507
|
-
"""
|
|
508
|
-
kinetic energy cutoff (Ry) for wavefunctions
|
|
509
|
-
"""
|
|
510
|
-
ecutrho: Optional[float] = None
|
|
511
|
-
"""
|
|
512
|
-
Kinetic energy cutoff (Ry) for charge density and potential For norm-conserving pseudopotential you should stick to the default value, you can reduce it by a little but it will introduce noise especially on forces and stress. Default: 4 * ecutwfc
|
|
513
|
-
"""
|
|
514
|
-
ecutfock: Optional[float] = None
|
|
515
|
-
"""
|
|
516
|
-
Kinetic energy cutoff (Ry) for the exact exchange operator in EXX type calculations. By default this is the same as ecutrho but in some EXX calculations, a significant speed-up can be obtained by reducing ecutfock, at the expense of some loss in accuracy. Must be .gt. ecutwfc. Not implemented for stress calculation and for US-PP and PAW pseudopotentials.
|
|
517
|
-
"""
|
|
518
|
-
nr1: Optional[int] = None
|
|
519
|
-
"""
|
|
520
|
-
Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)
|
|
521
|
-
"""
|
|
522
|
-
nr2: Optional[int] = None
|
|
523
|
-
"""
|
|
524
|
-
Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)
|
|
525
|
-
"""
|
|
526
|
-
nr3: Optional[int] = None
|
|
527
|
-
"""
|
|
528
|
-
Three-dimensional FFT mesh (hard grid) for charge density (and scf potential). If not specified the grid is calculated based on the cutoff for charge density (see also ecutrho)
|
|
529
|
-
"""
|
|
530
|
-
nr1s: Optional[int] = None
|
|
531
|
-
"""
|
|
532
|
-
Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )
|
|
533
|
-
"""
|
|
534
|
-
nr2s: Optional[int] = None
|
|
535
|
-
"""
|
|
536
|
-
Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )
|
|
537
|
-
"""
|
|
538
|
-
nr3s: Optional[int] = None
|
|
539
|
-
"""
|
|
540
|
-
Three-dimensional mesh for wavefunction FFT and for the smooth part of charge density ( smooth grid ). Coincides with nr1, nr2, nr3 if ecutrho = 4 * ecutwfc ( default )
|
|
541
|
-
"""
|
|
542
|
-
nosym: Optional[bool] = False
|
|
543
|
-
nosym_evc: Optional[bool] = False
|
|
544
|
-
noinv: Optional[bool] = False
|
|
545
|
-
"""
|
|
546
|
-
if (.TRUE.) disable the usage of k => -k symmetry (time reversal) in k-point generation
|
|
547
|
-
"""
|
|
548
|
-
no_t_rev: Optional[bool] = False
|
|
549
|
-
"""
|
|
550
|
-
if (.TRUE.) disable the usage of magnetic symmetry operations that consist in a rotation + time reversal.
|
|
551
|
-
"""
|
|
552
|
-
force_symmorphic: Optional[bool] = False
|
|
553
|
-
"""
|
|
554
|
-
if (.TRUE.) force the symmetry group to be symmorphic by disabling symmetry operations having an associated fractionary translation
|
|
555
|
-
"""
|
|
556
|
-
use_all_frac: Optional[bool] = False
|
|
557
|
-
occupations: Optional[Occupations] = None
|
|
558
|
-
one_atom_occupations: Optional[bool] = False
|
|
559
|
-
starting_spin_angle: Optional[bool] = False
|
|
560
|
-
degauss_cond: Optional[float] = 0
|
|
561
|
-
"""
|
|
562
|
-
value of the gaussian spreading (Ry) for brillouin-zone integration in the conduction manifold in a two-chemical potential calculation (twochem=.true.).
|
|
563
|
-
"""
|
|
564
|
-
nelec_cond: Optional[float] = 0
|
|
565
|
-
"""
|
|
566
|
-
Number of electrons placed in the conduction manifold in a two-chemical potential calculation (twochem=.true.). Of the total # of electrons nelec, nelec-nelec_cond will occupy the valence manifold and nelec_cond will be constrained in the conduction manifold.
|
|
567
|
-
"""
|
|
568
|
-
degauss: Optional[float] = 0
|
|
569
|
-
"""
|
|
570
|
-
value of the gaussian spreading (Ry) for brillouin-zone integration in metals.
|
|
571
|
-
"""
|
|
572
|
-
smearing: Optional[Smearing] = "gaussian"
|
|
573
|
-
nspin: Optional[int] = 1
|
|
574
|
-
sic_gamma: Optional[float] = 0
|
|
575
|
-
"""
|
|
576
|
-
Strength of the gammaDFT potential.
|
|
577
|
-
"""
|
|
578
|
-
pol_type: Optional[PolType] = None
|
|
579
|
-
"""
|
|
580
|
-
Type of polaron in gammaDFT.
|
|
581
|
-
"""
|
|
582
|
-
sic_energy: Optional[bool] = False
|
|
583
|
-
"""
|
|
584
|
-
Enable the calculation of the total energy in gammaDFT. When .true., a preliminary calculation is performed to calculate the electron density in the absence of the polaron. When .false., the total energy printed in output should not be considered. For structural relaxations, it is recommended to use .false. to avoid doubling the computational cost.
|
|
585
|
-
"""
|
|
586
|
-
sci_vb: Optional[float] = 0
|
|
587
|
-
"""
|
|
588
|
-
Valence band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted.
|
|
589
|
-
"""
|
|
590
|
-
sci_cb: Optional[float] = 0
|
|
591
|
-
"""
|
|
592
|
-
Conduction band band shift (in eV) through self-consistent scissor operator. When performing gammaDFT calculations of polarons, the polaron level is not shifted.
|
|
593
|
-
"""
|
|
594
|
-
noncolin: Optional[bool] = False
|
|
595
|
-
"""
|
|
596
|
-
if .true. the program will perform a noncollinear calculation.
|
|
597
|
-
"""
|
|
598
|
-
ecfixed: Optional[float] = 0
|
|
599
|
-
qcutz: Optional[float] = 0
|
|
600
|
-
q2sigma: Optional[float] = 0.1
|
|
601
|
-
input_dft: Optional[str] = None
|
|
602
|
-
"""
|
|
603
|
-
Exchange-correlation functional: eg 'PBE', 'BLYP' etc See Modules/funct.f90 for allowed values. Overrides the value read from pseudopotential files. Use with care and if you know what you are doing!
|
|
604
|
-
"""
|
|
605
|
-
ace: Optional[bool] = True
|
|
606
|
-
"""
|
|
607
|
-
Use Adaptively Compressed Exchange operator as in Lin Lin, J. Chem. Theory Comput. 2016, 12, 2242--2249, doi:10.1021/acs.jctc.6b00092
|
|
608
|
-
"""
|
|
609
|
-
exx_fraction: Optional[float] = None
|
|
610
|
-
"""
|
|
611
|
-
Fraction of EXX for hybrid functional calculations. In the case of input_dft='PBE0', the default value is 0.25, while for input_dft='B3LYP' the exx_fraction default value is 0.20.
|
|
612
|
-
"""
|
|
613
|
-
screening_parameter: Optional[float] = 0.106
|
|
614
|
-
"""
|
|
615
|
-
screening_parameter for HSE like hybrid functionals.
|
|
616
|
-
"""
|
|
617
|
-
exxdiv_treatment: Optional[ExxdivTreatment] = "gygi-baldereschi"
|
|
618
|
-
x_gamma_extrapolation: Optional[bool] = True
|
|
619
|
-
"""
|
|
620
|
-
Specific for EXX. If .true., extrapolate the G=0 term of the potential
|
|
621
|
-
"""
|
|
622
|
-
ecutvcut: Optional[float] = None
|
|
623
|
-
"""
|
|
624
|
-
Reciprocal space cutoff for correcting Coulomb potential divergencies at small q vectors.
|
|
625
|
-
"""
|
|
626
|
-
nqx1: Optional[int] = 0
|
|
627
|
-
"""
|
|
628
|
-
Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points.
|
|
629
|
-
"""
|
|
630
|
-
nqx2: Optional[int] = None
|
|
631
|
-
"""
|
|
632
|
-
Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points.
|
|
633
|
-
"""
|
|
634
|
-
nqx3: Optional[int] = None
|
|
635
|
-
"""
|
|
636
|
-
Three-dimensional mesh for q (k1-k2) sampling of the Fock operator (EXX). Can be smaller than the number of k-points.
|
|
637
|
-
"""
|
|
638
|
-
localization_thr: Optional[float] = 0
|
|
639
|
-
"""
|
|
640
|
-
Overlap threshold over which the exchange integral over a pair of localized orbitals is included in the evaluation of EXX operator. Any value greater than 0.0 triggers the SCDM localization and the evaluation on EXX using the localized orbitals. Very small value of the threshold should yield the same result as the default EXX evaluation
|
|
641
|
-
"""
|
|
642
|
-
Hubbard_occ: Optional[List[List[Union[HubbardOccItem6, HubbardOccItem7, float]]]] = None
|
|
643
|
-
Hubbard_alpha: Optional[List[float]] = None
|
|
644
|
-
Hubbard_beta: Optional[List[float]] = None
|
|
645
|
-
starting_ns_eigenvalue: Optional[List[List[List[float]]]] = None
|
|
646
|
-
dmft: Optional[bool] = False
|
|
647
|
-
"""
|
|
648
|
-
If true, nscf calculation will exit in restart mode, scf calculation will restart from there if DMFT updates are provided as hdf5 archive. Scf calculation should be used only with electron_maxstep = 1.
|
|
649
|
-
"""
|
|
650
|
-
dmft_prefix: Optional[str] = None
|
|
651
|
-
"""
|
|
652
|
-
prepended to hdf5 archive: dmft_prefix.h5
|
|
653
|
-
"""
|
|
654
|
-
ensemble_energies: Optional[bool] = False
|
|
655
|
-
"""
|
|
656
|
-
If ensemble_energies = .true., an ensemble of xc energies is calculated non-selfconsistently for perturbed exchange-enhancement factors and LDA vs. PBE correlation ratios after each converged electronic ground state calculation.
|
|
657
|
-
"""
|
|
658
|
-
edir: Optional[int] = None
|
|
659
|
-
"""
|
|
660
|
-
The direction of the electric field or dipole correction is parallel to the bg(:,edir) reciprocal lattice vector, so the potential is constant in planes defined by FFT grid points; edir = 1, 2 or 3. Used only if tefield is .TRUE.
|
|
661
|
-
"""
|
|
662
|
-
emaxpos: Optional[float] = 0.5
|
|
663
|
-
"""
|
|
664
|
-
Position of the maximum of the saw-like potential along crystal axis edir, within the unit cell (see below), 0 < emaxpos < 1 Used only if tefield is .TRUE.
|
|
665
|
-
"""
|
|
666
|
-
eopreg: Optional[float] = 0.1
|
|
667
|
-
"""
|
|
668
|
-
Zone in the unit cell where the saw-like potential decreases. ( see below, 0 < eopreg < 1 ). Used only if tefield is .TRUE.
|
|
669
|
-
"""
|
|
670
|
-
eamp: Optional[float] = 0.001
|
|
671
|
-
angle1: Optional[List[float]] = Field(None, max_length=1, min_length=1)
|
|
672
|
-
"""
|
|
673
|
-
The angle expressed in degrees between the initial magnetization and the z-axis. For noncollinear calculations only; index i runs over the atom types.
|
|
674
|
-
"""
|
|
675
|
-
angle2: Optional[List[float]] = Field(None, max_length=1, min_length=1)
|
|
676
|
-
"""
|
|
677
|
-
The angle expressed in degrees between the projection of the initial magnetization on x-y plane and the x-axis. For noncollinear calculations only.
|
|
678
|
-
"""
|
|
679
|
-
lforcet: Optional[bool] = None
|
|
680
|
-
"""
|
|
681
|
-
When starting a non collinear calculation using an existing density file from a collinear lsda calculation assumes previous density points in z direction and rotates it in the direction described by angle1 and angle2 variables for atomic type 1
|
|
682
|
-
"""
|
|
683
|
-
constrained_magnetization: Optional[ConstrainedMagnetization] = "none"
|
|
684
|
-
"""
|
|
685
|
-
Used to perform constrained calculations in magnetic systems.
|
|
686
|
-
"""
|
|
687
|
-
fixed_magnetization: Optional[List[float]] = Field(None, max_length=3, min_length=3)
|
|
688
|
-
lambda_: Optional[float] = Field(1, alias="lambda")
|
|
689
|
-
"""
|
|
690
|
-
parameter used for constrained_magnetization calculations N.B.: if the scf calculation does not converge, try to reduce lambda to obtain convergence, then restart the run with a larger lambda
|
|
691
|
-
"""
|
|
692
|
-
report: Optional[int] = -1
|
|
693
|
-
"""
|
|
694
|
-
determines when atomic magnetic moments are printed on output
|
|
695
|
-
"""
|
|
696
|
-
lspinorb: Optional[bool] = None
|
|
697
|
-
"""
|
|
698
|
-
if .TRUE. the noncollinear code can use a pseudopotential with spin-orbit.
|
|
699
|
-
"""
|
|
700
|
-
assume_isolated: Optional[AssumeIsolated] = "none"
|
|
701
|
-
"""
|
|
702
|
-
Used to perform calculation assuming the system to be isolated (a molecule or a cluster in a 3D supercell)
|
|
703
|
-
"""
|
|
704
|
-
esm_bc: Optional[EsmBc] = "pbc"
|
|
705
|
-
"""
|
|
706
|
-
If assume_isolated = 'esm', determines the boundary conditions used for either side of the slab.
|
|
707
|
-
"""
|
|
708
|
-
esm_w: Optional[float] = 0
|
|
709
|
-
"""
|
|
710
|
-
If assume_isolated = 'esm', determines the position offset [in a.u.] of the start of the effective screening region, measured relative to the cell edge. (ESM region begins at z = +/- [L_z/2 + esm_w] ).
|
|
711
|
-
"""
|
|
712
|
-
esm_efield: Optional[float] = 0
|
|
713
|
-
"""
|
|
714
|
-
If assume_isolated = 'esm' and esm_bc = 'bc2', gives the magnitude of the electric field [Ry/a.u.] to be applied between semi-infinite ESM electrodes.
|
|
715
|
-
"""
|
|
716
|
-
esm_nfit: Optional[int] = 4
|
|
717
|
-
"""
|
|
718
|
-
If assume_isolated = 'esm', gives the number of z-grid points for the polynomial fit along the cell edge.
|
|
719
|
-
"""
|
|
720
|
-
lgcscf: Optional[bool] = False
|
|
721
|
-
"""
|
|
722
|
-
If .TRUE. perform a constant bias potential (constant-mu) calculation with Grand-Canonical SCF.
|
|
723
|
-
"""
|
|
724
|
-
gcscf_mu: Optional[float] = None
|
|
725
|
-
"""
|
|
726
|
-
The target Fermi energy (eV) of GC-SCF. One can start with appropriate total charge of the system by giving tot_charge
|
|
727
|
-
"""
|
|
728
|
-
gcscf_conv_thr: Optional[float] = 0.01
|
|
729
|
-
"""
|
|
730
|
-
Convergence threshold of Fermi energy (eV) for GC-SCF.
|
|
731
|
-
"""
|
|
732
|
-
gcscf_beta: Optional[float] = 0.05
|
|
733
|
-
"""
|
|
734
|
-
Mixing factor for GC-SCF. Larger values are recommended, if systems with small DOS on Fermi surface as graphite.
|
|
735
|
-
"""
|
|
736
|
-
vdw_corr: Optional[VdwCorr] = "none"
|
|
737
|
-
"""
|
|
738
|
-
Type of Van der Waals correction
|
|
739
|
-
"""
|
|
740
|
-
london: Optional[bool] = False
|
|
741
|
-
"""
|
|
742
|
-
OBSOLESCENT, same as vdw_corr='DFT-D'
|
|
743
|
-
"""
|
|
744
|
-
london_s6: Optional[float] = 0.75
|
|
745
|
-
"""
|
|
746
|
-
global scaling parameter for DFT-D. Default is good for PBE.
|
|
747
|
-
"""
|
|
748
|
-
london_c6: Optional[float] = None
|
|
749
|
-
"""
|
|
750
|
-
atomic C6 coefficient of each atom type
|
|
751
|
-
"""
|
|
752
|
-
london_rvdw: Optional[float] = None
|
|
753
|
-
"""
|
|
754
|
-
atomic vdw radii of each atom type
|
|
755
|
-
"""
|
|
756
|
-
london_rcut: Optional[float] = 200
|
|
757
|
-
"""
|
|
758
|
-
cutoff radius (a.u.) for dispersion interactions
|
|
759
|
-
"""
|
|
760
|
-
dftd3_version: Optional[conint(ge=2, le=6)] = 3
|
|
761
|
-
"""
|
|
762
|
-
Version of Grimme implementation of Grimme-D3
|
|
763
|
-
"""
|
|
764
|
-
dftd3_threebody: Optional[bool] = True
|
|
765
|
-
"""
|
|
766
|
-
Turn three-body terms in Grimme-D3 on. If .false. two-body contributions only are computed, using two-body parameters of Grimme-D3. If dftd3_version=2, three-body contribution is always disabled.
|
|
767
|
-
"""
|
|
768
|
-
ts_vdw_econv_thr: Optional[float] = 1e-06
|
|
769
|
-
"""
|
|
770
|
-
Optional: controls the convergence of the vdW energy (and forces). The default value is a safe choice, likely too safe, but you do not gain much in increasing it
|
|
771
|
-
"""
|
|
772
|
-
ts_vdw_isolated: Optional[bool] = False
|
|
773
|
-
"""
|
|
774
|
-
Optional: set it to .TRUE. when computing the Tkatchenko-Scheffler vdW energy or the Many-Body dispersion (MBD) energy for an isolated (non-periodic) system.
|
|
775
|
-
"""
|
|
776
|
-
xdm: Optional[bool] = False
|
|
777
|
-
"""
|
|
778
|
-
OBSOLESCENT, same as vdw_corr='xdm'
|
|
779
|
-
"""
|
|
780
|
-
xdm_a1: Optional[float] = 0.6836
|
|
781
|
-
"""
|
|
782
|
-
Damping function parameter a1 (adimensional)
|
|
783
|
-
"""
|
|
784
|
-
xdm_a2: Optional[float] = 1.5045
|
|
785
|
-
"""
|
|
786
|
-
Damping function parameter a2 (angstrom)
|
|
787
|
-
"""
|
|
788
|
-
space_group: Optional[int] = 0
|
|
789
|
-
"""
|
|
790
|
-
The number of the space group of the crystal, as given in the International Tables of Crystallography A (ITA)
|
|
791
|
-
"""
|
|
792
|
-
uniqueb: Optional[bool] = False
|
|
793
|
-
"""
|
|
794
|
-
Used only for monoclinic lattices
|
|
795
|
-
"""
|
|
796
|
-
origin_choice: Optional[int] = 1
|
|
797
|
-
"""
|
|
798
|
-
Used only for space groups that in the ITA allow the use of two different origins
|
|
799
|
-
"""
|
|
800
|
-
rhombohedral: Optional[bool] = True
|
|
801
|
-
"""
|
|
802
|
-
Used only for rhombohedral space groups.
|
|
803
|
-
"""
|
|
804
|
-
zgate: Optional[float] = 0.5
|
|
805
|
-
"""
|
|
806
|
-
used only if gate = .TRUE.
|
|
807
|
-
"""
|
|
808
|
-
relaxz: Optional[bool] = False
|
|
809
|
-
"""
|
|
810
|
-
used only if gate = .TRUE.
|
|
811
|
-
"""
|
|
812
|
-
block: Optional[bool] = False
|
|
813
|
-
"""
|
|
814
|
-
used only if gate = .TRUE.
|
|
815
|
-
"""
|
|
816
|
-
block_1: Optional[float] = 0.45
|
|
817
|
-
"""
|
|
818
|
-
used only if gate = .TRUE. and block = .TRUE.
|
|
819
|
-
"""
|
|
820
|
-
block_2: Optional[float] = 0.55
|
|
821
|
-
"""
|
|
822
|
-
used only if gate = .TRUE. and block = .TRUE.
|
|
823
|
-
"""
|
|
824
|
-
block_height: Optional[float] = 0.1
|
|
825
|
-
"""
|
|
826
|
-
used only if gate = .TRUE. and block = .TRUE.
|
|
827
|
-
"""
|
|
828
|
-
nextffield: Optional[int] = 0
|
|
829
|
-
"""
|
|
830
|
-
Number of activated external ionic force fields.
|
|
831
|
-
"""
|
|
832
|
-
A: Optional[float] = None
|
|
833
|
-
B: Optional[float] = None
|
|
834
|
-
C: Optional[float] = None
|
|
835
|
-
cosAB: Optional[float] = None
|
|
836
|
-
cosAC: Optional[float] = None
|
|
837
|
-
cosBC: Optional[float] = None
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
class ESSE(RootModel[Union[SystemSchema, SystemSchema3]]):
|
|
841
|
-
root: Union[SystemSchema, SystemSchema3] = Field(..., title="system schema")
|