Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

massMatrix Class Reference

Main class for finite element assembly of a generic mass matrix. More...

#include <massMatrix.h>

Inheritance diagram for massMatrix:

ot::fem::feMatrix< massMatrix > ot::fem::feMat List of all members.

Public Member Functions

bool ElementalMatGetDiagonal (unsigned int idx, PetscScalar *diag, double scale)
bool ElementalMatGetDiagonal (int i, int j, int k, PetscScalar ***diag, double scale)
bool ElementalMatVec (unsigned int idx, PetscScalar *in, PetscScalar *out, double scale)
 The elemental matrix-vector multiplication routine that is used by matrix-free methods.
bool ElementalMatVec (int i, int j, int k, PetscScalar ***in, PetscScalar ***out, double scale)
 The elemental matrix-vector multiplication routine that is used by matrix-free methods.
bool initStencils ()
 massMatrix (daType da)
bool postMatVec ()
bool preMatVec ()
void setNuVec (Vec nv)

Detailed Description

Main class for finite element assembly of a generic mass matrix.

Author:
Hari Sundar
Date:
5/8/07
Main class for finite element assembly of a generic mass matrix. The density image needs to be set and is used for the computation of the matrix. MatVec functions are virtual and in most cases need not be specified as they are obtained from the parent feMatrix class. In most cases only the assembly of the element matrix needs to be done within this or a derived class.

Definition at line 33 of file massMatrix.h.


Constructor & Destructor Documentation

massMatrix::massMatrix daType  da  ) 
 

Definition at line 73 of file massMatrix.h.

References ot::fem::feMatrix< massMatrix >::initOctLut(), and initStencils().


Member Function Documentation

bool massMatrix::ElementalMatGetDiagonal unsigned int  idx,
PetscScalar *  diag,
double  scale
[inline]
 

Reimplemented from ot::fem::feMatrix< massMatrix >.

Definition at line 295 of file massMatrix.h.

References ot::fem::feMatrix< massMatrix >::alignElementAndVertices(), and ot::DA::getLevel().

bool massMatrix::ElementalMatGetDiagonal int  i,
int  j,
int  k,
PetscScalar ***  diag,
double  scale
[inline]
 

Reimplemented from ot::fem::feMatrix< massMatrix >.

Definition at line 317 of file massMatrix.h.

bool massMatrix::ElementalMatVec unsigned int  i,
PetscScalar *  in,
PetscScalar *  out,
double  scale
[inline]
 

The elemental matrix-vector multiplication routine that is used by matrix-free methods.

Parameters:
_in PETSc Vec which is the input vector with whom the product is to be calculated.
_out PETSc Vec, the output of M*_in
Returns:
bool true if successful, false otherwise.
Todo:
Might have to change _in and _out to std. C arrays for speed.
The implementation for this function shall be in derived classes, based on the problem formulation. Look at MassMatrix and StiffnessMatrix for standard implementations.

Reimplemented from ot::fem::feMatrix< massMatrix >.

Definition at line 238 of file massMatrix.h.

References ot::fem::feMatrix< massMatrix >::alignElementAndVertices(), and ot::DA::getLevel().

bool massMatrix::ElementalMatVec int  i,
int  j,
int  k,
PetscScalar ***  in,
PetscScalar ***  out,
double  scale
[inline]
 

The elemental matrix-vector multiplication routine that is used by matrix-free methods.

Parameters:
_in PETSc Vec which is the input vector with whom the product is to be calculated.
_out PETSc Vec, the output of M*_in
Returns:
bool true if successful, false otherwise.
Todo:
Might have to change _in and _out to std. C arrays for speed.

Reimplemented from ot::fem::feMatrix< massMatrix >.

Definition at line 264 of file massMatrix.h.

bool massMatrix::initStencils  )  [inline]
 

Reimplemented from ot::fem::feMatrix< massMatrix >.

Definition at line 88 of file massMatrix.h.

Referenced by massMatrix().

bool massMatrix::postMatVec  ) 
 

Reimplemented from ot::fem::feMatrix< massMatrix >.

Definition at line 290 of file massMatrix.h.

bool massMatrix::preMatVec  ) 
 

Reimplemented from ot::fem::feMatrix< massMatrix >.

Definition at line 210 of file massMatrix.h.

References ot::DA::getDimension(), and ot::DA::getMaxDepth().

void massMatrix::setNuVec Vec  nv  )  [inline]
 

Definition at line 58 of file massMatrix.h.


The documentation for this class was generated from the following file:
Generated on Tue Mar 24 16:14:18 2009 for DENDRO by  doxygen 1.3.9.1