[Users] 2D configuration with Carpet

Miguel Zilhão miguel.zilhao.nogueira at tecnico.ulisboa.pt
Wed Feb 14 21:36:24 CST 2018


hi all,

many thanks for the parameter file, Steve. it works, but as soon as i set 
Carpet::prolongation_order_space = 5, i get inconsistent grid structure type of errors:

WARNING level 1 from host meurglysIII process 1
   while executing schedule bin (none), routine (no thorn)::(no routine)
   in thorn CarpetLib, file /home/mzilhao/dev/ET/Cactus/arrangements/Carpet/CarpetLib/src/dh.cc:161:
   ->
/home/mzilhao/dev/ET/Cactus/arrangements/Carpet/CarpetLib/src/dh.cc:813:
    [ml=0 rl=1 c=1] The following grid structure consistency check failed:
    Refinement prolongation: Send region must be contained in exterior
    send <= obox.exterior

WARNING level 0 from host meurglysIII process 0
   while executing schedule bin (none), routine (no thorn)::(no routine)
   in thorn CarpetLib, file /home/mzilhao/dev/ET/Cactus/arrangements/Carpet/CarpetLib/src/dh.cc:2118:
   -> The grid structure is inconsistent.  It is impossible to continue.
cactus_Lean_ET_master: /home/mzilhao/dev/ET/Cactus/arrangements/Carpet/Carpet/src/helpers.cc:275: 
int Carpet::Abort(const cGH*, int): Assertion `0' failed.

so i guess it's as Ian said, that Carpet tries to prolongate with the same order in every direction? 
i find that in order for this to work i either have to decrease the prolongation to order 1, or put 
the boundary along the z direction back to a non-zero value. but i guess in this latter case i no 
longer have a truly 2D configuration, right?

thanks,
Miguel

On 15/02/18 03:00, Steven R. Brandt wrote:
> I have a parameter file which I have used fairly recently that does this. A very short running test 
> case is attached.
> 
> --Steve
> 
> 
> On 02/14/2018 09:21 AM, Miguel Zilhão wrote:
>> hi Ian,
>>
>> many thanks for the parameter file. this allowed me to go a little further (i was missing
>> CoordBase::boundary_shiftout_z_lower = 1 and CoordBase::boundary_shiftout_z_upper = 1).
>> however, i'm still getting the following error:
>>
>> ERROR from host meurglysIII process 0
>>     while executing schedule bin (none), routine (no thorn)::(no routine)
>>     in thorn Carpet, file ./Cactus/arrangements/Carpet/Carpet/src/SetupGH.cc:2512:
>>     -> There are not enough ghost zones for the desired spatial prolongation order on map 0,
>> refinement level 0.  With a spatial prolongation order of 5, you need at least 3 ghost zones.
>>
>> i'm setting:
>>
>> Carpet::prolongation_order_space        = 5
>> Carpet::prolongation_order_time         = 2
>>
>> driver::ghost_size_x                 = 3
>> driver::ghost_size_y                 = 3
>> driver::ghost_size_z                 = 0
>>
>> i'm guessing that in the example you provided things worked because you only had one grid? is there
>> any way of doing this with more inner levels?
>>
>> thanks,
>> Miguel
>>
>> On 14/02/18 22:25, ian.hinder at aei.mpg.de wrote:
>>>
>>>> On 13 Feb 2018, at 06:19, Miguel Zilhão <miguel.zilhao.nogueira at tecnico.ulisboa.pt
>>>> <mailto:miguel.zilhao.nogueira at tecnico.ulisboa.pt>> wrote:
>>>>
>>>> hi Erik,
>>>>
>>>> thanks for your reply. i've tried to set the parameters as you described, but i'm getting a Carpet
>>>> assertion failure:
>>>>
>>>> cactus_Lean_ET: Cactus/arrangements/Carpet/CarpetLib/src/gh.cc:61 <http://gh.cc:61/>: gh::gh(const
>>>> std::vector<vect<int, 3> >&, centering, int, centering, const std::vector<std::vector<bbox<int, 
>>>> 3> >
>>>>> &, const i2vect&): Assertion `all(box.shape() / box.stride() >= boundary_width[0] +
>>>> boundary_width[1])' failed.
>>>>
>>>> here's how i'm specifying my grid:
>>>>
>>>> CoordBase::xmin                      = -48.00
>>>> CoordBase::ymin                      = -48.00
>>>> CoordBase::zmin                      =   0.00
>>>> CoordBase::xmax                      = +48.00
>>>> CoordBase::ymax                      = +48.00
>>>> CoordBase::zmax                      =  +0.00
>>>> CoordBase::dx                        =   2.00
>>>> CoordBase::dy                        =   2.00
>>>> CoordBase::dz                        =   2.00
>>>>
>>>> driver::ghost_size_x                 = 3
>>>> driver::ghost_size_y                 = 3
>>>> driver::ghost_size_z                 = 0
>>>>
>>>> CoordBase::boundary_size_x_lower     = 3
>>>> CoordBase::boundary_size_y_lower     = 3
>>>> CoordBase::boundary_size_z_lower     = 0
>>>> CoordBase::boundary_size_x_upper     = 0
>>>> CoordBase::boundary_size_y_upper     = 0
>>>> CoordBase::boundary_size_z_upper     = 0
>>>>
>>>> CoordBase::boundary_shiftout_x_lower = 0
>>>> CoordBase::boundary_shiftout_y_lower = 0
>>>> CoordBase::boundary_shiftout_z_lower = 0
>>>>
>>>> am i missing something?
>>> Hi Miguel,
>>>
>>> There is an example parameter file in Kranc, for a true 2D Laplace equation (i.e. it doesn't take
>>> derivatives in the z direction):
>>>
>>> https://github.com/ianhinder/Kranc/blob/master/Examples/laplace.par
>>>
>>> I have not tried this recently, but it worked at one point.
>>>
>>> -- 
>>> Ian Hinder
>>> http://members.aei.mpg.de/ianhin
>>>
>> _______________________________________________
>> Users mailing list
>> Users at einsteintoolkit.org
>> http://lists.einsteintoolkit.org/mailman/listinfo/users
> 
> 
> 
> _______________________________________________
> Users mailing list
> Users at einsteintoolkit.org
> http://lists.einsteintoolkit.org/mailman/listinfo/users
> 


More information about the Users mailing list