#include <prometheus.hh>
Inheritance diagram for PromPCGaussSeidel:


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_ |
| PromPC * | pc_ |
| const PromMatrix * | A_ |
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_ |
1.3.7