PlasCom2  1.0
XPACC Multi-physics simluation application
application< DomainBaseT > Class Template Reference

Detailed Description

template<typename DomainBaseT>
class simulation::application< DomainBaseT >

Definition at line 23 of file Simulation.H.

#include <Simulation.H>

Public Types

typedef DomainBaseT DomainBaseType
 
typedef DomainBaseType::GridType GridType
 
typedef DomainBaseType::StateType StateType
 
typedef std::vector< DomainBaseTypedomainvector
 
typedef advancer::base< DomainBaseTypeAdvancerType
 
typedef std::vector< AdvancerType * > advancervector
 
typedef domain::Initializer< DomainBaseTypeDomainInitializerType
 
typedef std::vector< DomainInitializerTypeinitializervector
 
typedef domain::info DomainInfoType
 
typedef geometry::info GeometryInfoType
 

Public Member Functions

 application (int numArgs, char **argList, MPI_Comm mpiCommunicator)
 
virtual int ConfigureApplication ()
 
virtual int RunApplication ()
 
virtual int InitializeApplication ()
 
virtual int FinalizeApplication ()
 
virtual int AdvanceDomains ()
 
virtual bool Finished ()
 
virtual int InitializeRun ()
 
virtual int InitializeDomains ()
 
virtual int Advance ()
 
virtual int FinalizeRun ()
 
virtual int FinalizeDomains ()
 
virtual bool RestartStep ()
 
virtual bool OutputStep ()
 
virtual int InitializeStep ()
 
virtual int FinalizeStep ()
 
virtual int RestartDomains ()
 
virtual int WriteDomains ()
 
virtual int ReadDomains ()
 
virtual int WriteRestart ()
 
virtual int Restart ()
 
virtual int ConfigureSimulation ()
 
virtual int InitializeSimulation ()
 
virtual int ConfigureDomains ()
 
DomainInfoType DomainInfo ()
 
int NumberOfDomains ()
 
domainvectorGetDomains ()
 
- Public Member Functions inherited from parallelprogram
 parallelprogram ()
 Default constructor. More...
 
 parallelprogram (int nargs, char **args)
 Constructor designed to take all commandline args. More...
 
 parallelprogram (int nargs, char **args, MPI_Comm inMPICommunicator)
 Constructor designed to take all commandline args and an MPI Communicator. More...
 
 parallelprogram (commandline &comline, CommunicatorType &incomm)
 Constructor designed to take a commandline object, and communicator object. More...
 
virtual int Initialize ()
 Populates native data structures from commandline. More...
 
virtual ~parallelprogram ()
 Destructor. More...
 
virtual int Run ()
 This function implements the main function executed by the program. More...
 
virtual int Finalize ()
 Finalizes the global object, and it's profiler object. More...
 
- Public Member Functions inherited from mpiprogram< ComLineType >
 mpiprogram ()
 
 mpiprogram (mpiglobal &inglob)
 
 mpiprogram (ComLineType &incom)
 
 mpiprogram (int narg, char **args)
 
 mpiprogram (ComLineType &incom, mpiglobal &inglob)
 
 mpiprogram (int narg, char **args, mpiglobal &inglob)
 
 mpiprogram (int narg, char **args, MPI_Comm &inComm)
 
ComLineType & CommandLine ()
 
virtual ~mpiprogram ()
 
- Public Member Functions inherited from mpiglobal
 mpiglobal ()
 
 mpiglobal (parallelglobal &inglob)
 
 mpiglobal (mpiglobal &pglobin)
 
 mpiglobal (const std::string &name)
 
 mpiglobal (const std::string &name, unsigned int id)
 
 mpiglobal (int narg, char **args)
 
 mpiglobal (int narg, char **args, CommunicatorType &incomm)
 
 mpiglobal (int narg, char **args, MPI_Comm &incomm)
 
int NumProc ()
 
- Public Member Functions inherited from ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType >
 ParallelGlobalObj ()
 
 ParallelGlobalObj (GlobalType &inglob)
 
 ParallelGlobalObj (ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType > &pglobin)
 
 ParallelGlobalObj (const std::string &name)
 
 ParallelGlobalObj (const std::string &name, unsigned int id)
 
 ParallelGlobalObj (int narg, char **args)
 
 ParallelGlobalObj (int narg, char **args, CommunicatorType &incomm)
 
virtual int Init (const std::string &name, CommunicatorType &incomm)
 
