![]() |
OpenSWMM Engine
6.0.0-alpha.3
Data-oriented, plugin-extensible SWMM Engine (6.0.0-alpha.3)
|
Edge flux computation, gradient calculation, and slope limiting. More...
#include "../data/MeshData.hpp"#include "../data/SurfaceStateData.hpp"#include "../data/SolverOptions2D.hpp"Go to the source code of this file.
Namespaces | |
| namespace | openswmm |
| namespace | openswmm::twoD |
Functions | |
| void | openswmm::twoD::computeUnlimitedGradients (const MeshData &mesh, SurfaceStateData &state, int nthreads=1) |
| Compute unlimited gradients for all triangles via Green-Gauss theorem. | |
| void | openswmm::twoD::computeLimitedGradients (const MeshData &mesh, SurfaceStateData &state, double epsilon, int nthreads=1) |
| 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. | |
| double | openswmm::twoD::evapSink (double rate, double depth, double dry_depth) noexcept |
| Depth-limited evaporation sink rate (m/s) for one cell. | |
| void | openswmm::twoD::assembleRHS (const MeshData &mesh, const SurfaceStateData &state, const SolverOptions2D &opts, double *ydot) |
| Assemble the RHS of the ODE system: dψ/dt for each triangle. | |
| void | openswmm::twoD::assembleImplicitRHS (const MeshData &mesh, const SurfaceStateData &state, const SolverOptions2D &opts, double *ydot) |
| Implicit half of the IMEX split: the flux divergence only (ARKODE F_I). | |
| void | openswmm::twoD::assembleExplicitRHS (const MeshData &mesh, const SurfaceStateData &state, const SolverOptions2D &opts, const double *y, double *ydot) |
| Explicit half of the IMEX split: source/sink forcing (ARKODE F_E). | |
| void | openswmm::twoD::computeCellContinuity (const MeshData &mesh, SurfaceStateData &state, const SolverOptions2D &opts, double dt) |
| Compute the per-cell continuity residual (local mass-balance check). | |
| void | openswmm::twoD::computeFaceVelocity (const MeshData &mesh, SurfaceStateData &state, const SolverOptions2D &opts) |
| Reconstruct cell-centred velocity (vx, vy) from edge fluxes (RT0). | |
Edge flux computation, gradient calculation, and slope limiting.
Implements the second-order finite volume flux computation: