ElementaryMatrixSet< ElementaryMatrixType > Class Template Reference

#include <ElementaryMatrixSet.hpp>

Inheritance diagram for ElementaryMatrixSet< ElementaryMatrixType >:

Inheritance graph
[legend]
Collaboration diagram for ElementaryMatrixSet< ElementaryMatrixType >:

Collaboration graph
[legend]

List of all members.

Public Member Functions

const ElementaryMatrixType & operator() (const PDEOperator::Type &type) const
const bool & isDivMuGrad () const
const ElementaryMatrixType & divMuGrad () const
ElementaryMatrixType & divMuGrad ()
const bool & isMassOperator () const
const ElementaryMatrixType & massOperator () const
ElementaryMatrixType & massOperator ()
const bool & isSecondOrderOperator () const
const bool & isSecondOrderOperator (const size_t i, const size_t j) const
const ElementaryMatrixType & secondOrderOperator (const size_t i, const size_t j) const
ElementaryMatrixType & secondOrderOperator (const size_t i, const size_t j)
const bool & isFirstOrderOperator () const
const bool & isFirstOrderUdxV (const size_t i) const
const ElementaryMatrixType & firstOrderOperatorUdxV (const size_t i) const
ElementaryMatrixType & firstOrderOperatorUdxV (const size_t i)
const bool & isFirstOrderDxUV (const size_t i) const
const ElementaryMatrixType & firstOrderOperatorDxUV (const size_t i) const
ElementaryMatrixType & firstOrderOperatorDxUV (const size_t i)
 ElementaryMatrixSet (const Problem &problem)

Private Attributes

bool __divMuGrad
bool __massOperator
bool __secondOrderOperator
bool __firstOrderOperator
TinyMatrix< 3, 3, bool > __secondOrderOperatorList
TinyVector< 3, bool > __firstOrderUdxVList
TinyVector< 3, bool > __firstOrderDxUVList
ElementaryMatrixType __divMuGradMatrix
ElementaryMatrixType __massOperatorMatrix
TinyVector
< 3, ElementaryMatrixType > 
__firstOrderUdxVMatrix
TinyVector
< 3, ElementaryMatrixType > 
__firstOrderDxUVMatrix
TinyMatrix
< 3, 3, ElementaryMatrixType > 
__secondOrderOperatorMatrix


Detailed Description

template<typename ElementaryMatrixType>
class ElementaryMatrixSet< ElementaryMatrixType >

Definition at line 31 of file ElementaryMatrixSet.hpp.


Constructor & Destructor Documentation

template<typename ElementaryMatrixType>
ElementaryMatrixSet< ElementaryMatrixType >::ElementaryMatrixSet ( const Problem problem  ) 

Determines the number of needed elementary matrices for a given PDE System at construction


Member Function Documentation

template<typename ElementaryMatrixType>
const ElementaryMatrixType& ElementaryMatrixSet< ElementaryMatrixType >::operator() ( const PDEOperator::Type type  )  const [inline]

Definition at line 51 of file ElementaryMatrixSet.hpp.

00052   {
00053     switch (type) {
00054     case (PDEOperator::massop): {
00055       return __massOperatorMatrix;
00056     }
00057     case (PDEOperator::divmugrad): {
00058       return __divMuGradMatrix;
00059     }
00060     default: {
00061       throw ErrorHandler(__FILE__,__LINE__,
00062                          "unknown PDE operator",
00063                          ErrorHandler::unexpected);
00064     }
00065     }
00066   }

template<typename ElementaryMatrixType>
const bool& ElementaryMatrixSet< ElementaryMatrixType >::isDivMuGrad (  )  const [inline]

template<typename ElementaryMatrixType>
const ElementaryMatrixType& ElementaryMatrixSet< ElementaryMatrixType >::divMuGrad (  )  const [inline]

template<typename ElementaryMatrixType>
ElementaryMatrixType& ElementaryMatrixSet< ElementaryMatrixType >::divMuGrad (  )  [inline]

Definition at line 79 of file ElementaryMatrixSet.hpp.

00080   {
00081     ASSERT(__divMuGrad);
00082     return __divMuGradMatrix;
00083   }

template<typename ElementaryMatrixType>
const bool& ElementaryMatrixSet< ElementaryMatrixType >::isMassOperator (  )  const [inline]

template<typename ElementaryMatrixType>
const ElementaryMatrixType& ElementaryMatrixSet< ElementaryMatrixType >::massOperator (  )  const [inline]

template<typename ElementaryMatrixType>
ElementaryMatrixType& ElementaryMatrixSet< ElementaryMatrixType >::massOperator (  )  [inline]

Definition at line 96 of file ElementaryMatrixSet.hpp.

00097   {
00098     ASSERT(__massOperator);
00099     return __massOperatorMatrix;
00100   }

