During the Elk conversion process, two files, SYMCRYS.OUT and LATTICE.OUT, need to be read. However, after the Elk calculation is completed, there are some blank lines in these files, which leads to recognition failure of readElkfiles.py. By using line.strip(), non-blank lines can be directly read.
This PR/ commit adds two new features to the w90 converter stored to the h5 archive:
1. Centres of Wannier functions: This can be obtained using the `read_wannier90_centres()` function. This would also be useful if one wants to shift Wannier centres back to the home unit cells on-the-fly in `dft_tool`.
2. High-symmetry k-path for band structure: This can be obtained using the `read_wannier90_symm_kpath()` function.
changes:
* read wannier centres and symmetry kpath from w90
* [fix] w90convert test after fix for kpt_basis stor
---------
Co-authored-by: Alexander Hampel <ahampel@flatironinstitute.org>
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.
* 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.
safer to use in case there are errors in finding the correct mapping.
The converter will now abort if the agreement in mapping is below a
user-definable threshold.
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