solver.kernel.dat
Introduction
The solver.kernel.dat is designed to store the screening function and it derivates in imaginary-time space. It will be output by the quantum impurity solvers when they are shut down.
NOTE:
The screening function and its derivates are the input to the quantum impurity solvers (see solver.ktau.in for more details). In other words, they won't be changed by the quantum impurity solvers.
Only the NARCISSUS component can generate the solver.kernel.dat file.
Format
The solver.kernel.dat file only contains one block. The format of the block is as follows:
column 1: index of imaginary-time point, integer
column 2: imaginary-time point, , double precision
column 3: screening function, , double precision
column 4: the first derivate of screening function, , double precision
column 5: the second derivate of screening function, , double precision
column 6: the third derivate of screening function, , double precision
NOTE:
In the NARCISSUS component, the and are assumed to be orbital-independent.
Code
The corresponding Fortran code block for the writing of solver.kernel.dat file is as follows:
! open data file: solver.kernel.dat
open(mytmp, file='solver.kernel.dat', form='formatted', status='unknown')
! write it
do i=1,ntime
write(mytmp,'(i6,5f12.6)') i, tmesh(i), ktau(i), ptau(i), ksed(i), psed(i)
enddo ! over i={1,ntime} loop
! close data file
close(mytmp)
In the HIBISCUS component, we provide a Python module to read the output files of quantum impurity solvers. You can use it to read the solver.kernel.dat file. See script/u_reader.py for more details.