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

PromGrid Class Reference

class PromGrid: Base (virtual) grid class for Prometheus. More...

#include <prom_grid.hh>

Inheritance diagram for PromGrid:

Inheritance graph
[legend]
Collaboration diagram for PromGrid:

Collaboration graph
[legend]
List of all members.

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 PromNodenewNode (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_
PromGridprevgrid_
PromGridnextgrid_

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[])

Detailed Description

class PromGrid: Base (virtual) grid class for Prometheus.

Common Graph methods for Prometheus - pure virtual.


Constructor & Destructor Documentation

PromGrid::PromGrid const PromOptions &  opts,
PromPerfMonitor &  perf,
PromParentBank *const  bank,
const int  nloc,
const int  fact,
const PromComm wcomm,
const int  bsize
 

reduced coarse grid (const dof per node)

reduced coarse grid (const dof per node)

PromGrid::PromGrid const PromOptions &  opts,
PromPerfMonitor &  perf,
PromParentBank *const  bank,
const int  nloc,
const int  fact,
const int  nLocPartEq,
const PromComm wcomm
 

reduced coarse grid

reduced coarse grid


Member Function Documentation

bool PromGrid::isActive  )  const
 

helpers


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