FreePOOMA  2.4.1
Namespaces | Classes | Typedefs | Functions | Variables
Pooma Namespace Reference

Namespaces

namespace  Arch
namespace  Algorithms

Classes

class  IteratorPairDomain
 Like IndirectionList<T>, IteratorPairDomain<T_Iter> provides access to an arbitrary sequence of T values. More...
struct  OffsetCalc
 Template metaprogram for offset calculations. More...
struct  OffsetCalc< end, end >
struct  OffsetCalc< 1, 0 >
class  BrickBase
 BrickBase<Dim> is the base-class for engines that have a Brick-like interpretation of a block of data; i.e. More...
class  BrickViewBase
 BrickViewBase<Dim> is the base-class for engines that are "views" into brick-like engines. More...
struct  MaterialViewTag
struct  CenteringViewTag
struct  DontCopyRelations
 This tag is used to tell constructors not to copy relations. More...
class  MetaTokenIterator
 MetaTokenIterator is a helper class designed to efficiently parse a line from the "DiscField" .meta file. More...
class  CountingSemaphore
class  DummyMutex
struct  PoomaDAGetDomain< 1 >
struct  PoomaDAGetDomain< 2 >
struct  PoomaDAGetDomain< 3 >
struct  PoomaDACopy< 1 >
struct  PoomaDACopy< 2 >
struct  PoomaDACopy< 3 >
struct  PoomaDA
 Struct to wrap extra global information about a DA. More...
class  PatchSizeSyncer
 This class encapsulates the communication that must occur when synchronizing the patch domains for a DynamicLayout. More...
class  Clock
 Clock provides a running timer, utilizing high-speed SGI timers if available. More...
class  NoInit
 Tag class used to signal constructors that certain initializations are to be skipped. More...
class  Options
 Options stores the list of run-time configurable options for POOMA. More...
class  Assertion
 assertion: exception notification class for assertions. More...
class  StatisticsData
class  Statistics
 Statistics keeps statistics about a given POOMA job, and can report on a summary of these statistics when asked. More...
class  Tester
 Tester is used to help make it easier to write simple test programs. More...

Typedefs

typedef void(* AbortHandler_t )()
typedef int Context_t
typedef int PatchID_t
typedef DummyMutex Mutex_t
typedef
Smarts::IterateScheduler
< SmartsTag_t
Scheduler_t
typedef Smarts::DataObject
< SmartsTag_t
DataObject_t
typedef Smarts::Iterate
< SmartsTag_t
Iterate_t
typedef Smarts::Runnable Runnable_t
typedef Smarts::Stub SmartsTag_t

Functions

template<class Iter >
std::ostream & operator<< (std::ostream &o, const IteratorPairDomain< Iter > &list)
template<class Target , class T >
void addConstantFaceBC (const Target &f, int face, const T &constant, bool enforceConstantBoundary=false)
 addConstantFaceBC installs ConstantFace boundary conditions on the specified face of every subfield of the Target.
template<class Target , class T >
void addAllConstantFaceBC (const Target &f, const T &constant, bool enforceConstantBoundary=false)
 addAllConstantFaceBC installs ConstantFace boundary conditions on all of the faces of every subfield of the Target.
template<class Target >
void addPeriodicFaceBC (const Target &f, int face)
 addPeriodicFaceBC installs PeriodicFace boundary conditions on the specified face of every subfield of the Target.
template<class Target >
void addAllPeriodicFaceBC (const Target &f)
 addAllPeriodicFaceBC installs PeriodicFace boundary conditions on all of the faces of every subfield of the Target.
template<class Target >
void addPosReflectFaceBC (const Target &f, int face, bool enforceZeroBoundary=false)
 addPosReflectFaceBC installs PosReflectFace boundary conditions on the specified face of every subfield of the Target.
template<class Target >
void addAllPosReflectFaceBC (const Target &f, bool enforceZeroBoundary=false)
 addAllPosReflectFaceBC installs PosReflectFace boundary conditions on all of the faces of every subfield of the Target.
