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

Force main friction — Hazen-Williams and Darcy-Weisbach. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  openswmm
 
namespace  openswmm::forcemain
 

Enumerations

enum class  openswmm::forcemain::FrictionModel : int {
  openswmm::forcemain::HAZEN_WILLIAMS = 0 ,
  openswmm::forcemain::DARCY_WEISBACH = 1
}
 

Functions

double openswmm::forcemain::getFricSlope_HW (double velocity, double hyd_rad, double c_hw)
 Compute friction slope for Hazen-Williams.
 
double openswmm::forcemain::getFricSlope_DW (double velocity, double hyd_rad, double roughness)
 Compute friction slope for Darcy-Weisbach.
 
void openswmm::forcemain::batchFricSlope (const double *velocity, const double *hyd_rad, const double *param, double *fric_slope, FrictionModel model, int count)
 Batch compute friction slopes for all force mains — VECTORISABLE.
 

Variables

constexpr double openswmm::forcemain::VISCOS = 1.1e-5
 Kinematic viscosity @ 20C (ft2/sec)
 

Detailed Description

Force main friction — Hazen-Williams and Darcy-Weisbach.

Alternative friction models for pressurised pipes. Called by DynamicWave solver when xsect type is FORCE_MAIN.

Both formulas compute friction slope Sf from velocity and hydraulic radius — vectorisable over all force main links.

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