Michail When setting up initial conditions, you have to explicitly choose how the past timelevels are initialized. Typically you either have an analytic solution that you evaluate at different times, or you copy the initial condition from t=0 to the past timelevels.
During evolution, the past timelevels are never modified. At the beginning of a time step, a new timelevel is created for the current time, and that timelevel's time then never changes. The oldest timelevel is discarded. This is called "rotating timelevels" for historic reasons. In terms of t and dt: each refinement level has its own t and dt. The dt of a refinement level is fixed during evolution, the t is advanced as in t+=dt. The distance between time levels is exactly dt. (This ignores small shenanigans while the time integrator is running; the time integrator runs on a single refinement level at a time and restores everything it changes.) It is important to note that the refinement levels advance sequentially and independently with different dt. Prolongation from coarse to finer grids interpolates in time. It never needs to extrapolate. It might just copy if the times agree. Prolongation does not modify past timelevels. During regridding all timelevels might change. In this case, the fine grid boundaries are interpolated in time and/or space from coarse grid values. There is, again, no extrapolation required. Figures 2 to 4 in <https://arxiv.org/abs/gr-qc/0310042> depict these algorithms. "Imagine I have the same setup as before, evolve for one coarse step such that the whole solution is at t + DT now": I assume you mean that you take one time step on the coarse grid, and then two time steps on the fine grid so that both coarse and fine grid are at t + DT. "no timelevel rotation yet": Time levels are rotated at the beginning of a time step. Regridding occurs before the time step starts, in particular before time level rotations. "RHO_p and RHO_p_p in the region which was previously refined": In the Berger-Oliger scheme, the coarse grid covers the whole domain, and the fine grid overlays it. Coarsening is equivalent to just forgetting the fine grid, no other action is needed. The coarse grid values are always there (have always been) in a consistent manner. The step that ensures this consistency is "restricting" (see <https://arxiv.org/abs/gr-qc/0310042>, figure 3). Whenever a fine grid catches up with a coarse grid, one overwrites the coarse grid values with the respective fine grid values. -erik On Tue, Oct 19, 2021 at 2:19 PM Michail Chabanov <[email protected]> wrote: > > Hello, > > I have a rather general question on how previous timelevels are filled > if one has more than one refinement level. So, assuming I have GF called > RHO which has 3 timelevels and I have a mesh which consists of a coarse > and a refined part, so 2 levels. On the coarse mesh I will have the > timestep DT while on the fine mesh I will have dt = DT/2. The zeroth > timelevel of RHO is the solution at time t on all levels. > > My first question is whether RHO_p on the refined grid lives on t - dt > or on t - DT ( t - 2*dt or t -2*DT for RHO_p_p ) before timelevel > rotation takes place? > > In the case that RHO_p lives on t - dt in the refined region, I would > have another question: > > Imagine I have the same setup as before, evolve for one coarse step such > that the whole solution is at t + DT now, no timelevel rotation yet. If > I now decide to regrid and coarsen the refined region such that I only > have one refinement level in the whole domain, which values will be > given in RHO_p and RHO_p_p in the region which was previously refined > and is now coarse? > > Do we have to extrapolate to get RHO_p_p at t - DT, because after the > evolution has provided RHO on t + DT in the fine domain but before > coarsening we will have RHO_p at t+dt and RHO_p_p at t if my > understanding is correct. This means we would have to copy RHO_p_p to > RHO_p and extrapolate RHO_p_p to t - DT. Otherwise, the three timelevels > of RHO in this specific region wouldn't be equidistant anymore after the > next evolution step of size DT ( RHO at t+ 2*DT, RHO_p at t + DT and > RHO_p_p at t + dt). > > Thanks, > > Michail Chabanov > > _______________________________________________ > Users mailing list > [email protected] > http://lists.einsteintoolkit.org/mailman/listinfo/users -- Erik Schnetter <[email protected]> http://www.perimeterinstitute.ca/personal/eschnetter/ _______________________________________________ Users mailing list [email protected] http://lists.einsteintoolkit.org/mailman/listinfo/users
