[Carpet] refinement in space only

Yosef Zlochower yosef at phys.utb.edu
Thu Jul 27 21:46:38 CEST 2006


Erik Schnetter wrote:
> On Jul 27, 2006, at 12:52:44, Yosef Zlochower wrote:
> 
>> Hi,
>>
>>    I am trying to use carpet to refine in space only. I used
>> the parameters
>>
>>   time::dtfac                             = 0.03125
>> Carpet::prolongation_order_space   = 5
>> Carpet::prolongation_order_time    = 0
>> Carpet::max_refinement_levels      = 5 #5
>> Carpet::time_refinement_factors = "[1,1,1,1,1]"
>> Carpet::num_integrator_substeps = 3
>> Carpet::use_outer_buffer_zones = "yes"
>> CarpetRegrid::refinement_levels    = 5 #5
>> CarpetRegrid::regrid_every         = 0
>> CarpetRegrid::refined_regions = "centre"
>>
>> Is this correct?
> 
> 
> I see nothing obviously wrong with this.  Note that the CFL factor on  
> the finest grid is 0.03125 * 2^(5-1) = 0.5; this may be too large  
> depending on your setup.
> 
>> If not, what parameters should I set so that carpet
>> refines in space only. I evolved my code with these parameters and it
>> developed nans near the boundary of the finest level (both with and
>> without Kreiss Oliger dissipation).
> 
> 
> Try to find out what goes wrong before there are nans.  Are things  set 
> to zero instead of reasonable numbers?  Are there  discontinuities?  
> High frequency noise?  You can run with a wave  equation and compare to 
> the exact solution or a unigrid run to  debug.  I also find that 
> two-level setups are much easier to debug  than five-level setups.
> 

The problem seems to be that the finest level and next finest have two 
different smooth behaviors near the bdry. The end result is a kink, 
which then blows up. I'll examine this more closely with two levels.

>> The reason why I
>> wanted to refine in space only, was to that I wanted to calculate psi4
>> and then decompose in l,m modes (and I wanted all these decompositions
>> to be on the same time level). However, I found that carpet replaces
>> all boundary and buffer points with zeros. What parameters should I
>> set so that Carpet will interpolate the data from the coarse grids
>> onto the finner grids for this type of analysis level gridfunction?
> 
> 
> The way Carpet treats refinement boundaries depends on the number of  
> time levels that a grid function has.  The rules for this are a bit  
> arcane for backward compatibility.  I suggest that you set the group  
> tag "Prolongation" to what you desire, as in
> 
> CCTK_REAL X type=GF TAGS='Prolongation="Lagrange"'
> 
> and ensure that this grid function has permanent storage.
> 
Ok, I didn't realize that the GF needed permanent storage.

> -erik


In the above setup, do I need to set the number of timelevels to more 
than 1 if I am using no refinement in time?




More information about the developers mailing list