aboutsummaryrefslogtreecommitdiff
path: root/param.ccl
diff options
context:
space:
mode:
authorjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-05-13 14:15:01 +0000
committerjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-05-13 14:15:01 +0000
commit56c143d35416ed3ff9cb0d7d3e0f379483499479 (patch)
tree625c81b7d3890958a039216e92d1832df58f5b7c /param.ccl
parente4e46a64b58ac6d9830eb738e4307128dc1e18b3 (diff)
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
Diffstat (limited to 'param.ccl')
-rw-r--r--param.ccl83
1 files changed, 58 insertions, 25 deletions
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"
################################################################################