virtual int Init (const std::string &name)
 
virtual int Init (const std::string &name, unsigned int id)
 
virtual int Init (int narg, char **args)
 
bool ProfilingBarriers ()
 
void EnableProfilingBarriers ()
 
void DisableProfilingBarriers ()
 
virtual void FunctionEntry (const StackType &stackentry)
 FunctionEntry updates the Stack as well as the Profiler. More...
 
virtual void FunctionExit (const StackType &stackentry)
 FunctionExit updates the Stack as well as the Profiler. More...
 
virtual int Rank ()
 
virtual int NProc ()
 
virtual CommunicatorTypeCommunicator ()
 
virtual ~ParallelGlobalObj ()
 
- Public Member Functions inherited from GlobalObj< StackType, ErrorType, ProfilerType >
 GlobalObj ()
 Default constructor. Profiling is OFF by default. More...
 
 GlobalObj (int narg, char **args)
 Default constructor. More...
 
 GlobalObj (GlobalObj< StackType, ErrorType, ProfilerType > &globin)
 Constructor with args. More...
 
 GlobalObj (const StackType &name)
 Constructor with args. More...
 
 GlobalObj (const StackType &name, int id)
 Constructor with args. More...
 
virtual int Init (const StackType &name)
 Initializes the global object and it's profiler object /// Initializes the global object and it's profiler object Profiling is ON by default if Init is invoked. More...
 
virtual int Init (const StackType &name, unsigned int id)
 Initializes the global object and it's profiler object Profiling is ON by default if Init is invoked. More...
 
virtual bool WriteProfiles ()
 Get state of enablement for writing profile files. More...
 
virtual bool WriteProfiles (bool yn)
 Enable or disable profile file writing. More...
 
virtual bool Profiling ()
 Get profiling state. More...
 
virtual bool Profiling (bool yn)
 Enable or disable profiling. More...
 
virtual void Report (std::ostream &ReportStream)
 Creates the final profiling report on the specified stream. More...
 
virtual void Register (const StackType &stackentry)
 Register will push to the Stack only. More...
 
virtual void DeRegister (const StackType &stackentry)
 DeRegister will pop from the stack only. More...
 
virtual void FunctionExitAll ()
 FunctionExitAll exits all from the Profiler only. More...
 
virtual void Error (const ErrorType &error)
 Pushes an error onto the error stack. More...
 
virtual void DumpErrors (std::ostream &Ostr)
 Dumps the errors themselves to the indicated stream. More...
 
virtual void DumpStack (std::ostream &Ostr)
 Dumps the code construct statck to the indicated stream. More...
 
virtual void DumpProfile (std::ostream &Ostr)
 Dumps the timing profile to the indicated stream. More...
 
bool DebugStreamReady ()
 Checks debug stream. More...
 
void SetDebugStream (std::ostream &dbstream)
 Sets the debug stream object. More...
 
std::ostream & DebugStream ()
 Gets the debug stream object. More...
 
std::ostream * DebugStreamPtr ()
 Gets the debug stream pointer. More...
 
bool ErrStreamReady ()
 Checks error stream. More...
 
void SetErrStream (std::ostream &dbstream)
 Sets the error stream object. More...
 
std::ostream & ErrStream ()
 Gets the error stream object. More...
 
std::ostream * ErrStreamPtr ()
 Gets the error stream pointer. More...
 
bool OutStreamReady ()
 Checks out stream. More...
 
void SetOutStream (std::ostream &outstream)
 Sets the stdout stream object. More...
 
std::ostream & OutStream ()
 Gets the stdout stream object. More...
 
std::ostream * OutStreamPtr ()
 Gets the stdout stream pointer. More...
 
void UnsetOutStream ()
 Sets outstream to NULL. More...
 
bool LogStreamReady ()
 Checks log stream. More...
 
void SetLogStream (std::ostream &logstream)
 Sets the stdout stream object. More...
 
std::ostream & LogStream ()
 Gets the log stream object. More...
 
std::ostream * LogStreamPtr ()
 Gets the log stream pointer. More...
 
void SetProfiler (ProfilerType &profiler)
 Sets the Profiler object. More...
 
virtual void SetName (const std::string &name)
 
virtual void ReName (const std::string &name)
 
virtual const std::string & Name ()
 
ProfilerTypeProfiler ()
 Gets the debug stream object. More...
 