unsigned int activeRelationGroups ()
bool isRelationGroupActive (unsigned int groups)
void activateRelationGroup (unsigned int group)
void deactivateRelationGroup (unsigned int group)
unsigned int newRelationGroup ()
bool initialize (int &argc, char **&argv, bool initRTS=true, bool getCLArgsArch=true, bool initArch=true)
bool initialize (Pooma::Options &opts, bool initRTS=true, bool initArch=true)
bool finalize ()
bool finalize (bool quitRTS, bool quitArch)
void pAbort (int errorcode=0) POOMA_ATTRIBUTE_NORETURN
void pAbort (const char *msg, int errorcode=0) POOMA_ATTRIBUTE_NORETURN
void stopHere ()
AbortHandler_t abortHandler ()
AbortHandler_t abortHandler (AbortHandler_t)
AbortHandler_t resetAbortHandler ()
const char * version ()
int majorVersion ()
int minorVersion ()
const char * buildDate ()
bool printStats ()
void printStats (bool on)
bool infoMessages ()
void infoMessages (bool on)
bool warnMessages ()
void warnMessages (bool on)
bool errorMessages ()
void errorMessages (bool on)
void logMessages (const char *filename)
int debugLevel ()
void debugLevel (int val)
bool neverCompress ()
void neverCompress (bool p)
bool deferredGuardFills ()
void deferredGuardFills (bool p)
Context_t context ()
int contexts ()
Scheduler_tscheduler ()
void blockAndEvaluate ()
bool hardInit ()
void hardInit (bool on)
bool hardRun ()
void hardRun (bool on)
bool lockThreads ()
void lockThreads (bool on)
bool blockingExpressions ()
void blockingExpressions (bool on)
void beginExpression ()
void endExpression ()
int expression ()
void poll ()
void addRunnable (Runnable_t *runnable)
void initializeCheetahHelpers (int contexts)
void finalizeCheetahHelpers ()
int sendTag (int context)
int receiveTag (int context)
void addIncomingMessage ()
void gotIncomingMessage ()
bool incomingMessages ()
void toss_cookies (const char *msg, const char *file, int line...) POOMA_ATTRIBUTE_NORETURN
 This is the function called in the assert/insist macros.
Standalone functions for creating relations.
template<class RelationFunctor , class L >
void newRelation (const RelationFunctor &f, const L &l)
template<class RelationFunctor , class L , class R1 >
void newRelation (const RelationFunctor &f, const L &l, const R1 &r1)
template<class RelationFunctor , class L , class R1 , class R2 >
void newRelation (const RelationFunctor &f, const L &l, const R1 &r1, const R2 &r2)
template<class RelationFunctor , class L , class R1 , class R2 , class R3 >
void newRelation (const RelationFunctor &f, const L &l, const R1 &r1, const R2 &r2, const R3 &r3)
template<class RelationFunctor , class L , class R1 , class R2 , class R3 , class R4 >
void newRelation (const RelationFunctor &f, const L &l, const R1 &r1, const R2 &r2, const R3 &r3, const R4 &r4)
template<class RelationFunctor , class L , class R1 , class R2 , class R3 , class R4 , class R5 >
void newRelation (const RelationFunctor &f, const L &l, const R1 &r1, const R2 &r2, const R3 &r3, const R4 &r4, const R5 &r5)
template<class RelationFunctor , class L , class R1 , class R2 , class R3 , class R4 , class R5 , class R6 >
void newRelation (const RelationFunctor &f, const L &l, const R1 &r1, const R2 &r2, const R3 &r3, const R4 &r4, const R5 &r5, const R6 &r6)
template<class L >
RelationFunctionPtr0< L > functionPtr (void(*f)(const L &))
template<class L , class R1 >
RelationFunctionPtr1< L, R1 > functionPtr (void(*f)(const L &, const R1 &))
template<class L , class R1 , class R2 >
RelationFunctionPtr2< L, R1, R2 > functionPtr (void(*f)(const L &, const R1 &, const R2 &))
template<class L , class R1 , class R2 , class R3 >
RelationFunctionPtr3< L, R1,
R2, R3 > 
functionPtr (void(*f)(const L &, const R1 &, const R2 &, const R3 &))
template<class L , class R1 , class R2 , class R3 , class R4 >
RelationFunctionPtr4< L, R1,
R2, R3, R4 > 
functionPtr (void(*f)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4))
template<class L , class R1 , class R2 , class R3 , class R4 , class R5 >
RelationFunctionPtr5< L, R1,
R2, R3, R4, R5 > 
functionPtr (void(*f)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4, const R5 &r5))
template<class L , class R1 , class R2 , class R3 , class R4 , class R5 , class R6 >
RelationFunctionPtr6< L, R1,
R2, R3, R4, R5, R6 > 
functionPtr (void(*f)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4, const R5 &r5, const R6 &r6))
template<class C , class L >
RelationMemberPtr0< C, L > memberPtr (const C &obj, void(C::*f)(const L &))
template<class C , class L , class R1 >
RelationMemberPtr1< C, L, R1 > memberPtr (const C &obj, void(C::*f)(const L &, const R1 &))
template<class C , class L , class R1 , class R2 >
RelationMemberPtr2< C, L, R1, R2 > memberPtr (const C &obj, void(C::*f)(const L &, const R1 &, const R2 &))
template<class C , class L , class R1 , class R2 , class R3 >
RelationMemberPtr3< C, L, R1,
R2, R3 > 
memberPtr (const C &obj, void(C::*f)(const L &, const R1 &, const R2 &, const R3 &))
template<class C , class L , class R1 , class R2 , class R3 , class R4 >
RelationMemberPtr4< C, L, R1,
R2, R3, R4 > 
memberPtr (const C &obj, void(C::*f)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4))
template<class C , class L , class R1 , class R2 , class R3 , class R4 , class R5 >
RelationMemberPtr5< C, L, R1,
R2, R3, R4, R5 > 
memberPtr (const C &obj, void(C::*f)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4, const R5 &r5))
template<class C , class L , class R1 , class R2 , class R3 , class R4 , class R5 , class R6 >
RelationMemberPtr6< C, L, R1,
R2, R3, R4, R5, R6 > 
memberPtr (const C &obj, void(C::*f)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4, const R5 &r5, const R6 &r6))
Utility functions.
bool intArgument (int argc, char **argv, int pos, int &val)
 These used to be private methods in the Options class, but they are generally useful for parsing options, so they're now in the Pooma namespace.
