[Carpet] Error when using moving grids
Erik Schnetter
schnetter at cct.lsu.edu
Wed Aug 23 22:06:13 CEST 2006
On Aug 23, 2006, at 14:58:58, Yosef Zlochower wrote:
> Erik Schnetter wrote:
>> On Aug 23, 2006, at 14:01:36, Yosef Zlochower wrote:
>>
>>> Erik Schnetter wrote:
>>>
>>>> On Aug 23, 2006, at 12:39:17, Yosef Zlochower wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I am using CarpetRegrid2 and CarpetTracker to adjust the
>>>>> grid to the position of the black holes. I get the following
>>>>> error on the 512'th iteration.
>>>>>
>>>>> Internal error: extrapolation in time. time=511 times=[512]
>>>>>
>>>>> I regrid every 256, but the black holes were essentially
>>>>> stationary,
>>>>> so this may be the first time that carpet attempted to regrid.
>>>>>
>>>>> I did not use any refinement in time, and set the prolongation
>>>>> order in time to zero.
>>>>>
>>>>> The parfile is attached.
>>>>
>>>>
>>>>
>>>> I don't see anything suspicious in your parameter file.
>>>>
>>>> Can you find out where the error message is created?
>>>>
>>>> -erik
>>>>
>>>
>>> Here is the full message
>>>
>>> WARNING level 0 in thorn CarpetLib processor 1 host
>>> node2.oscardomain
>>> (line 1680 of Cactus/configs/carpetmol/build/CarpetLib/data.cc):
>>> -> Internal error: extrapolation in time. time=511 times=[512]
>>
>>
>> That is a generic routine that checks whether time interpolation is
>> consistent. Can you generate a backtrace to see where it is called?
>>
>
> Here is a backtrace from s similiar run using CarpetRegrid (rather
> than CarpetRegrid2).
>
> #1 0x0805ade2 in CCTK_Warn (level=0, line=1680,
> file=0x9311b00
> "/home/yosef/NCactus/Cactus_New/configs/carpetmol/build/CarpetLib/
> data.cc",
> thorn=0x9312208 "CarpetLib",
> message=0x9e9af08 "Internal error: extrapolation in time. time=0
> times=[1]")
> at
> /home/yosef/NCactus/Cactus_New/configs/carpetmol/build/Cactus/main/
> WarnLevel.c:437
> #2 0x08e16206 in Check_that_the_times_are_consistent (this=0x9e9ad20,
> times=@0xbfffe2dc, time=0) at data.cc:1680
> #3 0x08e15714 in interpolate_from_innerloop (this=0x9e9ad20,
> gsrcs=0xbfffe2dc, times=0x0, box=@0x0,
> time=1.086461845227181e-311,
> order_space=512, order_time=128) at data.cc:1760
> #4 0x08dd9671 in interpolate_from (this=0x9e9ad20, state=@0xbfffe86c,
> srcs=0xbfffe5c8, times=0xbfffe5d8, box=@0x9e9e260, time=0,
> order_space=5,
> order_time=0) at gdata.cc:420
> #5 0x08de5ab4 in intercat (this=0x9e9ad20, state=@0xbfffe2dc, tl1=0,
> rl1=0,
> c1=512, ml1=512, recv_listvect=512, tl2s=0x80, rl2=256, ml2=-128,
> time=2.4445391836980547e-311) at ggf.cc:510
> #6 0x08de5f0c in ref_bnd_prolongate (this=0x9e6af70,
> state=@0xbfffe86c, tl=1,
> rl=1, c=0, ml=0, time=0) at ggf.cc:556
> #7 0x08de28a4 in recompose_bnd_prolongate (this=0x9e9ad20,
> state=@0xbfffe2dc,
> rl=0, do_prolongate=0 '\0') at ggf.cc:273
> #8 0x08dcaadf in save_memory (this=0x9e6e028, do_prolongate=1 '\001')
> at dh.cc:775
> #9 0x08dcb634 in recompose (this=0x9e6e028, do_prolongate=1 '\001')
> at dh.cc:83
> #10 0x08decd6a in recompose (this=0x9e6df18, exts=@0xbfffee44,
> outer_bounds=@0xbfffee54, procs=@0xbfffee64, do_prolongate=1
> '\001')
> at gh.cc:75
> #11 0x08d3ef3d in Carpet::Recompose (cctkGH=0x9e9ad20, m=-1073749284,
> bbsss=@0x0, obss=@0x0, pss=@0x200, do_init=0 '\0') at
> Recompose.cc:231
> #12 0x08d3e166 in Carpet::Regrid (cgh=0x9e9ad20,
> force_recompose=220 '�,
> do_init=0 '\0') at Recompose.cc:168
> #13 0x08d2c993 in Carpet::Regrid (cgh=0x9e6a988) at Evolve.cc:288
> #14 0x08d2bd95 in Carpet::Evolve (fc=0x9e9ad20) at Evolve.cc:182
> #15 0x08052fb2 in main (argc=2, argv=0xbffff1d4)
> at
> /home/yosef/NCactus/Cactus_New/configs/carpetmol/build/Cactus/main/
> flesh.cc:84
>
>
>> At the moment I assume the problem could be that you specified 0th
>> order time interpolation, which uses only 1 time level, so that
>> basically everything you do would be "extrapolation". Using 1st
>> order
>> interpolation may help. However, there should not be any time
>> interpolation occurring in your setup, so there could be a bug
>> somewhere.
I take back my statement that there should be no time interpolation.
In order to fill the past time levels during regridding, Carpet has
to interpolate in time. With prolongation_order_time=0, Carpet uses
only 1 time level to do so, namely the current time level -- and that
means that this "interpolation" has to occur at just the time of that
time level.
I think you should set the order of time interpolation to a value
corresponding to the number of time levels which you use. I assume
you use 2 time levels, hence using linear interpolation would be
adequate. Try prolongation_order_time=1.
-erik
--
Erik Schnetter <schnetter at cct.lsu.edu>
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from www.keyserver.net.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : /archives/developers/attachments/20060823/809c7d51/attachment.pgp
More information about the developers
mailing list