void SetDebugLevel (unsigned char l)
 Sets the level of debugging. More...
 
unsigned char DebugLevel ()
 Returns the debugging level. More...
 
void SetVerbLevel (unsigned char l)
 
unsigned char VerbLevel ()
 Returns the verbosity level. More...
 
void SetLogLevel (unsigned char l)
 
unsigned char LogLevel ()
 Returns the verbosity level. More...
 
void DeSyncIO ()
 DeSync IO - relinquish control over IO, revert to standard. More...
 
void SyncIO ()
 Syncronize IO - assume control over IO, using established streams. More...
 
virtual int ForceOut (const std::string &outstr, unsigned char inlev=1)
 
virtual int StdOut (const std::string &outstr, unsigned char inlev=1)
 
virtual int ErrOut (const std::string &outstr)
 
virtual int DebugOut (const std::string &outstr, int inlev=1)
 
virtual int LogOut (const std::string &outstr, int inlev=0)
 
virtual ~GlobalObj ()
 Destructor. More...
 

Protected Attributes

fixtures::ConfigurationType appConfig
 
DomainInfoType domainInfo
 
GeometryInfoType geometryInfo
 
domainvector appDomains
 
advancervector domainAdvancers
 
initializervector domainInitializers
 
int errorState
 
int iStep
 
int numStepsMax
 
int numStepsIO
 
int numStepsStatus
 
- Protected Attributes inherited from parallelprogram
std::string outFileName
 Name of file for output. More...
 
int verblevel
 Verbosity level. More...
 
std::ofstream * outFilePtr
 Output file stream object for output. More...
 
int ndiv
 Number of partitions for domain. More...
 
int numProcessors
 Number of processors. More...
 
int numThreads
 Number of threads. More...
 
- Protected Attributes inherited from mpiprogram< ComLineType >
ComLineType _command_line
 
- Protected Attributes inherited from ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType >
bool profilingBarrier
 
CommunicatorType globalCommunicator
 
- Protected Attributes inherited from GlobalObj< StackType, ErrorType, ProfilerType >
std::ostream * _DebugStream
 DebugStream is useful for parallel programs that cannot stream debugging information to the screen. More...
 
std::ostream * _OutStream
 
std::ostream * _LogStream
 
std::ostream * _ErrStream
 
ProfilerType_Profiler
 This is a placeholder for a generic profiling tool. More...
 
Inheritance diagram for application< DomainBaseT >:
Collaboration diagram for application< DomainBaseT >:

Member Typedef Documentation

◆ AdvancerType

Definition at line 33 of file Simulation.H.

◆ advancervector

typedef std::vector<AdvancerType *> advancervector

Definition at line 34 of file Simulation.H.

◆ DomainBaseType

typedef DomainBaseT DomainBaseType

Definition at line 29 of file Simulation.H.

◆ DomainInfoType

Definition at line 37 of file Simulation.H.

◆ DomainInitializerType

◆ domainvector

typedef std::vector<DomainBaseType> domainvector

Definition at line 32 of file Simulation.H.

◆ GeometryInfoType

Definition at line 38 of file Simulation.H.

◆ GridType

typedef DomainBaseType::GridType GridType

Definition at line 30 of file Simulation.H.

◆ initializervector

Definition at line 36 of file Simulation.H.

◆ StateType

typedef DomainBaseType::StateType StateType

Definition at line 31 of file Simulation.H.

Constructor & Destructor Documentation

◆ application()

application ( int  numArgs,
char **  argList,
MPI_Comm  mpiCommunicator 
)
inline

Definition at line 60 of file Simulation.H.

Member Function Documentation

◆ Advance()

virtual int Advance ( )
inlinevirtual

Definition at line 145 of file Simulation.H.

◆ AdvanceDomains()

virtual int AdvanceDomains ( )
inlinevirtual

Definition at line 104 of file Simulation.H.

References base< DomainType >::AdvanceDomain(), and info::numDomains.

Here is the call graph for this function:

◆ ConfigureApplication()

virtual int ConfigureApplication ( )
inlinevirtual

Reimplemented in application.

Definition at line 66 of file Simulation.H.

◆ ConfigureDomains()

virtual int ConfigureDomains ( )
inlinevirtual

Reimplemented in application.

Definition at line 227 of file Simulation.H.

◆ ConfigureSimulation()

virtual int ConfigureSimulation ( )
inlinevirtual

