GridFunction< GFType, dim > Class Template Reference

Allocates rectangular grids of arbitrary data type according to the GridHierarchy. More...

#include <GridFunction.h>

Inheritance diagram for GridFunction< GFType, dim >:
GridFunctionVoid

List of all members.

Public Member Functions

 GridFunction (char const name[], GridHierarchy &gh)
 GridFunction (const char name[], const int t_sten, const int s_sten, GridHierarchy &gh, const int cflag=DAGHComm, const int extghflag=DAGHNoExternalGhost)
 GridFunction (const char name[], const int t_sten, const int s_sten, const int cfac, GridHierarchy &gh, const int cflag=DAGHComm, const int extghflag=DAGHNoExternalGhost)
 GridFunction (const char name[], const int t_sten, const int s_sten, GridHierarchy &gh, const int type, const int cflag, const int bflag, const int adptbflag, const int extghflag=DAGHNoExternalGhost)
 GridFunction (const char name[], const int t_sten, const int *s_sten, GridHierarchy &gh, const int type, const int cflag, const int bflag, const int adptbflag, const int extghflag=DAGHNoExternalGhost)
 GridFunction (const char name[], const int t_sten, const int s_sten, GridHierarchy &gh, const int type, const int loff, const int cfac, const int align, const int cflag, const int bflag, const int adptbflag, const int extghflag)
 GridFunction (const char name[], const int t_sten, const int *s_sten, GridHierarchy &gh, const int type, const int loff, const int cfac, const int align, const int cflag, const int bflag, const int adptbflag, const int extghflag)
 Most flexible Construtor.
 GridFunction (const char name[], const int t_sten, const int s_sten, const int time, const int level, GridHierarchy &gh, const int type, const int loff, const int cfac, const int cflag, const int bflag, const int adptbflag, const int extghflag=DAGHNoExternalGhost)
 GridFunction (const char name[], const int t_sten, const int *s_sten, const int time, const int level, GridHierarchy &gh, const int type, const int loff, const int cfac, const int cflag, const int bflag, const int adptbflag, const int extghflag=DAGHNoExternalGhost)
 Constructor for a particular time and level.
 GridFunction (const char name[], const GridFunction< GFType, dim > &gf, const int time, const int level, const int cflag, const int bflag, const int adptbflag, const int extghflag=DAGHNoExternalGhost)
 Constructor from another GridFunction.
virtual ~GridFunction ()
void GF_CreateStorage (const int t)
void GF_CreateStorage (const int t, const int l)
void GF_DeleteStorage (const int t)
void GF_DeleteStorage (const int t, const int l)
void GF_CheckpointRecompose ()
 Recompose GridFunction from checkpointing-file.
void GF_CheckpointRecompose (std::stringstream &ifs)
 Recompose GridFunction from memory.
void GF_Checkpoint (std::ofstream &ofs)
 Write GridFunction into checkpointing-file.
void GF_Checkpoint (std::stringstream &ofs)
 Write GridFunction into memory.
int GF_Checkpoint_StrStream_Memory ()
void GF_CheckpointRestart (int proc=-1)
 Read GridDataBlocks from checkpointing-file.
void GF_CheckpointRestart (std::stringstream &ifs)
 Read GridDataBlocks from memory, when recomposing.
void GF_SetBndryUpdateFunc (GFBndryUpdateFunc< GFType, dim > *bf)
void GF_SetAdaptiveBndryUpdateFunc (GFAdptBndryUpdateFunc< GFType, dim > *abf)
void GF_SetProlongFunc (GFLevelTransferFunc< GFType, dim > *pf)
void GF_SetRestrictFunc (GFLevelTransferFunc< GFType, dim > *rf)
void GF_SetIOFunc (GFIOFunc< GFType, dim > *iof)
void GF_SetRecomposeFunc (GFRecomposeFunc< GFType, dim > *rcf)
GFBndryUpdateFunc< GFType, dim > * GF_GetBndryUpdateFunc ()
GFAdptBndryUpdateFunc< GFType,
dim > * 
GF_GetAdaptiveBndryUpdateFunc ()
GFLevelTransferFunc< GFType,
dim > * 
GF_GetProlongFunc ()
GFLevelTransferFunc< GFType,
dim > * 
GF_GetRestrictFunc ()
GFIOFunc< GFType, dim > * GF_GetIOFunc ()
GFRecomposeFunc< GFType, dim > * GF_GetRecomposeFunc ()
int has_bndryupdatefunc ()
int has_adaptivebndryupdatefunc ()
int has_prolongfunc ()
int has_restrictfunc ()
int has_iofunc ()
int has_recomposefunc ()
void GF_SwapTimeLevels (const int l, const int t1, const int t2)
 Swap storage for time levels.
void GF_CycleTimeLevels (const int l)
int Length (GridBoxList *gbl)
int len (int lev) const
 Number of GridDataBlocks on a particular level.
int comm () const
int comm (const int t, const int l) const
GridDataBlock< GFType, dim > & mygdb (const int t, const int l, const int c)
 Direct access to the cth GridDataBlock on level l at time-value t.
