[Users] 2D configuration with Carpet

Miguel Zilhão miguel.zilhao.nogueira at tecnico.ulisboa.pt
Mon Feb 12 23:19:04 CST 2018


hi Erik,

thanks for your reply. i've tried to set the parameters as you described, but i'm getting a Carpet 
assertion failure:

cactus_Lean_ET: Cactus/arrangements/Carpet/CarpetLib/src/gh.cc:61: gh::gh(const 
std::vector<vect<int, 3> >&, centering, int, centering, const std::vector<std::vector<bbox<int, 3> > 
 >&, const i2vect&): Assertion `all(box.shape() / box.stride() >= boundary_width[0] + 
boundary_width[1])' failed.

here's how i'm specifying my grid:

CoordBase::xmin                      = -48.00
CoordBase::ymin                      = -48.00
CoordBase::zmin                      =   0.00
CoordBase::xmax                      = +48.00
CoordBase::ymax                      = +48.00
CoordBase::zmax                      =  +0.00
CoordBase::dx                        =   2.00
CoordBase::dy                        =   2.00
CoordBase::dz                        =   2.00

driver::ghost_size_x                 = 3
driver::ghost_size_y                 = 3
driver::ghost_size_z                 = 0

CoordBase::boundary_size_x_lower     = 3
CoordBase::boundary_size_y_lower     = 3
CoordBase::boundary_size_z_lower     = 0
CoordBase::boundary_size_x_upper     = 0
CoordBase::boundary_size_y_upper     = 0
CoordBase::boundary_size_z_upper     = 0

CoordBase::boundary_shiftout_x_lower = 0
CoordBase::boundary_shiftout_y_lower = 0
CoordBase::boundary_shiftout_z_lower = 0

am i missing something?

many thanks,
Miguel

On 13/02/18 12:54, Erik Schnetter wrote:
> Miguel
> 
> Yes, this is possible. The trick is to set up a domain that is still 3D, but which is only 1 grid 
> point wide in the z direction.
> 
> Clearly, this is not possible with cell-centred refinement, as refinement always splits cells into 
> two. However, as vertex-centred refinement is the default, this might not be relevant here.
> 
> I also assume that you have a true 2+1 code that doesn't require any ghost zones in the z direction. 
> You would then explicitly set the number of ghost zones and boundary zones to be 0 in the z direction.
> 
> The "usual" problem I encounter when setting up such a domain is that it's slightly inconvenient to 
> specify the coordinates and grid spacings in the z direction. I prefer to define the domain extent 
> via CoordBase, so I assume you're doing the same.
> 
> Usually, you would specify zmin, zmax, and ncells_z to define the domain. However, if you specify 
> zmin=0, zmax=0, and then set ncells_z=0 (0 cells correspond to 1 point), then Carpet calculates dz = 
> (zmax - zmin) / ncells_z, which is undefined since you divide zero by zero. So instead of specifying 
> zmin, zmax, ncells_z, you have to specify zmin, zmax, and dz. Carpet then calculates ncells_k = 
> (zmax - zmin) / dz, which is fine. In short, setting CoordBase::spacing = "numcells" will fail, and 
> you have to use CoordBase::spacing = "gridspacing" instead.
> 
> That's about it. Of course, it's easy to make off-by-one errors in the parameter file, so looking at 
> 1D ASCII output to see whether the coordinates and domain sizes you specified are correct is important.
> 
> Unfortunately I do not have a sample parameter file.
> 
> -erik
> 
> 
> On Mon, Feb 12, 2018 at 8:14 PM, Miguel Zilhão <miguel.zilhao.nogueira at tecnico.ulisboa.pt 
> <mailto:miguel.zilhao.nogueira at tecnico.ulisboa.pt>> wrote:
> 
>     hi all,
> 
>     i have a 2+1 simulation that i would like to run with the ET, and i would like to use Carpet for the
>     mesh refinement in the spatial (x and y) directions. is this possible? is there an example parameter
>     file that i could have a look at?
> 
>     many thanks,
>     Miguel
>     _______________________________________________
>     Users mailing list
>     Users at einsteintoolkit.org <mailto:Users at einsteintoolkit.org>
>     http://lists.einsteintoolkit.org/mailman/listinfo/users
>     <http://lists.einsteintoolkit.org/mailman/listinfo/users>
> 
> 
> 
> 
> -- 
> Erik Schnetter <schnetter at cct.lsu.edu <mailto:schnetter at cct.lsu.edu>>
> http://www.perimeterinstitute.ca/personal/eschnetter/
> 


More information about the Users mailing list