UnAssembledMatrix Class Reference

#include <UnAssembledMatrix.hpp>

Inheritance diagram for UnAssembledMatrix:

Inheritance graph
[legend]
Collaboration diagram for UnAssembledMatrix:

Collaboration graph
[legend]

List of all members.

Public Types

enum  Type { doubleHashedMatrix, sparseMatrix, unAssembled }

Public Member Functions

void reset ()
void getDiagonal (BaseVector &X) const
 used to get the diagonal of the Matrix and stores it in the vector X.
void transposedTimesX (const BaseVector &X, BaseVector &Z) const
 Computes z = A*x+y.
void timesX (const BaseVector &X, BaseVector &Z) const
 Computes z = A*x.
void setDiscretization (ConstReferenceCounting< Discretization > discretization)
void setBoundaryConditions (ConstReferenceCounting< BoundaryConditionDiscretization > bcDiscret)
 UnAssembledMatrix (size_t size)
 ~UnAssembledMatrix ()
const size_t & size () const
const BaseMatrix::Typetype () const

Protected Attributes

BaseMatrix::Type __type
size_t __size

Private Attributes

ConstReferenceCounting
< Discretization
__discretization
ConstReferenceCounting
< BoundaryConditionDiscretization
__BCDiscretization


Detailed Description

Definition at line 32 of file UnAssembledMatrix.hpp.


Member Enumeration Documentation

enum BaseMatrix::Type [inherited]

Enumerator:
doubleHashedMatrix 
sparseMatrix 
unAssembled 

Definition at line 30 of file BaseMatrix.hpp.

00030             {
00031     doubleHashedMatrix,
00032     sparseMatrix,
00033 #ifdef    HAVE_PETSC
00034     petscMatrix,
00035 #endif // HAVE_PETSC
00036     unAssembled
00037   };


Constructor & Destructor Documentation

UnAssembledMatrix::UnAssembledMatrix ( size_t  size  ) 

Definition at line 70 of file UnAssembledMatrix.cpp.

00071   : BaseMatrix(BaseMatrix::unAssembled, size),
00072     __discretization(0),
00073     __BCDiscretization(0)
00074 {
00075   ;
00076 }

UnAssembledMatrix::~UnAssembledMatrix (  ) 

Definition at line 78 of file UnAssembledMatrix.cpp.

00079 {
00080   ;
00081 }


Member Function Documentation

void UnAssembledMatrix::reset (  )  [inline, virtual]

Sets the matrix to zero

Implements BaseMatrix.

Definition at line 40 of file UnAssembledMatrix.hpp.

00041   {
00042     ;
00043   }

void UnAssembledMatrix::getDiagonal ( BaseVector X  )  const [virtual]

used to get the diagonal of the Matrix and stores it in the vector X.

Implements BaseMatrix.

Definition at line 27 of file UnAssembledMatrix.cpp.

00028 {
00029   static_cast<Vector<real_t>&>(X) = 0;
00030   (*__discretization).getDiagonal(X);
00031   (*__BCDiscretization).getDiagonal(X);
00032 }

void UnAssembledMatrix::transposedTimesX ( const BaseVector X,
BaseVector Z 
) const [virtual]

Computes z = A*x+y.

Implements BaseMatrix.

Definition at line 34 of file UnAssembledMatrix.cpp.

References __BCDiscretization, and __discretization.

00036 {
00037   static_cast<Vector<real_t>&>(Z) = 0;
00038   if(__discretization != 0) {
00039    (*__discretization).transposedTimesX(X,Z);
00040   }
00041   if(__BCDiscretization != 0) {
00042     (*__BCDiscretization).transposedTimesX(X,Z);
00043   }
00044 }

void UnAssembledMatrix::timesX ( const BaseVector X,
BaseVector Z 
) const [virtual]

Computes z = A*x.

Implements BaseMatrix.

Definition at line 46 of file UnAssembledMatrix.cpp.

References __BCDiscretization, and __discretization.

00048 {
00049   static_cast<Vector<real_t>&>(Z) = 0;
00050   if(__discretization != 0) {
00051    (*__discretization).timesX(X,Z);
00052   }
00053   if(__BCDiscretization != 0) {
00054     (*__BCDiscretization).timesX(X,Z);
00055   }
00056 }

void UnAssembledMatrix::setDiscretization ( ConstReferenceCounting< Discretization discretization  ) 

void UnAssembledMatrix::setBoundaryConditions ( ConstReferenceCounting< BoundaryConditionDiscretization bcDiscret  ) 

const size_t& BaseMatrix::size (  )  const [inline, inherited]

const BaseMatrix::Type& BaseMatrix::type (  )  const [inline, inherited]


Member Data Documentation

Definition at line 36 of file UnAssembledMatrix.hpp.

Referenced by setDiscretization(), timesX(), and transposedTimesX().

Definition at line 37 of file UnAssembledMatrix.hpp.

Referenced by setBoundaryConditions(), timesX(), and transposedTimesX().

BaseMatrix::Type BaseMatrix::__type [protected, inherited]

Definition at line 40 of file BaseMatrix.hpp.

Referenced by BaseMatrix::type().

size_t BaseMatrix::__size [protected, inherited]


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

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