[Carpet] ApplyBCs and global mode scheduling

Bela Szilagyi szilagyi at aei.mpg.de
Thu Oct 19 12:16:19 CEST 2006


It seems that the two "types" of scheduling (i.e., "global" and "level") are 
introducing all kinds of subtle inconsistencies in the Carpet user's code.  
Some of these may be fixed by editing the local schedule.ccl files, but 
others are a harder nut.

Take, e.g., a thorn of mine which wants to convert from the "harmonic" 
variables into the ADM variables at post-step, before AHFinderDirect finds 
its horizons.

From what I gather AHFidnerDirect's finder routine itself must be in "global" 
mode so that it can interpolate data across all refinement levels.  By 
implication, if I want my conversion routine scheduled before AHFinderDirect, 
I must schedule it in "global loop-local" mode.  Next comes the issue of 
symmetries.  Some of them  get applied to the gridfunctions by registering my 
variables with cactus and then scheduling the "ApplyBCs" group. If one peaks 
at CactusBase/Boundaries the routines Boundary_ApplyPHysicalBCs as well as 
Boundary_ClearSelection are both scheduled in loop-level mode.  That is, I 
will not get my boundary conditions applied correctly to the variables 
computed in global loop- modes.

I guess the "best" hack is to scedule my own global loop-local routine from 
within which I call directly all the routines I can find scheduled into 
ApplyBCs, presumably keeping the right order.  But, by standards is this a 
clean solution.




-- 
Bela Szilagyi

Max-Planck-Institut für Gravitationsphysik
Albert-Einstein-Institut
Tel: +49 331 567 7632
Fax: +49 331 567 7649




More information about the developers mailing list