Diffpack Documentation


Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

MxElmMatVec Class Reference

block-structured element matrix and vector (mixed FEM). More...

#include <MxElmMatVec.h>

Inheritance diagram for MxElmMatVec::

HandleId List of all members.

Public Methods

 MxElmMatVec ()
 ~MxElmMatVec ()
void setBlockStructure (int i, int j)
void enforceEssBC ()
bool ok () const
void print (Os os, int help=1) const
void attach (SystemCollector &syscoll)
bool refill (int elm_no_)

Public Attributes

MatSimplest(Handle(ElmMatVec)) elm_matvecs
int rowBlocks
int colBlocks
int elm_no

Detailed Description

block-structured element matrix and vector (mixed FEM).

NAME: MxElmMatVec - block-structured element matrix and vector (mixed FEM)

DESCRIPTION:

The class extends "ElmMatVec" to block-structured element matrices and vectors that are convenient when programming mixed finite elements. Mixed finite element solvers utilizing direct solution methods for linear systems can be coded with a traditional "ElmMatVec" object to hold the element matrix and vector, but if iterative solution methods are to be used, the block structure of the linear system is often essential in the solution methods and preconditioners. In that case, "MxElmMatVec" is a convenient tool.

The "MxElmMatVec" class is mainly used from the "SystemCollector" class.


Constructor & Destructor Documentation

MxElmMatVec::MxElmMatVec ( ) [inline]
 

No initialization is performed by the constructor. The first initialization is to call the "attach" function with a "SystemCollector" argument, which supplies degree of freedom information to allocate the internal data structure (no of blocks etc). The "refill" function must be then be called for each new element.

MxElmMatVec::~MxElmMatVec ( )
 


Member Function Documentation

void MxElmMatVec::attach ( SystemCollector & syscoll )
 

initialization function to be called before the assembly process starts looping over the elements (provided the block-structure is the same for all elements). The only things from "SystemCollector" that is attached, are the various "DegFreeFE" objects for the different blocks.

void MxElmMatVec::enforceEssBC ( )
 

bool MxElmMatVec::ok ( ) const
 

void MxElmMatVec::print ( Os os,
int help = 1 ) const
 

prints the block matrices and vectors by calling the "print" function of "ElmMatVec" for each block. The "help" argument is just forwarded to this latter "print" function.

bool MxElmMatVec::refill ( int elm_no )
 

void MxElmMatVec::setBlockStructure ( int i,
int j )
 

used to redimension the no of row and column blocks. (Normally, this redimension is performed initially through the "attach" function call.)


Member Data Documentation

int MxElmMatVec::colBlocks
 

MatSimplest(Handle(ElmMatVec)) MxElmMatVec::elm_matvecs
 

int MxElmMatVec::elm_no
 

int MxElmMatVec::rowBlocks
 


The documentation for this class was generated from the following file:
Copyright © 2003 inuTech GmbH. All rights reserved.