[Users] Evolving grid arrays using MoL
Erik Schnetter
schnetter at cct.lsu.edu
Mon Oct 7 12:34:15 CDT 2013
On 2013-10-07, at 12:47 , Ian Hinder <ian.hinder at aei.mpg.de> wrote:
> On 28 Sep 2013, at 16:17, Erik Schnetter <schnetter at gmail.com> wrote:
>
>> Yes, this (i.e. the work-around of scheduling the RHS in level mode, and then only actually executing the routine if this corresponds to global mode) is how I made things work. I haven't tried this recently, though. Maybe a test case would be in order...
>>
>> Rather straightforward changes to MoL should allow scheduling the RHS in global mode as well, which would then work elegantly. This would probably require to duplicate MoL's integration logic, so that grid functions are integrated in level mode while grid arrays are integrated in global mode.
>
> Is the problem that the grid arrays are not available in global mode, but they are available in level mode? Or is there some other reason that global mode cannot be used? When I try to call the interpolator in MoL_CalcRHS in level mode, I get
>
> Assertion failed: (not (not want_global_mode and num_time_derivs.AT(m) == 0 and need_time_interp.AT(m))), function interpolate_components, file /Users/ian/Cactus/arrangements/Carpet/CarpetInterp/src/interp.cc, line 1353.
>
> This is with InterpNumTimelevels = 1 in the interpolator parameters. I dug around in interp.cc, and came across the interpolation parameter want_global_mode. Setting this to 1 seems to allow the interpolation to succeed, but I don't know if this will break in certain situations. What does this interpolator parameter do?
>
> My problem with registration turned out to be that I was trying to register MoL for grid SCALARs, not grid ARRAYs. A vector of grid arrays seems to work.
Grid arrays are available in global mode (and also in level, singlemap, and local mode).
Global mode cannot be used because MoL will still try to evolve them in level mode, i.e. more often. One needs to ensure that grid arrays have a non-zero RHS exactly on the finest grid. Global mode may be equivalent to the coarsest grid, which would then evolve with the wrong step size.
Yes, one cannot interpolate in level mode if this requires data from coarser levels. This is just what level mode means -- access data from the current refinement level only.
Is there a mode "global-finest"? This should work. Or maybe "global-late" for evolution, since finest grid are evolved last? Yes, I think this should work.
Grid scalars are just a funny name for 0-dimensional grid arrays. If MoL doesn't support this, then it would be trivial to add -- the only difference is that they are called "scalar" instead of "array".
-erik
--
Erik Schnetter <schnetter at cct.lsu.edu>
http://www.perimeterinstitute.ca/personal/eschnetter/
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from http://pgp.mit.edu/.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 203 bytes
Desc: Message signed with OpenPGP using GPGMail
Url : http://lists.einsteintoolkit.org/pipermail/users/attachments/20131007/57e72b7b/attachment.bin
More information about the Users
mailing list