[Carpet] IOBasic output issues

Wolfgang Kastaun kastaun at tat.physik.uni-tuebingen.de
Tue Sep 19 21:41:34 CEST 2006


Erik Schnetter wrote:
> On Sep 19, 2006, at 13:07:47, Wolfgang Kastaun wrote:
> 
>> Erik Schnetter wrote:
>>
>>> I think the "triggers" mechanism is too simplistic for mesh   refinement
>>> with subcycling in time.  It may need to be extended.
>>>
>>>> -If I perform 1D/2D runs with no ghostzones in  one or two  directions,
>>>>  and demand reductions of variables which are only computed when
>>>>  triggered by an IO routine, I get:
>>>>  build/CarpetReduce/reduce.cc:1103: int CarpetReduce::ReduceGVs  (const
>>>> cGH*, int, int, int, void*, int,
>>>>  const int*, const CarpetReduce::reduction*):
>>>>  Assertion `nghostzones[d]>=0 && 2*nghostzones[d]<=lsh[d]' failed.
>>>>  Maybe this is connected to the problem above.
>>>
>>>
>>>
>>> This seems unrelated to me.  If you have zero ghost zones, then the
>>> assertion should succeed.  What are the values of nghostzones and of
>>> lsh at these lines?
>>>
>> lsh=1, nghostzones=2
>> I was talking of outer ghost zones (boundary points). Carpet
>> seems to check if internal ghostzones fit into the domain ?
> 
> 
> Ah, the confusion due to terminology.  In Cactus, "ghost zones" are 
> always points used for inter-processor communication.  Near the outer 
> boundary, there are either "boundary zones" or "symmetry zones".
> 
>> I attach the par file.
> 
> 
> Thanks.
> 
> At first glance, this assertion seems to be over-zealous; it should  not
> be tested near outer boundaries.  As a short-term work-around,  you
> could try commenting out this line.  I haven't looked whether  later
> code makes the same assumption, so you may get into trouble for  that.
> 
> You can also set different numbers of ghost zones (Cactus ghost  zones,
> not boundary zones) in different directions.  This may be the  more
> appropriate thing to do.
> 

O.k, the workaround
driver::ghost_size_z = 0
did the trick.




More information about the developers mailing list