Diffpack Documentation


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

SubdCommAdm Class Reference

a generic interface binding standard Diffpack sequential linear algebra libraries with inter-processor communication functionalities. More...

#include <SubdCommAdm.h>

Inheritance diagram for SubdCommAdm::

HandleId GridPartAdm List of all members.

Public Methods

virtual ~SubdCommAdm ()
virtual int getNoGlobalSubds ()
virtual bool overlappingSubgrids ()
virtual bool copyMatrixWithEssIBC (const LinEqMatrix &A_orig, LinEqMatrix &A_new)
virtual void updateGlobalValues (VecSimple(NUMT) &vec)
virtual void updateGlobalValues (LinEqVector &lvec)
virtual void updateGlobalValues (VecSimplest(Handle(Vec(NUMT))) &vecs)
virtual void updateInteriorBoundaryNodes (VecSimple(NUMT))&
virtual void updateInteriorBoundaryNodes (LinEqVector &)
virtual void updateInteriorBoundaryNodes (VecSimplest(Handle(Vec(NUMT))))&
virtual void matvec (const LinEqMatrix &Amat, const LinEqVector &c, LinEqVector &d, TransposeMode tpmode=NOT_TRANSPOSED, bool add_to_yb=false)
virtual real innerProd (Vec(NUMT) &c_vec, Vec(NUMT) &d_vec)
virtual real innerProd (LinEqVector &x, LinEqVector &y)
virtual real innerProd (VecSimplest(Handle(Vec(NUMT))) &c_vecs, VecSimplest(Handle(Vec(NUMT))) &d_vecs)
virtual real norm (Vec(NUMT) &c_vec, Norm_type lp=l2)
virtual real norm (LinEqVector &lvec, Norm_type lp=l2)
virtual real norm (VecSimplest(Handle(Vec(NUMT))) &c_vecs, Norm_type lp=l2)
virtual real normDiff (Vec(NUMT) &c_vec, Vec(NUMT) &d_vec, Norm_type lp=l2)
virtual real normDiff (LinEqVector &x, LinEqVector &y, Norm_type lp=l2)
virtual real normDiff (VecSimplest(Handle(Vec(NUMT))) &c_vecs, VecSimplest(Handle(Vec(NUMT))) &d_vecs, Norm_type lp=l2)

Protected Methods

 SubdCommAdm ()

Detailed Description

a generic interface binding standard Diffpack sequential linear algebra libraries with inter-processor communication functionalities.

NAME: SubdCommAdm - a generic interface binding standard Diffpack sequential linear algebra libraries with inter-processor communication functionalities

DESCRIPTION:

This class serves as a linkage between standard Diffpack sequential linear algebra libraries and parallel computing. Many standard Diffpack classes such as "LinEqSolver", "LinEqSystem", "LinEqAdm" etc now have an internal "Handle(SubdCommAdm)" that can be used to access inter-processor communication functionalities provided by an object of "GridPartAdm" (subclass of "SubdCommAdm") during parallel computing. This "Handle(SubdCommAdm)" will be empty by default, only during parallel computing will it point to an object of "GridPartAdm". Class "SubdCommAdm" is actually a dummy interface class because all its member functions have an empty definition. In this way, it is possible to keep the huge standard Diffpack sequential libraries intact, while collecting all the parallel computing related functionalities into a small and independent add-on library.


Constructor & Destructor Documentation

SubdCommAdm::SubdCommAdm ( ) [inline, protected]
 

There is only one constructor that takes no input parameter.

SubdCommAdm::~SubdCommAdm ( ) [inline, virtual]
 


Member Function Documentation

bool SubdCommAdm::copyMatrixWithEssIBC ( const LinEqMatrix & A_orig,
LinEqMatrix & A_new ) [virtual]
 

Reimplemented in GridPartAdm.

int SubdCommAdm::getNoGlobalSubds ( ) [virtual]
 

Reimplemented in GridPartAdm.

real SubdCommAdm::innerProd ( VecSimplest(Handle(Vec(NUMT))) & c_vecs,
VecSimplest(Handle(Vec(NUMT))) & d_vecs ) [virtual]
 

real SubdCommAdm::innerProd ( LinEqVector & x,
LinEqVector & y ) [virtual]
 

Reimplemented in GridPartAdm.

real SubdCommAdm::innerProd ( Vec(NUMT) & c_vec,
Vec(NUMT) & d_vec ) [virtual]
 

void SubdCommAdm::matvec ( const LinEqMatrix & Amat,
const LinEqVector & c,
LinEqVector & d,
TransposeMode tpmode = NOT_TRANSPOSED,
bool add_to_yb = false ) [virtual]
 

Reimplemented in GridPartAdm.

real SubdCommAdm::norm ( VecSimplest(Handle(Vec(NUMT))) & c_vecs,
Norm_type lp = l2 ) [virtual]
 

real SubdCommAdm::norm ( LinEqVector & lvec,
Norm_type lp = l2 ) [virtual]
 

Reimplemented in GridPartAdm.

real SubdCommAdm::norm ( Vec(NUMT) & c_vec,
Norm_type lp = l2 ) [virtual]
 

real SubdCommAdm::normDiff ( VecSimplest(Handle(Vec(NUMT))) & c_vecs,
VecSimplest(Handle(Vec(NUMT))) & d_vecs,
Norm_type lp = l2 ) [virtual]
 

real SubdCommAdm::normDiff ( LinEqVector & x,
LinEqVector & y,
Norm_type lp = l2 ) [virtual]
 

Reimplemented in GridPartAdm.

real SubdCommAdm::normDiff ( Vec(NUMT) & c_vec,
Vec(NUMT) & d_vec,
Norm_type lp = l2 ) [virtual]
 

bool SubdCommAdm::overlappingSubgrids ( ) [virtual]
 

Reimplemented in GridPartAdm.

void SubdCommAdm::updateGlobalValues ( VecSimplest(Handle(Vec(NUMT))) & vecs ) [virtual]
 

void SubdCommAdm::updateGlobalValues ( LinEqVector & lvec ) [virtual]
 

Reimplemented in GridPartAdm.

void SubdCommAdm::updateGlobalValues ( VecSimple(NUMT) & vec ) [virtual]
 

void SubdCommAdm::updateInteriorBoundaryNodes ( VecSimplest(Handle(Vec(NUMT))) ) [virtual]
 

void SubdCommAdm::updateInteriorBoundaryNodes ( LinEqVector & lvec ) [virtual]
 

Reimplemented in GridPartAdm.

void SubdCommAdm::updateInteriorBoundaryNodes ( VecSimple(NUMT) ) [virtual]
 


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