peclet.voro 1.0.4
Device-native moving-particle Voronoi dynamics
Loading...
Searching...
No Matches
collocated.hpp File Reference

Track C, rung C2b (Voronoi methods plan, verdict V4): the COLLOCATED Navier–Stokes solver on the Voronoi face mesh with the approximate projection of peclet.flow's SolverColocated (Almgren–Bell–Colella structure; user ruling 2026-09-03: as flow, NOT Rhie–Chow). More...

#include <functional>
#include <Kokkos_Core.hpp>
#include "peclet/voro/fv/covolume.hpp"
#include "peclet/voro/fv/mesh.hpp"
#include "peclet/voro/fv/operators.hpp"
Include dependency graph for collocated.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  peclet::voro::fv::CollocatedNS< Real >
 

Namespaces

namespace  peclet
 
namespace  peclet::voro
 Device-native Voronoi tessellation, geometry and finite-volume physics.
 
namespace  peclet::voro::fv
 

Detailed Description

Track C, rung C2b (Voronoi methods plan, verdict V4): the COLLOCATED Navier–Stokes solver on the Voronoi face mesh with the approximate projection of peclet.flow's SolverColocated (Almgren–Bell–Colella structure; user ruling 2026-09-03: as flow, NOT Rhie–Chow).

flow's collocated design (flow/src/mac_approx_projection.hpp, gauge_exact_gradient.hpp, doc/collocated_invisible_subspace.md) transferred to the unstructured mesh:

  • the velocity VECTOR lives at the seeds U_i, the constraint acts on the centre→face interpolation T (flow: centerToFace): D T U = 0 with D the face divergence;
  • the cell pressure gradient is the EXACT TRANSPOSE of the constraint, G = −(D T)ᵀ = Tᵀ∘grad_f (flow: the gauge-exact gradient = the transpose of centerToFace, "the pressure does no work on the constraint manifold"), and it is used BOTH in the incremental predictor (−G P^n) and in the cell correction (−Δt G φ) — momentum and constraint stay one operator family;
  • the FACE field is projected exactly (L φ = div T U* / Δt with the same two-point L as the covolume solver) and transports the momentum; the cell field is corrected approximately;
  • incremental pressure P += φ (flow: rotational Timmermans update P += (ρ/Δt)φ − μ div u*; the viscous part belongs to the semi-implicit viscous solve — here the diffusion is explicit, so the plain increment is the consistent form). On a cubic lattice T is the ½/½ average and G the central difference — flow's kernels exactly. The unstructured extension: the plain T interpolates at the CONNECTOR FOOT, which sits off the face centroid by the skewness (B4: first-order flux consistency ∝ skewness); skewCorrected extrapolates each cell's value to the centroid with its Green–Gauss gradient (T = T₀ + T₁∘GG) and G is the exact transpose of THAT (faceInterpTranspose) — the same adjoint pairing, second order on skewed faces. No Rhie–Chow term anywhere. Immersed solids do not exist on this mesh (it is body-fitted), so flow's invisible-subspace / ghost machinery has no counterpart here.