[ET Trac] [Einstein Toolkit] #1797: allow new timelevels to be created at runtime
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Fri Jul 24 09:59:34 CDT 2015
#1797: allow new timelevels to be created at runtime
--------------------------+-------------------------------------------------
Reporter: rhaas | Owner:
Type: enhancement | Status: review
Priority: optional | Milestone:
Component: Cactus | Version: development version
Resolution: | Keywords: Cactus Carpet PUGH
--------------------------+-------------------------------------------------
Comment (by rhaas):
(Answering only Erik so far).
I see, so I can see that currently a thorn can protect against this type
of thing if it marks a grid function as TIMELEVELS=1.
I am not sure though if I can construct a situation where this would make
copying forward just after cycling the right thing to do: I feel that if
time cycling happens because multiple timelevels exist, then the grid
function is now time dependent (since all reasons for having time levels
means that something changes with time). In this case the copied forward
data is actually wrong since it is not the data that belongs to
{{{cctk_time}}} but instead that that belongs to {{{cctk_time -
cctk_delta_time}}} (since tl=0 is the invalid level and tl=1 is the valid
one that was just cycled out). This is fine in MoL's evolution loop since
MoL basically says "compute f(y, t) for the y and t that you find in tl=0
and cctk_time" and itself modifies cctk_time so that for eg the first RK
step cctk_time is reduced by cctk_delta_time compared to what the driver
supplied (in MoL/src/SetTime.c). However the data in tl=0 is genuinely
invalid between the time Carpet cycled it in and the time MoL finishes (so
in particular the PRESTEP and the PREREGRID bins).
Note that the copied data is correct (in that is is what you'd expect) for
something like the ADM variables if they are copied forward at the same
time as the BSSN variables only in the sense in that the ADM variables are
what would be computed by a BSSN2ADM routine given the values of the BSSN
variables in tl=0. I would however maintain that those values (of BSSN in
tl=0) are incorrect in between time cycling and the end of EVOL.
Well actually, I can think of a situation, namely say the RHS grid
functions which usually have only a single timelevel. A thorn could
currently rely on RHS not changing between the last RK step and the first
one of the next iteration and use this to compute the new RHS. My proposed
solution to this would be for MoL to handle RHS grid functions the same
way it does constrained ones: copy forward in time if they have more than
one timelevel. Was that the situation you had in mind?
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1797#comment:6>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list