[Users] defining a grid function constant in time
Miguel Zilhão
miguel.zilhao.nogueira at tecnico.ulisboa.pt
Fri Oct 27 14:10:24 CDT 2017
hi Roland and all,
we briefly tested this, but it didn't seem to be of much help... for our purposes having just one
timelevel should suffice in any case, so the fix by Ian would be more convenient, if possible.
many thanks,
Miguel
On 27/10/17 12:48, Roland Haas wrote:
> Hello Miguel, all,
>
>> with this commit it seems to be working fine, yes!
>> unless there is some other way of doing this, it would be great if
>> this commit could be merged to master.
> I think there is one more roadblock to consider: when you have 3
> timelevels then Carpet will cycle the timelevels after each step,
> shuffling shift0 into shift0_p and shift0_p into shift0_pp and (at
> least making it look like it was) allocating fresh memory for shift0.
> If you have enabled poison_new_timelevels (off by default I think) then
> you'd see poison in the new timelevel. This will happen whenever you
> have 3 timelevels.
>
> The solution would be to have only a single timelevel and do eg what
> CartGrid3D does and schedule your setting routine in BASEGRID,
> POSTREGRIDINITIAL and POSTREGRID:
>
> schedule CartGrid3D_SetCoordinates as SpatialCoordinates at CCTK_BASEGRID
> {
> LANG:C
> WRITES: grid::coordinates(Everywhere)
> } "Set up spatial 3D Cartesian coordinates on the GH"
>
> schedule CartGrid3D_SetCoordinates as SpatialCoordinates at CCTK_POSTREGRIDINITIAL
> {
> LANG: C
> WRITES: grid::coordinates(Everywhere)
> } "Set Coordinates after regridding"
>
> schedule CartGrid3D_SetCoordinates as SpatialCoordinates at CCTK_POSTREGRID
> {
> LANG: C
> WRITES: grid::coordinates(Everywhere)
> } "Set Coordinates after regridding"
>
> you can also *try* to see if removing the "prolongation_opertaor='none'"
> setting in you interface.ccl *and* also making sure to regrid only
> during coarse steps (so that interpolation in time is not needed).
>
> Yours,
> Roland
>
More information about the Users
mailing list