int exists (const int t, const int l, const int c) const
int has_parents (const int t, const int l, const int c) const
const int & parents (const int t, const int l, const int c) const
 Number of parents of the cth GridDataBlock on level l at time-value t.
const GDB_Interactionparentlist (const int t, const int l, const int c) const
 Indices of parent GridDataBlocks on level l-1 of the cth GridDataBlock on level l at time-value t.
GDB_Interactionparentlist (const int t, const int l, const int c)
const BBoxparentbox (const int t, const int l, const int c, const int j) const
const int & parentidx (const int t, const int l, const int c, const int j) const
int has_children (const int t, const int l, const int c) const
const int & children (const int t, const int l, const int c) const
 Number of children of the cth GridDataBlock on level l at time-value t.
const GDB_Interactionchildlist (const int t, const int l, const int c) const
 Indices of child GridDataBlocks on level l+1 of the cth GridDataBlock on level l at time-value t.
GDB_Interactionchildlist (const int t, const int l, const int c)
const BBoxchildbox (const int t, const int l, const int c, const int j) const
const int & childidx (const int t, const int l, const int c, const int j) const
Coords GF_StepSize (const int lev) const
int GF_TimeStep (const int lev) const
int GF_CurrentTime (const int lev) const
 Actual time in internal integer time-units.
int GF_PreviousTime (const int lev) const
int GF_NextTime (const int lev) const
int dagh_timevalue (const int t, const int l) const
 Actual time in internal integer time-units.
int dagh_timeindex (const int t, const int l) const
 Internal storage index.
void set_phystime_timeindex (const int t, const int l, const double pht)
void set_phystime_timevalue (const int t, const int l, const double pht)
 Assigns a double-valued real time to an internal time storage index.
double get_phystime_timeindex (const int t, const int l) const
double get_phystime_timevalue (const int t, const int l) const
 Read out the a double-valued real time of an internal time storage index.
virtual void GF_WriteGhosts (const int time, const int level)
virtual void GF_WriteGhosts (const int time, const int level, const int axis, const int dir)
 Send values from regions where ghost cells of other grids overlap to neighbouring processors.
virtual void GF_ReadGhosts (const int time, const int level)
virtual void GF_ReadGhosts (const int time, const int level, const int axis, const int dir)
 Read ghost cell values from local and neighbouring processores.
void GF_BndryUpdate (const int time, const int level)
 Calls all boundary update functions in right order.
virtual void GF_Sync (const int time, const int level)
virtual void GF_Sync (const int time, const int level, const int axis, const int dir)
 Synchronize ghost cells only.
const BBoxListexternalbndrylevel (const int l) const
const BBoxListprolongbndrylevel (const int l) const
void GF_Prolong (const int tf, const int lf, const int tt, const int lt)
void GF_Prolong (const int tf, const int lf, const int tt, const int lt, const BBox &bb)
 Call pfunc for an entire level.
void GF_Restrict (const int tf, const int lf, const int tt, const int lt)
void GF_Restrict (const int tf, const int lf, const int tt, const int lt, const BBox &bb)
 Call rfunc for an entire level.
void GF_IO (const int time, const int level)
void GF_IO (const int time, const int level, const BBox &bb)
void GF_AdaptiveBndryUpdate (const int time, const int level)
 Apply boundary conditions at internal adaptive boundaries.
void GF_ExternalBndryUpdate (const int time, const int level)
 Apply physical boundary conditions.
const BBoxboundingbbox (const int t, const int l, const int c) const
BBox boundingbbox (const int t, const int l, const int c)
 BBox of the interior region + ghost cells of the cth GridDataBlock on level l at time-value t.
const BBoxinteriorbbox (const int t, const int l, const int c) const
BBox interiorbbox (const int t, const int l, const int c)
 BBox of the interior region of the cth GridDataBlock on level l at time-value t.
const BBoxdatabbox (const int t, const int l, const int c) const
BBox databbox (const int t, const int l, const int c)
 The BBox of the GridData-object stored within the cth GridDataBlock on level l at time-value t.
void boundingbboxlist (BBoxList &bbl, const int l)
void intbboxlist (BBoxList &bbl, const int l)
void databboxlist (BBoxList &bbl, const int l)
int has_externalboundaries (const int t, const int l, const int c) const
int has_externalboundary (const int t, const int l, const int c, const int dir) const
int externalboundaries (const int t, const int l, const int c, const int dir) const
int externalboundaries (const int t, const int l, const int c, const int dir)
const BBoxListexternalbndrylist (const int t, const int l, const int c, const int dir) const
BBoxListexternalbndrylist (const int t, const int l, const int c, const int dir)
int has_adaptiveboundaries (const int t, const int l, const int c) const
int has_adaptiveboundary (const int t, const int l, const int c, const int dir) const
const BBoxadaptivebndrybox (const int t, const int l, const int c, const int dir) const
BBox adaptivebndrybox (const int t, const int l, const int c, const int dir)
GridData< GFType, dim > const & operator() (const int t, const int l, const int c) const
GridData< GFType, dim > & operator() (const int t, const int l, const int c)
 Access to the GridData stored within the cth GridDataBlock on level l at time-value t.
