| Rev | Line | |
|---|
| [48b662] | 1 | /**
|
|---|
| 2 | * @file smoother.cpp
|
|---|
| 3 | * @author Julian Iseringhausen <isering@ins.uni-bonn.de>
|
|---|
| 4 | * @date Mon Apr 18 13:08:57 2011
|
|---|
| 5 | *
|
|---|
| 6 | * @brief VMG::Smoother
|
|---|
| 7 | *
|
|---|
| 8 | */
|
|---|
| 9 |
|
|---|
| 10 | #ifdef HAVE_CONFIG_H
|
|---|
| 11 | #include <config.h>
|
|---|
| 12 | #endif
|
|---|
| 13 |
|
|---|
| 14 | #include "base/discretization.hpp"
|
|---|
| 15 | #include "comm/comm.hpp"
|
|---|
| 16 | #include "smoother/smoother.hpp"
|
|---|
| 17 | #include "mg.hpp"
|
|---|
| 18 |
|
|---|
| 19 | using namespace VMG;
|
|---|
| 20 |
|
|---|
| 21 | void Smoother::Run(Multigrid& sol, Multigrid& rhs, int steps)
|
|---|
| 22 | {
|
|---|
| 23 | for (int i=0; i<steps; i++) {
|
|---|
| 24 | MG::GetComm()->CommToGhosts(sol());
|
|---|
| 25 |
|
|---|
| 26 | if (sol().Global().BoundaryType() == LocallyRefined)
|
|---|
| 27 | MG::GetDiscretization()->SetInnerBoundary(sol(), rhs(), sol(sol.Level()-1));
|
|---|
| 28 |
|
|---|
| 29 | this->Compute(sol(), rhs());
|
|---|
| 30 | }
|
|---|
| 31 | }
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.