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

Track C, rung C1 (Voronoi methods plan): the FACE mesh of a published tessellation — one record per geometric face (an interior face appears in two cells' facet lists; the mesh keeps it once, owned by the lower cell), with the geometry the finite-volume operators need, and a cell → faces CSR with the orientation sign. Built on device from TessellationView + AuxMaps. More...

#include <Kokkos_Core.hpp>
#include <string>
#include "peclet/core/common/view.hpp"
#include "peclet/voro/tessellation_view.hpp"
#include "peclet/voro/transpose.hpp"
Include dependency graph for mesh.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::FaceMesh< Real >
 

Namespaces

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

Functions

template<class Real >
FaceMesh< Real > peclet::voro::fv::buildFaceMesh (const TessellationView< Real > &view, const AuxMaps< Real > &aux, int nOwned=-1)
 

Detailed Description

Track C, rung C1 (Voronoi methods plan): the FACE mesh of a published tessellation — one record per geometric face (an interior face appears in two cells' facet lists; the mesh keeps it once, owned by the lower cell), with the geometry the finite-volume operators need, and a cell → faces CSR with the orientation sign. Built on device from TessellationView + AuxMaps.

Voronoi orthogonality is the whole point of this track: the connector between the two seeds is perpendicular to the face, so the two-point flux (p_B − p_A)/d is consistent with no non-orthogonal correction, and the pressure Laplacian is the graph Laplacian A_f/d_f that the OT optimiser already assembles. The only mesh-quality error left is SKEWNESS — the face centroid off the connector — which the centroidal energy term of track B minimises.

Face geometry from the view (Voronoi planes; a power tessellation's connector is the same vector but the seed distance is not |conn| — pass positions when that matters): area vector A (owner side, outward), connector r = 2n (owner seed → plane foot, doubled = to the neighbour seed), dV/dr = (|A|/|r|)(r − c) ⇒ face centroid c = r − dV·|r|/|A| (owner-relative).