IPPL (Independent Parallel Particle Layer)
IPPL
Loading...
Searching...
No Matches
LandauDamping

This is an example demonstrating the setup and execution of a Landau damping simulation using the IPPL framework.

Usage

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.

Example Command

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.

Implementation Detail

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.