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@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@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@einsteintoolkit.org
>         http://lists.einsteintoolkit.org/mailman/listinfo/users
>
>
>
>
>
> --
> Erik Schnetter <schnetter@cct.lsu.edu>
> http://www.cct.lsu.edu/~eschnett/
>
>

--
Hal Finkel
Postdoctoral Appointee
Leadership Computing Facility
Argonne National Laboratory




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