Diffpack Documentation


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

MatEBE(Type) Class Reference

element by element matrix. More...

#include <MatEBE_Type.h>

Inheritance diagram for MatEBE(Type)::

Matrix_Type HandleId List of all members.

Public Methods

 MatEBE(Type) ()
 MatEBE(Type) (const Matrix(prm_Type) &pm)
 MatEBE(Type) (const MatEBE(Type) &X)
 MatEBE(Type) (int no_eqs, int no_dof, int no_elms, int maxno_elmeqs, int maxno_elmdof, bool all_elms_of_same_type=true)
virtual ~MatEBE(Type) ()
virtual int getNoRows () const
virtual int getNoColumns () const
virtual int getNoNonzeroes () const
virtual int getMaxNoElmEqs () const
virtual int getMaxNoElmDof () const
virtual void size (int &m, int &n) const
int size () const
virtual int getWork (const MatrixWork work_tp=MATVEC_WORK) const
virtual real getStorage () const
virtual bool makeItSimilar (Handle(Matrix(Type)) &M) const
virtual bool redim (const Matrix(prm_Type) &pm)
bool redim (int no_eqs, int no_dof, int no_elms, int maxno_elmeqs, int maxno_elmdof, bool all_elms_of_same_type=true)
virtual bool redim (const VecSimple(int) &ivec, const VecSimple(int) &jvec, int new_nrows, int new_ncolumns)
virtual void getIndexSet (VecSimple(int) &ivec, VecSimple(int) &jvec) const
virtual bool validIndexSet (const VecSimple(int) &ivec, const VecSimple(int) &jvec, const int new_nrows, const int new_ncolumns)
virtual Type& elm (int i, int j)
Type& operator() (int e, int i, int j)
const Type& operator() (int e, int i, int j) const
virtual void fill (const Matrix(Type) &X)
virtual void fill (Type b)
MatEBE(Type)& operator= (const MatEBE(Type) &X)
MatEBE(Type)& operator= (Type b)
virtual void assemble (const Mat(Type) &em, const VecSimple(int) &idx_row_trans, const VecSimple(int) &idx_col_trans, int e)
virtual void add (Matrix(Type) &bb, Matrix(Type) &cb)
virtual void add (Matrix(Type) &bb, char s, Matrix(Type) &cb)
virtual void add (Matrix(Type) &bb, Type b, Matrix(Type) &cb)
virtual void add (Type a, Matrix(Type) &bb, Type b, Matrix(Type) &cb)
virtual void mult (Type value)
virtual void prod (const Vector(Type) &xb, Vector(Type) &yb, TransposeMode tpmode=NOT_TRANSPOSED, bool add_to_yb=false) const
bool factChol (bool zero_upper_part=true)
void forwBackChol (Vec(Type) &b, Vec(Type) &x)
bool factLU ()
void forwBackLU (Vec(Type) &b, Vec(Type) &x)
bool factRILU (real omega=0.0, int level=0)
void forwBackRILU (Vec(Type) &b, Vec(Type) &x)
virtual bool factorize (const FactStrategy &fstrategy)
virtual void forwBack (Vector(Type) &b, Vector(Type) &x)
virtual void inverse (Mat(Type) &inv)
void inverse (MatEBE(Type) &inv)
Type det ()
virtual void SSOR1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void SSORsolve (Vector(Type) &y, const Vector(Type) &c, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void SOR1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void SORsolve (Vector(Type) &y, const Vector(Type) &c, real omega, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void Jacobi1it (Vector(Type) &xnew, const Vector(Type) &xold, const Vector(Type) &b, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void Jacobisolve (Vector(Type) &y, const Vector(Type) &c, TransposeMode tpmode=NOT_TRANSPOSED) const
virtual void print (Os os, const char *header=NULL, int nentries_per_line=3) const
virtual void printAscii (Os os, const char *header=NULL) const
virtual void scan (Is is)
virtual void save (const char *filename, const char *name="X") const
virtual void load (const char *filename, const char *name="X")
CLASS_INFO VIRTUAL_CAST (MatEBE(Type))

Protected Methods

void copy_simple_parameters (const MatEBE(Type) &X)

Protected Attributes

ArrayGen(Type) a
ArrayGenSimple(int) loc2glob_eqs
ArrayGenSimple(int) loc2glob_dof
int no_eqs
int no_dof
int no_elms
int maxno_elmeqs
int maxno_elmdof
bool all_elms_of_same_type

Friends

Osoperator<< (Os &os, const MatEBE(Type) &X)
Isoperator>> (Is &is, MatEBE(Type) &X)

Detailed Description

element by element matrix.

NAME: MatEBE(Type) - element by element matrix

DESCRIPTION:

The class defines a matrix where the contributions are stored element by element (in conjunction with finite element formulations) in an object of type ArrayGen. The first index of the ArrayGen object runs over the elements, while 2nd and 3rd indices equal the (maximum) number of equations and degrees of freedom in the elements, respectively. Derivation from class "Matrix(Type)" ensures that the class is of a matrix nature. The matrix is filled through calls to the assemble function (in the element loop).


Constructor & Destructor Documentation

MatEBE(Type)::MatEBE_Type ( ) [inline]
 

MatEBE(Type)::MatEBE_Type ( const Matrix(prm_Type) & pm )
 

See documentation of one of the overloaded constructor.

MatEBE(Type)::MatEBE_Type ( const MatEBE(Type) & X )
 

See documentation of one of the overloaded constructor.

MatEBE(Type)::MatEBE_Type ( int no_eqs,
int no_dof,
int no_elms,
int maxno_elmeqs,
int maxno_elmdof,
bool all_elms_of_same_type = true )
 

See documentation of one of the overloaded constructor.

MatEBE(Type)::~MatEBE(Type) ( ) [virtual]
 


Member Function Documentation

void MatEBE(Type)::Jacobi1it ( Vector(Type) & xnew,
const Vector(Type) & xold,
const Vector(Type) & b,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::Jacobisolve ( Vector(Type) & y,
const Vector(Type) & c,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::SOR1it ( Vector(Type) & xnew,
const Vector(Type) & xold,
const Vector(Type) & b,
real omega,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::SORsolve ( Vector(Type) & y,
const Vector(Type) & c,
real omega,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::SSOR1it ( Vector(Type) & xnew,
const Vector(Type) & xold,
const Vector(Type) & b,
real omega,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::SSORsolve ( Vector(Type) & y,
const Vector(Type) & c,
real omega,
TransposeMode tpmode = NOT_TRANSPOSED ) const [virtual]
 

Reimplemented from Matrix(Type).

CLASS_INFO MatEBE(Type)::VIRTUAL_CAST ( MatEBE(Type) )
 

void MatEBE(Type)::add ( Type a,
Matrix(Type) & bb,
Type b,
Matrix(Type) & cb ) [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::add ( Matrix(Type) & bb,
Type b,
Matrix(Type) & cb ) [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::add ( Matrix(Type) & bb,
char s,
Matrix(Type) & cb ) [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::add ( Matrix(Type) & bb,
Matrix(Type) & cb ) [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::assemble ( const Mat(Type) & em,
const VecSimple(int) & idx_row_trans,
const VecSimple(int) & idx_col_trans,
int e ) [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::copy_simple_parameters ( const MatEBE(Type) & X ) [protected]
 

copies simple members, i.e. no_eqs, no_dof etc., from the argument of type "MatEBE(Type)" to the present object.

Type MatEBE(Type)::det ( )
 

Type & MatEBE(Type)::elm ( int i,
int j ) [virtual]
 

Reimplemented from Matrix(Type).

bool MatEBE(Type)::factChol ( bool zero_upper_part = true )
 

bool MatEBE(Type)::factLU ( )
 

bool MatEBE(Type)::factRILU ( real omega = 0.0,
int level = 0 )
 

bool MatEBE(Type)::factorize ( const FactStrategy & fstrategy ) [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::fill ( Type b ) [inline, virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::fill ( const Matrix(Type) & X ) [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::forwBack ( Vector(Type) & b,
Vector(Type) & x ) [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::forwBackChol ( Vec(Type) & b,
Vec(Type) & x )
 

void MatEBE(Type)::forwBackLU ( Vec(Type) & b,
Vec(Type) & x )
 

void MatEBE(Type)::forwBackRILU ( Vec(Type) & b,
Vec(Type) & x )
 

void MatEBE(Type)::getIndexSet ( VecSimple(int) & ivec,
VecSimple(int) & jvec ) const [virtual]
 

Reimplemented from Matrix(Type).

int MatEBE(Type)::getMaxNoElmDof ( ) const [inline, virtual]
 

int MatEBE(Type)::getMaxNoElmEqs ( ) const [inline, virtual]
 

int MatEBE(Type)::getNoColumns ( ) const [inline, virtual]
 

returns the number of columns in the current object when viewed (logically) as a full matrix.

Reimplemented from Matrix(Type).

int MatEBE(Type)::getNoNonzeroes ( ) const [inline, virtual]
 

returns the number of nonzero entries represented in the current object. Note that this function does not take symmetric storage formats into account. That is, it also counts entry "a(j,i)" even if this value is not stored due to symmetry properties. This function does not check for stored zero entries, but counts all entries represented by the chosen matrix format.

Reimplemented from Matrix(Type).

int MatEBE(Type)::getNoRows ( ) const [inline, virtual]
 

returns the number of rows in the current object when viewed (logically) as a full matrix.

Reimplemented from Matrix(Type).

real MatEBE(Type)::getStorage ( ) const [virtual]
 

Reimplemented from Matrix(Type).

int MatEBE(Type)::getWork ( const MatrixWork work_tp = MATVEC_WORK ) const [virtual]
 

returns the operation count for the last computation of the type indicated by the "MatrixWork" argument.

Reimplemented from Matrix(Type).

void MatEBE(Type)::inverse ( MatEBE(Type) & inv )
 

void MatEBE(Type)::inverse ( Mat(Type) & inv ) [virtual]
 

void MatEBE(Type)::load ( const char * filename,
const char * name = "X" ) [virtual]
 

quite similar to "save", this function permits Matlab data files to be entered into the current vector object. If available, the binary format is used, otherwise it reads plain ASCII files.

The version implemented in this base class is dummy, stating that the described functionality is not available. To overrule this behaviour, the "load" function should be implemented for the specific format(s).

Reimplemented from Matrix(Type).

bool MatEBE(Type)::makeItSimilar ( Handle(Matrix(Type)) & M ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::mult ( Type value ) [virtual]
 

Reimplemented from Matrix(Type).

const Type & MatEBE(Type)::operator() ( int e,
int i,
int j ) const
 

Type & MatEBE(Type)::operator() ( int e,
int i,
int j )
 

MatEBE(Type) & MatEBE(Type)::operator= ( Type b ) [inline]
 

Reimplemented from Matrix(Type).

MatEBE(Type) & MatEBE(Type)::operator= ( const MatEBE(Type) & X )
 

void MatEBE(Type)::print ( Os os,
const char * header = NULL,
int nentries_per_line = 3 ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::printAscii ( Os os,
const char * header = NULL ) const [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::prod ( const Vector(Type) & xb,
Vector(Type) & yb,
TransposeMode tpmode = NOT_TRANSPOSED,
bool add_to_yb = false ) const [virtual]
 

Reimplemented from Matrix(Type).

bool MatEBE(Type)::redim ( const VecSimple(int) & ivec,
const VecSimple(int) & jvec,
int new_nrows,
int new_ncolumns ) [virtual]
 

Reimplemented from Matrix(Type).

bool MatEBE(Type)::redim ( int no_eqs,
int no_dof,
int no_elms,
int maxno_elmeqs,
int maxno_elmdof,
bool all_elms_of_same_type = true )
 

bool MatEBE(Type)::redim ( const Matrix(prm_Type) & pm ) [virtual]
 

Reimplemented from Matrix(Type).

void MatEBE(Type)::save ( const char * filename,
const char * name = "X" ) const [virtual]
 

saves the current vector object in a file that is readable for Matlab. If available, the utilities for Matlab's internal binary data file format is used. Otherwise, the output is given as a plain ASCII file that can be loaded in Matlab.

The version implemented in this base class is dummy, stating that the described functionality is not available. To overrule this behaviour, the "save" function should be implemented for the specific format(s).

Reimplemented from Matrix(Type).

void MatEBE(Type)::scan ( Is is ) [virtual]
 

Reimplemented from Matrix(Type).

int MatEBE(Type)::size ( ) const
 

void MatEBE(Type)::size ( int & m,
int & n ) const [virtual]
 

Reimplemented from Matrix(Type).

bool MatEBE(Type)::validIndexSet ( const VecSimple(int) & ivec,
const VecSimple(int) & jvec,
const int new_nrows,
const int new_ncolumns ) [virtual]
 

Reimplemented from Matrix(Type).


Friends And Related Function Documentation

Os & operator<< ( Os & os,
const MatEBE(Type) & X ) [friend]
 

Is & operator>> ( Is & is,
MatEBE(Type) & X ) [friend]
 


Member Data Documentation

ArrayGen(Type) MatEBE(Type)::a [protected]
 

bool MatEBE(Type)::all_elms_of_same_type [protected]
 

ArrayGenSimple(int) MatEBE(Type)::loc2glob_dof [protected]
 

ArrayGenSimple(int) MatEBE(Type)::loc2glob_eqs [protected]
 

int MatEBE(Type)::maxno_elmdof [protected]
 

int MatEBE(Type)::maxno_elmeqs [protected]
 

int MatEBE(Type)::no_dof [protected]
 

int MatEBE(Type)::no_elms [protected]
 

int MatEBE(Type)::no_eqs [protected]
 


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