Gabriele
If you do not use the constraints, then you do not need to set the boundaries. That would simplify many things; for example, you can calculate them at any time, and you do not need to worry about time levels. However, you then need to be careful about visualization and reductions: You need to ensure that you don't accidentally visualize the boundaries, and you cannot perform vertex-centred reductions in Carpet because they need some boundary values.
If you do need boundaries, then you need three time levels to allow prolongation on boundaries, and you are essentially forced to evaluate the constraints at every iteration. I recommend the schedule bin "MoL_PseudoEvolution" for this, which runs once per time step, after MoL's loop, at the right time (i.e. before restriction).
-erik
On Fri, Mar 5, 2021 at 11:01 AM Gabriele Bozzola bozzola.gabriele@gmail.com wrote:
Hello,
suppose (for clarity) that I want to write a thorn that computes the constraint violations as grid functions. Since this is a diagnostic, I don't need to compute it at every iteration, so I will add a parameter "compute every" and I will schedule the computations in CCTK_ANALYSIS. Then, I will be careful and make sure that compute_every is a multiple of when all the refinement levels are synced up.
How are boundary conditions handled in this case?
I can call Boundary_SelectGroupForBC every "compute_every" and schedule the corresponding functions in the scheduler. But, do I need to (1) allocate multiple timelevels for my grid functions, (2) do anything about filling previous timelevels?
I am looking at WeylScal4 as an example. The thorn has parameters "compute_every", the grid functions have 3 time levels, and Boundary_SelectGroupForBC is called every "compute_every", but nothing is done to fill the previous timelevels. How does this work?
Assuming that the boundary conditions are 'flat', is there any way to just work with one timelevel?
Thanks, Gabriele
Users mailing list Users@einsteintoolkit.org http://lists.einsteintoolkit.org/mailman/listinfo/users