aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-01-30 14:34:09 +0000
committerjthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5>2003-01-30 14:34:09 +0000
commit0ae05c01ea24aab5e0f1412a3574997fd297a143 (patch)
tree781a1694bc227d78368ad460124701e5f428565a
parent989b9060c8a61612e6bc6a8a58785d23f96daa17 (diff)
lower the default resolution from 18 back down to 12
(18 was more than needed for most runs), also add more comments on performance vs resolution git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@940 f88db872-0e4f-0410-b76b-b9085cfa78c5
-rw-r--r--param.ccl20
1 files changed, 12 insertions, 8 deletions
diff --git a/param.ccl b/param.ccl
index d908172..f5ce1e5 100644
--- a/param.ccl
+++ b/param.ccl
@@ -133,8 +133,10 @@ keyword Jacobian_compute_method "how do we compute the Jacobian matrix?"
keyword Jacobian_store_solve_method \
"how do we store/linear-solve the Jacobian matrix?"
{
+# good for debugging, but very slow for large N_zones_per_right_angle
"dense matrix/LAPACK" :: \
"store as (Fortran) dense matrix, solve with LAPACK routines"
+# use this for normal runs
"row-oriented sparse matrix/ILUCG" :: \
"store as sparse matrix (row-oriented storage format), \
solve with ILUCG (incomplete LU decomposition - conjugate gradient) method"
@@ -456,8 +458,9 @@ keyword patch_system_type[5] "what type of patch system should we use?"
# for better performance, without seriously affecting the accuracy
# with which we can locate the horizon.
#
-# For any patch system type other than "full sphere", there are patches
-# with 45 degree widths, so this parameter must be even.
+# *** IMPORTANT
+# *** For any patch system type other than "full sphere", there are
+# *** patches with 45 degree widths, so this parameter must be even.
#
# Normally we use Simpson's rule (in a variant which doesn't require the
# number of zones to be even) for angular integrations over the patch
@@ -467,16 +470,17 @@ keyword patch_system_type[5] "what type of patch system should we use?"
# N_zones_per_right_angle = 3 or 5 for a full sphere patch system,
# or N_zones_per_right_angle = 6 or 10 for any other patch system type.
#
-# If you are thinking of setting this to a large value (high resolution),
-# note also that with the current dense-matrix storage of the Jacobian,
-# the memory/running time of the LAPACK linear system solve scales as
-# 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!
+# For large values of this parameter, this thorn takes CPU time which
+# scales roughly as the ...
+# ... 6th power of this parameter
+# if Jacobian_store_solve_method = "dense matrix/LAPACK"
+# ... 3rd power of this parameter
+# if Jacobian_store_solve_method = "row-oriented sparse matrix/ILUCG"
#
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"
-} 18
+} 12
#
# This parameter sets the width of the interpatch ghost zones in the