PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
Loading...
Searching...
No Matches
Fractional-Step (Projection) Method

PICurv uses a projection-style incompressible update: momentum predictor, pressure correction, velocity projection.

1. Discrete Method Skeleton

Given velocity \(\mathbf{u}^n\), the solver computes a provisional field \(\mathbf{u}^*\) from momentum terms, then solves pressure correction:

\[ \nabla^2 \phi = \frac{1}{\Delta t}\nabla\cdot\mathbf{u}^*, \]

followed by:

\[ \mathbf{u}^{n+1} = \mathbf{u}^* - \Delta t\nabla\phi, \qquad p^{n+1}=p^n+\phi. \]

In curvilinear form, gradient components use metric terms (ICsi/IEta/IZet, etc.) and Jacobian inverses in the projection kernel.

2. Code Path In PICurv

@ref Projection explicitly uses boundary-aware stencils and periodic-edge correction logic before final ghost updates and Contra2Cart conversion.

3. Boundary and Geometry Handling

Key implementation details:

  • one-sided derivative stencils are used when centered stencils touch solids (Nvert checks),
  • periodic edges are corrected in dedicated boundary loops,
  • driven-periodic channel cases call the flux-profile corrector in projection path.

These are part of why projection behavior in PICurv differs from simplified textbook pseudocode.

4. Diagnostics To Watch

For projection health, monitor:

  • continuity/divergence diagnostics after correction,
  • Poisson KSP convergence history logs,
  • step-to-step stability of pressure and corrected velocity.

Persistent divergence or noisy pressure correction usually indicates a Poisson tuning, grid-quality, or BC consistency issue.

1. Reference Scales