|
PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
PICurv uses a projection-style incompressible update: momentum predictor, pressure correction, velocity projection.
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.
@ref Projection explicitly uses boundary-aware stencils and periodic-edge correction logic before final ghost updates and Contra2Cart conversion.
Key implementation details:
Nvert checks),These are part of why projection behavior in PICurv differs from simplified textbook pseudocode.
For projection health, monitor:
Persistent divergence or noisy pressure correction usually indicates a Poisson tuning, grid-quality, or BC consistency issue.