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>
* fix not initialized variable Glatt_iw
* add simple run tests for all 4 DFT codes to test at least if
calc_density_correction runs without errors
* small formatting fixes
* previously the default gf_struct_solver had keys up / down,
inconsistent with the default behavior after analyse_block_structure was
run: up_0 / down_0. Now the default solver structure always has the _0
in the key.
* old behavior resulted in error when analyse_block_structure was called
twice
* fixed analyse block structure tests with new changes
* to correctly use analyse_block_structure use now
extract_G_loc(transform_to_solver_blocks=False)
* changed density_matrix function to use directly extract_G_loc() if
using_gf is selected.
* print deprecation warning in density_matrix, same can be achieved via
extract_G_loc and [G.density() for G in Gloc]
* new function density_matrix_using_point_integration()
* enforce in analyse block structure that input dm or G is list with
length of n_corr_shells
* correct doc string for how include_shells are given
* fixed other tests accordingly
* fixed small bug in initial block structure regarding length of lists
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.