52 bool addElement(Element::ElementType eType,
int subType, std::string name);
55 int count(Element::ElementType eType);
56 int indexOf(Element::ElementType eType,
const std::string& name);
65 Node* node(
const std::string& name);
66 Link* link(
const std::string& name);
67 Pattern* pattern(
const std::string& name);
68 Curve* curve(
const std::string& name);
69 Control* control(
const std::string& name);
72 Node* node(
const int index);
73 Link* link(
const int index);
74 Pattern* pattern(
const int index);
75 Curve* curve(
const int index);
76 Control* control(
const int index);
79 bool createHeadLossModel();
80 bool createDemandModel();
81 bool createLeakageModel();
82 bool createQualModel();
88 double ucf(Units::Quantity quantity);
89 std::string getUnits(Units::Quantity quantity);
93 void addTitleLine(std::string line);
94 void writeTitle(std::ostream& out);
132 {
return options.indexOption(type); }
135 {
return options.valueOption(type); }
138 {
return options.timeOption(type); }
141 {
return options.stringOption(type); }
145 inline double Network::ucf(Units::Quantity quantity)
146 {
return units.factor(quantity); }
150 inline std::string Network::getUnits(Units::Quantity quantity)
151 {
return units.name(quantity); }
153 inline void Network::addTitleLine(std::string line)
154 {
title.push_back(line); }
std::vector< Node * > nodes
collection of node objects
Definition: network.h:98
Describes the Element class.
std::vector< Link * > links
collection of link objects
Definition: network.h:99
StringOption
Definition: options.h:40
LeakageModel * leakageModel
pipe leakage model
Definition: network.h:111
A connection point between links in a network.
Definition: node.h:30
User-supplied options for analyzing a pipe network.
Definition: options.h:23
A hash table for element ID names and their objects.
Definition: hashtable.h:24
QualModel * qualModel
water quality model
Definition: network.h:112
The interface for a pressure-dependent demand model.
Definition: demandmodel.h:25
std::vector< std::string > title
descriptive title for the network
Definition: network.h:97
A simple pooled memory allocator.
Definition: mempool.h:21
Contains graph theoretic representation of a pipe network.
Definition: graph.h:25
Options options
analysis options
Definition: network.h:104
IndexOption
Definition: options.h:64
std::vector< Curve * > curves
collection of data curve objects
Definition: network.h:100
QualBalance qualBalance
water quality mass balance
Definition: network.h:105
DemandModel * demandModel
nodal demand model
Definition: network.h:110
Defines units conversion factors for network quantities.
Definition: units.h:21
Computes a water quality mass balance across the pipe network.
Definition: qualbalance.h:25
Units units
unit conversion factors
Definition: network.h:103
TimeOption
Definition: options.h:129
Describes the Units class.
std::vector< Control * > controls
collection of control rules
Definition: network.h:102
Describes the Graph class.
HeadLossModel * headLossModel
pipe head loss model
Definition: network.h:109
The interface for a pipe leakage model.
Definition: leakagemodel.h:24
A class that controls pumps and valves based on a single condition.
Definition: control.h:27
Describes the QualBlanace class.
The interface for a water quality analysis model.
Definition: qualmodel.h:28
ValueOption
Definition: options.h:90
Describes the Options class.
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
Describes the HashTable class.
A conveyance element that connects two nodes together.
Definition: link.h:30
std::vector< Pattern * > patterns
collection of time pattern objects
Definition: network.h:101
std::ostringstream msgLog
status message log.
Definition: network.h:106
An ordered collection of x,y data pairs.
Definition: curve.h:30
The interface for a pipe head loss model.
Definition: headlossmodel.h:26