|
| virtual void | par2grid ()=0 |
| | Particle-to-grid operation.
|
| |
| virtual void | grid2par ()=0 |
| | Grid-to-particle operation.
|
| |
| std::shared_ptr< pc > | getParticleContainer () |
| | Get the default (first) particle container.
|
| |
| std::shared_ptr< pc > | getParticleContainer (size_t i) |
| | Get a particle container by index.
|
| |
| void | setParticleContainer (std::shared_ptr< pc > pcontainer) |
| | Set the default (first) particle container.
|
| |
| size_t | addParticleContainer (std::shared_ptr< pc > pcontainer) |
| | Add an additional particle container (bunch).
|
| |
| size_t | getNumParticleContainers () const |
| | Get the number of particle containers (bunches).
|
| |
| const std::vector< std::shared_ptr< pc > > & | getParticleContainers () const |
| | Get a const reference to the vector of all particle containers.
|
| |
|
std::shared_ptr< fc > | getFieldContainer () |
| |
|
void | setFieldContainer (std::shared_ptr< fc > fcontainer) |
| |
|
std::shared_ptr< ippl::FieldSolverBase< T, Dim > > | getFieldSolver () |
| |
|
void | setFieldSolver (std::shared_ptr< ippl::FieldSolverBase< T, Dim > > fsolver) |
| |
|
std::shared_ptr< orb > | getLoadBalancer () |
| |
|
void | setLoadBalancer (std::shared_ptr< orb > loadbalancer) |
| |
| 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.
|
| |
template<typename T, unsigned Dim, class pc, class fc, class orb>
class ippl::PicManager< T, Dim, pc, fc, orb >
A template class for managing Particle-in-Cell (PIC) simulations.
The PicManager class is a template class that extends the functionality of the BaseManager class for Particle-in-Cell simulations. It provides methods for particle-to-grid and grid-to-particle operations, as well as a method for dumping simulation data.
It supports multiple particle containers (bunches). By default, a single bunch is used, preserving backward compatibility. The load balancer applies to the first (default) bunch.
- Template Parameters
-
| T | The data type for simulation variables. |
| Dim | The dimensionality of the simulation (e.g., 2D or 3D). |
| pc | The particle container type. |
| fc | The field container type. |
| orb | The load balancer type. |
template<typename T , unsigned Dim, class pc , class fc , class orb >
Grid-to-particle operation.
In a derived class, the user must override this method to perform grid-to-particle operations.
template<typename T , unsigned Dim, class pc , class fc , class orb >
Particle-to-grid operation.
In a derived class, the user must override this method to perform particle-to-grid operations.