OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
ippl::BaseManager Class Referenceabstract

A base class for managing simulations using IPPL. More...

#include <BaseManager.h>

Inheritance diagram for ippl::BaseManager:
Inheritance graph
Collaboration diagram for ippl::BaseManager:
Collaboration graph

Public Member Functions

 BaseManager ()=default
 
virtual ~BaseManager ()=default
 
virtual void pre_run ()
 A method that should be used for setting up the simulation. More...
 
virtual void pre_step ()
 A method that should be used for preparation before perfoming a step of simulation. More...
 
virtual void post_step ()
 A method that should be used after perfoming a step of simulation. More...
 
virtual void advance ()=0
 A method that should be used to execute/advance a step of simulation. More...
 
void run (int nt)
 The main for loop fro running a simulation. More...
 

Detailed Description

A base class for managing simulations using IPPL.

The BaseManager class provides a basic structure for running simulations with common steps.

Definition at line 14 of file BaseManager.h.

Constructor & Destructor Documentation

◆ BaseManager()

ippl::BaseManager::BaseManager ( )
default

◆ ~BaseManager()

virtual ippl::BaseManager::~BaseManager ( )
virtualdefault

Member Function Documentation

◆ advance()

virtual void ippl::BaseManager::advance ( )
pure virtual

A method that should be used to execute/advance a step of simulation.

In a derived class, the user must override this method to implement their time integration method for solving the considered governing equation.

Implemented in PartBunch< PLayout, T, Dim >.

Referenced by run().

◆ post_step()

virtual void ippl::BaseManager::post_step ( )
inlinevirtual

A method that should be used after perfoming a step of simulation.

Derived classes can override this method to dump data, increment time, etc. The default implementation does nothing.

Definition at line 44 of file BaseManager.h.

Referenced by run().

◆ pre_run()

virtual void ippl::BaseManager::pre_run ( )
inlinevirtual

A method that should be used for setting up the simulation.

Derived classes can override this method to allocate memory, initialize variables, etc. The default implementation does nothing.

Reimplemented in PartBunch< PLayout, T, Dim >.

Definition at line 25 of file BaseManager.h.

◆ pre_step()

virtual void ippl::BaseManager::pre_step ( )
inlinevirtual

A method that should be used for preparation before perfoming a step of simulation.

The default implementation does nothing.

Definition at line 35 of file BaseManager.h.

Referenced by run().

◆ run()

void ippl::BaseManager::run ( int  nt)
inline

The main for loop fro running a simulation.

This method performs a simulation run by calling pre_step, advance, and post_step in a loop for a specified number of time steps.

Parameters
ntThe number of time steps to run the simulation.

Definition at line 63 of file BaseManager.h.

References advance(), post_step(), and pre_step().

Here is the call graph for this function:

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