PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
Loading...
Searching...
No Matches
Methods and Models Overview

This section maps PICurv's numerical methods to the code paths that execute each step. It is intended as the bridge between theory-level terminology and what the current codebase actually does.

1. Governing Model Snapshot

PICurv advances incompressible flow in non-dimensional form on curvilinear grids:

\[ \frac{\partial \mathbf{u}}{\partial t} + \nabla\cdot(\mathbf{u}\mathbf{u}) = -\nabla p + \frac{1}{Re}\nabla^2\mathbf{u} + \mathbf{f}, \qquad \nabla\cdot\mathbf{u}=0. \]

Operationally, the solver uses a projection workflow:

  1. build momentum residuals,
  2. advance momentum with selected strategy,
  3. solve Poisson equation for pressure correction,
  4. project velocity to divergence-free space,
  5. execute particle coupling (if enabled).

2. Runtime Execution Order

At runtime, the top-level sequence is:

  1. CreateSimulationContext parses generated control files.
  2. InitializeEulerianState sets initial Eulerian fields.
  3. FlowSolver advances one fluid step (or AnalyticalSolutionEngine for analytical mode).
  4. Particle stage (when active): interpolation -> motion -> relocation -> physics -> scatter.

The method pages below document each major stage in detail.

3. Method Map

1. General Usage

Use each page with two goals:

  1. theory alignment (which equation/model is being approximated),
  2. implementation alignment (which function actually executes it now).

When behavior differs from classical textbook formulations, the implementation notes take precedence for this repository.