PPL Logo

Cell Class Reference

#include <amr.h>

Inheritance diagram for Cell:

Inheritance graph
[legend]
Collaboration diagram for Cell:

Collaboration graph
[legend]

Public Member Functions

 Cell ()
 Cell (CkMigrateMessage *msg)
void refine (_RefineMsg *msg)
void change_to_leaf (ChildInitMsg *msg)
void neighbor_data (NeighborMsg *msg)
void cpyNborMsg (NeighborMsg *dest, NeighborMsg *src)
void refine_confirmed (_DMsg *msg)
void resume (_DMsg *msg)
void synchronise (_RedMsg *msg)
void refineExec (_DMsg *msg)
void checkRefine (_RefineChkMsg *msg)
void refineReady (BitVec retidx, int pos)
virtual void create_children (_ArrInitMsg **cmsg)
virtual void doIterations (void)
virtual void forwardSplitMsg (NeighborMsg *msg, int neighbor_side)
virtual void pup (PUP::er &p)
 Pack/unpack routine (called before and after migration).
virtual void ResumeFromSync ()
void goToAtSync (_DMsg *msg)
virtual ~Cell ()

Protected Member Functions

void init_cell (_ArrInitMsg *msg)
void treeSetup (_ArrInitMsg *msg)
virtual void reg_nbor_msg (int neighbor_side, NeighborMsg *msg)
void check_queue (void)
int sendInDimension (int dim, int side, NeighborMsg *msg)
int sendInDimension (int dim, int side)
int powerOfTwo (int)

Protected Attributes

int dimension
AmrUserDatauserData
CProxy_Cell arrayProxy
char type
BitVec parent
BitVec ** children
BitVec myIndex
int num_neighbors
int neighbors_reported
int run_until
int run_done
intneighbors
intnborRecvMsgCount
NeighborMsg *** nborRecvMsgBuff
FIFO_QUEUEmsg_queue
FIFO_QUEUEtemp_queue
char * start_ptr
int msg_count
int refined
int autorefine
BitVec retidx
int synchleavrep
int synchinterval
int synchstep
int justRefined
CkChareID coordHandle
int statCollection
CkGroupID gid

Friends

void FIFO_EnQueue (FIFO_QUEUE *queue, void *elt)
int FIFO_Empty (FIFO_QUEUE *)
void FIFO_DeQueue (FIFO_QUEUE *queue, void **element)
void FIFO_Destroy (FIFO_QUEUE *queue)
int FIFO_Fill (FIFO_QUEUE *queue)

Detailed Description

Definition at line 311 of file amr.h.


Constructor & Destructor Documentation

Cell::Cell (  )  [inline]

Definition at line 384 of file amr.h.

Cell::Cell ( CkMigrateMessage msg  )  [inline]

Definition at line 386 of file amr.h.

virtual Cell::~Cell (  )  [inline, virtual]

Definition at line 420 of file amr.h.

References children, dimension, FIFO_DeQueue, FIFO_Destroy, FIFO_Empty, msg_queue, nborRecvMsgBuff, nborRecvMsgCount, neighbors, powerOfTwo(), size, type, and userData.

Here is the call graph for this function:


Member Function Documentation

void Cell::init_cell ( _ArrInitMsg msg  )  [protected]

void Cell::treeSetup ( _ArrInitMsg msg  )  [protected]

virtual void Cell::reg_nbor_msg ( int  neighbor_side,
NeighborMsg msg 
) [inline, protected, virtual]

Reimplemented in Cell2D, Cell1D, and Cell3D.

Definition at line 370 of file amr.h.

Referenced by neighbor_data().

Here is the caller graph for this function:

void Cell::check_queue ( void   )  [protected]

Definition at line 646 of file amr.C.

References arrayProxy, FIFO_Create(), FIFO_DeQueue, FIFO_Destroy, FIFO_Empty, FIFO_EnQueue, index, msg_queue, myIndex, BitVec::numbits, run_until, temp_queue, and BitVec::vec.

Referenced by doIterations().

Here is the call graph for this function:

Here is the caller graph for this function:

