PDEOperator Class Reference

#include <PDEOperator.hpp>

Inheritance diagram for PDEOperator:

Inheritance graph
[legend]

List of all members.

Public Types

enum  Type {
  firstorderop, firstorderopTransposed, divmugrad, secondorderop,
  massop
}

Public Member Functions

const size_t & numberOfSubOperators () const
virtual std::string typeName () const =0
const PDEOperator::Typetype () const
virtual ConstReferenceCounting
< PDEOperator
operator* (const ConstReferenceCounting< ScalarFunctionBase > &c) const =0
virtual ConstReferenceCounting
< PDEOperator
operator- () const =0
 PDEOperator (const PDEOperator::Type &type, const size_t &numberOfSubOperators)
 PDEOperator (const PDEOperator &P)
virtual ~PDEOperator ()

Protected Attributes

const PDEOperator::Type __type
size_t __numberOfSubOperators

Friends

std::ostream & operator<< (std::ostream &os, const PDEOperator &pdeOperator)


Detailed Description

Definition at line 38 of file PDEOperator.hpp.


Member Enumeration Documentation

Enumerator:
firstorderop 
firstorderopTransposed 
divmugrad 
secondorderop 
massop 

Definition at line 41 of file PDEOperator.hpp.

00041             {
00042     firstorderop,
00043     firstorderopTransposed,
00044     divmugrad,
00045     secondorderop,
00046     massop
00047   };


Constructor & Destructor Documentation

PDEOperator::PDEOperator ( const PDEOperator::Type type,
const size_t &  numberOfSubOperators 
) [inline]

Constructor

Parameters:
type the type of the operator
numberOfSubOperators the number of sub-operators

Definition at line 126 of file PDEOperator.hpp.

00128     : __type(type),
00129       __numberOfSubOperators(numberOfSubOperators)
00130   {
00131     ;
00132   }

PDEOperator::PDEOperator ( const PDEOperator P  )  [inline]

Copy constructor

Parameters:
P a given PDEOperator

Definition at line 139 of file PDEOperator.hpp.

00140     : __type(P.__type),
00141       __numberOfSubOperators(P.__numberOfSubOperators)
00142   {
00143     ;
00144   }

virtual PDEOperator::~PDEOperator (  )  [inline, virtual]

Destructor

Definition at line 150 of file PDEOperator.hpp.

00151   {
00152     ;
00153   }


Member Function Documentation

const size_t& PDEOperator::numberOfSubOperators (  )  const [inline]

Read only access to the number of sub-operators

Returns:
__numberOfSubOperators

Definition at line 63 of file PDEOperator.hpp.

References __numberOfSubOperators.

00064   {
00065     return __numberOfSubOperators;
00066   }

virtual std::string PDEOperator::typeName (  )  const [pure virtual]

Return the name of the PDEOperator

Returns:
a string of the name of the operator

Implemented in DivMuGrad, FirstOrderOperator, MassOperator, and SecondOrderOperator.

const PDEOperator::Type& PDEOperator::type (  )  const [inline]

Read-only access to the type of the operator

Returns:
__type

Definition at line 82 of file PDEOperator.hpp.

References __type.

Referenced by DiscretizedOperators< FiniteElement::ElementaryMatrix >::DiscretizedOperators().

00083   {
00084     return __type;
00085   }

virtual ConstReferenceCounting<PDEOperator> PDEOperator::operator* ( const ConstReferenceCounting< ScalarFunctionBase > &  c  )  const [pure virtual]

Each operator can be "multiplied" by a coefficient c

Parameters:
c the coefficient
Returns:
the new operator

Implemented in DivMuGrad, FirstOrderOperator, MassOperator, and SecondOrderOperator.

virtual ConstReferenceCounting<PDEOperator> PDEOperator::operator- (  )  const [pure virtual]

Each operator should know to compute its opposite

Returns:
the opposite of the operator

Implemented in DivMuGrad, FirstOrderOperator, MassOperator, and SecondOrderOperator.


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const PDEOperator pdeOperator 
) [friend]

Writes a PDEOperator to a stream

Parameters:
os the output stream
pdeOperator a PDEOperator
Returns:
os

Definition at line 114 of file PDEOperator.hpp.

00115   {
00116     os << pdeOperator.typeName();
00117     return os;
00118   }


Member Data Documentation

type of the operator

Definition at line 50 of file PDEOperator.hpp.

Referenced by type().

This is used for "composed" operators to provied an efficient way to know how many elementary matrices are needed to discretize it

Definition at line 52 of file PDEOperator.hpp.

Referenced by numberOfSubOperators().


The documentation for this class was generated from the following file:

Generated on Wed Nov 19 00:11:17 2008 for FreeFEM3D (aka ff3d) by  doxygen 1.5.6