void GF_Fill (const GFType &val, const int time, const int level)
void GF_Copy (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2, const BBox &where)
void GF_Copy (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2)
void GF_equals (const int t, const int l, const BBox &where, const GFType &val)
void GF_equals (const int t, const int l, const GFType &val)
void GF_equals (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2, const BBox &where)
void GF_equals (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2)
void GF_plus (const int t, const int l, const BBox &where, const GFType &val)
void GF_plus (const int t, const int l, const GFType &val)
void GF_plus (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2, const BBox &where)
void GF_plus (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2)
void GF_minus (const int t, const int l, const BBox &where, const GFType &val)
void GF_minus (const int t, const int l, const GFType &val)
void GF_minus (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2, const BBox &where)
void GF_minus (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2)
void GF_multiply (const int t, const int l, const BBox &where, const GFType &val)
void GF_multiply (const int t, const int l, const GFType &val)
void GF_multiply (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2, const BBox &where)
void GF_multiply (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2)
void GF_divide (const int t, const int l, const BBox &where, const GFType &val)
void GF_divide (const int t, const int l, const GFType &val)
void GF_divide (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2, const BBox &where)
void GF_divide (const int t1, const int l1, const GridFunction< GFType, dim > &rhs, const int t2, const int l2)
GFType GF_maxval (const int t, const int l)
GFType GF_maxval (const int t, const int l, const BBox &where)
GFType GF_minval (const int t, const int l)
GFType GF_minval (const int t, const int l, const BBox &where)
GFType GF_sum (const int t, const int l)
GFType GF_sum (const int t, const int l, const BBox &where)
GFType GF_product (const int t, const int l)
GFType GF_product (const int t, const int l, const BBox &where)
double GF_norm (const int t, const int l, const int param=DAGHNormL1)
double GF_norm (const int t, const int l, const BBox &where, const int param=DAGHNormL1)
void GF_Write (const int t, const int l, const int gfdtype, char *ioname=0)
void GF_Write (const int t, const int l, const BBox &where, const int gfdtype, char *ioname=0)
void GF_Read (const int t, const int l, const int gfdtype, char *ioname=0)
void GF_Read (const int t, const int l, const BBox &where, const int gfdtype, char *ioname=0)
void GF_Read (const int t, const int l, const BBox &to, const BBox &from, const int gfdtype, char *ioname=0)
Coords Map (const Coords &arg, const BBox &src, const BBox &dst)
BBox Map (const BBox &arg, const BBox &src, const BBox &dst)
BBox MapId (const BBox &arg, const BBox &src, const BBox &dst)
std::ostream & GF_DebugPrintData (std::ostream &os, const int t, const int l)
std::ostream & GF_DebugPrintIntData (std::ostream &os, const int t, const int l)
std::ostream & GF_DebugPrintDataBlk (std::ostream &os, const int time, const int level)
std::ostream & GF_DebugPrintTheData (std::ostream &os)

Friends

class GridHierarchy
std::ostream & operator<< (std::ostream &, const GridFunction< GFType, dim > &)

Detailed Description

template<class GFType, int dim>
class GridFunction< GFType, dim >

Allocates rectangular grids of arbitrary data type according to the GridHierarchy.

GridFunction-objects store all data of an adaptive application. GridFunctions capsulate all parallelization details and from the user's point of view, all GridFunctions follow the "floor plan" of their GridHierarchy automatically. For each level this floor plan is stored in a GridBoxList in GridHierarchy. The lists are accessed via GridHierarchy::lgbl() and GridHierarchy::ggbl(). For each GridBox-object a GridDataBlock-object with an appropriate GridData-storage is allocated.

Author:
Ralf Deiterding, Manish Parashar

Constructor & Destructor Documentation

template<class GFType , int dim>
GridFunction< GFType, dim >::GridFunction ( const char  name[],
const int  t_sten,
const int  s_sten,
GridHierarchy gh,
const int  type,
const int  cflag,
const int  bflag,
const int  adptbflag,
const int  extghflag = DAGHNoExternalGhost 
) [inline]
template<class GFType , int dim>
GridFunction< GFType, dim >::GridFunction ( const char  name[],
const int  t_sten,
const int *  s_sten,
GridHierarchy gh,
const int  type,
const int  cflag,
const int  bflag,
const int  adptbflag,
const int  extghflag = DAGHNoExternalGhost 
) [inline]
template<class GFType , int dim>
GridFunction< GFType, dim >::GridFunction ( const char  name[],
const int  t_sten,
const int  s_sten,
GridHierarchy gh,
const int  type,
const int  loff,
const int  cfac,
const int  align,
const int  cflag,
const int  bflag,
const int  adptbflag,
const int  extghflag 
) [inline]
template<class GFType , int dim>
GridFunction< GFType, dim >::GridFunction ( const char  name[],
const int  t_sten,
const int *  s_sten,
GridHierarchy gh,
const int  type,
const int  loff,
const int  cfac,
const int  align,
const int  cflag,
const int  bflag,
const int  adptbflag,
const int  extghflag 
) [inline]

Most flexible Construtor.

