[Users] Issue with thorn Trigger

Lorenzo Ennoggi lorenzo.ennoggi at gmail.com
Fri Jun 18 11:13:29 CDT 2021


Dear Roland,
thank you. Indeed, steering the scalar worked fine for me.

Sincerely,
Lorenzo

Il Ven 18 Giu 2021, 17:43 Roland Haas <rhaas at illinois.edu> ha scritto:

> Hello Lorenzo,
>
> this has been mentioned already but just to be sure:
>
> "steerparam" cannot be used to change any of the CarpetRegrid2
> parameters since it only uses the values of the parameters to create
> the initial set of boxes at t=0. Afterwards it uses (similarly named)
> grid scalars (so "steerscalar") and you can see how that is done eg in
> the gallery example for bns
> http://einsteintoolkit.org/gallery/bns/nsnstohmns.par near the end:
>
> ActiveThorns = "Trigger"
> Trigger::Trigger_Number = 4
>
>
> Trigger::Trigger_Checked_Variable[0]="Hydro_Analysis::Hydro_Analysis_rho_max_origin_distance"
> Trigger::Trigger_Reduction       [0]=""
> Trigger::Trigger_Relation        [0]="<"
> Trigger::Trigger_Checked_Value   [0]=10
> Trigger::Trigger_Reaction        [0]="steerscalar"
> Trigger::Trigger_Steered_Scalar      [0] = "CarpetRegrid2::num_levels[2]"
> # == num_levels_3
> Trigger::Trigger_Steered_Scalar_Value[0] = "7"
>
> Yours,
> Roland
>
> > Dear Roland, Gabriele,
> > thank you, that's a good point. Indeed, I let the system evolve for well
> > more than 32 iterations after the refinement level to be enlarged pops
> out
> > (at the time of checkpoint, before merger, that level is not yet present;
> > it appears at the time of merger). But the level was not enlarged by
> simply
> > steering the parameter with Trigger::Trigger_Reaction[0]="steerparam".
> >
> > One thing that may be important (but I am not sure) is, as I just
> > mentioned, that the refinement level I want to enlarge is not yet present
> > at the time of checkpoint, it appears after ~2000 iterations.
> >
> > Sincerely,
> > Lorenzo
> >
> > Il giorno lun 14 giu 2021 alle ore 18:02 Gabriele Bozzola <
> > bozzola.gabriele at gmail.com> ha scritto:
> >
> > > Hi Lorenzo,
> > >
> > > In my experience, it is not enough to change the value of the
> parameter:
> > > you also need to regrid. If you don't regrid, the grid configuration
> will
> > > not
> > > change. (At least, this is what I found using Trigger to change the
> number
> > > of refinement levels.) In your par file you regrid every 32 iterations,
> > > have
> > > you tried checking the output after regridding?
> > >
> > > Gabriele
> > >
> > > On Mon, Jun 14, 2021 at 8:37 AM Lorenzo Ennoggi <
> lorenzo.ennoggi at gmail.com>
> > > wrote:
> > >
> > >> Dear Erik,
> > >> thank you very much. I am now trying the way Frank suggested before
> and,
> > >> if again the finest refinement level does not get enlarged, I will
> probably
> > >> try to edit the checkpoint files.
> > >>
> > >> Sincerely,
> > >> Lorenzo
> > >>
> > >> Il giorno lun 14 giu 2021 alle ore 15:45 Erik Schnetter <
> > >> schnetter at cct.lsu.edu> ha scritto:
> > >>
> > >>> On Mon, Jun 14, 2021 at 5:45 AM Lorenzo Ennoggi
> > >>> <lorenzo.ennoggi at gmail.com> wrote:
> > >>> >
> > >>> > Dear all,
> > >>> > I would like to restart a simulation from a checkpoint enlarging
> the
> > >>> finest refinement level in my grid. In particular, I would like to
> change
> > >>> CarpetRegrid2::radius_1[5] = 20.1 to CarpetRegrid2::radius_1[5] =
> 25. I
> > >>> tried to do that by making the parameter CarpetRegrid2::radius_1
> always
> > >>> steerable and adding the following lines to my parameter file:
> > >>> >
> > >>> >
> > >>> > ActiveThorns                                = "Trigger"
> > >>> > Trigger::Trigger_Number                     = 1
> > >>> >
> > >>> > Trigger::Trigger_Checked_Variable[0]        = "hydrobase::rho"
> > >>> > Trigger::Trigger_Relation[0]                = ">"
> > >>> > Trigger::Trigger_Checked_Value[0]           = 1.e-4
> > >>> > Trigger::Trigger_Reduction[0]               = "maximum"
> > >>> >
> > >>> > Trigger::Trigger_Reaction[0]                = "steerparam"
> > >>> > Trigger::Trigger_Steered_Parameter_Thorn[0] = "CarpetRegrid2"
> > >>> > Trigger::Trigger_Steered_Parameter_Name[0]  = "radius_1[5]"
> > >>> > Trigger::Trigger_Steered_Parameter_Value[0] = "25." #New value of
> the
> > >>> above parameter
> > >>> > Trigger::Trigger_Once[0]                    = 1     #It means "yes"
> > >>> > Trigger::Trigger_Debug                      = 1     #It means "yes"
> > >>> >
> > >>> >
> > >>> > In this way, the trigger should act immediately, as the maximum of
> rho
> > >>> is ~1e-3 in my case. Indeed, it looks like the trigger is working
> fine, as
> > >>> the standard output says
> > >>> >
> > >>> > [...]
> > >>> > INFO (Trigger): Testing triggers
> > >>> > INFO (Trigger): last_checked: -1
> > >>> > INFO (Trigger): reducing trigger 0 red_handle 2 varindex 428
> > >>> > INFO (Trigger): reducing was ok
> > >>> > INFO (Trigger): trigger nr. 0 fullfilled for rho
> (0.000804>0.000100)
> > >>> > INFO (Trigger): Steering parameter
> > >>> > INFO (Trigger): Parameter steered
> > >>> > [...]
> > >>> >
> > >>> > but unfortunately, looking at the 2D output with VisIt, the
> finest
> > >>> refinement level does not get enlarged (i.e. radius_1[5] does not
> appear to
> > >>> have been steered at all). Do you have any suggestions on how to get
> this
> > >>> trigger to work? Or, are you aware of other ways of obtaining the
> same
> > >>> result without using the thorn Trigger?
> > >>>
> > >>> Changing these parameters has no effect, even if they were steerable.
> > >>>
> > >>> CarpetRegrid2 uses these parameters to set up the initial grid
> > >>> structure, by setting the grid scalars "positions", "radius", etc.
> > >>> During regridding, only these grid scalars are examined; the
> > >>> parameters are ignored. Other mechanisms to update the grid structure
> > >>> (e.g. by tracking horizons or punctures) update these grid scalars,
> > >>> which then determines the grid structure during regridding. These
> grid
> > >>> scalars are checkpointed and recovered, as all grid variables are.
> > >>>
> > >>> To modify the grid structure you need to modify these grid scalars.
> > >>> You can do this e.g. via Python by doing surgery on the checkpoint
> > >>> files, or by scheduling a function that runs right after recovery.
> > >>> Carpet performs a regridding step after recovering, before the first
> > >>> evolution step.
> > >>>
> > >>> -erik
> > >>>
> > >>> --
> > >>> Erik Schnetter <schnetter at cct.lsu.edu>
> > >>>
> https://urldefense.com/v3/__http://www.perimeterinstitute.ca/personal/eschnetter/__;!!DZ3fjg!qJtg2Dm2iMjbbuuMf08ECoh-wBagefwolYy896CxCjR-URdMDYmN4vPkPBc-9KUA$
> > >>>
> > >> _______________________________________________
> > >> Users mailing list
> > >> Users at einsteintoolkit.org
> > >>
> https://urldefense.com/v3/__http://lists.einsteintoolkit.org/mailman/listinfo/users__;!!DZ3fjg!qJtg2Dm2iMjbbuuMf08ECoh-wBagefwolYy896CxCjR-URdMDYmN4vPkPI5sd0WV$
> > >>
> > >
>
>
> --
> My email is as private as my paper mail. I therefore support encrypting
> and signing email messages. Get my PGP key from http://pgp.mit.edu .
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.einsteintoolkit.org/pipermail/users/attachments/20210618/9d44568f/attachment-0001.html 


More information about the Users mailing list