mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Use special default for LinearSolverMaxIter for CPR and honor CprMaxEllIter
This commit is contained in:
parent
2c1df912fe
commit
2fc2703aba
@ -28,7 +28,6 @@ list (APPEND MAIN_SOURCE_FILES
|
||||
opm/simulators/timestepping/SimulatorReport.cpp
|
||||
opm/simulators/flow/MissingFeatures.cpp
|
||||
opm/simulators/linalg/ExtractParallelGridInformationToISTL.cpp
|
||||
opm/simulators/linalg/setupPropertyTree.cpp
|
||||
opm/simulators/timestepping/TimeStepControl.cpp
|
||||
opm/simulators/timestepping/AdaptiveSimulatorTimer.cpp
|
||||
opm/simulators/timestepping/SimulatorTimer.cpp
|
||||
@ -169,6 +168,7 @@ list (APPEND PUBLIC_HEADER_FILES
|
||||
opm/simulators/linalg/findOverlapRowsAndColumns.hpp
|
||||
opm/simulators/linalg/getQuasiImpesWeights.hpp
|
||||
opm/simulators/linalg/setupPropertyTree.hpp
|
||||
opm/simulators/linalg/setupPropertyTree_impl.hpp
|
||||
opm/simulators/timestepping/AdaptiveSimulatorTimer.hpp
|
||||
opm/simulators/timestepping/AdaptiveTimeSteppingEbos.hpp
|
||||
opm/simulators/timestepping/ConvergenceReport.hpp
|
||||
|
@ -32,4 +32,6 @@ boost::property_tree::ptree setupPropertyTree(const FlowLinearSolverParameters&
|
||||
|
||||
} // namespace Opm
|
||||
|
||||
#include "setupPropertyTree_impl.hpp"
|
||||
|
||||
#endif // OPM_SETUPPROPERTYTREE_HEADER_INCLUDED
|
||||
|
@ -58,7 +58,7 @@ setupPropertyTree(const FlowLinearSolverParameters& p)
|
||||
|
||||
if((conf == "cpr_trueimpes") || (conf == "cpr_quasiimpes")){
|
||||
prm.put("tol", p.linear_solver_reduction_);
|
||||
if (EWOMS_PARAM_IS_SET(TypeTag, double, LinearSolverMaxIter))
|
||||
if (EWOMS_PARAM_IS_SET(TypeTag, int, LinearSolverMaxIter))
|
||||
prm.put("maxiter", p.linear_solver_maxiter_);// Trust that the user knows what he does
|
||||
else
|
||||
prm.put("maxiter", 20); // Use our own default.
|
||||
@ -78,7 +78,7 @@ setupPropertyTree(const FlowLinearSolverParameters& p)
|
||||
prm.put("preconditioner.coarsesolver.preconditioner.type","amg");
|
||||
prm.put("preconditioner.coarsesolver.preconditioner.alpha",0.333333333333);
|
||||
prm.put("preconditioner.coarsesolver.preconditioner.relaxation",1.0);
|
||||
if (EWOMS_PARAM_IS_SET(TypeTag, double, CprMaxEllIter))
|
||||
if (EWOMS_PARAM_IS_SET(TypeTag, int, CprMaxEllIter))
|
||||
prm.put("preconditioner.coarsesolver.preconditioner.iterations", p.cpr_max_ell_iter_);
|
||||
prm.put("preconditioner.coarsesolver.preconditioner.iterations",1);
|
||||
prm.put("preconditioner.coarsesolver.preconditioner.coarsenTarget",1200);
|
||||
|
Loading…
Reference in New Issue
Block a user