[Carpet] gf contamination

Erik Schnetter schnetter at cct.lsu.edu
Fri Aug 4 02:11:02 CEST 2006


On Aug 3, 2006, at 19:30:20, Yosef Zlochower wrote:

> Hi,
>
>    I am having some difficulty when evolving my code with carpet.   
> I am
> attempting to evolve my code with prolongation in space only.  To
> better understand the problem I set up my code so that the RHS were
> all filled with 1.0e4 prior to calculating them.

Carpet has a feature called "poisoning".  Carpet can fill all  
uninitialised grid variables with a poison value (e.g. nan).  This  
detects uninitialised values quite effectively.

> My code then fills in
> the RHS for all points on the grid except those on the three
> gridplanes closest to the boundary (i.e. for (i=3; i<cctk_lsh[0]-3;
> i++) etc ). In MoL_PostStep I first synchronize all the evolved fields
> (but not the RHS)

Correct; in MoL_PostStep, the RHS has already been used and will be  
ignored.

> and then alter the values of \tilde g_{ij} and
> \tilde A_{ij} so that the algebraic constraints are enforced.

Are you sure that this is the order in which you are doing things?   
Can you show us the relevant part of your schedule.ccl?

> I am
> working on a problem where gxy = 0. However, I found that after 1
> timestep the value of gxy 1 point in from the buffer zones

If you do not use time interpolation then you do not need buffer  
zones.  To simplify things, try switching them off completely.

> is
> non-zero, and grows when I increase the initial value of the RHS to
> 1.0e5. So it looks like some junk from the buffer zones has leaked
> into the evolved fields.

I think you mean ghost zones.  The ghost zones are the outermost 3  
grid points, which are filled through interpolation.

> Here is the relevant segment of my parfile please note that my code
> only needs 3 ghostzones but I choose 4. I also set
> num_integrator_substeps = 4 even though 3 would be sufficient.

This is also only needed for buffer zones.  Without buffer zones this  
parameter is irrelevant.

> (setting it back to 3 does not remove the problem)

>
>
> driver::ghost_size = 4
> mol::ode_method                        = "RK3"
> driver::global_nx                       = 81 #51 #227 #259
> driver::global_ny                       = 81 #51 #227 #259
> driver::global_nz                       = 81 #51 #116 #132
> grid::dxyz                              = .25
> grid::domain                            = "full"
>
> time::dtfac                             = 0.125
> #Carpet::prolongation_order_space   = 7
> Carpet::prolongation_order_space   = 1
> Carpet::prolongation_order_time    = 0
> Carpet::max_refinement_levels      = 3 #5
> #Carpet::buffer_width               = 0
> Carpet::time_refinement_factors = "[1,1,1]"
> Carpet::num_integrator_substeps = 4
> Carpet::use_outer_buffer_zones = "yes"
> #Carpet::init_each_timelevel = "yes"
>
> CarpetRegrid::refinement_levels    = 3 #5
> CarpetRegrid::regrid_every         = 0
> CarpetRegrid::refined_regions = "centre"
>
> Is there something obviously wrong in the parfile?

Only the fact that you use buffer zones although you do not need  
them.  Maybe there is a problem, since you also use uncommon temporal  
and spatial interpolation orders.

> I examined gxy on the y axis and found that after the first time step
> gxy on level 0 is zero except at y=+-5 and +-2.5 On level 1 gxy has
> the same behavior but is also non-zero at the points directly above
> and below +-5. On the finest level gxy is non-zero on +-2.5 and +-
> 2.4375.

-erik

-- 
Erik Schnetter <schnetter at cct.lsu.edu>

My email is as private as my paper mail.  I therefore support encrypting
and signing email messages.  Get my PGP key from www.keyserver.net.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
Url : /archives/developers/attachments/20060803/969ccead/attachment.pgp 


More information about the developers mailing list