int Cell::sendInDimension ( int  dim,
int  side,
NeighborMsg msg 
) [protected]

dim side comments 0 0 send left 0 1 send right 1 0 send up 1 1 send down

Definition at line 580 of file amr.C.

References arrayProxy, dimension, index, myIndex, BitVec::numbits, and BitVec::vec.

Referenced by doIterations(), and refine().

Here is the caller graph for this function:

int Cell::sendInDimension ( int  dim,
int  side 
) [protected]

dim side comments 0 0 send left 0 1 send right 1 0 send up 1 1 send down

Definition at line 1176 of file amr.C.

References arrayProxy, dimension, index, myIndex, BitVec::numbits, run_until, and BitVec::vec.

int Cell::powerOfTwo ( int  exp  )  [protected]

Definition at line 402 of file amr.C.

Referenced by change_to_leaf(), Cell3D::create_children(), init_cell(), pup(), refine(), refine_confirmed(), synchronise(), treeSetup(), and ~Cell().

Here is the caller graph for this function:

void Cell::refine ( _RefineMsg msg  ) 

void Cell::change_to_leaf ( ChildInitMsg msg  ) 

void Cell::neighbor_data ( NeighborMsg msg  ) 

void Cell::cpyNborMsg ( NeighborMsg dest,
NeighborMsg src 
)

Definition at line 1437 of file amr.C.

References NeighborMsg::data, NeighborMsg::dataSize, NeighborMsg::nborIdx, NeighborMsg::numbits, NeighborMsg::run_until, and NeighborMsg::which_neighbor.

Referenced by pup().

Here is the caller graph for this function:

void Cell::refine_confirmed ( _DMsg msg  ) 

Definition at line 1130 of file amr.C.

References arrayProxy, autorefine, dimension, _DMsg::from, index, myIndex, neighbors_reported, num_neighbors, BitVec::numbits, parent, powerOfTwo(), refined, refineReady(), retidx, _DMsg::sender, and BitVec::vec.

Here is the call graph for this function:

void Cell::resume ( _DMsg msg  ) 

Definition at line 851 of file amr.C.

References doIterations(), and type.

Here is the call graph for this function:

void Cell::synchronise ( _RedMsg msg  ) 

Definition at line 872 of file amr.C.

References arrayProxy, coordHandle, dimension, index, myIndex, BitVec::numbits, parent, powerOfTwo(), synchleavrep, _RedMsg::type, type, and BitVec::vec.

Here is the call graph for this function:

void Cell::refineExec ( _DMsg msg  ) 

Definition at line 907 of file amr.C.

References arrayProxy, index, justRefined, myIndex, BitVec::numbits, parent, refine(), AmrUserData::refineCriterion(), synchinterval, synchstep, type, userData, and BitVec::vec.

Here is the call graph for this function:

void Cell::checkRefine ( _RefineChkMsg msg  ) 

Definition at line 1237 of file amr.C.

References arrayProxy, _RefineChkMsg::index, index, parent, refineReady(), and type.

Here is the call graph for this function:

void Cell::refineReady ( BitVec  retidx,
int  pos 
)

Definition at line 1264 of file amr.C.

References arrayProxy, index, and myIndex.

Referenced by checkRefine(), refine(), and refine_confirmed().

Here is the caller graph for this function:

virtual void Cell::create_children ( _ArrInitMsg **  cmsg  )  [inline, virtual]

Reimplemented in Cell2D, Cell1D, and Cell3D.

Definition at line 399 of file amr.h.

Referenced by change_to_leaf(), and treeSetup().

Here is the caller graph for this function:

void Cell::doIterations ( void   )  [virtual]

virtual void Cell::forwardSplitMsg ( NeighborMsg msg,
int  neighbor_side 
) [inline, virtual]

Reimplemented in Cell2D, Cell1D, and Cell3D.

Definition at line 401 of file amr.h.

Referenced by neighbor_data().

Here is the caller graph for this function:

void Cell::pup ( PUP::er p  )  [virtual]

virtual void Cell::ResumeFromSync ( void   )  [inline, virtual]

Reimplemented from CkMigratable.

