On Thu, Mar 1, 2012 at 4:14 PM, Bruno Giacomazzo bruno.giacomazzo@jila.colorado.edu wrote:
Hi Roland, thanks for the prompt reply.
On Mar 1, 2012, at 12:46 PM, Roland Haas wrote:
# Parameters of thorn CoordBase (implementing CoordBase)
CoordBase::boundary_shiftout_x_lower = 1
CoordBase::boundary_shiftout_z_lower = 1
CoordBase::boundary_size_x_lower = 3
CoordBase::boundary_size_z_lower = 3
Maybe CoordBase::boundary_size_y_lower = 3 CoordBase::boundary_size_x_upper = 3 CoordBase::boundary_size_y_upper = 3 CoordBase::boundary_size_z_upper = 3 are missing? I certainly use those.
this fixed the problem.
In the past I never used the *_upper and I used the*_ lower only for those directions where I was applying a symmetry condition. I think the *_upper just extends the grid from xmax to xmax+3*dx, while without them the boundary points are included in xmax. I'm not sure what is the effect of having added also y_lower, but the initial data look correct as before.
This parameter specifies to other thorns (including Carpet) how many boundary zones there are, as explained by Ian.
If you don't want the grid to become larger in these directions, you can set these to "inner" boundaries, which means that the boundary zones don't get added to the outside, but rather "relabel" grid points that would otherwise be interior grid points. Both are consistent; the difference in only where the boundary grid points are located with respect to the physical outer boundary. You can also use the shiftout parameters to move the boundary points with a similar effect.
On symmetry boundaries, you need to use "outer" boundaries and a "shiftout" of 1 (for vertex centering), as you already do. But you are free to specify anything on other boundaries.
-erik