[Users] Meeting minutes

Erik Schnetter schnetter at cct.lsu.edu
Wed May 25 08:49:10 CDT 2011

On Wed, May 25, 2011 at 12:56 AM, Bruno C. Mundim <bcmsma at astro.rit.edu> wrote:
> Hi Erik:
> Erik Schnetter wrote:
>> On Tue, May 24, 2011 at 11:43 PM, Bruno C. Mundim <bcmsma at astro.rit.edu>
>> wrote:
>>> Hi Erik and Ian,
>>> Erik Schnetter wrote:
>>>> On Tue, May 24, 2011 at 2:11 AM, Ian Hinder <ian.hinder at aei.mpg.de>
>>>> wrote:
>>>>> On 23 May 2011, at 23:49, Bruno Coutinho Mundim wrote:
>>>>>>> * Bruno still has troubles with RotatingSymmetry180 when using the
>>>>>>> development version of ET for the BBH example (parfile is in
>>>>>>> subversion)
>>>>>>> * will try running without RotatingSymmetry180
>>>>>> Just got the results: no problem without RotatingSymmetry180.
>>>>> OK good, so we know where the problem is.
>>>>>>> * convergence in norms is bad, somewhat better in 1D data for a short
>>>>>>> time after simulation startup
>>>>>> A closer look into the initial data revealed that both the l2-norm of
>>>>>> the hamiltonian constraint and its value along the x-axis converge to
>>>>>> the expected order, 4th order. This convergence is not observed
>>>>>> anymore
>>>>>> in the very next coarse step when the comparison is done again.
>>>>> The time prolongation is only 3rd order accurate so I wouldn't expect
>>>>> convergence at 4th order.
>>> Thanks! I missed that...
>>>> Time prolongation is second order accurate.
>>> Right. We use three time levels (equivalently three points) to
>>> prolongate, so it should be second order, O(dt^2), accurate.
>> Yes, it uses three points. Not everybody counts orders the same way I did
>> here.
>>>> You can use tapered grids, which avoids all time interpolation except
>>>> possibly during regridding. If you are careful about regridding you
>>>> don't need time interpolation for this either. This gives you clean
>>>> fourth order convergence, except near the outer boundary if you are
>>>> cheating there (and we all are).
>>> What do you mean by "If you are careful about regridding you
>>> don't need time interpolation for this either. "? You mean besides using
>>> tapered grids, only regrid when all grids are aligned (in time), ie in
>>> only at the coarsest time steps?
>> Not quite. All the grids that are changing need to be aligned with
>> their next coarser grids. If e.g. the first three levels don't change,
>> then you can regrid much more often than just at full coarse grid time
>> steps.
> Then the following parameters should help achieving clean 4th order
> convergence:
> Carpet::use_tapered_grids = "yes"
> CarpetRegrid2::freeze_unaligned_levels = "yes"
> and we would end up with a buffer zone = 2 * 4 * 3 = 24 points
> (time refinement ratio * # of RK4 algorithmic steps * width of 4th order
> centered dissipation stencil) plus the number of ghost zones around each
> grid component (3 in this case). Is this counting correct? this seems
> quite expensive...

Yes to all the above.

>>>> Another issue to consider is how you set up the past timelevels. If
>>>> you copy the data from the current time level, then you are
>>>> introducing a first order error.
>>> Good point. I guess that's how it is set right now:
>>> Carpet::init_fill_timelevels     = "yes"
>>> InitBase::initial_data_setup_method = "init_all_levels"
>> Yes, this will introduce a very large error during time
>> "interpolation", because by doing so, you essentially copy the initial
>> data to the future times instead of interpolating.
> yes, but this first order error would be evident only on the buffer
> zones, right? and I would expect this error to pollute the solution
> later on in the simulation only, not on the first few time steps.

Yes, it should affect only the buffer zones. However, given that the
solution travels 24 grid points per time step (as you just calculated
above), the prolongation error can well affect the interior of the
fine grids quite quickly, in particular a large error introduced by
wrong past time levels.

In principle, our BBH initial data are in equilibrium, and if one
chose a co-rotating frame (that maybe also has a bit of infall), then
the past time levels would be much closer to being correct. That is,
if one rotated (and pushed slightly outwards) the past time levels,
the error in the past timelevels should be greatly reduced. All that
is needed for this is a coordinate transformation, which should be
computable from the corotation angular velocity (and the initial
radial momenta).


>>> If you use the
>>>> three-timelevel-initialisation, then you are second order accurate.
>>>> Again, these past timelevels are used only for time interpolation, but
>>>> they can reduce the convergence order even further if they are not
>>>> well initialised.
>>> But to use init_3_timelevels we need to have all time levels on the
>>> ratio 2:1 (for example). We can't have as it is set there right now:
>>> Carpet::time_refinement_factors = "[1, 1, 2, 4,...]"
>> Yes. Sorry.
>> -erik

Erik Schnetter <schnetter at cct.lsu.edu>   http://www.cct.lsu.edu/~eschnett/

More information about the Users mailing list