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

Culvert inlet control — FHWA HEC-5 equations. More...

#include <vector>
Include dependency graph for Culvert.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  openswmm::culvert::CulvertCoeffs
 Culvert curve coefficients (K, M, C, Y) per type code. More...
 

Namespaces

namespace  openswmm
 
namespace  openswmm::culvert
 

Functions

CulvertCoeffs openswmm::culvert::getCoeffs (int culvert_code)
 Get coefficients for a culvert type code (1-57).
 
double openswmm::culvert::getInflow (double q_proposed, double head, double y_full, double a_full, double slope, int code, double &dqdh)
 Compute culvert inlet-controlled inflow.
 
void openswmm::culvert::batchComputeInletControl (const int *link_indices, int n, SimulationContext &ctx)
 Batch compute culvert inlet control for all culvert links.
 

Detailed Description

Culvert inlet control — FHWA HEC-5 equations.

Three flow regimes:

  • Unsubmerged (y <= 0.95*yFull): Q = AD * (h/yFull/K)^(1/M)
  • Transition: linear interpolation
  • Submerged (y >= y2): Q = AD * sqrt((h/yFull - Y + scf) / C)

Batch: classify all culverts by regime, compute flow per regime group.

Note
Legacy reference: src/legacy/engine/culvert.c
Author
Caleb Buahin caleb.nosp@m..bua.nosp@m.hin@g.nosp@m.mail.nosp@m..com
License\n MIT License