aboutsummaryrefslogtreecommitdiff
path: root/param.ccl
diff options
context:
space:
mode:
authorjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-01-22 12:27:46 +0000
committerjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-01-22 12:27:46 +0000
commit8b0a74a327fbecb12f3d32ecff1fa28a6a6c2a15 (patch)
tree434af140b12333ff085ea5c5983d46387cbe6267 /param.ccl
parent82e2251230c9dc90d1b4650bafc85e75bad61ad7 (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.ccl81
1 files changed, 43 insertions, 38 deletions
diff --git a/param.ccl b/param.ccl
index 3abfcd9..d908172 100644
--- a/param.ccl
+++ b/param.ccl
@@ -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
################################################################################