Hi all,
Back when I was at Illinois, I wrote a decent volume integration thorn, which was nicely extensible, but required a very messy schedule.ccl to perform all the ~40 integrations we used, with basically no options in [].par files to modify or reduce the list of volume integrals (because it would have made the schedule.ccl file *even* messier).
I am now trying to write a new version, which I would like to contribute, open-sourced, to the ET. In this version, the schedule.ccl file is very simple, and by simply specifying desired volume integrals in the [].par file, the scheduling of these volume integrals is *supposed* to be done automatically. Easier said than done.
Here's the output from the scheduling when the code is run:
while (VolumeIntegrals::IntegralCounter) GROUP VolumeIntegralGroup: Evaluate all volume integrals GROUP VolumeIntegrandGroup: Evaluate all volume integrands VolumeIntegrals::ComputeIntegrand: [local] Compute Integrand GROUP VolumeIntegralSumGroup: Evaluate all volume integral sums VolumeIntegrals::DoSum: [global] Do Sum VolumeIntegrals::DecrementIntegralCounter: Decrement IntegralCounter variable end while
Contrary to what is indicated above, the code in the loop actually evaluates only the function in the [local] context, ignoring my [global] requests, and giving a segfault (see full output from this loop below my sig). Is there any way I can make this work, or am I doomed to repeat the messy schedule.ccl of the past?
-Zach
* * * Zachariah Etienne Assistant Professor of Mathematics West Virginia University
INFO (Carpet): [ml=0][rl=3][m=0][c=0,lc=0][tl=0] Local mode call at CCTK_ANALYSIS to VolumeIntegrals::InitializeIntegralCounter INFO (Carpet): [ml=0][rl=3][m=0][c=0,lc=0][tl=0] Leaving local mode INFO (Carpet): [ml=0][rl=3][m=0][tl=0] Leaving singlemap mode INFO (Carpet): [ml=0][rl=3][tl=0] Entering singlemap mode INFO (Carpet): [ml=0][rl=3][m=0][tl=0] Entering local mode INFO (Carpet): [ml=0][rl=3][m=0][c=0,lc=0][tl=0] Local mode call at VolumeIntegrandGroup to VolumeIntegrals::ComputeIntegrand INFO (Carpet): [ml=0][rl=3][m=0][c=0,lc=0][tl=0] Leaving local mode INFO (Carpet): [ml=0][rl=3][m=0][tl=0] Leaving singlemap mode INFO (Carpet): [ml=0][rl=3][tl=0] Leaving level mode INFO (Carpet): [ml=0][tl=0] Global mode call at VolumeIntegralSumGroup to VolumeIntegrals::DoSum INFO (Carpet): [ml=0][tl=0] Entering level mode INFO (Carpet): [ml=0][rl=0][tl=0] Entering singlemap mode INFO (Carpet): [ml=0][rl=0][m=0][tl=0] Entering local mode INFO (Carpet): [ml=0][rl=0][m=0][c=0,lc=0][tl=0] Leaving local mode INFO (Carpet): [ml=0][rl=0][m=0][tl=0] Leaving singlemap mode INFO (Carpet): [ml=0][rl=0][tl=0] Leaving level mode INFO (Carpet): [ml=0][tl=0] Entering level mode INFO (Carpet): [ml=0][rl=1][tl=0] Entering singlemap mode INFO (Carpet): [ml=0][rl=1][m=0][tl=0] Entering local mode INFO (Carpet): [ml=0][rl=1][m=0][c=0,lc=0][tl=0] Leaving local mode INFO (Carpet): [ml=0][rl=1][m=0][tl=0] Leaving singlemap mode INFO (Carpet): [ml=0][rl=1][tl=0] Leaving level mode INFO (Carpet): [ml=0][tl=0] Entering level mode INFO (Carpet): [ml=0][rl=2][tl=0] Entering singlemap mode INFO (Carpet): [ml=0][rl=2][m=0][tl=0] Entering local mode INFO (Carpet): [ml=0][rl=2][m=0][c=0,lc=0][tl=0] Leaving local mode INFO (Carpet): [ml=0][rl=2][m=0][tl=0] Leaving singlemap mode INFO (Carpet): [ml=0][rl=2][tl=0] Leaving level mode INFO (Carpet): [ml=0][tl=0] Entering level mode INFO (Carpet): [ml=0][rl=3][tl=0] Entering singlemap mode INFO (Carpet): [ml=0][rl=3][m=0][tl=0] Entering local mode INFO (Carpet): [ml=0][rl=3][m=0][c=0,lc=0][tl=0] Leaving local mode INFO (Carpet): [ml=0][rl=3][m=0][tl=0] Leaving singlemap mode INFO (Carpet): [ml=0][rl=3][tl=0] Leaving level mode APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault (signal 11)