Parameters:
name char[]. Name of the GridFunction, e.g. for IO.
t_sten integer. Time-step radius of the numerical stencil around the actual time-step.
s_sten integer[]. Radius of the numerical stencil in each spatial direction. This determines the size of the ghost cell regions.
gh GridHierarchy.
type integer. Only CellCentered really tried out yet. Be careful with Vertex- or FaceCentered!
loff integer. Internal level offset. For each level a particular refinement factor is defined in GridHierarchy. The level offset allows the easy use of auxiliary GridFunctions that are coarsened or refined in respect to the refinement factors of the GridHierarchy. The advantage is, that in all GridFunctions the same GridDataBlock-index can be used. See GridFunctionVoid::usedbbox() for implementation details.
cfac integer. Refines or coarsens GridFunctions by an arbitrary factor. cfac>0 coarsens. cfac<0 refines. Multiple successively coarsened GridFunctions would be used for instance in a multigrid implementation. cfac is related to GridHierarchy::gucfactor(), because only the GridHierarchy can ensure that the data on all required GridFunctions really is locally available. See GridFunctionVoid::usedbbox() for implementation details.
align integer. Reduces the spatial dimension of the internal GridDataBlocks and assigns them to a particular side of the higher dimensional GridBox-object from which they have been derived. See GridDataBlock::gdbAlignBBox() for implementation details.
cflag integer. GridFunction communication flag. Synchronization of ghost cells desired. Use DAGHCommSimple for standard synchronization and DAGHNoComm for GridFunctions that need not be synchronized. See DAGHParams.h for possible values.
bflag integer. External or physical boundary types. The usual value should be DAGHBoundaryUserDef. See DAGHParams.h for possible values.
adptbflag integer. Adaptive or internal boundary types. Use DAGHAdaptBoundaryInterp for standard linear time-space interpolation. See DAGHParams.h for possible values.
extghflag integer. Allows additional auxiliary ghost cell. Use DAGHNoExternalGhost in standard cases. See DAGHParams.h for possible values.

References GridFunctionVoid::checkpoint(), GridHierarchy::chkpt_restart(), GridFunction< GFType, dim >::comm(), GridFunctionVoid::dagh, GridHierarchy::DAGH_AddGridFunction(), GridFunctionVoid::data_recv_server, GridFunction< GFType, dim >::GF_CheckpointRestart(), GridFunctionVoid::gfid, GridFunctionVoid::ghost_recv_info, GridFunctionVoid::ghost_recv_server, GridFunctionVoid::ghost_send_info, comm_service::proc_num(), and GridHierarchy::totallevels().

template<class GFType , int dim>
GridFunction< GFType, dim >::GridFunction ( const char  name[],
const int  t_sten,
const int  s_sten,
const int  time,
const int  level,
GridHierarchy gh,
const int  type,
const int  loff,
const int  cfac,
const int  cflag,
const int  bflag,
const int  adptbflag,
const int  extghflag = DAGHNoExternalGhost 
) [inline]
template<class GFType , int dim>
GridFunction< GFType, dim >::GridFunction ( const char  name[],
const int  t_sten,
const int *  s_sten,
const int  time,
const int  level,
GridHierarchy gh,
const int  type,
const int  loff,
const int  cfac,
const int  cflag,
const int  bflag,
const int  adptbflag,
const int  extghflag = DAGHNoExternalGhost 
) [inline]

Member Function Documentation

template<class GFType, int dim>
BBox GridFunction< GFType, dim >::adaptivebndrybox ( const int  t,
const int  l,
const int  c,
const int  dir 
) [inline]
template<class GFType, int dim>
const BBox& GridFunction< GFType, dim >::adaptivebndrybox ( const int  t,
const int  l,
const int  c,
const int  dir 
) const [inline]
template<class GFType, int dim>
BBox GridFunction< GFType, dim >::boundingbbox ( const int  t,
const int  l,
const int  c 
) [inline]

BBox of the interior region + ghost cells of the cth GridDataBlock on level l at time-value t.

References GridFunction< GFType, dim >::dagh_timeindex().

