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.nogue...@tecnico.ulisboa.pt <mailto:miguel.zilhao.nogue...@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.hin...@aei.mpg.de <mailto:ian.hin...@aei.mpg.de> 
wrote:
     >>>
     >>>> On 13 Feb 2018, at 06:19, Miguel Zilhão 
<miguel.zilhao.nogue...@tecnico.ulisboa.pt
    <mailto:miguel.zilhao.nogue...@tecnico.ulisboa.pt>
     >>>> <mailto:miguel.zilhao.nogue...@tecnico.ulisboa.pt
    <mailto:miguel.zilhao.nogue...@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@einsteintoolkit.org <mailto:Users@einsteintoolkit.org>
     >> http://lists.einsteintoolkit.org/mailman/listinfo/users
    <http://lists.einsteintoolkit.org/mailman/listinfo/users>
     >
     >
     >
     > _______________________________________________
     > Users mailing list
     > Users@einsteintoolkit.org <mailto:Users@einsteintoolkit.org>
     > http://lists.einsteintoolkit.org/mailman/listinfo/users
    <http://lists.einsteintoolkit.org/mailman/listinfo/users>
     >
    _______________________________________________
    Users mailing list
    Users@einsteintoolkit.org <mailto:Users@einsteintoolkit.org>
    http://lists.einsteintoolkit.org/mailman/listinfo/users
    <http://lists.einsteintoolkit.org/mailman/listinfo/users>




--
Erik Schnetter <schnet...@cct.lsu.edu <mailto:schnet...@cct.lsu.edu>>
http://www.perimeterinstitute.ca/personal/eschnetter/

#------------------------------------------------------------------------------
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
_______________________________________________
Users mailing list
Users@einsteintoolkit.org
http://lists.einsteintoolkit.org/mailman/listinfo/users

Reply via email to