[Users] weird behavior with some ET simulations

Ian Hinder ian.hinder at manchester.ac.uk
Thu Mar 7 07:46:20 CST 2019



On 7 Mar 2019, at 07:40, Antoni Ramos Buades <antoniramosbuades at gmail.com<mailto:antoniramosbuades at gmail.com>> wrote:

Hi,

Roland you are right it is forming and destroying a common box each time the outburst of noise happens. Do you know how one could get rid of this noise, or if there are some parameters of Carpet which one could add to  the parameter file to avoid such a behaviour?

Hi Antoni,

There is this parameter in CarpetRegrid2:

CCTK_REAL min_fraction "Minimum fraction of required refined points that need to be present in a refined region" STEERABLE=always
{
0:* :: ""
} 0.9

When two boxes overlap, CarpetRegrid2 has to make a decision about whether to use the union of the two boxes, or to replace the two boxes with a single enclosing box.  This code is in carpet/CarpetRegrid2/src/property.cc<http://property.cc> in the function combine_regions::test_impl.  The decision is made based on the number of point in the union of the two boxes, vs the number of points in a single enclosing box.  It will leave the regions separate if

min_fraction * combined_size > regions_size

which, with the default of 0.9, means that the number of points in the single enclosing region is greater than 1.11 times the number of points in the original regions.  The logic for this is that having lots of regions means lots of faces, edges and corners, and more communication and prolongation, which can affect performance and might also be undesirable due to creating numerical error features such as reflections.  On the other hand, the single enclosing region will contain more points, and hence will be more expensive to evolve.  min_fraction allows you to decide how many extra points you are willing to evolve, for the sake of having only a single box.  If there would be more than 1/min_fraction times the number of points by combining, the code does not combine.

If you set

CarpetRegrid2::min_fraction = 1

then Carpet will never create a single enclosing box, but will always give you a box based on the union of the points in the two boxes.

Ninja'd by Roland.  Sigh...

--
Ian Hinder
Research Software Engineer
University of Manchester, UK

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/users/attachments/20190307/5a82cc17/attachment.html 


More information about the Users mailing list