solid-dmft 3.3.2__tar.gz → 3.3.3__tar.gz
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.
- {solid_dmft-3.3.2/python/solid_dmft.egg-info → solid_dmft-3.3.3}/PKG-INFO +12 -2
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/README.md +11 -1
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/pyproject.toml +1 -1
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_cycle.py +7 -1
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/solver.py +60 -27
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/io_tools/default.toml +1 -1
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/io_tools/verify_input_params.py +2 -2
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/version.py +4 -4
- {solid_dmft-3.3.2 → solid_dmft-3.3.3/python/solid_dmft.egg-info}/PKG-INFO +12 -2
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/COPYING.txt +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/LICENSE.txt +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/MANIFEST.in +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/__init__.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/csc_flow.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dft_managers/__init__.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dft_managers/mpi_helpers.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dft_managers/qe_manager.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dft_managers/vasp_manager.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/__init__.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/afm_mapping.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/convergence.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/formatter.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/greens_functions_mixer.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/initial_self_energies.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/interaction_hamiltonian.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/legendre_filter.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/manipulate_chemical_potential.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/matheval.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/observables.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/results_to_archive.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/gw_embedding/__init__.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/gw_embedding/bdft_converter.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/gw_embedding/gw_flow.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/gw_embedding/iaft.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/gw_embedding/qp_evs_to_eig.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/io_tools/__init__.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/io_tools/dict_to_h5.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/io_tools/postproc_toml_dict.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/main.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/postprocessing/__init__.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/postprocessing/eval_U_cRPA_RESPACK.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/postprocessing/eval_U_cRPA_Vasp.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/postprocessing/maxent_gf_imp.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/postprocessing/maxent_gf_latt.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/postprocessing/maxent_sigma.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/postprocessing/pade_sigma.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/postprocessing/plot_correlated_bands.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/util/__init__.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/util/symmetrize_gamma_file.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/util/write_kslice_to_h5.py +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft.egg-info/SOURCES.txt +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft.egg-info/dependency_links.txt +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft.egg-info/entry_points.txt +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft.egg-info/requires.txt +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft.egg-info/top_level.txt +0 -0
- {solid_dmft-3.3.2 → solid_dmft-3.3.3}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: solid_dmft
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.3
|
|
4
4
|
Summary: solid_dmft: a versatile python wrapper to perform DFT+DMFT calculations utilizing the TRIQS software library
|
|
5
5
|
Author-email: Alexander Hampel <mail@alexander-hampel.de>
|
|
6
6
|
Project-URL: Homepage, https://triqs.github.io/solid_dmft
|
|
@@ -21,7 +21,8 @@ Dynamic: license-file
|
|
|
21
21
|
|
|
22
22
|

|
|
23
23
|
|
|
24
|
-

|
|
25
|
+

