Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

GenSolverOp< T > Class Template Reference

Pure base class to encapsulate an API for linear PDE solvers. More...

#include <GenSolverOp.H>

Inheritance diagram for GenSolverOp< T >:

Inheritance graph
[legend]
List of all members.

Public Methods

 GenSolverOp ()
 Null constructor.

virtual ~GenSolverOp ()
 Destructor.

virtual GenSolverOp * newOp () const=0
virtual void setToZero (T &a_one)=0
 a_one = 0

virtual void copy (T &a_one, const T &a_two)=0
 a_one = a_two

virtual void scalarMul (T &a_one, const Real a_scalar)=0
 a_one = a_scalar * a_one

virtual void negate (T &a_one)=0
 a_one = -a_one

virtual void sum (T &a_one, const T &a_two)=0
 a_one = a_one + a_two

virtual void diff (T &a_one, const T &a_two)=0
 a_one = a_one - a_two

virtual Real dotProduct (const T &a_one, const T &a_two)=0
 Return dot product of "a_one" and "a_two".

virtual Real norm (const T &a_one, const int a_power)=0
 Return "a_power"-norm of "a_one".

virtual void defineOpData (T &a_data)=0
 Define data so that the operator can be applied to it.

virtual void defineData (T &a_data)=0
 Define data which won't have the operator applied to it.

virtual void applyOpH (T &a_LOfPhi, T &a_phi)=0
 Evaluate operator with homogeneous boundary conditions.


Detailed Description

template<class T>
class GenSolverOp< T >

Pure base class to encapsulate an API for linear PDE solvers.

GenSolverOp<T> is a pure base class to encapsulate an API for linear PDE solvers operating on vector space data, T.


Constructor & Destructor Documentation

template<class T>
GenSolverOp< T >::GenSolverOp   [inline]
 

Null constructor.

Null constructor

template<class T>
virtual GenSolverOp< T >::~GenSolverOp   [inline, virtual]
 

Destructor.

Destructor


Member Function Documentation

template<class T>
virtual void GenSolverOp< T >::applyOpH T &    a_LOfPhi,
T &    a_phi
[pure virtual]
 

Evaluate operator with homogeneous boundary conditions.

Evaluate operator with homogeneous boundary conditions

Implemented in GenAMRLevelMGOp< T >.

template<class T>
virtual void GenSolverOp< T >::copy T &    a_one,
const T &    a_two
[pure virtual]
 

a_one = a_two

Copy a_two to a_one, a_one = a_two

template<class T>
virtual void GenSolverOp< T >::defineData T &    a_data [pure virtual]
 

Define data which won't have the operator applied to it.

Define data which won't have the operator applied to it

template<class T>
virtual void GenSolverOp< T >::defineOpData T &    a_data [pure virtual]
 

Define data so that the operator can be applied to it.

Define data so that the operator can be applied to it

template<class T>
virtual void GenSolverOp< T >::diff T &    a_one,
const T &    a_two
[pure virtual]
 

a_one = a_one - a_two

Subtract a_two from a_one and store in a_one, a_one = a_one - a_two

template<class T>
virtual Real GenSolverOp< T >::dotProduct const T &    a_one,
const T &    a_two
[pure virtual]
 

Return dot product of "a_one" and "a_two".

Return dot product of "a_one" and "a_two"

template<class T>
virtual void GenSolverOp< T >::negate T &    a_one [pure virtual]
 

a_one = -a_one

Negate a_one, a_one = -a_one

template<class T>
virtual GenSolverOp* GenSolverOp< T >::newOp   const [pure virtual]
 

This gets around the "no virtual constructor" rule

Implemented in GenAMRLevelMGOp< T >, and GenLevelMGOp< T >.

template<class T>
virtual Real GenSolverOp< T >::norm const T &    a_one,
const int    a_power
[pure virtual]
 

Return "a_power"-norm of "a_one".

Return "a_power"-norm of "a_one"

template<class T>
virtual void GenSolverOp< T >::scalarMul T &    a_one,
const Real    a_scalar
[pure virtual]
 

a_one = a_scalar * a_one

Multiply a_one by the scalar, a_scalar, a_one = a_scalar * a_one

template<class T>
virtual void GenSolverOp< T >::setToZero T &    a_one [pure virtual]
 

a_one = 0

Set all a_one to zero, a_one = 0

template<class T>
virtual void GenSolverOp< T >::sum T &    a_one,
const T &    a_two
[pure virtual]
 

a_one = a_one + a_two

Add a_two to a_one and store in a_one, a_one = a_one + a_two


The documentation for this class was generated from the following file:
Generated on Wed Apr 16 14:35:20 2003 for EBChombo by doxygen1.2.16