IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
ippl::BaseManager Class Referenceabstract

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

#include <BaseManager.h>

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

Public Member Functions

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

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

Referenced by ippl::PicManager< T, Dim, pc, fc, orb >::PicManager().

Here is the caller graph for this function:

◆ ~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 BumponTailInstabilityManager< T, Dim >, LandauDampingManager< T, Dim >, and PenningTrapManager< T, Dim >.

Referenced by run().

Here is the caller graph for this function:

◆ 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.

Reimplemented in AlpineManager< T, Dim >.

Definition at line 44 of file BaseManager.h.

Referenced by run().

Here is the caller graph for this function:

◆ 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 BumponTailInstabilityManager< T, Dim >, LandauDampingManager< T, Dim >, and PenningTrapManager< 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.

Reimplemented in AlpineManager< T, Dim >.

Definition at line 35 of file BaseManager.h.

Referenced by run().

Here is the caller graph for this function:

◆ 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().

Referenced by main().

Here is the call graph for this function:
Here is the caller graph for this function:

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