From f6c75a169689143f5c8c1d152d97488fc829ebb5 Mon Sep 17 00:00:00 2001 From: Wenqing Wang <wenqing.wang@ufz.de> Date: Wed, 7 May 2014 10:34:25 +0200 Subject: [PATCH] Correct some documentation and a string name according to the comments by Tom --- .../KSP_Option/PETScPC_KSP_GMRES_Option.cpp | 24 +++++++++---------- .../KSP_Option/PETScPC_KSP_GMRES_Option.h | 12 +++++----- MathLib/LinAlg/PETSc/PETScLinearSolver.cpp | 9 ++++--- MathLib/LinAlg/PETSc/PETScLinearSolver.h | 7 +++--- 4 files changed, 25 insertions(+), 27 deletions(-) diff --git a/MathLib/LinAlg/PETSc/KSP_Option/PETScPC_KSP_GMRES_Option.cpp b/MathLib/LinAlg/PETSc/KSP_Option/PETScPC_KSP_GMRES_Option.cpp index 5dfe3499f72..16c77e4e16b 100644 --- a/MathLib/LinAlg/PETSc/KSP_Option/PETScPC_KSP_GMRES_Option.cpp +++ b/MathLib/LinAlg/PETSc/KSP_Option/PETScPC_KSP_GMRES_Option.cpp @@ -21,29 +21,29 @@ using boost::property_tree::ptree; PETScPC_KSP_GMRES_Option:: PETScPC_KSP_GMRES_Option(const boost::property_tree::ptree &option) - : restart_number_gmres(30), is_modified_gram_schmidt_gmres(false), - refine_type_gmres(KSP_GMRES_CGS_REFINE_NEVER) + : restart_number(30), is_modified_gram_schmidt(false), + refine_type(KSP_GMRES_CGS_REFINE_NEVER) { auto val = option.get_optional<double>("restart_number"); - restart_number_gmres = *val; + restart_number = *val; - boost::optional<bool> bool_vals = option.get_optional<bool>("is_modified_ram_schmidt_orthog"); - is_modified_gram_schmidt_gmres = *bool_vals; + boost::optional<bool> bool_vals = option.get_optional<bool>("is_modified_gram_schmidt_orthog"); + is_modified_gram_schmidt = *bool_vals; auto refine_type = option.get_optional<int>("refine_type"); switch(*refine_type) { case 0: - refine_type_gmres = KSP_GMRES_CGS_REFINE_NEVER; + refine_type = KSP_GMRES_CGS_REFINE_NEVER; break; case 1: - refine_type_gmres = KSP_GMRES_CGS_REFINE_IFNEEDED; + refine_type = KSP_GMRES_CGS_REFINE_IFNEEDED; break; case 2: - refine_type_gmres = KSP_GMRES_CGS_REFINE_ALWAYS; + refine_type = KSP_GMRES_CGS_REFINE_ALWAYS; break; default: - refine_type_gmres = KSP_GMRES_CGS_REFINE_NEVER; + refine_type = KSP_GMRES_CGS_REFINE_NEVER; break; } } @@ -51,14 +51,14 @@ PETScPC_KSP_GMRES_Option(const boost::property_tree::ptree &option) /// Set Chebyshev option void PETScPC_KSP_GMRES_Option::setOption(KSP &solver) { - KSPGMRESSetRestart(solver, restart_number_gmres); + KSPGMRESSetRestart(solver, restart_number); - if(is_modified_gram_schmidt_gmres) + if(is_modified_gram_schmidt) { KSPGMRESSetOrthogonalization(solver, KSPGMRESClassicalGramSchmidtOrthogonalization); } - KSPGMRESSetCGSRefinementType(solver, refine_type_gmres); + KSPGMRESSetCGSRefinementType(solver, refine_type); } } // end namespace diff --git a/MathLib/LinAlg/PETSc/KSP_Option/PETScPC_KSP_GMRES_Option.h b/MathLib/LinAlg/PETSc/KSP_Option/PETScPC_KSP_GMRES_Option.h index 7aacabf8030..15b8ec68ebc 100644 --- a/MathLib/LinAlg/PETSc/KSP_Option/PETScPC_KSP_GMRES_Option.h +++ b/MathLib/LinAlg/PETSc/KSP_Option/PETScPC_KSP_GMRES_Option.h @@ -34,16 +34,16 @@ struct PETScPC_KSP_GMRES_Option /// Overloaded assign operator void operator = (const PETScPC_KSP_GMRES_Option& opt) { - restart_number_gmres = opt.restart_number_gmres; - is_modified_gram_schmidt_gmres = opt.is_modified_gram_schmidt_gmres; - refine_type_gmres = opt.refine_type_gmres; + restart_number = opt.restart_number; + is_modified_gram_schmidt = opt.is_modified_gram_schmidt; + refine_type = opt.refine_type; } /// Restart number of GMRES. - PetscInt restart_number_gmres; + PetscInt restart_number; /// Flag for the modified Gram-Schmidt orthogonalization. - bool is_modified_gram_schmidt_gmres; + bool is_modified_gram_schmidt; /*! \brief Refinement type for GMRES. @@ -53,7 +53,7 @@ struct PETScPC_KSP_GMRES_Option typedef enum {KSP_GMRES_CGS_REFINE_NEVER, KSP_GMRES_CGS_REFINE_IFNEEDED, KSP_GMRES_CGS_REFINE_ALWAYS} KSPGMRESCGSRefinementType; */ - KSPGMRESCGSRefinementType refine_type_gmres; + KSPGMRESCGSRefinementType refine_type; }; } // end namespace diff --git a/MathLib/LinAlg/PETSc/PETScLinearSolver.cpp b/MathLib/LinAlg/PETSc/PETScLinearSolver.cpp index 253def0737a..bfff8e41380 100644 --- a/MathLib/LinAlg/PETSc/PETScLinearSolver.cpp +++ b/MathLib/LinAlg/PETSc/PETScLinearSolver.cpp @@ -46,7 +46,7 @@ PETScLinearSolver::PETScLinearSolver(PETScMatrix &A, PETScLinearSolverOption opt(*pt_solver); opt.setOption(_solver, _pc); KSPSetFromOptions(_solver); // set running time option - return; + return; } // Base configuration @@ -56,14 +56,13 @@ PETScLinearSolver::PETScLinearSolver(PETScMatrix &A, //---------------------------------------------------------------------- // Specific configuration, solver - boost::optional<const ptree&> pt_solver_spec = pt_solver->get_child_optional("Richards"); - - + boost::optional<const ptree&> pt_solver_spec = pt_solver->get_child_optional("Richards"); + if(pt_solver_spec) { PETScPC_KSP_Richards_Option ksp_opt(*pt_solver_spec); setKSP_Option(ksp_opt); - } + } pt_solver_spec = pt_solver->get_child_optional("Chebyshev"); if(pt_solver_spec) diff --git a/MathLib/LinAlg/PETSc/PETScLinearSolver.h b/MathLib/LinAlg/PETSc/PETScLinearSolver.h index d0082a9e9bc..53a7622ec4d 100644 --- a/MathLib/LinAlg/PETSc/PETScLinearSolver.h +++ b/MathLib/LinAlg/PETSc/PETScLinearSolver.h @@ -44,10 +44,9 @@ class PETScLinearSolver public: /*! - Constructor. - \param A Matrix, cannot be constant. - \param solver_name Solver name. - \param pc_name Preconditioner name. + Constructor + \param A Matrix, cannot be constant. + \param option Configuration data for solver and preconditioner. */ PETScLinearSolver(PETScMatrix &A, const boost::property_tree::ptree &option); -- GitLab