Skip to content
Snippets Groups Projects
Commit 23f92b2d authored by Oliver Sander's avatar Oliver Sander Committed by sander@PCPOOL.MI.FU-BERLIN.DE
Browse files

bugfix: reset the smoother when the grid hierarchy has changed

[[Imported from SVN: r5680]]
parent a636704b
No related branches found
No related tags found
No related merge requests found
...@@ -125,7 +125,6 @@ int main (int argc, char *argv[]) try ...@@ -125,7 +125,6 @@ int main (int argc, char *argv[]) try
multigridStep.setMGType(mu, nu1, nu2); multigridStep.setMGType(mu, nu1, nu2);
multigridStep.ignoreNodes_ = &dirichletNodes; multigridStep.ignoreNodes_ = &dirichletNodes;
multigridStep.basesolver_ = &baseSolver; multigridStep.basesolver_ = &baseSolver;
multigridStep.setSmoother(&presmoother, &postsmoother);
multigridStep.hasObstacle_ = &hasObstacle; multigridStep.hasObstacle_ = &hasObstacle;
multigridStep.obstacles_ = &trustRegionObstacles; multigridStep.obstacles_ = &trustRegionObstacles;
multigridStep.verbosity_ = Solver::QUIET; multigridStep.verbosity_ = Solver::QUIET;
...@@ -173,8 +172,6 @@ int main (int argc, char *argv[]) try ...@@ -173,8 +172,6 @@ int main (int argc, char *argv[]) try
dirichletNodes[0] = true; dirichletNodes[0] = true;
dirichletNodes.back() = true; dirichletNodes.back() = true;
multigridStep.ignoreNodes_ = &dirichletNodes;
// //////////////////////////////////////////////////////////// // ////////////////////////////////////////////////////////////
// Create solution and rhs vectors // Create solution and rhs vectors
// //////////////////////////////////////////////////////////// // ////////////////////////////////////////////////////////////
...@@ -222,9 +219,14 @@ int main (int argc, char *argv[]) try ...@@ -222,9 +219,14 @@ int main (int argc, char *argv[]) try
for (int i=0; i<=toplevel; i++) for (int i=0; i<=toplevel; i++)
trustRegionObstacles[i].resize(grid.size(i, 1)); trustRegionObstacles[i].resize(grid.size(i, 1));
// //////////////////////////////////// // ////////////////////////////////////////////
// Create the transfer operators // Adjust the solver to the new hierarchy
// //////////////////////////////////// // ////////////////////////////////////////////
multigridStep.setNumberOfLevels(toplevel+1);
multigridStep.ignoreNodes_ = &dirichletNodes;
multigridStep.setSmoother(&presmoother, &postsmoother);
for (int k=0; k<multigridStep.mgTransfer_.size(); k++) for (int k=0; k<multigridStep.mgTransfer_.size(); k++)
delete(multigridStep.mgTransfer_[k]); delete(multigridStep.mgTransfer_[k]);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment