[Users] Problem with CarpetRegrid2/AMR

Erik Schnetter schnetter at cct.lsu.edu
Wed Dec 14 17:05:05 CST 2011


It should suffice if this is a global storage allocation, i.e. if it is
outside of any schedule statement.

-erik

On Wed, Dec 14, 2011 at 4:58 PM, Hal Finkel <hfinkel at anl.gov> wrote:

> On Wed, 2011-12-14 at 16:33 -0500, Erik Schnetter wrote:
> > Hal
> >
> >
> > This may mean that level_mask does not have storage at all times.
> > CarpetRegrid2 does not allocate storage for this variable -- maybe it
> > should, when CarpetRegrid2::adaptive_refinement is set to yes?
>
> I agree that it should do that; but I am allocating storage for the
> variable right now (as I noted at the end of the e-mail) by adding to
> the end of my schedule file:
> STORAGE: CarpetRegrid2::level_mask
>
> Is that not enough?
>
> Thanks again,
> Hal
>
> >
> >
> > -erik
> >
> > On Wed, Dec 14, 2011 at 4:07 PM, Hal Finkel <hfinkel at anl.gov> wrote:
> >         On Thu, 2011-12-08 at 22:38 +0100, Eloisa Bentivegna wrote:
> >         > Hello,
> >         >
> >         > I'd like to revive a discussion that went over the list a
> >         few months ago, regarding Carpet's AMR capability.
> >         >
> >         > I understand that the refinement has to be triggered through
> >         the level_mask grid function. The example that Hal gave is
> >         below.
> >         >
> >         > On Aug 30, 2011, at 9:37 PM, Hal Finkel wrote:
> >         >
> >         > > lvlmskSet =
> >         > > {
> >         > >        Name -> "SFBubble_SetLevelMask",
> >         > >        Schedule -> {"AT preregrid"},
> >         > >        Where -> Interior,
> >         > >        Shorthands -> { adchix, adchiy, adchiz },
> >         > >        Equations ->
> >         > >        {
> >         > >                adchix -> fabs[dx PD[chi,1]],
> >         > >                adchiy -> fabs[dy PD[chi,2]],
> >         > >                adchiz -> fabs[dz PD[chi,3]],
> >         > >
> >         > >                "level_mask" -> (
> >         > >                        Max[
> >         > >                                adchix, adchiy, adchiz
> >         > >                        ]/dchimax
> >         > >                ) /. Max[a_, b_, c_] -> fmax[a, fmax[b, c]]
> >         > >        }
> >         > > };
> >
> >
> >         FWIW, it looks like some time over the last few months this
> >         stopped
> >         working: setting level_mask in this way does not lead to
> >         regridding
> >         (even if it is > n in some places), and outputting the result
> >         using
> >         CarpetIOScalar has an odd result:
> >
> >         carpetregrid2::level_mask.maximum.asc starts with:
> >         0 0 -1.79769313486232e+308
> >         1 1 1.30685299729774
> >         2 2 1.31094960089828
> >         ...
> >
> >         carpetregrid2::level_mask.minimum.asc starts with:
> >         0 0 1.79769313486232e+308
> >         1 1 0
> >         2 2 0
> >         ...
> >
> >         carpetregrid2::level_mask.average.asc has:
> >         0 0 -nan
> >         1 1 -nan
> >         2 2 -nan
> >         ...
> >
> >         What is going on here?
> >
> >         It might also be worth noting, that to get level_mask to work
> >         with Kranc
> >         in the above example, I added the following after the call to
> >         CreateKrancThornTT:
> >
> >         Module[{fp = OpenAppend[dirname <> "/schedule.ccl"]},
> >                WriteString[fp, "\[NewLine]" <> "STORAGE:
> >         CarpetRegrid2::level_mask"];
> >                Close[fp]
> >         ];
> >
> >          -Hal
> >
> >         >
> >         > My questions are:
> >         >
> >         > 1) Is preregrid the right location to set this function?
> >         > 2) Does this suffice? I assume that once regridding is
> >         triggered, the new levels will have to be populated (via
> >         interpolation?). Is level_mask treated like all other grid
> >         functions?
> >         > 3) In the case above, the loop only goes over interior
> >         points, since the mask is set to be the derivative of a grid
> >         function. This implies that a sync is necessary before the
> >         mask can be used for regridding. Is the user thorn a good
> >         place to request this?
> >         >
> >         > Thanks,
> >         > Eloisa
> >
> >
> >         --
> >         Hal Finkel
> >         Postdoctoral Appointee
> >         Leadership Computing Facility
> >         Argonne National Laboratory
> >
> >
> >         _______________________________________________
> >         Users mailing list
> >         Users at einsteintoolkit.org
> >         http://lists.einsteintoolkit.org/mailman/listinfo/users
> >
> >
> >
> >
> >
> > --
> > Erik Schnetter <schnetter at cct.lsu.edu>
> > http://www.cct.lsu.edu/~eschnett/
> >
> >
>
> --
> Hal Finkel
> Postdoctoral Appointee
> Leadership Computing Facility
> Argonne National Laboratory
>
>


-- 
Erik Schnetter <schnetter at cct.lsu.edu>   http://www.cct.lsu.edu/~eschnett/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/users/attachments/20111214/63cc76ae/attachment-0001.html 


More information about the Users mailing list