|
PICurv 0.1.0
A Parallel Particle-In-Cell Solver for Curvilinear LES
|
PICurv solves flow on structured curvilinear grids and applies immersed-boundary-aware logic in metric, pressure, and projection stages.
The code evolves contravariant flux-like velocity components (Ucont) and derives Cartesian velocity (Ucat) as needed. Curvilinear metrics map physical derivatives to computational coordinates:
\[ \nabla \phi = \phi_{\xi}\,\mathbf{\xi} + \phi_{\eta}\,\mathbf{\eta} + \phi_{\zeta}\,\mathbf{\zeta}, \qquad J^{-1} = \frac{\partial(\xi,\eta,\zeta)}{\partial(x,y,z)}. \]
Face and cell metric tensors are precomputed and reused by RHS, Poisson, and projection stages.
Main setup touchpoints:
Useful geometric helper for BC and flux logic:
The current branch keeps immersed-boundary hooks in solver paths, while several IBM-specific calls are conditional or currently inactive in default runs. In practice:
Nvert/solid markers in key kernels,You mainly control CurvIB behavior through:
Even when users never interact with metric tensors directly, they govern stability, pressure correction quality, and particle coupling accuracy.