template<class GFType, int dim>
const BBox& GridFunction< GFType, dim >::boundingbbox ( const int  t,
const int  l,
const int  c 
) const [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::boundingbboxlist ( BBoxList bbl,
const int  l 
) [inline]
template<class GFType, int dim>
const BBox& GridFunction< GFType, dim >::childbox ( const int  t,
const int  l,
const int  c,
const int  j 
) const [inline]
template<class GFType, int dim>
const int& GridFunction< GFType, dim >::childidx ( const int  t,
const int  l,
const int  c,
const int  j 
) const [inline]
template<class GFType, int dim>
GDB_Interaction* GridFunction< GFType, dim >::childlist ( const int  t,
const int  l,
const int  c 
) [inline]
template<class GFType, int dim>
const GDB_Interaction* GridFunction< GFType, dim >::childlist ( const int  t,
const int  l,
const int  c 
) const [inline]

Indices of child GridDataBlocks on level l+1 of the cth GridDataBlock on level l at time-value t.

References GridDataBlock< Type, dim >::childlist(), and GridFunction< GFType, dim >::dagh_timeindex().

template<class GFType, int dim>
const int& GridFunction< GFType, dim >::children ( const int  t,
const int  l,
const int  c 
) const [inline]

Number of children of the cth GridDataBlock on level l at time-value t.

References GridDataBlock< Type, dim >::children(), and GridFunction< GFType, dim >::dagh_timeindex().

template<class GFType, int dim>
int GridFunction< GFType, dim >::comm ( const int  t,
const int  l 
) const [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::dagh_timeindex ( const int  t,
const int  l 
) const [inline]

Internal storage index.

References GridFunctionVoid::dagh, GridHierarchy::getCurrentTime(), GridFunction< GFType, dim >::GF_TimeStep(), GridFunctionVoid::time_alias, and GridFunctionVoid::time_sten_rad.

Referenced by GridFunction< GFType, dim >::adaptivebndrybox(), GridFunction< GFType, dim >::boundingbbox(), GridFunction< GFType, dim >::childbox(), GridFunction< GFType, dim >::childidx(), GridFunction< GFType, dim >::childlist(), GridFunction< GFType, dim >::children(), GridFunction< GFType, dim >::comm(), GridFunction< GFType, dim >::databbox(), GridFunction< GFType, dim >::exists(), GridFunction< GFType, dim >::externalbndrylist(), GridFunction< GFType, dim >::externalboundaries(), GridFunction< GFType, dim >::GF_AdaptiveBndryUpdate(), GridFunction< GFType, dim >::GF_Checkpoint(), GridFunction< GFType, dim >::GF_Checkpoint_StrStream_Memory(), GridFunction< GFType, dim >::GF_CheckpointRecompose(), GridFunction< GFType, dim >::GF_CheckpointRestart(), GridFunction< GFType, dim >::GF_Copy(), GridFunction< GFType, dim >::GF_CycleTimeLevels(), GridFunction< GFType, dim >::GF_DebugPrintData(), GridFunction< GFType, dim >::GF_DebugPrintDataBlk(), GridFunction< GFType, dim >::GF_DebugPrintIntData(), GridFunction< GFType, dim >::GF_divide(), GridFunction< GFType, dim >::GF_equals(), GridFunction< GFType, dim >::GF_ExternalBndryUpdate(), GridFunction< GFType, dim >::GF_Fill(), GridFunction< GFType, dim >::GF_IO(), GridFunction< GFType, dim >::GF_maxval(), GridFunction< GFType, dim >::GF_minus(), GridFunction< GFType, dim >::GF_minval(), GridFunction< GFType, dim >::GF_multiply(), GridFunction< GFType, dim >::GF_norm(), GridFunction< GFType, dim >::GF_plus(), GridFunction< GFType, dim >::GF_product(), GridFunction< GFType, dim >::GF_Prolong(), GridFunction< GFType, dim >::GF_Read(), GridFunction< GFType, dim >::GF_ReadGhosts(), GridFunction< GFType, dim >::GF_Restrict(), GridFunction< GFType, dim >::GF_sum(), GridFunction< GFType, dim >::GF_SwapTimeLevels(), GridFunction< GFType, dim >::GF_Write(), GridFunction< GFType, dim >::GF_WriteGhosts(), GridFunction< GFType, dim >::has_adaptiveboundaries(), GridFunction< GFType, dim >::has_adaptiveboundary(), GridFunction< GFType, dim >::has_children(), GridFunction< GFType, dim >::has_externalboundaries(), GridFunction< GFType, dim >::has_externalboundary(), GridFunction< GFType, dim >::has_parents(), GridFunction< GFType, dim >::interiorbbox(), GridFunction< GFType, dim >::mygdb(), GridFunction< GFType, dim >::operator()(), GridFunction< GFType, dim >::parentbox(), GridFunction< GFType, dim >::parentidx(), GridFunction< GFType, dim >::parentlist(), and GridFunction< GFType, dim >::parents().

template<class GFType, int dim>
int GridFunction< GFType, dim >::dagh_timevalue ( const int  t,
const int  l 
) const [inline]

Actual time in internal integer time-units.

To each time-step that took place during a run a unique integer time-value is assigned. The time-value depends on the actual level and is calculated in respect to the refinement factors defined in GridHierarchy.

References GridFunctionVoid::dagh, GridHierarchy::getCurrentTime(), GridFunction< GFType, dim >::GF_TimeStep(), and GridFunctionVoid::time_sten_rad.

Referenced by GridFunction< GFType, dim >::GF_CheckpointRestart(), GridFunction< GFType, dim >::GF_ReadGhosts(), and GridFunction< GFType, dim >::GF_WriteGhosts().

template<class GFType, int dim>
BBox GridFunction< GFType, dim >::databbox ( const int  t,
const int  l,
const int  c 
) [inline]

The BBox of the GridData-object stored within the cth GridDataBlock on level l at time-value t.

References GridFunction< GFType, dim >::dagh_timeindex().

template<class GFType, int dim>
const BBox& GridFunction< GFType, dim >::databbox ( const int  t,
const int  l,
const int  c 
) const [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::databboxlist ( BBoxList bbl,
const int  l 
) [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::exists ( const int  t,
const int  l,
const int  c 
) const [inline]
template<class GFType, int dim>
const BBoxList* GridFunction< GFType, dim >::externalbndrylevel ( const int  l  )  const [inline]
template<class GFType, int dim>
BBoxList* GridFunction< GFType, dim >::externalbndrylist ( const int  t,
const int  l,
const int  c,
const int  dir 
) [inline]
template<class GFType, int dim>
const BBoxList* GridFunction< GFType, dim >::externalbndrylist ( const int  t,
const int  l,
const int  c,
const int  dir 
) const [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::externalboundaries ( const int  t,
const int  l,
const int  c,
const int  dir 
) [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::externalboundaries ( const int  t,
const int  l,
const int  c,
const int  dir 
) const [inline]
template<class GFType, int dim>
double GridFunction< GFType, dim >::get_phystime_timeindex ( const int  t,
const int  l 
) const [inline]
template<class GFType, int dim>
double GridFunction< GFType, dim >::get_phystime_timevalue ( const int  t,
const int  l 
) const [inline]
template<class GFType, int dim>
void GridFunction< GFType, dim >::GF_BndryUpdate ( const int  time,
const int  level 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_Checkpoint ( std::stringstream &  ofs  )  [inline, virtual]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_Checkpoint ( std::ofstream &  ofs  )  [inline, virtual]
template<class GFType , int dim>
int GridFunction< GFType, dim >::GF_Checkpoint_StrStream_Memory (  )  [inline, virtual]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_CheckpointRestart ( std::stringstream &  ifs  )  [inline, virtual]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_Copy ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_Copy ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2,
const BBox where 
) [inline]
template<class GFType, int dim>
void GridFunction< GFType, dim >::GF_CreateStorage ( const int  t,
const int  l 
) [inline]
template<class GFType, int dim>
void GridFunction< GFType, dim >::GF_CreateStorage ( const int  t  )  [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::GF_CurrentTime ( const int  lev  )  const [inline]

Actual time in internal integer time-units.

References GridFunctionVoid::dagh, and GridHierarchy::getCurrentTime().

Referenced by GridFunction< GFType, dim >::GF_AdaptiveBndryUpdate().

template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_CycleTimeLevels ( const int  l  )  [inline]
template<class GFType , int dim>
std::ostream & GridFunction< GFType, dim >::GF_DebugPrintData ( std::ostream &  os,
const int  t,
const int  l 
) [inline]
template<class GFType , int dim>
std::ostream & GridFunction< GFType, dim >::GF_DebugPrintDataBlk ( std::ostream &  os,
const int  time,
const int  level 
) [inline]
template<class GFType , int dim>
std::ostream & GridFunction< GFType, dim >::GF_DebugPrintIntData ( std::ostream &  os,
const int  t,
const int  l 
) [inline]
template<class GFType , int dim>
std::ostream & GridFunction< GFType, dim >::GF_DebugPrintTheData ( std::ostream &  os  )  [inline]
template<class GFType, int dim>
void GridFunction< GFType, dim >::GF_DeleteStorage ( const int  t,
const int  l 
) [inline]
template<class GFType, int dim>
void GridFunction< GFType, dim >::GF_DeleteStorage ( const int  t  )  [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_divide ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_divide ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2,
const BBox where 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_divide ( const int  t,
const int  l,
const GFType &  val 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_divide ( const int  t,
const int  l,
const BBox where,
const GFType &  val 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_equals ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_equals ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2,
const BBox where 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_equals ( const int  t,
const int  l,
const GFType &  val 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_equals ( const int  t,
const int  l,
const BBox where,
const GFType &  val 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_Fill ( const GFType &  val,
const int  time,
const int  level 
) [inline]
template<class GFType, int dim>
GFAdptBndryUpdateFunc<GFType,dim>* GridFunction< GFType, dim >::GF_GetAdaptiveBndryUpdateFunc (  )  [inline]
template<class GFType, int dim>
GFBndryUpdateFunc<GFType,dim>* GridFunction< GFType, dim >::GF_GetBndryUpdateFunc (  )  [inline]

Referenced by GetBndryUpdateFunction().

template<class GFType, int dim>
GFIOFunc<GFType,dim>* GridFunction< GFType, dim >::GF_GetIOFunc (  )  [inline]

Referenced by GetIOFunction().

template<class GFType, int dim>
GFLevelTransferFunc<GFType,dim>* GridFunction< GFType, dim >::GF_GetProlongFunc (  )  [inline]

Referenced by GetProlongFunction().

template<class GFType, int dim>
GFRecomposeFunc<GFType,dim>* GridFunction< GFType, dim >::GF_GetRecomposeFunc (  )  [inline]
template<class GFType, int dim>
GFLevelTransferFunc<GFType,dim>* GridFunction< GFType, dim >::GF_GetRestrictFunc (  )  [inline]

Referenced by GetRestrictFunction().

template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_IO ( const int  time,
const int  level,
const BBox bb 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_IO ( const int  time,
const int  level 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_minus ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_minus ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2,
const BBox where 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_minus ( const int  t,
const int  l,
const GFType &  val 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_minus ( const int  t,
const int  l,
const BBox where,
const GFType &  val 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_multiply ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_multiply ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2,
const BBox where 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_multiply ( const int  t,
const int  l,
const GFType &  val 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_multiply ( const int  t,
const int  l,
const BBox where,
const GFType &  val 
) [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::GF_NextTime ( const int  lev  )  const [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_plus ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_plus ( const int  t1,
const int  l1,
const GridFunction< GFType, dim > &  rhs,
const int  t2,
const int  l2,
const BBox where 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_plus ( const int  t,
const int  l,
const GFType &  val 
) [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_plus ( const int  t,
const int  l,
const BBox where,
const GFType &  val 
) [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::GF_PreviousTime ( const int  lev  )  const [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_Prolong ( const int  tf,
const int  lf,
const int  tt,
const int  lt,
const BBox bb 
) [inline]

Call pfunc for an entire level.

GF_Prolong requires level lf to be synchronized, if prolongation uses ghost cells. It prolongates even into ghost cells of level lt. Calling GF_Sync() on level lt is not necessary.

References GDB_Interaction::bbox, GridDataBlock< Type, dim >::boundingbox(), GridFunction< GFType, dim >::dagh_timeindex(), BBox::empty(), GridDataBlock< Type, dim >::griddata(), GDB_Interaction::idx, and GridFunctionVoid::prolong().

template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_Prolong ( const int  tf,
const int  lf,
const int  tt,
const int  lt 
) [inline]
template<class GFType, int dim>
virtual void GridFunction< GFType, dim >::GF_ReadGhosts ( const int  time,
const int  level 
) [inline, virtual]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_Restrict ( const int  tf,
const int  lf,
const int  tt,
const int  lt,
const BBox bb 
) [inline]

Call rfunc for an entire level.

GF_Restrict requires level lf to be synchronized, if restriction uses ghost cells. It restricts even into ghost cells of level lt, but only into grids with overlapping internal cells. Calling GF_Sync() on level lt is necessary for correct syncronization.

References GDB_Interaction::bbox, GridDataBlock< Type, dim >::boundingbox(), BBox::coarsen(), GridFunction< GFType, dim >::dagh_timeindex(), BBox::empty(), GridDataBlock< Type, dim >::griddata(), GDB_Interaction::idx, GridFunctionVoid::Restrict(), and stepsize().

template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_Restrict ( const int  tf,
const int  lf,
const int  tt,
const int  lt 
) [inline]
template<class GFType, int dim>
void GridFunction< GFType, dim >::GF_SetAdaptiveBndryUpdateFunc ( GFAdptBndryUpdateFunc< GFType, dim > *  abf  )  [inline]
template<class GFType, int dim>
void GridFunction< GFType, dim >::GF_SetBndryUpdateFunc ( GFBndryUpdateFunc< GFType, dim > *  bf  )  [inline]

Referenced by SetBndryUpdateFunction().

template<class GFType, int dim>
void GridFunction< GFType, dim >::GF_SetIOFunc ( GFIOFunc< GFType, dim > *  iof  )  [inline]

Referenced by SetIOFunction().

template<class GFType, int dim>
void GridFunction< GFType, dim >::GF_SetProlongFunc ( GFLevelTransferFunc< GFType, dim > *  pf  )  [inline]

Referenced by SetProlongFunction().

template<class GFType, int dim>
void GridFunction< GFType, dim >::GF_SetRecomposeFunc ( GFRecomposeFunc< GFType, dim > *  rcf  )  [inline]
template<class GFType, int dim>
void GridFunction< GFType, dim >::GF_SetRestrictFunc ( GFLevelTransferFunc< GFType, dim > *  rf  )  [inline]

Referenced by SetRestrictFunction().

template<class GFType, int dim>
Coords GridFunction< GFType, dim >::GF_StepSize ( const int  lev  )  const [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_SwapTimeLevels ( const int  l,
const int  t1,
const int  t2 
) [inline]
template<class GFType, int dim>
virtual void GridFunction< GFType, dim >::GF_Sync ( const int  time,
const int  level,
const int  axis,
const int  dir 
) [inline, virtual]
template<class GFType, int dim>
virtual void GridFunction< GFType, dim >::GF_Sync ( const int  time,
const int  level 
) [inline, virtual]
template<class GFType , int dim>
void GridFunction< GFType, dim >::GF_WriteGhosts ( const int  time,
const int  level,
const int  axis,
const int  dir 
) [inline, virtual]

Send values from regions where ghost cells of other grids overlap to neighbouring processors.

Local values are just copied in GF_ReadGhosts and need not be considered in GF_WriteGhosts Multiple periodic boundaries are considered even over processor borders.

Reimplemented from GridFunctionVoid.

References GridFunction< GFType, dim >::comm(), GridFunction< GFType, dim >::dagh_timeindex(), GridFunction< GFType, dim >::dagh_timevalue(), DAGHGhostTag, DAGHMaxAxis, DAGHMaxDirs, DAGHPacked, GridFunctionVoid::ghost_recv_server, GridFunctionVoid::ghost_send_info, GridFunctionVoid::gt, GridDataBucketVoid::head(), comm_service::log(), DataBucketVoid::num(), GridTableGhostRcv::postrcv(), comm_service::proc_me(), comm_service::proc_num(), GridTable::send(), GridFunctionVoid::time_sten_rad, and gdhdr::time_value.

template<class GFType, int dim>
virtual void GridFunction< GFType, dim >::GF_WriteGhosts ( const int  time,
const int  level 
) [inline, virtual]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_adaptivebndryupdatefunc (  )  [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_adaptiveboundaries ( const int  t,
const int  l,
const int  c 
) const [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_adaptiveboundary ( const int  t,
const int  l,
const int  c,
const int  dir 
) const [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_bndryupdatefunc (  )  [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_children ( const int  t,
const int  l,
const int  c 
) const [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_externalboundaries ( const int  t,
const int  l,
const int  c 
) const [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_externalboundary ( const int  t,
const int  l,
const int  c,
const int  dir 
) const [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_iofunc (  )  [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_parents ( const int  t,
const int  l,
const int  c 
) const [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_prolongfunc (  )  [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_recomposefunc (  )  [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::has_restrictfunc (  )  [inline]
template<class GFType , int dim>
void GridFunction< GFType, dim >::intbboxlist ( BBoxList bbl,
const int  l 
) [inline]
template<class GFType, int dim>
BBox GridFunction< GFType, dim >::interiorbbox ( const int  t,
const int  l,
const int  c 
) [inline]

BBox of the interior region of the cth GridDataBlock on level l at time-value t.

References GridFunction< GFType, dim >::dagh_timeindex().

template<class GFType, int dim>
const BBox& GridFunction< GFType, dim >::interiorbbox ( const int  t,
const int  l,
const int  c 
) const [inline]
template<class GFType, int dim>
int GridFunction< GFType, dim >::len ( int  lev  )  const [inline]

Number of GridDataBlocks on a particular level.

template<class GFType, int dim>
int GridFunction< GFType, dim >::Length ( GridBoxList gbl  )  [inline]
template<class Type , int dim>
BBox GridFunction< Type, dim >::Map ( const BBox arg,
const BBox src,
const BBox dst 
) [inline]
template<class Type , int dim>
Coords GridFunction< Type, dim >::Map ( const Coords arg,
const BBox src,
const BBox dst 
) [inline]
template<class Type , int dim>
BBox GridFunction< Type, dim >::MapId ( const BBox arg,
const BBox src,
const BBox dst 
) [inline]
template<class GFType, int dim>
GridDataBlock<GFType,dim>& GridFunction< GFType, dim >::mygdb ( const int  t,
const int  l,
const int  c 
) [inline]

Direct access to the cth GridDataBlock on level l at time-value t.

References GridFunction< GFType, dim >::dagh_timeindex().

template<class GFType, int dim>
GridData<GFType,dim>& GridFunction< GFType, dim >::operator() ( const int  t,
const int  l,
const int  c 
) [inline]

Access to the GridData stored within the cth GridDataBlock on level l at time-value t.

References GridFunction< GFType, dim >::dagh_timeindex().

template<class GFType, int dim>
GridData<GFType,dim> const& GridFunction< GFType, dim >::operator() ( const int  t,
const int  l,
const int  c 
) const [inline]
template<class GFType, int dim>
const BBox& GridFunction< GFType, dim >::parentbox ( const int  t,
const int  l,
const int  c,
const int  j 
) const [inline]
template<class GFType, int dim>
const int& GridFunction< GFType, dim >::parentidx ( const int  t,
const int  l,
const int  c,
const int  j 
) const [inline]
template<class GFType, int dim>
GDB_Interaction* GridFunction< GFType, dim >::parentlist ( const int  t,
const int  l,
const int  c 
) [inline]
template<class GFType, int dim>
const GDB_Interaction* GridFunction< GFType, dim >::parentlist ( const int  t,
const int  l,
const int  c 
) const [inline]

Indices of parent GridDataBlocks on level l-1 of the cth GridDataBlock on level l at time-value t.

References GridFunction< GFType, dim >::dagh_timeindex(), and GridDataBlock< Type, dim >::parentlist().

template<class GFType, int dim>
const int& GridFunction< GFType, dim >::parents ( const int  t,
const int  l,
const int  c 
) const [inline]

Number of parents of the cth GridDataBlock on level l at time-value t.

References GridFunction< GFType, dim >::dagh_timeindex(), and GridDataBlock< Type, dim >::parents().

template<class GFType, int dim>
const BBoxList* GridFunction< GFType, dim >::prolongbndrylevel ( const int  l  )  const [inline]
template<class GFType, int dim>
void GridFunction< GFType, dim >::set_phystime_timeindex ( const int  t,
const int  l,
const double  pht 
) [inline]
template<class GFType, int dim>
void GridFunction< GFType, dim >::set_phystime_timevalue ( const int  t,
const int  l,
const double  pht 
) [inline]

Friends And Related Function Documentation

template<class GFType, int dim>
friend class GridHierarchy [friend]

Reimplemented from GridFunctionVoid.

template<class GFType, int dim>
std::ostream& operator<< ( std::ostream &  os,
const GridFunction< GFType, dim > &  gf 
) [friend]

The documentation for this class was generated from the following files:
Generated on Thu Jun 30 02:19:00 2016 for AMROC's Hierachical Data Structures by  doxygen 1.6.3