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

Orifice-equation exchange between 2D surface and SWMM nodes. More...

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

Go to the source code of this file.

Classes

struct  openswmm::twoD::CouplingPoint
 Descriptor for a single coupling point between 2D and 1D. More...
 

Namespaces

namespace  openswmm
 
namespace  openswmm::twoD
 

Functions

std::vector< CouplingPointopenswmm::twoD::buildCouplingPoints (const MeshData &mesh, const SimulationContext &ctx)
 Build the list of coupling points from mesh coupling maps.
 
void openswmm::twoD::computeCouplingExchange (const std::vector< CouplingPoint > &cps, const MeshData &mesh, SurfaceStateData &state, SimulationContext &ctx, const SolverOptions2D &opts, double dt)
 Compute exchange flows at all coupling points and inject into forcing API.
 
void openswmm::twoD::updateOutfallBoundaries (const std::vector< CouplingPoint > &cps, const MeshData &mesh, const SurfaceStateData &state, SimulationContext &ctx)
 Update outfall boundary depths from 2D surface heads.
 
void openswmm::twoD::transferOutfallDischarges (const std::vector< CouplingPoint > &cps, const MeshData &mesh, SurfaceStateData &state, const SimulationContext &ctx, double dt)
 Transfer outfall discharges into 2D coupling cells.
 

Detailed Description

Orifice-equation exchange between 2D surface and SWMM nodes.

Handles:

  • Bidirectional orifice exchange at junction coupling points
  • Uncapped node surcharge spill and return flow
  • Outfall boundary feedback (dynamic tailwater from 2D)
  • Flap gate backflow prevention at outfalls
  • Ponding suppression for 2D-coupled nodes
  • Mass-conservative injection via the forcing API
See also
TWO_DIMENSIONAL_SURFACE_ROUTING_IMPLEMENTATION_STRATEGY.md §6, §13, §14
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License