diff options
author | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2003-06-04 11:52:23 +0000 |
---|---|---|
committer | jthorn <jthorn@f88db872-0e4f-0410-b76b-b9085cfa78c5> | 2003-06-04 11:52:23 +0000 |
commit | 1371bfe1c73325e32ba28125a0ffbbf3bf026749 (patch) | |
tree | 52211f018292e4ea4878a32912cf5be1bfebf399 | |
parent | 7dc88252a8079d648d18790df31f448615f31b9b (diff) |
new parameters for sparse-matrix libraries
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinAnalysis/AHFinderDirect/trunk@1095 f88db872-0e4f-0410-b76b-b9085cfa78c5
-rw-r--r-- | param.ccl | 22 | ||||
-rw-r--r-- | src/driver/setup.cc | 8 |
2 files changed, 21 insertions, 9 deletions
@@ -847,12 +847,24 @@ real ILUCG__error_tolerance "error tolerance for conjugate gradient iteration" (0.0:*) :: \ "positive ==> error tolerance" } 1.0e-10 -int ILUCG__max_CG_iterations \ - "max number of conjugate-gradient iterations for ILUCG sparse-matrix library" +boolean ILUCG__limit_CG_iterations \ + "should we limit the maximum number of conjugate gradient iterations allowed?" { -0 :: "no limit" -1:* :: "any positive integer" -} 100 +"false" :: "no limit on CG iterations" +"true" :: "limit to Neqns CG iterations" +} "true" + +# extra parameters for +# Jacobian_store_solve_method == "row-oriented sparse matrix/UMFPACK" +int UMFPACK__N_II_iterations \ + "number of iterative-improvement iterations to do inside UMFPACK \ + after the sparse LU decompose/solve, each time we solve a linear system" +{ +-1 :: "use the UMFPACK default" +0 :: "don't do iterative improvement" +1:* :: "any positive integer \ + (in practice a few iterations give almost all the benefit)" +} 0 ######################################## diff --git a/src/driver/setup.cc b/src/driver/setup.cc index 9a1ec7f..84cb548 100644 --- a/src/driver/setup.cc +++ b/src/driver/setup.cc @@ -281,12 +281,12 @@ solver_info.debugging_output_at_each_Newton_iteration = (debugging_output_at_each_Newton_iteration != 0); solver_info.linear_solver_pars.ILUCG_pars.error_tolerance = ILUCG__error_tolerance; -solver_info.linear_solver_pars.ILUCG_pars.max_CG_iterations - = ILUCG__max_CG_iterations; +solver_info.linear_solver_pars.ILUCG_pars.limit_CG_iterations + = (ILUCG__limit_CG_iterations != 0); solver_info.max_Newton_iterations__initial - = max_Newton_iterations__initial; + = max_Newton_iterations__initial; solver_info.max_Newton_iterations__subsequent - = max_Newton_iterations__subsequent; + = max_Newton_iterations__subsequent; solver_info.max_allowable_Delta_h_over_h = max_allowable_Delta_h_over_h; solver_info.Theta_norm_for_convergence = Theta_norm_for_convergence; |