Commit 93edeb51 authored by Patrick Jaap's avatar Patrick Jaap
Browse files

Merge branch 'fix/damping' into 'master'

Fix/damping

See merge request agnumpde/dune-elasticity!25
parents 83faa6a8 93c8dfcf
......@@ -39,7 +39,8 @@ setup(const typename BasisType::GridView::Grid& grid,
int nu1,
int nu2,
int baseIterations,
double baseTolerance)
double baseTolerance,
double damping)
{
grid_ = &grid;
......@@ -53,6 +54,7 @@ setup(const typename BasisType::GridView::Grid& grid,
ignoreNodes_ = std::make_shared<Dune::BitSetVector<blocksize>>(dirichletNodes);
baseIterations_ = baseIterations;
baseTolerance_ = baseTolerance;
damping_ = damping;
int numLevels = grid_->maxLevel()+1;
......
......@@ -79,7 +79,8 @@ public:
int nu1,
int nu2,
int baseIterations,
double baseTolerance);
double baseTolerance,
double damping);
void setIgnoreNodes(const Dune::BitSetVector<blocksize>& ignoreNodes)
{
......@@ -119,6 +120,9 @@ protected:
/** \brief Error tolerance of the multigrid QP solver */
double innerTolerance_;
/** \brief Damping for the smoothers in the multigrid QP solver */
double damping_;
/** \brief Maximum number of base solver iterations */
int baseIterations_;
......
......@@ -35,6 +35,9 @@ nu1 = 3
# Number of postsmoothing steps
nu2 = 3
# Damping for the smoothers of the multigrid solver
damping = 1.0
# Number of coarse grid corrections
mu = 1
......
......@@ -109,6 +109,7 @@ int main (int argc, char *argv[]) try
const int baseIterations = parameterSet.get<int>("baseIt");
const double mgTolerance = parameterSet.get<double>("mgTolerance");
const double baseTolerance = parameterSet.get<double>("baseTolerance");
const double damping = parameterSet.get<double>("damping");
std::string resultPath = parameterSet.get("resultPath", "");
// ///////////////////////////////////////
......@@ -333,7 +334,8 @@ int main (int argc, char *argv[]) try
mgTolerance,
mu, nu1, nu2,
baseIterations,
baseTolerance
baseTolerance,
damping
);
////////////////////////////////////////////////////////
......
Markdown is supported
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