Open brown170 opened 3 years ago
More information about the bug:
The code was stuck for a long time while unimaging the 4_1 im term. To find out what is happening I used the "top" command in Linux and it seemed that it was taking too much memory. (Memory % is increasing with time.) May be the matrix calculation was too much hectic.
Yet more from Subhadip:
The unimaging gets stuck at 4_1_im term when I used the "HBT_only Kernel" for l_max > 2. I have used a different kernel with "Coulomb interaction on" previously, which worked fine. I am attaching the command prompts for that kernel. You can notice that the order of unimaging goes like this: First, it tries to unimage all the imaginary parts then goes for the real ones. And also the order follows the trend l_1, l+2_1, l+4_1......, l_2, l+2_2, l+4_2,..... When I set lmax = 4 for the HBT_only kernel, it unimages the 2_1_im term perfectly and tries to unimage 4_1_im term where it gets stuck. So, the only terms I can get from this are the 2_1_im terms. When lmax = 2 is set, then I get all the terms corresponding to l = 2, 0. I am guessing CorAL is experiencing some sort of difficulty in generating the matrix while unimaging the terms corresponding to l = 4.
3dsphr.log The terminal prompts while generating all the correlation terms (lmax = 6) successfully using the Coulomb kernel is shown here. When the hbt_only kernel is used, the code was stuck while unimaging the 4_1 im term.
To integrate vectors, a Fortran code dcuhre (developed in the 1960's at Sandia National Lab) is used in CorAL. For use in CorAL, the code was translated to C/C++ using a code named f2C. f2C is currently not in use now. The array indexing of Fortran starts from 1, while for C/C++ it starts from 0. f2C handles this problem using the bitshift << operator. The precedence of this bitshift operator << ,has changed since the code was written. So, dcuhre is probably accessing the array elements incorrectly leading to memory leaks and segmentation fault.
dchure
is called by CIntegrateVector
in integratevec.cc
CIntegrateVector
is used in src/coral/Expanders/expander.h
in functions buildCart2SphrMtx
and buildSphr2CartMtx
Please find the input file of crab that I used to generate the hbt_only correlations. After doing
the code got stuck while unimaging the 4_1 im term.
test_crab_input.txt