OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
SurfaceFluxCalculator.hpp File Reference

Edge flux computation, gradient calculation, and slope limiting. More...

Include dependency graph for SurfaceFluxCalculator.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  openswmm
 
namespace  openswmm::twoD
 

Functions

void openswmm::twoD::computeUnlimitedGradients (const MeshData &mesh, SurfaceStateData &state)
 Compute unlimited gradients for all triangles via Green-Gauss theorem.
 
void openswmm::twoD::computeLimitedGradients (const MeshData &mesh, SurfaceStateData &state, double epsilon)
 Apply Jawahar-Kamath slope limiter (Eq. [23]–[24]).
 
void openswmm::twoD::computeEdgeFluxes (const MeshData &mesh, SurfaceStateData &state, const SolverOptions2D &opts)
 Compute edge fluxes for all triangles.
 
void openswmm::twoD::assembleRHS (const MeshData &mesh, const SurfaceStateData &state, double *ydot)
 Assemble the RHS of the ODE system: dψ/dt for each triangle.
 

Detailed Description

Edge flux computation, gradient calculation, and slope limiting.

Implements the second-order finite volume flux computation:

  • Unlimited gradients via Green-Gauss (Eq. [25]–[26])
  • Slope limiter (Jawahar-Kamath, Eq. [23]–[24])
  • Edge flux with upwind selection (Eq. [15a], [22])
See also
TWO_DIMENSIONAL_SURFACE_ROUTING_IMPLEMENTATION_STRATEGY.md §3, §10
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License