bool stringArgument (int argc, char **argv, int pos, std::string &val)
 A function to check for a string argument in the pos position, and set the last argument equal to it.
bool doubleArgument (int argc, char **argv, int pos, double &val)
 A function to check for a floating-point argument in the pos position.

Variables

Inform pinfo
Inform pwarn
Inform perr
Inform pdebug
Context_t myContext_g
int numContexts_g
int expression_g
int expectedMessages_g

Typedef Documentation

typedef void(* Pooma::AbortHandler_t)()
typedef int Pooma::Context_t
typedef int Pooma::PatchID_t
typedef Smarts::IterateScheduler<SmartsTag_t> Pooma::Scheduler_t
typedef Smarts::DataObject<SmartsTag_t> Pooma::DataObject_t
typedef Smarts::Iterate<SmartsTag_t> Pooma::Iterate_t

Function Documentation

template<class Iter >
std::ostream& Pooma::operator<< ( std::ostream &  o,
const IteratorPairDomain< Iter > &  list 
)
template<class Target , class T >
void Pooma::addConstantFaceBC ( const Target &  f,
int  face,
const T &  constant,
bool  enforceConstantBoundary = false 
)

addConstantFaceBC installs ConstantFace boundary conditions on the specified face of every subfield of the Target.

References newRelation().

Referenced by addAllConstantFaceBC().

template<class Target , class T >
void Pooma::addAllConstantFaceBC ( const Target &  f,
const T &  constant,
bool  enforceConstantBoundary = false 
)

addAllConstantFaceBC installs ConstantFace boundary conditions on all of the faces of every subfield of the Target.

References addConstantFaceBC().

template<class Target >
void Pooma::addPeriodicFaceBC ( const Target &  f,
int  face 
)

addPeriodicFaceBC installs PeriodicFace boundary conditions on the specified face of every subfield of the Target.

References newRelation().

Referenced by addAllPeriodicFaceBC().

template<class Target >
void Pooma::addAllPeriodicFaceBC ( const Target &  f)

addAllPeriodicFaceBC installs PeriodicFace boundary conditions on all of the faces of every subfield of the Target.

References addPeriodicFaceBC().

template<class Target >
void Pooma::addPosReflectFaceBC ( const Target &  f,
int  face,
bool  enforceZeroBoundary = false 
)

addPosReflectFaceBC installs PosReflectFace boundary conditions on the specified face of every subfield of the Target.

