Miguel If I recall correctly, Ian Hinder studied convergence of black hole simulations with subcycling in time in great detail. The Einstein Toolkit gallery example for GW150914 contains the respective distilled knowledge. https://einsteintoolkit.org/gallery/bbh/index.html
Some important details that I recall: - You can regrid only when the fine and coarse grids are aligned - You cannot use time interpolation at all. You need to use enough buffer zones for all the RK substeps for all the fine timesteps for each coarse time step. With 3 ghost zones and RK4 you need 21 buffer zones. You likely do not need to evolve for a long time to see loss of convergence. It might suffice to run for just a few time steps (a few coarse grid steps) and study convergence of one of the evolved variables (e.g. the lapse) in great detail over a wide range of resolutions. For this you do not need a large domain, nor do you need many refinement levels, nor do you need many grid points. For example, studying convergence near the point (1,0,0) requires probably about 100^3 points for each resolution in a two-level setup. -erik > On Nov 19, 2025, at 06:17, Miguel Zilhão <[email protected]> wrote: > > hi all, > > we've recently added the option to compute the Gauss constraint in the > ProcaEvolve thorn > (https://bitbucket.org/canuda/proca/src/experimental_miguel/ProcaEvolve/) and > we were surprised to see that, even for very small evolutions of a simple > (unperturbed) charged black hole, this constraint violation does not > converge. of course everything is converging just fine at t=0, but once the > evolution starts, convergence is lost really quickly. > > after experimenting with different things, i think i've narrowed the issue > down to the subcycling in time. i've attached some plots as well as the > corresponding parameter files. these plots are not convergence tests, it's > just what i'm observing with and without subcycling in time (everything else > is the same as you can see from the parfiles). > > these are evolutions for a single charged BH, with Q=0.2. > in one of the parfiles (LeanBSSN_RN_Q0.2_nosubcycl_hf40_202509.par) all > timelevels update at the same rate with > > Carpet::time_refinement_factors = "[1, 1, 1, 1, 1, 1, 1]" > > for the other parfile (LeanBSSN_RN_Q0.2_hf40_202509.par), all timelevels > update at the same rate *except* the two inner ones. for the "base" grid > functions, i see no noticeable difference insofar as i've checked, but for > the Gauss constraint violation the results are very different as you can see > from the plots attached: > > - in the gc_x_RN_nosubcycl.pdf plot, everything looks fine > - in the gc_x_RN_subcycl.pdf case, notice how a lot of noise propagates from > the two inner refinements levels -- the ones that updated more frequently > than the rest. > > the problem is that this noise is not contained in the buffer region (if it > was, we'd be fine), but propagates out, contaminates the rest of the grid, > and totally ruins any convergence study. > > actually a similar thing also happens for the hamiltonian constraint -- plots > also attached (hc_x_RN_nosubcycl.pdf, hc_x_RN_subcycl.pdf) -- but in this > case the effect is smaller and it doesn't spoil convergence studies. > > so i was wondering whether this is at all expected and/or if there are some > parameters or setting that we may have overlooked? > > thanks, > Miguel > <hc_x_RN_nosubcycl.pdf><hc_x_RN_subcycl.pdf><gc_x_RN_subcycl.pdf><gc_x_RN_nosubcycl.pdf><LeanBSSN_RN_Q0.2_hf40_202509.par><LeanBSSN_RN_Q0.2_nosubcycl_hf40_202509.par>_______________________________________________ > Users mailing list > [email protected] > http://lists.einsteintoolkit.org/mailman/listinfo/users
_______________________________________________ Users mailing list [email protected] http://lists.einsteintoolkit.org/mailman/listinfo/users
