[Users] adding levels to Carpet parameter file

Erik Schnetter schnetter at cct.lsu.edu
Mon Oct 11 15:06:48 CDT 2010


I assume that you went over the CFL limit on the finest grid, and thus
encountered an instability.

-erik

On Mon, Oct 11, 2010 at 2:07 PM, Bernard Kelly <bernard.j.kelly at nasa.gov> wrote:
>  Hi Erik.
>
> Thanks for looking it over. I realise that time_refinement_factors can be
> changed to avoid halving the timesteps, but for now, I wanted to be
> minimalist.
>
> But can you then tell me why the newer version crashes? Why is NaNChecker
> now finding NaNs it didn't before?
>
> Bernard
>
> On 10/11/10 2:16 PM, Erik Schnetter wrote:
>>
>> Bernard
>>
>> Your changes look fine.
>>
>> You are changing also the maximum number of refinement levels. This is
>> not necessary; I would leave it the same, but it shouldn't make a
>> difference.
>>
>> You are not changing dtfac. dtfac is the CFL factor on the coarsest
>> grid. Since you add new, coarser levels without time refinement (this
>> is the additional "1" you introduced to the time_refinement_factors
>> list), you are modifying the CFL factor on the finest grid; if I get
>> my arithmetic right, it now takes time steps twice as large as before.
>>
>> This is admittedly a trapdoor that is difficult to avoid. It is
>> unfortunate that Cactus wants you to set the coarse grid parameters
>> (grid spacing and CFL factor), whereas we encounter the CFL limit on
>> the finest grid. I assume one could check the CFL factor on all levels
>> in thorn CactusBase/Time; however, this is not implemented.
>>
>> -erik
>>
>> On Mon, Oct 11, 2010 at 12:52 PM, Bernard Kelly
>> <bernard.j.kelly at nasa.gov>  wrote:
>>>
>>>  Hi all.
>>>
>>> I'm trying something very simple -- running the "qc0-mclachlan" parameter
>>> file
>>> (specifically, the version found in Cactus/par after checking out
>>> EinsteinToolkit
>>> -- the version in Cactus/repos/McLachlan/par seems almost identical).
>>>
>>> After getting rid of one thorn I can't check out anyway
>>> (LSUThorns/SummationByParts),
>>> the parfile seems to run OK. I've since modified it by switching to a
>>> full
>>> x-domain,
>>> removing the Pi-symmetry, and moving the punctures out a bit. That all
>>> seems
>>> to work.
>>>
>>> But now I'm getting stuck trying to modify it in a simple way --
>>> enlarging
>>> the grid
>>> while adding refinement levels "on the outside". Diffing my new "bad"
>>> parfile with the
>>> old "good" one yields the differences below. I'm attaching the bad
>>> parfile
>>> here also.
>>>
>>> Can anyone tell me where I've gone wrong, please? Are there assumed
>>> parameter values never set in the test parfile?
>>>
>>> Thanks,
>>>
>>> Bernard
>>>
>>> P.S. The errors all seem to be from NaNChecker. Here's the first printed
>>> sample:
>>>
>>> WARNING level 1 in thorn NaNChecker processor 29 host borgh098.prv.cube
>>>  (line 875 of
>>> /gpfsm/dnb31/bjkelly1/Cactus/configs/mcl/build/NaNChecker/NaNCheck.c):
>>>  ->  There were 35 NaN/Inf value(s) found in variable 'ML_BSSN::phi'
>>> (NaNmask
>>> bitfield 0)
>>>
>>>
>>> ---------- results of diffing "good" (<) and "bad" (>) parfiles
>>> -----------------
>>>
>>> 47c47
>>> <  Carpet::max_refinement_levels          = 10
>>> ---
>>>>
>>>> Carpet::max_refinement_levels          = 11
>>>
>>> 99,100c99,100
>>> <  CoordBase::xmin = -120.00
>>> <  CoordBase::ymin = -120.00
>>> ---
>>>>
>>>> CoordBase::xmin = -240.00
>>>> CoordBase::ymin = -240.00
>>>
>>> 102,107c102,107
>>> <  CoordBase::xmax = +120.00
>>> <  CoordBase::ymax = +120.00
>>> <  CoordBase::zmax = +120.00
>>> <  CoordBase::dx   =    2.00
>>> <  CoordBase::dy   =    2.00
>>> <  CoordBase::dz   =    2.00
>>> ---
>>>>
>>>> CoordBase::xmax = +240.00
>>>> CoordBase::ymax = +240.00
>>>> CoordBase::zmax = +240.00
>>>> CoordBase::dx   =    4.00
>>>> CoordBase::dy   =    4.00
>>>> CoordBase::dz   =    4.00
>>>
>>> 170c170
>>> <  CarpetRegrid2::num_levels_1            =  7
>>> ---
>>>>
>>>> CarpetRegrid2::num_levels_1            =  8
>>>
>>> 172,177c172,178
>>> <  CarpetRegrid2::radius_1[ 1]            =  64.0
>>> <  CarpetRegrid2::radius_1[ 2]            =  16.0
>>> <  CarpetRegrid2::radius_1[ 3]            =   8.0
>>> <  CarpetRegrid2::radius_1[ 4]            =   4.0
>>> <  CarpetRegrid2::radius_1[ 5]            =   2.0
>>> <  CarpetRegrid2::radius_1[ 6]            =   1.0
>>> ---
>>>>
>>>> CarpetRegrid2::radius_1[ 1]            = 128.0
>>>> CarpetRegrid2::radius_1[ 2]            =  64.0
>>>> CarpetRegrid2::radius_1[ 3]            =  16.0
>>>> CarpetRegrid2::radius_1[ 4]            =   8.0
>>>> CarpetRegrid2::radius_1[ 5]            =   4.0
>>>> CarpetRegrid2::radius_1[ 6]            =   2.0
>>>> CarpetRegrid2::radius_1[ 7]            =   1.0
>>>
>>> 180c181
>>> <  CarpetRegrid2::num_levels_2            =  7
>>> ---
>>>>
>>>> CarpetRegrid2::num_levels_2            =  8
>>>
>>> 182,187c183,189
>>> <  CarpetRegrid2::radius_2[ 1]            =  64.0
>>> <  CarpetRegrid2::radius_2[ 2]            =  16.0
>>> <  CarpetRegrid2::radius_2[ 3]            =   8.0
>>> <  CarpetRegrid2::radius_2[ 4]            =   4.0
>>> <  CarpetRegrid2::radius_2[ 5]            =   2.0
>>> <  CarpetRegrid2::radius_2[ 6]            =   1.0
>>> ---
>>>>
>>>> CarpetRegrid2::radius_2[ 1]            = 128.0
>>>> CarpetRegrid2::radius_2[ 2]            =  64.0
>>>> CarpetRegrid2::radius_2[ 3]            =  16.0
>>>> CarpetRegrid2::radius_2[ 4]            =   8.0
>>>> CarpetRegrid2::radius_2[ 5]            =   4.0
>>>> CarpetRegrid2::radius_2[ 6]            =   2.0
>>>> CarpetRegrid2::radius_2[ 7]            =   1.0
>>>
>>> 190c192
>>> <  CarpetRegrid2::num_levels_3            =  7
>>> ---
>>>>
>>>> CarpetRegrid2::num_levels_3            =  8
>>>
>>> 192,197c194,200
>>> <  CarpetRegrid2::radius_3[ 1]            =  64.0
>>> <  CarpetRegrid2::radius_3[ 2]            =  16.0
>>> <  CarpetRegrid2::radius_3[ 3]            =   8.0
>>> <  CarpetRegrid2::radius_3[ 4]            =   4.0
>>> <  CarpetRegrid2::radius_3[ 5]            =   2.0
>>> <  CarpetRegrid2::radius_3[ 6]            =   1.0
>>> ---
>>>>
>>>> CarpetRegrid2::radius_3[ 1]            = 128.0
>>>> CarpetRegrid2::radius_3[ 2]            =  64.0
>>>> CarpetRegrid2::radius_3[ 3]            =  16.0
>>>> CarpetRegrid2::radius_3[ 4]            =   8.0
>>>> CarpetRegrid2::radius_3[ 5]            =   4.0
>>>> CarpetRegrid2::radius_3[ 6]            =   2.0
>>>> CarpetRegrid2::radius_3[ 7]            =   1.0
>>>
>>> 206c209
>>> <  Carpet::time_refinement_factors        =
>>> "[1,1,2,4,8,16,32,64,128,256]"
>>> ---
>>>>
>>>> Carpet::time_refinement_factors        =
>>>> "[1,1,1,2,4,8,16,32,64,128,256]"
>>>
>>> ----------------------------------------------------------------
>>>
>>> --
>>> -----------------------------------------------
>>> Bernard J. Kelly
>>>
>>> NASA Goddard Space Flight Center, Code 663
>>> 8800 Greenbelt Road
>>> Greenbelt, MD 20771, U.S.A.
>>>
>>> phone: +1 (301) 286-7243
>>> -----------------------------------------------
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at einsteintoolkit.org
>>> http://lists.einsteintoolkit.org/mailman/listinfo/users
>>>
>>>
>>
>>
>
>
> --
> -----------------------------------------------
> Bernard J. Kelly
>
> NASA Goddard Space Flight Center, Code 663
> 8800 Greenbelt Road
> Greenbelt, MD 20771, U.S.A.
>
> phone: +1 (301) 286-7243
> -----------------------------------------------
>
>



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


More information about the Users mailing list