In coordination with M. Aichorn and O. Peil we decided to change the
default of the normion to False. This is closed to the behavior of the
other converters w90, elk, and wien2k, which will always orthonormalize
all projectors in a unit cell together (normion=False) and not per ion
site (normion=True). Changed tests accordingly.
All existing transport features from SumkDFTTools are now integrated in sumk_dft_transport.py as functions.
feat: new code = "wannier90"
refactor: free functions instead of sum_k members
If code is chosen as wannier90:
feat: compute transport function
feat: compute OC in Wannier or Hamiltonian basis
feat: compute intra- and interband contributions separately in OC
* typos and subbed check in spin polarized calculations for quantum espresso with a warning when computing the deltaN
* fixed typos in comments
* removed legacy mode maintaining only compatibility layer and switched to old (<3.10) python syntax
* added target density output in mu finder for brent and newton, refactored tunit test for DC, changed some comments
* elk-transport
* minor updates
* specify explicitly fortran compiler and python exe in CMAKE
Co-authored-by: Alexander Hampel <ahampel@flatironinstitute.org>
updated the Elk interface to fix some minor bugs which arose for certain systems with equivalent atoms. I've also included new tests for this interface and collated all of these interface tests in the "test/python/elk" subdirectory.
Added:
substantial speed-up using MPI for Fourier transform
option to add a local spin-orbit term to t2g local Hamiltonian.
writing dft_fermi_energy to group 'dft_misc_input'
writing kpt_basis to group 'dft_input' if bloch_basis=True
writing kpts_cart to group 'dft_misc_input' if bloch_basis=True
Minor bugfixes:
bug can be caused by rounding of outer window limits if bloch_basis and disentangle =True, made error message clearer
for charge self-consistent calculations, and 2) spin-orbit coupling
if bloch_basis = True:
* if "seedname_u.dat" (and in case of disentanglement "seedname_u_dis.dat")
present, write hopping in Bloch basis
* "proj_mat" transforming from Bloch to orbital space
* diagonal hoppings are directly read from "seedname.eig"
* fermi weights and band_window of Wannier Hamiltonian are read from DFT
output and "seedname.nnkp", written into new subgroup "dft_misc_input"
* automatic calculation of "density_required"
* implemented for Quantum Espresso (read from "seedname.nscf.out" if
verbosity = 'high') and VASP (read from "OUTCAR"/"LOCPROJ")
* spin-orbit coupling SO = 1 implemented
* substitute k_mesh and bz_weights with kpts and kpt_weights,
respectively (previous names kept for compatibility)
* updated tests
Adding Elk-TRIQS interface (first iteration)
This interface reads in Elk's ground-state files / projectors generated by a specific Elk interface code version (https://github.com/AlynJ/Elk_interface-TRIQS). The interface can perform charge-self consistent DFT+DMFT calculations using the aforementioned Elk code version, including spin orbit-coupling. Hence, this is the first open source interfaced DFT code to triqs with FCSC support.
The commit includes detailed documentation and tutorials on how to use this interface. Moreover, further new post-processing routines are added for Fermi surface plots and spectral functions (A(w)) from the elk inputs.
The interface was tested by A. James and A. Hampel. However, this is the first iteration of the interface and should be used with care. Please report all bugs.
List of changes:
---------------
- sumk.py: added cacluation of charge density correction for elk (dm_type='elk').
- sumk_dft_tools.py: added new post-processing functions to calculate the Fermi surface and A(w) from the Elk inputs.
- documentation and tutorial files amended for this interface.
- added python tests for the Elk converter.
* adding kpts_basis, kpts, and kpt_weights to h5 dft_input
* read these properties as optional arguments in Sumk_dft.py
* change accordingly the ref h5 files for vasp converter test
* soon all converters are demanted to store those properties
* bz_weights should then be replaced by kpt_weights
* closes PR #146