33#ifndef OPENSWMM_ENGINE_2D_VERTEX_RECONSTRUCTION_HPP
34#define OPENSWMM_ENGINE_2D_VERTEX_RECONSTRUCTION_HPP
96 const int start = mesh.vert_stencil_ptr[v];
97 const int end = mesh.vert_stencil_ptr[v + 1];
99 for (
int k = start; k < end; ++k)
100 h += mesh.vert_stencil_wt[k] * state.head[mesh.vert_stencil_idx[k]];
182 int nthreads, std::vector<double>& eta_scratch);
197 double dry_depth,
int nthreads = 1) {
198 std::vector<double> eta_scratch;
Structure-of-Arrays (SoA) storage for 2D triangular mesh geometry.
Structure-of-Arrays (SoA) storage for 2D surface routing state.
Definition ExchangeLaw.hpp:60
void buildVertexStencils(MeshData &mesh)
Build pseudo-Laplacian reconstruction stencils for all vertices.
Definition VertexReconstruction.cpp:36
double cellFreeSurfaceElevationOf(const MeshData &mesh, int t, double mean_depth)
Cell-shape-aware form: triangle → cellFreeSurfaceElevation over the three vertex beds; quad → the B&S...
Definition VertexReconstruction.cpp:177
double vertexHeadAt(const MeshData &mesh, const SurfaceStateData &state, int v) noexcept
Pseudo-Laplacian head at ONE vertex, evaluated on demand from the current cell heads.
Definition VertexReconstruction.hpp:95
void reconstructVertexHeads(const MeshData &mesh, SurfaceStateData &state, int nthreads)
Reconstruct head values at vertices from cell-centred heads.
Definition VertexReconstruction.cpp:158
double cellFreeSurfaceElevation(double mean_depth, double za, double zb, double zc)
Free-surface elevation η of one triangular cell from its mean depth (render/output closure).
Definition VertexReconstruction.cpp:193
void reconstructVertexRenderDepths(const MeshData &mesh, SurfaceStateData &state, double dry_depth, int nthreads, std::vector< double > &eta_scratch)
Wet-masked, depth-weighted free-surface reconstruction at vertices for RENDERING/OUTPUT only (writes ...
Definition VertexReconstruction.cpp:205
SoA storage for 2D mixed triangle/quad mesh geometry and topology.
Definition MeshData.hpp:65
Definition SurfaceStateData.hpp:64