Main Page | Class Hierarchy | Class List | File List | Class Members

PromPCGaussSeidel Class Reference

class PromPCGaussSeidel More...

#include <prometheus.hh>

Inheritance diagram for PromPCGaussSeidel:

Inheritance graph
[legend]
Collaboration diagram for PromPCGaussSeidel:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 PromPCGaussSeidel (const PromOptions &opt, PromPerfMonitor &perf)
int Create (const PromMatrix *const, const PromIS *const domainISs, const int nblocks)
virtual int Apply_private (const PromVector_base *const bb, PromVector_base *const xx, const bool zerox=TRUE)
virtual int SetUp_private ()
virtual const char * getPCString () const
 utility methods

virtual const char * getSubPCString () const
virtual int getNumBlocks () const
virtual PromPCType getType () const
virtual int takeNonZeroGuess () const
virtual int SetNewOperator_private (const PromMatrix_base *const Ab)
virtual int SetOperator_private (const PromMatrix_base *const Ab)
int ReorderNodes (double wieghts[], int len)

Public Attributes

int nGSBlocks_
int bs_
bool pre_smooth_
bool symmetric_
MPI_Comm comm_
double * NodalFactors_
double * ghostx_
int * NodalFactorPointers_
PromPCpc_
const PromMatrixA_

Private Member Functions

int Create_private (const PromIS *const domainISs)
int Apply_one (const PromVector *const bb, PromVector *const xx, bool zerog=FALSE, bool send_post=TRUE)
virtual int Setup_private (PromList< int > **const block_procs, PromTable< int > **const block_gid_ghostLid, PromList< int > **block_nodeLids, PromList< int > **block_boundLids, PromList< int > **block_adjacBLids, PromTable< PromTable< int > * > *const proc_boundNodes, const PromIS *const domainISs, PromList< int > *highlist, PromList< int > *lowlist)
int ColorProcs (PromList< int > *const highlist, PromList< int > *const lowlist)
int SetBlockTypes (const PromList< int > *const *const block_procs, const PromTable< PromTable< int > * > *const proc_bNodes, PromBlockType block_type[], int lid_blockGID[], const PromIS *const domainISs)
int MakeLists (PromList< int > *const *const block_procs, const PromTable< int > *const *const block_ghosts, const PromBlockType block_type[], const int lid_blockGID[], const PromList< int > *const *const block_nodeLids, const PromList< int > *const *const block_boundNodes, const PromList< int > *const *const block_adajacBlids, const PromIS *const domainISs)
int SetupNodalGS ()
int DoBlocks (const int nb, const int blocks[], const PromVector *const bb, PromVector *const xx) const
int DoBlocks_nodal_1 (const int nb, const int block[], const PromVector *const b, PromVector *const x) const
int DoBlocks_nodal_3 (const int nb, const int block[], const PromVector *const bb, PromVector *const xx) const
int DoBlocks_nodal_6 (const int nb, const int block[], const PromVector *const bb, PromVector *const xx) const
int DoBlocks_nodal (const int nb, const int block[], const PromVector *const bb, PromVector *const xx, const int ndf) const
int DoBlocks_schwarz_1 (const int nb, const int block[], const PromVector *const bb, PromVector *const xx, const PromPC *const pc) const
int DoBlocks_schwarz_3 (const int nb, const int block[], const PromVector *const bb, PromVector *const xx, const PromPC *const pc) const
int DoBlocks_schwarz_6 (const int nb, const int block[], const PromVector *const bb, PromVector *const xx, const PromPC *const pc) const
int DoBlocks_schwarz (const int nb, const int block[], const PromVector *const bb, PromVector *const xx, const PromPC *const pc, const int ndf) const
int GetProc (const int gid, int &proc) const
int PostRecvs (const PromAList< PromProcXComm * > *commxList) const
int SendLocalx (const PromList< PromProcXComm * > *commxList, const PromVector *const xx) const
int RecvDoGhostx (PromAList< PromProcXComm * > *const commxList, const PromVector *const bb=NULL, PromVector *const xx=NULL) const
int WaitForList (const PromList< PromProcXComm * > *commxList) const
int SendISblocks (PromTable< PromList< PromBlockXComm * > * > *proc_list, PromList< MPI_Request * > *smessages, const PromVector *const xx, const int tag) const
int RecvBlockGhostx (double ghostx[], const int nghostEqs, const int tag, const bool iprobe, int &ndone) const

Static Private Member Functions

int BfsReorder (PromList< int > *blidList, const PromList< int > *const *const block_adjacBLids, PromList< int > *list, PromList< int > *nextRoots, bool buff1[], bool buff2[], const bool print=FALSE)

Private Attributes

int maxnGSBlocks_
PromTable< PromGSNode * > gbid_ghost_
PromGSCont blocksLists_ [PROM_NBLKLISTTYPES]
PromList< PromProcXComm * > lowProc_send_
PromAList< PromProcXComm * > lowProc_recv_
PromAList< PromProcXComm * > highProc_recv_
PromList< PromProcXComm * > highProc_send_
PromTable< PromGSBlock * > gbid_ISBlock_
PromTable< int > proc_color_

Detailed Description

class PromPCGaussSeidel


The documentation for this class was generated from the following files:
Generated on Fri May 21 14:18:16 2004 by doxygen 1.3.7