Zach Instead of describing a complex schedule in a schedule.ccl file, you can write a C++ code that calls the respective schedule items. In this C++ code, you can freely switch between global/local mode, iterate over refinement levels and components, iterate over variables, etc. This may be easier and more efficient.
-erik On Tue, May 19, 2015 at 12:16 PM, Zach Etienne <[email protected]> wrote: > 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) > > > > _______________________________________________ > Users mailing list > [email protected] > http://lists.einsteintoolkit.org/mailman/listinfo/users > > -- Erik Schnetter <[email protected]> http://www.perimeterinstitute.ca/personal/eschnetter/
_______________________________________________ Users mailing list [email protected] http://lists.einsteintoolkit.org/mailman/listinfo/users
