[ET Trac] #2554: init_3_timelevels produces nans on past timelevels of the initial slice

Roland Haas trac-noreply at einsteintoolkit.org
Sat Dec 18 21:12:45 CST 2021


#2554: init_3_timelevels produces nans on past timelevels of the initial slice

 Reporter: Yosef Zlochower
   Status: open
Milestone: 
  Version: ET_2021_05
     Type: bug
 Priority: minor
Component: Carpet

Comment (by Roland Haas):

I am actually not sure if this ever worked as advertised. The code in question is:

```c++
   initialise_3tl_flip_timelevels(cctkGH);
   initialise_3tl_evolve(cctkGH);
   initialise_3tl_evolve(cctkGH);
   // TODO: May want to restrict where possible (i.e. if the time
   // refinement factor is one)
   initialise_3tl_recycle(cctkGH);
```

which is bad because `initialise_3tl_evolve` steps all reflevel by one step, so that in step 1 when say reflevel 1 wants to do prolongation for the buffer zones there are only 2 valid timelevels on reflevel 0 \(namley tl=0 and tl=1\) and thus interpolation in time picks up nan from tl=2.

A fix is proposed in: [https://bitbucket.org/eschnett/carpet/commits/7147f842569c37719d1c97d5f6ddd7e2587a7be4](https://bitbucket.org/eschnett/carpet/commits/7147f842569c37719d1c97d5f6ddd7e2587a7be4) essentially moving the reflevel loop outside of `initialise_3tl_evolve`. Still has issues with the restriction involved but I don’t think those can be avoided.

Comments would be welcome.

--
Ticket URL: https://bitbucket.org/einsteintoolkit/tickets/issues/2554/init_3_timelevels-produces-nans-on-past
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/trac/attachments/20211219/a7495f43/attachment.html 


More information about the Trac mailing list