Diffpack Documentation


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

SystemCollector Class Reference

#include <SystemCollector.h>

Inheritance diagram for SystemCollector::

HandleId List of all members.

Public Methods

 SystemCollector ()
 ~SystemCollector ()
void redim (int i, int j)
void attach (MxElmMatVecCalc &elm, int i, int j)
void attach (MxElmMatVecCalc &elm)
void attach (MxIntegrandCalc &in, int i, int j)
void attach (DegFreeFE &dof, int i, bool col)
void attach (MxFEM *fem_)
void attach (MxElmMatVec &elm_mats_)
MxElmMatVecCalc& getMxElmMatVecCalc (int i, int j)
MxIntegrandCalc& getMxIntegrandCalc (int i, int j)
DegFreeFEgetDegFreeFE (int i, bool rows=true)
void calcElmMatVec (int e, MxFiniteElement &mfe, MxElmMatVec &elmcoll, MxFEM *fem_)
void enforceEssBC ()
int getNrows ()
int getNcols ()
void print (Os os, int level=1)
bool ok ()

Detailed Description

NAME: SystemCollector -

DESCRIPTION:

To utilize efficient iterative methods for block-structured linear systems, like those arising from mixed finite element formulation of the Navier-Stokes equations, one can use the block-structured matrices in class "LinEqMatrix". This class implements an easy-to-use utility to assemble block-structured matrices. The problem when assembling the block-structured matrices is that the boundary conditions influence all the block matrices. Hence, we can not just assemble the matrices and put them together afterwards. The "SystemCollector" class was created to offer an interface that handles the boundary conditions on the element level.

This class needs the following objects for each block: one "MxIntegrandCalc" (for defining the weak form), one "MxElmMatVec" object (holding the blocks of the element matrix and vector) and two "DegFreeFE" objects (one for the numbering in the i-direction, i.e. rows, and one for the j-direction, i.e. columns).

If an "MxIntegrandCalc" object is not attached to a block, then the corresponding block is not computed, resulting in a null matrix.


Constructor & Destructor Documentation

SystemCollector::SystemCollector ( ) [inline]
 

SystemCollector::~SystemCollector ( )
 


Member Function Documentation

void SystemCollector::attach ( MxElmMatVec & elm_mats_ )
 

See documentation of one of the overloaded functions.

void SystemCollector::attach ( MxFEM * fem_ )
 

See documentation of one of the overloaded functions.

void SystemCollector::attach ( DegFreeFE & dof,
int i,
bool col )
 

See documentation of one of the overloaded functions.

void SystemCollector::attach ( MxIntegrandCalc & in,
int i,
int j )
 

See documentation of one of the overloaded functions.

void SystemCollector::attach ( MxElmMatVecCalc & elm )
 

See documentation of one of the overloaded functions.

void SystemCollector::attach ( MxElmMatVecCalc & elm,
int i,
int j )
 

used to attach integrand functors, degree of freedom handlers etc to a block in the linear system.

void SystemCollector::calcElmMatVec ( int e,
MxFiniteElement & mfe,
MxElmMatVec & elmcoll,
MxFEM * fem_ )
 

represents a typical block "calcElmMatVecMx" function that works on a system of element matrices.

void SystemCollector::enforceEssBC ( )
 

modifies the element matrix and vector according to essential boundary conditions set in a "DegFreeFE" object. This function inserts the boundary conditions consistently across the different element matrices collected in the "MxElmMatVec" object.

DegFreeFE & SystemCollector::getDegFreeFE ( int i,
bool rows = true )
 

MxElmMatVecCalc & SystemCollector::getMxElmMatVecCalc ( int i,
int j ) [inline]
 

MxIntegrandCalc & SystemCollector::getMxIntegrandCalc ( int i,
int j ) [inline]
 

int SystemCollector::getNcols ( ) [inline]
 

int SystemCollector::getNrows ( ) [inline]
 

bool SystemCollector::ok ( )
 

void SystemCollector::print ( Os os,
int level = 1 )
 

void SystemCollector::redim ( int no_equations,
int no_couplings )
 


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