References newRelation().

Referenced by addAllPosReflectFaceBC().

template<class Target >
void Pooma::addAllPosReflectFaceBC ( const Target &  f,
bool  enforceZeroBoundary = false 
)

addAllPosReflectFaceBC installs PosReflectFace boundary conditions on all of the faces of every subfield of the Target.

References addPosReflectFaceBC().

unsigned int Pooma::activeRelationGroups ( )
bool Pooma::isRelationGroupActive ( unsigned int  groups)
void Pooma::activateRelationGroup ( unsigned int  group)
void Pooma::deactivateRelationGroup ( unsigned int  group)
unsigned int Pooma::newRelationGroup ( )
template<class RelationFunctor , class L >
void Pooma::newRelation ( const RelationFunctor &  f,
const L &  l 
)
template<class RelationFunctor , class L , class R1 >
void Pooma::newRelation ( const RelationFunctor &  f,
const L &  l,
const R1 &  r1 
)
template<class RelationFunctor , class L , class R1 , class R2 >
void Pooma::newRelation ( const RelationFunctor &  f,
const L &  l,
const R1 &  r1,
const R2 &  r2 
)
template<class RelationFunctor , class L , class R1 , class R2 , class R3 >
void Pooma::newRelation ( const RelationFunctor &  f,
const L &  l,
const R1 &  r1,
const R2 &  r2,
const R3 &  r3 
)
template<class RelationFunctor , class L , class R1 , class R2 , class R3 , class R4 >
void Pooma::newRelation ( const RelationFunctor &  f,
const L &  l,
const R1 &  r1,
const R2 &  r2,
const R3 &  r3,
const R4 &  r4 
)
template<class RelationFunctor , class L , class R1 , class R2 , class R3 , class R4 , class R5 >
void Pooma::newRelation ( const RelationFunctor &  f,
const L &  l,
const R1 &  r1,
const R2 &  r2,
const R3 &  r3,
const R4 &  r4,
const R5 &  r5 
)
template<class RelationFunctor , class L , class R1 , class R2 , class R3 , class R4 , class R5 , class R6 >
void Pooma::newRelation ( const RelationFunctor &  f,
const L &  l,
const R1 &  r1,
const R2 &  r2,
const R3 &  r3,
const R4 &  r4,
const R5 &  r5,
const R6 &  r6 
)
template<class L >
RelationFunctionPtr0<L> Pooma::functionPtr ( void(*)(const L &)  f)
template<class L , class R1 >
RelationFunctionPtr1<L, R1> Pooma::functionPtr ( void(*)(const L &, const R1 &)  f)
template<class L , class R1 , class R2 >
RelationFunctionPtr2<L, R1, R2> Pooma::functionPtr ( void(*)(const L &, const R1 &, const R2 &)  f)
template<class L , class R1 , class R2 , class R3 >
RelationFunctionPtr3<L, R1, R2, R3> Pooma::functionPtr ( void(*)(const L &, const R1 &, const R2 &, const R3 &)  f)
template<class L , class R1 , class R2 , class R3 , class R4 >
RelationFunctionPtr4<L, R1, R2, R3, R4> Pooma::functionPtr ( void(*)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4)  f)
template<class L , class R1 , class R2 , class R3 , class R4 , class R5 >
RelationFunctionPtr5<L, R1, R2, R3, R4, R5> Pooma::functionPtr ( void(*)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4, const R5 &r5)  f)
template<class L , class R1 , class R2 , class R3 , class R4 , class R5 , class R6 >
RelationFunctionPtr6<L, R1, R2, R3, R4, R5, R6> Pooma::functionPtr ( void(*)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4, const R5 &r5, const R6 &r6)  f)
template<class C , class L >
RelationMemberPtr0<C, L> Pooma::memberPtr ( const C &  obj,
void(C::*)(const L &)  f 
)
template<class C , class L , class R1 >
RelationMemberPtr1<C, L, R1> Pooma::memberPtr ( const C &  obj,
void(C::*)(const L &, const R1 &)  f 
)
template<class C , class L , class R1 , class R2 >
RelationMemberPtr2<C, L, R1, R2> Pooma::memberPtr ( const C &  obj,
void(C::*)(const L &, const R1 &, const R2 &)  f 
)
template<class C , class L , class R1 , class R2 , class R3 >
RelationMemberPtr3<C, L, R1, R2, R3> Pooma::memberPtr ( const C &  obj,
void(C::*)(const L &, const R1 &, const R2 &, const R3 &)  f 
)
template<class C , class L , class R1 , class R2 , class R3 , class R4 >
RelationMemberPtr4<C, L, R1, R2, R3, R4> Pooma::memberPtr ( const C &  obj,
void(C::*)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4)  f 
)
template<class C , class L , class R1 , class R2 , class R3 , class R4 , class R5 >
RelationMemberPtr5<C, L, R1, R2, R3, R4, R5> Pooma::memberPtr ( const C &  obj,
void(C::*)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4, const R5 &r5)  f 
)
template<class C , class L , class R1 , class R2 , class R3 , class R4 , class R5 , class R6 >
RelationMemberPtr6<C, L, R1, R2, R3, R4, R5, R6> Pooma::memberPtr ( const C &  obj,
void(C::*)(const L &, const R1 &, const R2 &, const R3 &, const R4 &r4, const R5 &r5, const R6 &r6)  f 
)
bool Pooma::initialize ( int &  argc,
char **&  argv,
bool  initRTS = true,
bool  getCLArgsArch = true,
bool  initArch = true 
)
bool Pooma::initialize ( Pooma::Options opts,
bool  initRTS = true,
bool  initArch = true 
)
bool Pooma::finalize ( ) [inline]
bool Pooma::finalize ( bool  quitRTS,
bool  quitArch 
)
void Pooma::pAbort ( int  errorcode = 0)
void Pooma::pAbort ( const char *  msg,
int  errorcode = 0 
)
void Pooma::stopHere ( )
AbortHandler_t Pooma::abortHandler ( AbortHandler_t  )
const char* Pooma::version ( )
const char* Pooma::buildDate ( )
void Pooma::printStats ( bool  on)
void Pooma::infoMessages ( bool  on)
void Pooma::warnMessages ( bool  on)
void Pooma::errorMessages ( bool  on)
void Pooma::logMessages ( const char *  filename)
void Pooma::debugLevel ( int  val)
void Pooma::neverCompress ( bool  p)
void Pooma::deferredGuardFills ( bool  p)
Context_t Pooma::context ( ) [inline]
int Pooma::contexts ( ) [inline]
bool Pooma::hardInit ( )
void Pooma::hardInit ( bool  on)
bool Pooma::hardRun ( )
void Pooma::hardRun ( bool  on)
void Pooma::lockThreads ( bool  on)
void Pooma::blockingExpressions ( bool  on)
void Pooma::beginExpression ( ) [inline]
void Pooma::endExpression ( ) [inline]
int Pooma::expression ( ) [inline]

