solid-dmft 3.2.1__tar.gz → 3.2.2__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.2.1 → solid_dmft-3.2.2}/PKG-INFO +1 -3
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/pyproject.toml +2 -4
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_cycle.py +1 -1
- solid_dmft-3.2.2/python/solid_dmft/dmft_tools/matheval.py +59 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/solver.py +17 -7
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/main.py +2 -2
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/postprocessing/plot_correlated_bands.py +12 -9
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/read_config.py +10 -5
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/version.py +4 -4
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft.egg-info/PKG-INFO +2 -4
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft.egg-info/SOURCES.txt +1 -0
- solid_dmft-3.2.2/python/solid_dmft.egg-info/requires.txt +3 -0
- solid_dmft-3.2.1/python/solid_dmft.egg-info/requires.txt +0 -5
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/COPYING.txt +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/LICENSE.txt +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/MANIFEST.in +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/README.md +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/__init__.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/csc_flow.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dft_managers/__init__.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dft_managers/mpi_helpers.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dft_managers/qe_manager.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dft_managers/vasp_manager.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/__init__.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/afm_mapping.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/convergence.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/formatter.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/greens_functions_mixer.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/initial_self_energies.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/interaction_hamiltonian.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/legendre_filter.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/manipulate_chemical_potential.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/observables.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/results_to_archive.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/postprocessing/__init__.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/postprocessing/eval_U_cRPA_RESPACK.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/postprocessing/eval_U_cRPA_Vasp.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/postprocessing/maxent_gf_imp.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/postprocessing/maxent_gf_latt.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/postprocessing/maxent_sigma.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/util/__init__.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/util/symmetrize_gamma_file.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/util/update_dmft_config.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/util/update_results_h5.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/util/write_kslice_to_h5.py +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft.egg-info/dependency_links.txt +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft.egg-info/entry_points.txt +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft.egg-info/top_level.txt +0 -0
- {solid_dmft-3.2.1 → solid_dmft-3.2.2}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: solid_dmft
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.2
|
|
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 <ahampel@flatironinstitute.org>
|
|
6
6
|
Project-URL: Homepage, https://triqs.github.io/solid_dmft
|
|
@@ -17,8 +17,6 @@ License-File: COPYING.txt
|
|
|
17
17
|
Requires-Dist: numpy
|
|
18
18
|
Requires-Dist: scipy
|
|
19
19
|
Requires-Dist: pytest
|
|
20
|
-
Requires-Dist: scikit-image
|
|
21
|
-
Requires-Dist: argparse
|
|
22
20
|
|
|
23
21
|

