EPANET-RTX  1.1
real-time extension for the EPANET toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
RTX::EpanetModel Class Reference

An Epanet-based model object. More...

#include <EpanetModel.h>

Inheritance diagram for RTX::EpanetModel:
[legend]
Collaboration diagram for RTX::EpanetModel:
[legend]

Public Types

typedef boost::shared_ptr
< EpanetModel
sharedPointer
 
- Public Types inherited from RTX::Model
typedef boost::shared_ptr< ModelsharedPointer
 

Public Member Functions

void loadModelFromFile (const std::string &filename) throw (std::exception)
 
virtual void initEngine ()
 
virtual void closeEngine ()
 
void useEpanetFile (const std::string &filename)
 
virtual void overrideControls () throw (RtxException)
 
virtual std::ostream & toStream (std::ostream &stream)
 
- Public Member Functions inherited from RTX::Model
std::string name ()
 
void setName (std::string name)
 
string modelFile ()
 
void runSinglePeriod (time_t time)
 
void runExtendedPeriod (time_t start, time_t end)
 
void setStorage (PointRecord::sharedPointer record)
 
void setParameterSource (PointRecord::sharedPointer record)
 
bool shouldRunWaterQuality ()
 
void setShouldRunWaterQuality (bool run)
 
void initDMAs ()
 
void setDmaShouldDetectClosedLinks (bool detect)
 
bool dmaShouldDetectClosedLinks ()
 
void setDmaPipesToIgnore (vector< Pipe::sharedPointer > ignorePipes)
 
vector< Pipe::sharedPointer > dmaPipesToIgnore ()
 
void addJunction (Junction::sharedPointer newJunction)
 
void addTank (Tank::sharedPointer newTank)
 
void addReservoir (Reservoir::sharedPointer newReservoir)
 
void addPipe (Pipe::sharedPointer newPipe)
 
void addPump (Pump::sharedPointer newPump)
 
void addValve (Valve::sharedPointer newValve)
 
void addDma (Dma::sharedPointer dma)
 
Link::sharedPointer linkWithName (const string &name)
 
Node::sharedPointer nodeWithName (const string &name)
 
vector< Element::sharedPointer > elements ()
 
vector< Dma::sharedPointer > dmas ()
 
vector< Junction::sharedPointer > junctions ()
 
vector< Tank::sharedPointer > tanks ()
 
vector< Reservoir::sharedPointer > reservoirs ()
 
vector< Pipe::sharedPointer > pipes ()
 
vector< Pump::sharedPointer > pumps ()
 
vector< Valve::sharedPointer > valves ()
 
int hydraulicTimeStep ()
 
int qualityTimeStep ()
 
void setInitialJunctionUniformQuality (double qual)
 
void setInitialJunctionQualityFromMeasurements (time_t time)
 
virtual time_t currentSimulationTime ()
 
TimeSeries::sharedPointer iterations ()
 
TimeSeries::sharedPointer relativeError ()
 
bool tanksNeedReset ()
 
void setTanksNeedReset (bool needReset)
 
vector< TimeSeries::sharedPointer > networkStatesWithMeasures ()
 
void setRecordForNetworkStatesWithMeasures (PointRecord::sharedPointer pr)
 
void setRecordForNetworkBoundariesAndMeasures (PointRecord::sharedPointer pr)
 
Units flowUnits ()
 
Units headUnits ()
 
Units pressureUnits ()
 
Units qualityUnits ()
 
Units volumeUnits ()
 
void setFlowUnits (Units units)
 
void setHeadUnits (Units units)
 
void setPressureUnits (Units units)
 
void setQualityUnits (Units units)
 
void setVolumeUnits (Units units)
 

Protected Member Functions

double reservoirLevel (const std::string &reservoir)
 
double tankLevel (const std::string &tank)
 
double junctionDemand (const std::string &junction)
 
double junctionHead (const std::string &junction)
 
double junctionPressure (const std::string &junction)
 
double junctionQuality (const std::string &junction)
 
double pipeFlow (const std::string &pipe)
 
double pumpEnergy (const std::string &pump)
 
void setReservoirHead (const std::string &reservoir, double level)
 
void setReservoirQuality (const string &reservoir, double quality)
 
void setTankLevel (const std::string &tank, double level)
 
void setJunctionDemand (const std::string &junction, double demand)
 
void setPipeStatus (const std::string &pipe, Pipe::status_t status)
 
void setPumpStatus (const std::string &pump, Pipe::status_t status)
 
void setPumpSetting (const std::string &pump, double setting)
 
void setValveSetting (const std::string &valve, double setting)
 
void setJunctionQuality (const std::string &junction, double quality)
 
virtual bool solveSimulation (time_t time)
 
virtual time_t nextHydraulicStep (time_t time)
 
virtual void stepSimulation (time_t time)
 
virtual int iterations (time_t time)
 
virtual double relativeError (time_t time)
 
virtual void setHydraulicTimeStep (int seconds)
 
virtual void setQualityTimeStep (int seconds)
 
virtual void setInitialModelQuality ()
 
void OW_API_CHECK (int errorCode, std::string externalFunction) throw (std::string)
 
double getNodeValue (int epanetCode, const std::string &node)
 
void setNodeValue (int epanetCode, const std::string &node, double value)
 
double getLinkValue (int epanetCode, const std::string &link)
 
void setLinkValue (int epanetCode, const std::string &link, double value)
 
- Protected Member Functions inherited from RTX::Model
void setSimulationParameters (time_t time)
 
void saveNetworkStates (time_t time)
 
virtual double junctionInitialQuality (const string &junctionName)
 
virtual void setCurrentSimulationTime (time_t time)
 
double nodeDistanceXY (Node::sharedPointer n1, Node::sharedPointer n2)
 

Protected Attributes

OW_Project * _enModel
 

Detailed Description

An Epanet-based model object.

Provides a means of loading WDS models from *.inp files, and wraps the EPANET hydraulic engine (via a modified C toolkit embedded in this library)


The documentation for this class was generated from the following files: