diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e915ee06..b62cca20 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,9 +30,9 @@ jobs: sudo apt-get install lsb-release wget software-properties-common && wget -O /tmp/llvm.sh https://apt.llvm.org/llvm.sh && sudo chmod +x /tmp/llvm.sh && sudo /tmp/llvm.sh 13 && sudo apt-get install - clang-13 - g++-10 - gfortran-10 + clang-15 + g++-12 + gfortran-12 hdf5-tools libblas-dev libboost-dev @@ -82,7 +82,7 @@ jobs: env: CC: ${{ matrix.cc }} CXX: ${{ matrix.cxx }} - FC: gfortran-10 + FC: gfortran-12 LIBRARY_PATH: /usr/local/opt/llvm/lib run: | source $HOME/install/share/triqs/triqsvars.sh diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 1d1dc93e..d07460f3 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -4,6 +4,12 @@ ## unstable +* updated github work flow to match triqs unstable requisites +* sumk_dft_tools.py rewritten to have single routines to calculate DOS, spaghettis and (Elk specific for now) spectral contours +* occupied DOS can be calculated (sumk_dft_tools.occupations() is needed to be calculated first) +* analysis.rst and conv_elk.rst updated to improve routine descriptions and includes example figures +* updated Elk tests and rewritten test scripts (.h5 files remain unchanged) +* New converter routines to read in Elk data for sumk_dft_tools.spectral_contours() (Elk k-mesh generator and checker needs to be optimized as it's currently slow). commented out Elk "bandcharacter" conversion from Elk converter and Elk DFT+DMFT PDOS code which used it (this method needs to be checked) * SumK requires now to pass a mesh on init to clarify the mesh on which it operates * rename / unify name of `sumk.Sigma_imp_iw` and `sumk.Sigma_imp_w` -> `sumk.Sigma_imp` * remove `iw_or_w` arguments diff --git a/doc/guide/analysis.rst b/doc/guide/analysis.rst index b511be78..66620f58 100644 --- a/doc/guide/analysis.rst +++ b/doc/guide/analysis.rst @@ -3,17 +3,13 @@ Tools for analysis ================== -This section explains how to use some tools of the package in order to analyse the data. +This section explains how to use some tools of the package in order to analyse the data. There are certain tools here which are not available for some DFT code interfaces. Please refer to the DFT package interface converter documentation (see :ref:`conversion`) on how to interface the required DFT outputs into the HDF5 files needed for the tools discussed here. This section will assume that the user has converted the required DFT data. -There are two practical tools for which a self energy on the real axis is not needed, namely: +The following routines require a self energy on the real frequency axis if the user specifies the inputs `with_Sigma` and `with_dc`: - * :meth:`dos_wannier_basis ` for the density of states of the Wannier orbitals and - * :meth:`partial_charges ` for the partial charges according to the Wien2k definition. - -However, a real-frequency self energy has to be provided by the user for the methods: - - * :meth:`dos_parproj_basis ` for the momentum-integrated spectral function including self energy effects and + * :meth:`density_of_states ` for the momentum-integrated spectral function including self energy effects and * :meth:`spaghettis ` for the momentum-resolved spectral function (i.e. ARPES) + * :meth:`spectral_contours ` for the k-resolved spectral function on a specific k-mesh (i.e., spectral function on a two dimensional k-mesh) .. note:: This package does NOT provide an explicit method to do an **analytic continuation** of @@ -21,6 +17,11 @@ However, a real-frequency self energy has to be provided by the user for the met but a list of options available within the TRIQS framework is given :ref:`here `. Keep in mind that all these methods have to be used very carefully! +Otherwise, without these options, the spectral functions from the inputs of the interfaced DFT code will be used. + +The other routines presented here use the Matsubara self-energy. + + Initialisation -------------- @@ -74,32 +75,81 @@ and additionally set the chemical potential and the double counting correction f SK.set_mu(chemical_potential) SK.set_dc(dc_imp,dc_energ) -.. _dos_wannier: -Density of states of the Wannier orbitals ------------------------------------------ +Density of states +----------------- -For plotting the density of states of the Wannier orbitals, you type:: +For plotting the density of states, you type:: - SK.dos_wannier_basis(broadening=0.03, mesh=[om_min, om_max, n_om], with_Sigma=False, with_dc=False, save_to_file=True) + SK.density_of_states(mu, broadening, mesh, with_Sigma, with_dc, proj_type, dosocc, save_to_file) -which produces plots between the real frequencies `om_min` and `om_max`, using a mesh of `n_om` points. The parameter -`broadening` defines an additional Lorentzian broadening, and has the default value of `0.01 eV`. To check the Wannier -density of states after the projection set `with_Sigma` and `with_dc` to `False`. If `save_to_file` is set to `True` -the output is printed into the files +where a description of all of the inputs are given in :meth:`density_of_states `: - * `DOS_wannier_(sp).dat`: The total DOS, where `(sp)` stands for `up`, `down`, or combined `ud`. The latter case - is relevant for calculations including spin-orbit interaction. - * `DOS_wannier_(sp)_proj(i).dat`: The DOS projected to an orbital with index `(i)`. The index `(i)` refers to - the indices given in ``SK.shells``. - * `DOS_wannier_(sp)_proj(i)_(m)_(n).dat`: As above, but printed as orbitally-resolved matrix in indices - `(m)` and `(n)`. For `d` orbitals, it gives the DOS separately for, e.g., :math:`d_{xy}`, :math:`d_{x^2-y^2}`, and so on, +.. automethod:: triqs_dft_tools.sumk_dft_tools.SumkDFTTools.density_of_states + :noindex: + +.. image:: images_scripts/DFT_Tools_SVO_DFT_DOS.png + :width: 600 + :align: center + +The figure above shows the DFT SrVO\ :sub:`3`\ density of states generated from 2925 k-points in the irreducible Brillouin zone with the V t\ :sub:`2g`\ Wannier projectors generated within a correlated energy window of [-13.6, 13.6] eV. The `broadening` input has been set to the temperature (i.e., 1/Beta). The total, V t\ :sub:`2g`\ Wannier and occupied total density of states generated from the SK.density_of_states() routine are shown. Note that the noise in the density of states comes from the number of k-points used. This can be removed upon by either using more k-points or using a larger `broadening` value. + + +Band resolved density matrices +------------------------------ + +Calculates the band resolved density matrices (occupations) from the Matsubara frequency self-energy. +This is done by calling the following:: + + SK.occupations(mu, with_Sigma, with_dc, save_occ): + +This is required to generate the occupied DOS in SK.density_of_states() when dosocc is set to True. The `save_occ` optional input (True by default) saves these density matrices to the HDF5 file within the misc_data subgroup. The other variables are the same as defined above. See :meth:`occupations ` + + +Momentum resolved spectral function (with real-frequency self energy) +--------------------------------------------------------------------- + +Another quantity of interest is the calculated momentum-resolved spectral function A(k, :math:`\omega`) or (correlated) band structure which can directly be compared to ARPES experiments. +First we have generate the required files from the DFT code of choice and interface them with DFT_Tools, see the guides of the DFT converters (:ref:`conversion`) on how to do this. + +This spectral function is calculated by typing:: + + SK.spaghettis(mu, broadening, mesh, plot_shift, plot_range, shell_list, with_Sigma, with_dc, proj_type, save_to_file) + +.. automethod:: triqs_dft_tools.sumk_dft_tools.SumkDFTTools.spaghettis + :noindex: + +.. image:: images_scripts/DFT_Tools_SVO_DFT_spaghettis.png + :width: 1000 + :align: center + +The figure above shows the DFT SrVO\ :sub:`3`\ spaghetti plot (generated using V t\ :sub:`2g`\ Wannier projectors generated within a correlated energy window of [-13.6, 13.6] eV). As before, the broadening input has been set to the temperature (i.e., 1/Beta). The left panel shows the total A(k, :math:`\omega`) whereas the right gives the Wannier A(k, :math:`\omega`), both generated from this SK.spaghettis(). + + +Energy contours of the k-resolved Spectral function +--------------------------------------------------- + +Currently, this has only been implemented for Elk DFT inputs only. + +This routine calculates the k-resolved spectral function evaluated at the Fermi level or several energy contours on the k-mesh defined in the converter stage:: + + SK.spectral_contours(mu, broadening, mesh, plot_range, FS, with_Sigma, with_dc, proj_type, save_to_file) + +.. automethod:: triqs_dft_tools.sumk_dft_tools.SumkDFTTools.spectral_contours + :noindex: + +.. image:: images_scripts/DFT_Tools_SVO_DFT_energy_contours.png + :width: 1000 + :align: center + +The figure above shows the DFT SrVO\ :sub:`3`\ energy contour plots (again, generated using V t\ :sub:`2g`\ Wannier projectors generated within a correlated energy window of [-13.6, 13,6] eV and broadening of 1/Beta). Both panels have been generated on a k-mesh within the first Brillouin zone on the k\ :sub:`z`\ = 0.0 plane centered at the :math:`\Gamma` point. Here, each panel generated using the outputs from this SK.spectral_contours_plot() routine shows the A(k, :math:`\omega`) evaluated at :math:`\omega` = -0.5 eV (left) and the Fermi level, :math:`\omega` = 0.0 eV, (right). -otherwise, the output is returned by the function for a further usage in :program:`python`. Partial charges --------------- +Currently, this has only been implemented for Wien2k DFT inputs only. + Since we can calculate the partial charges directly from the Matsubara Green functions, we also do not need a real-frequency self energy for this purpose. The calculation is done by:: @@ -109,38 +159,6 @@ real-frequency self energy for this purpose. The calculation is done by:: which calculates the partial charges using the self energy, double counting, and chemical potential as set in the `SK` object. On return, `dm` is a list, where the list items correspond to the density matrices of all shells defined in the list `SK.shells`. This list is constructed by the Wien2k converter routines and stored automatically -in the hdf5 archive. For the structure of `dm`, see also :meth:`reference manual `. +in the hdf5 archive. For the structure of `dm`, see also :meth:`partial charges `. -Correlated spectral function (with real-frequency self energy) --------------------------------------------------------------- -To produce both the momentum-integrated (total density of states or DOS) and orbitally-resolved (partial/projected DOS) spectral functions -we can execute:: - - SK.dos_parproj_basis(broadening=0.0, with_Sigma=True, with_dc=True, save_to_file=True) - -The variable `broadening` is an additional Lorentzian broadening (default: `0.01 eV`) applied to the resulting spectra. -The output is written in the same way as described above for the :ref:`Wannier density of states `, but with filenames -`DOS_parproj_*` instead. - -Momentum resolved spectral function (with real-frequency self energy) ---------------------------------------------------------------------- - -Another quantity of interest is the momentum-resolved spectral function, which can directly be compared to ARPES -experiments. First we have to execute `lapw1`, `lapw2 -almd` and :program:`dmftproj` with the `-band` -option and use the :meth:`convert_bands_input ` -routine, which converts the required files (for a more detailed description see :ref:`conversion`). The spectral function is then calculated by typing:: - - SK.spaghettis(broadening=0.01,plot_shift=0.0,plot_range=None,ishell=None,save_to_file='Akw_') - -Here, optional parameters are - - * `shift`: An additional shift added as `(ik-1)*shift`, where `ik` is the index of the `k` point. This is useful for plotting purposes. - The default value is 0.0. - * `plotrange`: A list with two entries, :math:`\omega_{min}` and :math:`\omega_{max}`, which set the plot - range for the output. The default value is `None`, in which case the full momentum range as given in the self energy is used. - * `ishell`: An integer denoting the orbital index `ishell` onto which the spectral function is projected. The resulting function is saved in - the files. The default value is `None`. Note for experts: The spectra are not rotated to the local coordinate system used in Wien2k. - -The output is written as the 3-column files ``Akw(sp).dat``, where `(sp)` is defined as above. The output format is -`k`, :math:`\omega`, `value`. diff --git a/doc/guide/conv_elk.rst b/doc/guide/conv_elk.rst index 650dc5df..26aade0d 100644 --- a/doc/guide/conv_elk.rst +++ b/doc/guide/conv_elk.rst @@ -3,7 +3,7 @@ Interface with Elk ===================== -This is the first iteration of the Elk-TRIQS interface, so certain inputs may change in later updates. The Elk part of the interface is not currently in the main distribution, but it can be found `here `_. +This is the first iteration of the Elk-TRIQS interface, so certain inputs may change in later updates. The Elk part of the interface is not currently in the main distribution, but it can be found `here `_. We assume that the user has obtained a self-consistent solution of the Kohn-Sham equations with Elk (a full tutorial can be found here :ref:`Elk SVO tutorial `). Also, the user needs to be familiar with the main in/output files of Elk, and how to run @@ -113,36 +113,16 @@ The band structure information is converted into TRIQS by using:: Converter.convert_bands_input() -Spectral function from Elk inputs ---------------------------------- -Elk does not calculate the theta projectors for partial DOS calculations. Instead, Elk outputs the band characters into the file BC.OUT when using the elk.in task:: +Spectral function Energy Contour Plots (Fermi Surfaces) from Elk inputs +----------------------------------------------------------------------- - task - 803 - -The contents of BC.OUT need to be converted into the HDF5 file by using the Elk Converter module:: - - from triqs_dft_tools.converters.elk import * - Converter = ElkConverter(filename=filename, repacking=True) - Converter.dft_band_characters() - -Once these have been saved to the HDF5 file (called "filename" here), the spectral function can be calculated with:: - - SK.elk_dos(broadening=0.0, with_Sigma=True, with_dc=True, pdos=False, nk=None) - -This outputs the total spectral function and the partial spectral function if enabled. Most of the user inputs are similar to the "SK.dos_parproj_basis()" module in :ref:`analysis`. The "pdos" flag when "True" enables the partial dos of each lm value to be calculated. It should be noted that these band characters are in Elk's irreducible lm basis and as such, the user has to check the irreducible representation used in Elk. This information can be found in the file ELMIREP.OUT after running task 10 (the DOS calculating task). The "nk" flag enables the calculation of the occupied spectral funciton. Here, nk needs to be the occupation density matrix (calculated from integrating the Green's function on the Matsubara axis) in the Bloch basis. This input needs to be in the same format as the occupation density matrix "deltaN" calculated in the sumk_DFT.calc_density_correction(dm_type='elk') module. - - -Spectral function Contour Plots (Fermi Surfaces) from Elk inputs ------------------------------------------------------------------ - -Here, we will discuss how to plot the Fermi surface contour or any other non-zero omega spectral function contour plot. This is currently tailored for the Elk inputs. From this point, we will refer to these contours as Fermi surfaces. The energy eigenvalues, projectors and so on required for the Fermi surface plot needs to be outputed from Elk. This is done by using:: +Here, we will discuss how to plot the Fermi surface contour or any other non-zero omega spectral function contour plot. The energy eigenvalues, projectors and so on required for the contour plot needs to be outputed from Elk. This is done by using:: task 807 -in Elk, but unlike the previous Elk interface tasks, the k-mesh grid needs to be specified. This is done like using the same inputs as the Fermi surface calculations in Elk. In Elk, The user needs to specify the "plot3d" input flag used to generate the k-mesh which the interface variables are evaluated on. A simple example is for SrVO3 where plot3d would look something like:: +in Elk, but unlike the previous Elk interface tasks, the k-mesh grid needs to be specified. This is done by using the same inputs as the Fermi surface calculations in Elk. In Elk, The user needs to specify the "plot3d" input flag used to generate the k-mesh which the interface variables are evaluated on. A simple example is for SrVO3 where plot3d would look something like:: plot3d 0.0 0.0 0.0 !1) origin @@ -151,12 +131,12 @@ in Elk, but unlike the previous Elk interface tasks, the k-mesh grid needs to be 0.0 0.0 1.0 !4) vertex 3 32 32 32 !5) k-mesh grid size -Lines 1) to 4) specifies the corners (in lattice coordinates) of the k-grid box and line 5) is the grid size in each direction (see the Elk manual). If the user desires to plot a 2D plane, then the user should define the plane using lines 2) and 3) [relative to line 1)] and define line 4) to be the cross-product of lines 2) and 3) [i.e. the vector in line 4) is normal to the 2D plane]. The outputs will be in terms of the k-dependent quantities in the irreducible Brillouin zone (IBZ). The files needed for the interface are: +Lines 1) to 4) specifies the corners (in lattice coordinates) of the k-grid box and line 5) is the grid size in each direction (see the Elk manual). If the user desires to plot a 2D plane, then the user should define the plane using lines 2) and 3) [relative to line 1)] and define line 4) to be the cross-product of lines 2) and 3) [i.e. the vector in line 4) is normal to the 2D plane]. The outputs will be in terms of the k-dependent quantities in the irreducible Brillouin zone (IBZ). The files needed for this converter routine are: -#. EIGVAL_FS.OUT - same as EIGVAL.OUT but the output is of the Fermi surface calculation. -#. KPOINT_FS.OUT - same as KPOINT.OUT but the output is of the Fermi surface calculation. -#. PROJ_FS.OUT - same as PROJ.OUT but the output is of the Fermi surface calculation. -#. WANPROJ_L**_S**_A****_FS.OUT - same as WANPROJ_L**_S**_A****.OUT but the output is of the Fermi surface calculation. +#. EIGVAL_FS.OUT - same as EIGVAL.OUT but with the corresponding plot3d user defined k-mesh instead. +#. KPOINT_FS.OUT - same as KPOINT.OUT but with the corresponding plot3d user defined k-mesh instead. +#. PROJ_FS.OUT - same as PROJ.OUT but with the corresponding plot3d user defined k-mesh instead. +#. WANPROJ_L**_S**_A****_FS.OUT - same as WANPROJ_L**_S**_A****.OUT but with the corresponding plot3d user defined k-mesh instead. #. EFERMI.OUT - contains the Fermi energy. #. SYMCRYS.OUT - has the crystal symmetries used for symmetries observables. #. LATTICE.OUT - has lattice-Cartesian basis transformation matrices. @@ -167,26 +147,17 @@ These outputs are converted to the HDF5 file by:: from triqs_dft_tools.converters.elk import * Converter = ElkConverter(filename=filename, repacking=True) - Converter.convert_fs_input() + Converter.convert_contours_input(kgrid,ngrid) -The spectral function for the Fermi surface plots are calculated with:: - - SK.fs_plot(broadening=0.0, mesh=None, FS=True, plane=True, sym=True, orthvec=None, with_Sigma=True, with_dc=True) - -The new flags specify the following: - -#. "FS" - determines whether the output will be the Fermi surface and uses the closest omega value to 0.0 in the mesh. -#. "plane" - required to specify whether the Elk input parameters were generated on a k-mesh plane. -#. "sym" - needed if the IBZ will be folded out by using symmetry operations. -#. "orthvec" - (numpy array of length 3) needs to be specified if using "plane" as this input is the orthonormal vector to the 2D plane required for the folding out process. - -To give the user a range of output capabilities, This routine can be used in the following ways: - -#. If using "with_Sigma", the mesh will be the same as the self-energy. However, by setting FS=False, the user can input a mesh option if they desire the "Fermi surface" plots for each omega value (commensurate with the self-energy mesh) within the input range. - -#. If the user is generating the DFT Spectral function plot (i.e. with_Sigma and with_dc both set to False), a mesh needs to be specified if FS=False. This function will output the spectral functions for the input mesh. Otherwise if FS is True, this would return the spectral function at omega=0.0. - -The output files will have the form of "Akw_FS_X.dat" (X being either up, down or ud) if FS=True or "Akw_X_omega_Y.dat" (Y being the omega mesh index) otherwise. The latter file will have the omega values within the file (the fourth column). The first three columns of both output file types specifies the cartesian lattice vector (kx, ky, kz) and the last column is the spectral function values. +The kgrid and ngrid are user-defined numpy array inputs containing the plot3d inputs described above. +These inputs are needed to generate the reciprocal lattice coordinates for the output files. +The default for both of these variables is None, which in this case the converter automatically generates the +full Brillouin zone by applying all of the symmetry operators to the read IBZ coordinates. However, +if the plot3d input is a k-mesh not centered around the origin and/or a k-mesh which only requires +a subset of the symmetry operators (say a 2D k-mesh) then the plot3d input needs to be an input to +the converter. Here, kgrid would be a double numpy array of size (4,3) specifying the k-mesh corner, +i.e, which contains lines 1) to 4) of the plot3d input described. The ngrid is an integer numpy +array of size (3) containing the k-mesh grid size - line 5) in plot3d input above. DFT+DMFT wavefunction dependent quantities diff --git a/doc/guide/dftdmft_selfcons.rst b/doc/guide/dftdmft_selfcons.rst index 2244aff3..91c4ae54 100644 --- a/doc/guide/dftdmft_selfcons.rst +++ b/doc/guide/dftdmft_selfcons.rst @@ -20,8 +20,7 @@ Wien2k + dmftproj construct the Wannier functions. For this step, see either sections :ref:`conversion`, or the extensive :download:`dmftproj manual`. -In the following, we discuss how to use the -:ref:`TRIQS ` tools in combination with the Wien2k program. +In the following, we discuss how to use `TRIQS `_ in combination with the Wien2k program. We can use the DMFT script as introduced in section :ref:`singleshot`, with just a few simple modifications. First, in order to be compatible with the Wien2k standards, @@ -136,8 +135,8 @@ removed. The shell script, in turn, waits for the VASP process and once the lock file is created it starts a DMFT iteration. The DMFT iteration must finish by generating a Kohn-Sham (KS) density matrix (file `GAMMA`) and removing the lock file. The VASP process then reads in `GAMMA` -and proceeds with the next iteration. PLOVasp interface provides a shell-script :program:`vasp_dmft` (in the triqs bin directory): -:: +and proceeds with the next iteration. PLOVasp interface provides a shell-script :program:`vasp_dmft` (in the triqs bin directory):: + vasp_dmft [-n ] -i -j [-v ] [-p ] [] If the number of cores is not specified it is set to 1 by default. diff --git a/doc/guide/images_scripts/DFT_Tools_SVO_DFT_DOS.png b/doc/guide/images_scripts/DFT_Tools_SVO_DFT_DOS.png new file mode 100644 index 00000000..ec38316f Binary files /dev/null and b/doc/guide/images_scripts/DFT_Tools_SVO_DFT_DOS.png differ diff --git a/doc/guide/images_scripts/DFT_Tools_SVO_DFT_energy_contours.png b/doc/guide/images_scripts/DFT_Tools_SVO_DFT_energy_contours.png new file mode 100644 index 00000000..423c235e Binary files /dev/null and b/doc/guide/images_scripts/DFT_Tools_SVO_DFT_energy_contours.png differ diff --git a/doc/guide/images_scripts/DFT_Tools_SVO_DFT_spaghettis.png b/doc/guide/images_scripts/DFT_Tools_SVO_DFT_spaghettis.png new file mode 100644 index 00000000..b710369c Binary files /dev/null and b/doc/guide/images_scripts/DFT_Tools_SVO_DFT_spaghettis.png differ diff --git a/doc/guide/transport.rst b/doc/guide/transport.rst index 4df6b838..35cb1221 100644 --- a/doc/guide/transport.rst +++ b/doc/guide/transport.rst @@ -168,7 +168,7 @@ Example ------- Here we present an example calculation of the DFT optical conductivity of SrVO3 comparing the results from the Elk and Wien2k inputs. The DFT codes used 4495 k-points in the -irreducible Brillouin zone with Wanner projectors generated within a correlated energy window of [-8, 7.5] eV. We assume that the required DFT files have been read and saved by the TRIQS +irreducible Brillouin zone with Wannier projectors generated within a correlated energy window of [-8, 7.5] eV. We assume that the required DFT files have been read and saved by the TRIQS interface routines as discussed previously. Below is an example script to generate the conductivities:: from sumk_dft_tools import * diff --git a/doc/tutorials/ce-gamma-fscs_wien2k.rst b/doc/tutorials/ce-gamma-fscs_wien2k.rst index cd21ecb3..6cd27640 100644 --- a/doc/tutorials/ce-gamma-fscs_wien2k.rst +++ b/doc/tutorials/ce-gamma-fscs_wien2k.rst @@ -226,7 +226,7 @@ self energy on the real axis:: put it into SK class and then calculated the actual DOS:: - SK.dos_parproj_basis(broadening=broadening) + SK.density_of_states(broadening, proj_type="wien2k") We may first increase the number of **k**-points in BZ to 10000 by executing the Wien2k program :program:`kgen` :: diff --git a/doc/tutorials/images_scripts/maxent.py b/doc/tutorials/images_scripts/maxent.py index e6f15cfa..00f2ac49 100644 --- a/doc/tutorials/images_scripts/maxent.py +++ b/doc/tutorials/images_scripts/maxent.py @@ -28,7 +28,7 @@ for orb in orbs: for iO in orb: gf = gf + G_latt['up'][iO,iO] tm.set_G_iw(gf) - tm.omega =LinearOmegaMesh(w_min=-20, w_max=20, n_points=201) + tm.omega =LinearOmegaMesh(omega_min=-20, omega_max=20, n_points=201) tm.alpha_mesh = LogAlphaMesh(alpha_min=0.01, alpha_max=20000, n_points=60) tm.set_error(1.e-3) diff --git a/python/triqs_dft_tools/converters/elk.py b/python/triqs_dft_tools/converters/elk.py index 4efe812c..082c5477 100644 --- a/python/triqs_dft_tools/converters/elk.py +++ b/python/triqs_dft_tools/converters/elk.py @@ -41,7 +41,7 @@ class ElkConverter(ConverterTools,Elk_tools,read_Elk): dft_subgrp='dft_input', symmcorr_subgrp='dft_symmcorr_input', bc_subgrp='dft_bandchar_input', symmpar_subgrp='dft_symmpar_input', bands_subgrp='dft_bands_input', misc_subgrp='dft_misc_input', - transp_subgrp='dft_transp_input',fs_subgrp='dft_fs_input', + transp_subgrp='dft_transp_input',cont_subgrp='dft_contours_input', repacking=False): """ Initialise the class. @@ -88,7 +88,7 @@ class ElkConverter(ConverterTools,Elk_tools,read_Elk): self.bands_subgrp = bands_subgrp self.misc_subgrp = misc_subgrp self.transp_subgrp = transp_subgrp - self.fs_subgrp = fs_subgrp + self.cont_subgrp = cont_subgrp self.fortran_to_replace = {'D': 'E'} # Checks if h5 file is there and repacks it if wanted: @@ -512,17 +512,63 @@ class ElkConverter(ConverterTools,Elk_tools,read_Elk): del ar mpi.report('Converted the band data') - def convert_fs_input(self): + def convert_contours_input(self,kgrid=None,ngrid=None): """ - Reads the appropriate files and stores the data for the FS_subgrp in the hdf5 archive. + Reads the appropriate files and stores the data for the cont_subgrp in the hdf5 archive. + Parameters: + kgrid : size (4,3) double numpy array, optional + Numpy array defining the reciprocal lattice vertices used in the Elk Fermi + surface calculation. Each row has the following meaning: + grid3d[0,:] - origin lattice vertex + grid3d[1,:] - b1 lattice vertex + grid3d[2,:] - b2 lattice vertex + grid3d[3,:] - b3 lattice vertex + ngrid : size (3) integer numpy array, optional + Numpy array for the number of points along each (b1,b2,b3) lattice vertices + + Note that these inputs relate to the plot3d input of Elk. """ - # Read and write only on the master node + if not (mpi.is_master_node()): return filext='_FS.OUT' dft_file='PROJ'+filext mpi.report("Reading %s" % dft_file) + #read the symmetries and k-points first + #read kpoints calculated in the Elk FS calculation + mpi.report("Reading KPOINT_FS.OUT") + [bz_weights,vkl]=read_Elk.read_kpoints(self,filext=filext) + n_k=vkl[:,0].size + #Need lattice symmetries to unfold the irreducible BZ + #Read symmetry files + mpi.report("Reading SYMCRYS.OUT") + [n_symm,spinmat,symlat,tr] = read_Elk.readsym(self) + #generate full vectors for Fermi surface plotting along with index mapping + #to irreducible vector set. + if (ngrid is not None and kgrid is not None): + mpi.report('Using User defined k-mesh') + #check variables are in correct format + if ngrid.size != 3: + assert 0, "The input numpy ngrid is not the required size of 3!" + elif ngrid.dtype != int: + assert 0, "The input numpy ngrid is not an array of integers." + elif kgrid.shape != (4,3): + assert 0, "The input numpy kgrid is not the required size of (4x3)!" + #generate full set of k-points with mapping to reduced set + [BZ_vkl, BZ_iknr, BZ_n_k] = Elk_tools.plotpt3d(self,n_k,vkl,n_symm,symlat,kgrid,ngrid) + elif (ngrid is None and kgrid is None): + mpi.report('No grid dimension input for Fermi surface.') + mpi.report('Calculating k-points by folding out irreducible vectors instead if using symmetries.') + mpi.report('Warning! This may not equate to the same set of vectors used to generate the Fermi surface data.') + [BZ_vkl, BZ_iknr, BZ_n_k] = Elk_tools.bzfoldout(self,n_k,vkl,n_symm,symlat) + else: + assert 0, "Either input both ngrid and kgrid numpy arrays or neither." + #return all threads apart from master + if not (mpi.is_master_node()): + return + + # Read and write the following only on the master thread #Energy conversion - Elk uses Hartrees energy_unit = 27.2113850560 # Elk uses hartrees shells=[] @@ -546,9 +592,6 @@ class ElkConverter(ConverterTools,Elk_tools,read_Elk): #read in the eigenvalues used for the FS calculation mpi.report("Reading EIGVAL_FS.OUT and EFERMI.OUT") [en,occ,nstsv]=read_Elk.read_eig(self,filext=filext) - #read kpoints calculated in the Elk FS calculation - mpi.report("Reading KPOINT_FS.OUT") - [bz_weights,vkl]=read_Elk.read_kpoints(self,filext=filext) #read projectors proj_mat = numpy.zeros([n_k, n_spin_blocs, n_corr_shells, max([crsh['dim'] for crsh in corr_shells]), nstsv], complex) @@ -556,19 +599,15 @@ class ElkConverter(ConverterTools,Elk_tools,read_Elk): for ish in range(n_corr_shells): [n_orbitals,band_window,rep,proj_mat]=read_Elk.read_projector(self,corr_shells,n_spin_blocs,ish,proj_mat,ind,T,basis,filext) - #Need lattice symmetries to unfold the irreducible BZ - #Read symmetry files - mpi.report("Reading SYMCRYS.OUT") - [n_symm,spinmat,symlat,tr] = read_Elk.readsym(self) mpi.report("Reading LATTICE.OUT") - [amat,amatinv,bmat,bmatinv] = read_Elk.readlat(self) + [amat,amatinv,bmat,bmatinv,cell_vol] = read_Elk.readlat(self) #Put eigenvalues into array of eigenvalues for the correlated window #alter arrays for spin-orbit coupling if(SO==1): mat=[] su2=[] [shells,corr_shells,dim_reps,n_orbitals,proj_mat,T,mat]=self.update_so_quatities(n_shells,shells,n_corr_shells,corr_shells,n_inequiv_shells,dim_reps,n_k,n_symm,n_orbitals,proj_mat,T,su2,mat,sym=False) - #reduce n_spin_blocs + #reduce n_spin_blocs n_spin_blocs = SP + 1 - SO #put the energy eigenvalues arrays in TRIQS format @@ -576,79 +615,133 @@ class ElkConverter(ConverterTools,Elk_tools,read_Elk): # Save it to the HDF: ar = HDFArchive(self.hdf_file, 'a') - if not (self.fs_subgrp in ar): - ar.create_group(self.fs_subgrp) + if not (self.cont_subgrp in ar): + ar.create_group(self.cont_subgrp) # The subgroup containing the data. If it does not exist, it is # created. If it exists, the data is overwritten! - things_to_save = ['n_k', 'n_orbitals', 'proj_mat','bmat', - 'hopping', 'vkl','symlat', 'n_symm'] + things_to_save = ['n_k','n_orbitals', 'proj_mat','bmat', + 'BZ_n_k','BZ_iknr','BZ_vkl','hopping'] for it in things_to_save: - ar[self.fs_subgrp][it] = locals()[it] + ar[self.cont_subgrp][it] = locals()[it] del ar - mpi.report('Converted the FS data') + mpi.report('Converted the Contours data') - def dft_band_characters(self): - """ - Reads in the band characters generated in Elk to be used for - PDOS and band character band structure plots. - """ +# commented out for now - unsure using this produces DFT+DMFT PDOS. +# The data from BC.OUT are the band-resolved diagonal muffin-tin DFT density matrix elements used in Elk to calculate PDOS +# (the PDOS is calculated from the Trace over the bands indices). Although this is equivalent to using using projectors in DFT and is likely valid for DFT+DMFT, +# the equivalence needs to be thoroughly checked for DFT+DMFT, but would require theta (or similar) projectors from Elk to do so. +# code left here just in case. + +# def dft_band_characters(self): +# """ +# Reads in the band-resolved muffin-tin density matrix (band characters) generated in Elk +# to be used for PDOS plots. +# """ - if not (mpi.is_master_node()): - return - mpi.report("Reading BC.OUT") +# #determine file extension +# fileext='.OUT' +# #read number of k-points and eigenstates +# things_to_read = ['n_k','n_orbitals'] +# ar = HDFArchive(self.hdf_file, 'r') +# for it in things_to_read: +# setattr(self, it, ar[self.dft_subgrp][it]) +# del ar - # get needed data from hdf file - # from general info - ar = HDFArchive(self.hdf_file, 'a') - things_to_read = ['SP', 'SO','n_k','n_orbitals'] - for it in things_to_read: - if not hasattr(self, it): - setattr(self, it, ar[self.dft_subgrp][it]) - #from misc info - things_to_read = ['nstsv','band_window'] - for it in things_to_read: - if not hasattr(self, it): - setattr(self, it, ar[self.misc_subgrp][it]) - #from sym info - things_to_read = ['n_atoms'] - symm_subgrp=self.symmcorr_subgrp - for it in things_to_read: - if not hasattr(self, it): - setattr(self, it, ar[symm_subgrp][it]) +# if not (mpi.is_master_node()): +# return +# mpi.report("Reading BC%s"%(fileext)) - #read in band characters - [bc,maxlm] = read_Elk.read_bc(self) - #set up SO bc array - if (self.SO): - tmp = numpy.zeros([2*maxlm,1,self.n_atoms,self.nstsv,self.n_k], float) - #put both spinors into the lm array indices. - tmp[0:maxlm,0,:,:,:]=bc[0:maxlm,0,:,:,:] - tmp[maxlm:2*maxlm,0,:,:,:]=bc[0:maxlm,1,:,:,:] - maxlm=2*maxlm - del bc - bc = tmp - del tmp +# # get needed data from hdf file +# # from general info +# ar = HDFArchive(self.hdf_file, 'a') +# things_to_read = ['SP', 'SO'] +# for it in things_to_read: +# if not hasattr(self, it): +# setattr(self, it, ar[self.dft_subgrp][it]) +# #from misc info +# things_to_read = ['nstsv','band_window'] +# for it in things_to_read: +# if not hasattr(self, it): +# setattr(self, it, ar[self.misc_subgrp][it]) +# #from sym info +# things_to_read = ['n_atoms','perm'] +# symm_subgrp=self.symmcorr_subgrp +# for it in things_to_read: +# if not hasattr(self, it): +# setattr(self, it, ar[symm_subgrp][it]) +# del ar - #reduce bc matrix to band states stored in hdf file - n_spin_blocs=self.SP+1-self.SO - tmp = numpy.zeros([maxlm,n_spin_blocs,self.n_atoms,numpy.max(self.n_orbitals),self.n_k], float) - for ik in range(self.n_k): - for isp in range(n_spin_blocs): - nst=self.n_orbitals[ik,isp] - ibot=self.band_window[isp][ik, 0]-1 - itop=ibot+nst - tmp[:,isp,:,0:nst,ik]=bc[:,isp,:,ibot:itop,ik] - del bc - bc = tmp - del tmp +# #read in band characters +# [bc,maxlm] = read_Elk.read_bc(self,fileext) + #note that bc is the band resolved inner product of the Elk muffin-tin wave functions in + #a diagonal lm basis (by default). These are used in Elk to calculate the DOS in a diagonal + #irreducible lm basis. This band resolved density matrix in the lm basis will be used + #to project to spectral funtion to get the muffin-tin contributions. There will be an + #interstitial contribution (as Elk uses an APW+lo basis) which is the difference between + #the total and summed muffin-tin contributions. Also note that the bc array should be + #symmetrised within Elk. + #general variables +# lmax = int(numpy.sqrt(maxlm)-1) +# n_spin_blocs = self.SP + 1 - self.SO +# so = self.SO + 1 +# #get the sort entry which is just the species index for Elk +# [ns, na, atpos]=read_Elk.read_geometry(self) +# isrt=0 +# sort=numpy.zeros([self.n_atoms],int) +# #arrange sort(species) order +# for i in range(ns): +# for ia in range(na[i]): +# sort[isrt]=i +# isrt+=1 +# #updating n_shells to include all the atoms and l used in the Elk calculation. +# n_shells = self.n_atoms * (lmax+1) +# shells = [] +# shell_entries = ['atom', 'sort', 'l', 'dim'] +# for iat in range(self.n_atoms): +# for l in range(lmax+1): +# #sort is not known from Elk outputs +# tmp = [iat+1, sort[iat]+1, l, so*(2*l+1)] +# shells.append({name: int(val) for name, val in zip(shell_entries, tmp)}) +# del tmp, ns, na, atpos, isrt, shell_entries +# #overwrite n_shells and shells +# things_to_save = ['n_shells', 'shells'] +# ar = HDFArchive(self.hdf_file, 'a') +# for it in things_to_save: +# ar[self.dft_subgrp][it] = locals()[it] - things_to_save = ['maxlm', 'bc'] - if not (self.bc_subgrp in ar): - ar.create_group(self.bc_subgrp) - for it in things_to_save: - ar[self.bc_subgrp][it] = locals()[it] - del ar - mpi.report('Converted the band character data') + +# # Initialise P, here a double list of matrices: +# band_dens_muffin = numpy.zeros([self.n_k, n_spin_blocs, n_shells, so*(2*lmax+1), numpy.max(self.n_orbitals)], float) +# for ik in range(self.n_k): +# for isp in range(n_spin_blocs): +# ish=0 +# for iat in range(self.n_atoms): +# for l in range(lmax+1): +# #variables for putting subset of bc in proj_mat_all +# lm_min=l**2 +# lm_max=(l+1)**2 +# nst=self.n_orbitals[ik,isp] +# ibot=self.band_window[isp][ik, 0]-1 +# itop=ibot+nst +# dim=l*2+1 + #check use of abs (negative values should be close to 0) +# band_dens_muffin[ik,isp,ish,0:dim,0:nst] = \ +# bc[lm_min:lm_max,isp,iat,ibot:itop,ik] +# if(self.SO==1): +# band_dens_muffin[ik,isp,ish,dim:2*dim,0:nst] = \ +# bc[lm_min:lm_max,1,iat,ibot:itop,ik] +# ish+=1 + +# things_to_save = ['band_dens_muffin'] +# # Save it all to the HDF: +# with HDFArchive(self.hdf_file, 'a') as ar: +# if not (self.bc_subgrp in ar): +# ar.create_group(self.bc_subgrp) +# # The subgroup containing the data. If it does not exist, it is +# # created. If it exists, the data is overwritten! +# things_to_save = ['band_dens_muffin'] +# for it in things_to_save: +# ar[self.bc_subgrp][it] = locals()[it] def convert_transport_input(self): diff --git a/python/triqs_dft_tools/converters/elktools/elk_converter_tools.py b/python/triqs_dft_tools/converters/elktools/elk_converter_tools.py index 97d509b9..91bf92af 100644 --- a/python/triqs_dft_tools/converters/elktools/elk_converter_tools.py +++ b/python/triqs_dft_tools/converters/elktools/elk_converter_tools.py @@ -295,4 +295,98 @@ class ElkConverterTools: dy[m1+l,m2+l]=t1*sm #return y-rotation matrix return dy + + def plotpt3d(self,n_k,vkl,n_symm,symlat,grid3d,ngrid): + import triqs.utility.mpi as mpi + #import time + #st = time.time() + #default vector tolerance used in Elk. This should not be altered. + epslat=1E-6 + tol=int(numpy.log10(1/epslat)) + b = numpy.zeros([3,3], float) + b = grid3d[1:4,:] - grid3d[0,:] + nk = ngrid[0]*ngrid[1]*ngrid[2] + BZvkl = numpy.zeros([nk,3], float) + BZvkl[:,:] = None + #array which maps the new vkl to the symmetrically equivalent interface vkl + iknr = numpy.zeros([nk], int) + nk_ = 0 + vklIBZ = [self.v3frac(vkl[ik,:],epslat) for ik in range(n_k)] + vklIBZ = numpy.array(vklIBZ) + + #generate mesh grid + i0, i1, i2 = numpy.meshgrid(numpy.arange(ngrid[0]), numpy.arange(ngrid[1]), + numpy.arange(ngrid[2]), indexing='ij') + #convert to floats + t0 = i0.astype(float)/ngrid[0] + t1 = i1.astype(float)/ngrid[1] + t2 = i2.astype(float)/ngrid[2] + #Calculate Brillouin zone lattice vectors + BZvkl[:, 0] = (t0*b[0,0]+t1*b[1, 0]+t2*b[2, 0]+grid3d[0, 0]).flatten() + BZvkl[:, 1] = (t0*b[0,1]+t1*b[1, 1]+t2*b[2, 1]+grid3d[0, 1]).flatten() + BZvkl[:, 2] = (t0*b[0,2]+t1*b[1, 2]+t2*b[2, 2]+grid3d[0, 2]).flatten() + #check k-point has equivalent point dft-interfaced k-point list (this is a bottle neck for performance) + for ik in range(nk): + br = None + v1 = self.v3frac(BZvkl[ik,:], epslat) + #see if v1 is symmetrically equivalent to a vector in IBZvkl + for isym in range(n_symm): + v_symm=numpy.matmul(symlat[isym][:,:].transpose(),v1) + v_symm=self.v3frac(v_symm,epslat) + if v_symm.round(tol).tolist() in vklIBZ.round(tol).tolist(): + iknr[ik] = vkl.round(tol).tolist().index(v_symm.round(tol).tolist()) + #if identity symmetry operation was used, this v1 must be in the IBZ vector set + if numpy.allclose(symlat[isym][:,:],numpy.eye(3)): + nk_+=1 + br = 1 + break + if br == 1: continue + #if v1 is not symmetrically equivalent, then wrong input mesh. + mpi.report('No identity symmetry operator or symmetrically equivalent vector in interface vkl set') + assert 0, "input grid does not generate interfaced reciprocal vectors" + + #check that all the vectors from the interface are in this list of vectors + if(nk_!=n_k): + mpi.report('Incorrect number of irreducible vectors with respect to vkl ') + mpi.report('%s!=%s'%(nk_,n_k)) + assert 0, "input grid does not generate interfaced reciprocal vectors" + #et = time.time() + #mpi.report(et-st,nk) + return BZvkl, iknr, nk + + def bzfoldout(self,n_k,vkl,n_symm,symlat): + #import triqs.utility.mpi as mpi + epslat=1E-6 + tol=int(numpy.log10(1/epslat)) + #new temporary arrays for expanding irreducible Brillouin zone + iknr = numpy.arange(n_k) + BZvkl = vkl.copy() + vkl2 = numpy.zeros([n_symm,n_k,3], float) + iknr2 = numpy.zeros([n_symm,n_k], int) + vkl2[0,:,:] = vkl[:,:].copy() + iknr2[0,:] = iknr[:].copy() + #expand irreducible Brillouin zone + for ik in range(n_k): + for isym in range(n_symm): + #find point in BZ by symmetry operation + v=numpy.matmul(symlat[isym][:,:].transpose(),vkl[ik,:]) + #alter temporary arrays + vkl2[isym,ik,:] = v[:] + iknr2[isym,ik] = ik + #flatten arrays + BZvkl = vkl2.reshape(n_k*n_symm,3) + iknr = iknr2.reshape(n_k*n_symm) + #remove duplicates with eplats tolerance + [BZvkl,ind]=numpy.unique(BZvkl.round(tol),return_index=True,axis=0) + iknr=iknr[ind] + #new number of k-points + nk=BZvkl.shape[0] + #sort the indices for output in decending order + iksrt=numpy.lexsort(([BZvkl[:,i] for i in range(0,BZvkl.shape[1], 1)])) + #rearrange the vkc and iknr arrays + BZvkl=BZvkl[iksrt] + iknr=iknr[iksrt] + #return new set of lattice vectors, number of vectors and index array which + #maps to original irreducible vector set. + return BZvkl, iknr, nk diff --git a/python/triqs_dft_tools/converters/elktools/elkwrappers/CMakeLists.txt b/python/triqs_dft_tools/converters/elktools/elkwrappers/CMakeLists.txt index c323d191..abbd3203 100644 --- a/python/triqs_dft_tools/converters/elktools/elkwrappers/CMakeLists.txt +++ b/python/triqs_dft_tools/converters/elktools/elkwrappers/CMakeLists.txt @@ -21,9 +21,6 @@ install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} DESTINATION ${TRIQS_PYTHON_LIB_DEST_ROOT}/${PROJECT_NAME}/converters/elktools FILES_MATCHING PATTERN "*.so" PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE PATTERN "CMakeFiles" EXCLUDE) -message(STATUS "foo include dir: ${CMAKE_CURRENT_BINARY_DIR}") -message(STATUS "foo include dir: ${CMAKE_BINARY_DIR}") -message(STATUS "foo include dir: ${TRIQS_PYTHON_LIB_DEST_ROOT}/${PROJECT_NAME}") # user warning message(STATUS "-----------------------------------------------------------------------------") diff --git a/python/triqs_dft_tools/converters/elktools/readElkfiles.py b/python/triqs_dft_tools/converters/elktools/readElkfiles.py index 83970b0d..efc8216c 100644 --- a/python/triqs_dft_tools/converters/elktools/readElkfiles.py +++ b/python/triqs_dft_tools/converters/elktools/readElkfiles.py @@ -621,67 +621,68 @@ class readElkfiles: R.close() return ns, na, atpos -#band character dependent calculations - def read_bc(self): - """ - Read in the ELK generated band characters from BC.OUT - """ +#commented out for now - unsure this will produce DFT+DMFT PDOS +##band character dependent calculations +# def read_bc(self,fileext): +# """ +# Read in the ELK generated band characters from BC.OUT +# """ - #import string - file = 'BC.OUT' - R = self.read_elk_file(file, self.fortran_to_replace) - try: - #no. of kpts and number of orbital - gen_entries = ['maxlm', 'nspinor','natmtot','nstsv','nkpt','irep'] - gen = {name: int(val) for name, val in zip(gen_entries, R)} - #projector lm size - #check the read in information complies with previous read in data - nspinor=self.SP+1 - if(gen['nspinor'] != nspinor): - mpi.report('HDF file nspinor = %s'%nspinor) - mpi.report('BC.OUT nspinor = %s'%gen['nspinor']) - raise IOError("Elk_converter (",file,") : reading nspinor failed!") - return - if(gen['natmtot'] != self.n_atoms): - raise IOError("Elk_converter (",file,") : reading no. of atoms failed!") - return - if(gen['nstsv'] != self.nstsv): - raise IOError("Elk_converter (",file,") : reading all states failed!") - return - if(gen['nkpt'] != self.n_k): - raise IOError("Elk_converter (",file,") : reading kpoints failed failed!") - return - if(gen['irep'] == 0): - raise IOError("Elk_converter (",file,") : Band characters are in spherical hamonics, may have issues with the PDOS!") - return +# #import string +# file = 'BC'+fileext +# R = self.read_elk_file(file, self.fortran_to_replace) +# try: +# #no. of kpts and number of orbital +# gen_entries = ['maxlm', 'nspinor','natmtot','nstsv','nkpt','irep'] +# gen = {name: int(val) for name, val in zip(gen_entries, R)} +# #projector lm size +# #check the read in information complies with previous read in data +# nspinor=self.SP+1 +# if(gen['nspinor'] != nspinor): +# mpi.report('HDF file nspinor = %s'%nspinor) +# mpi.report('BC.OUT nspinor = %s'%gen['nspinor']) +# raise IOError("Elk_converter (",file,") : reading nspinor failed!") +# return +# if(gen['natmtot'] != self.n_atoms): +# raise IOError("Elk_converter (",file,") : reading no. of atoms failed!") +# return +# if(gen['nstsv'] != self.nstsv): +# raise IOError("Elk_converter (",file,") : reading all states failed!") +# return +# if(gen['nkpt'] != self.n_k): +# raise IOError("Elk_converter (",file,") : reading kpoints failed failed!") +# return +# if(gen['irep'] == 0): +# raise IOError("Elk_converter (",file,") : Band characters are in spherical hamonics, may have issues with the PDOS!") +# return - dim=gen['maxlm'] - lmax=numpy.sqrt(dim)-1 - bc = numpy.zeros([dim,nspinor,self.n_atoms,self.nstsv,self.n_k], float) +# dim=gen['maxlm'] +# lmax=numpy.sqrt(dim)-1 +# bc = numpy.zeros([dim,nspinor,self.n_atoms,self.nstsv,self.n_k], float) - for ik in range(0,self.n_k): - for iatom in range(0,self.n_atoms): - for ispn in range(0,nspinor): - entry = ['ispn','ias','is','ia','ik'] - ent = {name: int(val) for name, val in zip(entry, R)} - #k-point index and correlated band window indices - #check read in values - if(ent['ispn'] != ispn+1): - raise IOError("Elk_converter (",file,") : reading ispn failed!") - return - if(ent['ias'] != iatom+1): - raise IOError("Elk_converter (",file,") : reading iatom failed!") - return - if(ent['ik'] != ik+1): - raise IOError("Elk_converter (",file,") : reading ik failed!") - return +# for ik in range(0,self.n_k): +# for iatom in range(0,self.n_atoms): +# for ispn in range(0,nspinor): +# entry = ['ispn','ias','is','ia','ik'] +# ent = {name: int(val) for name, val in zip(entry, R)} +# #k-point index and correlated band window indices +# #check read in values +# if(ent['ispn'] != ispn+1): +# raise IOError("Elk_converter (",file,") : reading ispn failed!") +# return +# if(ent['ias'] != iatom+1): +# raise IOError("Elk_converter (",file,") : reading iatom failed!") +# return +# if(ent['ik'] != ik+1): +# raise IOError("Elk_converter (",file,") : reading ik failed!") +# return - for ist in range(self.nstsv): - for lm in range(dim): - bc[lm,ispn,iatom,ist,ik] = next(R) +# for ist in range(self.nstsv): +# for lm in range(dim): +# bc[lm,ispn,iatom,ist,ik] = next(R) - except StopIteration: # a more explicit error if the file is corrupted. - raise IOError("Elk_converter (read BC.OUT): reading file failed!") - R.close() - return(bc,dim) +# except StopIteration: # a more explicit error if the file is corrupted. +# raise IOError("Elk_converter (read BC.OUT): reading file failed!") +# R.close() +# return(bc,dim) diff --git a/python/triqs_dft_tools/sumk_dft.py b/python/triqs_dft_tools/sumk_dft.py index 42ea1abb..e2491477 100644 --- a/python/triqs_dft_tools/sumk_dft.py +++ b/python/triqs_dft_tools/sumk_dft.py @@ -46,7 +46,7 @@ class SumkDFT(object): def __init__(self, hdf_file, h_field=0.0, mesh=None, beta=40, n_iw=1025, use_dft_blocks=False, dft_data='dft_input', symmcorr_data='dft_symmcorr_input', parproj_data='dft_parproj_input', symmpar_data='dft_symmpar_input', bands_data='dft_bands_input', transp_data='dft_transp_input', - misc_data='dft_misc_input',bc_data='dft_bandchar_input',fs_data='dft_fs_input'): + misc_data='dft_misc_input',bc_data='dft_bandchar_input',cont_data='dft_contours_input'): r""" Initialises the class from data previously stored into an hdf5 archive. @@ -102,7 +102,7 @@ class SumkDFT(object): self.transp_data = transp_data self.misc_data = misc_data self.bc_data = bc_data - self.fs_data = fs_data + self.cont_data = cont_data self.h_field = h_field if mesh is None: @@ -534,7 +534,7 @@ class SumkDFT(object): if mesh is None: broadening = 0.01 else: # broadening = 2 * \Delta omega, where \Delta omega is the spacing of omega points - broadening = 2.0 * ((mesh[1] - mesh[0]) / (mesh[2] - 1)) + broadening = 2.0 * ((mesh.w_max - mesh.w_min) / (len(mesh) - 1)) # Check if G_latt is present set_up_G_latt = False # Assume not diff --git a/python/triqs_dft_tools/sumk_dft_tools.py b/python/triqs_dft_tools/sumk_dft_tools.py index 003e9279..a72f3a5a 100644 --- a/python/triqs_dft_tools/sumk_dft_tools.py +++ b/python/triqs_dft_tools/sumk_dft_tools.py @@ -43,7 +43,7 @@ class SumkDFTTools(SumkDFT): def __init__(self, hdf_file, h_field=0.0, mesh=None, beta=40, n_iw=1025, use_dft_blocks=False, dft_data='dft_input', symmcorr_data='dft_symmcorr_input', parproj_data='dft_parproj_input', symmpar_data='dft_symmpar_input', bands_data='dft_bands_input', - transp_data='dft_transp_input', misc_data='dft_misc_input'): + transp_data='dft_transp_input', misc_data='dft_misc_input', cont_data='dft_contours_input'): """ Initialisation of the class. Parameters are exactly as for SumKDFT. """ @@ -51,894 +51,897 @@ class SumkDFTTools(SumkDFT): SumkDFT.__init__(self, hdf_file=hdf_file, h_field=h_field, mesh=mesh, beta=beta, n_iw=n_iw, use_dft_blocks=use_dft_blocks, dft_data=dft_data, symmcorr_data=symmcorr_data, parproj_data=parproj_data, symmpar_data=symmpar_data, bands_data=bands_data, - transp_data=transp_data, misc_data=misc_data) + transp_data=transp_data, misc_data=misc_data, cont_data=cont_data) - # Uses .data of only GfReFreq objects. - def dos_wannier_basis(self, mu=None, broadening=None, mesh=None, with_Sigma=True, with_dc=True, save_to_file=True): + def density_of_states(self, mu=None, broadening=None, mesh=None, with_Sigma=True, with_dc=True, proj_type=None, dosocc=False, save_to_file=True): """ - Calculates the density of states in the basis of the Wannier functions. + Calculates the density of states and the projected density of states. + The basis of the projected density of states is specified by proj_type. + + The output files (if `save_to_file = True`) have two (three in the orbital-resolved case) columns representing the frequency and real part of the DOS (and imaginary part of the DOS) in that order. + + The output files are as follows: + + - DOS_(spn).dat, the total DOS. + - DOS_(proj_type)_(spn)_proj(i).dat, the DOS projected to an orbital with index i which refers to the index given in SK.shells (or SK.corr_shells for proj_type = "wann"). + - DOS_(proj_type)_(sp)_proj(i)_(m)_(n).dat, As above, but printed as orbitally-resolved matrix in indices "m" and "n". For example, for "d" orbitals, it gives the DOS separately for each orbital (e.g., `d_(xy)`, `d_(x^2-y^2)`, and so on). Parameters ---------- - mu : double, optional - Chemical potential, overrides the one stored in the hdf5 archive. - broadening : double, optional - Lorentzian broadening of the spectra. If not given, standard value of lattice_gf is used. - mesh : real frequency MeshType, optional - Omega mesh for the real-frequency Green's function. Given as parameter to lattice_gf. - with_Sigma : boolean, optional - If True, the self energy is used for the calculation. If false, the DOS is calculated without self energy. - with_dc : boolean, optional - If True the double counting correction is used. + mu : double, optional + Chemical potential, overrides the one stored in the hdf5 archive. + By default, this is automatically set to the chemical potential within the SK object. + broadening : double, optional + Lorentzian broadening of the spectra to avoid any numerical artifacts. + If not given, standard value of lattice_gf (0.001 eV) is used. + mesh : real frequency MeshType, optional + Omega mesh for the real-frequency Green's function. + Given as parameter to lattice_gf. + with_Sigma : boolean, optional + If True, the self energy is used for the calculation. + If false, the DOS is calculated without self energy. + Both with_Sigma and with_dc equal to True is needed for DFT+DMFT A(w) calculated. + Both with_Sigma and with_dc equal to false is needed for DFT A(w) calculated. + with_dc : boolean, optional + If True the double counting correction is used. + proj_type : string, optional + The type of projection used for the orbital-projected DOS. + These projected spectral functions will be determined alongside the total spectral function. + By default, no projected DOS type will be calculated (the corresponding projected arrays will be empty). + The following options are: + + 'None' - Only total DOS calculated + 'wann' - Wannier DOS calculated from the Wannier projectors + 'vasp' - Vasp orbital-projected DOS only from Vasp inputs + 'wien2k' - Wien2k orbital-projected DOS from the wien2k theta projectors + dosocc : boolean, optional + If True, the occupied DOS, DOSproj and DOSproj_orb will be returned. + The prerequisite of this option is to have calculated the band-resolved + density matrices generated by the occupations() routine. save_to_file : boolean, optional If True, text files with the calculated data will be created. Returns ------- - DOS : Dict of numpy arrays - Contains the full density of states. - DOSproj : Dict of numpy arrays - DOS projected to atoms. - DOSproj_orb : Dict of numpy arrays - DOS projected to atoms and resolved into orbital contributions. + DOS : Dict of numpy arrays + Contains the full density of states with the form of DOS[spn][n_om] where "spn" speficies the spin type of the calculation ("up", "down", or combined "ud" which relates to calculations with spin-orbit coupling) and "n_om" is the number of real frequencies as specified by the real frequency MeshType used in the calculation. This array gives the total density of states. + DOSproj : Dict of numpy arrays + DOS projected to atom (shell) with the form of DOSproj[n_shells][spn][n_om] where "n_shells" is the total number of correlated or uncorrelated shells (depending on the input "proj_type"). This array gives the trace of the orbital-projected density of states. Empty if proj_type = None + DOSproj_orb : Dict of numpy arrays + Orbital-projected DOS projected to atom (shell) and resolved into orbital contributions with the form of DOSproj_orb[n_shells][spn][n_om,dim,dim] where "dim" specifies the orbital dimension of the correlated/uncorrelated shell (depending on the input "proj_type"). + Empty if proj_type = None """ - if mesh is None or with_Sigma: - assert isinstance(self.mesh, MeshReFreq), "mesh must be given if self.mesh is a MeshImFreq" - om_mesh = [x.real for x in self.mesh] - om_min = om_mesh[0] - om_max = om_mesh[-1] - n_om = len(om_mesh) - mesh = (om_min, om_max, n_om) + + # Note the proj_type = 'elk' (- Elk orbital-projected DOS only from Elk inputs) is not included for now. + # Brief description to why can be found in the comment above the currently commented out dft_band_characters() routine + # in converters/elk.py. + # code left here just in case it will be reused. + if (proj_type != None): + # assert proj_type in ('wann', 'vasp','wien2k','elk'), "'proj_type' must be either 'wann', 'vasp', 'wien2k', or 'elk'" + assert proj_type in ('wann', 'vasp', 'wien2k', + ), "'proj_type' must be either 'wann', 'vasp', 'wien2k'" + if (proj_type != 'wann'): + assert proj_type == self.dft_code, "proj_type must be from the corresponding dft inputs." + + if (with_Sigma): + assert isinstance( + self.Sigma_imp[0].mesh, MeshReFreq), "SumkDFT.mesh must be real if with_Sigma is True" + mesh = self.Sigma_imp[0].mesh + elif mesh is not None: + assert isinstance(mesh, MeshReFreq), "mesh must be of form MeshReFreq" + if broadening is None: + broadening = 0.001 + elif self.mesh is not None: + assert isinstance(self.mesh, MeshReFreq), "self.mesh must be of form MeshReFreq" + mesh = self.mesh + if broadening is None: + broadening = 0.001 else: - om_min, om_max, n_om = mesh - om_mesh = numpy.linspace(om_min, om_max, n_om) + assert 0, "ReFreqMesh input required for calculations without real frequency self-energy" + mesh_val = numpy.linspace(mesh.w_min, mesh.w_max, len(mesh)) + n_om = len(mesh) + om_minplot = mesh_val[0] - 0.001 + om_maxplot = mesh_val[-1] + 0.001 - G_loc = [] - for icrsh in range(self.n_corr_shells): - spn = self.spin_block_names[self.corr_shells[icrsh]['SO']] - glist = [GfReFreq(target_shape=(block_dim, block_dim), window=(om_min, om_max), n_points=n_om) - for block, block_dim in self.gf_struct_sumk[icrsh]] - G_loc.append( - BlockGf(name_list=spn, block_list=glist, make_copies=False)) - for icrsh in range(self.n_corr_shells): - G_loc[icrsh].zero() + # Read in occupations from HDF5 file if required + if (dosocc): + mpi.report('Reading occupations generated by self.occupations().') + thingstoread = ['occik'] + subgroup_present, values_not_read = self.read_input_from_hdf( + subgrp=self.misc_data, things_to_read=thingstoread) + if len(values_not_read) > 0 and mpi.is_master_node: + raise ValueError( + 'ERROR: One or more necessary SumK input properties have not been found in the given h5 archive:', self.values_not_read) - DOS = {sp: numpy.zeros([n_om], float) - for sp in self.spin_block_names[self.SO]} - DOSproj = [{} for ish in range(self.n_inequiv_shells)] - DOSproj_orb = [{} for ish in range(self.n_inequiv_shells)] - for ish in range(self.n_inequiv_shells): - for sp in self.spin_block_names[self.corr_shells[self.inequiv_to_corr[ish]]['SO']]: - dim = self.corr_shells[self.inequiv_to_corr[ish]]['dim'] - DOSproj[ish][sp] = numpy.zeros([n_om], float) - DOSproj_orb[ish][sp] = numpy.zeros( - [n_om, dim, dim], complex) + # initialise projected DOS type if required + spn = self.spin_block_names[self.SO] + n_shells = 1 + if (proj_type == 'wann'): + n_shells = self.n_corr_shells + gf_struct = self.gf_struct_sumk.copy() + dims = [self.corr_shells[ish]['dim'] for ish in range(n_shells)] + shells_type = 'corr' + elif (proj_type == 'vasp'): + n_shells = 1 + gf_struct = [[(sp, list(range(self.proj_mat_csc.shape[2]))) for sp in spn]] + dims = [self.proj_mat_csc.shape[2]] + shells_type = 'csc' + elif (proj_type == 'wien2k'): + self.load_parproj() + n_shells = self.n_shells + gf_struct = [[(sp, self.shells[ish]['dim']) for sp in spn] + for ish in range(n_shells)] + dims = [self.shells[ish]['dim'] for ish in range(n_shells)] + shells_type = 'all' +# #commented out for now - unsure this produces DFT+DMFT PDOS +# elif (proj_type == 'elk'): +# n_shells = self.n_shells +# dims = [self.shells[ish]['dim'] for ish in range(n_shells)] +# gf_struct = [[(sp, self.shells[ish]['dim']) for sp in spn] +# for ish in range(n_shells)] +# things_to_read = ['band_dens_muffin'] +# subgroup_present, values_not_read = self.read_input_from_hdf( +# subgrp=self.bc_data, things_to_read=things_to_read) +# if len(values_not_read) > 0 and mpi.is_master_node: +# raise ValueError( +# 'ERROR: One or more necessary SumK input properties have not been found in the given h5 archive:', self.values_not_read) + # set-up output arrays + DOS = {sp: numpy.zeros([n_om], float) for sp in spn} + DOSproj = [{} for ish in range(n_shells)] + DOSproj_orb = [{} for ish in range(n_shells)] + # set-up Green's function object + if (proj_type != None): + G_loc = [] + for ish in range(n_shells): + glist = [GfReFreq(target_shape=(block_dim, block_dim), mesh=mesh) + for block, block_dim in gf_struct[ish]] + G_loc.append( + BlockGf(name_list=spn, block_list=glist, make_copies=False)) + G_loc[ish].zero() + dim = dims[ish] + for sp in spn: + DOSproj[ish][sp] = numpy.zeros([n_om], float) + DOSproj_orb[ish][sp] = numpy.zeros( + [n_om, dim, dim], complex) + + # calculate the DOS ikarray = numpy.array(list(range(self.n_k))) for ik in mpi.slice_array(ikarray): - G_latt_w = self.lattice_gf( ik=ik, mu=mu, broadening=broadening, mesh=mesh, with_Sigma=with_Sigma, with_dc=with_dc) G_latt_w *= self.bz_weights[ik] - - # Non-projected DOS - for iom in range(n_om): - for bname, gf in G_latt_w: - DOS[bname][iom] -= gf.data[iom, :, :].imag.trace() / \ - numpy.pi - + # output occupied DOS if nk inputted + if (dosocc): + for bname, gf in G_latt_w: + G_latt_w[bname].data[:, :, :] *= self.occik[bname][ik] + # DOS + for bname, gf in G_latt_w: + DOS[bname] -= gf.data.imag.trace(axis1=1, axis2=2)/numpy.pi # Projected DOS: - for icrsh in range(self.n_corr_shells): - tmp = G_loc[icrsh].copy() - for bname, gf in tmp: - tmp[bname] << self.downfold(ik, icrsh, bname, G_latt_w[ - bname], gf) # downfolding G - G_loc[icrsh] += tmp + if (proj_type != None): + for ish in range(n_shells): + tmp = G_loc[ish].copy() + tmp.zero() + tmp << self.proj_type_G_loc(G_latt_w, tmp, ik, ish, proj_type) + G_loc[ish] += tmp + mpi.barrier() # Collect data from mpi: for bname in DOS: DOS[bname] = mpi.all_reduce(DOS[bname]) - for icrsh in range(self.n_corr_shells): - G_loc[icrsh] << mpi.all_reduce(G_loc[icrsh]) - mpi.barrier() - + # Collect data from mpi and put in projected arrays + if (proj_type != None): + for ish in range(n_shells): + G_loc[ish] << mpi.all_reduce(G_loc[ish]) # Symmetrize and rotate to local coord. system if needed: - if self.symm_op != 0: - G_loc = self.symmcorr.symmetrize(G_loc) - if self.use_rotations: - for icrsh in range(self.n_corr_shells): - for bname, gf in G_loc[icrsh]: - G_loc[icrsh][bname] << self.rotloc( - icrsh, gf, direction='toLocal') - + if ((proj_type != 'vasp') and (proj_type != 'elk')): + if self.symm_op != 0: + if proj_type == 'wann': + G_loc = self.symmcorr.symmetrize(G_loc) + else: + G_loc = self.symmpar.symmetrize(G_loc) + if self.use_rotations: + for ish in range(n_shells): + for bname, gf in G_loc[ish]: + G_loc[ish][bname] << self.rotloc( + ish, gf, direction='toLocal', shells=shells_type) # G_loc can now also be used to look at orbitally-resolved quantities - for ish in range(self.n_inequiv_shells): - for bname, gf in G_loc[self.inequiv_to_corr[ish]]: # loop over spins + for ish in range(n_shells): + for bname, gf in G_loc[ish]: # loop over spins DOSproj[ish][bname] = -gf.data.imag.trace(axis1=1, axis2=2) / numpy.pi DOSproj_orb[ish][bname][ - :, :, :] += (1.0j*(gf-gf.conjugate().transpose())/2.0/numpy.pi).data[:,:,:] + :, :, :] += (1.0j*(gf-gf.conjugate().transpose())/2.0/numpy.pi).data[:, :, :] # Write to files if save_to_file and mpi.is_master_node(): - for sp in self.spin_block_names[self.SO]: - f = open('DOS_wann_%s.dat' % sp, 'w') + for sp in spn: + f = open('DOS_%s.dat' % sp, 'w') for iom in range(n_om): - f.write("%s %s\n" % (om_mesh[iom], DOS[sp][iom])) + f.write("%s %s\n" % (mesh_val[iom], DOS[sp][iom])) f.close() - # Partial - for ish in range(self.n_inequiv_shells): - f = open('DOS_wann_%s_proj%s.dat' % (sp, ish), 'w') + if (proj_type != None): + for ish in range(n_shells): + f = open('DOS_' + proj_type + '_%s_proj%s.dat' % (sp, ish), 'w') for iom in range(n_om): f.write("%s %s\n" % - (om_mesh[iom], DOSproj[ish][sp][iom])) + (mesh_val[iom], DOSproj[ish][sp][iom])) f.close() - # Orbitally-resolved - for i in range(self.corr_shells[self.inequiv_to_corr[ish]]['dim']): - for j in range(i, self.corr_shells[self.inequiv_to_corr[ish]]['dim']): - f = open('DOS_wann_' + sp + '_proj' + str(ish) + + for i in range(dims[ish]): + for j in range(dims[ish]): + # For Elk with parproj - skip off-diagonal elements + # if(proj_type=='elk') and (i!=j): continue + f = open('DOS_' + proj_type + '_' + sp + '_proj' + str(ish) + '_' + str(i) + '_' + str(j) + '.dat', 'w') for iom in range(n_om): f.write("%s %s %s\n" % ( - om_mesh[iom], DOSproj_orb[ish][sp][iom, i, j].real,DOSproj_orb[ish][sp][iom, i, j].imag)) + mesh_val[iom], DOSproj_orb[ish][sp][iom, i, j].real, DOSproj_orb[ish][sp][iom, i, j].imag)) f.close() return DOS, DOSproj, DOSproj_orb - - def dos_wannier_basis_all(self, mu=None, broadening=None, mesh=None, with_Sigma=True, with_dc=True, save_to_file=True): + def proj_type_G_loc(self, G_latt, G_inp, ik, ish, proj_type=None): """ - Calculates the density of states in the basis of the Wannier functions. + Internal routine which calculates the project Green's function subject to the + proj_type input. Parameters ---------- - mu : double, optional - Chemical potential, overrides the one stored in the hdf5 archive. - broadening : double, optional - Lorentzian broadening of the spectra. If not given, standard value of lattice_gf is used. - mesh : real frequency MeshType, optional - Omega mesh for the real-frequency Green's function. Given as parameter to lattice_gf. - with_Sigma : boolean, optional - If True, the self energy is used for the calculation. If false, the DOS is calculated without self energy. - with_dc : boolean, optional - If True the double counting correction is used. - save_to_file : boolean, optional - If True, text files with the calculated data will be created. - + G_latt : Gf + block of lattice Green's functions to be projected/downfolded + G_inp : Gf + block of local Green's functions used as a template for G_proj + ik : integer + integer specifing k-point index. + ish : integer + integer specifing shell index. + proj_type : string, optional + Output the orbital-projected DOS type from the following options: + 'wann' - Wannier DOS calculated from the Wannier projectors + 'vasp' - Vasp orbital-projected DOS only from Vasp inputs + 'wien2k' - Wien2k orbital-projected DOS from the wien2k theta projectors + Returns ------- - DOS : Dict of numpy arrays - Contains the full density of states. - DOSproj : Dict of numpy arrays - DOS projected to atoms. - DOSproj_orb : Dict of numpy arrays - DOS projected to atoms and resolved into orbital contributions. + G_proj : Gf + projected/downfolded lattice Green's function + Contains the band-resolved density matrices per k-point. """ - if mesh is None or with_Sigma: - assert isinstance(self.mesh, MeshReFreq), "mesh must be given if self.mesh is a MeshImFreq" - om_mesh = [x.real for x in self.mesh] - om_min = om_mesh[0] - om_max = om_mesh[-1] - n_om = len(om_mesh) - mesh = (om_min, om_max, n_om) + + # Note the proj_type = 'elk' (- Elk orbital-projected DOS only from Elk inputs) is not included for now. + # Brief description to why can be found in the comment above the currently commented out dft_band_characters() routine + # in converters/elk.py. + # code left here just in case it will be reused. + G_proj = G_inp.copy() + if (proj_type == 'wann'): + for bname, gf in G_proj: + G_proj[bname] << self.downfold(ik, ish, bname, + G_latt[bname], gf) # downfolding G + elif (proj_type == 'vasp'): + for bname, gf in G_latt: + G_proj[bname] << self.downfold(ik, ish, bname, gf, G_proj[bname], shells='csc') + elif (proj_type == 'wien2k'): + tmp = G_proj.copy() + for ir in range(self.n_parproj[ish]): + tmp.zero() + for bname, gf in tmp: + tmp[bname] << self.downfold(ik, ish, bname, + G_latt[bname], gf, shells='all', ir=ir) + G_proj += tmp +# elif (proj_type == 'elk'): +# dim = self.shells[ish]['dim'] +# ntoi = self.spin_names_to_ind[self.SO] +# for bname, gf in G_latt: +# n_om = len(gf.data[:,0,0]) +# isp=ntoi[bname] +# nst=self.n_orbitals[ik,isp] +# #matrix multiply band resolved muffin density with +# #diagonal of band resolved spectral function and fill diagonal of +# #DOSproj_orb orbital dimensions with the result for each frequency +# bdm=self.band_dens_muffin[ik,isp,ish,0:dim,0:nst] +# tmp=[numpy.matmul(bdm, gf.data[iom,:,:].diagonal()) +# for iom in range(n_om)] +# tmp=numpy.asarray(tmp) +# tmp2 = numpy.zeros([n_om,dim,dim], dtype=complex) +# if(dim==1): +# tmp2[:,0,0]=tmp[:,0] +# else: +# [numpy.fill_diagonal(tmp2[iom,:,:],tmp[iom,:]) +# for iom in range(n_om)] +# G_proj[bname].data[:,:,:] = tmp2[:,:,:] + + return G_proj + + def load_parproj(self, data_type=None): + """ + Internal routine which loads the n_parproj, proj_mat_all, rot_mat_all and + rot_mat_all_time_inv from parproj data from .h5 file. + + Parameters + ---------- + data_type : string, optional + which data type desired to be read in. + 'band' - reads data converted by bands_convert() + None - reads data converted by parproj_convert() + """ + + # read in the projectors + things_to_read = ['n_parproj', 'proj_mat_all'] + if data_type == 'band': + subgroup_present, values_not_read = self.read_input_from_hdf( + subgrp=self.bands_data, things_to_read=things_to_read) else: - om_min, om_max, n_om = mesh - om_mesh = numpy.linspace(om_min, om_max, n_om) - - spn = self.spin_block_names[self.SO] - gf_struct_parproj = [[(sp, list(range(self.shells[ish]['dim']))) for sp in spn] - for ish in range(self.n_shells)] - n_local_orbs = self.proj_mat_csc.shape[2] - gf_struct_parproj_all = [[(sp, list(range(n_local_orbs))) for sp in spn]] - - glist_all = [GfReFreq(target_shape=(block_dim, block_dim), window=(om_min, om_max), n_points=n_om) - for block, block_dim in gf_struct_parproj_all[0]] - G_loc_all = BlockGf(name_list=spn, block_list=glist_all, make_copies=False) - - DOS = {sp: numpy.zeros([n_om], float) - for sp in self.spin_block_names[self.SO]} - DOSproj = {} - DOSproj_orb = {} - - for sp in self.spin_block_names[self.SO]: - dim = n_local_orbs - DOSproj[sp] = numpy.zeros([n_om], float) - DOSproj_orb[sp] = numpy.zeros( - [n_om, dim, dim], complex) - - ikarray = numpy.array(list(range(self.n_k))) - for ik in mpi.slice_array(ikarray): - - G_latt_w = self.lattice_gf( - ik=ik, mu=mu, broadening=broadening, mesh=mesh, with_Sigma=with_Sigma, with_dc=with_dc) - G_latt_w *= self.bz_weights[ik] - - # Non-projected DOS - for iom in range(n_om): - for bname, gf in G_latt_w: - DOS[bname][iom] -= gf.data[iom, :, :].imag.trace() / \ - numpy.pi - - # Projected DOS: - for bname, gf in G_latt_w: - G_loc_all[bname] << self.downfold(ik, 0, bname, gf, G_loc_all[bname], shells='csc') - # Collect data from mpi: - for bname in DOS: - DOS[bname] = mpi.all_reduce(DOS[bname]) - G_loc_all[bname] << mpi.all_reduce(G_loc_all[bname]) - mpi.barrier() - - # Symmetrize and rotate to local coord. system if needed: - #if self.symm_op != 0: - # G_loc_all = self.symmcorr.symmetrize(G_loc_all) - - # G_loc can now also be used to look at orbitally-resolved quantities - for bname, gf in G_loc_all: # loop over spins - DOSproj[bname] = -gf.data.imag.trace(axis1=1, axis2=2) / numpy.pi - DOSproj_orb[bname][:,:,:] += (1.0j*(gf-gf.conjugate().transpose())/2.0/numpy.pi).data[:,:,:] - # Write to files - if save_to_file and mpi.is_master_node(): - for sp in self.spin_block_names[self.SO]: - f = open('DOS_wann_%s.dat' % sp, 'w') - for iom in range(n_om): - f.write("%s %s\n" % (om_mesh[iom], DOS[sp][iom])) - f.close() - - # Partial - f = open('DOS_wann_all_%s_proj.dat' % (sp), 'w') - for iom in range(n_om): - f.write("%s %s\n" % - (om_mesh[iom], DOSproj[sp][iom])) - f.close() - - # Orbitally-resolved - for i in range(n_local_orbs): - for j in range(i, n_local_orbs): - f = open('DOS_wann_all' + sp + '_proj_' + str(i) + '_' + str(j) + '.dat', 'w') - for iom in range(n_om): - f.write("%s %s %s\n" % ( - om_mesh[iom], DOSproj_orb[sp][iom, i, j].real,DOSproj_orb[sp][iom, i, j].imag)) - f.close() - - return DOS, DOSproj, DOSproj_orb - - # Uses .data of only GfReFreq objects. - def dos_parproj_basis(self, mu=None, broadening=None, mesh=None, with_Sigma=True, with_dc=True, save_to_file=True): - """ - Calculates the orbitally-resolved DOS. - Different to dos_Wannier_basis is that here we calculate projections also to non-Wannier projectors, in the - flavour of Wien2k QTL calculatuions. - - Parameters - ---------- - mu : double, optional - Chemical potential, overrides the one stored in the hdf5 archive. - broadening : double, optional - Lorentzian broadening of the spectra. If not given, standard value of lattice_gf is used. - mesh : real frequency MeshType, optional - Omega mesh for the real-frequency Green's function. Given as parameter to lattice_gf. - with_Sigma : boolean, optional - If True, the self energy is used for the calculation. If false, the DOS is calculated without self energy. - with_dc : boolean, optional - If True the double counting correction is used. - save_to_file : boolean, optional - If True, text files with the calculated data will be created. - - Returns - ------- - DOS : Dict of numpy arrays - Contains the full density of states. - DOSproj : Dict of numpy arrays - DOS projected to atoms. - DOSproj_orb : Dict of numpy arrays - DOS projected to atoms and resolved into orbital contributions. - """ - - things_to_read = ['n_parproj', 'proj_mat_all', - 'rot_mat_all', 'rot_mat_all_time_inv'] + subgroup_present, values_not_read = self.read_input_from_hdf( + subgrp=self.parproj_data, things_to_read=things_to_read) + if self.symm_op: + self.symmpar = Symmetry(self.hdf_file, subgroup=self.symmpar_data) + if len(values_not_read) > 0 and mpi.is_master_node: + raise ValueError( + 'ERROR: One or more necessary SumK input properties have not been found in the given h5 archive:', self.values_not_read) + # read general data + things_to_read = ['rot_mat_all', 'rot_mat_all_time_inv'] subgroup_present, values_not_read = self.read_input_from_hdf( subgrp=self.parproj_data, things_to_read=things_to_read) if len(values_not_read) > 0 and mpi.is_master_node: raise ValueError( 'ERROR: One or more necessary SumK input properties have not been found in the given h5 archive:', self.values_not_read) - if self.symm_op: - self.symmpar = Symmetry(self.hdf_file, subgroup=self.symmpar_data) - if mesh is None or with_Sigma: - assert isinstance(self.mesh, MeshReFreq), "mesh must be given if self.mesh is a MeshImFreq" - om_mesh = [x.real for x in self.mesh] - om_min = om_mesh[0] - om_max = om_mesh[-1] - n_om = len(om_mesh) - mesh = (om_min, om_max, n_om) - else: - om_min, om_max, n_om = mesh - om_mesh = numpy.linspace(om_min, om_max, n_om) - - G_loc = [] - spn = self.spin_block_names[self.SO] - gf_struct_parproj = [[(sp, self.shells[ish]['dim']) for sp in spn] - for ish in range(self.n_shells)] - for ish in range(self.n_shells): - glist = [GfReFreq(target_shape=(block_dim, block_dim), window=(om_min, om_max), n_points=n_om) - for block, block_dim in gf_struct_parproj[ish]] - G_loc.append( - BlockGf(name_list=spn, block_list=glist, make_copies=False)) - for ish in range(self.n_shells): - G_loc[ish].zero() - - DOS = {sp: numpy.zeros([n_om], float) - for sp in self.spin_block_names[self.SO]} - DOSproj = [{} for ish in range(self.n_shells)] - DOSproj_orb = [{} for ish in range(self.n_shells)] - for ish in range(self.n_shells): - for sp in self.spin_block_names[self.SO]: - dim = self.shells[ish]['dim'] - DOSproj[ish][sp] = numpy.zeros([n_om], float) - DOSproj_orb[ish][sp] = numpy.zeros( - [n_om, dim, dim], complex) - - ikarray = numpy.array(list(range(self.n_k))) - for ik in mpi.slice_array(ikarray): - - G_latt_w = self.lattice_gf( - ik=ik, mu=mu, broadening=broadening, mesh=mesh, with_Sigma=with_Sigma, with_dc=with_dc) - G_latt_w *= self.bz_weights[ik] - - # Non-projected DOS - for bname, gf in G_latt_w: - DOS[bname] -= gf.data.imag.trace(axis1=1, axis2=2) / numpy.pi - - # Projected DOS: - for ish in range(self.n_shells): - tmp = G_loc[ish].copy() - for ir in range(self.n_parproj[ish]): - for bname, gf in tmp: - tmp[bname] << self.downfold(ik, ish, bname, G_latt_w[ - bname], gf, shells='all', ir=ir) - G_loc[ish] += tmp - - # Collect data from mpi: - for bname in DOS: - DOS[bname] = mpi.all_reduce(DOS[bname]) - for ish in range(self.n_shells): - G_loc[ish] << mpi.all_reduce(G_loc[ish]) - mpi.barrier() - - # Symmetrize and rotate to local coord. system if needed: - if self.symm_op != 0: - G_loc = self.symmpar.symmetrize(G_loc) - if self.use_rotations: - for ish in range(self.n_shells): - for bname, gf in G_loc[ish]: - G_loc[ish][bname] << self.rotloc( - ish, gf, direction='toLocal', shells='all') - - # G_loc can now also be used to look at orbitally-resolved quantities - for ish in range(self.n_shells): - for bname, gf in G_loc[ish]: - DOSproj[ish][bname] = -gf.data.imag.trace(axis1=1, axis2=2) / numpy.pi - DOSproj_orb[ish][bname][ - :, :, :] += (1.0j*(gf-gf.conjugate().transpose())/2.0/numpy.pi).data[:,:,:] - - # Write to files - if save_to_file and mpi.is_master_node(): - for sp in self.spin_block_names[self.SO]: - f = open('DOS_parproj_%s.dat' % sp, 'w') - for iom in range(n_om): - f.write("%s %s\n" % (om_mesh[iom], DOS[sp][iom])) - f.close() - - # Partial - for ish in range(self.n_shells): - f = open('DOS_parproj_%s_proj%s.dat' % (sp, ish), 'w') - for iom in range(n_om): - f.write("%s %s\n" % - (om_mesh[iom], DOSproj[ish][sp][iom])) - f.close() - - # Orbitally-resolved - for i in range(self.shells[ish]['dim']): - for j in range(i, self.shells[ish]['dim']): - f = open('DOS_parproj_' + sp + '_proj' + str(ish) + - '_' + str(i) + '_' + str(j) + '.dat', 'w') - for iom in range(n_om): - f.write("%s %s %s\n" % ( - om_mesh[iom], DOSproj_orb[ish][sp][iom, i, j].real,DOSproj_orb[ish][sp][iom, i, j].imag)) - f.close() - - return DOS, DOSproj, DOSproj_orb - - # Elk total and partial dos calculations - # Uses .data of only GfReFreq objects. - def elk_dos(self, mu=None, broadening=None, mesh=None, with_Sigma=True, with_dc=True, save_to_file=True,pdos=False,nk=None): + def occupations(self, mu=None, with_Sigma=True, with_dc=True, save_occ=True): """ - This calculates the total DOS and the partial DOS (orbital-DOS) from the band characters calculated in Elk. + Calculates the band resolved density matrices (occupations) from the Matsubara + frequency self-energy. Parameters ---------- - mu : double, optional - Chemical potential, overrides the one stored in the hdf5 archive. - broadening : double, optional - Lorentzian broadening of the spectra. If not given, standard value of lattice_gf is used. - mesh : real frequency MeshType, optional - Omega mesh for the real-frequency Green's function. Given as parameter to lattice_gf. - with_Sigma : boolean, optional - If True, the self energy is used for the calculation. If false, the DOS is calculated without self energy. - with_dc : boolean, optional - If True the double counting correction is used. + mu : double, optional + Chemical potential, overrides the one stored in the hdf5 archive. + with_Sigma : boolean, optional + If True, the self energy is used for the calculation. + If false, the DOS is calculated without self energy. + with_dc : boolean, optional + If True the double counting correction is used. + save_occ : boolean, optional + If True, saves the band resolved density matrix in misc_data. save_to_file : boolean, optional If True, text files with the calculated data will be created. - pdos : allows the partial density of states to be calculated - nk : diagonal of the occupation function (from the Matsubara Green's function) - in the band basis (has form nk[spn][n_k][n_orbital]) Returns ------- - DOS : Dict of numpy arrays - Contains the full density of states. - pDOS : Dict of numpy arrays - partial (orbital resolved) DOS for each atom. + occik : Dict of numpy arrays + Contains the band-resolved density matrices per k-point. """ - if (pdos): - things_to_read = ['maxlm', 'bc'] - subgroup_present, values_not_read = self.read_input_from_hdf( - subgrp=self.bc_data, things_to_read=things_to_read) - if len(values_not_read) > 0 and mpi.is_master_node: - raise ValueError( - 'ERROR: One or more necessary SumK input properties have not been found in the given h5 archive:', self.values_not_read) - things_to_read = ['n_atoms'] - subgroup_present, values_not_read = self.read_input_from_hdf( - subgrp=self.symmcorr_data, things_to_read=things_to_read) - if len(values_not_read) > 0 and mpi.is_master_node: - raise ValueError( - 'ERROR: One or more necessary SumK input properties have not been found in the given h5 archive:', self.values_not_read) - - if mesh is None or with_Sigma: - assert isinstance(self.mesh, MeshReFreq), "mesh must be given if self.mesh is a MeshImFreq" - om_mesh = [x.real for x in self.mesh] - om_min = om_mesh[0] - om_max = om_mesh[-1] - n_om = len(om_mesh) - mesh = (om_min, om_max, n_om) + if with_Sigma: + mesh = self.Sigma_imp[0].mesh else: - om_min, om_max, n_om = mesh - om_mesh = numpy.linspace(om_min, om_max, n_om) + mesh = self.mesh + assert isinstance( + mesh, MeshImFreq), "SumkDFT.mesh must be real if with_Sigma is True or mesh is not given" + if mu is None: mu = self.chemical_potential - + ntoi = self.spin_names_to_ind[self.SO] spn = self.spin_block_names[self.SO] - - DOS = {sp: numpy.zeros([n_om], float) - for sp in self.spin_block_names[self.SO]} - #set up temporary arrays for pdos calculations - if (pdos): - pDOS = {sp: numpy.zeros([self.n_atoms,self.maxlm,n_om], float) - for sp in self.spin_block_names[self.SO]} - ntoi = self.spin_names_to_ind[self.SO] - else: - pDOS = [] - + occik = {} + for sp in spn: + # same format as gf.data ndarray + occik[sp] = [numpy.zeros([1, self.n_orbitals[ik, ntoi[sp]], + self.n_orbitals[ik, ntoi[sp]]], numpy.double) for ik in range(self.n_k)] + # calculate the occupations ikarray = numpy.array(range(self.n_k)) - for ik in mpi.slice_array(ikarray): - - G_latt_w = self.lattice_gf( - ik=ik, mu=mu, broadening=broadening, mesh=mesh, with_Sigma=with_Sigma, with_dc=with_dc) - G_latt_w *= self.bz_weights[ik] - if(nk!=None): - for iom in range(n_om): - for bname, gf in G_latt_w: - numpy.fill_diagonal(G_latt_w[bname].data[iom,:,:].imag, nk[bname][ik][:]*G_latt_w[bname].data[iom,:,:].imag.diagonal()) - - # Non-projected DOS - for iom in range(n_om): - for bname, gf in G_latt_w: - DOS[bname][iom] -= gf.data[iom, :, :].imag.trace() / \ - numpy.pi - - - # Partial DOS - if (pdos): - for bname, gf in G_latt_w: - isp=ntoi[bname] - nst=self.n_orbitals[ik,isp] - tmp = numpy.zeros([nst]) - for iom in range(n_om): - #get diagonal spectral function - tmp[:] = -gf.data[iom, :, :].imag.diagonal() / numpy.pi - #calculate the pDOS of all atoms - for iatom in range(self.n_atoms): - bcar=self.bc[:,isp,iatom,0:nst,ik] - pDOS[bname][iatom,:,iom] += numpy.matmul(bcar,tmp) - del tmp - mpi.barrier() + for ik in range(self.n_k): + G_latt = self.lattice_gf( + ik=ik, mu=mu, with_Sigma=with_Sigma, with_dc=with_dc) + for bname, gf in G_latt: + occik[bname][ik][0, :, :] = gf.density().real # Collect data from mpi: - for bname in DOS: - DOS[bname] = mpi.all_reduce(DOS[bname]) - if (pdos): - for bname in pDOS: - for iatom in range(self.n_atoms): - for lm in range(self.maxlm): - pDOS[bname][iatom,lm,:] = mpi.all_reduce(pDOS[bname][iatom,lm,:]) + for sp in spn: + occik[sp] = mpi.all_reduce(occik[sp]) + mpi.barrier() + # save to HDF5 file (if specified) + if save_occ and mpi.is_master_node(): + things_to_save_misc = ['occik'] + # Save it to the HDF: + ar = HDFArchive(self.hdf_file, 'a') + if not (self.misc_data in ar): + ar.create_group(self.misc_data) + for it in things_to_save_misc: + ar[self.misc_data][it] = locals()[it] + del ar + return occik - - # Write to files - if save_to_file and mpi.is_master_node(): - for sp in self.spin_block_names[self.SO]: - f = open('TDOS_%s.dat' % sp, 'w') - for iom in range(n_om): - f.write("%s %s\n" % (om_mesh[iom], DOS[sp][iom])) - f.close() - - # Partial - if (pdos): - for iatom in range(self.n_atoms): - f = open('pDOS_%s_atom_%s.dat' % (sp, iatom), 'w') - for lm in range(self.maxlm): - for iom in range(n_om): - f.write("%s %s\n" % - (om_mesh[iom], pDOS[sp][iatom,lm,iom])) - f.write("\n") - f.close() - - return DOS, pDOS - - # vector manipulation used in Elk for symmetry operations - This is already in elktools, this should - # put somewhere for general use by the converter and this script. - def v3frac(self,v,eps): - #This finds the fractional part of 3-vector v components. This uses the - #same method as in Elk (version 6.2.8) r3fac subroutine. - v[0]=v[0]-numpy.floor(v[0]) - if(v[0] < 0): v[0]+=1 - if((1-v[0]) < eps): v[0]=0 - if(v[0] < eps): v[0]=0 - v[1]=v[1]-numpy.floor(v[1]) - if(v[1] < 0): v[1]+=1 - if((1-v[1]) < eps): v[1]=0 - if(v[1] < eps): v[1]=0 - v[2]=v[2]-numpy.floor(v[2]) - if(v[2] < 0): v[2]+=1 - if((1-v[2]) < eps): v[2]=0 - if(v[2] < eps): v[2]=0 - return v - - # Calculate the spectral function at an energy contour omega - i.e. Fermi surface plots - # Uses .data of only GfReFreq objects. - def fs_plot(self, mu=None, broadening=None, mesh=None, FS=True, plane=True, sym=True, orthvec=None, with_Sigma=True, with_dc=True, save_to_file=True): + def spectral_contours(self, mu=None, broadening=None, mesh=None, plot_range=None, FS=True, with_Sigma=True, with_dc=True, proj_type=None, save_to_file=True): """ - Calculates the correlated spectral function at specific frequencies. The default output is the - correlated spectral function at zero frequency - this relates the the Fermi surface. + Calculates the correlated spectral function at the Fermi level (relating to the Fermi + surface) or at specific frequencies. + + The output files have three columns representing the k-point index, frequency and A(k,w) in that order. The output files are as follows: + + * `Akw_(sp).dat`, the total A(k,w) + * `Akw_(proj_type)_(spn)_proj(i).dat`, the A(k,w) projected to shell with index (i). + * `Akw_(proj_type)_(spn)_proj(i)_(m)_(n).dat`, as above, but for each (m) and (n) orbital contribution. + + The files are prepended with either of the following: + For `FS` set to True the output files name include _FS_ and these files contain four columns which are the cartesian reciprocal coordinates (kx, ky, kz) and Akw. + For `FS` set to False the output files name include _omega_(iom) (with `iom` being the frequency mesh index). These files also contain four columns as described above along with a comment at the top of the file which gives the frequency value at which the spectral function was evaluated. Parameters ---------- - mu : double, optional - Chemical potential, overrides the one stored in the hdf5 archive. - broadening : double, optional - Lorentzian broadening of the spectra. If not given, standard value of lattice_gf is used. - mesh : real frequency MeshType, optional - Omega mesh for the real-frequency Green's function. Given as parameter to lattice_gf. - plane : boolean, optional - True assumes that the k-mesh of eigenvalues calculated was a plane. - sym: boolean, optional - Uses the symmetry operations to fold out the correlated spectral function in the BZ - FS: boolean - Flag for calculating the spectral function at the Fermi level (omega->0) - orthvec: double (3) element numpy array, optional - This is used to determine the vectors used in the plane calculations after folding out the IBZ. - This needs to correspond to the same orthonormal LATTICE inputs vectors used in the DFT code - which generated the plane of energy eigenvalues. - The default is orthvec=[0,0,1]. - with_Sigma : boolean, optional - If True, the self energy is used for the calculation. If false, the DOS is calculated without self energy. - with_dc : boolean, optional - If True the double counting correction is used. + mu : double, optional + Chemical potential, overrides the one stored in the hdf5 archive. + By default, this is automatically set to the chemical potential within the SK object. + broadening : double, optional + Lorentzian broadening of the spectra to avoid any numerical artifacts. + If not given, standard value of lattice_gf (0.001 eV) is used. + mesh : real frequency MeshType, optional + Omega mesh for the real-frequency Green's function. + Given as parameter to lattice_gf. + plot_shift : double, optional + Offset [=(ik-1)*plot_shift, where ik is the index of the k-point] for each A(k,w) for stacked plotting of spectra. + plot_range : list of double, optional + Sets the energy window for plotting to (plot_range[0],plot_range[1]). + If not provided, the min and max values of the energy mesh is used. + FS : boolean + Flag for calculating the spectral function at the Fermi level (omega ~ 0) + If False, the spectral function will be generated for each frequency within + plot_range. + with_Sigma : boolean, optional + If True, the self energy is used for the calculation. + If false, the DOS is calculated without self energy. + Both with_Sigma and with_dc equal to True is needed for DFT+DMFT A(k,w) calculated. + Both with_Sigma and with_dc equal to false is needed for DFT A(k,w) calculated. + with_dc : boolean, optional + If True the double counting correction is used. + proj_type : string, optional + The type of projection used for the orbital-projected DOS. + These projected spectral functions will be determined alongside the total spectral function. + By default, no projected DOS type will be calculated (the corresponding projected arrays will be empty). + The following options are: + + * `None` Only total DOS calculated + * `wann` Wannier DOS calculated from the Wannier projectors save_to_file : boolean, optional If True, text files with the calculated data will be created. Returns ------- - nk : int - The number of k-points in the plane. - vkc : Dict of numpy arrays [shape - (nk, 3)] - Contains the cartesian vectors which the spectral function has been evaluated on. - Akw : Dict of numpy arrays [shape - (spn)(self.n_k, n_om)] - Correlated spectral function - the data as it is written to the files. - iknr : int array - An array of k-point indices which mape the Akw over the unfolded BZ. + Akw : Dict of numpy arrays + (Correlated) k-resolved spectral function. + This dictionary has the form of `Akw[spn][n_k, n_om]` where spn, n_k and n_om are the spin, number of k-points, and number of frequencies used in the calculation. + pAkw : Dict of numpy arrays + (Correlated) k-resolved spectral function projected to atoms (i.e., the Trace of the orbital-projected A(k,w)). + This dictionary has the form of pAkw[n_shells][spn][n_k, n_om] where n_shells is the total number of correlated or uncorrelated shells. Empty if `proj_type = None` + pAkw_orb : Dict of numpy arrays + (Correlated) k-resolved spectral function projected to atoms and + resolved into orbital contributions. + This dictionary has the form of pAkw[n_shells][spn][n_k, n_om,dim,dim] where dim specifies the orbital dimension of the correlated/uncorrelated shell. Empty if `proj_type = None` """ - #default vector tolerance used in Elk. This should not be alter. - epslat=1E-6 - #read in the energy contour energies and projectors - things_to_read = ['n_k','bmat','symlat','n_symm','vkl', + + if (proj_type != None): + assert proj_type in ('wann'), "'proj_type' must be 'wann' if not None" + # read in the energy contour energies and projectors + things_to_read = ['n_k', 'bmat', 'BZ_n_k', 'BZ_iknr', 'BZ_vkl', 'n_orbitals', 'proj_mat', 'hopping'] subgroup_present, values_not_read = self.read_input_from_hdf( - subgrp=self.fs_data, things_to_read=things_to_read) + subgrp=self.cont_data, things_to_read=things_to_read) if len(values_not_read) > 0 and mpi.is_master_node: raise ValueError( 'ERROR: One or more necessary SumK input properties have not been found in the given h5 archive:', self.values_not_read) - if with_Sigma is True or mesh is None: - assert isinstance(self.mesh, MeshReFreq), "SumkDFT.mesh must be real if with_Sigma is True or mesh is not given" - om_mesh = [x.real for x in self.mesh] - #for Fermi Surface calculations - if FS: - jw=[i for i in range(len(om_mesh)) if om_mesh[i] == 0.0] - if len(jw)==0: - mpi.report('Sigma_imp_w mesh does not include zero frequency value') - mpi.report('Using the next absolute lowest frequency value.') - abs_om_mesh = [abs(i) for i in om_mesh] - jw=[i for i in range(len(abs_om_mesh)) if abs_om_mesh[i] == numpy.min(abs_om_mesh[:])] - mpi.report(jw) - #for many energy contour calculations - else: - if mesh: - om_mn=mesh[0] - om_mx=mesh[1] - jw=[i for i in range(len(om_mesh)) if((om_mesh[i]<=om_mx)and(om_mesh[i]>=om_mn))] - om_min = om_mesh[0] - om_max = om_mesh[-1] - n_om = len(om_mesh) - mesh = (om_min, om_max, n_om) - if broadening is None: - broadening=0.0 - else: - #a range of frequencies can be used if desired - om_min, om_max, n_om = mesh - om_mesh = numpy.linspace(om_min, om_max, n_om) - FS=False - jw=[i for i in range(len(om_mesh)) if((om_mesh[i]<=om_max)and(om_mesh[i]>=om_min))] if mu is None: mu = self.chemical_potential + if (with_Sigma): + assert isinstance( + self.Sigma_imp[0].mesh, MeshReFreq), "SumkDFT.mesh must be real if with_Sigma is True" + mesh = self.Sigma_imp[0].mesh + elif mesh is not None: + assert isinstance(mesh, MeshReFreq), "mesh must be of form MeshReFreq" + if broadening is None: + broadening = 0.001 + elif self.mesh is not None: + assert isinstance(self.mesh, MeshReFreq), "self.mesh must be of form MeshReFreq" + mesh = self.mesh + if broadening is None: + broadening = 0.001 + else: + assert 0, "ReFreqMesh input required for calculations without real frequency self-energy" + mesh_val = numpy.linspace(mesh.w_min, mesh.w_max, len(mesh)) + n_om = len(mesh) + om_minplot = mesh_val[0] - 0.001 + om_maxplot = mesh_val[-1] + 0.001 + # for Fermi Surface calculations + if FS: + dw = abs(mesh_val[1]-mesh_val[0]) + # ensure that a few frequencies around the Fermi level are included + plot_range = [-2*dw, 2*dw] + mpi.report('Generated A(k,w) will be evaluted at closest frequency to 0.0 in given mesh ') + if plot_range is None: + n_om = len(mesh_val[(mesh_val > om_minplot) & (mesh_val < om_maxplot)]) + mesh_val2 = mesh_val[(mesh_val > om_minplot) & (mesh_val < om_maxplot)] + else: + om_minplot = plot_range[0] + om_maxplot = plot_range[1] + n_om = len(mesh_val[(mesh_val > om_minplot) & (mesh_val < om_maxplot)]) + mesh_val2 = mesh_val[(mesh_val > om_minplot) & (mesh_val < om_maxplot)] + # \omega ~= 0.0 index for FS file + abs_mesh_val = [abs(i) for i in mesh_val2] + jw = [i for i in range(len(abs_mesh_val)) if abs_mesh_val[i] + == numpy.min(abs_mesh_val[:])] - #orthogonal vector used for plane calculations - if orthvec is None: - #set to [0,0,1] by default - orthvec = numpy.zeros(3,dtype=float) - orthvec[2] = 1.0 - elif orthvec.size != 3: - assert 0, "The input numpy orthvec is not the required size of 3!" + # calculate the spectral functions for the irreducible set of k-points + [Akw, pAkw, pAkw_orb] = self.gen_Akw(mu=mu, broadening=broadening, mesh=mesh, + plot_shift=0.0, plot_range=plot_range, + shell_list=None, with_Sigma=with_Sigma, with_dc=with_dc, + proj_type=proj_type) - spn = self.spin_block_names[self.SO] - - Akw = {sp: numpy.zeros([self.n_k, n_om], float) - for sp in spn} - - #Cartesian lattice coordinates array - vkc = numpy.zeros([self.n_k,3], float) - - ikarray = numpy.array(range(self.n_k)) - for ik in mpi.slice_array(ikarray): - #calculate the catesian coordinates of IBZ - vkc[ik,:] = numpy.matmul(self.bmat,self.vkl[ik,:]) - - G_latt_w = self.lattice_gf( - ik=ik, mu=mu, broadening=broadening, mesh=mesh, with_Sigma=with_Sigma, with_dc=with_dc) - - for iom in range(n_om): - for bname, gf in G_latt_w: - Akw[bname][ik, iom] += gf.data[iom,:,:].imag.trace() / (-1.0 * numpy.pi) - mpi.barrier() - - # Collect data from mpi: - for sp in spn: - Akw[sp] = mpi.all_reduce(Akw[sp]) - mpi.barrier() - - #fold out the IBZ k-points using the lattice vectors and symmetries - #reducible number of k-points (which will alter after out folding) - nk = self.n_k - iknr = numpy.arange(self.n_k) - if sym: - vkltmp = self.vkl - v = numpy.zeros(3, float) - v_orth = numpy.zeros(3, float) - for isym in range(self.n_symm): - #calculate the orthonormal vector after symmetry operation. This is used to - #check if the orthonormal vector after the symmetry operation is parallel - #or anit-parallel to the original vector. - if plane: - vo = numpy.matmul(self.symlat[isym][:,:],orthvec[:].transpose()) - #check if the vectors are parallel or anti-parallel respectively - t1 = numpy.array_equal(vo, orthvec) - if(not t1): - #exit this symmetry operation - continue - - for ik in range(self.n_k): - #find point in BZ by symmetry operation - v[:]=numpy.matmul(self.symlat[isym][:,:],self.vkl[ik,:]) - #shift back in to range [0,1) - Elk specific - v[:]=self.v3frac(v,epslat) - #add vector to list if not present and add the equivalent Akw value - #convert to cartesian - v[:] = numpy.matmul(self.bmat,v[:]) - #alter temporary arrays - nk += 1 - vkc = numpy.vstack((vkc,v)) - iknr = numpy.append(iknr,ik) - vkltmp = numpy.vstack((vkltmp,v)) - #remove duplicates - [vkc,ind]=numpy.unique(vkc,return_index=True,axis=0) - iknr=iknr[ind] - nk=vkc.shape[0] - #sort the indices for output in decending order - iksrt=numpy.lexsort(([vkc[:,i] for i in range(0,vkc.shape[1], 1)])) - #rearrange the vkc and iknr arrays - vkc=vkc[iksrt] - iknr=iknr[iksrt] - - # Write to files if save_to_file and mpi.is_master_node(): - for sp in self.spin_block_names[self.SO]: - if FS: - #Output default FS spectral function - f = open('Akw_FS_%s.dat' % sp, 'w') - for ik in range(nk): - jk=iknr[ik] - f.write("%s %s %s %s\n" % (vkc[ik,0], vkc[ik,1], vkc[ik,2], Akw[bname][jk, jw[0]])) - f.close() - else: - #Output spectral function from multiple frequencies - for iom in jw: - #output the energy contours in multiple files with mesh index. - f = open('Akw_%s_omega_%s.dat' % (sp, iom), 'w') - for ik in range(nk): - jk=iknr[ik] - f.write("%s %s %s %s %s\n" % (vkc[ik,0], vkc[ik,1], vkc[ik,2], om_mesh[iom], Akw[bname][jk, iom])) - f.close() - return nk, vkc, Akw, iknr + spn = self.spin_block_names[self.SO] + vkc = numpy.zeros(3, float) + mesh_val2 = mesh_val[(mesh_val > om_minplot) & (mesh_val < om_maxplot)] + if FS: + n_om = 1 + else: + n_om = len(mesh_val2) + for sp in spn: + # Open file for storage: + for iom in range(n_om): + if FS: + f = open('Akw_FS_' + sp + '.dat', 'w') + jom = jw[0] + else: + f = open('Akw_omega_%s_%s.dat' % (iom, sp), 'w') + jom = iom + f.write("#Spectral function evaluated at frequency = %s\n" % mesh_val2[jom]) + for ik in range(self.BZ_n_k): + jk = self.BZ_iknr[ik] + vkc[:] = numpy.matmul(self.bmat, self.BZ_vkl[ik, :]) + f.write("%s %s %s %s\n" % (vkc[0], vkc[1], vkc[2], Akw[sp][jk, jom])) + f.close() + if (proj_type != None): + n_shells = len(pAkw[:]) + for iom in range(n_om): + for sp in spn: + for ish in range(n_shells): + if FS: + strng = 'Akw_FS' + '_' + proj_type + '_' + sp + '_proj' + str(ish) + jom = jw[0] + else: + strng = 'Akw_omega_' + str(iom) + '_' + proj_type + \ + '_' + sp + '_proj' + str(ish) + jom = iom + f = open(strng + '.dat', 'w') + f.write("#Spectral function evaluated at frequency = %s\n" % mesh_val2[jom]) + for ik in range(self.BZ_n_k): + jk = self.BZ_iknr[ik] + vkc[:] = numpy.matmul(self.bmat, self.BZ_vkl[ik, :]) + f.write("%s %s %s %s\n" % (vkc[0], vkc[1], vkc[2], + pAkw[ish][sp][jk, jom])) + f.close() + dim = len(pAkw_orb[ish][sp][0, 0, 0, :]) + for i in range(dim): + for j in range(dim): + strng2 = strng + '_' + str(i) + '_' + str(j) + # Open file for storage: + f = open(strng2 + '.dat', 'w') + for ik in range(self.BZ_n_k): + jk = self.BZ_iknr[ik] + vkc[:] = numpy.matmul(self.bmat, self.BZ_vkl[ik, :]) + f.write("%s %s %s %s\n" % (vkc[0], vkc[1], vkc[2], + pAkw_orb[ish][sp][jk, jom, i, j])) + f.close() + return Akw, pAkw, pAkw_orb - - # Uses .data of only GfReFreq objects. - def spaghettis(self, broadening=None, plot_shift=0.0, plot_range=None, ishell=None, mu=None, save_to_file='Akw_'): + def spaghettis(self, mu=None, broadening=None, mesh=None, plot_shift=0.0, plot_range=None, shell_list=None, with_Sigma=True, with_dc=True, proj_type=None, save_to_file=True): """ - Calculates the correlated band structure using a real-frequency self energy. + Calculates the k-resolved spectral function A(k,w) (band structure) + + The output files have three columns representing the k-point index, frequency and A(k,w) (in this order). + + The output files are as follows: + + - Akw_(sp).dat, the total A(k,w). + - Akw_(proj_type)_(spn)_proj(i).dat, the A(k,w) projected to shell with index (i). + - Akw_(proj_type)_(spn)_proj(i)_(m)_(n).dat, as above, but for each (m) and (n) orbital contribution. Parameters ---------- - mu : double, optional - Chemical potential, overrides the one stored in the hdf5 archive. - broadening : double, optional - Lorentzian broadening of the spectra. If not given, standard value of lattice_gf is used. - plot_shift : double, optional - Offset for each A(k,w) for stacked plotting of spectra. - plot_range : list of double, optional - Sets the energy window for plotting to (plot_range[0],plot_range[1]). If not provided, the energy mesh of the self energy is used. - ishell : integer, optional - Contains the index of the shell on which the spectral function is projected. If ishell=None, the total spectrum without projection is calculated. - save_to_file : string, optional - Filename where the spectra are stored. + mu : double, optional + Chemical potential, overrides the one stored in the hdf5 archive. + By default, this is automatically set to the chemical potential within the SK object. + broadening : double, optional + Lorentzian broadening of the spectra to avoid any numerical artifacts. + If not given, standard value of lattice_gf (0.001 eV) is used. + mesh : real frequency MeshType, optional + Omega mesh for the real-frequency Green's function. + Given as parameter to lattice_gf. + plot_shift : double, optional + Offset [=(ik-1)*plot_shift, where ik is the index of the k-point] for each A(k,w) for stacked plotting of spectra. + plot_range : list of double, optional + Sets the energy window for plotting to (plot_range[0],plot_range[1]). + If not provided, the min and max values of the energy mesh is used. + shell_list : list of integers, optional + Contains the indices of the shells of which the projected spectral function + is calculated for. + If shell_list = None and proj_type is not None, then the projected spectral + function is calculated for all shells. + Note for experts: The spectra from Wien2k inputs are not rotated to the local coordinate system used in Wien2k. + with_Sigma : boolean, optional + If True, the self energy is used for the calculation. + If false, the DOS is calculated without self energy. + Both with_Sigma and with_dc equal to True is needed for DFT+DMFT A(k,w) calculated. + Both with_Sigma and with_dc equal to false is needed for DFT A(k,w) calculated. + with_dc : boolean, optional + If True the double counting correction is used. + proj_type : string, optional + The type of projection used for the orbital-projected DOS. + These projected spectral functions will be determined alongside the total spectral function. + By default, no projected DOS type will be calculated (the corresponding projected arrays will be empty). + The following options are: + 'None' - Only total DOS calculated + 'wann' - Wannier DOS calculated from the Wannier projectors + 'wien2k' - Wien2k orbital-projected DOS from the wien2k theta projectors + save_to_file : boolean, optional + If True, text files with the calculated data will be created. + Returns ------- - Akw : Dict of numpy arrays - Data as it is also written to the files. + Akw : Dict of numpy arrays + (Correlated) k-resolved spectral function. + This dictionary has the form of `Akw[spn][n_k, n_om]` where spn, n_k and n_om are the spin, number of k-points, and number of frequencies used in the calculation. + pAkw : Dict of numpy arrays + (Correlated) k-resolved spectral function projected to atoms (i.e., the Trace of the orbital-projected A(k,w)). + This dictionary has the form of pAkw[n_shells][spn][n_k, n_om] where n_shells is the total number of correlated or uncorrelated shells. + Empty if proj_type = None + pAkw_orb : Dict of numpy arrays + (Correlated) k-resolved spectral function projected to atoms and + resolved into orbital contributions. + This dictionary has the form of pAkw[n_shells][spn][n_k, n_om,dim,dim] where dim specifies the orbital dimension of the correlated/uncorrelated shell. + Empty if proj_type = None """ - # check if ReFreqMesh is given - assert isinstance(self.mesh, MeshReFreq) - - things_to_read = ['n_k', 'n_orbitals', 'proj_mat', - 'hopping', 'n_parproj', 'proj_mat_all'] + # initialisation + if (proj_type != None): + assert proj_type in ('wann', 'wien2k'), "'proj_type' must be either 'wann', 'wien2k'" + if (proj_type != 'wann'): + assert proj_type == self.dft_code, "proj_type must be from the corresponding dft inputs." + things_to_read = ['n_k', 'n_orbitals', 'proj_mat', 'hopping'] subgroup_present, values_not_read = self.read_input_from_hdf( subgrp=self.bands_data, things_to_read=things_to_read) if len(values_not_read) > 0 and mpi.is_master_node: raise ValueError( 'ERROR: One or more necessary SumK input properties have not been found in the given h5 archive:', self.values_not_read) - if ishell is not None: - things_to_read = ['rot_mat_all', 'rot_mat_all_time_inv'] - subgroup_present, values_not_read = self.read_input_from_hdf( - subgrp=self.parproj_data, things_to_read=things_to_read) - if len(values_not_read) > 0 and mpi.is_master_node: - raise ValueError( - 'ERROR: One or more necessary SumK input properties have not been found in the given h5 archive:', self.values_not_read) + if (proj_type == 'wien2k'): + self.load_parproj(data_type='band') if mu is None: mu = self.chemical_potential - spn = self.spin_block_names[self.SO] - mesh = numpy.array([x.value for x in self.mesh]) + if (with_Sigma): + assert isinstance( + self.Sigma_imp[0].mesh, MeshReFreq), "SumkDFT.mesh must be real if with_Sigma is True" + mesh = self.Sigma_imp[0].mesh + elif mesh is not None: + assert isinstance(mesh, MeshReFreq), "mesh must be of form MeshReFreq" + if broadening is None: + broadening = 0.001 + elif self.mesh is not None: + assert isinstance(self.mesh, MeshReFreq), "self.mesh must be of form MeshReFreq" + mesh = self.mesh + if broadening is None: + broadening = 0.001 + else: + assert 0, "ReFreqMesh input required for calculations without real frequency self-energy" + mesh_val = numpy.linspace(mesh.w_min, mesh.w_max, len(mesh)) n_om = len(mesh) - + om_minplot = mesh_val[0] - 0.001 + om_maxplot = mesh_val[-1] + 0.001 if plot_range is None: - om_minplot = mesh[0] - 0.001 - om_maxplot = mesh[-1] + 0.001 + om_minplot = mesh_val[0] - 0.001 + om_maxplot = mesh_val[-1] + 0.001 else: om_minplot = plot_range[0] om_maxplot = plot_range[1] - n_om = len(mesh[(mesh > om_minplot)&(mesh < om_maxplot)]) + n_om = len(mesh_val[(mesh_val > om_minplot) & (mesh_val < om_maxplot)]) - if ishell is None: - Akw = {sp: numpy.zeros([self.n_k, n_om], float) - for sp in spn} - else: - Akw = {sp: numpy.zeros( - [self.shells[ishell]['dim'], self.n_k, n_om], float) for sp in spn} - - if ishell is not None: - assert isinstance(ishell, int) and ishell in range(len(self.shells)), "ishell must be of type integer and consistent with number of shells." - gf_struct_parproj = [ - (sp, self.shells[ishell]['dim']) for sp in spn] - G_loc = BlockGf(name_block_generator=[(block, GfReFreq(target_shape=(block_dim, block_dim), mesh=self.Sigma_imp[0].mesh)) - for block, block_dim in gf_struct_parproj], make_copies=False) - G_loc.zero() - - ikarray = numpy.array(list(range(self.n_k))) - for ik in mpi.slice_array(ikarray): - - G_latt_w = self.lattice_gf(ik=ik, mu=mu, broadening=broadening) - - if ishell is None: - # Non-projected A(k,w) - for bname, gf in G_latt_w: - Akw[bname][ik] = -gf.data[numpy.where((mesh > om_minplot)&(mesh < om_maxplot))].imag.trace(axis1=1, axis2=2)/numpy.pi - # shift Akw for plotting stacked k-resolved eps(k) - # curves - Akw[bname][ik] += ik * plot_shift - - else: # ishell not None - # Projected A(k,w): - G_loc.zero() - tmp = G_loc.copy() - for ir in range(self.n_parproj[ishell]): - for bname, gf in tmp: - tmp[bname] << self.downfold(ik, ishell, bname, G_latt_w[ - bname], gf, shells='all', ir=ir) - G_loc += tmp - - # Rotate to local frame - if self.use_rotations: - for bname, gf in G_loc: - G_loc[bname] << self.rotloc( - ishell, gf, direction='toLocal', shells='all') - - for ish in range(self.shells[ishell]['dim']): - for sp in spn: - Akw[sp][ish, ik] = -G_loc[sp].data[numpy.where((mesh > om_minplot)&(mesh < om_maxplot)),ish,ish].imag/numpy.pi - # Collect data from mpi - for sp in spn: - Akw[sp] = mpi.all_reduce( Akw[sp]) - mpi.barrier() + [Akw, pAkw, pAkw_orb] = self.gen_Akw(mu=mu, broadening=broadening, mesh=mesh, + plot_shift=plot_shift, plot_range=plot_range, + shell_list=shell_list, with_Sigma=with_Sigma, with_dc=with_dc, + proj_type=proj_type) if save_to_file and mpi.is_master_node(): - if ishell is None: - for sp in spn: # loop over GF blocs: - # Open file for storage: - f = open(save_to_file + sp + '.dat', 'w') - for ik in range(self.n_k): - for iom in range(n_om): - if (mesh[iom] > om_minplot) and (mesh[iom] < om_maxplot): - if plot_shift > 0.0001: - f.write('%s %s\n' % - (mesh[iom], Akw[sp][ik, iom])) - else: - f.write('%s %s %s\n' % - (ik, mesh[iom], Akw[sp][ik, iom])) - f.write('\n') - f.close() - - else: # ishell is not None + mesh_val2 = mesh_val[(mesh_val > om_minplot) & (mesh_val < om_maxplot)] + spn = self.spin_block_names[self.SO] + for sp in spn: + # Open file for storage: + f = open('Akw_' + sp + '.dat', 'w') + for ik in range(self.n_k): + for iom in range(n_om): + f.write('%s %s %s\n' % (ik, mesh_val2[iom], Akw[sp][ik, iom])) + f.write('\n') + f.close() + if (proj_type != None): + n_shells = len(pAkw[:]) + if shell_list == None: + shell_list = [ish for ish in range(n_shells)] for sp in spn: - for ish in range(self.shells[ishell]['dim']): + for ish in range(n_shells): + jsh = shell_list[ish] + f = open('Akw_' + proj_type + '_' + + sp + '_proj' + str(jsh) + '.dat', 'w') + for ik in range(self.n_k): + for iom in range(n_om): + f.write('%s %s %s\n' % ( + ik, mesh_val2[iom], pAkw[ish][sp][ik, iom])) + f.write('\n') + f.close() + # get orbital dimension from the length of dimension of the array + dim = len(pAkw_orb[ish][sp][0, 0, 0, :]) + for i in range(dim): + for j in range(dim): # Open file for storage: - f = open(save_to_file + str(ishell) + '_' + - sp + '_proj' + str(ish) + '.dat', 'w') + f = open('Akw_' + proj_type + '_' + sp + '_proj' + str(jsh) + + '_' + str(i) + '_' + str(j) + '.dat', 'w') for ik in range(self.n_k): for iom in range(n_om): - if (mesh[iom] > om_minplot) and (mesh[iom] < om_maxplot): - if plot_shift > 0.0001: - f.write('%s %s\n' % ( - mesh[iom], Akw[sp][ish, ik, iom])) - else: - f.write('%s %s %s\n' % ( - ik, mesh[iom], Akw[sp][ish, ik, iom])) + f.write('%s %s %s\n' % ( + ik, mesh_val2[iom], pAkw_orb[ish][sp][ik, iom, i, j])) f.write('\n') f.close() - return Akw + return Akw, pAkw, pAkw_orb + + def gen_Akw(self, mu, broadening, mesh, plot_shift, plot_range, shell_list, with_Sigma, with_dc, proj_type): + """ + Internal routine used by spaghettis and spectral_contours to Calculate the k-resolved spectral + function A(k,w). For advanced users only. + + Parameters + ---------- + mu : double + Chemical potential, overrides the one stored in the hdf5 archive. + broadening : double + Lorentzian broadening of the spectra. + mesh : real frequency MeshType, optional + Omega mesh for the real-frequency Green's function. + Given as parameter to lattice_gf. + plot_shift : double + Offset for each A(k,w) for stacked plotting of spectra. + plot_range : list of double + Sets the energy window for plotting to (plot_range[0],plot_range[1]). + shell_list : list of integers, optional + Contains the indices of the shells of which the projected spectral function + is calculated for. + If shell_list = None and proj_type is not None, then the projected spectral + function is calculated for all shells. + with_Sigma : boolean + If True, the self energy is used for the calculation. + If false, the DOS is calculated without self energy. + with_dc : boolean + If True the double counting correction is used. + proj_type : string + Output the orbital-projected A(k,w) type from the following: + 'wann' - Wannier A(k,w) calculated from the Wannier projectors + 'wien2k' - Wien2k orbital-projected A(k,w) from the wien2k theta projectors + + Returns + ------- + Akw : Dict of numpy arrays + (Correlated) k-resolved spectral function + pAkw : Dict of numpy arrays + (Correlated) k-resolved spectral function projected to atoms. + Empty if proj_type = None + pAkw_orb : Dict of numpy arrays + (Correlated) k-resolved spectral function projected to atoms and + resolved into orbital contributions. Empty if proj_type = None + """ + + mesh_val = numpy.linspace(mesh.w_min,mesh.w_max,len(mesh)) + n_om = len(mesh) + om_minplot = mesh_val[0] - 0.001 + om_maxplot = mesh_val[-1] + 0.001 + if plot_range is None: + om_minplot = mesh_val[0] - 0.001 + om_maxplot = mesh_val[-1] + 0.001 + else: + om_minplot = plot_range[0] + om_maxplot = plot_range[1] + n_om = len(mesh_val[(mesh_val > om_minplot)&(mesh_val < om_maxplot)]) + + #set-up spectral functions + spn = self.spin_block_names[self.SO] + Akw = {sp: numpy.zeros([self.n_k, n_om], float) for sp in spn} + pAkw = [] + pAkw_orb = [] + #set-up projected A(k,w) and parameters if required + if (proj_type): + if (proj_type == 'wann'): + n_shells = self.n_corr_shells + gf_struct = self.gf_struct_sumk.copy() + dims = [self.corr_shells[ish]['dim'] for ish in range(n_shells)] + shells_type = 'corr' + elif (proj_type == 'wien2k'): + n_shells = self.n_shells + gf_struct = [[(sp, self.shells[ish]['dim']) for sp in spn] + for ish in range(n_shells)] + dims = [self.shells[ish]['dim'] for ish in range(n_shells)] + shells_type = 'all' + #only outputting user specified parproj shells + if shell_list!=None: + for ish in shell_list: + if(ish > n_shells) or (ish < 0): + raise IOError("indices in shell_list input do not correspond \ + to existing self.shells indices") + n_shells = len(shell_list) + mpi.report("calculating spectral functions for following user specified shell_list:") + [mpi.report('%s : %s '%(ish, self.shells[ish])) for ish in shell_list] + else: + shell_list=[ish for ish in range(n_shells)] + #projected Akw via projectors + pAkw = [{} for ish in range(n_shells)] + pAkw_orb = [{} for ish in range(n_shells)] + #set-up Green's function object + G_loc = [] + for ish in range(n_shells): + jsh=shell_list[ish] + dim = dims[ish] + for sp in spn: + pAkw[ish][sp] = numpy.zeros([self.n_k, n_om], float) + pAkw_orb[ish][sp] = numpy.zeros([self.n_k, n_om, dim, dim], float) + glist = [GfReFreq(target_shape=(block_dim, block_dim), mesh=mesh) + for block, block_dim in gf_struct[ish]] + G_loc.append( + BlockGf(name_list=spn, block_list=glist, make_copies=False)) + G_loc[ish].zero() + + #calculate the spectral function + ikarray = numpy.array(list(range(self.n_k))) + for ik in mpi.slice_array(ikarray): + G_latt_w = self.lattice_gf(ik=ik, mu=mu, broadening=broadening, mesh=mesh, with_Sigma=with_Sigma, with_dc=with_dc) + # Non-projected A(k,w) + for bname, gf in G_latt_w: + Akw[bname][ik] = -gf.data[numpy.where((mesh_val > om_minplot) & + (mesh_val < om_maxplot))].imag.trace(axis1=1, axis2=2)/numpy.pi + # shift Akw for plotting stacked k-resolved eps(k) curves + Akw[bname][ik] += ik * plot_shift + #project spectral functions + if (proj_type!=None): + # Projected A(k,w): + for ish in range(n_shells): + G_loc[ish].zero() + tmp = G_loc[ish].copy() + tmp.zero() + tmp << self.proj_type_G_loc(G_latt_w, tmp, ik, ish, proj_type) + G_loc[ish] += tmp + # Rotate to local frame + if (self.use_rotations): + for ish in range(n_shells): + jsh=shell_list[ish] + for bname, gf in G_loc[ish]: + G_loc[ish][bname] << self.rotloc( + jsh, gf, direction='toLocal', shells=shells_type) + for ish in range(n_shells): + for bname, gf in G_loc[ish]: # loop over spins + pAkw_orb[ish][bname][ik,:,:,:] = -gf.data[numpy.where((mesh_val > om_minplot) & + (mesh_val < om_maxplot)),:,:].imag/numpy.pi + # shift pAkw_orb for plotting stacked k-resolved eps(k) curves + pAkw_orb[ish][sp][ik] += ik * plot_shift + + # Collect data from mpi + mpi.barrier() + for sp in spn: + Akw[sp] = mpi.all_reduce(Akw[sp]) + if (proj_type): + for ish in range(n_shells): + pAkw_orb[ish][sp] = mpi.all_reduce(pAkw_orb[ish][sp]) + pAkw[ish][sp] = pAkw_orb[ish][sp].trace(axis1=2, axis2=3) + mpi.barrier() + + return Akw, pAkw, pAkw_orb + def partial_charges(self, mu=None, with_Sigma=True, with_dc=True): """ Calculates the orbitally-resolved density matrix for all the orbitals considered in the input, consistent with diff --git a/test/python/elk/CMakeLists.txt b/test/python/elk/CMakeLists.txt index dc2eb6eb..b0faf1e8 100644 --- a/test/python/elk/CMakeLists.txt +++ b/test/python/elk/CMakeLists.txt @@ -1,10 +1,12 @@ -# load triqs helper to set up tests +# load triqs helper to set up tests (removed bandcharacter test for now) set(all_tests elk_convert elk_equiv_convert elk_bands_convert - elk_bandcharacter_convert +# elk_bandcharacter_convert + occ_test elk_transport_convert + elk_spectralcontours_convert ) file(GLOB all_test_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.py) diff --git a/test/python/elk/elk_bandcharacter_convert.py b/test/python/elk/elk_bandcharacter_convert.py index 5f361308..c33719c7 100644 --- a/test/python/elk/elk_bandcharacter_convert.py +++ b/test/python/elk/elk_bandcharacter_convert.py @@ -5,6 +5,7 @@ from triqs.utility.h5diff import h5diff import triqs.utility.mpi as mpi from triqs_dft_tools.converters import ElkConverter +from triqs_dft_tools.sumk_dft_tools import * #get current working directory path cwd = format(os.getcwd()) #location of test directory @@ -17,6 +18,27 @@ Converter.hdf_file = 'elk_bc_convert.out.h5' Converter.convert_dft_input() Converter.dft_band_characters() +SK = SumkDFTTools(hdf_file='elk_bc_convert.out.h5', use_dft_blocks=True) +SK.occupations(with_Sigma=False, with_dc=False) + +omin = -1.0 +omax = 1.0 +oN = 3 +mesh = MeshReFreq(omin,omax,oN) +dos_elk = SK.density_of_states(broadening=0.01, mesh=mesh, with_Sigma=False, with_dc=False, proj_type='elk', save_to_file=False) +dos_occ_elk = SK.density_of_states(broadening=0.01, mesh=mesh, with_Sigma=False, with_dc=False, proj_type='elk', dosocc=True, save_to_file=False) + +if mpi.is_master_node(): + + #with HDFArchive('elk_bc_convert.ref.h5', 'a') as ar: + # ar['dos_elk'] = dos_elk + # ar['dos_occ_elk'] = dos_occ_elk + # ar['dos_mesh'] = [omin,omax,oN] + with HDFArchive('elk_bc_convert.out.h5', 'a') as ar: + ar['dos_elk'] = dos_elk + ar['dos_occ_elk'] = dos_occ_elk + ar['dos_mesh'] = [omin,omax,oN] + if mpi.is_master_node(): h5diff('elk_bc_convert.out.h5','elk_bc_convert.ref.h5') diff --git a/test/python/elk/elk_bandcharacter_convert/elk_bc_convert.ref.h5 b/test/python/elk/elk_bandcharacter_convert/elk_bc_convert.ref.h5 index f3aa74ea..12c34739 100644 Binary files a/test/python/elk/elk_bandcharacter_convert/elk_bc_convert.ref.h5 and b/test/python/elk/elk_bandcharacter_convert/elk_bc_convert.ref.h5 differ diff --git a/test/python/elk/elk_bands_convert.py b/test/python/elk/elk_bands_convert.py index 0b7b7423..c6f25118 100644 --- a/test/python/elk/elk_bands_convert.py +++ b/test/python/elk/elk_bands_convert.py @@ -5,6 +5,7 @@ from triqs.utility.h5diff import h5diff import triqs.utility.mpi as mpi from triqs_dft_tools.converters import ElkConverter +from triqs_dft_tools.sumk_dft_tools import * #get current working directory path cwd = format(os.getcwd()) #location of test directory @@ -17,6 +18,24 @@ Converter.hdf_file = 'elk_bands_convert.out.h5' Converter.convert_dft_input() Converter.convert_bands_input() +omin = -1.0 +omax = 1.0 +oN = 3 +mesh = MeshReFreq(omin,omax,oN) +SK = SumkDFTTools(hdf_file='elk_bands_convert.out.h5', use_dft_blocks=True) +spag_wann = SK.spaghettis(broadening=0.01, mesh=mesh, with_Sigma=False, with_dc=False, proj_type='wann', save_to_file=False) + + +if mpi.is_master_node(): + + #with HDFArchive('elk_bands_convert.ref.h5', 'a') as ar: + # ar['spag_wann'] = spag_wann + # ar['mesh'] = [omin,omax,oN] + with HDFArchive('elk_bands_convert.out.h5', 'a') as ar: + ar['spag_wann'] = spag_wann + ar['mesh'] = [omin,omax,oN] + + if mpi.is_master_node(): h5diff('elk_bands_convert.out.h5','elk_bands_convert.ref.h5') diff --git a/test/python/elk/elk_bands_convert/elk_bands_convert.ref.h5 b/test/python/elk/elk_bands_convert/elk_bands_convert.ref.h5 index 5355aca9..ca0413a8 100644 Binary files a/test/python/elk/elk_bands_convert/elk_bands_convert.ref.h5 and b/test/python/elk/elk_bands_convert/elk_bands_convert.ref.h5 differ diff --git a/test/python/elk/elk_spectralcontours_convert.py b/test/python/elk/elk_spectralcontours_convert.py new file mode 100644 index 00000000..cdf69a0d --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert.py @@ -0,0 +1,60 @@ +import os +from h5 import * +from triqs.utility.comparison_tests import * +from triqs.utility.h5diff import h5diff +import triqs.utility.mpi as mpi + +from triqs_dft_tools.converters import ElkConverter +from triqs_dft_tools.sumk_dft_tools import * +#get current working directory path +cwd = format(os.getcwd()) +#location of test directory +testdir = cwd+'/elk_spectralcontours_convert' +#change to test directory +os.chdir(testdir) + +#default k-mesh +Converter = ElkConverter(filename='SrVO3', repacking=True) +Converter.hdf_file = 'elk_spectralcontours_convert.out.h5' +Converter.convert_dft_input() +Converter.convert_contours_input() + +omin = -1.0 +omax = 1.0 +oN = 3 +mesh = MeshReFreq(omin,omax,oN) +SK = SumkDFTTools(hdf_file='elk_spectralcontours_convert.out.h5', use_dft_blocks=True) +fs_elk = SK.spectral_contours(broadening=0.01, mesh=mesh, with_Sigma=False, with_dc=False, FS=True, proj_type='wann', save_to_file=False) +omega_elk = SK.spectral_contours(broadening=0.01, mesh=mesh, with_Sigma=False, with_dc=False, FS=False, proj_type='wann', save_to_file=False) +omega_range_elk = SK.spectral_contours(broadening=0.01, mesh=mesh, plot_range=(-0.5,2), with_Sigma=False, with_dc=False, FS=False, proj_type='wann', save_to_file=False) + +#user specified k-mesh - has to be same as used in elk.in +Converter = ElkConverter(filename='SrVO3', repacking=True) +Converter.hdf_file = 'elk_spectralcontours_convert.out.h5' +ngrid=np.array([10,10,1],np.int_) +kgrid=np.array([[0.0,0.0,0.0],[1.0,0.0,0.0],[0.0,1.0,0.0],[0.0,0.0,1.0]],np.float_) +Converter.convert_contours_input(kgrid=kgrid,ngrid=ngrid) +SK2 = SumkDFTTools(hdf_file='elk_spectralcontours_convert.out.h5', use_dft_blocks=True) +fs_elk_user = SK2.spectral_contours(broadening=0.01, mesh=mesh, with_Sigma=False, with_dc=False, FS=True, proj_type='wann', save_to_file=False) + +if mpi.is_master_node(): + + #with HDFArchive('elk_spectralcontours_convert.ref.h5', 'a') as ar: + # ar['fs_elk'] = fs_elk + # ar['fs_elk_user'] = fs_elk_user + # ar['omega_elk'] = omega_elk + # ar['omega_range_elk'] = omega_range_elk + # ar['mesh'] = [omin,omax,oN] + with HDFArchive('elk_spectralcontours_convert.out.h5', 'a') as ar: + ar['fs_elk'] = fs_elk + ar['fs_elk_user'] = fs_elk_user + ar['omega_elk'] = omega_elk + ar['omega_range_elk'] = omega_range_elk + ar['mesh'] = [omin,omax,oN] + + +if mpi.is_master_node(): + h5diff('elk_spectralcontours_convert.out.h5','elk_spectralcontours_convert.ref.h5') + +#return to cwd +os.chdir(cwd) diff --git a/test/python/elk/elk_spectralcontours_convert/EFERMI.OUT b/test/python/elk/elk_spectralcontours_convert/EFERMI.OUT new file mode 100644 index 00000000..d916e4e0 --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/EFERMI.OUT @@ -0,0 +1 @@ + 0.3211418521 diff --git a/test/python/elk/elk_spectralcontours_convert/EIGVAL.OUT b/test/python/elk/elk_spectralcontours_convert/EIGVAL.OUT new file mode 100644 index 00000000..e1ace37a --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/EIGVAL.OUT @@ -0,0 +1,452 @@ + 10 : nkpt + 41 : nstsv + + 1 0.000000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080910719 2.000000000 + 2 -1.131688868 2.000000000 + 3 -1.131688868 2.000000000 + 4 -1.131688868 2.000000000 + 5 -0.9440722281 2.000000000 + 6 -0.4008874810 2.000000000 + 7 -0.3552838641 2.000000000 + 8 -0.3552838641 2.000000000 + 9 -0.2841899184 2.000000000 + 10 -0.2841899184 2.000000000 + 11 -0.2841899184 2.000000000 + 12 0.1240403570 2.000000000 + 13 0.1240403570 2.000000000 + 14 0.1240403570 2.000000000 + 15 0.1963433344 2.000000000 + 16 0.1963433344 2.000000000 + 17 0.1963433344 2.000000000 + 18 0.2274643503 2.000000000 + 19 0.2274643503 2.000000000 + 20 0.2274643503 2.000000000 + 21 0.2787404948 2.000000000 + 22 0.2787404948 2.000000000 + 23 0.2787404948 2.000000000 + 24 0.3627396356 0.1719262367E-17 + 25 0.3627396356 0.1719262367E-17 + 26 0.4679669876 0.000000000 + 27 0.4679669876 0.000000000 + 28 0.4816901801 0.000000000 + 29 0.6363316249 0.000000000 + 30 0.6363316249 0.000000000 + 31 0.6363316249 0.000000000 + 32 0.7997526405 0.000000000 + 33 0.8808335095 0.000000000 + 34 0.8808335095 0.000000000 + 35 0.8808335095 0.000000000 + 36 1.065261897 0.000000000 + 37 1.106455928 0.000000000 + 38 1.106455928 0.000000000 + 39 1.106455928 0.000000000 + 40 1.114323880 0.000000000 + 41 1.114323880 0.000000000 + + + 2 0.2500000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080913193 2.000000000 + 2 -1.132327830 2.000000000 + 3 -1.131627115 2.000000000 + 4 -1.131627115 2.000000000 + 5 -0.9434460805 2.000000000 + 6 -0.4030965189 2.000000000 + 7 -0.3558073194 2.000000000 + 8 -0.3545831852 2.000000000 + 9 -0.2829724423 2.000000000 + 10 -0.2829724423 2.000000000 + 11 -0.2705119332 2.000000000 + 12 0.9560796544E-01 2.000000000 + 13 0.1228952839 2.000000000 + 14 0.1228952839 2.000000000 + 15 0.1683146037 2.000000000 + 16 0.1683146037 2.000000000 + 17 0.1775868429 2.000000000 + 18 0.1784449782 2.000000000 + 19 0.2167722434 2.000000000 + 20 0.2167722434 2.000000000 + 21 0.2810750475 2.000000000 + 22 0.3212383247 0.9518010834 + 23 0.3212383247 0.9518010834 + 24 0.3630289786 0.1287306864E-17 + 25 0.4141859733 0.000000000 + 26 0.5095225831 0.000000000 + 27 0.5111532545 0.000000000 + 28 0.5351317989 0.000000000 + 29 0.6323948955 0.000000000 + 30 0.6642391006 0.000000000 + 31 0.6642391006 0.000000000 + 32 0.7959842788 0.000000000 + 33 0.8780219214 0.000000000 + 34 0.8780219214 0.000000000 + 35 0.8898914875 0.000000000 + 36 0.9650596386 0.000000000 + 37 1.041840477 0.000000000 + 38 1.050392091 0.000000000 + 39 1.073097886 0.000000000 + 40 1.073097886 0.000000000 + 41 1.117664142 0.000000000 + + + 3 0.5000000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080912294 2.000000000 + 2 -1.132926000 2.000000000 + 3 -1.131564883 2.000000000 + 4 -1.131564883 2.000000000 + 5 -0.9428157584 2.000000000 + 6 -0.4084852674 2.000000000 + 7 -0.3538266767 2.000000000 + 8 -0.3494064835 2.000000000 + 9 -0.2817319657 2.000000000 + 10 -0.2817319657 2.000000000 + 11 -0.2598027528 2.000000000 + 12 0.6746678864E-01 2.000000000 + 13 0.1234010884 2.000000000 + 14 0.1234010884 2.000000000 + 15 0.1468283741 2.000000000 + 16 0.1474941442 2.000000000 + 17 0.1474941442 2.000000000 + 18 0.1641425238 2.000000000 + 19 0.2112615509 2.000000000 + 20 0.2112615509 2.000000000 + 21 0.2834528906 2.000000000 + 22 0.3519041118 0.8732736605E-13 + 23 0.3519041118 0.8732736605E-13 + 24 0.3633785741 0.9075167915E-18 + 25 0.4481704980 0.000000000 + 26 0.5555294131 0.000000000 + 27 0.5580645177 0.000000000 + 28 0.6281608880 0.000000000 + 29 0.6332808152 0.000000000 + 30 0.6924728482 0.000000000 + 31 0.6924728482 0.000000000 + 32 0.7832086939 0.000000000 + 33 0.7952333683 0.000000000 + 34 0.8782579932 0.000000000 + 35 0.8782579932 0.000000000 + 36 0.9262397892 0.000000000 + 37 0.9863709064 0.000000000 + 38 1.036659717 0.000000000 + 39 1.044273941 0.000000000 + 40 1.044273941 0.000000000 + 41 1.063670948 0.000000000 + + + 4 0.2500000000 0.2500000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080910305 2.000000000 + 2 -1.132253334 2.000000000 + 3 -1.132203942 2.000000000 + 4 -1.131564292 2.000000000 + 5 -0.9429128350 2.000000000 + 6 -0.3974642421 2.000000000 + 7 -0.3620613011 2.000000000 + 8 -0.3528792985 2.000000000 + 9 -0.2816629848 2.000000000 + 10 -0.2755380936 2.000000000 + 11 -0.2700258631 2.000000000 + 12 0.8547828315E-01 2.000000000 + 13 0.1039516055 2.000000000 + 14 0.1197230548 2.000000000 + 15 0.1233892019 2.000000000 + 16 0.1533643763 2.000000000 + 17 0.1753953421 2.000000000 + 18 0.1902845589 2.000000000 + 19 0.1940737286 2.000000000 + 20 0.2141345371 2.000000000 + 21 0.3192041969 1.748188638 + 22 0.3242569532 0.8497725960E-01 + 23 0.3326622012 0.1985188022E-04 + 24 0.3876946347 0.000000000 + 25 0.4473600939 0.000000000 + 26 0.5410462795 0.000000000 + 27 0.5568988187 0.000000000 + 28 0.5594024471 0.000000000 + 29 0.6584119709 0.000000000 + 30 0.6720929653 0.000000000 + 31 0.6729354314 0.000000000 + 32 0.7948725946 0.000000000 + 33 0.8323960461 0.000000000 + 34 0.8621206515 0.000000000 + 35 0.8968767900 0.000000000 + 36 0.9026311112 0.000000000 + 37 1.007375063 0.000000000 + 38 1.029511860 0.000000000 + 39 1.074335499 0.000000000 + 40 1.076877573 0.000000000 + 41 1.128715119 0.000000000 + + + 5 0.5000000000 0.2500000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080915142 2.000000000 + 2 -1.132870627 2.000000000 + 3 -1.132197689 2.000000000 + 4 -1.131556232 2.000000000 + 5 -0.9423759464 2.000000000 + 6 -0.3957985951 2.000000000 + 7 -0.3591886159 2.000000000 + 8 -0.3541237898 2.000000000 + 9 -0.2803411887 2.000000000 + 10 -0.2742745845 2.000000000 + 11 -0.2649434107 2.000000000 + 12 0.6526613080E-01 2.000000000 + 13 0.8555139360E-01 2.000000000 + 14 0.9994023735E-01 2.000000000 + 15 0.1245618184 2.000000000 + 16 0.1367849583 2.000000000 + 17 0.1699818356 2.000000000 + 18 0.1826235006 2.000000000 + 19 0.1855674022 2.000000000 + 20 0.2170412769 2.000000000 + 21 0.3221154164 0.5483412429 + 22 0.3512664743 0.1652238713E-12 + 23 0.3540552435 0.1016074895E-13 + 24 0.3921830392 0.000000000 + 25 0.4807900649 0.000000000 + 26 0.5824822150 0.000000000 + 27 0.6006494969 0.000000000 + 28 0.6229834244 0.000000000 + 29 0.6657915676 0.000000000 + 30 0.6890583665 0.000000000 + 31 0.6988887480 0.000000000 + 32 0.7600570316 0.000000000 + 33 0.7996674572 0.000000000 + 34 0.8243421355 0.000000000 + 35 0.8498168438 0.000000000 + 36 0.8644313429 0.000000000 + 37 0.9690404302 0.000000000 + 38 0.9869111018 0.000000000 + 39 1.034862996 0.000000000 + 40 1.123680910 0.000000000 + 41 1.128338774 0.000000000 + + + 6 0.5000000000 0.5000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080919469 2.000000000 + 2 -1.132821084 2.000000000 + 3 -1.132821084 2.000000000 + 4 -1.131556349 2.000000000 + 5 -0.9419324868 2.000000000 + 6 -0.3708454421 2.000000000 + 7 -0.3675374713 2.000000000 + 8 -0.3675374713 2.000000000 + 9 -0.2789251686 2.000000000 + 10 -0.2680364299 2.000000000 + 11 -0.2680364299 2.000000000 + 12 0.5665044952E-01 2.000000000 + 13 0.5993672713E-01 2.000000000 + 14 0.7465522869E-01 2.000000000 + 15 0.1269678634 2.000000000 + 16 0.1269678634 2.000000000 + 17 0.1634606661 2.000000000 + 18 0.1830616586 2.000000000 + 19 0.1830616586 2.000000000 + 20 0.2395130028 2.000000000 + 21 0.3509860321 0.2187093208E-12 + 22 0.3509860321 0.2187093208E-12 + 23 0.3642441290 0.3818993808E-18 + 24 0.4008409013 0.000000000 + 25 0.5180680382 0.000000000 + 26 0.6064481132 0.000000000 + 27 0.6159910731 0.000000000 + 28 0.6990396042 0.000000000 + 29 0.6990396042 0.000000000 + 30 0.7103343649 0.000000000 + 31 0.7103343649 0.000000000 + 32 0.7116369197 0.000000000 + 33 0.7967413206 0.000000000 + 34 0.8017159443 0.000000000 + 35 0.8017159443 0.000000000 + 36 0.8135759123 0.000000000 + 37 0.8435846616 0.000000000 + 38 0.9580135282 0.000000000 + 39 1.078257119 0.000000000 + 40 1.131319957 0.000000000 + 41 1.131319957 0.000000000 + + + 7 0.2500000000 0.2500000000 0.2500000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080913977 2.000000000 + 2 -1.132241568 2.000000000 + 3 -1.132172611 2.000000000 + 4 -1.132172611 2.000000000 + 5 -0.9424245661 2.000000000 + 6 -0.3896839023 2.000000000 + 7 -0.3569612248 2.000000000 + 8 -0.3569612248 2.000000000 + 9 -0.2818665975 2.000000000 + 10 -0.2818665975 2.000000000 + 11 -0.2671909185 2.000000000 + 12 0.7777182416E-01 2.000000000 + 13 0.1043736461 2.000000000 + 14 0.1043736461 2.000000000 + 15 0.1248592859 2.000000000 + 16 0.1248592859 2.000000000 + 17 0.1271180018 2.000000000 + 18 0.2063953518 2.000000000 + 19 0.2063953518 2.000000000 + 20 0.2182014310 2.000000000 + 21 0.3336490597 0.7399751594E-05 + 22 0.3371547058 0.2221958444E-06 + 23 0.3371547058 0.2221958444E-06 + 24 0.4466894689 0.000000000 + 25 0.4466894689 0.000000000 + 26 0.5645507189 0.000000000 + 27 0.5734253550 0.000000000 + 28 0.5734253550 0.000000000 + 29 0.6611231279 0.000000000 + 30 0.6611231279 0.000000000 + 31 0.6990740794 0.000000000 + 32 0.7649259038 0.000000000 + 33 0.8586074180 0.000000000 + 34 0.8599856377 0.000000000 + 35 0.8599856377 0.000000000 + 36 0.9036846530 0.000000000 + 37 1.014152150 0.000000000 + 38 1.014152150 0.000000000 + 39 1.058268396 0.000000000 + 40 1.080994750 0.000000000 + 41 1.080994750 0.000000000 + + + 8 0.5000000000 0.2500000000 0.2500000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080917843 2.000000000 + 2 -1.132810191 2.000000000 + 3 -1.132178689 2.000000000 + 4 -1.132133756 2.000000000 + 5 -0.9419326068 2.000000000 + 6 -0.3836090418 2.000000000 + 7 -0.3586874609 2.000000000 + 8 -0.3507955564 2.000000000 + 9 -0.2892621023 2.000000000 + 10 -0.2733714081 2.000000000 + 11 -0.2729057127 2.000000000 + 12 0.6418300003E-01 2.000000000 + 13 0.8759567475E-01 2.000000000 + 14 0.9829632479E-01 2.000000000 + 15 0.1062288532 2.000000000 + 16 0.1087052035 2.000000000 + 17 0.1320017692 2.000000000 + 18 0.2052277811 2.000000000 + 19 0.2110865712 2.000000000 + 20 0.2216363259 2.000000000 + 21 0.3392602725 0.2705826722E-07 + 22 0.3563641887 0.1009633014E-14 + 23 0.3578146532 0.2367199304E-15 + 24 0.4454329801 0.000000000 + 25 0.4886828614 0.000000000 + 26 0.5891619039 0.000000000 + 27 0.6102869678 0.000000000 + 28 0.6180362420 0.000000000 + 29 0.6198659280 0.000000000 + 30 0.6847871477 0.000000000 + 31 0.7249610769 0.000000000 + 32 0.7388741743 0.000000000 + 33 0.8161765665 0.000000000 + 34 0.8171066677 0.000000000 + 35 0.8708867936 0.000000000 + 36 0.8867366925 0.000000000 + 37 1.002008651 0.000000000 + 38 1.012283144 0.000000000 + 39 1.019094714 0.000000000 + 40 1.021550943 0.000000000 + 41 1.047281587 0.000000000 + + + 9 0.5000000000 0.5000000000 0.2500000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080921208 2.000000000 + 2 -1.132758919 2.000000000 + 3 -1.132758919 2.000000000 + 4 -1.132120892 2.000000000 + 5 -0.9414857882 2.000000000 + 6 -0.3596463816 2.000000000 + 7 -0.3591916695 2.000000000 + 8 -0.3591916695 2.000000000 + 9 -0.2880719366 2.000000000 + 10 -0.2806057944 2.000000000 + 11 -0.2806057944 2.000000000 + 12 0.5632350433E-01 2.000000000 + 13 0.7486414205E-01 2.000000000 + 14 0.7925223839E-01 2.000000000 + 15 0.1088394444 2.000000000 + 16 0.1088394444 2.000000000 + 17 0.1098299671 2.000000000 + 18 0.2164711067 2.000000000 + 19 0.2164711067 2.000000000 + 20 0.2410400548 2.000000000 + 21 0.3601440638 0.2304542215E-16 + 22 0.3601440638 0.2304542215E-16 + 23 0.3681877804 0.7400190992E-20 + 24 0.4633895546 0.000000000 + 25 0.5180560838 0.000000000 + 26 0.5766243705 0.000000000 + 27 0.6015462210 0.000000000 + 28 0.6015462210 0.000000000 + 29 0.6440257883 0.000000000 + 30 0.6771775015 0.000000000 + 31 0.7573218888 0.000000000 + 32 0.7573218888 0.000000000 + 33 0.7888483171 0.000000000 + 34 0.8361695632 0.000000000 + 35 0.8661467170 0.000000000 + 36 0.8941930696 0.000000000 + 37 0.8941930696 0.000000000 + 38 0.9781855322 0.000000000 + 39 1.024091390 0.000000000 + 40 1.057340734 0.000000000 + 41 1.057340734 0.000000000 + + + 10 0.5000000000 0.5000000000 0.5000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080926396 2.000000000 + 2 -1.132723022 2.000000000 + 3 -1.132723022 2.000000000 + 4 -1.132723022 2.000000000 + 5 -0.9410358021 2.000000000 + 6 -0.3473222676 2.000000000 + 7 -0.3473222676 2.000000000 + 8 -0.3473222676 2.000000000 + 9 -0.2965701321 2.000000000 + 10 -0.2965701321 2.000000000 + 11 -0.2965701321 2.000000000 + 12 0.4839222808E-01 2.000000000 + 13 0.7509750358E-01 2.000000000 + 14 0.7509750358E-01 2.000000000 + 15 0.9821261830E-01 2.000000000 + 16 0.9821261830E-01 2.000000000 + 17 0.9821261830E-01 2.000000000 + 18 0.2427208550 2.000000000 + 19 0.2427208550 2.000000000 + 20 0.2427208550 2.000000000 + 21 0.3724696265 0.000000000 + 22 0.3724696265 0.000000000 + 23 0.3724696265 0.000000000 + 24 0.5181679961 0.000000000 + 25 0.5181679961 0.000000000 + 26 0.5489633359 0.000000000 + 27 0.5489633359 0.000000000 + 28 0.5489633359 0.000000000 + 29 0.6285960800 0.000000000 + 30 0.7678537640 0.000000000 + 31 0.7678537640 0.000000000 + 32 0.7814962950 0.000000000 + 33 0.7814962950 0.000000000 + 34 0.7814962950 0.000000000 + 35 0.8648320259 0.000000000 + 36 0.9932576734 0.000000000 + 37 0.9932576734 0.000000000 + 38 0.9932576734 0.000000000 + 39 1.011396116 0.000000000 + 40 1.011396116 0.000000000 + 41 1.011396116 0.000000000 + diff --git a/test/python/elk/elk_spectralcontours_convert/EIGVAL_FS.OUT b/test/python/elk/elk_spectralcontours_convert/EIGVAL_FS.OUT new file mode 100644 index 00000000..c0b99cb3 --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/EIGVAL_FS.OUT @@ -0,0 +1,947 @@ + 21 : nkpt + 41 : nstsv + + 1 0.000000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080910732 2.000000000 + 2 -1.131688880 2.000000000 + 3 -1.131688880 2.000000000 + 4 -1.131688880 2.000000000 + 5 -0.9440722298 2.000000000 + 6 -0.4008874732 2.000000000 + 7 -0.3552838559 2.000000000 + 8 -0.3552838559 2.000000000 + 9 -0.2841899177 2.000000000 + 10 -0.2841899177 2.000000000 + 11 -0.2841899177 2.000000000 + 12 0.1240403629 2.000000000 + 13 0.1240403629 2.000000000 + 14 0.1240403629 2.000000000 + 15 0.1963433433 2.000000000 + 16 0.1963433433 2.000000000 + 17 0.1963433433 2.000000000 + 18 0.2274643581 2.000000000 + 19 0.2274643581 2.000000000 + 20 0.2274643581 2.000000000 + 21 0.2787404870 2.000000000 + 22 0.2787404870 2.000000000 + 23 0.2787404870 2.000000000 + 24 0.3627396270 2.000000000 + 25 0.3627396270 2.000000000 + 26 0.4679669946 2.000000000 + 27 0.4679669946 2.000000000 + 28 0.4816901860 2.000000000 + 29 0.6363316293 2.000000000 + 30 0.6363316293 2.000000000 + 31 0.6363316293 2.000000000 + 32 0.7997526401 2.000000000 + 33 0.8808335149 2.000000000 + 34 0.8808335149 2.000000000 + 35 0.8808335149 2.000000000 + 36 1.065261901 2.000000000 + 37 1.106455930 2.000000000 + 38 1.106455930 2.000000000 + 39 1.106455930 2.000000000 + 40 1.114323888 2.000000000 + 41 1.114323888 2.000000000 + + + 2 0.1000000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080909159 2.000000000 + 2 -1.131788409 2.000000000 + 3 -1.131653113 2.000000000 + 4 -1.131653113 2.000000000 + 5 -0.9439528486 2.000000000 + 6 -0.4009441708 2.000000000 + 7 -0.3561077380 2.000000000 + 8 -0.3551451458 2.000000000 + 9 -0.2839587662 2.000000000 + 10 -0.2839587662 2.000000000 + 11 -0.2812507232 2.000000000 + 12 0.1185854297 2.000000000 + 13 0.1238063011 2.000000000 + 14 0.1238063011 2.000000000 + 15 0.1900774254 2.000000000 + 16 0.1900774254 2.000000000 + 17 0.1927286537 2.000000000 + 18 0.2152146297 2.000000000 + 19 0.2242641155 2.000000000 + 20 0.2242641155 2.000000000 + 21 0.2793078375 2.000000000 + 22 0.2893639648 2.000000000 + 23 0.2893639648 2.000000000 + 24 0.3628780162 2.000000000 + 25 0.3755200552 2.000000000 + 26 0.4755702213 2.000000000 + 27 0.4761395316 2.000000000 + 28 0.4907634054 2.000000000 + 29 0.6356210242 2.000000000 + 30 0.6416676790 2.000000000 + 31 0.6416676790 2.000000000 + 32 0.8002497481 2.000000000 + 33 0.8801972789 2.000000000 + 34 0.8801972789 2.000000000 + 35 0.8818430198 2.000000000 + 36 1.025278627 2.000000000 + 37 1.098903002 2.000000000 + 38 1.098903002 2.000000000 + 39 1.101951189 2.000000000 + 40 1.116225531 2.000000000 + 41 1.116225531 2.000000000 + + + 3 0.2000000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080910445 2.000000000 + 2 -1.132107679 2.000000000 + 3 -1.131626043 2.000000000 + 4 -1.131626043 2.000000000 + 5 -0.9436399455 2.000000000 + 6 -0.4019508784 2.000000000 + 7 -0.3565598745 2.000000000 + 8 -0.3547841695 2.000000000 + 9 -0.2833501825 2.000000000 + 10 -0.2833501825 2.000000000 + 11 -0.2743365029 2.000000000 + 12 0.1045156557 2.000000000 + 13 0.1232424025 2.000000000 + 14 0.1232424025 2.000000000 + 15 0.1759037011 2.000000000 + 16 0.1759037011 2.000000000 + 17 0.1838968913 2.000000000 + 18 0.1900394817 2.000000000 + 19 0.2190799893 2.000000000 + 20 0.2190799893 2.000000000 + 21 0.2804060656 2.000000000 + 22 0.3105844969 2.000000000 + 23 0.3105844969 2.000000000 + 24 0.3630983947 2.000000000 + 25 0.4013553450 2.000000000 + 26 0.4962419742 2.000000000 + 27 0.4976868664 2.000000000 + 28 0.5167033978 2.000000000 + 29 0.6336505977 2.000000000 + 30 0.6556290197 2.000000000 + 31 0.6556290197 2.000000000 + 32 0.7989330049 2.000000000 + 33 0.8787525961 2.000000000 + 34 0.8787525961 2.000000000 + 35 0.8870155563 2.000000000 + 36 0.9822209427 2.000000000 + 37 1.070125904 2.000000000 + 38 1.082474527 2.000000000 + 39 1.082474527 2.000000000 + 40 1.090295428 2.000000000 + 41 1.117834337 2.000000000 + + + 4 0.3000000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080912816 2.000000000 + 2 -1.132506423 2.000000000 + 3 -1.131613690 2.000000000 + 4 -1.131613690 2.000000000 + 5 -0.9432517439 2.000000000 + 6 -0.4045424160 2.000000000 + 7 -0.3544032421 2.000000000 + 8 -0.3543462199 2.000000000 + 9 -0.2825923712 2.000000000 + 10 -0.2825923712 2.000000000 + 11 -0.2669551929 2.000000000 + 12 0.8681362897E-01 2.000000000 + 13 0.1227133110 2.000000000 + 14 0.1227133110 2.000000000 + 15 0.1614128727 2.000000000 + 16 0.1614128727 2.000000000 + 17 0.1668308889 2.000000000 + 18 0.1740270749 2.000000000 + 19 0.2148269986 2.000000000 + 20 0.2148269986 2.000000000 + 21 0.2817670354 2.000000000 + 22 0.3312427488 2.000000000 + 23 0.3312427488 2.000000000 + 24 0.3631011061 2.000000000 + 25 0.4258988934 2.000000000 + 26 0.5231761026 2.000000000 + 27 0.5251906115 2.000000000 + 28 0.5566800096 2.000000000 + 29 0.6311158172 2.000000000 + 30 0.6728816770 2.000000000 + 31 0.6728816770 2.000000000 + 32 0.7917158637 2.000000000 + 33 0.8776391194 2.000000000 + 34 0.8776391194 2.000000000 + 35 0.8866799191 2.000000000 + 36 0.9510228646 2.000000000 + 37 1.005432117 2.000000000 + 38 1.030977041 2.000000000 + 39 1.064082112 2.000000000 + 40 1.064082112 2.000000000 + 41 1.116755918 2.000000000 + + + 5 0.4000000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080913773 2.000000000 + 2 -1.132811074 2.000000000 + 3 -1.131593022 2.000000000 + 4 -1.131593022 2.000000000 + 5 -0.9429364678 2.000000000 + 6 -0.4073214723 2.000000000 + 7 -0.3540016654 2.000000000 + 8 -0.3510238123 2.000000000 + 9 -0.2819738743 2.000000000 + 10 -0.2819738743 2.000000000 + 11 -0.2616749848 2.000000000 + 12 0.7266757905E-01 2.000000000 + 13 0.1226684604 2.000000000 + 14 0.1226684604 2.000000000 + 15 0.1510793143 2.000000000 + 16 0.1510793143 2.000000000 + 17 0.1520090817 2.000000000 + 18 0.1665646486 2.000000000 + 19 0.2121892992 2.000000000 + 20 0.2121892992 2.000000000 + 21 0.2829072590 2.000000000 + 22 0.3462609687 2.000000000 + 23 0.3462609687 2.000000000 + 24 0.3632098974 2.000000000 + 25 0.4423450066 2.000000000 + 26 0.5463264649 2.000000000 + 27 0.5485586247 2.000000000 + 28 0.6046735437 2.000000000 + 29 0.6289897265 2.000000000 + 30 0.6867986244 2.000000000 + 31 0.6867986244 2.000000000 + 32 0.7826283996 2.000000000 + 33 0.8380263622 2.000000000 + 34 0.8777215736 2.000000000 + 35 0.8777215736 2.000000000 + 36 0.9323898655 2.000000000 + 37 0.9989170702 2.000000000 + 38 1.000888113 2.000000000 + 39 1.049750247 2.000000000 + 40 1.049750247 2.000000000 + 41 1.113716065 2.000000000 + + + 6 0.5000000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080912307 2.000000000 + 2 -1.132926012 2.000000000 + 3 -1.131564895 2.000000000 + 4 -1.131564895 2.000000000 + 5 -0.9428157601 2.000000000 + 6 -0.4084852604 2.000000000 + 7 -0.3538266685 2.000000000 + 8 -0.3494064753 2.000000000 + 9 -0.2817319652 2.000000000 + 10 -0.2817319652 2.000000000 + 11 -0.2598027512 2.000000000 + 12 0.6746679082E-01 2.000000000 + 13 0.1234010948 2.000000000 + 14 0.1234010948 2.000000000 + 15 0.1468283821 2.000000000 + 16 0.1474941488 2.000000000 + 17 0.1474941488 2.000000000 + 18 0.1641425322 2.000000000 + 19 0.2112615584 2.000000000 + 20 0.2112615584 2.000000000 + 21 0.2834528823 2.000000000 + 22 0.3519041066 2.000000000 + 23 0.3519041066 2.000000000 + 24 0.3633785655 2.000000000 + 25 0.4481704923 2.000000000 + 26 0.5555294202 2.000000000 + 27 0.5580645254 2.000000000 + 28 0.6281608941 2.000000000 + 29 0.6332808208 2.000000000 + 30 0.6924728550 2.000000000 + 31 0.6924728550 2.000000000 + 32 0.7832086999 2.000000000 + 33 0.7952333728 2.000000000 + 34 0.8782579967 2.000000000 + 35 0.8782579967 2.000000000 + 36 0.9262397905 2.000000000 + 37 0.9863709139 2.000000000 + 38 1.036659720 2.000000000 + 39 1.044273945 2.000000000 + 40 1.044273945 2.000000000 + 41 1.063670948 2.000000000 + + + 7 0.1000000000 0.1000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080909809 2.000000000 + 2 -1.131783983 2.000000000 + 3 -1.131778460 2.000000000 + 4 -1.131646823 2.000000000 + 5 -0.9438369886 2.000000000 + 6 -0.4007714455 2.000000000 + 7 -0.3567224439 2.000000000 + 8 -0.3553157995 2.000000000 + 9 -0.2837245234 2.000000000 + 10 -0.2824090445 2.000000000 + 11 -0.2799362929 2.000000000 + 12 0.1150485638 2.000000000 + 13 0.1216406841 2.000000000 + 14 0.1236018963 2.000000000 + 15 0.1779758078 2.000000000 + 16 0.1849552902 2.000000000 + 17 0.1965716424 2.000000000 + 18 0.2092220875 2.000000000 + 19 0.2177040299 2.000000000 + 20 0.2196304836 2.000000000 + 21 0.2884511446 2.000000000 + 22 0.2907991860 2.000000000 + 23 0.2957754366 2.000000000 + 24 0.3691861290 2.000000000 + 25 0.3821152784 2.000000000 + 26 0.4834116438 2.000000000 + 27 0.4835406850 2.000000000 + 28 0.4986254883 2.000000000 + 29 0.6392764593 2.000000000 + 30 0.6429031610 2.000000000 + 31 0.6465857201 2.000000000 + 32 0.8007754290 2.000000000 + 33 0.8727042784 2.000000000 + 34 0.8791858076 2.000000000 + 35 0.8886149302 2.000000000 + 36 0.9998809789 2.000000000 + 37 1.089546489 2.000000000 + 38 1.103794840 2.000000000 + 39 1.105521080 2.000000000 + 40 1.108420436 2.000000000 + 41 1.120487740 2.000000000 + + + 8 0.2000000000 0.1000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080911004 2.000000000 + 2 -1.132103557 2.000000000 + 3 -1.131753154 2.000000000 + 4 -1.131617529 2.000000000 + 5 -0.9435329353 2.000000000 + 6 -0.4010955001 2.000000000 + 7 -0.3576696458 2.000000000 + 8 -0.3547847781 2.000000000 + 9 -0.2831076533 2.000000000 + 10 -0.2814462403 2.000000000 + 11 -0.2741079299 2.000000000 + 12 0.1025888932 2.000000000 + 13 0.1195417824 2.000000000 + 14 0.1231287381 2.000000000 + 15 0.1604245817 2.000000000 + 16 0.1725472891 2.000000000 + 17 0.1877522008 2.000000000 + 18 0.1961162554 2.000000000 + 19 0.2117744813 2.000000000 + 20 0.2130070411 2.000000000 + 21 0.2902547402 2.000000000 + 22 0.3108105852 2.000000000 + 23 0.3124798806 2.000000000 + 24 0.3715895039 2.000000000 + 25 0.4062590170 2.000000000 + 26 0.5033406812 2.000000000 + 27 0.5046178472 2.000000000 + 28 0.5217695029 2.000000000 + 29 0.6389447777 2.000000000 + 30 0.6560922157 2.000000000 + 31 0.6592273872 2.000000000 + 32 0.7995469919 2.000000000 + 33 0.8661717790 2.000000000 + 34 0.8766911711 2.000000000 + 35 0.8954758696 2.000000000 + 36 0.9626908693 2.000000000 + 37 1.065754364 2.000000000 + 38 1.076861375 2.000000000 + 39 1.095167595 2.000000000 + 40 1.101831472 2.000000000 + 41 1.108118017 2.000000000 + + + 9 0.3000000000 0.1000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080912737 2.000000000 + 2 -1.132490982 2.000000000 + 3 -1.131733187 2.000000000 + 4 -1.131610717 2.000000000 + 5 -0.9431557018 2.000000000 + 6 -0.4029515269 2.000000000 + 7 -0.3563178674 2.000000000 + 8 -0.3539100079 2.000000000 + 9 -0.2823394100 2.000000000 + 10 -0.2808340428 2.000000000 + 11 -0.2674029147 2.000000000 + 12 0.8596370241E-01 2.000000000 + 13 0.1177181505 2.000000000 + 14 0.1227466379 2.000000000 + 15 0.1425930075 2.000000000 + 16 0.1589935104 2.000000000 + 17 0.1713887295 2.000000000 + 18 0.1893763145 2.000000000 + 19 0.2069629201 2.000000000 + 20 0.2080166189 2.000000000 + 21 0.2911866382 2.000000000 + 22 0.3312889666 2.000000000 + 23 0.3315617908 2.000000000 + 24 0.3719776255 2.000000000 + 25 0.4309496521 2.000000000 + 26 0.5296378331 2.000000000 + 27 0.5313980966 2.000000000 + 28 0.5592603672 2.000000000 + 29 0.6371714677 2.000000000 + 30 0.6736694970 2.000000000 + 31 0.6737615918 2.000000000 + 32 0.7918906762 2.000000000 + 33 0.8640331406 2.000000000 + 34 0.8744581344 2.000000000 + 35 0.8895700430 2.000000000 + 36 0.9330817218 2.000000000 + 37 1.006821410 2.000000000 + 38 1.036724165 2.000000000 + 39 1.058789088 2.000000000 + 40 1.086295647 2.000000000 + 41 1.105453586 2.000000000 + + + 10 0.4000000000 0.1000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080912743 2.000000000 + 2 -1.132795469 2.000000000 + 3 -1.131700197 2.000000000 + 4 -1.131575716 2.000000000 + 5 -0.9428493135 2.000000000 + 6 -0.4052812267 2.000000000 + 7 -0.3541493402 2.000000000 + 8 -0.3525554930 2.000000000 + 9 -0.2817092624 2.000000000 + 10 -0.2803570680 2.000000000 + 11 -0.2625950461 2.000000000 + 12 0.7234303420E-01 2.000000000 + 13 0.1173922479 2.000000000 + 14 0.1232433569 2.000000000 + 15 0.1287115262 2.000000000 + 16 0.1490856506 2.000000000 + 17 0.1618529377 2.000000000 + 18 0.1837267004 2.000000000 + 19 0.2039816629 2.000000000 + 20 0.2051453989 2.000000000 + 21 0.2921452827 2.000000000 + 22 0.3461954442 2.000000000 + 23 0.3462867264 2.000000000 + 24 0.3721207022 2.000000000 + 25 0.4476317903 2.000000000 + 26 0.5524612697 2.000000000 + 27 0.5543185122 2.000000000 + 28 0.6054150267 2.000000000 + 29 0.6356577046 2.000000000 + 30 0.6847531963 2.000000000 + 31 0.6880607942 2.000000000 + 32 0.7814144365 2.000000000 + 33 0.8371544856 2.000000000 + 34 0.8656912414 2.000000000 + 35 0.8747350444 2.000000000 + 36 0.9135038783 2.000000000 + 37 0.9951318914 2.000000000 + 38 1.007544309 2.000000000 + 39 1.049949285 2.000000000 + 40 1.073136852 2.000000000 + 41 1.099197941 2.000000000 + + + 11 0.5000000000 0.1000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080914315 2.000000000 + 2 -1.132923257 2.000000000 + 3 -1.131701512 2.000000000 + 4 -1.131575496 2.000000000 + 5 -0.9427320547 2.000000000 + 6 -0.4063131316 2.000000000 + 7 -0.3536388259 2.000000000 + 8 -0.3514535708 2.000000000 + 9 -0.2814703665 2.000000000 + 10 -0.2801731569 2.000000000 + 11 -0.2608952154 2.000000000 + 12 0.6694474275E-01 2.000000000 + 13 0.1197384269 2.000000000 + 14 0.1207529758 2.000000000 + 15 0.1232636010 2.000000000 + 16 0.1451677843 2.000000000 + 17 0.1586558483 2.000000000 + 18 0.1814609779 2.000000000 + 19 0.2028155005 2.000000000 + 20 0.2040686865 2.000000000 + 21 0.2924672053 2.000000000 + 22 0.3515327202 2.000000000 + 23 0.3516373277 2.000000000 + 24 0.3719997473 2.000000000 + 25 0.4533171831 2.000000000 + 26 0.5615841533 2.000000000 + 27 0.5636586733 2.000000000 + 28 0.6322343740 2.000000000 + 29 0.6350507924 2.000000000 + 30 0.6897146607 2.000000000 + 31 0.6932632682 2.000000000 + 32 0.7786790817 2.000000000 + 33 0.7963675073 2.000000000 + 34 0.8668828766 2.000000000 + 35 0.8758203487 2.000000000 + 36 0.9059146205 2.000000000 + 37 0.9940248633 2.000000000 + 38 1.006285494 2.000000000 + 39 1.063175015 2.000000000 + 40 1.068052560 2.000000000 + 41 1.080805203 2.000000000 + + + 12 0.2000000000 0.2000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080912506 2.000000000 + 2 -1.132103952 2.000000000 + 3 -1.132056499 2.000000000 + 4 -1.131598670 2.000000000 + 5 -0.9432521117 2.000000000 + 6 -0.3994376314 2.000000000 + 7 -0.3601450101 2.000000000 + 8 -0.3539373788 2.000000000 + 9 -0.2824692360 2.000000000 + 10 -0.2780522962 2.000000000 + 11 -0.2724978893 2.000000000 + 12 0.9553776557E-01 2.000000000 + 13 0.1117828910 2.000000000 + 14 0.1228909517 2.000000000 + 15 0.1399337624 2.000000000 + 16 0.1636010391 2.000000000 + 17 0.1829107785 2.000000000 + 18 0.1940253975 2.000000000 + 19 0.2030573884 2.000000000 + 20 0.2096937316 2.000000000 + 21 0.3083523303 2.000000000 + 22 0.3134070723 2.000000000 + 23 0.3208846297 2.000000000 + 24 0.3816832264 2.000000000 + 25 0.4239980613 2.000000000 + 26 0.5199348173 2.000000000 + 27 0.5269839957 2.000000000 + 28 0.5373781759 2.000000000 + 29 0.6495551846 2.000000000 + 30 0.6606788271 2.000000000 + 31 0.6672316840 2.000000000 + 32 0.7992389682 2.000000000 + 33 0.8489760400 2.000000000 + 34 0.8709675253 2.000000000 + 35 0.9014609987 2.000000000 + 36 0.9303865476 2.000000000 + 37 1.040171815 2.000000000 + 38 1.077097353 2.000000000 + 39 1.082713392 2.000000000 + 40 1.088909303 2.000000000 + 41 1.118663171 2.000000000 + + + 13 0.3000000000 0.2000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080912133 2.000000000 + 2 -1.132454475 2.000000000 + 3 -1.132033748 2.000000000 + 4 -1.131574407 2.000000000 + 5 -0.9429036059 2.000000000 + 6 -0.3988341452 2.000000000 + 7 -0.3605761620 2.000000000 + 8 -0.3529433976 2.000000000 + 9 -0.2816698826 2.000000000 + 10 -0.2767709619 2.000000000 + 11 -0.2684194473 2.000000000 + 12 0.8298732003E-01 2.000000000 + 13 0.1056640258 2.000000000 + 14 0.1213875142 2.000000000 + 15 0.1233525698 2.000000000 + 16 0.1526171699 2.000000000 + 17 0.1732429843 2.000000000 + 18 0.1917619289 2.000000000 + 19 0.1956090540 2.000000000 + 20 0.2099851872 2.000000000 + 21 0.3110899979 2.000000000 + 22 0.3315582607 2.000000000 + 23 0.3348943910 2.000000000 + 24 0.3854176231 2.000000000 + 25 0.4472154046 2.000000000 + 26 0.5430818043 2.000000000 + 27 0.5536360352 2.000000000 + 28 0.5682345260 2.000000000 + 29 0.6528989478 2.000000000 + 30 0.6743768747 2.000000000 + 31 0.6765465452 2.000000000 + 32 0.7914938418 2.000000000 + 33 0.8386821901 2.000000000 + 34 0.8643558564 2.000000000 + 35 0.8892499300 2.000000000 + 36 0.9034677194 2.000000000 + 37 0.9974717995 2.000000000 + 38 1.037498514 2.000000000 + 39 1.055618542 2.000000000 + 40 1.084095865 2.000000000 + 41 1.122522581 2.000000000 + + + 14 0.4000000000 0.2000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080914265 2.000000000 + 2 -1.132771899 2.000000000 + 3 -1.132016606 2.000000000 + 4 -1.131564584 2.000000000 + 5 -0.9426205890 2.000000000 + 6 -0.3995786453 2.000000000 + 7 -0.3583392890 2.000000000 + 8 -0.3528873988 2.000000000 + 9 -0.2810226947 2.000000000 + 10 -0.2764924767 2.000000000 + 11 -0.2648379220 2.000000000 + 12 0.7087498864E-01 2.000000000 + 13 0.9932707564E-01 2.000000000 + 14 0.1108048778 2.000000000 + 15 0.1236292000 2.000000000 + 16 0.1435793001 2.000000000 + 17 0.1675281467 2.000000000 + 18 0.1900930577 2.000000000 + 19 0.1912244858 2.000000000 + 20 0.2077179918 2.000000000 + 21 0.3116593413 2.000000000 + 22 0.3461002663 2.000000000 + 23 0.3475315866 2.000000000 + 24 0.3865239342 2.000000000 + 25 0.4637698796 2.000000000 + 26 0.5647847275 2.000000000 + 27 0.5751513546 2.000000000 + 28 0.6084438774 2.000000000 + 29 0.6535214406 2.000000000 + 30 0.6791323882 2.000000000 + 31 0.6910752928 2.000000000 + 32 0.7767791300 2.000000000 + 33 0.8325898080 2.000000000 + 34 0.8414369026 2.000000000 + 35 0.8619889029 2.000000000 + 36 0.8832336570 2.000000000 + 37 0.9782863714 2.000000000 + 38 1.022411299 2.000000000 + 39 1.032575179 2.000000000 + 40 1.091331552 2.000000000 + 41 1.118103456 2.000000000 + + + 15 0.5000000000 0.2000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080915413 2.000000000 + 2 -1.132891012 2.000000000 + 3 -1.132015592 2.000000000 + 4 -1.131566151 2.000000000 + 5 -0.9425122411 2.000000000 + 6 -0.4001227534 2.000000000 + 7 -0.3563639315 2.000000000 + 8 -0.3535917331 2.000000000 + 9 -0.2807743988 2.000000000 + 10 -0.2764149195 2.000000000 + 11 -0.2635225292 2.000000000 + 12 0.6600668299E-01 2.000000000 + 13 0.9601888614E-01 2.000000000 + 14 0.1084600340 2.000000000 + 15 0.1239913268 2.000000000 + 16 0.1399276136 2.000000000 + 17 0.1658165267 2.000000000 + 18 0.1893805363 2.000000000 + 19 0.1896718783 2.000000000 + 20 0.2065160207 2.000000000 + 21 0.3118758621 2.000000000 + 22 0.3513816352 2.000000000 + 23 0.3525644191 2.000000000 + 24 0.3867426607 2.000000000 + 25 0.4695667667 2.000000000 + 26 0.5741584825 2.000000000 + 27 0.5849285733 2.000000000 + 28 0.6272946748 2.000000000 + 29 0.6537010422 2.000000000 + 30 0.6877829689 2.000000000 + 31 0.6964877512 2.000000000 + 32 0.7671340909 2.000000000 + 33 0.7986908631 2.000000000 + 34 0.8399854218 2.000000000 + 35 0.8683713004 2.000000000 + 36 0.8691569600 2.000000000 + 37 0.9774250673 2.000000000 + 38 1.020782934 2.000000000 + 39 1.022953844 2.000000000 + 40 1.114830034 2.000000000 + 41 1.115916337 2.000000000 + + + 16 0.3000000000 0.3000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080914971 2.000000000 + 2 -1.132436968 2.000000000 + 3 -1.132418318 2.000000000 + 4 -1.131566223 2.000000000 + 5 -0.9425907807 2.000000000 + 6 -0.3941947599 2.000000000 + 7 -0.3638680315 2.000000000 + 8 -0.3525985296 2.000000000 + 9 -0.2808414814 2.000000000 + 10 -0.2731334556 2.000000000 + 11 -0.2687672089 2.000000000 + 12 0.7628097937E-01 2.000000000 + 13 0.9506503790E-01 2.000000000 + 14 0.9991662173E-01 2.000000000 + 15 0.1236247471 2.000000000 + 16 0.1443583254 2.000000000 + 17 0.1725632088 2.000000000 + 18 0.1849440665 2.000000000 + 19 0.1870269238 2.000000000 + 20 0.2204518612 2.000000000 + 21 0.3291533561 2.000000000 + 22 0.3334940275 2.000000000 + 23 0.3429692716 2.000000000 + 24 0.3923315456 2.000000000 + 25 0.4692595910 2.000000000 + 26 0.5617780604 2.000000000 + 27 0.5810461786 2.000000000 + 28 0.5906249070 2.000000000 + 29 0.6693193914 2.000000000 + 30 0.6712112119 2.000000000 + 31 0.6837327429 2.000000000 + 32 0.7863484353 2.000000000 + 33 0.8144049415 2.000000000 + 34 0.8480547574 2.000000000 + 35 0.8793045114 2.000000000 + 36 0.8811230337 2.000000000 + 37 0.9787079024 2.000000000 + 38 0.9809969101 2.000000000 + 39 1.068074555 2.000000000 + 40 1.081333640 2.000000000 + 41 1.142822231 2.000000000 + + + 17 0.4000000000 0.3000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080916149 2.000000000 + 2 -1.132733541 2.000000000 + 3 -1.132400746 2.000000000 + 4 -1.131568612 2.000000000 + 5 -0.9423366413 2.000000000 + 6 -0.3914794664 2.000000000 + 7 -0.3635836581 2.000000000 + 8 -0.3538096622 2.000000000 + 9 -0.2801657495 2.000000000 + 10 -0.2722594797 2.000000000 + 11 -0.2671308164 2.000000000 + 12 0.6791777276E-01 2.000000000 + 13 0.8235645579E-01 2.000000000 + 14 0.9198296479E-01 2.000000000 + 15 0.1244120614 2.000000000 + 16 0.1368848169 2.000000000 + 17 0.1730677251 2.000000000 + 18 0.1783102819 2.000000000 + 19 0.1848129957 2.000000000 + 20 0.2244940378 2.000000000 + 21 0.3312688690 2.000000000 + 22 0.3459275707 2.000000000 + 23 0.3522193117 2.000000000 + 24 0.3951048220 2.000000000 + 25 0.4861413807 2.000000000 + 26 0.5816109844 2.000000000 + 27 0.6007419184 2.000000000 + 28 0.6221902279 2.000000000 + 29 0.6722373150 2.000000000 + 30 0.6764926581 2.000000000 + 31 0.6961463328 2.000000000 + 32 0.7686733701 2.000000000 + 33 0.8052301596 2.000000000 + 34 0.8359038407 2.000000000 + 35 0.8375336935 2.000000000 + 36 0.8658094998 2.000000000 + 37 0.9487850813 2.000000000 + 38 0.9681844240 2.000000000 + 39 1.055395650 2.000000000 + 40 1.100695686 2.000000000 + 41 1.155650871 2.000000000 + + + 18 0.5000000000 0.3000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080915624 2.000000000 + 2 -1.132850089 2.000000000 + 3 -1.132388258 2.000000000 + 4 -1.131547752 2.000000000 + 5 -0.9422393049 2.000000000 + 6 -0.3908737675 2.000000000 + 7 -0.3618869250 2.000000000 + 8 -0.3553445021 2.000000000 + 9 -0.2799058677 2.000000000 + 10 -0.2722492654 2.000000000 + 11 -0.2661706205 2.000000000 + 12 0.6414383834E-01 2.000000000 + 13 0.7660769556E-01 2.000000000 + 14 0.9093097487E-01 2.000000000 + 15 0.1251700771 2.000000000 + 16 0.1336952547 2.000000000 + 17 0.1740886849 2.000000000 + 18 0.1763261642 2.000000000 + 19 0.1835857744 2.000000000 + 20 0.2255134950 2.000000000 + 21 0.3316233696 2.000000000 + 22 0.3511715339 2.000000000 + 23 0.3563289914 2.000000000 + 24 0.3959382304 2.000000000 + 25 0.4922753552 2.000000000 + 26 0.5914731571 2.000000000 + 27 0.6181130599 2.000000000 + 28 0.6193088746 2.000000000 + 29 0.6784747967 2.000000000 + 30 0.6913423708 2.000000000 + 31 0.7016502917 2.000000000 + 32 0.7525755071 2.000000000 + 33 0.8004113737 2.000000000 + 34 0.8092377498 2.000000000 + 35 0.8328494307 2.000000000 + 36 0.8590811936 2.000000000 + 37 0.9465071345 2.000000000 + 38 0.9633976262 2.000000000 + 39 1.048557906 2.000000000 + 40 1.128880774 2.000000000 + 41 1.135097909 2.000000000 + + + 19 0.4000000000 0.4000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080917731 2.000000000 + 2 -1.132706790 2.000000000 + 3 -1.132705960 2.000000000 + 4 -1.131565401 2.000000000 + 5 -0.9421058471 2.000000000 + 6 -0.3834790329 2.000000000 + 7 -0.3665756857 2.000000000 + 8 -0.3570864087 2.000000000 + 9 -0.2794661602 2.000000000 + 10 -0.2694169315 2.000000000 + 11 -0.2681876336 2.000000000 + 12 0.6262103867E-01 2.000000000 + 13 0.7013842048E-01 2.000000000 + 14 0.8024033427E-01 2.000000000 + 15 0.1254457466 2.000000000 + 16 0.1313479904 2.000000000 + 17 0.1698189050 2.000000000 + 18 0.1778454377 2.000000000 + 19 0.1838364258 2.000000000 + 20 0.2336514639 2.000000000 + 21 0.3450032871 2.000000000 + 22 0.3464698221 2.000000000 + 23 0.3585864382 2.000000000 + 24 0.3987603737 2.000000000 + 25 0.5043366555 2.000000000 + 26 0.5981716290 2.000000000 + 27 0.6101071207 2.000000000 + 28 0.6613991904 2.000000000 + 29 0.6670118773 2.000000000 + 30 0.6950159846 2.000000000 + 31 0.7028656497 2.000000000 + 32 0.7534178061 2.000000000 + 33 0.7865876965 2.000000000 + 34 0.8143653036 2.000000000 + 35 0.8276587658 2.000000000 + 36 0.8538559625 2.000000000 + 37 0.8846840956 2.000000000 + 38 0.9599417139 2.000000000 + 39 1.068976702 2.000000000 + 40 1.110556071 2.000000000 + 41 1.159698049 2.000000000 + + + 20 0.5000000000 0.4000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080917891 2.000000000 + 2 -1.132827350 2.000000000 + 3 -1.132688495 2.000000000 + 4 -1.131562003 2.000000000 + 5 -0.9420174680 2.000000000 + 6 -0.3800462132 2.000000000 + 7 -0.3660252128 2.000000000 + 8 -0.3604288618 2.000000000 + 9 -0.2791973288 2.000000000 + 10 -0.2691628168 2.000000000 + 11 -0.2676617893 2.000000000 + 12 0.5993194062E-01 2.000000000 + 13 0.6425223388E-01 2.000000000 + 14 0.7786030826E-01 2.000000000 + 15 0.1263728510 2.000000000 + 16 0.1287707523 2.000000000 + 17 0.1668697214 2.000000000 + 18 0.1805627823 2.000000000 + 19 0.1829975597 2.000000000 + 20 0.2360688023 2.000000000 + 21 0.3457297335 2.000000000 + 22 0.3509995361 2.000000000 + 23 0.3616826223 2.000000000 + 24 0.3997580283 2.000000000 + 25 0.5109441828 2.000000000 + 26 0.6083858840 2.000000000 + 27 0.6097125375 2.000000000 + 28 0.6627027592 2.000000000 + 29 0.6967353862 2.000000000 + 30 0.7008363829 2.000000000 + 31 0.7073978040 2.000000000 + 32 0.7347418759 2.000000000 + 33 0.7903798822 2.000000000 + 34 0.8013347673 2.000000000 + 35 0.8067730797 2.000000000 + 36 0.8485275110 2.000000000 + 37 0.8667098609 2.000000000 + 38 0.9586620793 2.000000000 + 39 1.069981813 2.000000000 + 40 1.131713603 2.000000000 + 41 1.135135916 2.000000000 + + + 21 0.5000000000 0.5000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080919482 2.000000000 + 2 -1.132821097 2.000000000 + 3 -1.132821097 2.000000000 + 4 -1.131556361 2.000000000 + 5 -0.9419324886 2.000000000 + 6 -0.3708454340 2.000000000 + 7 -0.3675374646 2.000000000 + 8 -0.3675374646 2.000000000 + 9 -0.2789251682 2.000000000 + 10 -0.2680364276 2.000000000 + 11 -0.2680364276 2.000000000 + 12 0.5665045277E-01 2.000000000 + 13 0.5993673263E-01 2.000000000 + 14 0.7465522991E-01 2.000000000 + 15 0.1269678685 2.000000000 + 16 0.1269678685 2.000000000 + 17 0.1634606715 2.000000000 + 18 0.1830616667 2.000000000 + 19 0.1830616667 2.000000000 + 20 0.2395130119 2.000000000 + 21 0.3509860264 2.000000000 + 22 0.3509860264 2.000000000 + 23 0.3642441218 2.000000000 + 24 0.4008408942 2.000000000 + 25 0.5180680338 2.000000000 + 26 0.6064481199 2.000000000 + 27 0.6159910807 2.000000000 + 28 0.6990396102 2.000000000 + 29 0.6990396102 2.000000000 + 30 0.7103343712 2.000000000 + 31 0.7103343712 2.000000000 + 32 0.7116369245 2.000000000 + 33 0.7967413245 2.000000000 + 34 0.8017159495 2.000000000 + 35 0.8017159495 2.000000000 + 36 0.8135759195 2.000000000 + 37 0.8435846655 2.000000000 + 38 0.9580135298 2.000000000 + 39 1.078257127 2.000000000 + 40 1.131319960 2.000000000 + 41 1.131319960 2.000000000 + diff --git a/test/python/elk/elk_spectralcontours_convert/GEOMETRY.OUT b/test/python/elk/elk_spectralcontours_convert/GEOMETRY.OUT new file mode 100644 index 00000000..069386d7 --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/GEOMETRY.OUT @@ -0,0 +1,31 @@ + +scale + 1.0 + +scale1 + 1.0 + +scale2 + 1.0 + +scale3 + 1.0 + +avec + 7.260500000 0.000000000 0.000000000 + 0.000000000 7.260500000 0.000000000 + 0.000000000 0.000000000 7.260500000 + +atoms + 3 : nspecies +'Sr.in' : spfname + 1 : natoms; atpos, bfcmt below + 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 +'V.in' : spfname + 1 : natoms; atpos, bfcmt below + 0.50000000 0.50000000 0.50000000 0.00000000 0.00000000 0.00000000 +'O.in' : spfname + 3 : natoms; atpos, bfcmt below + 0.00000000 0.50000000 0.50000000 0.00000000 0.00000000 0.00000000 + 0.50000000 0.00000000 0.50000000 0.00000000 0.00000000 0.00000000 + 0.50000000 0.50000000 0.00000000 0.00000000 0.00000000 0.00000000 diff --git a/test/python/elk/elk_spectralcontours_convert/KPOINTS.OUT b/test/python/elk/elk_spectralcontours_convert/KPOINTS.OUT new file mode 100644 index 00000000..12fb88d5 --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/KPOINTS.OUT @@ -0,0 +1,11 @@ + 10 : nkpt; k-point, vkl, wkpt, nmat below + 1 0.000000000 0.000000000 0.000000000 0.1562500000E-01 401 + 2 0.2500000000 0.000000000 0.000000000 0.9375000000E-01 397 + 3 0.5000000000 0.000000000 0.000000000 0.4687500000E-01 372 + 4 0.2500000000 0.2500000000 0.000000000 0.1875000000 374 + 5 0.5000000000 0.2500000000 0.000000000 0.1875000000 386 + 6 0.5000000000 0.5000000000 0.000000000 0.4687500000E-01 392 + 7 0.2500000000 0.2500000000 0.2500000000 0.1250000000 386 + 8 0.5000000000 0.2500000000 0.2500000000 0.1875000000 386 + 9 0.5000000000 0.5000000000 0.2500000000 0.9375000000E-01 388 + 10 0.5000000000 0.5000000000 0.5000000000 0.1562500000E-01 396 diff --git a/test/python/elk/elk_spectralcontours_convert/KPOINTS_FS.OUT b/test/python/elk/elk_spectralcontours_convert/KPOINTS_FS.OUT new file mode 100644 index 00000000..c58957c4 --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/KPOINTS_FS.OUT @@ -0,0 +1,22 @@ + 21 : nkpt; k-point, vkl, wkpt, nmat below + 1 0.000000000 0.000000000 0.000000000 0.1000000000E-01 401 + 2 0.1000000000 0.000000000 0.000000000 0.4000000000E-01 389 + 3 0.2000000000 0.000000000 0.000000000 0.4000000000E-01 385 + 4 0.3000000000 0.000000000 0.000000000 0.4000000000E-01 393 + 5 0.4000000000 0.000000000 0.000000000 0.4000000000E-01 388 + 6 0.5000000000 0.000000000 0.000000000 0.2000000000E-01 372 + 7 0.1000000000 0.1000000000 0.000000000 0.4000000000E-01 392 + 8 0.2000000000 0.1000000000 0.000000000 0.8000000000E-01 387 + 9 0.3000000000 0.1000000000 0.000000000 0.8000000000E-01 392 + 10 0.4000000000 0.1000000000 0.000000000 0.8000000000E-01 381 + 11 0.5000000000 0.1000000000 0.000000000 0.4000000000E-01 388 + 12 0.2000000000 0.2000000000 0.000000000 0.4000000000E-01 392 + 13 0.3000000000 0.2000000000 0.000000000 0.8000000000E-01 380 + 14 0.4000000000 0.2000000000 0.000000000 0.8000000000E-01 388 + 15 0.5000000000 0.2000000000 0.000000000 0.4000000000E-01 390 + 16 0.3000000000 0.3000000000 0.000000000 0.4000000000E-01 382 + 17 0.4000000000 0.3000000000 0.000000000 0.8000000000E-01 389 + 18 0.5000000000 0.3000000000 0.000000000 0.4000000000E-01 386 + 19 0.4000000000 0.4000000000 0.000000000 0.4000000000E-01 390 + 20 0.5000000000 0.4000000000 0.000000000 0.4000000000E-01 394 + 21 0.5000000000 0.5000000000 0.000000000 0.1000000000E-01 392 diff --git a/test/python/elk/elk_spectralcontours_convert/LATTICE.OUT b/test/python/elk/elk_spectralcontours_convert/LATTICE.OUT new file mode 100644 index 00000000..9fbd2c10 --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/LATTICE.OUT @@ -0,0 +1,41 @@ + ++----------------------------+ +| Real-space lattice vectors | ++----------------------------+ + +vector a1 : 7.260500000 0.000000000 0.000000000 +vector a2 : 0.000000000 7.260500000 0.000000000 +vector a3 : 0.000000000 0.000000000 7.260500000 + +Stored column-wise as a matrix : + 7.260500000 0.000000000 0.000000000 + 0.000000000 7.260500000 0.000000000 + 0.000000000 0.000000000 7.260500000 + +Inverse of matrix : + 0.1377315612 0.000000000 0.000000000 + 0.000000000 0.1377315612 0.000000000 + 0.000000000 0.000000000 0.1377315612 + +Unit cell volume : 382.7362428 + + ++----------------------------------+ +| Reciprocal-space lattice vectors | ++----------------------------------+ + +vector b1 : 0.8653929216 0.000000000 0.000000000 +vector b2 : 0.000000000 0.8653929216 0.000000000 +vector b3 : 0.000000000 0.000000000 0.8653929216 + +Stored column-wise as a matrix : + 0.8653929216 0.000000000 0.000000000 + 0.000000000 0.8653929216 0.000000000 + 0.000000000 0.000000000 0.8653929216 + +Inverse of matrix : + 1.155544464 0.000000000 0.000000000 + 0.000000000 1.155544464 0.000000000 + 0.000000000 0.000000000 1.155544464 + +Brillouin zone volume : 0.6480970070 diff --git a/test/python/elk/elk_spectralcontours_convert/PROJ.OUT b/test/python/elk/elk_spectralcontours_convert/PROJ.OUT new file mode 100644 index 00000000..51b27a0f --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/PROJ.OUT @@ -0,0 +1,8 @@ + 1 10 1 0 5 : nproj, nkpt, nspinor, spinorb, natmtot + 1 : Proj index + 2 1 2 3 : Species index, natoms, l, lm submatrix size + 1 : Subset no. of equivalent atoms + 1 2 : atom, spatom + 3 4 5 : lm indices + 1 : Cubic Harmonics + diff --git a/test/python/elk/elk_spectralcontours_convert/PROJ_FS.OUT b/test/python/elk/elk_spectralcontours_convert/PROJ_FS.OUT new file mode 100644 index 00000000..52f3d953 --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/PROJ_FS.OUT @@ -0,0 +1,8 @@ + 1 21 1 0 5 : nproj, nkpt, nspinor, spinorb, natmtot + 1 : Proj index + 2 1 2 3 : Species index, natoms, l, lm submatrix size + 1 : Subset no. of equivalent atoms + 1 2 : atom, spatom + 3 4 5 : lm indices + 1 : Cubic Harmonics + diff --git a/test/python/elk/elk_spectralcontours_convert/SYMCRYS.OUT b/test/python/elk/elk_spectralcontours_convert/SYMCRYS.OUT new file mode 100644 index 00000000..5308b334 --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/SYMCRYS.OUT @@ -0,0 +1,580 @@ + +(translation vectors and rotation matrices are in lattice coordinates) + + 48 : nsymcrys + +Crystal symmetry : 1 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 1 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 2 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 -1 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 3 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 0 -1 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 4 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 0 -1 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 5 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 0 1 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 6 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 0 1 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 7 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 1 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 8 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 1 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 9 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + -1 0 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 10 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + -1 0 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 11 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 0 0 -1 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 12 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 0 0 -1 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 13 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 0 0 1 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 14 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 0 0 1 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 15 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 1 0 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 16 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 1 0 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 17 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + -1 0 0 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 18 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + -1 0 0 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 19 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 0 -1 0 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 20 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 0 -1 0 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 21 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 0 1 0 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 22 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 0 1 0 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 23 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 1 0 0 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 24 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 1 0 0 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 25 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + -1 0 0 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 26 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + -1 0 0 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 27 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 0 -1 0 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 28 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 0 -1 0 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 29 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 0 1 0 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 30 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 0 1 0 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 31 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 1 0 0 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 32 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 1 0 0 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 33 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + -1 0 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 34 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + -1 0 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 35 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 0 0 -1 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 36 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 0 0 -1 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 37 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 0 0 1 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 38 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 0 0 1 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 39 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 1 0 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 40 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 1 0 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 41 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 -1 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 42 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 -1 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 43 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 0 -1 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 44 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 0 -1 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 45 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 0 1 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 46 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 0 1 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 47 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 1 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 48 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 -1 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 diff --git a/test/python/elk/elk_spectralcontours_convert/WANPROJ_L02_S02_A0001.OUT b/test/python/elk/elk_spectralcontours_convert/WANPROJ_L02_S02_A0001.OUT new file mode 100644 index 00000000..cbd1e5da --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/WANPROJ_L02_S02_A0001.OUT @@ -0,0 +1,141 @@ + 10 5 3 : number of k-points, lmmax, reduced lmmax + 1 0.000000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -6.7105655955802212E-031 -6.3882801826833444E-034 6.6550957365569281E-017 2.1138614120121491E-017 4.6399095851368767E-017 0.0000000000000000 0.0000000000000000 -2.7914921757873600E-018 -8.3744765273620791E-018 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 5.7795494640664351E-015 1.2776560365366689E-033 -0.48033027589968202 -0.30182410550742983 -0.42211967324074606 0.0000000000000000 0.0000000000000000 3.5748250748869175E-034 1.0724475224660752E-033 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -5.8038606982369813E-015 -1.2776560365366689E-033 0.48033027589968202 0.30182410550742983 0.42211967324074606 0.0000000000000000 0.0000000000000000 -3.5748250748869175E-034 -1.0724475224660752E-033 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 6.7105655955802212E-031 6.3882801826833444E-034 -6.6550957365569281E-017 -2.1138614120121491E-017 -4.6399095851368767E-017 0.0000000000000000 0.0000000000000000 2.7914921757873600E-018 8.3744765273620791E-018 0.0000000000000000 + + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.8255013034021984E-031 1.5172165433872943E-033 0.43321280875551299 -0.54988314907614744 -9.9775587396690527E-002 0.0000000000000000 0.0000000000000000 7.0219778256707301E-035 2.1065933477012192E-034 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 5.6510026068043968E-031 3.7367733404265051E-015 0.28567371515838208 0.32639043313926341 -0.55844408562618808 0.0000000000000000 0.0000000000000000 -1.3618381237664447E-034 -4.0855143712993341E-034 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -5.6510026068043968E-031 3.7629626999920564E-015 0.28567371515838241 0.32639043313926330 -0.55844408562618786 0.0000000000000000 0.0000000000000000 1.3618381237664447E-034 4.0855143712993341E-034 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.8255013034021984E-031 -1.5172165433872943E-033 -0.43321280875551299 0.54988314907614744 9.9775587396690527E-002 0.0000000000000000 0.0000000000000000 -7.0219778256707301E-035 -2.1065933477012192E-034 0.0000000000000000 + + 2 0.2500000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + -1.1479430934821716E-015 -4.1201831605635411E-002 3.2486659603760099E-002 -0.12807750971585008 -0.14798916110561403 6.5050108630656391E-015 -1.5203412994034713E-016 -5.5437384367849923E-002 -4.7068691699284550E-002 3.8676270967438337E-015 0.28354081699962441 0.35108151134858573 2.0116336114354248E-015 -9.6208564025172474E-016 6.0267012407814007E-016 -3.6044046536419372E-017 -8.7189011147812559E-016 + 8.5377531061272291E-030 -3.2486659603760328E-002 -4.1201831605645070E-002 -0.14798916110561686 0.12807750971585027 -4.8386162189772038E-029 1.1319321334491101E-030 4.7068691699284550E-002 -5.5437384367842069E-002 -0.50000000588867755 -0.35108151134858362 0.28354081699963019 -1.4965863616643814E-029 7.1586280823072410E-030 -4.4832527087694744E-030 2.6846185502485039E-031 6.4859609978193888E-030 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 9.6023541003411349E-030 3.2486659603757316E-002 4.1201831605643016E-002 0.14798916110561308 -0.12807750971584711 -5.4388032826178798E-029 1.2663340192084875E-030 -4.7068691699288519E-002 5.5437384367849549E-002 -0.50000000588868243 0.35108151134858584 -0.28354081699962064 -1.6806651697050644E-029 8.0332260598548725E-030 -5.0369932458614618E-030 2.9974335319816809E-031 7.2871449951516586E-030 + 1.1479430934821716E-015 4.1201831605635411E-002 -3.2486659603760099E-002 0.12807750971585008 0.14798916110561403 -6.5050108630656391E-015 1.5203412994034713E-016 5.5437384367849923E-002 4.7068691699284550E-002 -3.8676270967438337E-015 -0.28354081699962441 -0.35108151134858573 -2.0116336114354248E-015 9.6208564025172474E-016 -6.0267012407814007E-016 3.6044046536419372E-017 8.7189011147812559E-016 + + 1.2026070503146559E-015 4.1201831605635363E-002 -3.2486659603760099E-002 0.12807750971584989 0.14798916110561408 -6.5050108630656391E-015 9.3099551480324920E-017 5.5437384367849923E-002 4.7068691699284480E-002 -3.8990903550046676E-015 -0.28354081699962458 -0.35108151134858545 -1.8585745323044683E-015 8.3089214385376231E-016 -5.7943794242433422E-016 1.6228362184643793E-017 8.3909173737863501E-016 + -8.9875410208915991E-030 -3.2486659603757254E-002 -4.1201831605643023E-002 -0.14798916110561297 0.12807750971584725 4.8619734901916953E-029 -6.9690248987368002E-031 4.7068691699288415E-002 -5.5437384367849514E-002 0.50000000588868232 -0.35108151134858606 0.28354081699962030 1.3894100743379659E-029 -6.2126072080984171E-030 4.3312506232071474E-030 -1.2164973826120052E-031 -6.2721260719165434E-030 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -9.8628943930235077E-030 3.2486659603760279E-002 4.1201831605645146E-002 0.14798916110561680 -0.12807750971585041 5.3325135644498058E-029 -7.5837313976920981E-031 -4.7068691699284765E-002 5.5437384367842062E-002 0.50000000588867721 0.35108151134858406 -0.28354081699962996 1.5223248368559501E-029 -6.8005595393138963E-030 4.7480720351308591E-030 -1.3141386159899770E-031 -6.8758148150297549E-030 + -1.2026070503146559E-015 -4.1201831605635363E-002 3.2486659603760099E-002 -0.12807750971584989 -0.14798916110561408 6.5050108630656391E-015 -9.3099551480324920E-017 -5.5437384367849923E-002 -4.7068691699284480E-002 3.8990903550046676E-015 0.28354081699962458 0.35108151134858545 1.8585745323044683E-015 -8.3089214385376231E-016 5.7943794242433422E-016 -1.6228362184643793E-017 -8.3909173737863501E-016 + + 3 0.5000000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 27 : spinor index, minimum and maximum band indices + 3.8301697230931260E-035 0.0000000000000000 -3.8473417400210853E-031 -1.4998533703594799E-014 -0.32186355830931351 3.8170613586327409E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.5114882735402794E-035 -0.57790552524403449 -0.24692524177247691 4.1150949961117418E-014 -5.1068929641241676E-035 0.0000000000000000 0.0000000000000000 + 3.2684114970394673E-033 0.0000000000000000 -3.7571696679893411E-034 1.3809106840985814E-032 3.7975521566674866E-021 3.2021849668353347E-020 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710678846348274 -2.4566319383574014E-020 5.7495181961827470E-020 0.0000000000000000 -4.3578819960526231E-033 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -3.2684114970394673E-033 0.0000000000000000 3.7571696679893411E-034 -1.3809106840985814E-032 -3.7975521566674866E-021 -3.2021849668353347E-020 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710678846348252 2.4566319383574014E-020 -5.7495181961827470E-020 0.0000000000000000 4.3578819960526231E-033 0.0000000000000000 0.0000000000000000 + -3.8301697230931260E-035 0.0000000000000000 3.8473417400210853E-031 1.4998533703594799E-014 0.32186355830931351 -3.8170613586327409E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5114882735402794E-035 0.57790552524403449 0.24692524177247691 -4.1150949961117418E-014 5.1068929641241676E-035 0.0000000000000000 0.0000000000000000 + + 6.4164108193376199E-017 0.0000000000000000 3.7571696679893412E-033 -1.2913794316588710E-031 1.5415557644344527E-019 -3.4300380962353796E-019 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.7157639921052461E-033 -7.3603942728612875E-018 -4.2755390331683307E-019 -2.4564375171018604E-032 -8.5552144257834928E-017 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 3.7774225529275110E-015 -1.3880436723964524E-013 -3.8170613586328082E-002 -0.32186355830931335 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.5114882735402794E-036 0.24692524177247693 -0.57790552524403405 -2.0961600145935875E-030 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 -3.7755202722709817E-015 1.3879660278213001E-013 3.8170613586328082E-002 0.32186355830931335 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5114882735402794E-036 -0.24692524177247699 0.57790552524403405 2.0961600145935875E-030 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -6.4164108193376199E-017 0.0000000000000000 -3.7571696679893412E-033 1.2913794316588710E-031 -1.5415557644344527E-019 3.4300380962353796E-019 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.7157639921052461E-033 7.3603942728612875E-018 4.2755390331683307E-019 2.4564375171018604E-032 8.5552144257834928E-017 0.0000000000000000 0.0000000000000000 + + 4 0.2500000000 0.2500000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 0.11405873451729223 0.0000000000000000 -0.23546202097124866 -1.0249723439205300E-014 -7.5095022555978797E-029 1.4256280234270332E-002 1.6008330212215150E-072 -4.0356122523790583E-016 8.0041651061075750E-073 1.0211551832557298E-015 -8.2276812085473522E-030 0.65046168029731499 -2.8615062075332712E-002 0.0000000000000000 8.5241414050527639E-002 3.0015619147903406E-073 -1.2637206311404530E-002 + 1.2970648841605209E-016 0.0000000000000000 -2.6776513017420174E-016 0.10777800260674454 -0.20344147977690030 1.6212103833065352E-017 -2.4476840433737368E-032 -0.17944970424762796 -1.2238420216868684E-032 0.45407235424606457 -0.45674014977267807 7.3969872414969147E-016 -3.2540771500809966E-017 0.0000000000000000 9.6935710631055850E-017 -4.5894075813257564E-033 -1.4370908646132197E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.2970648841603394E-016 0.0000000000000000 -2.6776513017416427E-016 0.10777800260674460 -0.20344147977690041 1.6212103833063084E-017 2.4476840433737368E-032 -0.17944970424762796 1.2238420216868684E-032 0.45407235424606457 -0.45674014977267796 7.3969872414958813E-016 -3.2540771500805417E-017 0.0000000000000000 9.6935710631042292E-017 4.5894075813257564E-033 -1.4370908646130188E-017 + -0.11405873451729223 0.0000000000000000 0.23546202097124866 1.0249723439205300E-014 7.5095022555978797E-029 -1.4256280234270332E-002 -1.6008330212215150E-072 4.0356122523790583E-016 -8.0041651061075750E-073 -1.0211551832557298E-015 8.2276812085473522E-030 -0.65046168029731499 2.8615062075332712E-002 0.0000000000000000 -8.5241414050527639E-002 -3.0015619147903406E-073 1.2637206311404530E-002 + + 8.4830568833071528E-057 0.0000000000000000 -1.7512360856982293E-056 -8.4996316805575910E-030 -1.5967693001622960E-029 1.0603031559441650E-057 -2.1523961360357707E-017 1.4098841695660923E-029 -1.0761980680178853E-017 -3.5706112729657061E-029 -3.5848571791187747E-029 4.8377736766289603E-056 -2.1282298136282648E-057 0.0000000000000000 6.3397842108666782E-057 -4.0357427550670704E-018 -9.3988540587814491E-058 + -1.2970648841600493E-016 0.0000000000000000 2.6776513017410441E-016 -0.10777800260674987 -0.20344147977689339 -1.6212103833059460E-017 -2.4476840433746263E-032 0.17944970424763437 -1.2238420216873132E-032 -0.45407235424593645 -0.45674014977280492 -7.3969872414942266E-016 3.2540771500798139E-017 0.0000000000000000 -9.6935710631020623E-017 -4.5894075813274246E-033 1.4370908646126974E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.2970648841600493E-016 0.0000000000000000 -2.6776513017410441E-016 0.10777800260674987 0.20344147977689328 1.6212103833059460E-017 -2.4476840433742842E-032 -0.17944970424763437 -1.2238420216871421E-032 0.45407235424593645 0.45674014977280503 7.3969872414942266E-016 -3.2540771500798139E-017 0.0000000000000000 9.6935710631020623E-017 -4.5894075813267828E-033 -1.4370908646126974E-017 + -8.4830568833071528E-057 0.0000000000000000 1.7512360856982293E-056 8.4996316805575910E-030 1.5967693001622960E-029 -1.0603031559441650E-057 2.1523961360357707E-017 -1.4098841695660923E-029 1.0761980680178853E-017 3.5706112729657061E-029 3.5848571791187747E-029 -4.8377736766289603E-056 2.1282298136282648E-057 0.0000000000000000 -6.3397842108666782E-057 4.0357427550670704E-018 9.3988540587814491E-058 + + 5 0.5000000000 0.2500000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 26 : spinor index, minimum and maximum band indices + -6.3668189435616237E-016 -0.18223854982126789 -4.9236733163543227E-015 7.4171311499880794E-016 -7.1437508893710305E-017 -2.4220390038509475E-002 8.5269507474275604E-016 1.3370319781479410E-015 -7.5133050247464681E-002 2.6175052499622367E-015 1.0144798346011778E-013 0.45708432412351058 1.4272285798483975E-015 1.8676002234447431E-015 4.0390906993363444E-002 + -3.9006444403437280E-030 -1.1192009657532371E-015 -3.0238277993990591E-029 0.13007658391645993 -0.22022796738043829 -1.4874725434660121E-016 0.14953984256448338 8.2084132100147222E-030 -4.6142258308914335E-016 0.45904020626500547 -0.44888712188601743 9.6109557704032248E-014 8.7670860389131959E-030 1.1465900567272340E-029 2.4805696796291071E-016 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -3.5047980595012034E-030 -1.0001488463490106E-015 -2.7021759073373006E-029 0.13007658391648030 0.22022796738041847 -1.3292464837377286E-016 0.14953984256448932 7.3409867883768362E-030 -4.1233994454731150E-016 0.45904020626500514 0.44888712188601965 -1.0338072313387919E-013 7.8306949231194690E-030 1.0253874782319225E-029 2.2167054704958030E-016 + 6.3668189435616237E-016 0.18223854982126789 4.9236733163543227E-015 -7.4171311499880794E-016 7.1437508893710305E-017 2.4220390038509475E-002 -8.5269507474275604E-016 -1.3370319781479410E-015 7.5133050247464681E-002 -2.6175052499622367E-015 -1.0144798346011778E-013 -0.45708432412351058 -1.4272285798483975E-015 -1.8676002234447431E-015 -4.0390906993363444E-002 + + -5.3056824529680209E-016 -0.18223854982126789 -4.9236733163543227E-015 7.4036041072192792E-016 3.0045909029674252E-017 -2.4220390038509496E-002 8.5113996637112640E-016 1.3051978834301330E-015 -7.5133050247464597E-002 2.6127315571761811E-015 1.0168625660577876E-013 0.45708432412351024 1.4484513096602696E-015 1.8251547638209989E-015 4.0390906993363389E-002 + -3.1541802740951059E-030 -1.0866470977127699E-015 -2.9358746130001496E-029 0.13007658391648030 0.22022796738041847 -1.4442068687788747E-016 0.14953984256448924 7.7797553366254320E-030 -4.4800132065244875E-016 0.45904020626500491 0.44888712188601987 -1.0319415938154905E-013 8.6386818504508475E-030 1.0879192393604050E-029 2.4084180817599187E-016 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -3.0284833209840673E-030 -1.0365749548733396E-015 -2.8005910114608585E-029 0.13007658391645993 -0.22022796738043829 -1.3776585544499688E-016 0.14953984256448336 7.4271620057299764E-030 -4.2735764878586052E-016 0.45904020626500536 -0.44888712188601754 9.5909708886168520E-014 8.2366865939716298E-030 1.0385743193524026E-029 2.2974394075787760E-016 + 5.3056824529680209E-016 0.18223854982126789 4.9236733163543227E-015 -7.4036041072192792E-016 -3.0045909029674252E-017 2.4220390038509496E-002 -8.5113996637112640E-016 -1.3051978834301330E-015 7.5133050247464597E-002 -2.6127315571761811E-015 -1.0168625660577876E-013 -0.45708432412351024 -1.4484513096602696E-015 -1.8251547638209989E-015 -4.0390906993363389E-002 + + 6 0.5000000000 0.5000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 25 : spinor index, minimum and maximum band indices + 1.9904393575877005E-044 -1.5213912285706144E-030 0.0000000000000000 8.3729592206912046E-018 7.3577767781499387E-018 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.3025874687632881E-017 -5.5396052311209310E-018 3.8836854682080942E-030 0.0000000000000000 0.0000000000000000 + -1.2336801708594021E-029 9.4296276028308642E-016 0.0000000000000000 0.22619354084849880 0.19876862389466571 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.62203863526044945 -0.14965114353276954 -2.4005413215827795E-015 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.2336801708593996E-029 -9.4296276028308445E-016 0.0000000000000000 -0.22619354084849885 -0.19876862389466565 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.62203863526044945 0.14965114353276948 2.4005413215827748E-015 0.0000000000000000 0.0000000000000000 + -1.9904393575877005E-044 1.5213912285706144E-030 0.0000000000000000 -8.3729592206912046E-018 -7.3577767781499387E-018 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.3025874687632881E-017 5.5396052311209310E-018 -3.8836854682080942E-030 0.0000000000000000 0.0000000000000000 + + 3.3823515129924870E-015 -0.25852985192404110 0.0000000000000000 -8.2896497133453311E-016 -6.9643953468960711E-016 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.2240652965211908E-015 -2.3491838355034916E-014 0.65815069114715030 0.0000000000000000 0.0000000000000000 + -1.4707475819705201E-031 1.1241651056193009E-017 0.0000000000000000 0.19876862389466440 -0.22619354084849866 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.14965114353277023 -0.62203863526045011 -2.2661669332034500E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -4.0115646914573124E-031 3.0662372662402646E-017 0.0000000000000000 0.19876862389466440 -0.22619354084849866 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.14965114353277012 -0.62203863526045011 -2.2717014727130095E-014 0.0000000000000000 0.0000000000000000 + -3.3823515129924870E-015 0.25852985192404110 0.0000000000000000 8.2896497133453311E-016 6.9643953468960711E-016 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.2240652965211908E-015 2.3491838355034916E-014 -0.65815069114715030 0.0000000000000000 0.0000000000000000 + + 7 0.2500000000 0.2500000000 0.2500000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 6.5185430169567571E-002 -3.5038568544752853E-002 -6.5914736754188663E-003 -0.15525577702516663 6.8417886978873995E-003 8.2533393249869927E-002 7.8168717743380516E-004 -1.6579945584513589E-002 0.0000000000000000 0.26850385997716292 0.30136108599967554 -0.21680511699339700 2.5889253990976670E-003 1.5209320034720263E-002 1.3345850802680949E-002 4.6941946680567836E-002 -2.6538822391732445E-002 + 0.13037086033913570 3.5038568544752832E-002 6.5914736754215351E-003 0.15525577702517801 -6.8417886979202924E-003 0.16506678649971773 -7.8168717743100878E-004 1.6579945584513235E-002 0.0000000000000000 0.53700771995465735 -0.30136108599945866 0.21680511699328650 -2.5889253990982360E-003 -1.5209320034722170E-002 2.6691701605374533E-002 -4.6941946680564117E-002 2.6538822391730377E-002 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 4.5796699765787707E-016 -1.1416767302579048E-002 6.0688580943984272E-002 -1.1850325639411172E-002 -0.26891089397617984 -3.1891156382357622E-014 2.8717308139104315E-002 1.3539219069360368E-003 0.0000000000000000 2.8532731732866523E-014 -0.37551747797341473 -0.52197271237544640 -2.6343315048716787E-002 4.4841503282434751E-003 9.7144514654701197E-017 4.5966588755524715E-002 8.1305836656931224E-002 + -6.5185430169567571E-002 3.5038568544752853E-002 6.5914736754188663E-003 0.15525577702516663 -6.8417886978873995E-003 -8.2533393249869927E-002 -7.8168717743380516E-004 1.6579945584513589E-002 0.0000000000000000 -0.26850385997716292 -0.30136108599967554 0.21680511699339700 -2.5889253990976670E-003 -1.5209320034720263E-002 -1.3345850802680949E-002 -4.6941946680567836E-002 2.6538822391732445E-002 + + 6.5185430169567432E-002 -3.5038568544752728E-002 -6.5914736754187509E-003 -0.15525577702516671 6.8417886978873821E-003 8.2533393249869955E-002 7.8168717743375485E-004 -1.6579945584513561E-002 0.0000000000000000 0.26850385997716264 0.30136108599967532 -0.21680511699339683 2.5889253990975781E-003 1.5209320034720286E-002 1.3345850802680918E-002 4.6941946680567830E-002 -2.6538822391732407E-002 + 4.5796699765787707E-016 -1.1416767302579090E-002 6.0688580943984292E-002 -1.1850325639411172E-002 -0.26891089397617984 -3.1891156382357622E-014 2.8717308139104281E-002 1.3539219069360420E-003 0.0000000000000000 2.8088642523016460E-014 -0.37551747797341473 -0.52197271237544651 -2.6343315048716776E-002 4.4841503282434759E-003 9.5409791178724390E-017 4.5966588755524763E-002 8.1305836656931169E-002 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.13037086033913564 3.5038568544752853E-002 6.5914736754213929E-003 0.15525577702517812 -6.8417886979203479E-003 0.16506678649971770 -7.8168717743102439E-004 1.6579945584513207E-002 0.0000000000000000 0.53700771995465746 -0.30136108599945843 0.21680511699328692 -2.5889253990982568E-003 -1.5209320034722151E-002 2.6691701605374596E-002 -4.6941946680564152E-002 2.6538822391730353E-002 + -6.5185430169567432E-002 3.5038568544752728E-002 6.5914736754187509E-003 0.15525577702516671 -6.8417886978873821E-003 -8.2533393249869955E-002 -7.8168717743375485E-004 1.6579945584513561E-002 0.0000000000000000 -0.26850385997716264 -0.30136108599967532 0.21680511699339683 -2.5889253990975781E-003 -1.5209320034720286E-002 -1.3345850802680918E-002 -4.6941946680567830E-002 2.6538822391732407E-002 + + 8 0.5000000000 0.2500000000 0.2500000000 : k-point index, k-point (lattice coordinates) + 1 12 26 : spinor index, minimum and maximum band indices + -6.3902110296014757E-017 -9.3076033745933400E-018 1.4574573712154764E-018 6.3625020862179494E-017 6.9786660235996577E-018 3.9635343096053287E-017 -1.0602157366543321E-017 -2.0603807915533907E-020 4.4108003956556141E-019 3.4956394117262753E-018 -1.8376999757161989E-019 -3.0927763597852459E-018 0.0000000000000000 -3.1137320462453242E-019 -2.0826701349418139E-020 + 1.8469445908623847E-017 0.18939373930528577 5.3672720102345376E-015 3.6744061299585066E-014 0.19906928784828620 1.6855865508930965E-016 -4.5690151792572493E-035 -5.1234444209252668E-002 6.4757479001692958E-002 4.3669839910413437E-016 -0.45697153295168591 -0.45406815591303057 0.0000000000000000 1.7732931159954541E-017 -5.1788702007069407E-002 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.8469445908623835E-017 -0.18939373930528572 -5.3680060741837366E-015 -3.6728848115247388E-014 -0.19906928784828609 -1.6855865508930965E-016 5.3787778486691807E-036 5.1234444209252668E-002 -6.4757479001692930E-002 -4.3669839910413427E-016 0.45697153295168591 0.45406815591303057 0.0000000000000000 -1.7732931159954553E-017 5.1788702007069379E-002 + 6.3902110296014757E-017 9.3076033745933400E-018 -1.4574573712154764E-018 -6.3625020862179494E-017 -6.9786660235996577E-018 -3.9635343096053287E-017 1.0602157366543321E-017 2.0603807915533907E-020 -4.4108003956556141E-019 -3.4956394117262753E-018 1.8376999757161989E-019 3.0927763597852459E-018 0.0000000000000000 3.1137320462453242E-019 2.0826701349418139E-020 + + -5.1382803247400577E-020 0.18939373930528286 -9.8521484661681720E-018 -1.4975546199713079E-014 -0.19906928784828906 -4.6893752270371995E-019 -3.4045953094161118E-035 -5.1234444209262001E-002 -6.4757479001681537E-002 -1.2149139736317286E-018 -0.45697153295107440 0.45406815591364624 0.0000000000000000 -4.9333787126022779E-020 -5.1788702007072474E-002 + -2.7423270555167738E-002 -1.2886061741333177E-016 0.12444747797607369 1.0236327120419281E-014 -1.3662752402271416E-016 -0.25027440594582290 -1.9614254233517326E-020 3.4854439737542258E-017 -4.4448481912953314E-017 -0.64840593534262703 3.1087458843089252E-016 3.1166500806526016E-016 0.0000000000000000 -2.6329699945602331E-002 3.5231497502317978E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.7423270555167752E-002 -1.2973986782186648E-016 0.12444747797607361 1.0223036072694910E-014 -1.3569121362929055E-016 -0.25027440594582290 1.9614254233517085E-020 3.5101685432529068E-017 -4.4137131296789429E-017 -0.64840593534262703 3.1307982840172554E-016 3.0948187181129249E-016 0.0000000000000000 -2.6329699945602310E-002 3.5481417918511137E-017 + 5.1382803247400577E-020 -0.18939373930528286 9.8521484661681720E-018 1.4975546199713079E-014 0.19906928784828906 4.6893752270371995E-019 3.4045953094161118E-035 5.1234444209262001E-002 6.4757479001681537E-002 1.2149139736317286E-018 0.45697153295107440 -0.45406815591364624 0.0000000000000000 4.9333787126022779E-020 5.1788702007072474E-002 + + 9 0.5000000000 0.5000000000 0.2500000000 : k-point index, k-point (lattice coordinates) + 1 12 26 : spinor index, minimum and maximum band indices + 0.0000000000000000 -1.8230783598022972E-014 0.19293299718525062 2.5466225671343455E-016 1.0409089582396298E-015 1.5326428947128836E-028 1.1573175490054142E-016 -1.3550276889043726E-016 0.0000000000000000 -1.8661991535287374E-014 -3.5152784546027826E-014 -0.46127742169477443 0.0000000000000000 1.9322950357351540E-015 0.0000000000000000 + 0.0000000000000000 7.1307488708024601E-029 -7.5579680122416447E-016 -0.27507746919793985 -9.1363091035742541E-002 2.7706028680412377E-014 1.4396808402775799E-002 4.5999674987817193E-002 0.0000000000000000 -0.58187627301991085 0.27401082087626072 1.8070107492244622E-015 0.0000000000000000 -7.5695833700634030E-030 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -1.1638664467388150E-028 1.2328740225980597E-015 -9.1363091035743693E-002 0.27507746919793874 6.6430297191598048E-014 4.5999674987818318E-002 -1.4396808402775334E-002 0.0000000000000000 -0.27401082087626039 -0.58187627301991118 5.6651283044966971E-014 0.0000000000000000 1.2347687478599862E-029 0.0000000000000000 + 0.0000000000000000 1.8230783598022972E-014 -0.19293299718525062 -2.5466225671343455E-016 -1.0409089582396298E-015 -1.5326428947128836E-028 -1.1573175490054142E-016 1.3550276889043726E-016 0.0000000000000000 1.8661991535287374E-014 3.5152784546027826E-014 0.46127742169477443 0.0000000000000000 -1.9322950357351540E-015 0.0000000000000000 + + 0.0000000000000000 1.8209780391112807E-014 -0.19293299718525059 -2.6360054071206119E-016 -1.0849558116118420E-015 -1.6039482283692331E-028 -1.2080760720516328E-016 1.4098863375687541E-016 0.0000000000000000 1.8621223863448538E-014 3.5178394099917911E-014 0.46127742169477443 0.0000000000000000 -1.9322950357351540E-015 0.0000000000000000 + 0.0000000000000000 1.1931507925383082E-028 -1.2629814828551432E-015 9.1363091035743665E-002 -0.27507746919793874 -6.6430297191598061E-014 -4.5999674987818290E-002 1.4396808402775303E-002 0.0000000000000000 0.27401082087626039 0.58187627301991096 -5.6564282479981723E-014 0.0000000000000000 -1.2649224783478277E-029 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -7.6399142749002089E-029 8.0827335401526789E-016 0.27507746919793996 9.1363091035742680E-002 -2.7811681194123867E-014 -1.4396808402775827E-002 -4.5999674987817159E-002 0.0000000000000000 0.58187627301991085 -0.27401082087626094 -1.9324752852243200E-015 0.0000000000000000 8.0951553765635636E-030 0.0000000000000000 + 0.0000000000000000 -1.8209780391112807E-014 0.19293299718525059 2.6360054071206119E-016 1.0849558116118420E-015 1.6039482283692331E-028 1.2080760720516328E-016 -1.4098863375687541E-016 0.0000000000000000 -1.8621223863448538E-014 -3.5178394099917911E-014 -0.46127742169477443 0.0000000000000000 1.9322950357351540E-015 0.0000000000000000 + + 10 0.5000000000 0.5000000000 0.5000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 1.8148523246257962E-036 -1.8037678867527362E-031 0.0000000000000000 0.10927326990241099 -8.6606668049354504E-002 -0.25411162833313000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.36421554683710755 0.10704988537924737 -0.52141469054033052 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 7.2594092985031848E-036 -6.9437201456989725E-015 0.0000000000000000 -0.22220175151177129 0.12479335934108761 -0.13808360224645710 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.49331257156752850 0.30519835063327877 -0.28192657826638168 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 7.2594092985031848E-036 -6.9472764684368455E-015 0.0000000000000000 -0.22220175151177129 0.12479335934108766 -0.13808360224645716 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.49331257156752861 0.30519835063327866 -0.28192657826638179 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.8148523246257962E-036 1.8037678867527362E-031 0.0000000000000000 -0.10927326990241099 8.6606668049354504E-002 0.25411162833313000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.36421554683710755 -0.10704988537924737 0.52141469054033052 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + + -2.2364641157415879E-018 -3.9333031062017203E-018 0.0000000000000000 -1.8675142556531655E-018 7.9250467726595417E-020 6.0409650092118317E-019 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.3004004700794433E-018 -7.1582385332678389E-018 -3.7238990687529476E-018 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9037637194012739E-035 8.5695585101572758E-031 0.0000000000000000 0.15066458186921941 0.24686025324795799 -1.9346349950785817E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.19993915125460091 0.55801452565309440 0.25422440281092951 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -8.7112911582038217E-035 -8.5655986057627803E-031 0.0000000000000000 -0.15066458186921936 -0.24686025324795799 1.9346349950785831E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.19993915125460079 -0.55801452565309440 -0.25422440281092951 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.2364641157415879E-018 3.9333031062017203E-018 0.0000000000000000 1.8675142556531655E-018 -7.9250467726595417E-020 -6.0409650092118317E-019 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.3004004700794433E-018 7.1582385332678389E-018 3.7238990687529476E-018 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + diff --git a/test/python/elk/elk_spectralcontours_convert/WANPROJ_L02_S02_A0001_FS.OUT b/test/python/elk/elk_spectralcontours_convert/WANPROJ_L02_S02_A0001_FS.OUT new file mode 100644 index 00000000..8783fc56 --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/WANPROJ_L02_S02_A0001_FS.OUT @@ -0,0 +1,295 @@ + 21 5 3 : number of k-points, lmmax, reduced lmmax + 1 0.000000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.5542014186597836E-016 1.6620939055735651E-016 1.3221331735509552E-016 -8.9312563355282092E-017 0.0000000000000000 8.3730528145576957E-018 -3.9684781568997410E-018 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.42645240659572586 0.45085559164801470 0.33892121244964918 -3.6497261716940715E-032 0.0000000000000000 3.4216182859631922E-033 -1.6217045001179713E-033 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.42645240659572564 -0.45085559164801459 -0.33892121244964918 2.9960438722861782E-032 0.0000000000000000 -2.8087911302682922E-033 1.3312499627834093E-033 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.5542014186597836E-016 -1.6620939055735651E-016 -1.3221331735509552E-016 8.9312563355282092E-017 0.0000000000000000 -8.3730528145576957E-018 3.9684781568997410E-018 0.0000000000000000 + + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.50597032509824225 0.49355584104985273 -1.9916569620737328E-002 1.3618381237664447E-034 0.0000000000000000 -1.2767232410310419E-035 6.0511361944700423E-036 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.24926368144717861 -0.23050352514700781 0.62027070692247610 -1.8589090389411971E-032 0.0000000000000000 1.7427272240073721E-033 -8.2598009054516083E-034 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.24926368144717823 -0.23050352514700820 0.62027070692247632 1.6273965579009013E-032 0.0000000000000000 -1.5256842730320951E-033 7.2311077523917009E-034 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.50597032509824225 -0.49355584104985273 1.9916569620737328E-002 -1.3618381237664447E-034 0.0000000000000000 1.2767232410310419E-035 -6.0511361944700423E-036 0.0000000000000000 + + 2 0.1000000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + -6.5616379710460803E-016 9.1774297637664658E-003 7.0616299462034409E-003 4.6299697697632395E-003 4.9928088266700039E-002 5.0885710992092785E-015 -1.4791488985578451E-015 -1.1601864318775735E-002 -3.7358943775689379E-002 1.9161822108927798E-015 9.5250763554214635E-003 -0.20850992057454473 -1.4235417971083021E-015 1.3345704347890333E-016 8.3410652174314562E-017 -7.5764675725002399E-017 -3.8160373369748917E-016 + -5.4096443934947909E-030 -2.1733462231057848E-002 2.8245224497529278E-002 0.15366285530104917 -1.4249581738015377E-002 4.1947190881895193E-029 -1.2191567422434593E-029 -0.11497900622469828 3.5706866814443627E-002 0.21850801458469318 -0.64172754989001135 -2.9315170689416421E-002 -1.1734694537320539E-029 1.0934358180841966E-030 6.8653208087183923E-031 -6.2470434191763571E-031 -3.1467536706179401E-030 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -6.0423884317497752E-030 2.1733462231058133E-002 -2.8245224497529590E-002 -0.15366285530105417 1.4249581738014416E-002 4.6854141006953644E-029 -1.3617922627314472E-029 0.11497900622469620 -3.5706866814446001E-002 0.21850801458477767 0.64172754988998115 2.9315170689419232E-002 -1.3107427366077115E-029 1.2221295207801256E-030 7.6696564505679493E-031 -6.9776482938563715E-031 -3.5147372267641120E-030 + 6.5616379710460803E-016 -9.1774297637664658E-003 -7.0616299462034409E-003 -4.6299697697632395E-003 -4.9928088266700039E-002 -5.0885710992092785E-015 1.4791488985578451E-015 1.1601864318775735E-002 3.7358943775689379E-002 -1.9161822108927798E-015 -9.5250763554214635E-003 0.20850992057454473 1.4235417971083021E-015 -1.3345704347890333E-016 -8.3410652174314562E-017 7.5764675725002399E-017 3.8160373369748917E-016 + + 1.9351271304440980E-015 -2.8245224497526270E-002 -2.1733462231054313E-002 -1.4249581738019629E-002 -0.15366285530105561 -1.5454690556460265E-014 4.6487536811817994E-015 3.5706866814437258E-002 0.11497900622469487 -5.8730658233051053E-015 -2.9315170689416845E-002 0.64172754988999614 4.3373539130643573E-015 -1.0342920869615008E-015 -3.5241000543647910E-016 2.1652015126915824E-016 1.0617480933022127E-015 + 1.6021706647560694E-029 -7.0616299462050811E-003 9.1774297637681017E-003 4.9928088266706368E-002 -4.6299697697602931E-003 -1.2795406692314205E-028 3.8487891679708066E-029 -3.7358943775686833E-002 1.1601864318781714E-002 -0.67249851922830406 -0.20850992057449885 -9.5250763554261524E-003 3.5910218895880737E-029 -8.5610097630354848E-030 -2.9173614322690058E-030 1.7926836496388188E-030 8.7908755737010241E-030 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.7887765336651667E-029 7.0616299462042953E-003 -9.1774297637669394E-003 -4.9928088266691074E-002 4.6299697697630114E-003 -1.4285714959217394E-028 4.2970722323616256E-029 3.7358943775693342E-002 -1.1601864318774672E-002 -0.67249851922827697 0.20850992057459056 9.5250763554173955E-003 4.0092764233498434E-029 -9.5583859589289362E-030 -3.2571932409504434E-030 2.0014757766689329E-030 9.8147278178053567E-030 + -1.9351271304440980E-015 2.8245224497526270E-002 2.1733462231054313E-002 1.4249581738019629E-002 0.15366285530105561 1.5454690556460265E-014 -4.6487536811817994E-015 -3.5706866814437258E-002 -0.11497900622469487 5.8730658233051053E-015 2.9315170689416845E-002 -0.64172754988999614 -4.3373539130643573E-015 1.0342920869615008E-015 3.5241000543647910E-016 -2.1652015126915824E-016 -1.0617480933022127E-015 + + 3 0.2000000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + -1.0895594823529376E-015 2.9220007290805341E-002 -2.5687334946960773E-002 -0.13195347755734876 -6.9493256621066257E-002 1.0847445098930446E-015 1.3867120684491934E-015 5.1286530058284083E-002 4.9429201298983483E-002 -2.4594463449377128E-015 -0.37011046698759020 -8.3281236726477539E-002 1.4967685818181770E-015 -2.6413563208556062E-016 3.7969497112299345E-016 -4.8390473221924970E-016 -9.6299449197860650E-017 + -6.8479146404007476E-030 3.5355583406080554E-002 4.0217889751095338E-002 -9.5649262007899763E-002 0.18161838085323267 6.8153269554050907E-030 8.7132423976161248E-030 -6.8033459011246064E-002 7.0589852735921430E-002 -0.41562693619222801 0.11462678854480500 -0.50941335533885579 9.4026850465905659E-030 -1.6553217304391978E-030 2.3875267523931063E-030 -3.0409098385064137E-030 -6.0376028176189763E-031 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -6.1616844098348362E-030 -3.5355583406081456E-002 -4.0217889751096338E-002 9.5649262007895600E-002 -0.18161838085322907 6.1367400413088177E-030 7.8443896746531334E-030 6.8033459011265798E-002 -7.0589852735927064E-002 -0.41562693619220525 -0.11462678854480075 0.50941335533887377 8.4690088289362906E-030 -1.4984379785813035E-030 2.1461409449555040E-030 -2.7370199169320687E-030 -5.4605239126729451E-031 + 1.0895594823529376E-015 -2.9220007290805341E-002 2.5687334946960773E-002 0.13195347755734876 6.9493256621066257E-002 -1.0847445098930446E-015 -1.3867120684491934E-015 -5.1286530058284083E-002 -4.9429201298983483E-002 2.4594463449377128E-015 0.37011046698759020 8.3281236726477539E-002 -1.4967685818181770E-015 2.6413563208556062E-016 -3.7969497112299345E-016 4.8390473221924970E-016 9.6299449197860650E-017 + + 1.6068250951871604E-015 -4.0217889751100369E-002 3.5355583406084211E-002 0.18161838085323351 9.5649262007899333E-002 -1.5065704900401020E-015 -1.9535031122994587E-015 -7.0589852735923650E-002 -6.8033459011251074E-002 3.3853944005460286E-015 0.50941335533886234 0.11462678854480327 -2.0250398459892981E-015 1.9810172406417050E-016 -6.0531082352940976E-016 6.9576352045454308E-016 8.2542385026737697E-017 + 1.0012590839437388E-029 2.5687334946959090E-002 2.9220007290802721E-002 -6.9493256621062260E-002 0.13195347755734430 -9.3862986282223532E-030 -1.2171291963518073E-029 -4.9429201299000622E-002 5.1286530058288475E-002 0.57206140063578459 8.3281236726474361E-002 -0.37011046698760464 -1.2615521527222219E-029 1.2311885962584632E-030 -3.7726341750832067E-030 4.3352007143677870E-030 5.1333867182672426E-031 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 9.1717919818239852E-030 -2.5687334946957841E-002 -2.9220007290801354E-002 6.9493256621067950E-002 -0.13195347755734924 -8.6010861726513748E-030 -1.1152160403597455E-029 4.9429201298973463E-002 -5.1286530058280454E-002 0.57206140063580124 -8.3281236726480162E-002 0.37011046698757977 -1.1562003554676496E-029 1.1339533542215391E-030 -3.4543726055589884E-030 3.9717303748786603E-030 4.7214306858278935E-031 + -1.6068250951871604E-015 4.0217889751100369E-002 -3.5355583406084211E-002 -0.18161838085323351 -9.5649262007899333E-002 1.5065704900401020E-015 1.9535031122994587E-015 7.0589852735923650E-002 6.8033459011251074E-002 -3.3853944005460286E-015 -0.50941335533886234 -0.11462678854480327 2.0250398459892981E-015 -1.9810172406417050E-016 6.0531082352940976E-016 -6.9576352045454308E-016 -8.2542385026737697E-017 + + 4 0.3000000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + -6.6238118985177078E-016 -6.1505303534190592E-002 5.7707004961796626E-003 6.3760016538400757E-002 -0.22835759885696572 2.7255357156195813E-015 -7.2736377072093787E-016 5.1767001974233735E-002 4.3525989845775721E-002 1.7698438188476770E-015 -0.48773496349929729 -0.15737148041183435 -1.9545674454642417E-015 4.3434832121427594E-016 -1.7197478843077735E-015 1.3675185425730717E-016 7.2210408401873374E-016 + -1.8587106046106837E-030 -4.1926593268594922E-003 -4.4686218715462293E-002 0.16591150716277711 4.6324363601475169E-002 7.6413951696709891E-030 -2.0395958653783902E-030 3.1623482696493975E-002 -3.7610928481620627E-002 0.57206140983524689 0.11433707321436240 -0.35436019337737990 -5.4775684423836395E-030 1.2163983962836890E-030 -4.8220677915368572E-030 3.8334301477666172E-031 2.0249488604939491E-030 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.2296753095246636E-030 4.1926593268570046E-003 4.4686218715464236E-002 -0.16591150716277273 -4.6324363601475002E-002 9.2184037169925308E-030 -2.4579270025346211E-030 -3.1623482696494183E-002 3.7610928481614549E-002 0.57206140983524667 -0.11433707321435937 0.35436019337738400 -6.6258703483435063E-030 1.4778713160468464E-030 -5.8131454861078868E-030 4.6290840715771629E-031 2.4394923853684548E-030 + 6.6238118985177078E-016 6.1505303534190592E-002 -5.7707004961796626E-003 -6.3760016538400757E-002 0.22835759885696572 -2.7255357156195813E-015 7.2736377072093787E-016 -5.1767001974233735E-002 -4.3525989845775721E-002 -1.7698438188476770E-015 0.48773496349929729 0.15737148041183435 1.9545674454642417E-015 -4.3434832121427594E-016 1.7197478843077735E-015 -1.3675185425730717E-016 -7.2210408401873374E-016 + + 6.0808764969998625E-016 4.4686218715467914E-002 -4.1926593268561269E-003 -4.6324363601473406E-002 0.16591150716277389 -1.9980022775856692E-015 5.5837512699850860E-016 -3.7610928481618275E-002 -3.1623482696485447E-002 -1.2542490523905294E-015 0.35436019337738178 0.11433707321436047 1.2596101315214002E-015 -2.1717416060713797E-016 1.3003302866352384E-015 -9.5862031830494487E-017 -5.6193814057096939E-016 + 1.6900333832384510E-030 -5.7707004961816870E-003 -6.1505303534184846E-002 0.22835759885696558 6.3760016538403019E-002 -5.5456229662236348E-030 1.5502761609121027E-030 4.3525989845787656E-002 -5.1767001974230516E-002 -0.41562694287601043 0.15737148041183377 -0.48773496349929907 3.4929935466274866E-030 -6.0093831524369092E-031 3.6098989450238524E-030 -2.6599309260647344E-031 -1.5603009440376835E-030 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.1530583453190420E-030 5.7707004961834929E-003 6.1505303534183445E-002 -0.22835759885696869 -6.3760016538403103E-002 -7.1220867782956712E-030 1.9874006641763109E-030 -4.3525989845787434E-002 5.1767001974235054E-002 -0.41562694287601121 -0.15737148041183599 0.48773496349929585 4.5105589927057737E-030 -7.8614830007592734E-031 4.6304604349744268E-030 -3.4223049307257371E-031 -1.9992213713276086E-030 + -6.0808764969998625E-016 -4.4686218715467914E-002 4.1926593268561269E-003 4.6324363601473406E-002 -0.16591150716277389 1.9980022775856692E-015 -5.5837512699850860E-016 3.7610928481618275E-002 3.1623482696485447E-002 1.2542490523905294E-015 -0.35436019337738178 -0.11433707321436047 -1.2596101315214002E-015 2.1717416060713797E-016 -1.3003302866352384E-015 9.5862031830494487E-017 5.6193814057096939E-016 + + 5 0.4000000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 27 : spinor index, minimum and maximum band indices + -2.1478216923582181E-017 5.1617094404904217E-002 1.5811566199850826E-002 -0.29842158648747952 1.8772396642662177E-002 4.2372494824554481E-014 -3.6958473972684326E-015 -3.9532787642303030E-002 4.5275501336490770E-003 -6.0858277874854733E-016 0.36682335066112559 0.47306380644910156 8.3228090578880949E-015 -1.2027801477206022E-015 -1.4336709796491104E-015 7.8630409768676640E-016 + -2.2507962895665999E-032 -5.1374892866224101E-003 1.6771410634470175E-002 -6.0995214146972176E-003 -9.6963051230852956E-002 -4.6158699815691134E-014 -3.5199017289620999E-030 -1.4710902141008000E-003 -1.2844981351977933E-002 -0.67249850863872229 0.15370774829022507 -0.11918813166795099 7.9276905765685922E-030 -1.1454816306853621E-030 -1.3657327315859497E-030 7.4863758788356489E-031 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -3.7760549881850175E-032 5.1374892866212895E-003 -1.6771410634471715E-002 6.0995214146955593E-003 9.6963051230852512E-002 4.4587880687568892E-014 -3.6412585287662371E-030 1.4710902141100587E-003 1.2844981351973392E-002 -0.67249850863872296 -0.15370774829022490 0.11918813166794902 8.2087739653139862E-030 -1.1847025686498357E-030 -1.4150312716662949E-030 7.7280170309214573E-031 + 2.1478216923582181E-017 -5.1617094404904217E-002 -1.5811566199850826E-002 0.29842158648747952 -1.8772396642662177E-002 -4.2372494824554481E-014 3.6958473972684326E-015 3.9532787642303030E-002 -4.5275501336490770E-003 6.0858277874854733E-016 -0.36682335066112559 -0.47306380644910156 -8.3228090578880949E-015 1.2027801477206022E-015 1.4336709796491104E-015 -7.8630409768676640E-016 + + 1.5034751846507527E-016 -1.6771410634466740E-002 -5.1374892866220233E-003 9.6963051230853886E-002 -6.0995214146974440E-003 -1.3772906602247076E-014 1.1962360035016982E-015 1.2844981351976989E-002 -1.4710902141045203E-003 2.4496378364689371E-016 -0.11918813166794974 -0.15370774829022443 -2.7706899831421013E-015 3.8660790462447930E-016 4.8594465789604684E-016 -2.3819006971113207E-016 + 1.4218618258624834E-031 -1.5811566199850042E-002 5.1617094404917352E-002 -1.8772396642658857E-002 -0.29842158648747608 -1.3941335877144333E-013 1.0808522100513636E-030 -4.5275501336534268E-003 -3.9532787642298062E-002 0.21850801114397708 0.47306380644910312 -0.36682335066112604 -2.5068389297320078E-030 3.4919814215436238E-031 4.4004122704487332E-031 -2.1449395457721539E-031 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.4000724158822202E-031 1.5811566199850417E-002 -5.1617094404916797E-002 1.8772396642659294E-002 0.29842158648747641 1.3997321225547331E-013 7.0591264011364075E-031 4.5275501336503026E-003 3.9532787642299588E-002 0.21850801114397564 -0.47306380644910312 0.36682335066112637 -1.6624992929968124E-030 2.2717744626488891E-031 2.9459691542661697E-031 -1.3472428647759588E-031 + -1.5034751846507527E-016 1.6771410634466740E-002 5.1374892866220233E-003 -9.6963051230853886E-002 6.0995214146974440E-003 1.3772906602247076E-014 -1.1962360035016982E-015 -1.2844981351976989E-002 1.4710902141045203E-003 -2.4496378364689371E-016 0.11918813166794974 0.15370774829022443 2.7706899831421013E-015 -3.8660790462447930E-016 -4.8594465789604684E-016 2.3819006971113207E-016 + + 6 0.5000000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 27 : spinor index, minimum and maximum band indices + 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.8123212870620182E-014 -0.10309402751274051 -0.30759288697893145 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 4.9445903109961137E-002 0.62634921318993109 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -3.2684114970394673E-033 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710678895799506 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 3.2684114970394673E-033 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710678895799506 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.8123212870620182E-014 0.10309402751274051 0.30759288697893145 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.9445903109961137E-002 -0.62634921318993109 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + + 6.4157641415697420E-017 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 -5.3785919473849223E-015 -2.0072050127628000E-013 -0.30759288697893294 0.10309402751273784 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.62634921318993042 -4.9445903109962976E-002 -5.3894903440817019E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 5.3774674433722840E-015 2.0072826475542358E-013 0.30759288697893272 -0.10309402751273784 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.62634921318993042 4.9445903109962948E-002 5.3924890214487379E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -6.4157641415697420E-017 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + + 7 0.1000000000 0.1000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 3.0788407076943844E-002 1.7723466470562960E-016 8.7795569383201812E-017 -0.11603565438726157 -2.9292999823460665E-015 2.7485219487552714E-016 -5.8334248033952270E-002 1.9495813117619253E-015 -3.1968117421585247E-016 -1.0537472269389074E-015 -2.2944868006384485E-015 0.39316745717559665 -6.9272103616299860E-003 0.0000000000000000 1.7270125299885176E-002 -3.8936240402518001E-015 -1.9440137947226508E-003 + -4.7355820043297248E-017 -1.4397347577999889E-031 8.7914192884218575E-003 1.4610663039950842E-014 -0.19781503976123604 -3.9443624733631288E-031 8.9724231115731039E-017 -2.6713289136694936E-030 -3.2011310603611440E-002 -0.10551709797111819 0.66980097594864341 7.0100826850097188E-015 1.0654780757821944E-017 -2.9494798104122192E-031 -2.6563275709025207E-017 5.9505213590466795E-030 2.9900984222569696E-018 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 7.8430705829988953E-017 6.8621199542482698E-031 -5.5506836848415918E-002 -2.9559042311912255E-016 3.1330824360362067E-002 7.5183015409449963E-031 -1.4860126527269029E-016 5.5636870521584148E-030 0.20211146081028186 0.66620873713895601 -0.10608605270440502 1.0007908167775396E-015 -1.7646447142837687E-017 -5.3820878576669328E-031 4.3994095363792627E-017 -9.9885160355730955E-030 -4.9522007969521796E-018 + -3.0788407076943844E-002 -1.7723466470562960E-016 -8.7795569383201812E-017 0.11603565438726157 2.9292999823460665E-015 -2.7485219487552714E-016 5.8334248033952270E-002 -1.9495813117619253E-015 3.1968117421585247E-016 1.0537472269389074E-015 2.2944868006384485E-015 -0.39316745717559665 6.9272103616299860E-003 0.0000000000000000 -1.7270125299885176E-002 3.8936240402518001E-015 1.9440137947226508E-003 + + -4.2376606860812314E-002 -3.2123782977895365E-016 -3.6381835464919133E-017 0.15970937682866851 9.2595935328927439E-015 -3.9531638104263479E-016 8.0290204338212989E-002 -2.8800633014664809E-015 1.3247351732282972E-016 4.3666506751359030E-016 5.8814046632663823E-015 -0.54114857977411568 9.5344871010481815E-003 1.7723466470562960E-016 -2.3770288227033712E-002 5.3821182946154858E-015 2.6757054402027853E-003 + 2.1348155836609008E-016 1.5248501092349218E-030 5.5506836848415869E-002 -8.0457141750512574E-016 3.1330824360356294E-002 1.9709215987210708E-030 -4.0447971683887098E-016 1.4271136526983162E-029 -0.20211146081028175 -0.66620873713894069 -0.10608605270450583 -1.1245392890877936E-015 -4.8032094009759262E-017 -6.7856669141721365E-031 1.1974810041270520E-016 -2.7085800408020513E-029 -1.3479459763715679E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.6266445608681993E-016 1.0625495004255580E-030 8.7914192884216251E-003 -1.5497518760427262E-014 0.19781503976123493 1.4798995850828836E-030 -3.0819745574893130E-016 1.0621282361064828E-029 -3.2011310603610302E-002 -0.10551709797101871 -0.66980097594865984 -8.9582058168679777E-015 -3.6598545123087917E-017 -2.8929142877730472E-031 9.1243289444511888E-017 -2.0608741322135353E-029 -1.0270812184389964E-017 + 4.2376606860812314E-002 3.2123782977895365E-016 3.6381835464919133E-017 -0.15970937682866851 -9.2595935328927439E-015 3.9531638104263479E-016 -8.0290204338212989E-002 2.8800633014664809E-015 -1.3247351732282972E-016 -4.3666506751359030E-016 -5.8814046632663823E-015 0.54114857977411568 -9.5344871010481815E-003 -1.7723466470562960E-016 2.3770288227033712E-002 -5.3821182946154858E-015 -2.6757054402027853E-003 + + 8 0.2000000000 0.1000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 4.2880644128402721E-002 4.5952834945004392E-002 0.0000000000000000 -0.19075627606984355 0.0000000000000000 -3.2487896824577381E-002 3.6508607423469244E-002 7.6079354943214633E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.52630869557796112 1.7722685645690628E-002 1.2340188229129126E-003 3.6616535883868685E-002 -5.5238015884463689E-003 -7.1927179370141368E-003 + 0.0000000000000000 0.0000000000000000 4.0912444713592580E-003 0.0000000000000000 0.22228943423739242 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.8386194741947386E-002 0.51737903882507397 -0.42490984666421072 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 -7.8833309110497213E-002 0.0000000000000000 -5.6540508217662960E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.21760646584344950 0.57657404041555582 0.33286376293069486 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -4.2880644128402721E-002 -4.5952834945004392E-002 0.0000000000000000 0.19075627606984355 0.0000000000000000 3.2487896824577381E-002 -3.6508607423469244E-002 -7.6079354943214633E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.52630869557796112 -1.7722685645690628E-002 -1.2340188229129126E-003 -3.6616535883868685E-002 5.5238015884463689E-003 7.1927179370141368E-003 + + -3.1154611587547933E-002 -3.3386688869956584E-002 0.0000000000000000 0.13859254704867260 0.0000000000000000 2.3603838688505758E-002 -2.6525055931402589E-002 -5.5274886869460298E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.38238565019641574 -1.2876284832064339E-002 -8.9656715520537082E-004 -2.6603470547865049E-002 4.0132767702698302E-003 5.2258154731877286E-003 + 0.0000000000000000 0.0000000000000000 8.4219572452234881E-002 0.0000000000000000 0.13167642397830426 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.21308335088696212 -0.43813918284106906 -0.48805525084393431 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 -2.9916283860975511E-002 0.0000000000000000 -0.25210006770285198 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.9828370834376080E-002 -0.35666425286966724 0.55493064521267621 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 3.1154611587547933E-002 3.3386688869956584E-002 0.0000000000000000 -0.13859254704867260 0.0000000000000000 -2.3603838688505758E-002 2.6525055931402589E-002 5.5274886869460298E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.38238565019641574 1.2876284832064339E-002 8.9656715520537082E-004 2.6603470547865049E-002 -4.0132767702698302E-003 -5.2258154731877286E-003 + + 9 0.3000000000 0.1000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + -3.5078213767307548E-002 9.2083770302766724E-002 -2.9438987463159270E-016 -0.22484591824043940 4.2077700365633579E-016 3.6971078141894785E-002 0.11728354598396173 7.9824009568421339E-002 -4.6779521558727316E-015 3.7141477912905948E-015 1.3046782664213495E-013 0.60608308516379250 -3.1626681471672621E-002 -4.5873613431354496E-003 -4.3182385287965072E-002 6.2571715282321210E-003 1.5251905549217230E-002 + -2.6232898542192230E-016 6.8863945574855483E-016 -2.7994816855102914E-002 -1.6814881738147944E-015 0.15331197854889561 2.7648458622362416E-016 8.7709350962825776E-016 2.0525234859421539E-014 0.12927323416536096 0.64025569084965317 -0.22152382669456960 4.1289804722770672E-014 -2.3651703925866682E-016 -3.4306132429981954E-017 -3.2293523826027781E-016 4.6793644325808589E-017 1.1405988158399443E-016 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.7552424642891088E-016 4.6076845582683852E-016 -7.8927227659658233E-002 -1.1250832389462017E-015 -2.2029766731482880E-002 1.8499575473162841E-016 5.8686300744684407E-016 3.3162123317447647E-014 0.19057455823242975 0.65413413844963098 0.17051406431883276 -4.4007152802228186E-014 -1.5825348089805616E-016 -2.2954223045456085E-017 -2.1607587224800497E-016 3.1309613555436184E-017 7.6317432976769246E-017 + 3.5078213767307548E-002 -9.2083770302766724E-002 2.9438987463159270E-016 0.22484591824043940 -4.2077700365633579E-016 -3.6971078141894785E-002 -0.11728354598396173 -7.9824009568421339E-002 4.6779521558727316E-015 -3.7141477912905948E-015 -1.3046782664213495E-013 -0.60608308516379250 3.1626681471672621E-002 4.5873613431354496E-003 4.3182385287965072E-002 -6.2571715282321210E-003 -1.5251905549217230E-002 + + 1.1397602561666591E-002 -2.9919830674755690E-002 2.4591572944959019E-016 7.3056867453892435E-002 2.1347170426449095E-016 -1.2012631479267481E-002 -3.8107734134227057E-002 -2.5936392941064052E-002 5.1749320093500128E-015 -1.6711444206401803E-015 -4.2741464424661317E-014 -0.19692833192332221 1.0276131736630818E-002 1.4905240541221415E-003 1.4030807510377923E-002 -2.0330782722304064E-003 -4.9556445180246487E-003 + 7.1706139836703885E-017 -1.8823568822010400E-016 9.5747460233081977E-002 4.5962525235783780E-016 0.24849511322224990 -7.5575493003783964E-017 -2.3974853465054090E-016 -1.4647905273610370E-014 -0.14629546171745927 -0.23164310992144396 -0.59499724331240889 1.3083388867448561E-013 6.4650590797534682E-017 9.3773866632549603E-018 8.8272515199364767E-017 -1.2790777191848415E-017 -3.1177621510124818E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.2838203270176160E-017 -5.9952535725144652E-017 -6.1006382008744475E-002 1.4638934637060433E-016 -0.29115128960674780 -2.4070581339266223E-017 -7.6359232006423265E-017 -1.6251904342348781E-016 4.2370614170803511E-002 -0.18892964022144296 0.61157131980844581 -1.2945819701713772E-013 2.0591030803408355E-017 2.9866712006275192E-018 2.8114547092951690E-017 -4.0738264555338082E-018 -9.9299845055161416E-018 + -1.1397602561666591E-002 2.9919830674755690E-002 -2.4591572944959019E-016 -7.3056867453892435E-002 -2.1347170426449095E-016 1.2012631479267481E-002 3.8107734134227057E-002 2.5936392941064052E-002 -5.1749320093500128E-015 1.6711444206401803E-015 4.2741464424661317E-014 0.19692833192332221 -1.0276131736630818E-002 -1.4905240541221415E-003 -1.4030807510377923E-002 2.0330782722304064E-003 4.9556445180246487E-003 + + 10 0.4000000000 0.1000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 27 : spinor index, minimum and maximum band indices + 1.8343301895278205E-002 -0.13078895694947643 -2.1883323780291835E-016 0.21640457186044515 5.3574188316094589E-017 7.9107727388591190E-002 0.15866850218633816 4.5589463664744541E-002 1.0114860874737584E-014 -1.8843533244728955E-015 0.63220370164859852 -3.1673950238380092E-013 -3.3603941113487794E-002 4.0269134358907064E-003 3.6200359404509504E-002 -8.7918688871145238E-003 + 5.1685944444245451E-017 -3.6852420580569195E-016 -6.8157461095877683E-002 6.0976342986203912E-016 -3.7561983384366296E-002 2.2290194133313221E-016 4.4708043491154274E-016 5.6375457824723727E-014 -0.16686941012142201 -0.68261887147120903 1.8177041861243595E-015 1.1389889307452584E-002 -9.4685866449513766E-017 1.1346638970315858E-017 1.0200179748035587E-016 -2.4772859840324778E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 5.1674526040547373E-017 -3.6844279183135870E-016 -6.8157461095877739E-002 6.0962872157572840E-016 -3.7561983384366324E-002 2.2285269807408807E-016 4.4698166637889446E-016 5.6390613037529777E-014 -0.16686941012142201 -0.68261887147120903 1.8173117407556495E-015 1.1389889307452924E-002 -9.4664948548926988E-017 1.1344132282941341E-017 1.0197926335209188E-016 -2.4767387046561382E-017 + -1.8343301895278205E-002 0.13078895694947643 2.1883323780291835E-016 -0.21640457186044515 -5.3574188316094589E-017 -7.9107727388591190E-002 -0.15866850218633816 -4.5589463664744541E-002 -1.0114860874737584E-014 1.8843533244728955E-015 -0.63220370164859852 3.1673950238380092E-013 3.3603941113487794E-002 -4.0269134358907064E-003 -3.6200359404509504E-002 8.7918688871145238E-003 + + 8.5767489196832789E-017 5.1913105566099374E-020 -2.4114942638908665E-019 2.2698027413398155E-017 -2.3963335284345167E-019 5.3295234768257920E-018 1.0658867128851949E-017 -1.8095492884856859E-020 8.9196666795124435E-020 -2.6035225454318056E-018 9.0884757200568976E-017 2.3918267956804185E-019 -6.4317739385327671E-017 -1.5983733426645010E-021 9.3672467320760745E-018 1.8766720645059192E-017 + -9.3692417547866557E-018 6.6803314011393563E-017 6.1502123859922778E-002 -1.1053335774425536E-016 -0.30998862781890091 -4.0405998157086226E-017 -8.1043400165397999E-017 -7.8187201907883293E-015 5.0138289418002906E-002 9.1803833368779408E-003 3.1580318303116765E-013 0.63049695930515381 1.7163946273322324E-017 -2.0568339180075059E-018 -1.8490123577932780E-017 4.4906389018745889E-018 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 9.2259192208746589E-018 -6.5781414855789839E-017 -6.1502123859922722E-002 1.0884251430906850E-016 0.30998862781890080 3.9787902243595952E-017 7.9803668523010528E-017 7.8481389455796147E-015 -5.0138289418002906E-002 -9.1803833368779165E-003 -3.1579842604016647E-013 -0.63049695930515381 -1.6901387110456236E-017 2.0253702567335980E-018 1.8207277704926059E-017 -4.4219450029286291E-018 + -8.5767489196832789E-017 -5.1913105566099374E-020 2.4114942638908665E-019 -2.2698027413398155E-017 2.3963335284345167E-019 -5.3295234768257920E-018 -1.0658867128851949E-017 1.8095492884856859E-020 -8.9196666795124435E-020 2.6035225454318056E-018 -9.0884757200568976E-017 -2.3918267956804185E-019 6.4317739385327671E-017 1.5983733426645010E-021 -9.3672467320760745E-018 -1.8766720645059192E-017 + + 11 0.5000000000 0.1000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 27 : spinor index, minimum and maximum band indices + -5.9797866429707410E-016 3.2899504726772950E-014 0.23848184151136467 9.2518809834077592E-014 5.3276924331532434E-016 8.5255624086416668E-002 0.16073175005339710 3.7373666518525876E-017 3.6721913990168682E-016 1.5116285412403470E-015 -0.60112450463750700 -5.1411610902538564E-013 -5.1148532178267585E-015 1.7405450407218406E-015 2.9234077510984620E-002 -8.4942968226531506E-003 + 2.5349534972964868E-030 -1.4260830560471783E-028 3.0134904654840544E-014 -7.0893370048889987E-002 -9.9347242199013239E-002 -3.6969693224910741E-016 -6.9698668617497826E-016 1.5419356430925832E-014 -0.15786792682478132 -0.64985083293498969 -1.6874847862526112E-013 0.19461726164335852 2.2083511342764826E-029 -7.4163183332524981E-030 -1.2676874855773388E-016 3.6834115175382777E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.0486466483878273E-030 -5.7087972534939471E-029 2.0709672751503801E-014 -7.0893370048899618E-002 9.9347242199006272E-002 -1.4791001014507677E-016 -2.7885356580037826E-016 1.5972258625219499E-014 -0.15786792682478160 -0.64985083293499057 1.6212186557749382E-013 -0.19461726164335530 8.8923336857731693E-030 -3.0450145230963876E-030 -5.0718210646711088E-017 1.4736758339138060E-017 + 5.9797866429707410E-016 -3.2899504726772950E-014 -0.23848184151136467 -9.2518809834077592E-014 -5.3276924331532434E-016 -8.5255624086416668E-002 -0.16073175005339710 -3.7373666518525876E-017 -3.6721913990168682E-016 -1.5116285412403470E-015 0.60112450463750700 5.1411610902538564E-013 5.1148532178267585E-015 -1.7405450407218406E-015 -2.9234077510984620E-002 8.4942968226531506E-003 + + -1.7085104694202122E-016 1.0667512243442450E-014 7.7487447500936821E-002 2.9530244904668420E-014 -1.0393481470418224E-016 2.7701231480305368E-002 5.2224911402333228E-002 4.2712761735490408E-017 1.2679059446410230E-015 1.1912864386151256E-015 -0.19531719144497506 -1.6648466316392354E-013 -1.6230849459492015E-015 5.1255314082606363E-016 9.4987275845183645E-003 -2.7599643433286040E-003 + -8.7814971433049936E-031 4.3837385995152923E-029 4.1084946557347078E-016 -2.3034652261228653E-002 0.30575937177965362 1.1339698268642869E-016 2.1378642961418893E-016 8.5506724834699934E-030 -5.1294398828827310E-002 -0.21114933523393956 5.0906281613829027E-013 -0.59897034220988787 -6.9403029117764351E-030 2.5021737303157143E-030 3.8883724292565574E-017 -1.1298112471212932E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 6.0897462628737822E-031 -3.5900736870925364E-029 7.4603773800004359E-015 -2.3034652261199218E-002 -0.30575937177965595 -9.3141676457538386E-017 -1.7559926187101437E-016 -8.4020819374694517E-030 -5.1294398828825978E-002 -0.21114933523393678 -5.1253034966169660E-013 0.59897034220988898 5.5145678138255937E-030 -1.8013869792485025E-030 -3.1938197840212116E-017 9.2800100271145588E-018 + 1.7085104694202122E-016 -1.0667512243442450E-014 -7.7487447500936821E-002 -2.9530244904668420E-014 1.0393481470418224E-016 -2.7701231480305368E-002 -5.2224911402333228E-002 -4.2712761735490408E-017 -1.2679059446410230E-015 -1.1912864386151256E-015 0.19531719144497506 1.6648466316392354E-013 1.6230849459492015E-015 -5.1255314082606363E-016 -9.4987275845183645E-003 2.7599643433286040E-003 + + 12 0.2000000000 0.2000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 9.0754407863649952E-002 2.9888961840234052E-015 -4.2515774803730621E-031 0.23016116260876465 1.0783617023023083E-030 1.3321675789822242E-002 -1.8884389526329694E-015 -9.2897775383221497E-031 -1.1058915880886599E-015 2.3271040046284548E-030 -2.5648700447515603E-030 0.62063380861833106 2.5053576859953415E-002 -3.4779882868635984E-016 7.0289113175049947E-002 1.4655780720523855E-015 1.0568093338979359E-002 + 4.1133169154228317E-031 1.3682278093084360E-044 -5.3702369373283987E-002 1.0431733573253925E-030 -0.24418555486511767 6.0378636870598256E-032 -8.4043013909077914E-045 -0.11734069696757857 -1.7736443307345117E-018 0.29394030663561521 0.58079233869066904 2.8129361464277484E-030 1.1355184163034820E-031 -1.4158184695197768E-045 3.1857559869420394E-031 6.7866132930440828E-045 4.7898408593333146E-032 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -5.6913302466701338E-031 -1.8851628353154700E-044 -0.10539683430252678 -1.4433714209584880E-030 -0.12441875460269673 -8.3542009852412163E-032 1.1719462379532973E-044 -0.23029408459186410 8.1317234247802996E-015 0.57689033379449994 0.29592847743430140 -3.8920775863608076E-030 -1.5711432990070636E-031 2.0533286345780789E-045 -4.4079242567016968E-031 -9.3055111917897185E-045 -6.6273926176820968E-032 + -9.0754407863649952E-002 -2.9888961840234052E-015 4.2515774803730621E-031 -0.23016116260876465 -1.0783617023023083E-030 -1.3321675789822242E-002 1.8884389526329694E-015 9.2897775383221497E-031 1.1058915880886599E-015 -2.3271040046284548E-030 2.5648700447515603E-030 -0.62063380861833106 -2.5053576859953415E-002 3.4779882868635984E-016 -7.0289113175049947E-002 -1.4655780720523855E-015 -1.0568093338979359E-002 + + -2.9487894634854395E-002 -9.5644677888748976E-016 7.6180943702352610E-031 -7.4783895039452208E-002 -2.1737431838071352E-030 -4.3284748509422729E-003 6.3038537699402720E-016 2.1485644007251871E-016 3.6953625547925733E-016 -4.1697694557965542E-030 5.1702214249879019E-030 -0.20165614856813982 -8.1404005828838687E-003 1.3042456075738496E-016 -2.2838317301317614E-002 -4.6056173017451557E-016 -3.4337816774621726E-003 + -1.0583893547533350E-030 -3.4746204338936288E-044 0.10539683430252800 -2.6841685171782987E-030 -0.12441875460269355 -1.5535906382207114E-031 2.2149624039597048E-044 0.23029408459186312 -1.4070514193475847E-014 -0.57689033379452515 0.29592847743425377 -7.2379097798593953E-030 -2.9217797428536681E-031 4.1871776387099394E-045 -8.1972050604191270E-031 -1.6974083839036409E-044 -1.2324643786801011E-031 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 9.2090858451815593E-031 3.0201847339985227E-044 -5.3702369373286263E-002 2.3355051887676547E-030 0.24418555486511576 1.3517850960414573E-031 -1.9307828110569107E-044 -0.11734069696757631 3.7453568942936054E-015 0.29394030663566506 -0.58079233869064484 6.2977327013968907E-030 2.5422516157981186E-031 -3.6799481282709554E-045 7.1324191567997781E-031 1.4736302250322072E-044 1.0723719218659912E-031 + 2.9487894634854395E-002 9.5644677888748976E-016 -7.6180943702352610E-031 7.4783895039452208E-002 2.1737431838071352E-030 4.3284748509422729E-003 -6.3038537699402720E-016 -2.1485644007251871E-016 -3.6953625547925733E-016 4.1697694557965542E-030 -5.1702214249879019E-030 0.20165614856813982 8.1404005828838687E-003 -1.3042456075738496E-016 2.2838317301317614E-002 4.6056173017451557E-016 3.4337816774621726E-003 + + 13 0.3000000000 0.2000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 8.5681970465115206E-002 -0.10929900939465186 0.22096657688723395 -1.7842778676991566E-014 6.4520418436464329E-016 2.2564878399565762E-002 1.0934174902677706E-003 2.8624958211240537E-016 -8.0442092959573497E-002 -5.1473496456166413E-017 7.0458207717193054E-014 0.64625128058468484 -2.9857100742995968E-002 3.8304067292930497E-003 -7.7401549291324631E-002 -3.4650213286869651E-004 -1.9152984031370876E-002 + -1.6178215989896477E-017 2.0637515359060748E-017 -4.2687348385890476E-017 0.10504059653613795 -0.14101739767345098 -4.2606335329619136E-018 -1.0670219228702578E-014 0.20640653088058414 1.5188837832682461E-017 -0.64871526221606157 7.5136011367370012E-002 -5.2502914560678590E-015 5.6375293662153262E-018 -7.2324605817599923E-019 1.4614731379193772E-017 6.5425506860851092E-020 3.6164097397446940E-018 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.5787192256129355E-017 2.0138711392268796E-017 -4.1678284465716392E-017 0.10504059653613795 -0.14101739767345098 -4.1576550071892448E-018 -1.0701368317038552E-014 0.20640653088058414 1.4821727139845098E-017 -0.64871526221606157 7.5136011367369984E-002 -5.2532488801565590E-015 5.5012715870279441E-018 -7.0576536844645010E-019 1.4261496706380243E-017 6.3844187511737301E-020 3.5290019538583370E-018 + -8.5681970465115206E-002 0.10929900939465186 -0.22096657688723395 1.7842778676991566E-014 -6.4520418436464329E-016 -2.2564878399565762E-002 -1.0934174902677706E-003 -2.8624958211240537E-016 8.0442092959573497E-002 5.1473496456166413E-017 -7.0458207717193054E-014 -0.64625128058468484 2.9857100742995968E-002 -3.8304067292930497E-003 7.7401549291324631E-002 3.4650213286869651E-004 1.9152984031370876E-002 + + 1.0754217584112434E-017 6.9878456273999305E-047 5.3771087920562177E-017 5.9748801946535679E-019 8.3805436933588428E-020 1.3442771980140543E-017 -3.2262652752337304E-017 -1.5806369948836245E-018 4.8393979128505952E-017 -2.4351607464834189E-018 -1.1726462866984624E-018 -1.3442771980139099E-018 -3.2262652752337297E-017 4.3016870336449734E-017 1.3610806629892297E-017 3.3606929950351354E-017 1.4787049178154596E-017 + -2.0972897409176129E-016 2.6753783771720225E-016 -3.1420740385056717E-015 -0.10102119239367330 -0.25537811843567776 -5.5233426257080266E-017 3.6743199972962590E-015 -0.13355869048224933 1.9690300699928886E-016 7.0081068202823088E-002 0.63389861266027814 -7.0383891366362793E-014 7.3083042724051205E-017 -9.3759196868130800E-018 1.8946048320155864E-016 8.4815436027753358E-019 4.6881924749043509E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.0911812404932297E-016 -2.6675861538880856E-016 3.1422574841958580E-015 0.10102119239367319 0.25537811843567765 5.5072555109356117E-017 -3.6813339249860950E-015 0.13355869048224944 -1.9632951346696883E-016 -7.0081068202823088E-002 -0.63389861266027814 7.0387974610497753E-014 -7.2870183342352336E-017 9.3486116767329608E-018 -1.8890866653099496E-016 -8.4568405244710255E-019 -4.6745377923090831E-017 + -1.0754217584112434E-017 -6.9878456273999305E-047 -5.3771087920562177E-017 -5.9748801946535679E-019 -8.3805436933588428E-020 -1.3442771980140543E-017 3.2262652752337304E-017 1.5806369948836245E-018 -4.8393979128505952E-017 2.4351607464834189E-018 1.1726462866984624E-018 1.3442771980139099E-018 3.2262652752337297E-017 -4.3016870336449734E-017 -1.3610806629892297E-017 -3.3606929950351354E-017 -1.4787049178154596E-017 + + 14 0.4000000000 0.2000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 27 : spinor index, minimum and maximum band indices + 4.1779244173511469E-002 0.21572965070514255 0.10936513049252788 3.8609498372159383E-016 -3.0203467363552558E-016 3.7865331798713389E-002 3.7666257666826128E-003 -6.4268456152201027E-016 -0.11700593571272204 -1.9907581787895690E-015 -1.5198658806119703E-013 0.61052759192148054 2.3404113174929450E-002 3.8702878218168321E-003 -5.9662575436007372E-002 2.0166510820759970E-003 + -1.0064529042995442E-016 -5.1968803598743586E-016 -2.6345822044116718E-016 -0.14984363218783892 -1.4018963798280978E-002 -9.1216760654667257E-017 -9.0737195401220575E-018 0.22567890936407453 2.8186475401346948E-016 0.63023269592359465 0.17095651321810393 4.5179419913410121E-014 -5.6379999551062258E-017 -9.3234391760786184E-018 1.4372584644226552E-016 -4.8580685904342834E-018 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.6449867726047402E-016 -8.4939885555324054E-016 -4.3060662442156165E-016 -0.10047122021546236 0.16867835476400317 -1.4908831210657582E-016 -1.4830449152724171E-017 0.18354201172963663 4.6069099709970014E-016 0.61577318823343097 -0.22042879420219533 -5.2050702153463419E-014 -9.2149720175436729E-017 -1.5238600886653651E-017 2.3491125642236766E-016 -7.9402210848929159E-018 + -4.1779244173511469E-002 -0.21572965070514255 -0.10936513049252788 -3.8609498372159383E-016 3.0203467363552558E-016 -3.7865331798713389E-002 -3.7666257666826128E-003 6.4268456152201027E-016 0.11700593571272204 1.9907581787895690E-015 1.5198658806119703E-013 -0.61052759192148054 -2.3404113174929450E-002 -3.8702878218168321E-003 5.9662575436007372E-002 -2.0166510820759970E-003 + + 1.3574899325697784E-002 7.0094812575546048E-002 3.5534884978104336E-002 1.7075917597725375E-016 1.5653671077728965E-016 1.2303192105796168E-002 1.2238508999334651E-003 -2.3174565572355793E-016 -3.8017533089224620E-002 -5.6570702311568032E-016 -4.9281812099436796E-014 0.19837243970893534 7.6044573433986734E-003 1.2575327433985027E-003 -1.9385545887140365E-002 6.5524965699588337E-004 + -3.6830310230682273E-017 -1.9017553138179078E-016 -9.6410353134454666E-017 3.5310216856275979E-002 0.30626820597867677 -3.3380017870656425E-017 -3.3204524939143574E-018 1.6399506083857596E-003 1.0314607160516806E-016 0.18017503230551946 -0.61031731792451438 -1.5103802895993374E-013 -2.0631793752103312E-017 -3.4118353258747002E-018 5.2595282799845456E-017 -1.7777699536984284E-018 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -6.3069583756341562E-017 -3.2566360505154037E-016 -1.6509665012070457E-016 -0.11664244266174170 -0.25601632364652804 -5.7161175664703171E-017 -5.6860655086044842E-018 0.13132398676553328 1.7663114324842985E-016 0.22467682107919523 0.59424279941521452 1.4903618412885554E-013 -3.5330645762734294E-017 -5.8425528457492438E-018 9.0066105144286617E-017 -3.0443189398085478E-018 + -1.3574899325697784E-002 -7.0094812575546048E-002 -3.5534884978104336E-002 -1.7075917597725375E-016 -1.5653671077728965E-016 -1.2303192105796168E-002 -1.2238508999334651E-003 2.3174565572355793E-016 3.8017533089224620E-002 5.6570702311568032E-016 4.9281812099436796E-014 -0.19837243970893534 -7.6044573433986734E-003 -1.2575327433985027E-003 1.9385545887140365E-002 -6.5524965699588337E-004 + + 15 0.5000000000 0.2000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 27 : spinor index, minimum and maximum band indices + 1.1382499888117683E-015 0.20767834140131219 5.4359415353533989E-015 -7.3092638707465832E-016 1.2685980609606438E-016 3.6186078395840288E-002 -2.6701004410444637E-015 1.0697824228567171E-015 -0.10967271301796849 3.2336395133470038E-015 3.9813127606175369E-013 -0.51861895632275945 5.3508387324515835E-015 7.6592522611633006E-016 4.2637900780595213E-002 1.6770647739595731E-003 + -7.5005704194625036E-030 -1.3771807336207859E-015 -3.6055921038194252E-029 0.12003126608874806 -0.18531802113908410 -2.3996132507502641E-016 7.5444694660417186E-015 -0.17567752502257963 7.2727443003025378E-016 -0.53102179880937439 -0.37202550818274605 -2.9023313818450075E-013 -3.5515058525383891E-029 -5.1556440675003356E-030 -2.8274539887431600E-016 -1.1121146673971968E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -6.6995510641708950E-030 -1.2138935026348466E-015 -3.1765159543555914E-029 0.12003126608873038 0.18531802113909082 -2.1150999740345660E-016 3.6471848759377223E-015 -0.17567752502257908 6.4104418809657803E-016 -0.53102179880936351 0.37202550818276414 2.8113616065572561E-013 -3.1244800244473849E-029 -4.4021349438749496E-030 -2.4922132165692822E-016 -9.8025534048031727E-018 + -1.1382499888117683E-015 -0.20767834140131219 -5.4359415353533989E-015 7.3092638707465832E-016 -1.2685980609606438E-016 -3.6186078395840288E-002 2.6701004410444637E-015 -1.0697824228567171E-015 0.10967271301796849 -3.2336395133470038E-015 -3.9813127606175369E-013 0.51861895632275945 -5.3508387324515835E-015 -7.6592522611633006E-016 -4.2637900780595213E-002 -1.6770647739595731E-003 + + 7.2337382466542285E-016 0.15088714717366991 3.9679181852970987E-015 -5.3201763635484065E-016 6.7417861409632177E-017 2.6290724876313985E-002 -1.9786401674671985E-015 7.7865996642977028E-016 -7.9681890169281275E-002 2.3536614372341336E-015 2.8919670613001831E-013 -0.37679872759823951 3.9572803349343725E-015 7.2337382466542285E-016 3.0978248221975389E-002 1.2184588805012795E-003 + -4.0337668210927928E-030 -8.5503992163733159E-016 -2.2496868985427307E-029 8.7207819503784645E-002 0.25506837383333747 -1.4898299662434658E-016 3.4739419315072263E-017 -0.12763719314362953 4.5153744637930121E-016 -0.38580992013290549 0.51204918341685124 3.8994443686204320E-013 -2.2468905862837586E-029 -4.2045439537580227E-030 -1.7554602514747379E-016 -6.9047033177914154E-018 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -4.9733405740322333E-030 -1.0240566613449090E-015 -2.6918492815929091E-029 8.7207819503808903E-002 -0.25506837383333247 -1.7843263952884776E-016 3.7947338131932444E-015 -0.12763719314363026 5.4079338064816317E-016 -0.38580992013292070 -0.51204918341683792 -3.9654173891946701E-013 -2.6814737270893125E-029 -4.8065870795368688E-030 -2.1024641291677747E-016 -8.2695640849781969E-018 + -7.2337382466542285E-016 -0.15088714717366991 -3.9679181852970987E-015 5.3201763635484065E-016 -6.7417861409632177E-017 -2.6290724876313985E-002 1.9786401674671985E-015 -7.7865996642977028E-016 7.9681890169281275E-002 -2.3536614372341336E-015 -2.8919670613001831E-013 0.37679872759823951 -3.9572803349343725E-015 -7.2337382466542285E-016 -3.0978248221975389E-002 -1.2184588805012795E-003 + + 16 0.3000000000 0.3000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + -0.12083716358684617 4.4258978301571703E-015 0.21621523124532555 5.1650286130525329E-016 -1.2156115869245871E-015 -2.2829920441905585E-002 -6.4038649283722106E-016 -6.7188328506000410E-016 8.9584438008000546E-016 1.7523272698950978E-015 -9.6681027355584170E-015 -0.61887181243114553 2.4670008771438604E-002 -1.4504147106057233E-015 -8.1130660649098241E-002 1.3758334882526356E-002 9.8666193721237223E-016 + 9.0113549355030110E-017 -2.7520439532728292E-030 -1.6124113918092461E-016 -0.16809956227866080 -0.13400969751293196 1.7025268563462300E-017 0.20841837906387567 3.3451457880213453E-031 -5.7819787117504093E-031 -0.57030748347424987 -0.29171062666395331 4.6320123501863002E-016 -1.8397502779981031E-017 -2.9933383190024442E-031 6.0502676292581721E-017 -1.0260191092523271E-017 -9.6973586088712809E-031 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 3.5584553120338470E-016 -1.3123152016229293E-029 -6.3671822089285481E-016 -8.5651005029856689E-002 -0.26300884017845338 6.7230353029117601E-017 0.10619446827542151 2.0057920097800644E-030 -2.6527960407701570E-030 -0.29058617686721566 -0.57251434045809202 4.3942420111191576E-015 -7.2649109888742467E-017 4.4968344190624477E-030 2.3891642420761496E-016 -4.0516028673811040E-017 -2.8673393928091911E-030 + 0.12083716358684617 -4.4258978301571703E-015 -0.21621523124532555 -5.1650286130525329E-016 1.2156115869245871E-015 2.2829920441905585E-002 6.4038649283722106E-016 6.7188328506000410E-016 -8.9584438008000546E-016 -1.7523272698950978E-015 9.6681027355584170E-015 0.61887181243114553 -2.4670008771438604E-002 1.4504147106057233E-015 8.1130660649098241E-002 -1.3758334882526356E-002 -9.8666193721237223E-016 + + -3.9262374486284085E-002 1.3864258263142942E-015 7.0252587257158744E-002 1.2125991545418797E-015 -1.0582790543425890E-016 -7.4178908150053947E-003 -1.5034420483790451E-015 -2.0263146692285840E-016 2.8261757228714461E-016 4.1139570080702270E-015 -2.3036485557113621E-016 -0.20108364130223588 8.0157717560789439E-003 -3.4127404955428790E-016 -2.6360949613280001E-002 4.4703539907010384E-003 3.4260715131035928E-016 + -1.3899359858377861E-015 5.0769403301469804E-029 2.4870273488182937E-015 8.5651005029842450E-002 -0.26300884017845694 -2.6260239014309743E-016 -0.10619446827542135 -7.6859529352402201E-030 1.0281605869432503E-029 0.29058617686731825 -0.57251434045804050 1.6424751100186554E-014 2.8376810531233766E-016 -1.6331710950236461E-029 -9.3320979609000468E-016 1.5825598839620840E-016 1.1408721270431276E-029 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 3.4747112863821693E-016 -1.2545635754929656E-029 -6.2173381267420381E-016 -0.16809956227865358 0.13400969751293945 6.5648166401790349E-017 0.20841837906387556 1.8770168183072686E-030 -2.5463456543230032E-030 -0.57030748347430216 0.29171062666385217 -3.4786796293343158E-015 -7.0939399245048155E-017 3.7145996450883185E-030 2.3329380950460388E-016 -3.9562531988580793E-017 -2.9144445068574328E-030 + 3.9262374486284085E-002 -1.3864258263142942E-015 -7.0252587257158744E-002 -1.2125991545418797E-015 1.0582790543425890E-016 7.4178908150053947E-003 1.5034420483790451E-015 2.0263146692285840E-016 -2.8261757228714461E-016 -4.1139570080702270E-015 2.3036485557113621E-016 0.20108364130223588 -8.0157717560789439E-003 3.4127404955428790E-016 2.6360949613280001E-002 -4.4703539907010384E-003 -3.4260715131035928E-016 + + 17 0.4000000000 0.3000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 26 : spinor index, minimum and maximum band indices + 7.4251882376526454E-002 -0.18837580232409529 -5.3759671735562432E-002 0.0000000000000000 0.0000000000000000 2.1181766680498627E-002 0.0000000000000000 1.3065715036865112E-003 4.5217619994178934E-002 0.0000000000000000 0.0000000000000000 0.52662127279925686 1.4857584531603714E-002 1.3342900572931755E-003 -5.7600833291741531E-002 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.21473855472238285 -4.7827588415706376E-002 0.0000000000000000 0.20227664633750778 0.0000000000000000 0.0000000000000000 -0.55082794176353544 0.32752497214231374 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 7.7756962571035884E-002 0.26833611771488436 0.0000000000000000 9.7225186772278677E-002 0.0000000000000000 0.0000000000000000 -0.48685740150136553 -0.41888746815351702 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -7.4251882376526454E-002 0.18837580232409529 5.3759671735562432E-002 0.0000000000000000 0.0000000000000000 -2.1181766680498627E-002 0.0000000000000000 -1.3065715036865112E-003 -4.5217619994178934E-002 0.0000000000000000 0.0000000000000000 -0.52662127279925686 -1.4857584531603714E-002 -1.3342900572931755E-003 5.7600833291741531E-002 + + 5.3947150330998422E-002 -0.13686303163558627 -3.9058687807493851E-002 0.0000000000000000 0.0000000000000000 1.5389454311669180E-002 0.0000000000000000 9.4927976330817158E-004 3.2852523940956453E-002 0.0000000000000000 0.0000000000000000 0.38261275084097301 1.0794667025644739E-002 9.6941847131815377E-004 -4.1849455034997297E-002 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.1985722845063038E-002 0.29768541667553761 0.0000000000000000 3.6504944652567164E-002 0.0000000000000000 0.0000000000000000 -0.33293731875508398 -0.54686366342740500 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.20052470971953307 -0.13747659235176848 0.0000000000000000 0.18109587431725693 0.0000000000000000 0.0000000000000000 -0.42098521381470794 0.48048492461054571 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -5.3947150330998422E-002 0.13686303163558627 3.9058687807493851E-002 0.0000000000000000 0.0000000000000000 -1.5389454311669180E-002 0.0000000000000000 -9.4927976330817158E-004 -3.2852523940956453E-002 0.0000000000000000 0.0000000000000000 -0.38261275084097301 -1.0794667025644739E-002 -9.6941847131815377E-004 4.1849455034997297E-002 + + 18 0.5000000000 0.3000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 26 : spinor index, minimum and maximum band indices + -1.8622350339211433E-015 -0.15193623851251251 1.1004116109534027E-015 -3.3645852347485579E-016 1.6907242756878624E-016 1.5374196235391676E-002 2.9525569776852492E-016 -2.6452202186379875E-016 4.3894773929544786E-002 -9.9130292488964765E-016 8.4989842449808352E-014 -0.38258233201331099 -1.6188747738064483E-015 4.2323523498207799E-017 3.3597254619527006E-002 + -7.1141743342468886E-030 -5.8990913492089738E-016 4.3326061458600011E-030 -0.12856759259009828 0.24946220091996993 4.3978248984611992E-014 0.11282316128764028 -1.0453713918656284E-030 1.7042628124687756E-016 -0.37879685514962480 0.51480370605708381 1.1759072066128276E-013 -6.3636410074089878E-030 1.8620502253012478E-031 1.3044503143132704E-016 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.7820448381349048E-030 -2.1740044688101986E-016 1.5137432247113124E-030 -0.12856759259006514 -0.24946220091998197 4.3781933974001608E-014 0.11282316128764283 -3.5995837907082123E-031 6.2807553757087990E-017 -0.37879685514971528 -0.51480370605701919 -1.1134884560773624E-013 -2.2373515337034156E-030 3.8439343696078937E-032 4.8073180169318588E-017 + 1.8622350339211433E-015 0.15193623851251251 -1.1004116109534027E-015 3.3645852347485579E-016 -1.6907242756878624E-016 -1.5374196235391676E-002 -2.9525569776852492E-016 2.6452202186379875E-016 -4.3894773929544786E-002 9.9130292488964765E-016 -8.4989842449808352E-014 0.38258233201331099 1.6188747738064483E-015 -4.2323523498207799E-017 -3.3597254619527006E-002 + + -2.4230217202723966E-015 -0.20912229175301819 1.5871321311827922E-015 -4.6143207422048316E-016 1.9184744588418434E-016 2.1160765740169108E-002 4.0492494480357238E-016 -3.8620215192114619E-016 6.0415973239794848E-002 -1.3595107060702852E-015 1.1691656534360535E-013 -0.52657940487482102 -2.3225033519641528E-015 8.4647046996415598E-017 4.6242653835783576E-002 + -5.0993531448266047E-030 -4.4739053572920987E-016 3.4391594874832948E-030 -0.17695810999948006 -0.18124489809818889 6.0388495518346940E-014 0.15528775940671405 -8.3955194933777042E-031 1.2925228777750959E-016 -0.52136914295937631 -0.37402678602517458 -7.8923544654919719E-014 -5.0255028797102512E-030 1.9698782439706220E-031 9.8930274241473989E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -7.8227052366144334E-030 -6.6778573784300316E-016 5.0239822265298069E-030 -0.17695810999950409 0.18124489809817257 6.0524098437706729E-014 0.15528775940671216 -1.2197829471594703E-030 1.9292503409960956E-016 -0.52136914295931058 0.37402678602526351 8.7533100254532930E-014 -7.3589729656507809E-030 2.5423051105190281E-031 1.4766567663679803E-016 + 2.4230217202723966E-015 0.20912229175301819 -1.5871321311827922E-015 4.6143207422048316E-016 -1.9184744588418434E-016 -2.1160765740169108E-002 -4.0492494480357238E-016 3.8620215192114619E-016 -6.0415973239794848E-002 1.3595107060702852E-015 -1.1691656534360535E-013 0.52657940487482102 2.3225033519641528E-015 -8.4647046996415598E-017 -4.6242653835783576E-002 + + 19 0.4000000000 0.4000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 25 : spinor index, minimum and maximum band indices + 6.8838148557406650E-002 -0.13618403296258713 1.8629878338884712E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.0096744844111242E-002 1.4051797440266738E-015 -3.3343248163344800E-016 0.0000000000000000 0.0000000000000000 0.38641309107431104 6.6293691106675970E-003 -8.4681265176748707E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.25823771330028128 -4.6972100907429898E-002 0.14980323917638061 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.63137658853197665 0.10014735390355251 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 4.0900835691729712E-002 0.29657017325161961 -2.3726502195752203E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.10000022760850708 -0.63230550739833502 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -6.8838148557406650E-002 0.13618403296258713 -1.8629878338884712E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.0096744844111242E-002 -1.4051797440266738E-015 3.3343248163344800E-016 0.0000000000000000 0.0000000000000000 -0.38641309107431104 -6.6293691106675970E-003 8.4681265176748707E-017 + + 9.4747583113123576E-002 -0.18744124082655558 2.6251192204792098E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 1.3896977059045275E-002 1.9317913618445800E-015 -4.3663777356761047E-016 0.0000000000000000 0.0000000000000000 0.53185199238806280 9.1245437880529360E-003 -1.6936253035349741E-016 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -4.0900835691777895E-002 0.29657017325161239 2.3726502195755658E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.10000022760880523 -0.63230550739828784 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.25823771330028861 4.6972100907386224E-002 0.14980323917638111 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.63137658853202383 -0.10014735390325480 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -9.4747583113123576E-002 0.18744124082655558 -2.6251192204792098E-015 0.0000000000000000 0.0000000000000000 0.0000000000000000 -1.3896977059045275E-002 -1.9317913618445800E-015 4.3663777356761047E-016 0.0000000000000000 0.0000000000000000 -0.53185199238806280 -9.1245437880529360E-003 1.6936253035349741E-016 + + 20 0.5000000000 0.4000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 25 : spinor index, minimum and maximum band indices + 2.8650189353718422E-015 8.0057453661863731E-002 1.5195680541198723E-015 -1.9263314345823502E-016 -4.0611078285625349E-016 -7.9533793586162972E-017 -3.9928494709277175E-003 -1.9522228473067803E-016 6.4173915061303795E-003 4.4585465808259792E-016 8.5538113734036068E-016 -0.20317339427619863 4.5112176606683705E-016 -2.5326134235331206E-016 + 6.1043196459792832E-032 2.5710790353075221E-018 4.8491026944092392E-032 -8.5525140857301785E-002 0.28842692222050748 -3.5311363233037532E-002 -1.2823205206103120E-019 -1.0226394269137092E-032 2.0609724651578764E-019 0.19795026831752069 -0.60750652083985612 -6.5249996179258882E-018 1.8742341172889426E-032 -1.5022464648545555E-032 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 8.4674100616700880E-032 -2.5710790353077663E-018 -4.7029789568531945E-032 -8.5525140857353327E-002 -0.28842692222049182 -3.5311363233036977E-002 1.2823205206108787E-019 2.8844475629822233E-032 -2.0609724651597937E-019 0.19795026831759679 0.60750652083983170 6.5249996179264768E-018 -3.8760875031504016E-032 4.7437350162972460E-032 + -2.8650189353718422E-015 -8.0057453661863731E-002 -1.5195680541198723E-015 1.9263314345823502E-016 4.0611078285625349E-016 7.9533793586162972E-017 3.9928494709277175E-003 1.9522228473067803E-016 -6.4173915061303795E-003 -4.4585465808259792E-016 -8.5538113734036068E-016 0.20317339427619863 -4.5112176606683705E-016 2.5326134235331206E-016 + + 8.6214381959439978E-015 0.24639150716328911 4.6747822776048844E-015 -2.6513677593936762E-016 2.9873331348820553E-016 -1.0946887555848171E-016 -1.2288727083093235E-002 -6.2589847368045092E-016 1.9750700190026036E-002 6.1366629054263094E-016 -6.2921461886776478E-016 -0.62530341075587392 1.4153615642974157E-015 -8.2309936264826416E-016 + -4.3638453600088934E-030 -1.2442648008962695E-016 -2.3608425960328369E-030 -0.26321931803120002 -9.3715587953252327E-002 -0.10867720129753448 6.2057457796953573E-018 3.1478997675148467E-031 -9.9740049169869206E-018 0.60922828198038792 0.19739083421075418 3.2123669573918917E-016 -7.1336818841053742E-031 4.1342273640593450E-031 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.6200319574889218E-029 7.4713651003613198E-016 1.4175985206021128E-029 -0.26321931803118337 9.3715587953301344E-002 -0.10867720129753465 -3.7263283833740606E-017 -1.8905859348723516E-030 5.9890332181646849E-017 0.60922828198036283 -0.19739083421082962 1.7273284953248995E-015 4.2839344768783337E-030 -2.4831254686136000E-030 + -8.6214381959439978E-015 -0.24639150716328911 -4.6747822776048844E-015 2.6513677593936762E-016 -2.9873331348820553E-016 1.0946887555848171E-016 1.2288727083093235E-002 6.2589847368045092E-016 -1.9750700190026036E-002 -6.1366629054263094E-016 6.2921461886776478E-016 0.62530341075587392 -1.4153615642974157E-015 8.2309936264826416E-016 + + 21 0.5000000000 0.5000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 25 : spinor index, minimum and maximum band indices + 0.0000000000000000 1.7849183856723121E-018 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.22715070919725411 -0.19805624165001615 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.55127477918107093 0.32445708811524526 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.22715070919725411 0.19805624165001620 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.55127477918107093 -0.32445708811524537 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -1.7849183856723121E-018 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + + 1.7820061115311498E-014 0.25869245017425352 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.65808678348514615 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.19805624165001609 0.22715070919725860 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.32445708811524593 -0.55127477918106915 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.19805624165001609 0.22715070919725860 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.32445708811524593 -0.55127477918106915 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.7820061115311498E-014 -0.25869245017425352 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.65808678348514615 0.0000000000000000 0.0000000000000000 + diff --git a/test/python/elk/elk_spectralcontours_convert/elk.in b/test/python/elk/elk_spectralcontours_convert/elk.in new file mode 100644 index 00000000..303e7d29 --- /dev/null +++ b/test/python/elk/elk_spectralcontours_convert/elk.in @@ -0,0 +1,50 @@ +tasks + 0 + 807 + +ngridk + 4 4 4 + +! Path for species files +sppath + '/home/elk-6.2.8/species/' + +! Maximum length for G+k vectors +rgkmax + 7.0 + +!generate eigenvalues in kz=0 plane +!these inputs are in terms of lattice +!vectors +plot3d + 0.00000000 0.00000000 0.00000000 + 1.00000000 0.00000000 0.00000000 + 0.00000000 1.00000000 0.00000000 + 0.00000000 0.00000000 1.00000000 + 10 10 1 + +avec + 7.260500000 0.000000000 0.000000000 + 0.000000000 7.260500000 0.000000000 + 0.000000000 0.000000000 7.260500000 + +atoms + 3 : nspecies +'Sr.in' : spfname + 1 : natoms; atposl, bfcmt below + 0.50000000 0.50000000 0.50000000 0.00000000 0.00000000 0.00000000 +'V.in' : spfname + 1 : natoms; atposl, bfcmt below + 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 +'O.in' : spfname + 3 : natoms; atposl, bfcmt below + 0.50000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 + 0.00000000 0.50000000 0.00000000 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.50000000 0.00000000 0.00000000 0.00000000 + +!Wannier projectors +wanproj !projector flag + 1 !number of projectors - next 3 lines are repeated for each projector + 2 2 3 !species, l, reduced max lm (rlmmax) value + 7 8 9 !the lm quanties which will be projected (vector length eq. rlmmax) +-0.294 0.27562 ![-8.0, 7.5] eV t2g correlated energy window diff --git a/test/python/elk/elk_spectralcontours_convert/elk_spectralcontours_convert.ref.h5 b/test/python/elk/elk_spectralcontours_convert/elk_spectralcontours_convert.ref.h5 new file mode 100644 index 00000000..22d591da Binary files /dev/null and b/test/python/elk/elk_spectralcontours_convert/elk_spectralcontours_convert.ref.h5 differ diff --git a/test/python/elk/occ_test.py b/test/python/elk/occ_test.py new file mode 100644 index 00000000..2e921e17 --- /dev/null +++ b/test/python/elk/occ_test.py @@ -0,0 +1,42 @@ +import os +from h5 import * +from triqs.utility.comparison_tests import * +from triqs.utility.h5diff import h5diff +import triqs.utility.mpi as mpi + +from triqs_dft_tools.converters import ElkConverter +from triqs_dft_tools.sumk_dft_tools import * +#get current working directory path +cwd = format(os.getcwd()) +#location of test directory +testdir = cwd+'/occ_test' +#change to test directory +os.chdir(testdir) + +Converter = ElkConverter(filename='SrVO3', repacking=True) +Converter.hdf_file = 'elk_occ_convert.out.h5' +Converter.convert_dft_input() + +SK = SumkDFTTools(hdf_file='elk_occ_convert.out.h5', use_dft_blocks=True) +SK.occupations(with_Sigma=False, with_dc=False) + +omin = -1.0 +omax = 1.0 +oN = 3 +mesh = MeshReFreq(omin,omax,oN) +dos_occ = SK.density_of_states(broadening=0.01, mesh=mesh, with_Sigma=False, with_dc=False, dosocc=True, save_to_file=False) + +if mpi.is_master_node(): + + with HDFArchive('elk_occ_convert.ref.h5', 'a') as ar: + ar['dos_occ'] = dos_occ + ar['dos_mesh'] = [omin,omax,oN] + with HDFArchive('elk_occ_convert.out.h5', 'a') as ar: + ar['dos_occ'] = dos_occ + ar['dos_mesh'] = [omin,omax,oN] + +if mpi.is_master_node(): + h5diff('elk_occ_convert.out.h5','elk_occ_convert.ref.h5') + +#return to cwd +os.chdir(cwd) diff --git a/test/python/elk/occ_test/EFERMI.OUT b/test/python/elk/occ_test/EFERMI.OUT new file mode 100644 index 00000000..f3527f85 --- /dev/null +++ b/test/python/elk/occ_test/EFERMI.OUT @@ -0,0 +1 @@ + 0.3211418522 diff --git a/test/python/elk/occ_test/EIGVAL.OUT b/test/python/elk/occ_test/EIGVAL.OUT new file mode 100644 index 00000000..0f4f59dc --- /dev/null +++ b/test/python/elk/occ_test/EIGVAL.OUT @@ -0,0 +1,452 @@ + 10 : nkpt + 41 : nstsv + + 1 0.000000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080910719 2.000000000 + 2 -1.131688868 2.000000000 + 3 -1.131688868 2.000000000 + 4 -1.131688868 2.000000000 + 5 -0.9440722282 2.000000000 + 6 -0.4008874811 2.000000000 + 7 -0.3552838642 2.000000000 + 8 -0.3552838642 2.000000000 + 9 -0.2841899184 2.000000000 + 10 -0.2841899184 2.000000000 + 11 -0.2841899184 2.000000000 + 12 0.1240403569 2.000000000 + 13 0.1240403569 2.000000000 + 14 0.1240403569 2.000000000 + 15 0.1963433343 2.000000000 + 16 0.1963433343 2.000000000 + 17 0.1963433343 2.000000000 + 18 0.2274643503 2.000000000 + 19 0.2274643503 2.000000000 + 20 0.2274643503 2.000000000 + 21 0.2787404949 2.000000000 + 22 0.2787404949 2.000000000 + 23 0.2787404949 2.000000000 + 24 0.3627396357 0.1719262325E-17 + 25 0.3627396357 0.1719262325E-17 + 26 0.4679669877 0.000000000 + 27 0.4679669877 0.000000000 + 28 0.4816901801 0.000000000 + 29 0.6363316249 0.000000000 + 30 0.6363316249 0.000000000 + 31 0.6363316249 0.000000000 + 32 0.7997526405 0.000000000 + 33 0.8808335095 0.000000000 + 34 0.8808335095 0.000000000 + 35 0.8808335095 0.000000000 + 36 1.065261897 0.000000000 + 37 1.106455928 0.000000000 + 38 1.106455928 0.000000000 + 39 1.106455928 0.000000000 + 40 1.114323880 0.000000000 + 41 1.114323880 0.000000000 + + + 2 0.2500000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080913192 2.000000000 + 2 -1.132327830 2.000000000 + 3 -1.131627115 2.000000000 + 4 -1.131627115 2.000000000 + 5 -0.9434460805 2.000000000 + 6 -0.4030965190 2.000000000 + 7 -0.3558073195 2.000000000 + 8 -0.3545831853 2.000000000 + 9 -0.2829724423 2.000000000 + 10 -0.2829724423 2.000000000 + 11 -0.2705119332 2.000000000 + 12 0.9560796539E-01 2.000000000 + 13 0.1228952838 2.000000000 + 14 0.1228952838 2.000000000 + 15 0.1683146036 2.000000000 + 16 0.1683146036 2.000000000 + 17 0.1775868428 2.000000000 + 18 0.1784449781 2.000000000 + 19 0.2167722433 2.000000000 + 20 0.2167722433 2.000000000 + 21 0.2810750477 2.000000000 + 22 0.3212383248 0.9518010858 + 23 0.3212383248 0.9518010858 + 24 0.3630289787 0.1287306833E-17 + 25 0.4141859734 0.000000000 + 26 0.5095225832 0.000000000 + 27 0.5111532546 0.000000000 + 28 0.5351317989 0.000000000 + 29 0.6323948955 0.000000000 + 30 0.6642391007 0.000000000 + 31 0.6642391007 0.000000000 + 32 0.7959842788 0.000000000 + 33 0.8780219214 0.000000000 + 34 0.8780219214 0.000000000 + 35 0.8898914875 0.000000000 + 36 0.9650596386 0.000000000 + 37 1.041840477 0.000000000 + 38 1.050392091 0.000000000 + 39 1.073097886 0.000000000 + 40 1.073097886 0.000000000 + 41 1.117664142 0.000000000 + + + 3 0.5000000000 0.000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080912294 2.000000000 + 2 -1.132926000 2.000000000 + 3 -1.131564883 2.000000000 + 4 -1.131564883 2.000000000 + 5 -0.9428157584 2.000000000 + 6 -0.4084852675 2.000000000 + 7 -0.3538266768 2.000000000 + 8 -0.3494064836 2.000000000 + 9 -0.2817319657 2.000000000 + 10 -0.2817319657 2.000000000 + 11 -0.2598027528 2.000000000 + 12 0.6746678860E-01 2.000000000 + 13 0.1234010883 2.000000000 + 14 0.1234010883 2.000000000 + 15 0.1468283740 2.000000000 + 16 0.1474941442 2.000000000 + 17 0.1474941442 2.000000000 + 18 0.1641425237 2.000000000 + 19 0.2112615508 2.000000000 + 20 0.2112615508 2.000000000 + 21 0.2834528907 2.000000000 + 22 0.3519041119 0.8732736636E-13 + 23 0.3519041119 0.8732736636E-13 + 24 0.3633785743 0.9075167699E-18 + 25 0.4481704981 0.000000000 + 26 0.5555294132 0.000000000 + 27 0.5580645178 0.000000000 + 28 0.6281608880 0.000000000 + 29 0.6332808152 0.000000000 + 30 0.6924728482 0.000000000 + 31 0.6924728482 0.000000000 + 32 0.7832086940 0.000000000 + 33 0.7952333683 0.000000000 + 34 0.8782579932 0.000000000 + 35 0.8782579932 0.000000000 + 36 0.9262397893 0.000000000 + 37 0.9863709065 0.000000000 + 38 1.036659717 0.000000000 + 39 1.044273941 0.000000000 + 40 1.044273941 0.000000000 + 41 1.063670948 0.000000000 + + + 4 0.2500000000 0.2500000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080910305 2.000000000 + 2 -1.132253334 2.000000000 + 3 -1.132203942 2.000000000 + 4 -1.131564292 2.000000000 + 5 -0.9429128350 2.000000000 + 6 -0.3974642422 2.000000000 + 7 -0.3620613012 2.000000000 + 8 -0.3528792986 2.000000000 + 9 -0.2816629848 2.000000000 + 10 -0.2755380936 2.000000000 + 11 -0.2700258631 2.000000000 + 12 0.8547828310E-01 2.000000000 + 13 0.1039516054 2.000000000 + 14 0.1197230548 2.000000000 + 15 0.1233892019 2.000000000 + 16 0.1533643762 2.000000000 + 17 0.1753953420 2.000000000 + 18 0.1902845589 2.000000000 + 19 0.1940737286 2.000000000 + 20 0.2141345370 2.000000000 + 21 0.3192041970 1.748188638 + 22 0.3242569533 0.8497725960E-01 + 23 0.3326622013 0.1985187990E-04 + 24 0.3876946349 0.000000000 + 25 0.4473600940 0.000000000 + 26 0.5410462796 0.000000000 + 27 0.5568988188 0.000000000 + 28 0.5594024472 0.000000000 + 29 0.6584119710 0.000000000 + 30 0.6720929654 0.000000000 + 31 0.6729354315 0.000000000 + 32 0.7948725946 0.000000000 + 33 0.8323960461 0.000000000 + 34 0.8621206515 0.000000000 + 35 0.8968767900 0.000000000 + 36 0.9026311112 0.000000000 + 37 1.007375063 0.000000000 + 38 1.029511860 0.000000000 + 39 1.074335499 0.000000000 + 40 1.076877573 0.000000000 + 41 1.128715119 0.000000000 + + + 5 0.5000000000 0.2500000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080915141 2.000000000 + 2 -1.132870627 2.000000000 + 3 -1.132197689 2.000000000 + 4 -1.131556232 2.000000000 + 5 -0.9423759464 2.000000000 + 6 -0.3957985951 2.000000000 + 7 -0.3591886159 2.000000000 + 8 -0.3541237899 2.000000000 + 9 -0.2803411887 2.000000000 + 10 -0.2742745846 2.000000000 + 11 -0.2649434107 2.000000000 + 12 0.6526613075E-01 2.000000000 + 13 0.8555139358E-01 2.000000000 + 14 0.9994023730E-01 2.000000000 + 15 0.1245618184 2.000000000 + 16 0.1367849583 2.000000000 + 17 0.1699818355 2.000000000 + 18 0.1826235005 2.000000000 + 19 0.1855674021 2.000000000 + 20 0.2170412769 2.000000000 + 21 0.3221154165 0.5483412414 + 22 0.3512664744 0.1652238712E-12 + 23 0.3540552436 0.1016074878E-13 + 24 0.3921830393 0.000000000 + 25 0.4807900650 0.000000000 + 26 0.5824822151 0.000000000 + 27 0.6006494969 0.000000000 + 28 0.6229834244 0.000000000 + 29 0.6657915676 0.000000000 + 30 0.6890583666 0.000000000 + 31 0.6988887480 0.000000000 + 32 0.7600570316 0.000000000 + 33 0.7996674572 0.000000000 + 34 0.8243421355 0.000000000 + 35 0.8498168438 0.000000000 + 36 0.8644313430 0.000000000 + 37 0.9690404303 0.000000000 + 38 0.9869111018 0.000000000 + 39 1.034862996 0.000000000 + 40 1.123680910 0.000000000 + 41 1.128338774 0.000000000 + + + 6 0.5000000000 0.5000000000 0.000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080919469 2.000000000 + 2 -1.132821084 2.000000000 + 3 -1.132821084 2.000000000 + 4 -1.131556348 2.000000000 + 5 -0.9419324869 2.000000000 + 6 -0.3708454422 2.000000000 + 7 -0.3675374714 2.000000000 + 8 -0.3675374714 2.000000000 + 9 -0.2789251686 2.000000000 + 10 -0.2680364299 2.000000000 + 11 -0.2680364299 2.000000000 + 12 0.5665044947E-01 2.000000000 + 13 0.5993672712E-01 2.000000000 + 14 0.7465522865E-01 2.000000000 + 15 0.1269678633 2.000000000 + 16 0.1269678633 2.000000000 + 17 0.1634606660 2.000000000 + 18 0.1830616585 2.000000000 + 19 0.1830616585 2.000000000 + 20 0.2395130027 2.000000000 + 21 0.3509860322 0.2187093199E-12 + 22 0.3509860322 0.2187093199E-12 + 23 0.3642441292 0.3818993694E-18 + 24 0.4008409014 0.000000000 + 25 0.5180680383 0.000000000 + 26 0.6064481133 0.000000000 + 27 0.6159910732 0.000000000 + 28 0.6990396042 0.000000000 + 29 0.6990396042 0.000000000 + 30 0.7103343650 0.000000000 + 31 0.7103343650 0.000000000 + 32 0.7116369197 0.000000000 + 33 0.7967413206 0.000000000 + 34 0.8017159443 0.000000000 + 35 0.8017159443 0.000000000 + 36 0.8135759124 0.000000000 + 37 0.8435846616 0.000000000 + 38 0.9580135283 0.000000000 + 39 1.078257120 0.000000000 + 40 1.131319957 0.000000000 + 41 1.131319957 0.000000000 + + + 7 0.2500000000 0.2500000000 0.2500000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080913977 2.000000000 + 2 -1.132241567 2.000000000 + 3 -1.132172610 2.000000000 + 4 -1.132172610 2.000000000 + 5 -0.9424245661 2.000000000 + 6 -0.3896839024 2.000000000 + 7 -0.3569612248 2.000000000 + 8 -0.3569612248 2.000000000 + 9 -0.2818665975 2.000000000 + 10 -0.2818665975 2.000000000 + 11 -0.2671909185 2.000000000 + 12 0.7777182412E-01 2.000000000 + 13 0.1043736460 2.000000000 + 14 0.1043736460 2.000000000 + 15 0.1248592859 2.000000000 + 16 0.1248592859 2.000000000 + 17 0.1271180017 2.000000000 + 18 0.2063953518 2.000000000 + 19 0.2063953518 2.000000000 + 20 0.2182014310 2.000000000 + 21 0.3336490598 0.7399751479E-05 + 22 0.3371547059 0.2221958420E-06 + 23 0.3371547059 0.2221958420E-06 + 24 0.4466894690 0.000000000 + 25 0.4466894690 0.000000000 + 26 0.5645507189 0.000000000 + 27 0.5734253551 0.000000000 + 28 0.5734253551 0.000000000 + 29 0.6611231280 0.000000000 + 30 0.6611231280 0.000000000 + 31 0.6990740795 0.000000000 + 32 0.7649259038 0.000000000 + 33 0.8586074180 0.000000000 + 34 0.8599856377 0.000000000 + 35 0.8599856377 0.000000000 + 36 0.9036846531 0.000000000 + 37 1.014152150 0.000000000 + 38 1.014152150 0.000000000 + 39 1.058268396 0.000000000 + 40 1.080994750 0.000000000 + 41 1.080994750 0.000000000 + + + 8 0.5000000000 0.2500000000 0.2500000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080917842 2.000000000 + 2 -1.132810191 2.000000000 + 3 -1.132178689 2.000000000 + 4 -1.132133755 2.000000000 + 5 -0.9419326068 2.000000000 + 6 -0.3836090418 2.000000000 + 7 -0.3586874610 2.000000000 + 8 -0.3507955565 2.000000000 + 9 -0.2892621023 2.000000000 + 10 -0.2733714081 2.000000000 + 11 -0.2729057127 2.000000000 + 12 0.6418299998E-01 2.000000000 + 13 0.8759567473E-01 2.000000000 + 14 0.9829632474E-01 2.000000000 + 15 0.1062288532 2.000000000 + 16 0.1087052035 2.000000000 + 17 0.1320017691 2.000000000 + 18 0.2052277810 2.000000000 + 19 0.2110865712 2.000000000 + 20 0.2216363259 2.000000000 + 21 0.3392602726 0.2705826697E-07 + 22 0.3563641889 0.1009632998E-14 + 23 0.3578146533 0.2367199275E-15 + 24 0.4454329802 0.000000000 + 25 0.4886828615 0.000000000 + 26 0.5891619040 0.000000000 + 27 0.6102869679 0.000000000 + 28 0.6180362420 0.000000000 + 29 0.6198659280 0.000000000 + 30 0.6847871478 0.000000000 + 31 0.7249610770 0.000000000 + 32 0.7388741744 0.000000000 + 33 0.8161765665 0.000000000 + 34 0.8171066678 0.000000000 + 35 0.8708867936 0.000000000 + 36 0.8867366925 0.000000000 + 37 1.002008651 0.000000000 + 38 1.012283145 0.000000000 + 39 1.019094714 0.000000000 + 40 1.021550943 0.000000000 + 41 1.047281587 0.000000000 + + + 9 0.5000000000 0.5000000000 0.2500000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080921208 2.000000000 + 2 -1.132758919 2.000000000 + 3 -1.132758919 2.000000000 + 4 -1.132120891 2.000000000 + 5 -0.9414857882 2.000000000 + 6 -0.3596463817 2.000000000 + 7 -0.3591916696 2.000000000 + 8 -0.3591916696 2.000000000 + 9 -0.2880719366 2.000000000 + 10 -0.2806057945 2.000000000 + 11 -0.2806057945 2.000000000 + 12 0.5632350428E-01 2.000000000 + 13 0.7486414202E-01 2.000000000 + 14 0.7925223837E-01 2.000000000 + 15 0.1088394444 2.000000000 + 16 0.1088394444 2.000000000 + 17 0.1098299671 2.000000000 + 18 0.2164711067 2.000000000 + 19 0.2164711067 2.000000000 + 20 0.2410400547 2.000000000 + 21 0.3601440639 0.2304542190E-16 + 22 0.3601440639 0.2304542190E-16 + 23 0.3681877805 0.7400190809E-20 + 24 0.4633895547 0.000000000 + 25 0.5180560839 0.000000000 + 26 0.5766243705 0.000000000 + 27 0.6015462211 0.000000000 + 28 0.6015462211 0.000000000 + 29 0.6440257884 0.000000000 + 30 0.6771775015 0.000000000 + 31 0.7573218889 0.000000000 + 32 0.7573218889 0.000000000 + 33 0.7888483172 0.000000000 + 34 0.8361695632 0.000000000 + 35 0.8661467170 0.000000000 + 36 0.8941930697 0.000000000 + 37 0.8941930697 0.000000000 + 38 0.9781855322 0.000000000 + 39 1.024091390 0.000000000 + 40 1.057340734 0.000000000 + 41 1.057340734 0.000000000 + + + 10 0.5000000000 0.5000000000 0.5000000000 : k-point, vkl + (state, eigenvalue and occupancy below) + 1 -2.080926396 2.000000000 + 2 -1.132723022 2.000000000 + 3 -1.132723022 2.000000000 + 4 -1.132723022 2.000000000 + 5 -0.9410358021 2.000000000 + 6 -0.3473222677 2.000000000 + 7 -0.3473222677 2.000000000 + 8 -0.3473222677 2.000000000 + 9 -0.2965701321 2.000000000 + 10 -0.2965701321 2.000000000 + 11 -0.2965701321 2.000000000 + 12 0.4839222801E-01 2.000000000 + 13 0.7509750354E-01 2.000000000 + 14 0.7509750354E-01 2.000000000 + 15 0.9821261827E-01 2.000000000 + 16 0.9821261827E-01 2.000000000 + 17 0.9821261827E-01 2.000000000 + 18 0.2427208549 2.000000000 + 19 0.2427208549 2.000000000 + 20 0.2427208549 2.000000000 + 21 0.3724696266 0.000000000 + 22 0.3724696266 0.000000000 + 23 0.3724696266 0.000000000 + 24 0.5181679962 0.000000000 + 25 0.5181679962 0.000000000 + 26 0.5489633359 0.000000000 + 27 0.5489633359 0.000000000 + 28 0.5489633359 0.000000000 + 29 0.6285960801 0.000000000 + 30 0.7678537640 0.000000000 + 31 0.7678537640 0.000000000 + 32 0.7814962951 0.000000000 + 33 0.7814962951 0.000000000 + 34 0.7814962951 0.000000000 + 35 0.8648320260 0.000000000 + 36 0.9932576734 0.000000000 + 37 0.9932576734 0.000000000 + 38 0.9932576734 0.000000000 + 39 1.011396116 0.000000000 + 40 1.011396116 0.000000000 + 41 1.011396116 0.000000000 + diff --git a/test/python/elk/occ_test/GEOMETRY.OUT b/test/python/elk/occ_test/GEOMETRY.OUT new file mode 100644 index 00000000..069386d7 --- /dev/null +++ b/test/python/elk/occ_test/GEOMETRY.OUT @@ -0,0 +1,31 @@ + +scale + 1.0 + +scale1 + 1.0 + +scale2 + 1.0 + +scale3 + 1.0 + +avec + 7.260500000 0.000000000 0.000000000 + 0.000000000 7.260500000 0.000000000 + 0.000000000 0.000000000 7.260500000 + +atoms + 3 : nspecies +'Sr.in' : spfname + 1 : natoms; atpos, bfcmt below + 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 +'V.in' : spfname + 1 : natoms; atpos, bfcmt below + 0.50000000 0.50000000 0.50000000 0.00000000 0.00000000 0.00000000 +'O.in' : spfname + 3 : natoms; atpos, bfcmt below + 0.00000000 0.50000000 0.50000000 0.00000000 0.00000000 0.00000000 + 0.50000000 0.00000000 0.50000000 0.00000000 0.00000000 0.00000000 + 0.50000000 0.50000000 0.00000000 0.00000000 0.00000000 0.00000000 diff --git a/test/python/elk/occ_test/KPOINTS.OUT b/test/python/elk/occ_test/KPOINTS.OUT new file mode 100644 index 00000000..12fb88d5 --- /dev/null +++ b/test/python/elk/occ_test/KPOINTS.OUT @@ -0,0 +1,11 @@ + 10 : nkpt; k-point, vkl, wkpt, nmat below + 1 0.000000000 0.000000000 0.000000000 0.1562500000E-01 401 + 2 0.2500000000 0.000000000 0.000000000 0.9375000000E-01 397 + 3 0.5000000000 0.000000000 0.000000000 0.4687500000E-01 372 + 4 0.2500000000 0.2500000000 0.000000000 0.1875000000 374 + 5 0.5000000000 0.2500000000 0.000000000 0.1875000000 386 + 6 0.5000000000 0.5000000000 0.000000000 0.4687500000E-01 392 + 7 0.2500000000 0.2500000000 0.2500000000 0.1250000000 386 + 8 0.5000000000 0.2500000000 0.2500000000 0.1875000000 386 + 9 0.5000000000 0.5000000000 0.2500000000 0.9375000000E-01 388 + 10 0.5000000000 0.5000000000 0.5000000000 0.1562500000E-01 396 diff --git a/test/python/elk/occ_test/LATTICE.OUT b/test/python/elk/occ_test/LATTICE.OUT new file mode 100644 index 00000000..9fbd2c10 --- /dev/null +++ b/test/python/elk/occ_test/LATTICE.OUT @@ -0,0 +1,41 @@ + ++----------------------------+ +| Real-space lattice vectors | ++----------------------------+ + +vector a1 : 7.260500000 0.000000000 0.000000000 +vector a2 : 0.000000000 7.260500000 0.000000000 +vector a3 : 0.000000000 0.000000000 7.260500000 + +Stored column-wise as a matrix : + 7.260500000 0.000000000 0.000000000 + 0.000000000 7.260500000 0.000000000 + 0.000000000 0.000000000 7.260500000 + +Inverse of matrix : + 0.1377315612 0.000000000 0.000000000 + 0.000000000 0.1377315612 0.000000000 + 0.000000000 0.000000000 0.1377315612 + +Unit cell volume : 382.7362428 + + ++----------------------------------+ +| Reciprocal-space lattice vectors | ++----------------------------------+ + +vector b1 : 0.8653929216 0.000000000 0.000000000 +vector b2 : 0.000000000 0.8653929216 0.000000000 +vector b3 : 0.000000000 0.000000000 0.8653929216 + +Stored column-wise as a matrix : + 0.8653929216 0.000000000 0.000000000 + 0.000000000 0.8653929216 0.000000000 + 0.000000000 0.000000000 0.8653929216 + +Inverse of matrix : + 1.155544464 0.000000000 0.000000000 + 0.000000000 1.155544464 0.000000000 + 0.000000000 0.000000000 1.155544464 + +Brillouin zone volume : 0.6480970070 diff --git a/test/python/elk/occ_test/PROJ.OUT b/test/python/elk/occ_test/PROJ.OUT new file mode 100644 index 00000000..51b27a0f --- /dev/null +++ b/test/python/elk/occ_test/PROJ.OUT @@ -0,0 +1,8 @@ + 1 10 1 0 5 : nproj, nkpt, nspinor, spinorb, natmtot + 1 : Proj index + 2 1 2 3 : Species index, natoms, l, lm submatrix size + 1 : Subset no. of equivalent atoms + 1 2 : atom, spatom + 3 4 5 : lm indices + 1 : Cubic Harmonics + diff --git a/test/python/elk/occ_test/SYMCRYS.OUT b/test/python/elk/occ_test/SYMCRYS.OUT new file mode 100644 index 00000000..5308b334 --- /dev/null +++ b/test/python/elk/occ_test/SYMCRYS.OUT @@ -0,0 +1,580 @@ + +(translation vectors and rotation matrices are in lattice coordinates) + + 48 : nsymcrys + +Crystal symmetry : 1 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 1 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 2 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 -1 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 3 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 0 -1 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 4 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 0 -1 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 5 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 0 1 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 6 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 0 1 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 7 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 1 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 8 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 1 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 9 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + -1 0 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 10 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + -1 0 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 11 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 0 0 -1 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 12 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 0 0 -1 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 13 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 0 0 1 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 14 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 0 0 1 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 15 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 1 0 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 16 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 -1 0 + 1 0 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 17 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + -1 0 0 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 18 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + -1 0 0 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 19 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 0 -1 0 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 20 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 0 -1 0 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 21 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 0 1 0 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 22 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 0 1 0 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 23 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 1 0 0 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 24 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 -1 + 1 0 0 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 25 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + -1 0 0 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 26 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + -1 0 0 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 27 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 0 -1 0 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 28 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 0 -1 0 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 29 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 0 1 0 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 30 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 0 1 0 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 31 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 1 0 0 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 32 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 0 1 + 1 0 0 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 33 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + -1 0 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 34 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + -1 0 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 35 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 0 0 -1 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 36 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 0 0 -1 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 37 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 0 0 1 + -1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 38 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 0 0 1 + 1 0 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 39 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 1 0 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 40 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 0 1 0 + 1 0 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 41 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 -1 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 42 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 -1 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 43 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 0 -1 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 44 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 0 -1 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 45 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 0 1 + 0 -1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 46 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 0 1 + 0 1 0 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 47 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + 1 0 0 + 0 1 0 + 0 0 -1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 + +Crystal symmetry : 48 + spatial translation : + 0.000000000 0.000000000 0.000000000 + spatial rotation : + -1 0 0 + 0 -1 0 + 0 0 1 + global spin rotation : + 1 0 0 + 0 1 0 + 0 0 1 diff --git a/test/python/elk/occ_test/WANPROJ_L02_S02_A0001.OUT b/test/python/elk/occ_test/WANPROJ_L02_S02_A0001.OUT new file mode 100644 index 00000000..cbd1e5da --- /dev/null +++ b/test/python/elk/occ_test/WANPROJ_L02_S02_A0001.OUT @@ -0,0 +1,141 @@ + 10 5 3 : number of k-points, lmmax, reduced lmmax + 1 0.000000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -6.7105655955802212E-031 -6.3882801826833444E-034 6.6550957365569281E-017 2.1138614120121491E-017 4.6399095851368767E-017 0.0000000000000000 0.0000000000000000 -2.7914921757873600E-018 -8.3744765273620791E-018 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 5.7795494640664351E-015 1.2776560365366689E-033 -0.48033027589968202 -0.30182410550742983 -0.42211967324074606 0.0000000000000000 0.0000000000000000 3.5748250748869175E-034 1.0724475224660752E-033 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -5.8038606982369813E-015 -1.2776560365366689E-033 0.48033027589968202 0.30182410550742983 0.42211967324074606 0.0000000000000000 0.0000000000000000 -3.5748250748869175E-034 -1.0724475224660752E-033 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 6.7105655955802212E-031 6.3882801826833444E-034 -6.6550957365569281E-017 -2.1138614120121491E-017 -4.6399095851368767E-017 0.0000000000000000 0.0000000000000000 2.7914921757873600E-018 8.3744765273620791E-018 0.0000000000000000 + + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.8255013034021984E-031 1.5172165433872943E-033 0.43321280875551299 -0.54988314907614744 -9.9775587396690527E-002 0.0000000000000000 0.0000000000000000 7.0219778256707301E-035 2.1065933477012192E-034 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 5.6510026068043968E-031 3.7367733404265051E-015 0.28567371515838208 0.32639043313926341 -0.55844408562618808 0.0000000000000000 0.0000000000000000 -1.3618381237664447E-034 -4.0855143712993341E-034 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -5.6510026068043968E-031 3.7629626999920564E-015 0.28567371515838241 0.32639043313926330 -0.55844408562618786 0.0000000000000000 0.0000000000000000 1.3618381237664447E-034 4.0855143712993341E-034 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.8255013034021984E-031 -1.5172165433872943E-033 -0.43321280875551299 0.54988314907614744 9.9775587396690527E-002 0.0000000000000000 0.0000000000000000 -7.0219778256707301E-035 -2.1065933477012192E-034 0.0000000000000000 + + 2 0.2500000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + -1.1479430934821716E-015 -4.1201831605635411E-002 3.2486659603760099E-002 -0.12807750971585008 -0.14798916110561403 6.5050108630656391E-015 -1.5203412994034713E-016 -5.5437384367849923E-002 -4.7068691699284550E-002 3.8676270967438337E-015 0.28354081699962441 0.35108151134858573 2.0116336114354248E-015 -9.6208564025172474E-016 6.0267012407814007E-016 -3.6044046536419372E-017 -8.7189011147812559E-016 + 8.5377531061272291E-030 -3.2486659603760328E-002 -4.1201831605645070E-002 -0.14798916110561686 0.12807750971585027 -4.8386162189772038E-029 1.1319321334491101E-030 4.7068691699284550E-002 -5.5437384367842069E-002 -0.50000000588867755 -0.35108151134858362 0.28354081699963019 -1.4965863616643814E-029 7.1586280823072410E-030 -4.4832527087694744E-030 2.6846185502485039E-031 6.4859609978193888E-030 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 9.6023541003411349E-030 3.2486659603757316E-002 4.1201831605643016E-002 0.14798916110561308 -0.12807750971584711 -5.4388032826178798E-029 1.2663340192084875E-030 -4.7068691699288519E-002 5.5437384367849549E-002 -0.50000000588868243 0.35108151134858584 -0.28354081699962064 -1.6806651697050644E-029 8.0332260598548725E-030 -5.0369932458614618E-030 2.9974335319816809E-031 7.2871449951516586E-030 + 1.1479430934821716E-015 4.1201831605635411E-002 -3.2486659603760099E-002 0.12807750971585008 0.14798916110561403 -6.5050108630656391E-015 1.5203412994034713E-016 5.5437384367849923E-002 4.7068691699284550E-002 -3.8676270967438337E-015 -0.28354081699962441 -0.35108151134858573 -2.0116336114354248E-015 9.6208564025172474E-016 -6.0267012407814007E-016 3.6044046536419372E-017 8.7189011147812559E-016 + + 1.2026070503146559E-015 4.1201831605635363E-002 -3.2486659603760099E-002 0.12807750971584989 0.14798916110561408 -6.5050108630656391E-015 9.3099551480324920E-017 5.5437384367849923E-002 4.7068691699284480E-002 -3.8990903550046676E-015 -0.28354081699962458 -0.35108151134858545 -1.8585745323044683E-015 8.3089214385376231E-016 -5.7943794242433422E-016 1.6228362184643793E-017 8.3909173737863501E-016 + -8.9875410208915991E-030 -3.2486659603757254E-002 -4.1201831605643023E-002 -0.14798916110561297 0.12807750971584725 4.8619734901916953E-029 -6.9690248987368002E-031 4.7068691699288415E-002 -5.5437384367849514E-002 0.50000000588868232 -0.35108151134858606 0.28354081699962030 1.3894100743379659E-029 -6.2126072080984171E-030 4.3312506232071474E-030 -1.2164973826120052E-031 -6.2721260719165434E-030 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -9.8628943930235077E-030 3.2486659603760279E-002 4.1201831605645146E-002 0.14798916110561680 -0.12807750971585041 5.3325135644498058E-029 -7.5837313976920981E-031 -4.7068691699284765E-002 5.5437384367842062E-002 0.50000000588867721 0.35108151134858406 -0.28354081699962996 1.5223248368559501E-029 -6.8005595393138963E-030 4.7480720351308591E-030 -1.3141386159899770E-031 -6.8758148150297549E-030 + -1.2026070503146559E-015 -4.1201831605635363E-002 3.2486659603760099E-002 -0.12807750971584989 -0.14798916110561408 6.5050108630656391E-015 -9.3099551480324920E-017 -5.5437384367849923E-002 -4.7068691699284480E-002 3.8990903550046676E-015 0.28354081699962458 0.35108151134858545 1.8585745323044683E-015 -8.3089214385376231E-016 5.7943794242433422E-016 -1.6228362184643793E-017 -8.3909173737863501E-016 + + 3 0.5000000000 0.000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 27 : spinor index, minimum and maximum band indices + 3.8301697230931260E-035 0.0000000000000000 -3.8473417400210853E-031 -1.4998533703594799E-014 -0.32186355830931351 3.8170613586327409E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.5114882735402794E-035 -0.57790552524403449 -0.24692524177247691 4.1150949961117418E-014 -5.1068929641241676E-035 0.0000000000000000 0.0000000000000000 + 3.2684114970394673E-033 0.0000000000000000 -3.7571696679893411E-034 1.3809106840985814E-032 3.7975521566674866E-021 3.2021849668353347E-020 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710678846348274 -2.4566319383574014E-020 5.7495181961827470E-020 0.0000000000000000 -4.3578819960526231E-033 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -3.2684114970394673E-033 0.0000000000000000 3.7571696679893411E-034 -1.3809106840985814E-032 -3.7975521566674866E-021 -3.2021849668353347E-020 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.70710678846348252 2.4566319383574014E-020 -5.7495181961827470E-020 0.0000000000000000 4.3578819960526231E-033 0.0000000000000000 0.0000000000000000 + -3.8301697230931260E-035 0.0000000000000000 3.8473417400210853E-031 1.4998533703594799E-014 0.32186355830931351 -3.8170613586327409E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5114882735402794E-035 0.57790552524403449 0.24692524177247691 -4.1150949961117418E-014 5.1068929641241676E-035 0.0000000000000000 0.0000000000000000 + + 6.4164108193376199E-017 0.0000000000000000 3.7571696679893412E-033 -1.2913794316588710E-031 1.5415557644344527E-019 -3.4300380962353796E-019 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.7157639921052461E-033 -7.3603942728612875E-018 -4.2755390331683307E-019 -2.4564375171018604E-032 -8.5552144257834928E-017 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 3.7774225529275110E-015 -1.3880436723964524E-013 -3.8170613586328082E-002 -0.32186355830931335 0.0000000000000000 0.0000000000000000 0.0000000000000000 -8.5114882735402794E-036 0.24692524177247693 -0.57790552524403405 -2.0961600145935875E-030 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 -3.7755202722709817E-015 1.3879660278213001E-013 3.8170613586328082E-002 0.32186355830931335 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.5114882735402794E-036 -0.24692524177247699 0.57790552524403405 2.0961600145935875E-030 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -6.4164108193376199E-017 0.0000000000000000 -3.7571696679893412E-033 1.2913794316588710E-031 -1.5415557644344527E-019 3.4300380962353796E-019 0.0000000000000000 0.0000000000000000 0.0000000000000000 8.7157639921052461E-033 7.3603942728612875E-018 4.2755390331683307E-019 2.4564375171018604E-032 8.5552144257834928E-017 0.0000000000000000 0.0000000000000000 + + 4 0.2500000000 0.2500000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 0.11405873451729223 0.0000000000000000 -0.23546202097124866 -1.0249723439205300E-014 -7.5095022555978797E-029 1.4256280234270332E-002 1.6008330212215150E-072 -4.0356122523790583E-016 8.0041651061075750E-073 1.0211551832557298E-015 -8.2276812085473522E-030 0.65046168029731499 -2.8615062075332712E-002 0.0000000000000000 8.5241414050527639E-002 3.0015619147903406E-073 -1.2637206311404530E-002 + 1.2970648841605209E-016 0.0000000000000000 -2.6776513017420174E-016 0.10777800260674454 -0.20344147977690030 1.6212103833065352E-017 -2.4476840433737368E-032 -0.17944970424762796 -1.2238420216868684E-032 0.45407235424606457 -0.45674014977267807 7.3969872414969147E-016 -3.2540771500809966E-017 0.0000000000000000 9.6935710631055850E-017 -4.5894075813257564E-033 -1.4370908646132197E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.2970648841603394E-016 0.0000000000000000 -2.6776513017416427E-016 0.10777800260674460 -0.20344147977690041 1.6212103833063084E-017 2.4476840433737368E-032 -0.17944970424762796 1.2238420216868684E-032 0.45407235424606457 -0.45674014977267796 7.3969872414958813E-016 -3.2540771500805417E-017 0.0000000000000000 9.6935710631042292E-017 4.5894075813257564E-033 -1.4370908646130188E-017 + -0.11405873451729223 0.0000000000000000 0.23546202097124866 1.0249723439205300E-014 7.5095022555978797E-029 -1.4256280234270332E-002 -1.6008330212215150E-072 4.0356122523790583E-016 -8.0041651061075750E-073 -1.0211551832557298E-015 8.2276812085473522E-030 -0.65046168029731499 2.8615062075332712E-002 0.0000000000000000 -8.5241414050527639E-002 -3.0015619147903406E-073 1.2637206311404530E-002 + + 8.4830568833071528E-057 0.0000000000000000 -1.7512360856982293E-056 -8.4996316805575910E-030 -1.5967693001622960E-029 1.0603031559441650E-057 -2.1523961360357707E-017 1.4098841695660923E-029 -1.0761980680178853E-017 -3.5706112729657061E-029 -3.5848571791187747E-029 4.8377736766289603E-056 -2.1282298136282648E-057 0.0000000000000000 6.3397842108666782E-057 -4.0357427550670704E-018 -9.3988540587814491E-058 + -1.2970648841600493E-016 0.0000000000000000 2.6776513017410441E-016 -0.10777800260674987 -0.20344147977689339 -1.6212103833059460E-017 -2.4476840433746263E-032 0.17944970424763437 -1.2238420216873132E-032 -0.45407235424593645 -0.45674014977280492 -7.3969872414942266E-016 3.2540771500798139E-017 0.0000000000000000 -9.6935710631020623E-017 -4.5894075813274246E-033 1.4370908646126974E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.2970648841600493E-016 0.0000000000000000 -2.6776513017410441E-016 0.10777800260674987 0.20344147977689328 1.6212103833059460E-017 -2.4476840433742842E-032 -0.17944970424763437 -1.2238420216871421E-032 0.45407235424593645 0.45674014977280503 7.3969872414942266E-016 -3.2540771500798139E-017 0.0000000000000000 9.6935710631020623E-017 -4.5894075813267828E-033 -1.4370908646126974E-017 + -8.4830568833071528E-057 0.0000000000000000 1.7512360856982293E-056 8.4996316805575910E-030 1.5967693001622960E-029 -1.0603031559441650E-057 2.1523961360357707E-017 -1.4098841695660923E-029 1.0761980680178853E-017 3.5706112729657061E-029 3.5848571791187747E-029 -4.8377736766289603E-056 2.1282298136282648E-057 0.0000000000000000 -6.3397842108666782E-057 4.0357427550670704E-018 9.3988540587814491E-058 + + 5 0.5000000000 0.2500000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 26 : spinor index, minimum and maximum band indices + -6.3668189435616237E-016 -0.18223854982126789 -4.9236733163543227E-015 7.4171311499880794E-016 -7.1437508893710305E-017 -2.4220390038509475E-002 8.5269507474275604E-016 1.3370319781479410E-015 -7.5133050247464681E-002 2.6175052499622367E-015 1.0144798346011778E-013 0.45708432412351058 1.4272285798483975E-015 1.8676002234447431E-015 4.0390906993363444E-002 + -3.9006444403437280E-030 -1.1192009657532371E-015 -3.0238277993990591E-029 0.13007658391645993 -0.22022796738043829 -1.4874725434660121E-016 0.14953984256448338 8.2084132100147222E-030 -4.6142258308914335E-016 0.45904020626500547 -0.44888712188601743 9.6109557704032248E-014 8.7670860389131959E-030 1.1465900567272340E-029 2.4805696796291071E-016 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -3.5047980595012034E-030 -1.0001488463490106E-015 -2.7021759073373006E-029 0.13007658391648030 0.22022796738041847 -1.3292464837377286E-016 0.14953984256448932 7.3409867883768362E-030 -4.1233994454731150E-016 0.45904020626500514 0.44888712188601965 -1.0338072313387919E-013 7.8306949231194690E-030 1.0253874782319225E-029 2.2167054704958030E-016 + 6.3668189435616237E-016 0.18223854982126789 4.9236733163543227E-015 -7.4171311499880794E-016 7.1437508893710305E-017 2.4220390038509475E-002 -8.5269507474275604E-016 -1.3370319781479410E-015 7.5133050247464681E-002 -2.6175052499622367E-015 -1.0144798346011778E-013 -0.45708432412351058 -1.4272285798483975E-015 -1.8676002234447431E-015 -4.0390906993363444E-002 + + -5.3056824529680209E-016 -0.18223854982126789 -4.9236733163543227E-015 7.4036041072192792E-016 3.0045909029674252E-017 -2.4220390038509496E-002 8.5113996637112640E-016 1.3051978834301330E-015 -7.5133050247464597E-002 2.6127315571761811E-015 1.0168625660577876E-013 0.45708432412351024 1.4484513096602696E-015 1.8251547638209989E-015 4.0390906993363389E-002 + -3.1541802740951059E-030 -1.0866470977127699E-015 -2.9358746130001496E-029 0.13007658391648030 0.22022796738041847 -1.4442068687788747E-016 0.14953984256448924 7.7797553366254320E-030 -4.4800132065244875E-016 0.45904020626500491 0.44888712188601987 -1.0319415938154905E-013 8.6386818504508475E-030 1.0879192393604050E-029 2.4084180817599187E-016 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -3.0284833209840673E-030 -1.0365749548733396E-015 -2.8005910114608585E-029 0.13007658391645993 -0.22022796738043829 -1.3776585544499688E-016 0.14953984256448336 7.4271620057299764E-030 -4.2735764878586052E-016 0.45904020626500536 -0.44888712188601754 9.5909708886168520E-014 8.2366865939716298E-030 1.0385743193524026E-029 2.2974394075787760E-016 + 5.3056824529680209E-016 0.18223854982126789 4.9236733163543227E-015 -7.4036041072192792E-016 -3.0045909029674252E-017 2.4220390038509496E-002 -8.5113996637112640E-016 -1.3051978834301330E-015 7.5133050247464597E-002 -2.6127315571761811E-015 -1.0168625660577876E-013 -0.45708432412351024 -1.4484513096602696E-015 -1.8251547638209989E-015 -4.0390906993363389E-002 + + 6 0.5000000000 0.5000000000 0.000000000 : k-point index, k-point (lattice coordinates) + 1 12 25 : spinor index, minimum and maximum band indices + 1.9904393575877005E-044 -1.5213912285706144E-030 0.0000000000000000 8.3729592206912046E-018 7.3577767781499387E-018 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.3025874687632881E-017 -5.5396052311209310E-018 3.8836854682080942E-030 0.0000000000000000 0.0000000000000000 + -1.2336801708594021E-029 9.4296276028308642E-016 0.0000000000000000 0.22619354084849880 0.19876862389466571 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.62203863526044945 -0.14965114353276954 -2.4005413215827795E-015 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 1.2336801708593996E-029 -9.4296276028308445E-016 0.0000000000000000 -0.22619354084849885 -0.19876862389466565 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.62203863526044945 0.14965114353276948 2.4005413215827748E-015 0.0000000000000000 0.0000000000000000 + -1.9904393575877005E-044 1.5213912285706144E-030 0.0000000000000000 -8.3729592206912046E-018 -7.3577767781499387E-018 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.3025874687632881E-017 5.5396052311209310E-018 -3.8836854682080942E-030 0.0000000000000000 0.0000000000000000 + + 3.3823515129924870E-015 -0.25852985192404110 0.0000000000000000 -8.2896497133453311E-016 -6.9643953468960711E-016 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.2240652965211908E-015 -2.3491838355034916E-014 0.65815069114715030 0.0000000000000000 0.0000000000000000 + -1.4707475819705201E-031 1.1241651056193009E-017 0.0000000000000000 0.19876862389466440 -0.22619354084849866 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.14965114353277023 -0.62203863526045011 -2.2661669332034500E-014 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -4.0115646914573124E-031 3.0662372662402646E-017 0.0000000000000000 0.19876862389466440 -0.22619354084849866 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.14965114353277012 -0.62203863526045011 -2.2717014727130095E-014 0.0000000000000000 0.0000000000000000 + -3.3823515129924870E-015 0.25852985192404110 0.0000000000000000 8.2896497133453311E-016 6.9643953468960711E-016 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.2240652965211908E-015 2.3491838355034916E-014 -0.65815069114715030 0.0000000000000000 0.0000000000000000 + + 7 0.2500000000 0.2500000000 0.2500000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 6.5185430169567571E-002 -3.5038568544752853E-002 -6.5914736754188663E-003 -0.15525577702516663 6.8417886978873995E-003 8.2533393249869927E-002 7.8168717743380516E-004 -1.6579945584513589E-002 0.0000000000000000 0.26850385997716292 0.30136108599967554 -0.21680511699339700 2.5889253990976670E-003 1.5209320034720263E-002 1.3345850802680949E-002 4.6941946680567836E-002 -2.6538822391732445E-002 + 0.13037086033913570 3.5038568544752832E-002 6.5914736754215351E-003 0.15525577702517801 -6.8417886979202924E-003 0.16506678649971773 -7.8168717743100878E-004 1.6579945584513235E-002 0.0000000000000000 0.53700771995465735 -0.30136108599945866 0.21680511699328650 -2.5889253990982360E-003 -1.5209320034722170E-002 2.6691701605374533E-002 -4.6941946680564117E-002 2.6538822391730377E-002 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 4.5796699765787707E-016 -1.1416767302579048E-002 6.0688580943984272E-002 -1.1850325639411172E-002 -0.26891089397617984 -3.1891156382357622E-014 2.8717308139104315E-002 1.3539219069360368E-003 0.0000000000000000 2.8532731732866523E-014 -0.37551747797341473 -0.52197271237544640 -2.6343315048716787E-002 4.4841503282434751E-003 9.7144514654701197E-017 4.5966588755524715E-002 8.1305836656931224E-002 + -6.5185430169567571E-002 3.5038568544752853E-002 6.5914736754188663E-003 0.15525577702516663 -6.8417886978873995E-003 -8.2533393249869927E-002 -7.8168717743380516E-004 1.6579945584513589E-002 0.0000000000000000 -0.26850385997716292 -0.30136108599967554 0.21680511699339700 -2.5889253990976670E-003 -1.5209320034720263E-002 -1.3345850802680949E-002 -4.6941946680567836E-002 2.6538822391732445E-002 + + 6.5185430169567432E-002 -3.5038568544752728E-002 -6.5914736754187509E-003 -0.15525577702516671 6.8417886978873821E-003 8.2533393249869955E-002 7.8168717743375485E-004 -1.6579945584513561E-002 0.0000000000000000 0.26850385997716264 0.30136108599967532 -0.21680511699339683 2.5889253990975781E-003 1.5209320034720286E-002 1.3345850802680918E-002 4.6941946680567830E-002 -2.6538822391732407E-002 + 4.5796699765787707E-016 -1.1416767302579090E-002 6.0688580943984292E-002 -1.1850325639411172E-002 -0.26891089397617984 -3.1891156382357622E-014 2.8717308139104281E-002 1.3539219069360420E-003 0.0000000000000000 2.8088642523016460E-014 -0.37551747797341473 -0.52197271237544651 -2.6343315048716776E-002 4.4841503282434759E-003 9.5409791178724390E-017 4.5966588755524763E-002 8.1305836656931169E-002 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.13037086033913564 3.5038568544752853E-002 6.5914736754213929E-003 0.15525577702517812 -6.8417886979203479E-003 0.16506678649971770 -7.8168717743102439E-004 1.6579945584513207E-002 0.0000000000000000 0.53700771995465746 -0.30136108599945843 0.21680511699328692 -2.5889253990982568E-003 -1.5209320034722151E-002 2.6691701605374596E-002 -4.6941946680564152E-002 2.6538822391730353E-002 + -6.5185430169567432E-002 3.5038568544752728E-002 6.5914736754187509E-003 0.15525577702516671 -6.8417886978873821E-003 -8.2533393249869955E-002 -7.8168717743375485E-004 1.6579945584513561E-002 0.0000000000000000 -0.26850385997716264 -0.30136108599967532 0.21680511699339683 -2.5889253990975781E-003 -1.5209320034720286E-002 -1.3345850802680918E-002 -4.6941946680567830E-002 2.6538822391732407E-002 + + 8 0.5000000000 0.2500000000 0.2500000000 : k-point index, k-point (lattice coordinates) + 1 12 26 : spinor index, minimum and maximum band indices + -6.3902110296014757E-017 -9.3076033745933400E-018 1.4574573712154764E-018 6.3625020862179494E-017 6.9786660235996577E-018 3.9635343096053287E-017 -1.0602157366543321E-017 -2.0603807915533907E-020 4.4108003956556141E-019 3.4956394117262753E-018 -1.8376999757161989E-019 -3.0927763597852459E-018 0.0000000000000000 -3.1137320462453242E-019 -2.0826701349418139E-020 + 1.8469445908623847E-017 0.18939373930528577 5.3672720102345376E-015 3.6744061299585066E-014 0.19906928784828620 1.6855865508930965E-016 -4.5690151792572493E-035 -5.1234444209252668E-002 6.4757479001692958E-002 4.3669839910413437E-016 -0.45697153295168591 -0.45406815591303057 0.0000000000000000 1.7732931159954541E-017 -5.1788702007069407E-002 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.8469445908623835E-017 -0.18939373930528572 -5.3680060741837366E-015 -3.6728848115247388E-014 -0.19906928784828609 -1.6855865508930965E-016 5.3787778486691807E-036 5.1234444209252668E-002 -6.4757479001692930E-002 -4.3669839910413427E-016 0.45697153295168591 0.45406815591303057 0.0000000000000000 -1.7732931159954553E-017 5.1788702007069379E-002 + 6.3902110296014757E-017 9.3076033745933400E-018 -1.4574573712154764E-018 -6.3625020862179494E-017 -6.9786660235996577E-018 -3.9635343096053287E-017 1.0602157366543321E-017 2.0603807915533907E-020 -4.4108003956556141E-019 -3.4956394117262753E-018 1.8376999757161989E-019 3.0927763597852459E-018 0.0000000000000000 3.1137320462453242E-019 2.0826701349418139E-020 + + -5.1382803247400577E-020 0.18939373930528286 -9.8521484661681720E-018 -1.4975546199713079E-014 -0.19906928784828906 -4.6893752270371995E-019 -3.4045953094161118E-035 -5.1234444209262001E-002 -6.4757479001681537E-002 -1.2149139736317286E-018 -0.45697153295107440 0.45406815591364624 0.0000000000000000 -4.9333787126022779E-020 -5.1788702007072474E-002 + -2.7423270555167738E-002 -1.2886061741333177E-016 0.12444747797607369 1.0236327120419281E-014 -1.3662752402271416E-016 -0.25027440594582290 -1.9614254233517326E-020 3.4854439737542258E-017 -4.4448481912953314E-017 -0.64840593534262703 3.1087458843089252E-016 3.1166500806526016E-016 0.0000000000000000 -2.6329699945602331E-002 3.5231497502317978E-017 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.7423270555167752E-002 -1.2973986782186648E-016 0.12444747797607361 1.0223036072694910E-014 -1.3569121362929055E-016 -0.25027440594582290 1.9614254233517085E-020 3.5101685432529068E-017 -4.4137131296789429E-017 -0.64840593534262703 3.1307982840172554E-016 3.0948187181129249E-016 0.0000000000000000 -2.6329699945602310E-002 3.5481417918511137E-017 + 5.1382803247400577E-020 -0.18939373930528286 9.8521484661681720E-018 1.4975546199713079E-014 0.19906928784828906 4.6893752270371995E-019 3.4045953094161118E-035 5.1234444209262001E-002 6.4757479001681537E-002 1.2149139736317286E-018 0.45697153295107440 -0.45406815591364624 0.0000000000000000 4.9333787126022779E-020 5.1788702007072474E-002 + + 9 0.5000000000 0.5000000000 0.2500000000 : k-point index, k-point (lattice coordinates) + 1 12 26 : spinor index, minimum and maximum band indices + 0.0000000000000000 -1.8230783598022972E-014 0.19293299718525062 2.5466225671343455E-016 1.0409089582396298E-015 1.5326428947128836E-028 1.1573175490054142E-016 -1.3550276889043726E-016 0.0000000000000000 -1.8661991535287374E-014 -3.5152784546027826E-014 -0.46127742169477443 0.0000000000000000 1.9322950357351540E-015 0.0000000000000000 + 0.0000000000000000 7.1307488708024601E-029 -7.5579680122416447E-016 -0.27507746919793985 -9.1363091035742541E-002 2.7706028680412377E-014 1.4396808402775799E-002 4.5999674987817193E-002 0.0000000000000000 -0.58187627301991085 0.27401082087626072 1.8070107492244622E-015 0.0000000000000000 -7.5695833700634030E-030 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -1.1638664467388150E-028 1.2328740225980597E-015 -9.1363091035743693E-002 0.27507746919793874 6.6430297191598048E-014 4.5999674987818318E-002 -1.4396808402775334E-002 0.0000000000000000 -0.27401082087626039 -0.58187627301991118 5.6651283044966971E-014 0.0000000000000000 1.2347687478599862E-029 0.0000000000000000 + 0.0000000000000000 1.8230783598022972E-014 -0.19293299718525062 -2.5466225671343455E-016 -1.0409089582396298E-015 -1.5326428947128836E-028 -1.1573175490054142E-016 1.3550276889043726E-016 0.0000000000000000 1.8661991535287374E-014 3.5152784546027826E-014 0.46127742169477443 0.0000000000000000 -1.9322950357351540E-015 0.0000000000000000 + + 0.0000000000000000 1.8209780391112807E-014 -0.19293299718525059 -2.6360054071206119E-016 -1.0849558116118420E-015 -1.6039482283692331E-028 -1.2080760720516328E-016 1.4098863375687541E-016 0.0000000000000000 1.8621223863448538E-014 3.5178394099917911E-014 0.46127742169477443 0.0000000000000000 -1.9322950357351540E-015 0.0000000000000000 + 0.0000000000000000 1.1931507925383082E-028 -1.2629814828551432E-015 9.1363091035743665E-002 -0.27507746919793874 -6.6430297191598061E-014 -4.5999674987818290E-002 1.4396808402775303E-002 0.0000000000000000 0.27401082087626039 0.58187627301991096 -5.6564282479981723E-014 0.0000000000000000 -1.2649224783478277E-029 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 -7.6399142749002089E-029 8.0827335401526789E-016 0.27507746919793996 9.1363091035742680E-002 -2.7811681194123867E-014 -1.4396808402775827E-002 -4.5999674987817159E-002 0.0000000000000000 0.58187627301991085 -0.27401082087626094 -1.9324752852243200E-015 0.0000000000000000 8.0951553765635636E-030 0.0000000000000000 + 0.0000000000000000 -1.8209780391112807E-014 0.19293299718525059 2.6360054071206119E-016 1.0849558116118420E-015 1.6039482283692331E-028 1.2080760720516328E-016 -1.4098863375687541E-016 0.0000000000000000 -1.8621223863448538E-014 -3.5178394099917911E-014 -0.46127742169477443 0.0000000000000000 1.9322950357351540E-015 0.0000000000000000 + + 10 0.5000000000 0.5000000000 0.5000000000 : k-point index, k-point (lattice coordinates) + 1 12 28 : spinor index, minimum and maximum band indices + 1.8148523246257962E-036 -1.8037678867527362E-031 0.0000000000000000 0.10927326990241099 -8.6606668049354504E-002 -0.25411162833313000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.36421554683710755 0.10704988537924737 -0.52141469054033052 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 7.2594092985031848E-036 -6.9437201456989725E-015 0.0000000000000000 -0.22220175151177129 0.12479335934108761 -0.13808360224645710 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.49331257156752850 0.30519835063327877 -0.28192657826638168 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 7.2594092985031848E-036 -6.9472764684368455E-015 0.0000000000000000 -0.22220175151177129 0.12479335934108766 -0.13808360224645716 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.49331257156752861 0.30519835063327866 -0.28192657826638179 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -1.8148523246257962E-036 1.8037678867527362E-031 0.0000000000000000 -0.10927326990241099 8.6606668049354504E-002 0.25411162833313000 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.36421554683710755 -0.10704988537924737 0.52141469054033052 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + + -2.2364641157415879E-018 -3.9333031062017203E-018 0.0000000000000000 -1.8675142556531655E-018 7.9250467726595417E-020 6.0409650092118317E-019 0.0000000000000000 0.0000000000000000 0.0000000000000000 -2.3004004700794433E-018 -7.1582385332678389E-018 -3.7238990687529476E-018 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -2.9037637194012739E-035 8.5695585101572758E-031 0.0000000000000000 0.15066458186921941 0.24686025324795799 -1.9346349950785817E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.19993915125460091 0.55801452565309440 0.25422440281092951 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + -8.7112911582038217E-035 -8.5655986057627803E-031 0.0000000000000000 -0.15066458186921936 -0.24686025324795799 1.9346349950785831E-002 0.0000000000000000 0.0000000000000000 0.0000000000000000 -0.19993915125460079 -0.55801452565309440 -0.25422440281092951 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + 2.2364641157415879E-018 3.9333031062017203E-018 0.0000000000000000 1.8675142556531655E-018 -7.9250467726595417E-020 -6.0409650092118317E-019 0.0000000000000000 0.0000000000000000 0.0000000000000000 2.3004004700794433E-018 7.1582385332678389E-018 3.7238990687529476E-018 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.0000000000000000 + diff --git a/test/python/elk/occ_test/elk.in b/test/python/elk/occ_test/elk.in new file mode 100644 index 00000000..cc19f39a --- /dev/null +++ b/test/python/elk/occ_test/elk.in @@ -0,0 +1,40 @@ +tasks + 0 + 805 + +ngridk + 4 4 4 + +! Path for species files +sppath + '/home/elk-6.2.8/species/' + +! Maximum length for G+k vectors +rgkmax + 7.0 + +avec + 7.260500000 0.000000000 0.000000000 + 0.000000000 7.260500000 0.000000000 + 0.000000000 0.000000000 7.260500000 + +atoms + 3 : nspecies +'Sr.in' : spfname + 1 : natoms; atposl, bfcmt below + 0.50000000 0.50000000 0.50000000 0.00000000 0.00000000 0.00000000 +'V.in' : spfname + 1 : natoms; atposl, bfcmt below + 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 +'O.in' : spfname + 3 : natoms; atposl, bfcmt below + 0.50000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 + 0.00000000 0.50000000 0.00000000 0.00000000 0.00000000 0.00000000 + 0.00000000 0.00000000 0.50000000 0.00000000 0.00000000 0.00000000 + +!Wannier projectors +wanproj !projector flag + 1 !number of projectors - next 3 lines are repeated for each projector + 2 2 3 !species, l, reduced max lm (rlmmax) value + 7 8 9 !the lm quanties which will be projected (vector length eq. rlmmax) +-0.294 0.27562 ![-8.0, 7.5] eV t2g correlated energy window diff --git a/test/python/elk/occ_test/elk_occ_convert.ref.h5 b/test/python/elk/occ_test/elk_occ_convert.ref.h5 new file mode 100644 index 00000000..6b89e458 Binary files /dev/null and b/test/python/elk/occ_test/elk_occ_convert.ref.h5 differ diff --git a/test/python/srvo3_spectral.py b/test/python/srvo3_spectral.py index 55a47856..0baa6c9b 100644 --- a/test/python/srvo3_spectral.py +++ b/test/python/srvo3_spectral.py @@ -13,9 +13,10 @@ SK.chemical_potential = chemical_potential SK.dc_imp = dc_imp SK.set_Sigma([Sigma]) -dos_wannier = SK.dos_wannier_basis(broadening=0.01, with_Sigma=True, with_dc=True, save_to_file=False) -dos_parproj = SK.dos_parproj_basis(broadening=0.01, with_Sigma=True, with_dc=True, save_to_file=False) -spaghetti = SK.spaghettis(broadening=0.01, plot_shift=0.0, plot_range=(-1,1), ishell=None, save_to_file=False) +dos_wannier = SK.density_of_states(broadening=0.01, with_Sigma=True, with_dc=True, proj_type='wann', save_to_file=False) +dos_parproj = SK.density_of_states(broadening=0.01, with_Sigma=True, with_dc=True, proj_type='wien2k', save_to_file=False) +[spaghetti, pAkw, pAkw_orb] = SK.spaghettis(broadening=0.01, plot_shift=0.0, plot_range=(-1,1), shell_list=None, save_to_file=False) + if mpi.is_master_node():