Definition at line 40 of file PlasCom2.H.
#include <PlasCom2.H>
Public Member Functions | |
application (int numArgs, char **argList, MPI_Comm mpiCommunicator) | |
virtual int | ConfigureApplication () |
Read & BC configuration, process application-wide configuration. More... | |
virtual int | ConfigureSimulation () |
Configure simluation-specific constructs. More... | |
virtual int | ConfigureDomains () |
Configure simulation domains. More... | |
virtual int | InitializeApplication () |
virtual int | RunApplication () |
virtual int | FinalizeApplication () |
virtual int | WriteDomains () |
virtual int | ReadDomains () |
virtual int | Restart () |
void | SetRestart (int trufals=1) |
int | RunEulerPBSPeriodic () |
int | RunPlasCom2 () |
int | RunMaxwellSolver () |
int | ConfigureGeometries () |
Configure simulation geometries. More... | |
void | SetNumGrids (int nGrids) |
int | SetNumPointsGrid (int iGrid, size_t numPoints) |
void | SetNumSteps (size_t nSteps) |
![]() | |
application (int numArgs, char **argList, MPI_Comm mpiCommunicator) | |
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 | WriteRestart () |
virtual int | InitializeSimulation () |
DomainInfoType | DomainInfo () |
int | NumberOfDomains () |
domainvector & | GetDomains () |
![]() | |
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... | |
![]() | |
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 () |
![]() | |
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 () |
![]() | |
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 CommunicatorType & | Communicator () |
virtual | ~ParallelGlobalObj () |
![]() | |
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 () |
ProfilerType & | Profiler () |
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 | |
pcpp::PlatformInfoType | platformInfo |
System information. More... | |
pcpp::VirtualNodeType | virtualNode |
int | isRestart |
size_t | numSteps |
int | numGrids |
std::vector< size_t > | numPointsGrid |
![]() | |
fixtures::ConfigurationType | appConfig |
DomainInfoType | domainInfo |
GeometryInfoType | geometryInfo |
domainvector | appDomains |
advancervector | domainAdvancers |
initializervector | domainInitializers |
int | errorState |
int | iStep |
int | numStepsMax |
int | numStepsIO |
int | numStepsStatus |
![]() | |
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... | |
![]() | |
ComLineType | _command_line |
![]() | |
bool | profilingBarrier |
CommunicatorType | globalCommunicator |
![]() | |
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... | |
Additional Inherited Members | |
![]() | |
typedef DomainBaseT | DomainBaseType |
typedef DomainBaseType::GridType | GridType |
typedef DomainBaseType::StateType | StateType |
typedef std::vector< DomainBaseType > | domainvector |
typedef advancer::base< DomainBaseType > | AdvancerType |
typedef std::vector< AdvancerType * > | advancervector |
typedef domain::Initializer< DomainBaseType > | DomainInitializerType |
typedef std::vector< DomainInitializerType > | initializervector |
typedef domain::info | DomainInfoType |
typedef geometry::info | GeometryInfoType |
|
inline |
Definition at line 46 of file PlasCom2.H.
|
virtual |
Read & BC configuration, process application-wide configuration.
This function is repsonsible for populating the simulation-wide configuration object. If available, it reads the specified configuration file(s) on processor 0 and BCast it out to all the other processors. If not available, it will look for the configuration information from a restart file. Simulation-specific constructs are configured with the populated configuration object through a call from this function.
Function is native, it access the command line and any configuration information Populates the configuration object for application and all simulation constructs
Reimplemented from application< DomainBaseT >.
Definition at line 225 of file PC2Configuration.C.
References pcpp::report::Configuration(), ConfigureBuildInformation(), plascom2::util::ConvertLegacyConfiguration(), PC2DefaultConfiguration(), ix::sys::PlatformInfo(), pcpp::util::ProcessConfigurationFile(), pcpp::util::ProcessConfigurationRestart(), ix::util::RenewStream(), and ix::sys::SystemInfo().
|
virtual |
Configure simulation domains.
This function sets up the simulation application for advancing (and coupling) 1 or more domains. Each domain is configured, and split among the available processors of the simulation application.
Uses the already-populated configuration object Configures all domains and splits the communicators appropriately
Reimplemented from application< DomainBaseT >.
Definition at line 408 of file PC2Configuration.C.
References pcpp::util::ExtractConfigParams(), ix::util::RenewStream(), and plascom2::util::SplitDomains().
int ConfigureGeometries | ( | ) |
Configure simulation geometries.
This function sets up the grids used by the simulation application
Uses the already-populated configuration object Configures the grids and assigns them among the domains
Definition at line 363 of file PC2Configuration.C.
References plascom2::util::ConfigureGridInfo().
|
virtual |
Configure simluation-specific constructs.
This function configures the simulation specific constructs:
Uses the already-populated configuration object for the application After return, all simulation-specific constructs are configured (not initialized)
Reimplemented from application< DomainBaseT >.
Definition at line 536 of file PC2Configuration.C.
References bufferSizes, paralleltopologyinfo::cartDecompDirections, pcpp::report::CartesianSetup(), pcpp::util::ConfigKey(), plascom2::util::ConfigureVirtualNode(), apptools::DumpContents(), pcpp::io::hdf5::FetchGridData(), plascom2::GenerateGrid(), simulation::report::Grid(), gridSizes, gridType, plascom2::operators::sbp::Initialize(), sizeextent::InitSimple(), paralleltopologyinfo::isPeriodic, plascom2::operators::sbp::IsValidOrder(), subregion::normalDirection, paralleltopologyinfo::numDimensions, numPointsBuffer, numScalar, pcpp::util::PartitionCartesianInterval(), simulation::grid::RECTILINEAR, subregion::regionInterval, ix::util::RenewStream(), pcpp::comm::SetupCartesianTopology(), CommunicatorObject::Size(), and plascom2::VirtualNodeReport().
|
virtual |
Reimplemented from application< DomainBaseT >.
Definition at line 102 of file PC2Initialize.C.
References mpiprogram< ComLineType >::Finalize().
|
virtual |
Reimplemented from application< DomainBaseT >.
Definition at line 37 of file PC2Initialize.C.
References parallelprogram::Initialize(), and plascom2::Splash().
Referenced by TestOverkit_Config().
|
virtual |
Reimplemented from application< DomainBaseT >.
Definition at line 8 of file PC2ReadDomains.C.
References application< DomainBaseT >::appConfig, application< DomainBaseT >::appDomains, application< DomainBaseT >::domainInfo, info::domainNames, GlobalObj< StackType, ErrorType, ProfilerType >::ErrOut(), application::numGrids, and x.
|
inlinevirtual |
Reimplemented from application< DomainBaseT >.
Definition at line 58 of file PlasCom2.H.
Referenced by application::RunMaxwellSolver(), and application::RunPlasCom2().
|
virtual |
Reimplemented from application< DomainBaseT >.
Definition at line 7 of file PlasCom2.C.
References application< DomainBaseT >::appConfig, barebones(), CommunicatorObject::Barrier(), FC_GLOBAL(), ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType >::FunctionEntry(), ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType >::FunctionExit(), Parameters::GetValue(), ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType >::globalCommunicator, ix::util::RenewStream(), parallelprogram::Run(), application::RunMaxwellSolver(), application::RunPlasCom2(), and GlobalObj< StackType, ErrorType, ProfilerType >::StdOut().
int RunEulerPBSPeriodic | ( | ) |
int RunMaxwellSolver | ( | ) |
Definition at line 27 of file RunMaxwellSolver.C.
References rk4advancer< DomainType >::AdvanceDomain(), application< DomainBaseT >::appConfig, application< DomainBaseT >::appDomains, pcpp::util::ConfigKey(), application< DomainBaseT >::domainInfo, info::domainNames, apptools::DumpContents(), EPS0, application< DomainBaseT >::errorState, GlobalObj< StackType, ErrorType, ProfilerType >::ErrOut(), ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType >::FunctionEntry(), ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType >::FunctionExit(), rk4advancer< DomainType >::GetTimers(), Parameters::GetValue(), Parameters::GetValueVector(), ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType >::globalCommunicator, gridSizes, rk4advancer< DomainType >::InitializeAdvancer(), Maxwell::util::InitializeMaxwellParameters(), Maxwell::util::InitializeMaxwellStateConstFields(), InitializeSolution(), Parameters::IsSet(), application< DomainBaseT >::iStep, MU0, CommunicatorObject::NProc(), parallelprogram::numProcessors, application< DomainBaseT >::numStepsIO, application< DomainBaseT >::numStepsMax, application< DomainBaseT >::numStepsStatus, parallelprogram::numThreads, CommunicatorObject::Rank(), pcpp::comm::ReduceTimers(), ix::util::RenewStream(), ReportTimings(), application::Restart(), rk4advancer< DomainType >::SetTimers(), GlobalObj< StackType, ErrorType, ProfilerType >::StdOut(), rk4advancer< DomainType >::SyncIntervals(), rk4advancer< DomainType >::SyncStates(), timerNames, and application::WriteDomains().
Referenced by application::RunApplication().
int RunPlasCom2 | ( | ) |
Definition at line 20 of file RunPlasCom2.C.
References rk4advancer< DomainType >::AdvanceDomain(), application< DomainBaseT >::appConfig, application< DomainBaseT >::appDomains, parallel_blockstructured::BufferSizes(), pcpp::util::ConfigKey(), base::CopyStateData(), application< DomainBaseT >::domainInfo, info::domainNames, apptools::DumpContents(), application< DomainBaseT >::errorState, GlobalObj< StackType, ErrorType, ProfilerType >::ErrOut(), pcpp::io::hdf5::FetchStateData(), pcpp::io::hdf5::FileInfo(), simfileinfo::formatBits, ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType >::FunctionEntry(), ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType >::FunctionExit(), rk4advancer< DomainType >::GetTimers(), Parameters::GetValue(), Parameters::GetValueVector(), ParallelGlobalObj< CommunicatorType, StackType, ErrorType, ProfilerType >::globalCommunicator, gridSizes, parallel_blockstructured::GridSizes(), parallel_blockstructured::Halo(), rk4advancer< DomainType >::InitializeAdvancer(), dataset::InitializeFieldHandles(), euler::util::InitializeQuiescentState(), InitializeSolution(), pcpp::io::ISLEGACY, Parameters::IsSet(), application< DomainBaseT >::iStep, CommunicatorObject::NProc(), application::numGrids, application::numPointsGrid, parallelprogram::numProcessors, application< DomainBaseT >::numStepsIO, application< DomainBaseT >::numStepsMax, application< DomainBaseT >::numStepsStatus, parallelprogram::numThreads, parallel_blockstructured::PartitionBufferInterval(), parallel_blockstructured::PartitionInterval(), CommunicatorObject::Rank(), pcpp::comm::ReduceTimers(), ix::util::RenewStream(), ReportTimings(), application::Restart(), rk4advancer< DomainType >::SetCommunication(), application::SetNumGrids(), application::SetNumPointsGrid(), application::SetNumSteps(), rk4advancer< DomainType >::SetTimers(), simfileinfo::simStep, simfileinfo::simTime, GlobalObj< StackType, ErrorType, ProfilerType >::StdOut(), rk4advancer< DomainType >::SyncIntervals(), rk4advancer< DomainType >::SyncStates(), timerNames, and application::WriteDomains().
Referenced by application::RunApplication().
|
inline |
Definition at line 64 of file PlasCom2.H.
Referenced by application::RunPlasCom2().
|
inline |
Definition at line 69 of file PlasCom2.H.
References numPoints.
Referenced by application::RunPlasCom2().
|
inline |
Definition at line 76 of file PlasCom2.H.
Referenced by application::RunPlasCom2().
|
inline |
Definition at line 59 of file PlasCom2.H.
|
virtual |
Reimplemented from application< DomainBaseT >.
Definition at line 12 of file PC2WriteDomains.C.
References application< DomainBaseT >::appConfig, application< DomainBaseT >::appDomains, application< DomainBaseT >::domainInfo, info::domainNames, Parameters::GetValue(), Parameters::IsSet(), application< DomainBaseT >::iStep, and pcpp::io::StepStamp().
Referenced by application::RunMaxwellSolver(), and application::RunPlasCom2().
|
protected |
Definition at line 88 of file PlasCom2.H.
|
protected |
Definition at line 93 of file PlasCom2.H.
Referenced by application::ReadDomains(), and application::RunPlasCom2().
|
protected |
Definition at line 94 of file PlasCom2.H.
Referenced by application::RunPlasCom2().
|
protected |
Definition at line 92 of file PlasCom2.H.
|
protected |
System information.
Definition at line 76 of file PlasCom2.H.
|
protected |
Definition at line 87 of file PlasCom2.H.