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

stiffnessMatrix Class Reference

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

#include <stiffnessMatrix.h>

Inheritance diagram for stiffnessMatrix:

ot::fem::feMatrix< stiffnessMatrix > 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 ()
bool postMatVec ()
bool preMatVec ()
void setNuVec (Vec nv)
 stiffnessMatrix (daType da)

Detailed Description

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

Author:
Hari Sundar
Date:
5/8/7
Main class for finite element assembly of a generic stiffness matrix. The Lame parameter images, i.e., the material properties, $\mu$ and $\lambda$ need to be specified. 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 stiffnessMatrix.h.


Constructor & Destructor Documentation

stiffnessMatrix::stiffnessMatrix daType  da  ) 
 

Definition at line 73 of file stiffnessMatrix.h.

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


Member Function Documentation

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

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

Definition at line 354 of file stiffnessMatrix.h.

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

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

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

Definition at line 324 of file stiffnessMatrix.h.

bool stiffnessMatrix::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< stiffnessMatrix >.

Definition at line 246 of file stiffnessMatrix.h.

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

bool stiffnessMatrix::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< stiffnessMatrix >.

Definition at line 275 of file stiffnessMatrix.h.

bool stiffnessMatrix::initStencils  )  [inline]
 

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

Definition at line 88 of file stiffnessMatrix.h.

Referenced by stiffnessMatrix().

bool stiffnessMatrix::postMatVec  ) 
 

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

Definition at line 311 of file stiffnessMatrix.h.

References ot::DA::vecRestoreBuffer().

bool stiffnessMatrix::preMatVec  ) 
 

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

Definition at line 203 of file stiffnessMatrix.h.

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

void stiffnessMatrix::setNuVec Vec  nv  )  [inline]
 

Definition at line 58 of file stiffnessMatrix.h.

Referenced by main().


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