Hello Giulia, this has to do with the order of timesteps when doing subcycling in time (which is what Carpet does).
cctk_iteration counts RHS evaluations, and is not directly related to cctk_time ie cctk_time != cctk_iteration * DELTA_TIME. Basically the coarsest reflevel has to step first, so that in iteration 1 (evaluating the RHS for the first time) all reflevels 0..7 step forward and evaluate the RHS in the EVOL bin. In the ANALYSIS bin code only runs once data has been properly restricted from the finer ones etc. Which happens at slightly different times than EVOL. The net result is that in *EVOL* a function runs in refinement levels whenever (cctk_iteration - 1) % reflevel_every == 0 while in *ANALYSIS* it is cctk_iteration % reflevel_every == 0. The strange rule in EVOL comes from asking "was the last iteration one where the timelevel was aligned so that I now need to compute a new RHS"? Thus 473 - 1 = 472 which is evenly divided by 8. NB you say reflevel 4, but do you mean the fourth reflevel (which is level "3" since they count from "0")? Yours, Roland > Hi all, > I am using GRHydro in running a simulation, and I get a crash in > Con2Prim at iteration 473 on reflevel 4. Given that I have set 8 > refinement levels, I'm wondering why Con2Prim is being executed at > iteration 473 on this reflevel: shouldn't it be executed only at an > iteration which is a multiple of 8? Maybe I'm missing something > fundamental. Thank you, > Cheers, > Giulia Crotti -- 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 .
pgpsSXDMuxQfl.pgp
Description: OpenPGP digital signature
_______________________________________________ Users mailing list [email protected] http://lists.einsteintoolkit.org/mailman/listinfo/users
