[Carpet] "proper nesting" in the presence of symmetries
Erik Schnetter
schnetter at cct.lsu.edu
Fri Jun 16 15:59:38 CEST 2006
On Jun 15, 2006, at 11:57:35, Jonathan Thornburg wrote:
> Hi, Erik,
>
> I am running Carpet on a single processor.
> I have a par file (attached) which sets up a grid like this,
> using RotatingSymmetry90 with its default settings:
>
> Carpet::domain_from_coordbase = true
> driver::ghost_size = 3
> Carpet::buffer_width = 9
>
> Carpet::prolongation_order_space = 3
> Carpet::prolongation_order_time = 2
> Carpet::num_integrator_substeps = 4
You don't need to specify the number of integrator substeps unless
you use outer buffer zones. When you use outer buffer zones, then
you must not also set buffer_width, because both mechnisms add to
each other. I generally suggest using outer buffer zones, because
they lead to much less surprise with respect to the locations of the
fine grids. For example, the "physical" part of your fine grids
below extend to
level1: [0.0, 3.2]
level 2: [0.0; 2.1]
since the outermost 9 grid points are buffer zones. With "physical"
I mean that it is integrated in time instead of being prolongated
from the coarse grid. On the other hand, the "computational" part of
your fine grids extend to
level 1: [0.0, 5.6]
level 2: [0.0: 3.3]
> CoordBase::domainsize = "minmax" # specify continuum domain
> CoordBase::xmin = 0.0
> CoordBase::xmax = +10.0
> CoordBase::ymin = 0.0
> CoordBase::ymax = +10.0
> CoordBase::zmin = -10.0
> CoordBase::zmax = +10.0
> CoordBase::dx = 0.4
> CoordBase::dy = 0.4
> CoordBase::dz = 0.4
>
> ActiveThorns = "CarpetRegrid"
> CarpetRegrid::refinement_levels = 3
> CarpetRegrid::refined_regions = manual-coordinate-list
> CarpetRegrid::smart_outer_boundaries = yes
> CarpetRegrid::coordinates = "[
> [ ([ 0.0, 0.0,-5.0] : [ 5.0, 5.0, +5.0] : [0.2, 0.2, 0.2])],
> [ ([ 0.0, 0.0,-3.0] : [ 3.0, 3.0, +3.0] : [0.1, 0.1, 0.1])]
> ]"
> CarpetRegrid::keep_same_grid_structure = yes
> CarpetLib::save_memory_during_regridding = yes
>
> CartGrid3D::type = "CoordBase"
> CartGrid3D::avoid_origin = false
>
> Carpet complains that the grid isn't properly nested:
>
> INFO (Carpet): Recomposing the grid hierarchy for map 0
> Not properly nested: rl=1, required distance=4
> Received from level 0:
> bboxset<CCTK_INT4,3>:size=45168,setsize=4,set={([1536,1536,14336]:
> [17408,17408,19968]:[512,512,512]),([11776,1536,20480]:
> [17408,17408,43008]:[512,512,512]),([1536,11776,20480]:
> [11264,17408,43008]:[512,512,512]),([1536,1536,37376]:
> [11264,11264,43008]:[512,512,512])}
> Taboo region on level 1:
> bboxset<CCTK_INT4,3>:size=94000,setsize=4,set={([-512,-512,12288]:
> [19456,19456,22016]:[512,512,512]),([9728,-512,22528]:
> [19456,19456,45056]:[512,512,512]),([-512,9728,22528]:
> [9216,19456,45056]:[512,512,512]),([-512,-512,35328]:
> [9216,9216,45056]:[512,512,512])}
> Sent to level 2: bboxset<CCTK_INT4,3>:size=10451,setsize=4,set=
> {([2048,2048,19968]:[11776,11776,23040]:[512,512,512]),
> ([8704,2048,23552]:[11776,11776,37376]:[512,512,512]),
> ([2048,8704,23552]:[8192,11776,37376]:[512,512,512]),
> ([2048,2048,34304]:[8192,8192,37376]:[512,512,512])}
> Overlap on level 1: bboxset<CCTK_INT4,3>:size=8375,setsize=4,set=
> {([2048,2048,19968]:[11776,11776,22016]:[512,512,512]),
> ([9728,2048,22528]:[11776,11776,37376]:[512,512,512]),
> ([2048,9728,22528]:[9216,11776,37376]:[512,512,512]),
> ([2048,2048,35328]:[9216,9216,37376]:[512,512,512])}
> WARNING level 1 in thorn CarpetLib processor 0 host carbon.aei.mpg.de
> (line 695 of /home/jonathan/cactus/Cactus/configs/test-moving-
> excision/build/CarpetLib/dh.cc):
> -> Not properly nested
>
> I am confused as to just where the improper nesting lies: there
> seems to be lots of space between the upper faces of the various
> refinement boxes, and the lower faces are symmetry planes in xy,
> and have lots of space in z.
>
> Can you tell me just what the rules are which define "proper nesting"?
The rules are that the grid points which are used for prolongation to
the next finer level are not set by prolongation from the next
coarser level. Additionally, Carpet requires a certain distance
between these two regions, which defaults to 4 grid points. This is
a CarpetLib parameter. You can set this distance to 0.
Does the taking away of 9 grid points that I calculate above answer
your question why there is not enough space between these two grids?
In fact, the prolongation zones even overlap.
Carpet should have output the fine grid sizes during startup. If
not, you can restart the simulation with Carpet::verbose=yes.
-erik
--
Erik Schnetter <schnetter at cct.lsu.edu>
My email is as private as my paper mail. I therefore support encrypting
and signing email messages. Get my PGP key from www.keyserver.net.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : /archives/developers/attachments/20060616/1cf697ba/attachment.pgp
More information about the developers
mailing list