Yes that has done the trick!

And you have also made me feel better as well, knowing it wasn't just me....

Chris


On 11/03/2017 11:27 AM, Ian Hinder wrote:

On 3 Nov 2017, at 09:22, Chris Stevens <[email protected] <mailto:[email protected]>> wrote:

Hi Ian,

thanks for the quick reply.

SCHEDULE WorldTubeExtract_TEST AT CCTK_INITIAL AFTER WorldTubeExtract_RegisterSlices
{
  LANG: C
  OPTIONS: LEVEL
} "TEST"

Also the output of Carpet::is_global_mode() is 0 so definitely not in global mode.


Hi,

The problem is that it is in level mode ("OPTIONS: LEVEL").  Level mode is called once per refinement level, and on each refinement level, there may be multiple components (rectangular blocks of grid points).  A function scheduled in level mode can access quantities which are defined on a given refinement level (or, for example, call interpolation or reduction functions for that level), but not those that are defined on a given component, for example accessing grid data like gridfunctions.  When you schedule a function in local mode ("OPTIONS: LOCAL"), it is called once per component, and then you can access grid data.

I spent hours recently trying to track down exactly this problem!

--
Ian Hinder
http://members.aei.mpg.de/ianhin


--
Dr Chris Stevens

Department of Mathematics

Rhodes University

Room 5

Ph: +27 46 603 8932

Web: www.chrisdoesmaths.com <http://www.chrisdoesmaths.com>

_______________________________________________
Users mailing list
[email protected]
http://lists.einsteintoolkit.org/mailman/listinfo/users

Reply via email to