From 56c143d35416ed3ff9cb0d7d3e0f379483499479 Mon Sep 17 00:00:00 2001 From: jthorn Date: Tue, 13 May 2003 14:15:01 +0000 Subject: redo excision mask: * there are now 3 states (inside/buffer/outside) * there is now a "noshrink" option * many other changes too -- see thorn guide for details the new excision support isn't very well tested yet :( :( git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@1056 f88db872-0e4f-0410-b76b-b9085cfa78c5 --- param.ccl | 83 ++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 58 insertions(+), 25 deletions(-) (limited to 'param.ccl') diff --git a/param.ccl b/param.ccl index 8e16bfe..855418d 100644 --- a/param.ccl +++ b/param.ccl @@ -403,37 +403,59 @@ string Jacobian_base_file_name "base file name for Jacobian output file(s)" # ***** based on each apparent horizon shape ***** # -boolean set_horizon_mask \ +boolean set_mask \ "should we set a mask grid function (or functions) for each horizon?" { } "false" # -# If we set a mask, we do so based on a "mask volume" for each horizon, -# defined by -# r(rho,sigma) = mask_radius_multiplier*h(rho,sigma) -# + dx*mask_radius_offset +# If we set a mask, we do so based on partitioning the Cactus grid into +# 3 regions, an "inside", a "buffer", and an "outside" (typically the inside +# region is excised). For a grid point a distance r[i] from horizon i's +# local coordinate origin, with horizon i's radius in this same direction +# (again, measured from its local coordinate origin) being r_horizon[i], +# the regions are defined as follows: +# r[i] <= r_inner[i] for some i ==> inside +# r[i] > r_inner[i] for all i +# and r[i] <= r_outer[i] for some i ==> buffer +# r[i] > r_outer[i] for all i ==> outside # where -# r(rho,sigma) = gives the adjusted-horizon radius -# as a function of angular coordinates about -# the local coordinate origin -# h(rho,sigma) = gives the radius of the apparent horizon -# as a function of angular coordinates about -# the local coordinate origin -# dx = geometric mean of the Cactus x, y, and z grid spacings +# r_inner = mask_radius_multiplier * r_horizon +# + mask_radius_offset * Delta_x +# r_outer = r_innter + mask_buffer_thickness * Delta_x +# and where Delta_x is the Cactus grid spacing (more precisely, +# the geometric mean of the x, y, and z Cactus grid spacings). # -real mask_radius_multiplier[5] \ - "radius multiplier to define the mask volume for this horizon" +real mask_radius_multiplier \ + "radius multiplier to define the 'inside' mask region" { (0:*) :: \ "any positive real number; typically this will be slightly less than 1.0" } 0.8 -real mask_radius_offset[5] \ - "radius offset (in Cactus grid spacings) to define the mask volume \ - for this horizon" +real mask_radius_offset \ + "radius offset (in Cactus grid spacings) to define the 'inside' mask region" { *:* :: "any real number; typically this will be negative" } -5.0 +real mask_buffer_thickness \ + "thickness (in Cactus grid spacings) of the 'buffer' mask region" +{ +*:* :: "any real number; typically this will be positive" +} 5.0 + +# +# If this parameter is set to true, then we prevent the inside & buffer +# regions from ever shrinking, i.e. if a point is ever set to the inside +# value then we leave at that value forever, and if it's ever set to +# the buffer value then we leave at that value or the inside value forever. +# If this parameter is set to false, then we set the inside/buffer/outside +# values independently at each time step, so all three regions can grow +# or shrink depending on the horizon positions/shapes. +# +boolean mask_is_noshrink \ + "should we prevent the inside & buffer regions from ever shrinking?" +{ +} "true" # # This thorn supports two types of mask grid functions: @@ -469,12 +491,17 @@ string old_style_mask_gridfn_name "name of the old-style mask grid function" .+ :: "any valid Cactus grid function name" } "SpaceMask::emask" real old_style_mask_inside_value \ - "set the old-style mask to this value *inside* the mask volume" + "set the old-style mask to this value in the 'inside' region" { *:* :: "any real number" } 0.0 +real old_style_mask_buffer_value \ + "set the old-style mask to this value in the 'buffer' region" +{ +*:* :: "any real number" +} 0.5 real old_style_mask_outside_value \ - "set the old-style mask to this value *outside* the mask volume" + "set the old-style mask to this value in the 'outside' region" { *:* :: "any real number" } 1.0 @@ -491,18 +518,24 @@ string new_style_mask_bitfield_name \ { .+ :: "any valid bit field ('type') name registered with the SpaceMask thorn" } "mask" -string new_style_mask_inside_state_name \ +string new_style_mask_inside_value \ + "set the specified bit field of the new-style mask to this named state \ + at grid points in the 'inside' region" +{ +.+ :: "any state name registered with the SpaceMask thorn" +} "inside" +string new_style_mask_buffer_value \ "set the specified bit field of the new-style mask to this named state \ - at grid points *inside* the mask volume" + at grid points in the 'buffer' region" { .+ :: "any state name registered with the SpaceMask thorn" -} "excised" -string new_style_mask_outside_state_name \ +} "buffer" +string new_style_mask_outside_value \ "set the specified bit field of the new-style mask to this named state \ - at grid points *outside* the mask volume" + at grid points in the 'outside' region" { .+ :: "any state name registered with the SpaceMask thorn" -} "normal" +} "outside" ################################################################################ -- cgit v1.2.3