[Users] 2D configuration with Carpet
Miguel Zilhão
miguel.zilhao.nogueira at tecnico.ulisboa.pt
Wed Feb 14 23:08:24 CST 2018
hi Erik,
i've attached a simple parameter file that shows the problem. if i comment out the line
Carpet::prolongation_order_space = 5
it seems to go through.
thanks,
Miguel
On 15/02/18 13:07, Erik Schnetter wrote:
> Miguel
>
> Yes, Carpet prolongates with the same order in each direction. However, in your case, prolongation
> in the z direction is exact and does not require any ghost zones, since nothing needs to happen in
> the z direction. Carpet should handle this correctly. Can you post a complete, simplified parameter
> file to reproduce the problem?
>
> -erik
>
>
> On Wed, Feb 14, 2018 at 10:36 PM, Miguel Zilhão <miguel.zilhao.nogueira at tecnico.ulisboa.pt
> <mailto:miguel.zilhao.nogueira at tecnico.ulisboa.pt>> wrote:
>
> hi all,
>
> many thanks for the parameter file, Steve. it works, but as soon as i set
> Carpet::prolongation_order_space = 5, i get inconsistent grid structure type of errors:
>
> WARNING level 1 from host meurglysIII process 1
> while executing schedule bin (none), routine (no thorn)::(no routine)
> in thorn CarpetLib, file
> /home/mzilhao/dev/ET/Cactus/arrangements/Carpet/CarpetLib/src/dh.cc:161:
> ->
> /home/mzilhao/dev/ET/Cactus/arrangements/Carpet/CarpetLib/src/dh.cc:813:
> [ml=0 rl=1 c=1] The following grid structure consistency check failed:
> Refinement prolongation: Send region must be contained in exterior
> send <= obox.exterior
>
> WARNING level 0 from host meurglysIII process 0
> while executing schedule bin (none), routine (no thorn)::(no routine)
> in thorn CarpetLib, file
> /home/mzilhao/dev/ET/Cactus/arrangements/Carpet/CarpetLib/src/dh.cc:2118:
> -> The grid structure is inconsistent. It is impossible to continue.
> cactus_Lean_ET_master: /home/mzilhao/dev/ET/Cactus/arrangements/Carpet/Carpet/src/helpers.cc:275:
> int Carpet::Abort(const cGH*, int): Assertion `0' failed.
>
> so i guess it's as Ian said, that Carpet tries to prolongate with the same order in every direction?
> i find that in order for this to work i either have to decrease the prolongation to order 1, or put
> the boundary along the z direction back to a non-zero value. but i guess in this latter case i no
> longer have a truly 2D configuration, right?
>
> thanks,
> Miguel
>
> On 15/02/18 03:00, Steven R. Brandt wrote:
> > I have a parameter file which I have used fairly recently that does this. A very short
> running test
> > case is attached.
> >
> > --Steve
> >
> >
> > On 02/14/2018 09:21 AM, Miguel Zilhão wrote:
> >> hi Ian,
> >>
> >> many thanks for the parameter file. this allowed me to go a little further (i was missing
> >> CoordBase::boundary_shiftout_z_lower = 1 and CoordBase::boundary_shiftout_z_upper = 1).
> >> however, i'm still getting the following error:
> >>
> >> ERROR from host meurglysIII process 0
> >> while executing schedule bin (none), routine (no thorn)::(no routine)
> >> in thorn Carpet, file ./Cactus/arrangements/Carpet/Carpet/src/SetupGH.cc:2512:
> >> -> There are not enough ghost zones for the desired spatial prolongation order on map 0,
> >> refinement level 0. With a spatial prolongation order of 5, you need at least 3 ghost zones.
> >>
> >> i'm setting:
> >>
> >> Carpet::prolongation_order_space = 5
> >> Carpet::prolongation_order_time = 2
> >>
> >> driver::ghost_size_x = 3
> >> driver::ghost_size_y = 3
> >> driver::ghost_size_z = 0
> >>
> >> i'm guessing that in the example you provided things worked because you only had one grid?
> is there
> >> any way of doing this with more inner levels?
> >>
> >> thanks,
> >> Miguel
> >>
> >> On 14/02/18 22:25, ian.hinder at aei.mpg.de <mailto:ian.hinder at aei.mpg.de> wrote:
> >>>
> >>>> On 13 Feb 2018, at 06:19, Miguel Zilhão <miguel.zilhao.nogueira at tecnico.ulisboa.pt
> <mailto:miguel.zilhao.nogueira at tecnico.ulisboa.pt>
> >>>> <mailto:miguel.zilhao.nogueira at tecnico.ulisboa.pt
> <mailto:miguel.zilhao.nogueira at tecnico.ulisboa.pt>>> wrote:
> >>>>
> >>>> 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 <http://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?
> >>> Hi Miguel,
> >>>
> >>> There is an example parameter file in Kranc, for a true 2D Laplace equation (i.e. it
> doesn't take
> >>> derivatives in the z direction):
> >>>
> >>> https://github.com/ianhinder/Kranc/blob/master/Examples/laplace.par
> <https://github.com/ianhinder/Kranc/blob/master/Examples/laplace.par>
> >>>
> >>> I have not tried this recently, but it worked at one point.
> >>>
> >>> --
> >>> Ian Hinder
> >>> http://members.aei.mpg.de/ianhin <http://members.aei.mpg.de/ianhin>
> >>>
> >> _______________________________________________
> >> 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>
> >
> >
> >
> > _______________________________________________
> > 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>
> >
> _______________________________________________
> 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/
>
-------------- next part --------------
#------------------------------------------------------------------------------
ActiveThorns = "
ADMBase
ADMCoupling
ADMMacros
AEILocalInterp
Boundary
Carpet
CarpetInterp
CarpetIOASCII
CarpetIOBasic
CarpetIOHDF5
CarpetIOScalar
CarpetLib
CarpetReduce
CarpetRegrid2
CarpetSlab
CartGrid3D
CoordBase
CoordGauge
Fortran
GenericFD
GSL
HDF5
InitBase
IOUtil
LocalInterp
LoopControl
MoL
ReflectionSymmetry
# RotatingSymmetry90
# RotatingSymmetry180
Slab
StaticConformal
SymBase
SystemStatistics
Time
TimerReport
TmunuBase
"
#------------------------------------------------------------------------------
# Grid setup
#------------------------------------------------------------------------------
CartGrid3D::type = "coordbase"
Carpet::domain_from_coordbase = yes
CoordBase::domainsize = "minmax"
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 = 3
CoordBase::boundary_size_x_lower = 3
CoordBase::boundary_size_y_lower = 3
CoordBase::boundary_size_z_lower = 0
CoordBase::boundary_size_x_upper = 3
CoordBase::boundary_size_y_upper = 3
CoordBase::boundary_size_z_upper = 0
CoordBase::boundary_shiftout_x_lower = 0
CoordBase::boundary_shiftout_y_lower = 0
CoordBase::boundary_shiftout_z_lower = 1
CoordBase::boundary_shiftout_x_upper = 0
CoordBase::boundary_shiftout_y_upper = 0
CoordBase::boundary_shiftout_z_upper = 1
CarpetRegrid2::symmetry_rotating180 = no
ReflectionSymmetry::reflection_x = no
ReflectionSymmetry::reflection_y = no
ReflectionSymmetry::reflection_z = no
ReflectionSymmetry::avoid_origin_x = yes
ReflectionSymmetry::avoid_origin_y = yes
# ReflectionSymmetry::avoid_origin_z = yes
# Mesh refinement
#------------------------------------------------------------------------------
Carpet::max_refinement_levels = 6
CarpetRegrid2::num_centres = 3
CarpetRegrid2::num_levels_1 = 6
CarpetRegrid2::position_x_1 = +1.0
CarpetRegrid2::radius_1[1] = 24.0
CarpetRegrid2::radius_1[2] = 12.0
CarpetRegrid2::radius_1[3] = 6.0
CarpetRegrid2::radius_1[4] = 3.0
CarpetRegrid2::radius_1[5] = 1.5
# CarpetRegrid2::radius_1[6] = 0.75
CarpetRegrid2::num_levels_2 = 6
CarpetRegrid2::position_x_2 = -1.0
CarpetRegrid2::radius_2[1] = 24.0
CarpetRegrid2::radius_2[2] = 12.0
CarpetRegrid2::radius_2[3] = 6.0
CarpetRegrid2::radius_2[4] = 3.0
CarpetRegrid2::radius_2[5] = 1.5
# CarpetRegrid2::radius_2[6] = 0.75
CarpetRegrid2::num_levels_3 = 6
CarpetRegrid2::active_3 = no
CarpetRegrid2::radius_3[1] = 24.0
CarpetRegrid2::radius_3[2] = 12.0
CarpetRegrid2::radius_3[3] = 6.0
CarpetRegrid2::radius_3[4] = 3.0
CarpetRegrid2::radius_3[5] = 1.5
# CarpetRegrid2::radius_3[6] = 0.75
Carpet::use_buffer_zones = yes
Carpet::prolongation_order_space = 5
Carpet::prolongation_order_time = 2
CarpetRegrid2::freeze_unaligned_levels = yes
CarpetRegrid2::regrid_every = 0
CarpetRegrid2::verbose = no
Carpet::grid_structure_filename = "carpet-grid-structure"
Carpet::grid_coordinates_filename = "carpet-grid-coordinates"
Time::dtfac = 0.4
# Initial Data
#------------------------------------------------------------------------------
ADMBase::initial_data = "Cartesian Minkowski"
ADMBase::lapse_timelevels = 3
ADMBase::shift_timelevels = 3
ADMBase::metric_timelevels = 3
InitBase::initial_data_setup_method = "init_some_levels"
Carpet::init_fill_timelevels = yes
Carpet::init_3_timelevels = no
# Evolution
#------------------------------------------------------------------------------
ADMBase::evolution_method = "static"
# I/O thorns
#-------------------------------------------------------------------------------
Cactus::cctk_run_title = $parfile
IO::out_dir = $parfile
IOBasic::outInfo_reductions = "minimum maximum"
IOBasic::outInfo_vars = "
Carpet::physical_time_per_hour
ADMBase::lapse
"
# Run termination
#-------------------------------------------------------------------------------
Cactus::terminate = "iteration"
Cactus::cctk_itlast = 1
More information about the Users
mailing list