diff options
author | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2003-01-22 12:27:46 +0000 |
---|---|---|
committer | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2003-01-22 12:27:46 +0000 |
commit | 8b0a74a327fbecb12f3d32ecff1fa28a6a6c2a15 (patch) | |
tree | 434af140b12333ff085ea5c5983d46387cbe6267 /param.ccl | |
parent | 82e2251230c9dc90d1b4650bafc85e75bad61ad7 (diff) |
* add support for sparse-matrix Jacobians ==> works!
* change default in param.ccl to use this
* change default in src/include/config.h to default to no longer
link in LAPACK routines
* update documentation
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@931 f88db872-0e4f-0410-b76b-b9085cfa78c5
Diffstat (limited to 'param.ccl')
-rw-r--r-- | param.ccl | 81 |
1 files changed, 43 insertions, 38 deletions
@@ -108,7 +108,7 @@ boolean print_timing_stats \ # ***** parameters for the Jacobian matrix ***** # -keyword Jacobian_method "how do we compute the Jacobian matrix?" +keyword Jacobian_compute_method "how do we compute the Jacobian matrix?" { # for debugging only" "numerical perturbation" :: "n.b. this is *very* slow" @@ -123,17 +123,22 @@ keyword Jacobian_method "how do we compute the Jacobian matrix?" } "symbolic differentiation with finite diff d/dr" # -# This parameter lists all known storage methods. See +# This parameter lists all known methods for storing the Jacobian and +# solving linear systems with the Jacobian as the LHS matrix. See # "src/include/config.hh" for which of these are actually compiled in at # the moment. N.b. each compiled-in method requires linking with the # corresponding linear-solver library; see "src/make.configuration.defn" # for details on these libraries. # -keyword Jacobian_storage_method "how do we store the Jacobian matrix?" +keyword Jacobian_store_solve_method \ + "how do we store/linear-solve the Jacobian matrix?" { -"dense matrix" :: "dense matrix (inefficient at high angular resolution)" -"row-oriented sparse matrix" :: "sparse matrix, row-oriented storage format" -} "dense matrix" +"dense matrix/LAPACK" :: \ + "store as (Fortran) dense matrix, solve with LAPACK routines" +"row-oriented sparse matrix/ILUCG" :: \ + "store as sparse matrix (row-oriented storage format), \ + solve with ILUCG (incomplete LU decomposition - conjugate gradient) method" +} "row-oriented sparse matrix/ILUCG" # # This parameter controls two different sorts of one-sided finite @@ -156,7 +161,7 @@ real Jacobian_perturbation_amplitude \ # if AHFinderDirect::method = "test Jacobian", should we test all # known methods for computing the Jacobian, or just the numerical perturbation # method (the latter may be useful of some other methods are broken) -boolean test_all_Jacobian_methods \ +boolean test_all_Jacobian_compute_methods \ "should we test all Jacobian computation methods, or just NP?" { } "true" @@ -441,35 +446,7 @@ keyword patch_system_type[5] "what type of patch system should we use?" } "match Cactus grid symmetry" # -# This parameter sets the width of the interpatch ghost zones in the -# patch system. Note that this thorn uses the terminology "ghost zone" -# for any of what Cactus in general now calls a "boundary zone" or a -# "symmetry zone" or a "patch zone". -# -# This parameter must be at least -# ... 2 if FINITE_DIFF_ORDER is set to 4 in "src/include/config.hh" -# ... 1 if FINITE_DIFF_ORDER is set to 2 in "src/include/config.hh" -# The code checks for this being too small, and reports a fatal error if so. -# -int ghost_zone_width "number of ghost zones on each side of a patch" -{ -0:* :: "any integer >= 0" -} 2 - -# -# Our code that computes surface integrals over patches (used for -# computing BH diagnostics like centroids, areas, masses, etc) silently -# assumes that this parameter is == 1, so you should probably leave -# it at that setting. -# -int patch_overlap_width \ - "number of grid points that nominally-just-touching patches should overlap" -{ -1:*:2 :: "any integer >= 0; current implementation requires that it be odd" -} 1 - -# -# This parameter sets the angular resolution of all the patch systems: +# This parameter sets the angular resolution of each patch systems: # the angular grid spacing in degrees is 90.0/N_zones_per_right_angle. # # In practice the error in the horizon position is usually dominated @@ -496,10 +473,38 @@ int patch_overlap_width \ # the 4th/6th power of this parameter! For example, doubling the resolution # takes 16 times as much memory, and 64 times as long to run! # -int N_zones_per_right_angle "sets angular resolution of patch systems" +int N_zones_per_right_angle[5] "sets angular resolution of patch systems" { 1:* :: "any integer >= 1; must be even for patch systems other than full-sphere" -} 12 +} 18 + +# +# This parameter sets the width of the interpatch ghost zones in the +# patch system. Note that this thorn uses the terminology "ghost zone" +# for any of what Cactus in general now calls a "boundary zone" or a +# "symmetry zone" or a "patch zone". +# +# This parameter must be at least +# ... 2 if FINITE_DIFF_ORDER is set to 4 in "src/include/config.hh" +# ... 1 if FINITE_DIFF_ORDER is set to 2 in "src/include/config.hh" +# The code checks for this being too small, and reports a fatal error if so. +# +int ghost_zone_width "number of ghost zones on each side of a patch" +{ +0:* :: "any integer >= 0" +} 2 + +# +# Our code that computes surface integrals over patches (used for +# computing BH diagnostics like centroids, areas, masses, etc) silently +# assumes that this parameter is == 1, so you should probably leave +# it at that setting. +# +int patch_overlap_width \ + "number of grid points that nominally-just-touching patches should overlap" +{ +1:*:2 :: "any integer >= 0; current implementation requires that it be odd" +} 1 ################################################################################ |