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::
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) |
| DegFreeFE& | getDegFreeFE (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. |
|
|
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.