References expression_g.

void Pooma::poll ( ) [inline]
void Pooma::addRunnable ( Runnable_t *  runnable) [inline]

References Smarts::add().

void Pooma::initializeCheetahHelpers ( int  contexts)
int Pooma::sendTag ( int  context)
int Pooma::receiveTag ( int  context)
void Pooma::addIncomingMessage ( ) [inline]

References expectedMessages_g.

void Pooma::gotIncomingMessage ( ) [inline]

References expectedMessages_g.

bool Pooma::incomingMessages ( ) [inline]

References expectedMessages_g.

bool Pooma::intArgument ( int  argc,
char **  argv,
int  pos,
int &  val 
)

These used to be private methods in the Options class, but they are generally useful for parsing options, so they're now in the Pooma namespace.

A function to check for an integer argument in the pos position, and set the last argument equal to it. If it does not exist, or the next argument is not an integer, return false and do not change the last argument's value

bool Pooma::stringArgument ( int  argc,
char **  argv,
int  pos,
std::string &  val 
)

A function to check for a string argument in the pos position, and set the last argument equal to it.

If it does not exist, return false and leave the last argument unchanged.

bool Pooma::doubleArgument ( int  argc,
char **  argv,
int  pos,
double &  val 
)

A function to check for a floating-point argument in the pos position.

void Pooma::toss_cookies ( const char *  msg,
const char *  file,
int  line... 
)

This is the function called in the assert/insist macros.


Variable Documentation

Referenced by context().

Referenced by contexts().

Referenced by endExpression(), and expression().