diff options
author | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2002-07-27 16:42:16 +0000 |
---|---|---|
committer | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2002-07-27 16:42:16 +0000 |
commit | 5c7d97fc59632442a917256c1cf9ebef6f4f8f51 (patch) | |
tree | aabcd624cbbfe3cb1c22925d9b505ae3f2f6996d /param.ccl | |
parent | eb76f99290948df5871a99c329570df810c16cba (diff) |
merge various changes from working at home
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@665 f88db872-0e4f-0410-b76b-b9085cfa78c5
Diffstat (limited to 'param.ccl')
-rw-r--r-- | param.ccl | 136 |
1 files changed, 109 insertions, 27 deletions
@@ -6,19 +6,59 @@ # # overall parameters for the apparent horizon finding algorithm itself # + keyword method "top-level method used to find the apparent horizon" { "horizon function" :: "evaluate the LHS function H(h)" -"Jacobian test" :: "test the J[H(h)] Jacobian matrix (SD vs NP methods)" +"Jacobian test" :: \ + "compute/print the J[H(h)] Jacobian matrix by all possible methods" "Newton solve" :: "find the horizon via Newton's method" } "horizon function" -keyword Jacobian_type \ - "what type of storage scheme do we use for the Jacobian matrix?" +################################################################################ + +# +# parameters for the Jacobian matrix $J[H(h)]$ +# + +keyword Jacobian_method "how do we compute the Jacobian matrix?" +{ +"numerical perturbation" :: \ + "*very* slow, but useful for debugging" +"symbolic differentiation with finite diff d/dr" :: \ + "fast, tricky programming, uses only gij, dx gij, Kij" +"symbolic differentiation" :: \ + "fast, tricky programming, uses gij, dx gij, dxx gij, Kij, dx Kij" +} "symbolic differentiation with finite diff d/dr" + +keyword Jacobian_storage_method "how do we store the Jacobian matrix?" { "dense matrix" :: "dense matrix (inefficient, but good for debugging)" } "dense matrix" +# +# this is used for two different sorts of one-sided finite differencing: +# - numerical-perturbation Jacobian computations, +# - the finite differencing part of the "symbolic differentiation +# with finite diff d/dr" Jacobian computation +# +# notes on this parameter: +# - don't set it too small or roundoff errors will become large +# - don't set it too large or finite differencing errors will become large +# in practice the default value should be fine +# +real Jacobian_perturbation_amplitude \ + "perturbation amplitude for 1-sided finite differencing for Jacobians" +{ +(0.0:* :: "any real number > 0" +} 1.0e-6 + +################################################################################ + +# +# parameters for the Newton's-method solution of $H(h) = 0$ +# + int max_Newton_iterations "maximum number of Newton iterations before giving up" { (0:* :: "any positive integer" @@ -62,23 +102,6 @@ string Jacobian_file_name "name of the Jacobian output file" ################################################################################ # -# parameters for numerical-perturbation Jacobians -# - -# -# Don't set this too small or roundoff errors will become large. -# Don't set this too large or finite differencing errors will become large. -# In practice the default value should be fine. -# -real NP_Jacobian__perturbation_amplitude \ - "NP Jacobian: numerical-perturbation amplitude" -{ -(0.0:* :: "any real number > 0" -} 1.0e-6 - -################################################################################ - -# # parameters to define the patch system # private: @@ -126,9 +149,59 @@ real delta_drho_dsigma "angular grid spacing of patches, in degrees" ################################################################################ # +# parameters for (optionally) hard-wiring the geometry to +# Schwarzschild spacetime in Eddington-Finkelstein coordinates +# (useful for testing smoothness requirements of interpolation) +# + +boolean hardwire_Schwarzschild_EF \ + "should we hard-wire Schwarzschild/EF geometry, \ + bypassing the usual $g_{ij}$/$K_{ij}$ interpolation from the Cactus grid?" +{ +} "false" + +real hardwire_Schwarzschild_EF__mass "mass of Schwarzschild BH" +{ +(0.0:* :: "BH mass = any real number > 0" +} 1.0 + +real hardwire_Schwarzschild_EF__x_posn "x coordinate of Schwarzschild BH" +{ +*:* :: "any real number" +} 0.0 +real hardwire_Schwarzschild_EF__y_posn "y coordinate of Schwarzschild BH" +{ +*:* :: "any real number" +} 0.0 +real hardwire_Schwarzschild_EF__z_posn "z coordinate of Schwarzschild BH" +{ +*:* :: "any real number" +} 0.0 + +real hardwire_Schwarzschild_EF__epsilon \ + "threshold for sin^2 theta = (x^2+y^2)/r^2 below which we use z axis limits" +{ +(0.0:* :: "this should be a little bit above the floating-point roundoff level" +} 1.0e-12 + +# notes on this parameter: +# - don't set it too small or roundoff errors will become large +# - don't set it too large or finite differencing errors will become large +# in practice the default value should be fine +# n.b. this is used for centered finite differencing, unlike the Jacobian +real hardwire_Schwarzschild_EF__Delta_xyz \ + "finite diff pseuo-grid spacing for computing $\partial_k g_{ij}$" +{ +(0.0:* :: "any real number > 0" +} 1.0e-6 + +################################################################################ + +# # parameters for the interpolator used to interpolate the "geometry" # $g_{ij}$ and $K_{ij}$ to the apparent horizon surface position # + string geometry_interpolator_name \ "name under which the geometry interpolation operator is registered in Cactus" { @@ -198,26 +271,26 @@ real initial_guess__ellipsoid__z_radius "z radius of ellipsoid" (0.0:* :: "any real number > 0.0" } 2.0 -# parameters for initial_guess_method = "Kerr-Schild" -real initial_guess__Kerr_KerrSchild__x_center "x coordinate of Kerr BH" +# parameters for initial_guess_method = "Kerr/Kerr" and "Kerr/Kerr-Schild" +real initial_guess__Kerr__x_posn "x coordinate of Kerr BH" { *:* :: "any real number" } 0.0 -real initial_guess__Kerr_KerrSchild__y_center "y coordinate of Kerr BH" +real initial_guess__Kerr__y_posn "y coordinate of Kerr BH" { *:* :: "any real number" } 0.0 -real initial_guess__Kerr_KerrSchild__z_center "z coordinate of Kerr BH" +real initial_guess__Kerr__z_posn "z coordinate of Kerr BH" { *:* :: "any real number" } 0.0 # n.b. my convention is that a=J/m^2 is dimensionless, # while MTW take a=J/m=m * (my a) -real initial_guess__Kerr_KerrSchild__mass "mass of Kerr BH" +real initial_guess__Kerr__mass "mass of Kerr BH" { (0.0:* :: "BH mass = any real number > 0" } 1.0 -real initial_guess__Kerr_KerrSchild__spin "dimensionless spin J/m^2 of Kerr BH" +real initial_guess__Kerr__spin "dimensionless spin J/m^2 of Kerr BH" { (-1.0:1.0) :: "BH spin = J/m^2 = any real number with absolute value < 1" } 0.6 @@ -227,6 +300,15 @@ real initial_guess__Kerr_KerrSchild__spin "dimensionless spin J/m^2 of Kerr BH" # # parameters for the test driver src/util/test_patch_system.cc # +# By default this test driver isn't compiled into the cactus executable, +# and these parameters are ignored. To compile this test driver into +# the cactus executable (and have these parameters used), +# - edit the list of "source files in this directory" in +# src/util/make.code.defn to add test_patch_system.cc +# - edit the list of "subdirectories containing source files" in +# src/make.code.defn to disable the higher-level directories +# elliptic and gr +# keyword which_test "which test should we do?" { "gridfn" :: "set up test fn(x,y,z), print it" @@ -249,6 +331,6 @@ boolean NP_Jacobian__perturb_all_y_patch_points \ "should we perturb at *all* points in the y patch, or just those with the \ iperp which is (supposedly) involved in the interpatch interpolation?" { -} true; +} "true" ################################################################################ |