|
IPPL (Independent Parallel Particle Layer)
IPPL
|
This is an example demonstrating the setup and execution of a Landau damping simulation using the IPPL framework.
The executable can be run with the following command-line arguments:
nx: Number of cell-centered points in the x-direction.
ny...: Number of cell-centered points in the y-, z-, ...-direction.
Np: Total number of macro-particles in the simulation.
Nt: Number of time steps to execute.
stype: Field solver type, with FFT and CG (Conjugate Gradient) being supported.
lbthres: Load balancing threshold. For example, a value of 0.01 means load balancing occurs if the load imbalance exceeds 1%.
tintegr: Type of time integrator. For example Leapfrog.
ovfactor: Over-allocation factor for buffers used in communication. A value of 1.0 means no over-allocation.
This command runs a simulation with a 128x128x128 grid, 10,000 particles, for 10 time steps, using the FFT solver, a load balancing threshold of 1%, with LeapFrog integration, overallocating buffers by a factor of 2.
The main function initializes the Ippl framework, sets up the simulation parameters from command-line arguments, and then creates and configures an instance of LandauDampingManager to manage the simulation. It performs pre-run operations to set up the simulation environment and then runs the simulation for the specified number of time steps. Timing information is collected and output for performance analysis.