Reimplemented in application.

Definition at line 225 of file Simulation.H.

◆ DomainInfo()

DomainInfoType DomainInfo ( )
inline

Definition at line 229 of file Simulation.H.

◆ FinalizeApplication()

virtual int FinalizeApplication ( )
inlinevirtual

Reimplemented in application.

Definition at line 101 of file Simulation.H.

◆ FinalizeDomains()

virtual int FinalizeDomains ( )
inlinevirtual

Definition at line 165 of file Simulation.H.

◆ FinalizeRun()

virtual int FinalizeRun ( )
inlinevirtual

Definition at line 155 of file Simulation.H.

◆ FinalizeStep()

virtual int FinalizeStep ( )
inlinevirtual

Definition at line 192 of file Simulation.H.

References base< DomainType >::FinalizeAdvance(), and info::numDomains.

Here is the call graph for this function:

◆ Finished()

virtual bool Finished ( )
inlinevirtual

Definition at line 117 of file Simulation.H.

◆ GetDomains()

domainvector& GetDomains ( )
inline

Definition at line 231 of file Simulation.H.

◆ InitializeApplication()

virtual int InitializeApplication ( )
inlinevirtual

Reimplemented in application.

Definition at line 100 of file Simulation.H.

◆ InitializeDomains()

virtual int InitializeDomains ( )
inlinevirtual

Definition at line 126 of file Simulation.H.

References Initializer< DomainType >::InitializeDomain(), and info::numDomains.

Here is the call graph for this function:

◆ InitializeRun()

virtual int InitializeRun ( )
inlinevirtual

Definition at line 118 of file Simulation.H.

◆ InitializeSimulation()

virtual int InitializeSimulation ( )
inlinevirtual

Definition at line 226 of file Simulation.H.

◆ InitializeStep()

virtual int InitializeStep ( )
inlinevirtual

Definition at line 177 of file Simulation.H.

References base< DomainType >::InitializeAdvance(), and info::numDomains.

Here is the call graph for this function:

◆ NumberOfDomains()

int NumberOfDomains ( )
inline

Definition at line 230 of file Simulation.H.

References info::numDomains.

◆ OutputStep()

virtual bool OutputStep ( )
inlinevirtual

Definition at line 176 of file Simulation.H.

◆ ReadDomains()

virtual int ReadDomains ( )
inlinevirtual

Reimplemented in application.

Definition at line 222 of file Simulation.H.

◆ Restart()

virtual int Restart ( )
inlinevirtual

Reimplemented in application.

Definition at line 224 of file Simulation.H.

◆ RestartDomains()

virtual int RestartDomains ( )
inlinevirtual

Definition at line 220 of file Simulation.H.

◆ RestartStep()

virtual bool RestartStep ( )
inlinevirtual

Definition at line 175 of file Simulation.H.

◆ RunApplication()

virtual int RunApplication ( )
inlinevirtual

Reimplemented in application.

Definition at line 67 of file Simulation.H.

◆ WriteDomains()

virtual int WriteDomains ( )
inlinevirtual

Reimplemented in application.

Definition at line 221 of file Simulation.H.

◆ WriteRestart()

virtual int WriteRestart ( )
inlinevirtual

Definition at line 223 of file Simulation.H.

Member Data Documentation

◆ appConfig

◆ appDomains

◆ domainAdvancers

advancervector domainAdvancers
protected

Definition at line 48 of file Simulation.H.

◆ domainInfo

◆ domainInitializers

initializervector domainInitializers
protected

Definition at line 49 of file Simulation.H.

◆ errorState

int errorState
protected

Definition at line 51 of file Simulation.H.

Referenced by application::RunMaxwellSolver(), and application::RunPlasCom2().

◆ geometryInfo

GeometryInfoType geometryInfo
protected

Definition at line 46 of file Simulation.H.

◆ iStep

int iStep
protected

◆ numStepsIO

int numStepsIO
protected

Definition at line 54 of file Simulation.H.

Referenced by application::RunMaxwellSolver(), and application::RunPlasCom2().

◆ numStepsMax

int numStepsMax
protected

Definition at line 53 of file Simulation.H.

Referenced by application::RunMaxwellSolver(), and application::RunPlasCom2().

◆ numStepsStatus

int numStepsStatus
protected

Definition at line 55 of file Simulation.H.

Referenced by application::RunMaxwellSolver(), and application::RunPlasCom2().


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