source: src/level/level_operator.hpp@ b51c3b

Last change on this file since b51c3b was ac6d04, checked in by Julian Iseringhausen <isering@…>, 14 years ago

Merge recent changes of the vmg library into ScaFaCos.

Includes a fix for the communication problems on Jugene.

git-svn-id: https://svn.version.fz-juelich.de/scafacos/trunk@1666 5161e1c8-67bf-11de-9fd5-51895aff932f

  • Property mode set to 100644
File size: 880 bytes
Line 
1/**
2 * @file level_operator.hpp
3 * @author Julian Iseringhausen <isering@ins.uni-bonn.de>
4 * @date Mon Apr 18 12:59:28 2011
5 *
6 * @brief VMG::LevelOperator
7 *
8 */
9
10#ifndef LEVEL_OPERATOR_HPP_
11#define LEVEL_OPERATOR_HPP_
12
13#include "base/object.hpp"
14#include "base/stencil.hpp"
15
16namespace VMG
17{
18
19class Grid;
20class Multigrid;
21
22class LevelOperator : public Object
23{
24public:
25 LevelOperator(const Stencil& operatorRestrict_, const Stencil& operatorProlongate_) :
26 operatorRestrict(operatorRestrict_),
27 operatorProlongate(operatorProlongate_)
28 {}
29
30 virtual void Restrict(Multigrid& sol, Multigrid& rhs) = 0;
31 virtual void Prolongate(Multigrid& sol, Multigrid& rhs) = 0;
32
33protected:
34 Stencil& OperatorRestrict() {return operatorRestrict;}
35 Stencil& OperatorProlongate() {return operatorProlongate;}
36
37private:
38 Stencil operatorRestrict, operatorProlongate;
39};
40
41}
42
43#endif
Note: See TracBrowser for help on using the repository browser.