triqs_dftkit.wien2k.driver.Driver

class triqs_dftkit.wien2k.driver.Driver(seedname, wienroot=None, dmftproj_exe='dmftproj', max_scf_iter=100, ecut=0.0001, ccut=0.0001, verbosity=1)[source]

Driver orchestrating the WIEN2k program chain for CSC DFT+DMFT.

Satisfies modest’s DftDriver contract: it exposes seedname, run_initial_stage and run_update_stage, and leaves <seedname>.h5 fully re-converted before either hook returns.

Attributes

seedname

(str) WIEN2k case name. All WIEN2k files are <seedname>.<ext> and the archive modest reads is <seedname>.h5.

wienroot

(str) WIEN2k installation directory; <wienroot>/x launches every program.

dmftproj_exe

(str) The dmftproj executable. Looked up on $PATH by default, matching how run_lapw invokes it.

max_scf_iter

(int) Iteration cap for the initial SCF loop.

ecut, ccut

(float) Energy (Ry) and charge convergence limits, as run_lapw’s -ec and -cc.

verbosity

(int) 0 – warnings only; 1 – also per-cycle convergence and restart messages (default); 2 – also one line per WIEN2k program launched. Output is written on the master rank only. Settable at any time as an attribute.

Methods

read_dft_energy()

Total energy in eV, from the last :ENE line in case.scf.

run_dft_only([n_iter, force_scf])

Run the DFT SCF cycle and stop: no projectors, no dmftproj, no HDF5.

run_initial_stage([force_scf])

Converge the DFT SCF cycle, then build projectors and convert to HDF5.

run_update_stage(N_k, Eint_m_dc[, mu, beta])

Apply the DMFT charge density correction and reconverge one cycle.

scf_converged()

Whether the SCF history in case.scf already meets the ecut/ccut criteria.

Notes

wienroot and dmftproj_exe are the only coupling to WIEN2k, so a fake WIEN2k can be substituted for testing by pointing them elsewhere.