OpenSWMM Engine  6.0.0-alpha.1
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.1)
Loading...
Searching...
No Matches
SurfaceFluxCalculator.hpp
Go to the documentation of this file.
1
18#ifndef OPENSWMM_ENGINE_2D_SURFACE_FLUX_CALCULATOR_HPP
19#define OPENSWMM_ENGINE_2D_SURFACE_FLUX_CALCULATOR_HPP
20
21#include "../data/MeshData.hpp"
22#include "../data/SurfaceStateData.hpp"
23#include "../data/SolverOptions2D.hpp"
24
25namespace openswmm::twoD {
26
36void computeUnlimitedGradients(const MeshData& mesh, SurfaceStateData& state);
37
48void computeLimitedGradients(const MeshData& mesh, SurfaceStateData& state,
49 double epsilon);
50
62void computeEdgeFluxes(const MeshData& mesh, SurfaceStateData& state,
63 const SolverOptions2D& opts);
64
76void assembleRHS(const MeshData& mesh, const SurfaceStateData& state,
77 double* ydot);
78
79} // namespace openswmm::twoD
80
81#endif // OPENSWMM_ENGINE_2D_SURFACE_FLUX_CALCULATOR_HPP
Definition NodeCoupling.cpp:15
void computeUnlimitedGradients(const MeshData &mesh, SurfaceStateData &state)
Compute unlimited gradients for all triangles via Green-Gauss theorem.
Definition SurfaceFluxCalculator.cpp:32
void computeLimitedGradients(const MeshData &mesh, SurfaceStateData &state, double epsilon)
Apply Jawahar-Kamath slope limiter (Eq. [23]–[24]).
Definition SurfaceFluxCalculator.cpp:64
void assembleRHS(const MeshData &mesh, const SurfaceStateData &state, double *ydot)
Assemble the RHS of the ODE system: dψ/dt for each triangle.
Definition SurfaceFluxCalculator.cpp:202
void computeEdgeFluxes(const MeshData &mesh, SurfaceStateData &state, const SolverOptions2D &opts)
Compute edge fluxes for all triangles.
Definition SurfaceFluxCalculator.cpp:122