Definition at line 403 of file amr.h.

References arrayProxy, index, myIndex, BitVec::numbits, parent, synchinterval, synchstep, type, and BitVec::vec.

void Cell::goToAtSync ( _DMsg msg  )  [inline]

Definition at line 415 of file amr.h.

References CkMigratable::AtSync().

Here is the call graph for this function:


Friends And Related Function Documentation

void FIFO_EnQueue ( FIFO_QUEUE queue,
void *  elt 
) [friend]

Definition at line 49 of file fifo.C.

Referenced by check_queue(), neighbor_data(), and pup().

int FIFO_Empty ( FIFO_QUEUE  )  [friend]

Definition at line 24 of file fifo.C.

Referenced by check_queue(), pup(), and ~Cell().

void FIFO_DeQueue ( FIFO_QUEUE queue,
void **  element 
) [friend]

Definition at line 79 of file fifo.C.

Referenced by check_queue(), pup(), and ~Cell().

void FIFO_Destroy ( FIFO_QUEUE queue  )  [friend]

Definition at line 110 of file fifo.C.

Referenced by check_queue(), and ~Cell().

int FIFO_Fill ( FIFO_QUEUE queue  )  [friend]

Definition at line 19 of file fifo.C.

Referenced by pup().


Field Documentation

int Cell::dimension [protected]

CProxy_Cell Cell::arrayProxy [protected]

char Cell::type [protected]

BitVec Cell::parent [protected]

BitVec** Cell::children [protected]

BitVec Cell::myIndex [protected]

int Cell::num_neighbors [protected]

int Cell::run_until [protected]

int Cell::run_done [protected]

Definition at line 331 of file amr.h.

Referenced by change_to_leaf(), doIterations(), init_cell(), pup(), and treeSetup().

int* Cell::neighbors [protected]

Definition at line 333 of file amr.h.

Referenced by doIterations(), init_cell(), pup(), and ~Cell().

Definition at line 338 of file amr.h.

Referenced by init_cell(), pup(), Cell3D::reg_nbor_msg(), Cell2D::reg_nbor_msg(), and ~Cell().

Definition at line 340 of file amr.h.

Referenced by check_queue(), init_cell(), neighbor_data(), pup(), and ~Cell().

Definition at line 341 of file amr.h.

Referenced by check_queue().

char* Cell::start_ptr [protected]

Definition at line 342 of file amr.h.

Referenced by init_cell().

int Cell::msg_count [protected]

Reimplemented from ArrayElement.

Definition at line 343 of file amr.h.

Referenced by pup().

int Cell::refined [protected]

Definition at line 346 of file amr.h.

Referenced by init_cell(), pup(), and refine_confirmed().

int Cell::autorefine [protected]

Definition at line 347 of file amr.h.

Referenced by init_cell(), pup(), refine(), and refine_confirmed().

BitVec Cell::retidx [protected]

Definition at line 348 of file amr.h.

Referenced by pup(), refine(), and refine_confirmed().

int Cell::synchleavrep [protected]

Definition at line 351 of file amr.h.

Referenced by init_cell(), pup(), and synchronise().

int Cell::synchinterval [protected]

Definition at line 352 of file amr.h.

Referenced by change_to_leaf(), init_cell(), pup(), refine(), refineExec(), ResumeFromSync(), and treeSetup().

int Cell::synchstep [protected]

int Cell::justRefined [protected]

Definition at line 353 of file amr.h.

Referenced by change_to_leaf(), doIterations(), init_cell(), pup(), and refineExec().

Definition at line 356 of file amr.h.

Referenced by change_to_leaf(), init_cell(), pup(), synchronise(), and treeSetup().

Definition at line 358 of file amr.h.

Referenced by change_to_leaf(), init_cell(), pup(), refine(), and treeSetup().

CkGroupID Cell::gid [protected]

Definition at line 360 of file amr.h.

Referenced by change_to_leaf(), init_cell(), pup(), refine(), and treeSetup().


The documentation for this class was generated from the following files:

Generated on Mon Sep 21 08:18:26 2020 for Charm++ by  doxygen 1.5.5