|
|
24
22
|
|
|
@@ -7,7 +7,7 @@ where = ["python"]
|
|
|
7
7
|
|
|
8
8
|
[project]
|
|
9
9
|
name = "solid_dmft"
|
|
10
|
-
version = "3.2.
|
|
10
|
+
version = "3.2.2"
|
|
11
11
|
authors = [
|
|
12
12
|
{ name="Alexander Hampel", email="ahampel@flatironinstitute.org" }
|
|
13
13
|
]
|
|
@@ -23,9 +23,7 @@ classifiers = [
|
|
|
23
23
|
dependencies = [
|
|
24
24
|
"numpy",
|
|
25
25
|
"scipy",
|
|
26
|
-
"pytest"
|
|
27
|
-
"scikit-image",
|
|
28
|
-
"argparse"
|
|
26
|
+
"pytest"
|
|
29
27
|
]
|
|
30
28
|
|
|
31
29
|
[project.urls]
|
|
@@ -660,7 +660,7 @@ def _dmft_step(sum_k, solvers, it, general_params,
|
|
|
660
660
|
mpi.report('\nSolving the impurity problem for shell {} ...'.format(icrsh))
|
|
661
661
|
mpi.barrier()
|
|
662
662
|
start_time = timer()
|
|
663
|
-
solvers[icrsh].solve()
|
|
663
|
+
solvers[icrsh].solve(it=it)
|
|
664
664
|
mpi.barrier()
|
|
665
665
|
mpi.report('Actual time for solver: {:.2f} s'.format(timer() - start_time))
|
|
666
666
|
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# https://stackoverflow.com/a/30516254
|
|
2
|
+
|
|
3
|
+
import ast
|
|
4
|
+
import math
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class MathExpr(object):
|
|
8
|
+
allowed_nodes = (
|
|
9
|
+
ast.Module,
|
|
10
|
+
ast.Expr,
|
|
11
|
+
ast.Load,
|
|
12
|
+
ast.Expression,
|
|
13
|
+
ast.Add,
|
|
14
|
+
ast.Sub,
|
|
15
|
+
ast.UnaryOp,
|
|
16
|
+
ast.Num,
|
|
17
|
+
ast.BinOp,
|
|
18
|
+
ast.Mult,
|
|
19
|
+
ast.Div,
|
|
20
|
+
ast.Pow,
|
|
21
|
+
ast.BitOr,
|
|
22
|
+
ast.BitAnd,
|
|
23
|
+
ast.BitXor,
|
|
24
|
+
ast.USub,
|
|
25
|
+
ast.UAdd,
|
|
26
|
+
ast.FloorDiv,
|
|
27
|
+
ast.Mod,
|
|
28
|
+
ast.LShift,
|
|
29
|
+
ast.RShift,
|
|
30
|
+
ast.Invert,
|
|
31
|
+
ast.Call,
|
|
32
|
+
ast.Name,
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
functions = {
|
|
36
|
+
"abs": abs,
|
|
37
|
+
"complex": complex,
|
|
38
|
+
"min": min,
|
|
39
|
+
"max": max,
|
|
40
|
+
"pow": pow,
|
|
41
|
+
"round": round,
|
|
42
|
+
}
|
|
43
|
+
functions.update(
|
|
44
|
+
{key: value for (key, value) in vars(math).items() if not key.startswith("_")}
|
|
45
|
+
)
|
|
46
|
+
|
|
47
|
+
def __init__(self, expr):
|
|
48
|
+
if any(elem in expr for elem in "\n#"):
|
|
49
|
+
raise ValueError(expr)
|
|
50
|
+
|
|
51
|
+
node = ast.parse(expr.strip(), mode="eval")
|
|
52
|
+
for curr in ast.walk(node):
|
|
53
|
+
if not isinstance(curr, self.allowed_nodes):
|
|
54
|
+
raise ValueError(curr)
|
|
55
|
+
|
|
56
|
+
self.code = compile(node, "<string>", "eval")
|
|
57
|
+
|
|
58
|
+
def __call__(self, **kwargs):
|
|
59
|
+
return eval(self.code, {"__builtins__": None}, {**self.functions, **kwargs})
|
|
@@ -32,6 +32,7 @@ import triqs.utility.mpi as mpi
|
|
|
32
32
|
from h5 import HDFArchive
|
|
33
33
|
|
|
34
34
|
from . import legendre_filter
|
|
35
|
+
from .matheval import MathExpr
|
|
35
36
|
|
|
36
37
|
def get_n_orbitals(sum_k):
|
|
37
38
|
"""
|
|
@@ -108,7 +109,7 @@ class SolverStructure:
|
|
|
108
109
|
|
|
109
110
|
Methods
|
|
110
111
|
-------
|
|
111
|
-
solve(self)
|
|
112
|
+
solve(self, **kwargs)
|
|
112
113
|
solve impurity problem
|
|
113
114
|
'''
|
|
114
115
|
|
|
@@ -140,6 +141,10 @@ class SolverStructure:
|
|
|
140
141
|
self.h_int = h_int
|
|
141
142
|
self.iteration_offset = iteration_offset
|
|
142
143
|
self.solver_struct_ftps = solver_struct_ftps
|
|
144
|
+
if solver_params.get("random_seed") is None:
|
|
145
|
+
self.random_seed_generator = None
|
|
146
|
+
else:
|
|
147
|
+
self.random_seed_generator = MathExpr(solver_params["random_seed"])
|
|
143
148
|
|
|
144
149
|
# initialize solver object, options are cthyb
|
|
145
150
|
if self.general_params['solver_type'] == 'cthyb':
|
|
@@ -336,11 +341,16 @@ class SolverStructure:
|
|
|
336
341
|
# solver-specific solve() command
|
|
337
342
|
# ********************************************************************
|
|
338
343
|
|
|
339
|
-
def solve(self):
|
|
344
|
+
def solve(self, **kwargs):
|
|
340
345
|
r'''
|
|
341
346
|
solve impurity problem with current solver
|
|
342
347
|
'''
|
|
343
348
|
|
|
349
|
+
if self.random_seed_generator is None:
|
|
350
|
+
random_seed = {}
|
|
351
|
+
else:
|
|
352
|
+
random_seed = { "random_seed": int(self.random_seed_generator(it=kwargs["it"], rank=mpi.rank)) }
|
|
353
|
+
|
|
344
354
|
if self.general_params['solver_type'] == 'cthyb':
|
|
345
355
|
|
|
346
356
|
if self.general_params['cthyb_delta_interface']:
|
|
@@ -387,7 +397,7 @@ class SolverStructure:
|
|
|
387
397
|
|
|
388
398
|
# Solve the impurity problem for icrsh shell
|
|
389
399
|
# *************************************
|
|
390
|
-
self.triqs_solver.solve(h_int=self.h_int, **self.solver_params)
|
|
400
|
+
self.triqs_solver.solve(h_int=self.h_int, **{ **self.solver_params, **random_seed })
|
|
391
401
|
# *************************************
|
|
392
402
|
|
|
393
403
|
# call postprocessing
|
|
@@ -403,7 +413,7 @@ class SolverStructure:
|
|
|
403
413
|
|
|
404
414
|
# Solve the impurity problem for icrsh shell
|
|
405
415
|
# *************************************
|
|
406
|
-
self.triqs_solver.solve(h_int=self.h_int, **self.solver_params)
|
|
416
|
+
self.triqs_solver.solve(h_int=self.h_int, **{ **self.solver_params, **random_seed })
|
|
407
417
|
# *************************************
|
|
408
418
|
|
|
409
419
|
# call postprocessing
|
|
@@ -577,7 +587,7 @@ class SolverStructure:
|
|
|
577
587
|
|
|
578
588
|
# Solve the impurity problem for icrsh shell
|
|
579
589
|
# *************************************
|
|
580
|
-
self.triqs_solver.solve(h_int=self.h_int, **self.solver_params)
|
|
590
|
+
self.triqs_solver.solve(h_int=self.h_int, **{ **self.solver_params, **random_seed })
|
|
581
591
|
# *************************************
|
|
582
592
|
|
|
583
593
|
# call postprocessing
|
|
@@ -594,7 +604,7 @@ class SolverStructure:
|
|
|
594
604
|
|
|
595
605
|
# Solve the impurity problem for icrsh shell
|
|
596
606
|
# *************************************
|
|
597
|
-
self.triqs_solver.solve(h_int=self.h_int, **self.solver_params)
|
|
607
|
+
self.triqs_solver.solve(h_int=self.h_int, **{ **self.solver_params, **random_seed })
|
|
598
608
|
# *************************************
|
|
599
609
|
|
|
600
610
|
# call postprocessing
|
|
@@ -701,7 +711,7 @@ class SolverStructure:
|
|
|
701
711
|
)
|
|
702
712
|
|
|
703
713
|
def _interface_hartree_dc(hartree_instance, general_params, advanced_params, icrsh):
|
|
704
|
-
""" Modifies in-place class attributes to infercace with options in solid_dmft
|
|
714
|
+
""" Modifies in-place class attributes to infercace with options in solid_dmft
|
|
705
715
|
for the moment supports only DC-relevant parameters
|
|
706
716
|
|
|
707
717
|
Parameters
|
|
@@ -108,8 +108,8 @@ def main(argv=sys.argv):
|
|
|
108
108
|
# Copies h5 archive and config file to subfolder if are not there
|
|
109
109
|
for file in (general_params['seedname']+'.h5',
|
|
110
110
|
general_params['config_file']):
|
|
111
|
-
if not os.path.isfile(general_params['jobname']+'/'+file):
|
|
112
|
-
shutil.copyfile(file, general_params['jobname']+'/'+file)
|
|
111
|
+
if not os.path.isfile(general_params['jobname']+'/'+os.path.basename(file)):
|
|
112
|
+
shutil.copyfile(file, general_params['jobname']+'/'+os.path.basename(file))
|
|
113
113
|
mpi.barrier()
|
|
114
114
|
|
|
115
115
|
# Runs dmft_cycle
|
{solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/postprocessing/plot_correlated_bands.py
RENAMED
|
@@ -178,8 +178,6 @@ def _sigma_from_dmft(n_orb, orbital_order, with_sigma, spin, orbital_order_dmft=
|
|
|
178
178
|
def interpolate_sigma(w_mesh, w_mesh_dmft, orb1, orb2): return np.interp(w_mesh, w_mesh_dmft, sigma_mat[:, orb1, orb2])
|
|
179
179
|
|
|
180
180
|
for ct1, ct2 in itertools.product(range(n_orb), range(n_orb)):
|
|
181
|
-
if ct1 != ct2 and not SOC:
|
|
182
|
-
continue
|
|
183
181
|
sigma_interpolated[ct1, ct2] = interpolate_sigma(w_mesh, w_mesh_dmft, ct1, ct2)
|
|
184
182
|
|
|
185
183
|
return sigma_interpolated, mu_dmft, freq_dict
|
|
@@ -481,7 +479,7 @@ def get_kx_ky_FS(lower_right, upper_left, Z, tb, select=None, N_kxy=10, kz=0.0,
|
|
|
481
479
|
|
|
482
480
|
sheet_ct = 0
|
|
483
481
|
for sheet in contours.keys():
|
|
484
|
-
for sec_per_sheet in range(
|
|
482
|
+
for sec_per_sheet in range(len(contours[sheet])):
|
|
485
483
|
# once on 2D cubic mesh
|
|
486
484
|
FS_kx_ky[sheet_ct] = np.vstack([_fract_ind_to_val(kx, contours[sheet][sec_per_sheet][:, 0]),
|
|
487
485
|
_fract_ind_to_val(ky, contours[sheet][sec_per_sheet][:, 1]),
|
|
@@ -507,7 +505,7 @@ def get_kx_ky_FS(lower_right, upper_left, Z, tb, select=None, N_kxy=10, kz=0.0,
|
|
|
507
505
|
def _setup_plot_bands(ax, special_k, k_points_labels, freq_dict):
|
|
508
506
|
|
|
509
507
|
ax.axhline(y=0, c='gray', ls='--', lw=0.8, zorder=0)
|
|
510
|
-
ax.set_ylabel(r'$\
|
|
508
|
+
ax.set_ylabel(r'$\epsilon - \mu$ (eV)')
|
|
511
509
|
# ax.set_ylim(*freq_dict['window'])
|
|
512
510
|
for ik in special_k:
|
|
513
511
|
ax.axvline(x=ik, linewidth=0.7, color='k', zorder=0.5)
|
|
@@ -549,8 +547,10 @@ def plot_bands(fig, ax, alatt_k_w, tb_data, freq_dict, n_orb, tb=True, alatt=Fal
|
|
|
549
547
|
|
|
550
548
|
graph = ax.pcolormesh(kw_x, kw_y, alatt_k_w.T, cmap=plot_dict['colorscheme_alatt'],
|
|
551
549
|
norm=Normalize(vmin=vmin, vmax=vmax), shading='gouraud')
|
|
552
|
-
|
|
553
|
-
colorbar
|
|
550
|
+
|
|
551
|
+
if 'colorbar' not in plot_dict or plot_dict['colorbar']:
|
|
552
|
+
colorbar = plt.colorbar(graph)
|
|
553
|
+
colorbar.set_label(r'$A(k, \omega)$')
|
|
554
554
|
|
|
555
555
|
if tb:
|
|
556
556
|
# if projection is requested, _get_tb_bands() ran already
|
|
@@ -589,7 +589,7 @@ def plot_dos(fig, ax, alatt_k_w, tb_data, freq_dict, tb=False, alatt=True, label
|
|
|
589
589
|
alatt_k_w.shape[0], label=label, color=color)
|
|
590
590
|
|
|
591
591
|
ax.axvline(x=0, c='gray', ls='--', zorder=0)
|
|
592
|
-
ax.set_xlabel(r'$\
|
|
592
|
+
ax.set_xlabel(r'$\epsilon - \mu$ (eV)')
|
|
593
593
|
ax.set_ylabel(r'A($\omega$)')
|
|
594
594
|
|
|
595
595
|
ax.set_xlim(*freq_dict['window'])
|
|
@@ -629,8 +629,10 @@ def plot_kslice(fig, ax, alatt_k_w, tb_data, freq_dict, n_orb, tb_dict, tb=True,
|
|
|
629
629
|
cmap=plot_dict['colorscheme_kslice'],
|
|
630
630
|
norm=Normalize(vmin=vmin, vmax=vmax),
|
|
631
631
|
shading='gouraud')
|
|
632
|
-
|
|
633
|
-
|
|
632
|
+
|
|
633
|
+
if 'colorbar' not in plot_dict or plot_dict['colorbar']:
|
|
634
|
+
colorbar = plt.colorbar(graph)
|
|
635
|
+
colorbar.set_label(r'$A(k, 0$)')
|
|
634
636
|
|
|
635
637
|
if tb:
|
|
636
638
|
FS_kx_ky, band_char = get_tb_kslice(tb_data['tb'], tb_data['mu_tb'], **tb_dict)
|
|
@@ -861,6 +863,7 @@ def get_dmft_bands(n_orb, w90_path, w90_seed, mu_tb, add_spin=False, add_lambda=
|
|
|
861
863
|
delta_sigma, mu_dmft, freq_dict = _sigma_from_dmft(n_orb, orbital_order_to, with_sigma, **specs)
|
|
862
864
|
mu = mu_dmft + mu_shift
|
|
863
865
|
|
|
866
|
+
freq_dict['sigma_upfolded'] = delta_sigma
|
|
864
867
|
if add_mu_tb:
|
|
865
868
|
print('Adding mu_tb to DMFT μ; assuming DMFT was run with subtracted dft μ.')
|
|
866
869
|
mu += mu_tb
|
|
@@ -147,7 +147,9 @@ sigma_mix : float, optional, default=1.0
|
|
|
147
147
|
careful: Sigma mixing can break orbital symmetries, use G0 mixing
|
|
148
148
|
mixing sigma with previous iteration sigma for better convergency. 1.0 means no mixing
|
|
149
149
|
g0_mix : float, optional, default=1.0
|
|
150
|
-
|
|
150
|
+
Mixing the weiss field G0 with previous iteration G0 for better convergency. 1.0 means no mixing.
|
|
151
|
+
Setting g0_mix to 0.0 with linear mixing can be used for statistic sampling when
|
|
152
|
+
restarting a calculation
|
|
151
153
|
g0_mix_type : string, optional, default='linear'
|
|
152
154
|
which type of mixing is used. Possible values are:
|
|
153
155
|
linear: linear mixing
|
|
@@ -279,9 +281,12 @@ fit_min_w : float, optional
|
|
|
279
281
|
start matsubara frequency to start with
|
|
280
282
|
fit_max_w : float, optional
|
|
281
283
|
highest matsubara frequency to fit
|
|
282
|
-
random_seed :
|
|
284
|
+
random_seed : str, optional default by triqs
|
|
283
285
|
if specified the int will be used for random seeds! Careful, this will give the same random
|
|
284
286
|
numbers on all mpi ranks
|
|
287
|
+
You can also pass a string that will convert the keywords it or rank on runtime, e.g.
|
|
288
|
+
34788 * it + 928374 * rank will convert each iteration the variables it and rank for the random
|
|
289
|
+
seed
|
|
285
290
|
legendre_fit : bool, optional default= False
|
|
286
291
|
filter noise of G(tau) with G_l, cutoff is taken from n_l
|
|
287
292
|
loc_n_min : int, optional
|
|
@@ -549,11 +554,11 @@ PROPERTIES_PARAMS = {'general': {'seedname': {'used': True},
|
|
|
549
554
|
'default': False},
|
|
550
555
|
|
|
551
556
|
'sigma_mix': {'converter': float,
|
|
552
|
-
'valid for': lambda x, params: x
|
|
557
|
+
'valid for': lambda x, params: x >= 0 and (np.isclose(params['general']['g0_mix'], 1)
|
|
553
558
|
or np.isclose(x, 1)),
|
|
554
559
|
'used': True, 'default': 1.0},
|
|
555
560
|
|
|
556
|
-
'g0_mix': {'converter': float, 'valid for': lambda x, _: x
|
|
561
|
+
'g0_mix': {'converter': float, 'valid for': lambda x, _: x >= 0,
|
|
557
562
|
'used': True, 'default': 1.0},
|
|
558
563
|
|
|
559
564
|
'g0_mix_type': {'valid for': lambda x, _: x in ('linear', 'broyden'),
|
|
@@ -731,7 +736,7 @@ PROPERTIES_PARAMS = {'general': {'seedname': {'used': True},
|
|
|
731
736
|
'move_shift': {'converter': BOOL_PARSER, 'default': False,
|
|
732
737
|
'used': lambda params: params['general']['solver_type'] in ['cthyb']},
|
|
733
738
|
|
|
734
|
-
'random_seed': {'converter':
|
|
739
|
+
'random_seed': {'converter': str, 'default': None,
|
|
735
740
|
'used': lambda params: params['general']['solver_type'] in ['cthyb', 'ctint', 'ctseg']},
|
|
736
741
|
|
|
737
742
|
'perform_tail_fit': {'converter': BOOL_PARSER,
|
|
@@ -22,12 +22,12 @@
|
|
|
22
22
|
#
|
|
23
23
|
################################################################################
|
|
24
24
|
|
|
25
|
-
version = "3.2.
|
|
26
|
-
triqs_hash = "
|
|
27
|
-
solid_dmft_hash = ""
|
|
25
|
+
version = "3.2.2"
|
|
26
|
+
triqs_hash = "8216931d15230ad4ffd4acba3db651046c040d99"
|
|
27
|
+
solid_dmft_hash = "90f23ef5222ddd232855e5a8d3440b8008359e65"
|
|
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"%("", triqs_hash))
|
|
33
|
+
print("\nYou are using solid_dmft git hash %s based on triqs git hash %s\n"%("90f23ef5222ddd232855e5a8d3440b8008359e65", triqs_hash))
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
|
-
Name:
|
|
3
|
-
Version: 3.2.
|
|
2
|
+
Name: solid_dmft
|
|
3
|
+
Version: 3.2.2
|
|
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 <ahampel@flatironinstitute.org>
|
|
6
6
|
Project-URL: Homepage, https://triqs.github.io/solid_dmft
|
|
@@ -17,8 +17,6 @@ License-File: COPYING.txt
|
|
|
17
17
|
Requires-Dist: numpy
|
|
18
18
|
Requires-Dist: scipy
|
|
19
19
|
Requires-Dist: pytest
|
|
20
|
-
Requires-Dist: scikit-image
|
|
21
|
-
Requires-Dist: argparse
|
|
22
20
|
|
|
23
21
|

|
|
24
22
|
|
|
@@ -28,6 +28,7 @@ python/solid_dmft/dmft_tools/initial_self_energies.py
|
|
|
28
28
|
python/solid_dmft/dmft_tools/interaction_hamiltonian.py
|
|
29
29
|
python/solid_dmft/dmft_tools/legendre_filter.py
|
|
30
30
|
python/solid_dmft/dmft_tools/manipulate_chemical_potential.py
|
|
31
|
+
python/solid_dmft/dmft_tools/matheval.py
|
|
31
32
|
python/solid_dmft/dmft_tools/observables.py
|
|
32
33
|
python/solid_dmft/dmft_tools/results_to_archive.py
|
|
33
34
|
python/solid_dmft/dmft_tools/solver.py
|
|
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.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/greens_functions_mixer.py
RENAMED
|
File without changes
|
|
File without changes
|
{solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/interaction_hamiltonian.py
RENAMED
|
File without changes
|
|
File without changes
|
{solid_dmft-3.2.1 → solid_dmft-3.2.2}/python/solid_dmft/dmft_tools/manipulate_chemical_potential.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{solid_dmft-3.2.1 → solid_dmft-3.2.2}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|