Diffpack Documentation


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

LinEqAdmFV Class Reference

user-friendly interface to the "LinEq*" classes for linear systems. More...

#include <LinEqAdmFV.h>

Inheritance diagram for LinEqAdmFV::

LinEqAdm HandleId List of all members.

Public Methods

 LinEqAdmFV (LinEqStorageMode storage_mode=EXTERNAL_SOLUTION)
 ~LinEqAdmFV ()
void initAssemble (DegFreeFV &dof, const VolItgRules &itg_rules, const VolInterpolation &intpol, bool compute_A=true, bool compute_RHS=true)
void initAssemble (DegFreeFV &dof, const VolItgRules &itg_rules, const VolInterpolation &intpol, Matrix(NUMT) &extern_matrix)
void initAssemble (DegFreeFV &dof, const VolItgRules &itg_rules, const VolInterpolation &intpol, Vector(NUMT) &extern_vector)
void initAssemble (DegFreeFV &dof, const VolItgRules &itg_rules, const VolInterpolation &intpol, Handle(Matrix(NUMT)) &extern_matrix)
void initAssemble (DegFreeFV &dof, const VolItgRules &itg_rules, const VolInterpolation &intpol, Handle(Vector(NUMT)) &extern_vector)
void initRHS (const Vec(NUMT) &rhs)
void define (MenuSystem &menu, int level=MAIN)

Static Public Methods

void defineStatic (MenuSystem &menu, int level)

Detailed Description

user-friendly interface to the "LinEq*" classes for linear systems.

NAME: "LinEqAdmFV" - user-friendly interface to the "LinEq*" classes for linear systems

DESCRIPTION:

This class provides a user-friendly interface the various modules involved when solving a linear system of equations in a finite volume or cont rol volume setting. In such cases, the "LinEqAdmFV" object can also be used to assemble the coefficient matrix and the right-hand side. To summarize, the class can be used in three ways:

$\begin{itemize}

`\item\underline{`Storage mode 1,`}` "EXTERNAL_STORAGE": All system data are allocated and assigned proper values outside the class. The quantities `$`A, x, b`$` and eventual preconditioners must be attached to class "LinEqAdmFV" by using the "attach" function.

`\item\underline{`Storage mode 2,`}` "EXTERNAL_SOLUTION": All system data, except the solution vector `$`x`$` are allocated internally. The solution vector must then be attached. This mode is used if the user has a field and want the grid point values of this field to be the solution vector in the system.

`\item\underline{`Storage mode 3,`}` "INTERNAL_STORAGE": All system data (`$`A, x, b`$` and eventual preconditioners) are allocated internally.

$\end{itemize}


Constructor & Destructor Documentation

LinEqAdmFV::LinEqAdmFV ( LinEqStorageMode storage_mode = EXTERNAL_SOLUTION )
 

The constructor of class "LinEqAdmFV" takes the storage mode as argument. The menu and "scan" functions depend on the mode. For mode 1, there are no menu items and no scanning for parameters regarding the matrix type. See also the base class "LinEqAdm".

LinEqAdmFV::~LinEqAdmFV ( ) [inline]
 


Member Function Documentation

void LinEqAdmFV::define ( MenuSystem & menu,
int level = MAIN ) [virtual]
 

builds the "LinEqAdm" submenu and adds it to the specified menu system. The behaviour of "define" depends on the use of"fullMenu". Notice that there is also a static version of this function callled "defineStatic".

Reimplemented from LinEqAdm.

void LinEqAdmFV::defineStatic ( MenuSystem & menu,
int level ) [static]
 

Reimplemented from LinEqAdm.

void LinEqAdmFV::initAssemble ( DegFreeFV & dof,
const VolItgRules & itg_rules,
const VolInterpolation & intpol,
Handle(Vector(NUMT)) & extern_vector )
 

void LinEqAdmFV::initAssemble ( DegFreeFV & dof,
const VolItgRules & itg_rules,
const VolInterpolation & intpol,
Handle(Matrix(NUMT)) & extern_matrix )
 

void LinEqAdmFV::initAssemble ( DegFreeFV & dof,
const VolItgRules & itg_rules,
const VolInterpolation & intpol,
Vector(NUMT) & extern_vector )
 

void LinEqAdmFV::initAssemble ( DegFreeFV & dof,
const VolItgRules & itg_rules,
const VolInterpolation & intpol,
Matrix(NUMT) & extern_matrix )
 

void LinEqAdmFV::initAssemble ( DegFreeFV & dof,
const VolItgRules & itg_rules,
const VolInterpolation & intpol,
bool compute_A = true,
bool compute_RHS = true )
 

void LinEqAdmFV::initRHS ( const Vec(NUMT) & rhs )
 


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