33 Pump(std::string name_);
38 int type() {
return Link::PUMP; }
39 std::string typeStr() {
return "Pump"; }
44 void setInitStatus(
int s);
45 void setInitSetting(
double s);
48 bool isHpPump() {
return pumpCurve.isConstHP(); }
50 void findHeadLoss(
Network* nw,
double q);
51 double updateEnergyUsage(
Network* nw,
int dt);
53 bool changeStatus(
int s,
bool makeChange,
54 const std::string reason,
55 std::ostream& msgLog);
56 bool changeSetting(
double s,
bool makeChange,
57 const std::string reason,
58 std::ostream& msgLog);
59 void validateStatus(
Network* nw,
double qTol);
60 void applyControlPattern(std::ostream& msgLog);
PumpCurve pumpCurve
pump's head v. flow relation
Definition: pump.h:64
Describes the PumpCurve class.
A Link that raises the head of water flowing through it.
Definition: pump.h:27
PumpEnergy pumpEnergy
pump's energy usage
Definition: pump.h:67
Pattern * speedPattern
speed time pattern
Definition: pump.h:66
Describes the PumpEnergy class.
double costPerKwh
unit energy cost (cost/kwh)
Definition: pump.h:70
Describes how head varies with flow for a Pump link.
Definition: pumpcurve.h:20
double speed
relative pump speed
Definition: pump.h:65
Pattern * costPattern
energy cost pattern
Definition: pump.h:69
Accumulates energy usage metrics for a pump.
Definition: pumpenergy.h:20
Describes the Link class.
Curve * efficCurve
efficiency. v. flow curve
Definition: pump.h:68
A set of multiplier factors associated with points in time.
Definition: pattern.h:29
Contains the data elements that describe a pipe network.
Definition: network.h:41
A conveyance element that connects two nodes together.
Definition: link.h:30
An ordered collection of x,y data pairs.
Definition: curve.h:30