|
|
25
26
|
[](https://badge.fury.io/py/solid_dmft)
|
|
26
27
|
[](https://joss.theoj.org/papers/48eb529b08c6bb464b235ba919d78922)
|
|
27
28
|
|
|
@@ -65,3 +66,12 @@ and the Center for Computational Quantum Physics, Flatiron Institute.
|
|
|
65
66
|
If you are using this code for your research, please cite it with this
|
|
66
67
|
[bib file](https://github.com/TRIQS/solid_dmft/blob/unstable/cite_solid_dmft.bib).
|
|
67
68
|
|
|
69
|
+
## Support
|
|
70
|
+
|
|
71
|
+
<picture>
|
|
72
|
+
<source media="(prefers-color-scheme: dark)" width="20%" srcset="doc/_static/CCQ-dark.png">
|
|
73
|
+
<img alt="Flatiron Center for Computational Quantum Physics logo." width="20%" src="doc/_static/CCQ.png">
|
|
74
|
+
</picture>
|
|
75
|
+
|
|
76
|
+
TRIQS/solid_dmft is supported by the Flatiron Institute, a division of the Simons Foundation.
|
|
77
|
+
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|

|
|
2
2
|
|
|
3
|
-

|
|
4
|
+

|
|
4
5
|
[](https://badge.fury.io/py/solid_dmft)
|
|
5
6
|
[](https://joss.theoj.org/papers/48eb529b08c6bb464b235ba919d78922)
|
|
6
7
|
|
|
@@ -44,3 +45,12 @@ and the Center for Computational Quantum Physics, Flatiron Institute.
|
|
|
44
45
|
If you are using this code for your research, please cite it with this
|
|
45
46
|
[bib file](https://github.com/TRIQS/solid_dmft/blob/unstable/cite_solid_dmft.bib).
|
|
46
47
|
|
|
48
|
+
## Support
|
|
49
|
+
|
|
50
|
+
<picture>
|
|
51
|
+
<source media="(prefers-color-scheme: dark)" width="20%" srcset="doc/_static/CCQ-dark.png">
|
|
52
|
+
<img alt="Flatiron Center for Computational Quantum Physics logo." width="20%" src="doc/_static/CCQ.png">
|
|
53
|
+
</picture>
|
|
54
|
+
|
|
55
|
+
TRIQS/solid_dmft is supported by the Flatiron Institute, a division of the Simons Foundation.
|
|
56
|
+
|
|
@@ -312,6 +312,12 @@ def dmft_cycle(general_params, solver_params, advanced_params, dft_params,
|
|
|
312
312
|
|
|
313
313
|
iteration_offset = 0
|
|
314
314
|
|
|
315
|
+
# if magnetic field is set we make sure that this is a magnetic calculation
|
|
316
|
+
if general_params['h_field'] != 0.0:
|
|
317
|
+
if not general_params['magnetic']:
|
|
318
|
+
mpi.report('WARNING: Magnetic field set but general.magnetic is False. Setting it to True now.')
|
|
319
|
+
general_params['magnetic'] = True
|
|
320
|
+
|
|
315
321
|
# determine chemical potential for bare DFT sum_k object
|
|
316
322
|
if mpi.is_master_node():
|
|
317
323
|
archive = HDFArchive(general_params['jobname']+'/'+general_params['seedname']+'.h5', 'a')
|
|
@@ -559,7 +565,7 @@ def dmft_cycle(general_params, solver_params, advanced_params, dft_params,
|
|
|
559
565
|
for it in range(iteration_offset + 1, iteration_offset + n_iter + 1):
|
|
560
566
|
|
|
561
567
|
# remove h_field when number of iterations is reached
|
|
562
|
-
if sum_k.h_field != 0.0 and general_params['h_field_it'] !=
|
|
568
|
+
if sum_k.h_field != 0.0 and general_params['h_field_it'] != -1 and it > general_params['h_field_it']:
|
|
563
569
|
mpi.report('\nRemoving magnetic field now.\n')
|
|
564
570
|
sum_k.h_field = 0.0
|
|
565
571
|
# enforce recomputation of eff_atomic_levels
|
|
@@ -30,7 +30,6 @@ from triqs.gf.tools import inverse, make_zero_tail
|
|
|
30
30
|
from triqs.gf.descriptors import Fourier
|
|
31
31
|
from triqs.operators import c_dag, c, Operator, util
|
|
32
32
|
from triqs.operators.util.U_matrix import reduce_4index_to_2index
|
|
33
|
-
from triqs.operators.util.extractors import block_matrix_from_op
|
|
34
33
|
import triqs.utility.mpi as mpi
|
|
35
34
|
import itertools
|
|
36
35
|
from h5 import HDFArchive
|
|
@@ -105,12 +104,7 @@ def _gf_fit_tail_fraction(Gf, fraction=0.4, replace=None, known_moments=[]):
|
|
|
105
104
|
|
|
106
105
|
return Gf_fit
|
|
107
106
|
|
|
108
|
-
def _fit_tail_window(
|
|
109
|
-
Sigma_iw,
|
|
110
|
-
fit_min_n=None, fit_max_n=None,
|
|
111
|
-
fit_min_w=None, fit_max_w=None,
|
|
112
|
-
fit_max_moment=None, fit_known_moments=None
|
|
113
|
-
):
|
|
107
|
+
def _fit_tail_window(Sigma_iw, fit_min_n=None, fit_max_n=None, fit_min_w=None, fit_max_w=None, fit_max_moment=None, fit_known_moments=None):
|
|
114
108
|
"""
|
|
115
109
|
Fit a high frequency 1/(iw)^n expansion of Sigma_iw
|
|
116
110
|
and replace the high frequency part with the fitted high frequency expansion.
|
|
@@ -121,7 +115,7 @@ def _fit_tail_window(
|
|
|
121
115
|
Parameters
|
|
122
116
|
----------
|
|
123
117
|
Sigma_iw : Gf
|
|
124
|
-
|
|
118
|
+
Self-energy.
|
|
125
119
|
fit_min_n : int, optional, default=int(0.8*len(Sigma_iw.mesh))
|
|
126
120
|
Matsubara frequency index from which tail fitting should start.
|
|
127
121
|
fit_max_n : int, optional, default=int(len(Sigma_iw.mesh))
|
|
@@ -131,7 +125,7 @@ def _fit_tail_window(
|
|
|
131
125
|
fit_max_w : float, optional
|
|
132
126
|
Matsubara frequency at which tail fitting should end.
|
|
133
127
|
fit_max_moment : int, optional
|
|
134
|
-
|
|
128
|
+
Highest moment to fit in the tail of Sigma_iw.
|
|
135
129
|
fit_known_moments : ``ndarray.shape[order, Sigma_iw[0].target_shape]``, optional, default = None
|
|
136
130
|
Known moments of Sigma_iw, given as an numpy ndarray
|
|
137
131
|
|
|
@@ -140,17 +134,17 @@ def _fit_tail_window(
|
|
|
140
134
|
tail_barr : dict of arr
|
|
141
135
|
fitted tail of Sigma_iw
|
|
142
136
|
"""
|
|
143
|
-
from triqs.gf import fit_hermitian_tail_on_window
|
|
137
|
+
from triqs.gf.gf_fnt import fit_hermitian_tail_on_window, replace_by_tail
|
|
144
138
|
|
|
145
139
|
# Define default tail quantities
|
|
146
140
|
if fit_min_w is not None:
|
|
147
|
-
fit_min_n = int(0.5*(fit_min_w*Sigma_iw.mesh.beta/np.pi - 1.0))
|
|
141
|
+
fit_min_n = int(0.5 * (fit_min_w * Sigma_iw.mesh.beta / np.pi - 1.0))
|
|
148
142
|
if fit_max_w is not None:
|
|
149
|
-
fit_max_n = int(0.5*(fit_max_w*Sigma_iw.mesh.beta/np.pi - 1.0))
|
|
143
|
+
fit_max_n = int(0.5 * (fit_max_w * Sigma_iw.mesh.beta / np.pi - 1.0))
|
|
150
144
|
if fit_min_n is None:
|
|
151
|
-
fit_min_n = int(0.8*len(Sigma_iw.mesh)/2)
|
|
145
|
+
fit_min_n = int(0.8 * len(Sigma_iw.mesh) / 2)
|
|
152
146
|
if fit_max_n is None:
|
|
153
|
-
fit_max_n = int(len(Sigma_iw.mesh)/2)
|
|
147
|
+
fit_max_n = int(len(Sigma_iw.mesh) / 2)
|
|
154
148
|
if fit_max_moment is None:
|
|
155
149
|
fit_max_moment = 3
|
|
156
150
|
|
|
@@ -158,24 +152,25 @@ def _fit_tail_window(
|
|
|
158
152
|
fit_known_moments = {}
|
|
159
153
|
for name, sig in Sigma_iw:
|
|
160
154
|
shape = [0] + list(sig.target_shape)
|
|
161
|
-
fit_known_moments[name] = np.zeros(shape, dtype=complex)
|
|
155
|
+
fit_known_moments[name] = np.zeros(shape, dtype=complex) # no known moments
|
|
162
156
|
|
|
163
157
|
# Now fit the tails of Sigma_iw and replace the high frequency part with the tail expansion
|
|
164
158
|
tail_barr = {}
|
|
165
|
-
|
|
166
|
-
|
|
159
|
+
Sigma_fit = Sigma_iw.copy()
|
|
160
|
+
for name, sig in Sigma_fit:
|
|
167
161
|
tail, err = fit_hermitian_tail_on_window(
|
|
168
162
|
sig,
|
|
169
|
-
n_min
|
|
170
|
-
n_max
|
|
171
|
-
known_moments
|
|
163
|
+
n_min=fit_min_n,
|
|
164
|
+
n_max=fit_max_n,
|
|
165
|
+
known_moments=fit_known_moments[name],
|
|
172
166
|
# set max number of pts used in fit larger than mesh size, to use all data in fit
|
|
173
|
-
n_tail_max
|
|
174
|
-
expansion_order
|
|
175
|
-
|
|
167
|
+
n_tail_max=10 * len(sig.mesh),
|
|
168
|
+
expansion_order=fit_max_moment,
|
|
169
|
+
)
|
|
176
170
|
tail_barr[name] = tail
|
|
171
|
+
replace_by_tail(sig, tail, n_min=fit_min_n)
|
|
177
172
|
|
|
178
|
-
return tail_barr
|
|
173
|
+
return Sigma_fit, tail_barr
|
|
179
174
|
|
|
180
175
|
class SolverStructure:
|
|
181
176
|
|
|
@@ -1251,8 +1246,8 @@ class SolverStructure:
|
|
|
1251
1246
|
# get everything from solver
|
|
1252
1247
|
self.G0_freq << self.triqs_solver.G0_iw
|
|
1253
1248
|
self.G_freq_unsym << self.triqs_solver.G_iw
|
|
1249
|
+
self.G_freq << self.triqs_solver.G_iw
|
|
1254
1250
|
self.sum_k.symm_deg_gf(self.G_freq, ish=self.icrsh)
|
|
1255
|
-
self.G_freq << self.G_freq
|
|
1256
1251
|
for bl, gf in self.Sigma_freq:
|
|
1257
1252
|
self.Sigma_freq[bl] << self.triqs_solver.Sigma_HF[bl]
|
|
1258
1253
|
self.Sigma_Refreq[bl] << self.triqs_solver.Sigma_HF[bl]
|
|
@@ -1346,6 +1341,8 @@ class SolverStructure:
|
|
|
1346
1341
|
r'''
|
|
1347
1342
|
Organize G_freq, G_time, Sigma_freq and G_l from ctseg solver
|
|
1348
1343
|
'''
|
|
1344
|
+
from solid_dmft.postprocessing.eval_U_cRPA_RESPACK import construct_Uijkl
|
|
1345
|
+
from triqs.operators.util.extractors import extract_U_dict2, dict_to_matrix
|
|
1349
1346
|
|
|
1350
1347
|
def set_Gs_from_G_l():
|
|
1351
1348
|
|
|
@@ -1442,7 +1439,7 @@ class SolverStructure:
|
|
|
1442
1439
|
# get G_time, G_freq, Sigma_freq from G_l
|
|
1443
1440
|
set_Gs_from_G_l()
|
|
1444
1441
|
# if improved estimators are turned on calc Sigma from F_tau, otherwise:
|
|
1445
|
-
elif self.solver_params['improved_estimator']:
|
|
1442
|
+
elif self.solver_params['improved_estimator'] and not self.solver_params['perform_tail_fit']:
|
|
1446
1443
|
self.F_freq = self.G_freq.copy()
|
|
1447
1444
|
self.F_freq << 0.0
|
|
1448
1445
|
self.F_time = self.G_time.copy()
|
|
@@ -1460,6 +1457,42 @@ class SolverStructure:
|
|
|
1460
1457
|
for block, fw in self.F_freq:
|
|
1461
1458
|
for iw in fw.mesh:
|
|
1462
1459
|
self.Sigma_freq[block][iw] = self.F_freq[block][iw] / self.G_freq[block][iw]
|
|
1460
|
+
elif self.solver_params['perform_tail_fit']:
|
|
1461
|
+
if not self.solver_params['improved_estimator']:
|
|
1462
|
+
mpi.report('Self-energy post-processing algorithm: tail fitting with analytic static impurity self-energy')
|
|
1463
|
+
self.Sigma_freq = inverse(self.G0_freq) - inverse(self.G_freq)
|
|
1464
|
+
else:
|
|
1465
|
+
mpi.report('Self-energy post-processing algorithm: '
|
|
1466
|
+
'improved estimator + tail fitting with analytic static imppurity self-energy')
|
|
1467
|
+
self.F_freq = self.G_freq.copy()
|
|
1468
|
+
self.F_freq << 0.0
|
|
1469
|
+
self.F_time = self.G_time.copy()
|
|
1470
|
+
self.F_time << self.triqs_solver.results.F_tau
|
|
1471
|
+
F_known_moments = make_zero_tail(self.F_freq, n_moments=1)
|
|
1472
|
+
for i, bl in enumerate(self.F_freq.indices):
|
|
1473
|
+
self.F_freq[bl] << Fourier(self.triqs_solver.results.F_tau[bl], F_known_moments[i])
|
|
1474
|
+
|
|
1475
|
+
for block, fw in self.F_freq:
|
|
1476
|
+
for iw in fw.mesh:
|
|
1477
|
+
self.Sigma_freq[block][iw] = self.F_freq[block][iw] / self.G_freq[block][iw]
|
|
1478
|
+
|
|
1479
|
+
# without any degenerate shells we run the minimization for all blocks
|
|
1480
|
+
if mpi.is_master_node():
|
|
1481
|
+
self.Sigma_freq, tail = _fit_tail_window(
|
|
1482
|
+
self.Sigma_freq,
|
|
1483
|
+
fit_min_n=self.solver_params['fit_min_n'],
|
|
1484
|
+
fit_max_n=self.solver_params['fit_max_n'],
|
|
1485
|
+
fit_min_w=self.solver_params['fit_min_w'],
|
|
1486
|
+
fit_max_w=self.solver_params['fit_max_w'],
|
|
1487
|
+
fit_max_moment=self.solver_params['fit_max_moment'],
|
|
1488
|
+
fit_known_moments=self.Sigma_moments,
|
|
1489
|
+
)
|
|
1490
|
+
|
|
1491
|
+
# recompute G_freq from Sigma with fitted tail
|
|
1492
|
+
self.G_freq = inverse(inverse(self.G0_freq) - self.Sigma_freq)
|
|
1493
|
+
|
|
1494
|
+
self.Sigma_freq << mpi.bcast(self.Sigma_freq)
|
|
1495
|
+
self.G_freq << mpi.bcast(self.G_freq)
|
|
1463
1496
|
|
|
1464
1497
|
elif self.solver_params['crm_dyson_solver']:
|
|
1465
1498
|
from triqs.gf.dlr_crm_dyson_solver import minimize_dyson
|
|
@@ -1490,7 +1523,7 @@ class SolverStructure:
|
|
|
1490
1523
|
# minimize dyson for the first entry of each deg shell
|
|
1491
1524
|
self.Sigma_dlr = self.sum_k.block_structure.create_gf(ish=self.icrsh, gf_function=Gf, mesh=mesh_dlr_iw, space='solver')
|
|
1492
1525
|
# without any degenerate shells we run the minimization for all blocks
|
|
1493
|
-
tail = _fit_tail_window(Sigma_iw,
|
|
1526
|
+
_, tail = _fit_tail_window(Sigma_iw,
|
|
1494
1527
|
fit_min_n=self.solver_params['fit_min_n'],
|
|
1495
1528
|
fit_max_n=self.solver_params['fit_max_n'],
|
|
1496
1529
|
fit_min_w=self.solver_params['fit_min_w'],
|
|
@@ -110,8 +110,8 @@ def _verify_input_params_solver(params: FullConfig) -> None:
|
|
|
110
110
|
entry['legendre_fit'],
|
|
111
111
|
entry['improved_estimator'],
|
|
112
112
|
entry['perform_tail_fit']]
|
|
113
|
-
if sum(tail_op) > 1:
|
|
114
|
-
raise ValueError('Only one of the options "crm_dyson_solver", "legendre_fit", "improved_estimator", and "perform_tail_fit" can be set to True.')
|
|
113
|
+
if sum(tail_op) > 1 and not (entry['improved_estimator'] and entry['perform_tail_fit']):
|
|
114
|
+
raise ValueError('Only one of the options "crm_dyson_solver", "legendre_fit", "improved_estimator", and "perform_tail_fit" can be set to True. You can only combine "improved_estimator" and "perform_tail_fit".')
|
|
115
115
|
if entry['type'] == 'cthyb':
|
|
116
116
|
tail_op = [entry['crm_dyson_solver'],
|
|
117
117
|
entry['legendre_fit'],
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
#
|
|
23
23
|
################################################################################
|
|
24
24
|
|
|
25
|
-
version = "3.3.
|
|
26
|
-
triqs_hash = "
|
|
27
|
-
solid_dmft_hash = "
|
|
25
|
+
version = "3.3.3"
|
|
26
|
+
triqs_hash = "0a3ce9651e4b043eb24c0f7eae52e6538b36b752"
|
|
27
|
+
solid_dmft_hash = "282d8435c4ccdc1c9061451f5d777f374de8c238"
|
|
28
28
|
|
|
29
29
|
def show_version():
|
|
30
30
|
print("\nYou are using solid_dmft version %s\n"%version)
|
|
31
31
|
|
|
32
32
|
def show_git_hash():
|
|
33
|
-
print("\nYou are using solid_dmft git hash %s based on triqs git hash %s\n"%("
|
|
33
|
+
print("\nYou are using solid_dmft git hash %s based on triqs git hash %s\n"%("282d8435c4ccdc1c9061451f5d777f374de8c238", triqs_hash))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: solid_dmft
|
|
3
|
-
Version: 3.3.
|
|
3
|
+
Version: 3.3.3
|
|
4
4
|
Summary: solid_dmft: a versatile python wrapper to perform DFT+DMFT calculations utilizing the TRIQS software library
|
|
5
5
|
Author-email: Alexander Hampel <mail@alexander-hampel.de>
|
|
6
6
|
Project-URL: Homepage, https://triqs.github.io/solid_dmft
|
|
@@ -21,7 +21,8 @@ Dynamic: license-file
|
|
|
21
21
|
|
|
22
22
|

|
|
23
23
|
|
|
24
|
-

|
|
25
|
+

|
|
25
26
|
[](https://badge.fury.io/py/solid_dmft)
|
|
26
27
|
[](https://joss.theoj.org/papers/48eb529b08c6bb464b235ba919d78922)
|
|
27
28
|
|
|
@@ -65,3 +66,12 @@ and the Center for Computational Quantum Physics, Flatiron Institute.
|
|
|
65
66
|
If you are using this code for your research, please cite it with this
|
|
66
67
|
[bib file](https://github.com/TRIQS/solid_dmft/blob/unstable/cite_solid_dmft.bib).
|
|
67
68
|
|
|
69
|
+
## Support
|
|
70
|
+
|
|
71
|
+
<picture>
|
|
72
|
+
<source media="(prefers-color-scheme: dark)" width="20%" srcset="doc/_static/CCQ-dark.png">
|
|
73
|
+
<img alt="Flatiron Center for Computational Quantum Physics logo." width="20%" src="doc/_static/CCQ.png">
|
|
74
|
+
</picture>
|
|
75
|
+
|
|
76
|
+
TRIQS/solid_dmft is supported by the Flatiron Institute, a division of the Simons Foundation.
|
|
77
|
+
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/greens_functions_mixer.py
RENAMED
|
File without changes
|
|
File without changes
|
{solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/interaction_hamiltonian.py
RENAMED
|
File without changes
|
|
File without changes
|
{solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/dmft_tools/manipulate_chemical_potential.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/postprocessing/eval_U_cRPA_RESPACK.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{solid_dmft-3.3.2 → solid_dmft-3.3.3}/python/solid_dmft/postprocessing/plot_correlated_bands.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|