PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
This guide is for developers who wish to understand, modify, or extend the PICurv codebase.
The solver is built around a central SimulationContext
(simCtx) object that holds all simulation-wide data and configuration. The program flow follows five main stages as defined in main()
: Initialize, Configure, Setup, Execute, and Finalize.
The main()
function orchestrates the simulation.
PetscInitialize()
sets up the MPI and PETSc environment.CreateSimulationContext()
parses all command-line arguments into the simCtx
struct.SetupGridAndSolvers()
: Builds the multi-grid hierarchy and PETSc solvers.PerformInitialSetup()
: One-time operations before the time loop.AdvanceSimulation()
: The main time-stepping loop.PetscFinalize()
cleans up resources.The codebase is organized into logical modules for clarity.
*/