# Parameter definitions for thorn CarpetRegrid # $Header: /home/eschnett/C/carpet/Carpet/Carpet/CarpetRegrid/param.ccl,v 1.11 2003/11/13 16:04:37 schnetter Exp $ CCTK_INT refinement_levels "Number of refinement levels (including the base level)" STEERABLE=always { 1:* :: "must be positive, and must not be larger than Carper::max_refinement_levels" } 1 CCTK_INT regrid_every "Regrid every n time steps" STEERABLE=always { -1 :: "regrid never" 0 :: "regrid during initial data calculation only" 1:* :: "regrid every n time steps" } 0 CCTK_INT activate_newlevels_on_regrid "When regridding, activate this many new levels (if possible)" # Note that this feature will STEER the parameter refinement_levels!!! # It does this by adding activate_newlevels_on_regrid to refinement levels { : :: "Number of new levels to activate. Negative numbers mean to de-activate" } 0 BOOLEAN outside_boundary_points[3] "On finer grids, where the upper grid boundary is adjacent to the outer boundary, put points outside the outer boundary (needed e.g. for periodicity)" { } "no" KEYWORD refined_regions "Regions where the grid is refined" STEERABLE=always { "none" :: "Don't refine" "centre" :: "Refine around the centre of the grid only" "manual-gridpoints" :: "Refine the regions specified by integer grid points l[123]i[xyz]{min,max}" "manual-coordinates" :: "Refine the regions specified by coordinates l[123][xyz]{min,max}" "manual-gridpoint-list" :: "Refine the regions specified by integer grid points in the parameter 'gridpoints'" "manual-coordinate-list" :: "Refine the regions specified by coordinates in the parameter 'coordinates'" "automatic" :: "Refine automatically" } "centre" # Region specifications for manual gridpoint refinement CCTK_INT l1ixmin "Lower boundary of level 1 box in x-direction" STEERABLE=always { : :: "" } 0 CCTK_INT l1iymin "Lower boundary of level 1 box in y-direction" STEERABLE=always { : :: "" } 0 CCTK_INT l1izmin "Lower boundary of level 1 box in z-direction" STEERABLE=always { : :: "" } 0 CCTK_INT l1ixmax "Upper boundary of level 1 box in x-direction" STEERABLE=always { : :: "" } -1 CCTK_INT l1iymax "Upper boundary of level 1 box in y-direction" STEERABLE=always { : :: "" } -1 CCTK_INT l1izmax "Upper boundary of level 1 box in z-direction" STEERABLE=always { : :: "" } -1 CCTK_INT l2ixmin "Lower boundary of level 2 box in x-direction" STEERABLE=always { : :: "" } 0 CCTK_INT l2iymin "Lower boundary of level 2 box in y-direction" STEERABLE=always { : :: "" } 0 CCTK_INT l2izmin "Lower boundary of level 2 box in z-direction" STEERABLE=always { : :: "" } 0 CCTK_INT l2ixmax "Upper boundary of level 2 box in x-direction" STEERABLE=always { : :: "" } -1 CCTK_INT l2iymax "Upper boundary of level 2 box in y-direction" STEERABLE=always { : :: "" } -1 CCTK_INT l2izmax "Upper boundary of level 2 box in z-direction" STEERABLE=always { : :: "" } -1 CCTK_INT l3ixmin "Lower boundary of level 3 box in x-direction" STEERABLE=always { : :: "" } 0 CCTK_INT l3iymin "Lower boundary of level 3 box in y-direction" STEERABLE=always { : :: "" } 0 CCTK_INT l3izmin "Lower boundary of level 3 box in z-direction" STEERABLE=always { : :: "" } 0 CCTK_INT l3ixmax "Upper boundary of level 3 box in x-direction" STEERABLE=always { : :: "" } -1 CCTK_INT l3iymax "Upper boundary of level 3 box in y-direction" STEERABLE=always { : :: "" } -1 CCTK_INT l3izmax "Upper boundary of level 3 box in z-direction" STEERABLE=always { : :: "" } -1 # Region specifications for manual coordinate refinement CCTK_REAL l1xmin "Lower boundary of level 1 box in x-direction" STEERABLE=always { : :: "" } 0 CCTK_REAL l1ymin "Lower boundary of level 1 box in y-direction" STEERABLE=always { : :: "" } 0 CCTK_REAL l1zmin "Lower boundary of level 1 box in z-direction" STEERABLE=always { : :: "" } 0 CCTK_REAL l1xmax "Upper boundary of level 1 box in x-direction" STEERABLE=always { : :: "" } -1 CCTK_REAL l1ymax "Upper boundary of level 1 box in y-direction" STEERABLE=always { : :: "" } -1 CCTK_REAL l1zmax "Upper boundary of level 1 box in z-direction" STEERABLE=always { : :: "" } -1 CCTK_REAL l2xmin "Lower boundary of level 2 box in x-direction" STEERABLE=always { : :: "" } 0 CCTK_REAL l2ymin "Lower boundary of level 2 box in y-direction" STEERABLE=always { : :: "" } 0 CCTK_REAL l2zmin "Lower boundary of level 2 box in z-direction" STEERABLE=always { : :: "" } 0 CCTK_REAL l2xmax "Upper boundary of level 2 box in x-direction" STEERABLE=always { : :: "" } -1 CCTK_REAL l2ymax "Upper boundary of level 2 box in y-direction" STEERABLE=always { : :: "" } -1 CCTK_REAL l2zmax "Upper boundary of level 2 box in z-direction" STEERABLE=always { : :: "" } -1 CCTK_REAL l3xmin "Lower boundary of level 3 box in x-direction" STEERABLE=always { : :: "" } 0 CCTK_REAL l3ymin "Lower boundary of level 3 box in y-direction" STEERABLE=always { : :: "" } 0 CCTK_REAL l3zmin "Lower boundary of level 3 box in z-direction" STEERABLE=always { : :: "" } 0 CCTK_REAL l3xmax "Upper boundary of level 3 box in x-direction" STEERABLE=always { : :: "" } -1 CCTK_REAL l3ymax "Upper boundary of level 3 box in y-direction" STEERABLE=always { : :: "" } -1 CCTK_REAL l3zmax "Upper boundary of level 3 box in z-direction" STEERABLE=always { : :: "" } -1 # Refinement criteria for manual-gridpoint-list CCTK_STRING gridpoints "List of bounding box gridpoints" STEERABLE=always { "^$" :: "leave empty for no refinement" ".*" :: "[ [ ([,,]:[,,]:[,,]), ... ], ... ]" } "" # Refinement criteria for manual-coordinate-list CCTK_STRING coordinates "List of bounding box coordinates" STEERABLE=always { "^$" :: "leave empty for no refinement" ".*" :: "[ [ ([,,]:[,,]:[,,]), ... ], ... ]" } "" # Outer boundaries for manual-gridpoint-list and manual-coordinate-list CCTK_STRING outerbounds "Outer boundaries" { "^$" :: "leave empty for no outer boundaries" ".*" :: "[ [ [[?,?],[?,?],[?,?]], ... ], ...]" } "" # Refinement criteria for automatic refining CCTK_INT minwidth "Minimum width of refined region" STEERABLE=always { 1:* :: "must be positive" } 8 CCTK_REAL minfraction "Minimum fraction of points in need of refinement in a refined region" STEERABLE=always { 0:1 :: "must be positive and less than one" } 0.75 CCTK_REAL maxerror "Maximum allowed error for non-refined grid points" STEERABLE=always { *:* :: "everything goes" } 1.0 CCTK_STRING errorvar "Name of grid function that contains the error" STEERABLE=always { ".*" :: "must be the name of a grid function" } ""