Release notes for Mar 2024 version
- The code is translated to Python3, with Python2/weave replaced by pybind11 code.
- The code is tested with Python 3.9.18, Python 3.11.8, and Python.3.11.9.
The numpy version tested include 1.26.3, and 2.0.2.
It seems Python.3.12 does not currently support numba, hence this software
is not compatible with Python.3.12. In addition, this code needs f2py,
which is removed in Python.3.12 with the newest versions on numpy. Since we extensively use f2py, we encourage
downgrading numpy to the version that still supports f2py.
- A new script
run_dft.py
is added, which is similar to run_lapw
, but uses internal lapw1
, and lapwso
,
which are faster on some platforms than wien/lapw[1|so]
on parallel machines, and uses
exclusively MPI.
- A new script
cif2struct.py
is added, which converts an arbitrary
cif file to its corresponding struct file. A special attention is payed
to monoclinic structures with base-centered Bravais lattices, which
don't work properly with existing cif2struct in wien2k. If you want to
learn how to use, check "Tutorial 9 on cif2indmf".
- Another script
cif2indmf.py
is added, which produces all
necessary dmft input files for calculation from a cif
file.
- Several scripts for plotting added, including:
plt_spaght.py
, which is similar to x_spaghtti, but simpler and uses python matplotlib
plt_dos.py
, which plots eDMFT dos and greens function, once dmft1 is run on the real axis
plt_gs.py
, which plots impurity and lattice greens function either on real or imaginary axis.
plt_info.py
, displays info.iterate with a plot
plt_akplot.py
, like wakpot.py
, but using python only
plt_makplot.py
, like wakplot.py
, but
for magnetic calculation with eigvals.dat
and eigvalsdn.dat
Release notes for Mar 2017 version
- CTQMC was substantially improved. The Green's function, the
self-energy and the two particle vertex can now be sampled not just
in the Matsubara frequency (old way) but also in the more efficient
SVD basis. Namely, SVD basis is obtained by SVD decomposition of the
analytic continuation kernel. This method removes a lot of noise at
intermediate frequency.
- We also made all arrays dynamic in CTQMC, so that variable
Nmax (the maximum perturbation order) does not needed to be
specified anymore.
- In CTQMC the acceptance step was speed up substantially by taking into account proportionality of the state_evolutions.
- The self-energy sampling should now work in general, although it
seems it still has some issue in non-segment picture, so be careful
with it. Here are the notes
on the implementation.
Also the high-frequency moments are now implemented (see notes),
although they do not differ much from the old good Hubbard I.
- The exchange move was implemented in general case and should
reduce auto-correlation time in CTQMC.
- We added a set of new variables, in particular mode. Please
look at the new tutorial on ctqmc, which explains how to use the new
version of the CTQMC. It should be easier, not harder.
- Spin-orbit coupling should be much faster now with MPI communication for both lapw1 and lapwso.
When we deal with large vector files, we can now use efficient mpi parallelization and
distribute vector files over many processors, or, merge into a single vector file through
MPI calls. Both ways should work.
- Resonant X-ray scattering implemented, although not documented yet.
- improved scripts for rotation : new script findRot.py, more
user-friendly local_axis.py and local2global.py
- dmft1 now uses less memory, hence larger unit cell should now work.
- Exact double couniting should work now. We have "exactd" (better for insulators),
"exact" and "exacty" (better for metals), which differ in real space screening.
(See tutorial 1, which explains
different double-countings)
- Optimization of structures should work now.
- Ferromagnetic metals now work even in the absence of SO. One needs to prepare
case.indmfldn (for spin-down) as well as case.indmfl (for spin-up) file.
The impurity input file case.indmfi should ecompass both spin-up and spin-down
components.
In addition, params.dat should have a variable "Ferro=True" set, which will
print eigenenergies for both up and down spins, and then compute chemical potential
in the presence of both spins. The dmft2 calculation will then skip recomputing
the chemical potentail.
- Forces are implemented and work, but they do not work in the
presence of spin-orbit coupling
- CTQMC is much better now for 'Ising' interaction (segment picture), i.e., much more
trial steps are accepted. It seems slower for the same M, but it
has roughly 5-times better statistics, or, it is 3-times more
efficient.
- The total energies are working. They are printed in info.iterate. In
addition, free energy can be calculated. We print F+T*S_imp. One
can also calculate S_imp (by raising the temperature in impurity
calculation) and get DMFT free energy.
Last modified: Sun Dec 22 21:22:52 EST 2024