Commit ba8689bc authored by Martin Beck's avatar Martin Beck
Browse files

[el2p] switch from SuperLU to AMG

Switched solver from SuperLU to AMG.
(reviewed by natalies)

git-svn-id: svn://svn.iws.uni-stuttgart.de/DUMUX/dumux/trunk@13544 2fb0f335-1f38-0410-981e-8018bf24f1b0
parent 60138afa
...@@ -502,6 +502,12 @@ public: ...@@ -502,6 +502,12 @@ public:
const JacobianMatrix& matrix() const const JacobianMatrix& matrix() const
{ return *matrix_; } { return *matrix_; }
/*!
* \brief Return reference to global Jacobian matrix.
*/
JacobianMatrix& matrix()
{ return *matrix_; }
/*! /*!
* \brief Return constant reference to global residual vector. * \brief Return constant reference to global residual vector.
*/ */
...@@ -509,6 +515,13 @@ public: ...@@ -509,6 +515,13 @@ public:
{ return *residual_; } { return *residual_; }
/*!
* \brief Return reference to global residual vector.
*/
SolutionVector& residual()
{ return *residual_; }
private: private:
#if !HAVE_DUNE_PDELAB #if !HAVE_DUNE_PDELAB
// Construct the BCRS matrix for the global jacobian // Construct the BCRS matrix for the global jacobian
......
...@@ -96,9 +96,9 @@ public: ...@@ -96,9 +96,9 @@ public:
* \param x The vector which solves the linear system * \param x The vector which solves the linear system
* \param b The right hand side of the linear system * \param b The right hand side of the linear system
*/ */
void newtonSolveLinear(const JacobianMatrix &A, void newtonSolveLinear(JacobianMatrix &A,
SolutionVector &x, SolutionVector &x,
const SolutionVector &b) SolutionVector &b)
{ {
try { try {
if (this->numSteps_ == 0) if (this->numSteps_ == 0)
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <dumux/material/fluidsystems/brineco2fluidsystem.hh> #include <dumux/material/fluidsystems/brineco2fluidsystem.hh>
#include <dumux/implicit/common/implicitporousmediaproblem.hh> #include <dumux/implicit/common/implicitporousmediaproblem.hh>
#include <dumux/geomechanics/el2p/el2pmodel.hh> #include <dumux/geomechanics/el2p/el2pmodel.hh>
#include <dumux/linear/amgbackend.hh>
#include "el2pco2tables.hh" #include "el2pco2tables.hh"
#include "el2pspatialparams.hh" #include "el2pspatialparams.hh"
...@@ -133,6 +134,9 @@ SET_BOOL_PROP(El2P_TestProblem, ImplicitEnablePartialReassemble, false); ...@@ -133,6 +134,9 @@ SET_BOOL_PROP(El2P_TestProblem, ImplicitEnablePartialReassemble, false);
// Enable gravity // Enable gravity
SET_BOOL_PROP(El2P_TestProblem, ProblemEnableGravity, true); SET_BOOL_PROP(El2P_TestProblem, ProblemEnableGravity, true);
// use the algebraic multigrid
SET_TYPE_PROP(El2P_TestProblem, LinearSolver, Dumux::AMGBackend<TypeTag> );
// central differences to calculate the jacobian by default // central differences to calculate the jacobian by default
SET_INT_PROP(El2P_TestProblem, ImplicitNumericDifferenceMethod, 0); SET_INT_PROP(El2P_TestProblem, ImplicitNumericDifferenceMethod, 0);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment