EPANET
3.0
EPANET Development Project
|
A Link that controls flow or pressure. More...
#include <valve.h>
Public Types | |
enum | ValveType { PRV, PSV, FCV, TCV, PBV, GPV } |
![]() | |
enum | LinkType { PIPE, PUMP, VALVE } |
enum | LinkStatus { LINK_CLOSED, LINK_OPEN, VALVE_ACTIVE, TEMP_CLOSED } |
enum | LinkReaction { BULK, WALL } |
![]() | |
enum | ElementType { NODE, LINK, PATTERN, CURVE, CONTROL } |
Public Member Functions | |
Valve (std::string name_) | |
int | type () |
std::string | typeStr () |
void | convertUnits (Network *nw) |
double | convertSetting (Network *nw, double s) |
void | setInitFlow () |
void | setInitStatus (int s) |
void | setInitSetting (double s) |
void | initialize (bool initFlow) |
bool | isPRV () |
bool | isPSV () |
void | findHeadLoss (Network *nw, double q) |
void | updateStatus (double q, double h1, double h2) |
bool | changeStatus (int newStatus, bool makeChange, const std::string reason, std::ostream &msgLog) |
bool | changeSetting (double newSetting, bool makeChange, const std::string reason, std::ostream &msgLog) |
void | validateStatus (Network *nw, double qTol) |
double | getVelocity () |
double | getRe (const double q, const double viscos) |
double | getSetting (Network *nw) |
![]() | |
Link (std::string name_) | |
Constructor. | |
virtual | ~Link () |
Destructor. | |
virtual void | validate (Network *nw) |
virtual bool | isReactive () |
virtual void | setResistance (Network *nw) |
virtual void | setFlowThreshold (const double viscos) |
virtual bool | reduceFlowThreshold () |
virtual double | getResistance () |
virtual double | getUnitHeadLoss () |
virtual double | updateEnergyUsage (Network *nw, int dt) |
virtual bool | canLeak () |
virtual double | findLeakage (Network *nw, double h, double &dqdh) |
virtual bool | isHpPump () |
virtual void | applyControlPattern (std::ostream &msgLog) |
std::string | writeStatusChange (int oldStatus) |
virtual double | getVolume () |
![]() | |
Element (std::string name_) | |
Public Attributes | |
ValveType | valveType |
valve type | |
double | lossFactor |
minor loss factor | |
![]() | |
bool | rptFlag |
true if results are reported | |
Node * | fromNode |
pointer to the link's start node | |
Node * | toNode |
pointer to the link's end node | |
int | initStatus |
initial Open/Closed status | |
double | diameter |
link diameter (ft) | |
double | lossCoeff |
minor head loss coefficient | |
double | initSetting |
initial pump speed or valve setting | |
int | status |
current status | |
double | flowThresh0 |
initial flow threshold (cfs) | |
double | flowThresh |
current flow threshold (cfs) | |
double | flow |
flow rate (cfs) | |
double | leakage |
leakage rate (cfs) | |
double | hLoss |
head loss (ft) | |
double | hGrad |
head loss gradient (ft/cfs) | |
double | setting |
current setting | |
double | quality |
avg. quality concen. (mass/ft3) | |
![]() | |
std::string | name |
element's ID name | |
int | index |
index in array of elements | |
Static Public Attributes | |
static const char * | ValveTypeWords [] = {"PRV", "PSV", "FCV", "TCV", "PBV", "GPV"} |
Protected Member Functions | |
void | findOpenHeadLoss (double q) |
void | findPbvHeadLoss (double q) |
void | findTcvHeadLoss (double q) |
void | findGpvHeadLoss (Network *nw, double q) |
void | findFcvHeadLoss (double q) |
int | updatePrvStatus (double q, double h1, double h2) |
int | updatePsvStatus (double q, double h1, double h2) |
Protected Attributes | |
bool | hasFixedStatus |
true if Open/Closed status is fixed | |
double | elev |
elevation of PRV/PSV valve | |
Additional Inherited Members | |
![]() | |
static Link * | factory (int type_, std::string name_, MemPool *memPool) |
Factory Method. | |
A Link that controls flow or pressure.
enum Valve::ValveType |