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 () |
NAME: SubdCommAdm - a generic interface binding standard Diffpack sequential linear algebra libraries with inter-processor communication functionalities
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.