[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