template<typename ElementaryMatrixType>
const bool& ElementaryMatrixSet< ElementaryMatrixType >::isSecondOrderOperator (  )  const [inline]

template<typename ElementaryMatrixType>
const bool& ElementaryMatrixSet< ElementaryMatrixType >::isSecondOrderOperator ( const size_t  i,
const size_t  j 
) const [inline]

Definition at line 107 of file ElementaryMatrixSet.hpp.

00108   {
00109     return __secondOrderOperatorList(i,j);
00110   }

template<typename ElementaryMatrixType>
const ElementaryMatrixType& ElementaryMatrixSet< ElementaryMatrixType >::secondOrderOperator ( const size_t  i,
const size_t  j 
) const [inline]

template<typename ElementaryMatrixType>
ElementaryMatrixType& ElementaryMatrixSet< ElementaryMatrixType >::secondOrderOperator ( const size_t  i,
const size_t  j 
) [inline]

Definition at line 118 of file ElementaryMatrixSet.hpp.

00119   {
00120     ASSERT(__secondOrderOperatorList(i,j));
00121     return __secondOrderOperatorMatrix(i,j);
00122   }

template<typename ElementaryMatrixType>
const bool& ElementaryMatrixSet< ElementaryMatrixType >::isFirstOrderOperator (  )  const [inline]

template<typename ElementaryMatrixType>
const bool& ElementaryMatrixSet< ElementaryMatrixType >::isFirstOrderUdxV ( const size_t  i  )  const [inline]

template<typename ElementaryMatrixType>
const ElementaryMatrixType& ElementaryMatrixSet< ElementaryMatrixType >::firstOrderOperatorUdxV ( const size_t  i  )  const [inline]

template<typename ElementaryMatrixType>
ElementaryMatrixType& ElementaryMatrixSet< ElementaryMatrixType >::firstOrderOperatorUdxV ( const size_t  i  )  [inline]

Definition at line 140 of file ElementaryMatrixSet.hpp.

00141   {
00142     ASSERT(__firstOrderUdxVList[i]);
00143     return __firstOrderUdxVMatrix[i];
00144   }

template<typename ElementaryMatrixType>
const bool& ElementaryMatrixSet< ElementaryMatrixType >::isFirstOrderDxUV ( const size_t  i  )  const [inline]

template<typename ElementaryMatrixType>
const ElementaryMatrixType& ElementaryMatrixSet< ElementaryMatrixType >::firstOrderOperatorDxUV ( const size_t  i  )  const [inline]

template<typename ElementaryMatrixType>
ElementaryMatrixType& ElementaryMatrixSet< ElementaryMatrixType >::firstOrderOperatorDxUV ( const size_t  i  )  [inline]

Definition at line 157 of file ElementaryMatrixSet.hpp.

00158   {
00159     ASSERT(__firstOrderDxUVList[i]);
00160     return __firstOrderDxUVMatrix[i];
00161   }


Member Data Documentation

template<typename ElementaryMatrixType>
bool ElementaryMatrixSet< ElementaryMatrixType >::__divMuGrad [private]

template<typename ElementaryMatrixType>
bool ElementaryMatrixSet< ElementaryMatrixType >::__massOperator [private]

template<typename ElementaryMatrixType>
bool ElementaryMatrixSet< ElementaryMatrixType >::__secondOrderOperator [private]

template<typename ElementaryMatrixType>
bool ElementaryMatrixSet< ElementaryMatrixType >::__firstOrderOperator [private]

template<typename ElementaryMatrixType>
TinyMatrix<3,3, bool> ElementaryMatrixSet< ElementaryMatrixType >::__secondOrderOperatorList [private]

template<typename ElementaryMatrixType>
TinyVector<3, bool> ElementaryMatrixSet< ElementaryMatrixType >::__firstOrderUdxVList [private]

template<typename ElementaryMatrixType>
TinyVector<3, bool> ElementaryMatrixSet< ElementaryMatrixType >::__firstOrderDxUVList [private]

template<typename ElementaryMatrixType>
ElementaryMatrixType ElementaryMatrixSet< ElementaryMatrixType >::__divMuGradMatrix [private]

template<typename ElementaryMatrixType>
ElementaryMatrixType ElementaryMatrixSet< ElementaryMatrixType >::__massOperatorMatrix [private]

template<typename ElementaryMatrixType>
TinyVector<3,ElementaryMatrixType > ElementaryMatrixSet< ElementaryMatrixType >::__firstOrderUdxVMatrix [private]

template<typename ElementaryMatrixType>
TinyVector<3,ElementaryMatrixType > ElementaryMatrixSet< ElementaryMatrixType >::__firstOrderDxUVMatrix [private]

template<typename ElementaryMatrixType>
TinyMatrix<3,3, ElementaryMatrixType > ElementaryMatrixSet< ElementaryMatrixType >::__secondOrderOperatorMatrix [private]


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

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