#include <prom_grid.hh>
Inheritance diagram for PromGrid:


Public Member Functions | |
| PromGrid (const PromOptions &opts, PromPerfMonitor &perf, PromParentBank *const bank, const int nloc, const PromComm &wcomm, const int bsize) | |
| fine grid, normal and dummy grid constructor (const dof per node) | |
| PromGrid (const PromOptions &opts, PromPerfMonitor &perf, PromParentBank *const bank, const int partloc, const int factor, const PromComm &wcomm, const int bsize) | |
| reduced coarse grid (const dof per node) | |
| PromGrid (const PromOptions &opts, PromPerfMonitor &perf, PromParentBank *const bank, const int nloc, const PromComm &wcomm, const int lid_ndof[]) | |
| fine grid and normal grid constructor | |
| PromGrid (const PromOptions &opts, PromPerfMonitor &perf, PromParentBank *const bank, const int partloc, const int factor, const int nLocPartEq, const PromComm &wcomm) | |
| reduced coarse grid | |
| virtual | ~PromGrid () |
| PromGrid deconstructor. | |
| virtual int | Archive (FILE *file=stderr, const PromArchiveType type=PROM_PRINT) |
| Archive grid (read/write or just print). | |
| virtual int | FineGridInitWithA (PromVector *D1_2inv)=0 |
| virtual int | SetCoords (const double coords[], const double *const constoffsets=NULL, PromVector *D1_2inv=NULL) const =0 |
| virtual int | PrepForSolve () |
| virtual int | MakeInitAdjacs ()=0 |
| virtual int | CreateCoarseGridSpace (PromGrid *lastgrid)=0 |
| virtual PromNode * | newNode (const int lid)=0 |
| virtual PromMGType | getMGType ()=0 |
| virtual int | Coarsen ()=0 |
| virtual int | Repartition (PromGrid *lgrid) |
| int | SetIndex (const PromTable< int > &gid_ghostLid) |
| int | GetGhostData (const bool fulldata=TRUE) |
| int | GetProc (const int gid, int &proc) const |
| bool | isActive () const |
| bool | isActive (int proc) const |
| bool | isBase () const |
| bool | isTop () const |
| int | getLevel () const |
| int | getNumLevels () const |
| int | NumSelected (int &nloc, int &nnodes, int &nneq) const |
| int | addGhost (PromNode *&currj, const int procj, const int globalID, const int realID, const int gtag) |
| int | ReceiveAddGhost (int todo, const int gtag, const PromTable< int > &procTable) |
| int | SetNodes (PromGrid *last, const int buffsz, int buff[], const int t2, PromTable< int > &ghost_gid1_lid1, PromList< PromMPINode * > &ghosts) |
| int | ExchangeAdjacs (const int lastfac, MPI_Comm lcomm) |
| int | RepartitionTop (const PromComm &comm) |
| int | SendStatesToSlaves () |
| int | ReceiveStates () |
| int | AddExtraGhostsParents (PromGrid *const nextg, const PromMatrix *const CC=NULL) |
| int | Repartition_private (PromGrid *lgrid) |
| int | CreateProlongator (PromGrid *const lastgrid, const PromComm &comm) |
| int | MakeNextMat (PromGrid *nnext) |
| int | MakeNextMat_private (PromGrid *nnext) |
| int | MakeASMBlocks () |
| int | MakeMatrix (bool complex=FALSE, bool useCRmat=FALSE, const int extras=0, PromTable< PromCR * > *CR_id=NULL) |
| int | AssembleTable (PromGrid *lastG) |
| int | AddValueTable (const int I, const int J, const int ndfI, const int ndfJ, double *cache, const int proci) |
| int | MakeProlongator (const PromGrid *const lastgrid, const bool smth, PromMatrix *prol=NULL, const bool clearDAP=TRUE, int *nnz=NULL, int *onnz=NULL) |
| int | InitNodes (const int nnodes) |
| allocate nodes. | |
| int | FineInit (const int lid_ndof[], int bsize, const PromTable< int > &gid_ghostLid, const PromList< int * > *elemList) |
| fine grid init. | |
| int | masterProc () const |
| general helpers | |
| int | masterProc (const int p) const |
| int | getEndProc () const |
| int | getEndProc (const int p) const |
| bool | isSameGroup (int proc1, int proc2) const |
| int | WriteFEAP (int lev, MPI_Comm comm, PromList< PromPoly * > *elist, PromList< PromFacet * > *flist=NULL) const |
| int | WriteFacets (FILE *file, PromList< PromFacet * > *facets) const |
| int | WriteFEAP (int lev, PromTable< PromPoly * > *elems) const |
| int | WriteMATE (FILE *file) const |
| int | SetParents (PromGrid *) |
| int | SetBoundNodes (PromGrid *symbG) |
| int | AddNNodePointers (int nn) |
| Allocate new array of pointers to nodes and copy old node pointers in. | |
| int | WriteElems (FILE *file, FILE *efile, const PromList< PromPoly * > *const elems, MPI_Comm comm) const |
Static Public Member Functions | |
| int | FindProc (const int *p_g, const int np, const int gid, int &proc) |
Public Attributes | |
| PromNode ** | nodes_ |
| PromGrid * | prevgrid_ |
| PromGrid * | nextgrid_ |
Protected Member Functions | |
| int | InitNormal (PromGrid *lastgrid) |
| normal coarse init. | |
| int | InitDummy (PromGrid *lastgrid) |
| dummy coarse init. | |
| int | InitReduced (PromGrid *lastgrid, const int factor, const int buffsz, int *buffer, const int rtag, PromTable< int > &gid1_lid, PromList< PromMPINode * > &ghostlist) |
| reduced coarse init | |
| int | CoarsePreInit (int nloc, PromGrid *lastgrid) |
| coarse constructor helpers. | |
| int | CoarseNormalInit (PromGrid *lastgrid) |
| int | CoarseReduceInit (PromGrid *last, const int buffsz, int nldata[], const int tag, PromTable< int > &gid1_lid1, PromList< PromMPINode * > &ghosts) |
| int | CoarsePostInit (PromGrid *lastG) |
| int | ReceiveGhost (const int proc, int *&pb) |
| int | ReceiveDep (const int rtag, const int sz, const int part, PromList< int * > &sendlist, PromList< int * > &sendlist2) |
| int | ReceiveAdjac (const int tag, const int tag2, int &todo) |
| int | CollectNewDeps (int todo2, int nrecv, const int rtag, const int stag) |
| int | ReceiveGhostDep (const int rtag, const int stag1, const int pr, const int sz) |
| int | AddDep (PromNode *curri, const int procj, const int locidj, PromList< int * > &sendlist2) |
| int | FixLastGrid (PromTable< int > &oldgid_newgid, const int oldproc_gnode[], const int lid_part[], PromGrid *lgrid) |
| int | Repartition (int *&lid_part, int *&part_c, int *&part_count) |
| int | MoveGrid (PromTable< int > &oldgid_newgid, PromTable< int > &oldghostgids_newlid, const int newproc_gnode[], const int lid_part[], const int part_c[], PromList< int > *&newLadjs, PromList< int > *&newGadjs) |
| int | CollectGhostData (PromTable< int > &oldgid_newgid, PromTable< int > &oldghostgids_newlid, const int oldproc_gnode[], const int lid_part[], const PromList< int > oldLadjs[], PromList< int > newGadjs[]) |
| int | ReduceCounts (int lid_part[], int *&part_c, int *&newproc_gnode) |
| int | ResolveGhostData (const PromGrid *) |
| int | Resolve_phase1 (const PromGrid *lastG, PromTable< int > &procTable, int &todo) |
| int | Resolve_phase2 (PromTable< int > &procTable, int todo, int *newghosts) |
| int | Resolve_phase3 (const PromGrid *lastG, const PromTable< int > &procTable, const int newghosts) |
| int | Resolve_phase3_act (const PromGrid *lastG, const PromTable< int > &procTable, const int newghosts, const int tag3) |
| int | Resolve_phase3_ina (const PromGrid *lastG, const int tag3) |
| int | LocalGhostDepSwapp (const PromGrid *lastG, PromTable< int > &procTable, const int nrealb, const int ndeps, int &todo) |
| int | CreateMIS (PromList< PromNode * > &list, int is_del(const PromNode *const, const PromNode *const, bool &), const bool virginMIS=FALSE) |
| int | SquareGraph (int **orig_adj_out) |
| int | UnSquareGraph (int **orig_adj_out) |
| int | ReceiveState_NC (PromTable< PromNode * > &gid_ghost, const int sz, int &ndone, int &todo2, int &todo, const int rtag, const int stag, const int part, MPI_Comm comm) |
| int | ReadMISFile (FILE *file, int &flag) |
| int | AddCache (double cache[], const int nParI, const int I_ceq[], const int J_ceq[], const int nCorsCols, const PromParent *const *parI, const bool dirtyCache[][PROM_MAXNIEGH], const int parGIDcache[], const int fact) |
Static Protected Member Functions | |
| double * | GetCacheEntry (double cache[], const int nParI, const int I_ceq[], int J_ceq[], int &nCorsCols, bool dirtyCache[][PROM_MAXNIEGH], int parGIDcache[], const int J, const int Jndf, const int II, const int) |
Private Member Functions | |
| int | GlobalizeAdjac (const int mynew0, PromList< int > *newLocAdj_ogid, PromList< int > *newGhsAdj_oldgid, PromTable< int > &oldgid_newgid, PromTable< int > &ghostoldgid_newlid) |
| int | DistributeGrid (PromGrid *prevG, PromTable< int > &oldgid_newgid) |
| int | CreateNodes (const int lid_ndof[], int bsize) |
| int | MakeNodeBlocks (const int overlap=0) |
| int | PartitionBlocksNodes (const int nblocks, int pnode_part[]) |
Common Graph methods for Prometheus - pure virtual.
|
||||||||||||||||||||||||||||||||
|
reduced coarse grid (const dof per node) reduced coarse grid (const dof per node) |
|
||||||||||||||||||||||||||||||||
|
reduced coarse grid reduced coarse grid |
|
|
helpers |
1.3.7