Home

Awesome

<a href="http://www.kios.ucy.ac.cy"><img src="https://www.kios.ucy.ac.cy/wp-content/uploads/2021/07/Logotype-KIOS.svg" width="200" height="100"/><a>

DOI

EPANET-MATLAB-Toolkit

The EPANET-Matlab Toolkit is an open-source software, originally developed by the KIOS Research and Innovation Center of Excellence, University of Cyprus which operates within the Matlab environment, for providing a programming interface for the latest version of EPANET, a hydraulic and quality modeling software created by the US EPA, with Matlab, a high-level technical computing software. The goal of the EPANET Matlab Toolkit is to serve as a common programming framework for research and development in the growing field of smart water networks.

The EPANET-Matlab Toolkit features easy to use commands/wrappers for viewing, modifying, simulating and plotting results produced by the EPANET libraries.

For support, please use the OWA community forum : http://community.wateranalytics.org/

Table of Contents

How to cite

D.G. Eliades, M. Kyriakou, S. Vrachimis and M.M. Polycarpou, "EPANET-MATLAB Toolkit: An Open-Source Software for Interfacing EPANET with MATLAB", in Proc. 14th International Conference on Computing and Control for the Water Industry (CCWI), The Netherlands, Nov 2016, p.8. (doi:10.5281/zenodo.831493)

@INPROCEEDINGS{Eliades2016,
author={Eliades, Demetrios G. and Kyriakou, Marios and Vrachimis, Stelios and Polycarpou, Marios M.},
title={EPANET-MATLAB Toolkit: An Open-Source Software for Interfacing EPANET with MATLAB},
booktitle={Proc. 14th International Conference on Computing and Control for the Water Industry (CCWI)},
year={2016},
pages={8},
address = {The Netherlands},
month={Nov},
DOI={10.5281/zenodo.831493}}

Back to top

Requirements

Back to top

How to install necessary compilers

In order to use the EPANET-MATLAB-Toolkit the <b> MinGW-w64 compiler </b> must be install: <p> <a href="http://www.youtube.com/watch?feature=player_embedded&v=R_RABL3_6EY " target="_blank"><img src="http://img.youtube.com/vi/R_RABL3_6EY/0.jpg" alt="How to install MinGW-w64 compiler #Matlab" width="240" height="180" border="5" /></a>

In case you have a version of matlab older than 2015b install the <b> Windows SDK compiler </b>: <p> <a href="http://www.youtube.com/watch?feature=player_embedded&v=hc3OkDypd24 " target="_blank"><img src="http://img.youtube.com/vi/hc3OkDypd24/0.jpg" alt="How to install MinGW-w64 compiler #Matlab" width="240" height="180" border="5" /></a>

Back to top

How to use the Toolkit

Detailed examples on how to use the toolkit can be found in the publication of the Toolkit , together with the code. A presentation of its use is also provided here.

To start, you need to download the folder from GitHub (e.g., Download ZIP), set the run path in Matlab within the saved folder, and run RunTests.m. This will execute all the commands which have been implemented in the Class.

Minimum Example:

d=epanet('Net1.inp')

d.getNodeCount

d.getNodeElevations

Help Functions:

help d.plot

Back to top

How to fix/report bugs

To fix a bug Fork the EPANET-Matlab Toolkit, Edit the code and make the appropriate change, and then Pull it so that we evaluate it.

Keep in mind that some bugs may exist in the EPANET libraries, in case you are not receiving the expected results.

Back to top

Licenses

Back to top

Contributors

The EPANET-Matlab Toolkit is based/inspired on the EPANET-Matlab Toolkit as well as the OpenWaterAnalytics EPANET-Matlab Wrappers

Back to top

List of Matlab Class Functions

FunctionDescription
epanetLoad Input file and open the EPANET Toolkit system
unloadUnload library and close the EPANET Toolkit system
loadEPANETFileOpen the EPANET Toolkit system
loadlibraryLoad the EPANET library
appShiftNetworShifts the network in x and y directions
appRotateNetworkRotates the network by theta degrees counter-clockwise using as pivot a specific node
createProjectCreates an epanet project
deleteProjectDeletes an epanet project
getErrorReturns the description of an error code
getAdjacencyMatrixCompute the adjacency matrix (connectivity graph) considering the flows, using mean flow
getComputedHydraulicTimeSeriesComputed Hydraulic Time Series
getComputedQualityTimeSeriesComputed Quality Time Series
getComputedTimeSeriesComputed Hydraulic & Quality Time Series using the bimary file who created from executable
getComputedTimeSeries_ENepanetComputed Hydraulic & Quality Time Series via ENepanet binary file
getConnectivityMatrixReturn connectivity matrix of the network
getCountsRetrieves the number of network components
getControlRulesCountRetrieves the number of control rules
getControlsRetrieves the controls
getCurveCountRetrieves the number of curves
getCurveIndexRetrieves index of curve with specific ID
getCurveLengthsRetrieves number of points in a curve
getCurveNameIDRetrieves curve id
getCurveTypeRetrieves the curve-type (VOLUME, PUMP, EFFICIENCY, HEADLOSS, GENERAL)
getCurveTypeIndexRetrieves the curve-type index for all curves
getCurveValueRetrieves (x,y) values of specific curve index
getCurveXYRetrieves (x,y) values of all curves
getDemandModelRetrieves the type of demand model in use and its parameters
getEN_functionsImpementedRetrieves the epanet EN_ functions that have been developed
getENfunctionsImpementedRetrieves the epanet functions that have been developed
getFlowUnitsRetrieves the units used to express all flow rates
getGraphRetrieves the graph of the current epanet network
getLibFunctionsRetrieves the functions of DLL
getLinkActualQualityCurrent computed link quality (read only)
getLinkBulkReactionCoeffBulk chemical reaction coefficient
getLinkCommentRetrieves the comment string assigned to the link object
getLinkCountRetrieves the number of links
getLinkDiameterRetrieves the value of all link diameters
getLinkEnergyCurrent computed pump energy usage (read only)
getLinkFlowsCurrent computed flow rate (read only)
getLinkHeadlossCurrent computed head loss (read only)
getLinkIndexRetrieves the indices of all links, or the indices of an ID set of links
getLinkInitialSettingRetrieves the value of all link roughness for pipes or initial speed for pumps or initial setting for valves
getLinkInitialStatusRetrieves the value of all link initial status
getLinkLengthRetrieves the value of all link lengths
getLinkMinorLossCoeffRetrieves the value of all link minor loss coefficients
getLinkNameIDRetrieves the ID label(s) of all links, or the IDs of an index set of links
getLinkNodesIndex-getNodesConnectingLinksIndexRetrieves the indexes of the from/to nodes of all links
getLinkPipeCountRetrieves the number of pipes
getLinkPipeIndexRetrieves the indices of pipes
getLinkPipeNameIDRetrieves the pipe IDs
getLinkPumpCountRetrieves the number of pumps
getLinkPumpEfficiencyRetrieves the value of all computed efficiency
getLinkPumpHeadCurveIndexRetrieves index of a head curve for specific link index
getLinkPumpIndexRetrieves the indices of pumps
getLinkPumpNameIDRetrieves the pump IDs
getLinkPumpPatternIndexPump speed time pattern index
getLinkPumpPatternNameIDRetrieves the pump pattern IDs
getLinkPumpPowerPump constant power rating
getLinkPumpHCurvePump head v. flow curve index
getLinkPumpECurvePump efficiency v. flow curve index
getLinkPumpECostPump average energy price
getLinkPumpEPatPump energy price time pattern index
getLinkPumpTypeRetrieves the type of a pump for specific link index
getLinkPumpTypeCodeRetrieves the type code of a pump for specific link index
getLinkPumpStateCurrent computed pump state (read only) (see @ref EN_PumpStateType)
getLinkPumpSwitchesCalculates the number of pump switches
getLinkQualityRetrieves the value of link quality
getLinkResultIndexRetrieves the order in which a link's results were saved to an output file. (EPANET Version 2.2)
getLinkRoughnessCoeffRetrieves the value of all link roughness
getLinkSettingsRetrieves the value of all computed link roughness for pipes or actual speed for pumps or actual setting for valves
getLinkStatusCurrent link status (see @ref EN_LinkStatusType)
getLinkTypeRetrieves the link-type for all links
getLinkTypeIndexRetrieves the link-type code for all links
getLinkValveCountRetrieves the number of valves
getLinkValveIndexRetrieves the indices of valves
getLinkValveNameIDRetrieves the valve IDs
getLinkVelocityCurrent computed flow velocity (read only)
getLinkVerticesRetrieves the coordinate's of a vertex point assigned to a link.
getLinkVerticesCountRetrieves the number of internal vertex points assigned to a link
getLinkWallReactionCoeffPipe wall chemical reaction coefficient
getNodeActualDemandRetrieves the computed value of all actual demands
getNodeActualDemandSensingNodesRetrieves the computed demand values at some sensing nodes
getNodeActualQualityRetrieves the computed values of the actual quality for all nodes
getNodeActualQualitySensingNodesRetrieves the computed quality values at some sensing nodes
getNodeBaseDemandsRetrieves the value of all node base demands
getNodeCommentRetrieves the comment string assigned to the node object
getNodeCoordinatesRetrieves coordinate x, y, and x, y vertices for a node
getNodeCountRetrieves the number of nodes
getNodePatternIndexRetrieves the value of all node pattern indices
getNodeDemandDeficitRetrieves the amount that full demand is reduced under PDA. (EPANET Version 2.2)
getNodeDemandPatternIndexRetrieves the value of all node demand pattern indices
getNodeDemandPatternNameIDRetrieves the value of all node demand pattern IDs
getNodeElevationsRetrieves the value of all node elevations
getNodeEmitterCoeffRetrieves the value of all node emmitter coefficients
getNodeHydaulicHeadRetrieves the computed values of all hydraulic heads
getNodeIndexRetrieves the indices of all nodes or some nodes with a specified ID
getNodeInitialQualityRetrieves the value of all node initial quality
getNodeJunctionCountRetrieves the number of junctions
getNodeJunctionDemandNameGets the name of a node's demand category
getNodeJunctionIndexRetrieves the junctions indices
getNodeJunctionNameIDRetrieves the junctions IDs
getNodeJunctionDemandIndexRetrieves the demand index of the junctions. (EPANET Version 2.2)
getNodeLinksRetrieves the links which a specific node is connected to
getNodeMassFlowRateRetrieves the computed mass flow rates per minute of chemical sources
getNodeNameIDRetrieves the ID label of all nodes or some nodes with a specified index
getNodeDemandCategoriesNumberRetrieves the number of demand categories for a node
getNodePressureRetrieves the computed values of all node pressures
getNodeReservoirCountRetrieves the number of reservoirs
getNodeReservoirIndexRetrieves the indices of reservoirs
getNodeReservoirNameIDRetrieves the reservoirs IDs
getNodeResultIndexRetrieves the order in which a node's results were saved to an output file. (EPANET Version 2.2)
getNodeSourcePatternIndexRetrieves the value of all node source pattern index
getNodeSourceQualityRetrieves the value of all nodes source quality
getNodeSourceTypeRetrieves the value of all node source type
getNodeTankDataRetrieves a group of properties for a tank. (EPANET Version 2.2)
getNodeTankBulkReactionCoeffRetrieves the tank bulk rate coefficient
getNodeTankCanOverFlowRetrieves the tank can overflow (= 1) or not (= 0)
getNodeTankCountRetrieves the number of tanks
getNodeTankDiameterRetrieves the tank diameters
getNodeTankIndexRetrieves the indices of tanks
getNodeTankInitialLevelRetrieves the value of all tank initial water levels
getNodeTankInitialWaterVolumeRetrieves the tank initial volume
getNodeTankMaximumWaterVolumeRetrieves maximum water volume
getNodeTankMaximumWaterLevelRetrieves the tank maximum water level
getNodeTankMixingFractionRetrieves the tank Fraction of total volume occupied by the inlet/outlet zone in a 2-compartment tank
getNodeTankMinimumWaterLevelRetrieves the tank minimum water level
getNodeTankMinimumWaterVolumeRetrieves the tank minimum volume
getNodeTankMixZoneVolumeRetrieves the tank mixing zone volume
getNodeTankMixingModelCodeRetrieves the tank mixing model code
getNodeTankMixingModelTypeRetrieves the tank mixing model type (mix1, mix2, fifo, lifo)
getNodeTankNameIDRetrieves the tanks IDs
getNodeTankReservoirCountRetrieves the number of tanks
getNodeTankVolumeRetrieves the tank volume
getNodeTankVolumeCurveIndexRetrieves the tank volume curve index
getNodeTypeRetrieves the node-type for all nodes
getNodeTypeIndexRetrieves the node code-index for all nodes
getNodesConnectingLinksIDRetrieves the id of the from/to nodes of all links
getOptionsAccuracyValueRetrieve the analysis convergence criterion (0.001)
getOptionsDemandChargeRetrieve energy price pattern
getOptionsSpecificGravityRetrieves the specific gravity (EPANET Version 2.2)
getOptionsSpecificViscosityRetrieves the specific viscosity (EPANET Version 2.2)
getOptionsExtraTrialsRetrieves the extra trials allowed if hydraulics don't converge (EPANET Version 2.2)
getOptionsCheckFrequencyRetrieves the frequency of hydraulic status checks (EPANET Version 2.2)
getOptionsMaximumCheckRetrieves the maximum trials for status checking. (EPANET Version 2.2)
getOptionsEmitterExponentRetrieve power exponent for the emmitters (0.5)
getOptionsFlowChangeRetrieve flow change
getOptionsGlobalEfficRetrieve global efficiency pumps
getOptionsGlobalPriceRetrieve global average energy price per kW-Hour
getOptionsGlobalPatternRetrieve global pattern
getOptionsHeadErrorRetrieve the head error
getOptionsHeadLossFormulaRetrieve headloss formula code (Hazen-Williams, Darcy-Weisbach or Chezy-Manning)
getOptionsMaxTrialsRetrieve maximum number of analysis trials
getOptionsPatternDemandMultiplierRetrieve the demand multiplier (x1)
getOptionsQualityToleranceRetrieve the water quality analysis tolerance
getOptionsDampLimitRetrieves the accuracy level where solution damping begins. (EPANET Version 2.2)
getOptionsSpecificDiffusivityRetrieves the specific diffusivity (relative to chlorine at 20 deg C). (EPANET Version 2.2)
getOptionsPipeBulkReactionOrderRetrieves the bulk water reaction order for pipes. (EPANET Version 2.2)
getOptionsPipeWallReactionOrderRetrieves the wall reaction order for pipes (either 0 or 1). (EPANET Version 2.2)
getOptionsTankBulkReactionOrderRetrieves the bulk water reaction order for tanks. (EPANET Version 2.2)
getOptionsLimitingConcentrationRetrieves the limiting concentration for growth reactions. (EPANET Version 2.2)
getPatternRetrieves the multiplier factor for all patterns and all times
getPatternAveragePatternValueRetrieves the average value of a pattern
getPatternCommentRetrieves the comment string assigned to the pattern object
getPatternCountRetrieves the number of patterns
getPatternIndexRetrieves the index of all or some time patterns IDs
getPatternLengthsRetrieves the number of time periods in all or some patterns
getPatternNameIDRetrieves the patterns IDs
getPatternValueRetrieves the multiplier factor for a certain pattern and time
getQualityCodeRetrieves the code of water quality analysis type
getQualityInfoRetrieves the quality info - bug in ENgetqualinfo
getQualityTraceNodeIndexRetrieves the trace node index of water quality analysis type
getQualityTypeRetrieves the type of water quality analysis type
getRulesRetrieves the rule - based control statements. (EPANET Version 2.2)
getRuleCountRetrieves the number of rules. (EPANET Version 2.2)
getRuleIDRetrieves the ID name of a rule-based control given its index. (EPANET Version 2.2)
getRuleInfoRetrieves summary information about a rule-based control given it's index. (EPANET Version 2.2)
getStatisticRetrieves hydraulic simulation statistic
getTimeHTimeRetrieves the number of htime
getTimeQTimeRetrieves the number of qtime
getTimeHaltFlagRetrieves the number of halt flag
getTimeHydraulicStepRetrieves the value of the hydraulic time step
getTimeNextEventRetrieves the number of next event
getTimeNextEventTankRetrieves the index of tank with shortest time to become empty or full
getTimePatternStartRetrieves the value of pattern start time
getTimePatternStepRetrieves the value of the pattern time step
getTimeQualityStepRetrieves the value of the water quality time step
getTimeReportingPeriodsRetrieves the number of reporting periods saved to the binary
getTimeReportingStartRetrie ves the value of the reporting start time
getTimeReportingStepRetrieves the value of the reporting time step
getTimeRuleControlStepRetrieves the time step for evaluating rule-based controls
getTimeSimulationDurationRetrieves the value of simulation duration
getTimeStartTimeRetrieves the number of start time
getTimeStatisticsTypeRetrieves the type of time series post-processing ('NONE','AVERAGE','MINIMUM','MAXIMUM', 'RANGE')
getTimeStatisticsIndexRetrieves the type of time series post-processing
getTitleRetrieves the title lines of the project
getUnitsRetrieves the Units of Measurement
getVersionRetrieve the current EPANET version of DLL
getNodesInfoRetrieves nodes info e.g. elevations, demand pattern indices, emitter coeff. , initial quality, source quality, source pattern indices, source type code, type indices
getLinksInfoRetrieves links info e.g. diameters, lengths, roughness coeff. , minor loss coeff. , initial status, initial settings, bulk reaction coeff. , wall reaction coeff. , nodes connecting link indices, type indices
addControlsAdds a new simple control. (EPANET Version 2.2)
addCurveAdds a new curve appended to the end of the existing curves
addPatternAdds a new time pattern to the network
addNodeJunctionAdds a new junction
addNodeJunctionDemandAdds a new demand to a junction given the junction index, base demand, demand time pattern and demand name category. (EPANET Version 2.2)
addNodeReservoirAdds a new reservoir
addNodeTankAdds a new tank
addLinkPipeCVAdds a new CV pipe
addLinkPipeAdds a new pipe
addLinkPumpAdds a new pump
addLinkValvePRVAdds a new PRV valve
addLinkValvePSVAdds a new PSV valve
addLinkValvePBVAdds a new PBV valve
addLinkValveFCVAdds a new FCV valve
addLinkValveTCVAdds a new TCV valve
addLinkValveGPVAdds a new GPV valve
addRulesAdds a new rule-based control to a project. (EPANET Version 2.2)
deleteCurveDeletes a data curve from the project
deleteLinkDeletes a link
deleteNodeDeletes a node
deleteNodeJunctionDemandDeletes a demand from a junction given the junction index and demand index(EPANET Version 2.2)
deletePatternDeletes a time pattern from a project
deletePatternAllDeletes all time patterns from a project
deleteControlsDeletes an existing simple control. (EPANET Version 2.2)
deletenodejunctiondemandDeletes a demand from a junction given the junction index and demand index.
deleteRulesDeletes an existing rule-based control given it's index. (EPANET Version 2.2)
clearReportClears the contents of a project's report file. (EPANET Version 2.2)
copyReportCopies the current contents of a project's report file to another file. (EPANET Version 2.2)
closeHydraulicAnalysisCloses the hydraulic analysis system, freeing all allocated memory
closeNetworkCloses down the Toolkit system
closeQualityAnalysisCloses the water quality analysis system, freeing all allocated memory
runsCompleteSimulationRuns a complete hydraulic and water simulation to create binary & report files with default name net_temp.bin or you can use argument to run via ENepanet
initializeEPANETInitializes an EPANET project that isn't opened with an input file
initializeHydraulicAnalysisInitializes storage tank levels, link status and settings, and the simulation clock time prior to running a hydraulic analysis
initializeQualityAnalysisInitializes water quality and the simulation clock time prior to running a water quality analysis
nextHydraulicAnalysisStepDetermines the length of time until the next hydraulic event occurs in an extended period simulation
nextQualityAnalysisStepAdvances the water quality simulation to the start of the next hydraulic time period
openAnyInpOpen as on matlab editor any EPANET input file
openCurrentInpOpen EPANET input file who is loaded
openHydraulicAnalysisOpens the hydraulics analysis system
openQualityAnalysisOpens the water quality analysis system
runHydraulicAnalysisRuns a single period hydraulic analysis, retrieving the current simulation clock time t
reverseLinkNodeIndicesReverses the node indices that connect a link
runProjectRuns a complete EPANET simulation
runQualityAnalysisMakes available the hydraulic and water quality results that occur at the start of the next time period of a water quality analysis, where the start of the period is returned in t
saveHydraulicFileSaves the current contents of the binary hydraulics file to a file
saveHydraulicsOutputReportingFileTransfers results of a hydraulic simulation from the binary Hydraulics file to the binary Output file, where results are only reported at uniform reporting intervals
saveInputFileWrites all current network input data to a file using the format of an EPANET input file
plotPlot the network input file
plotGraphPlots the graph of the current epanet network
setControlsSets the parameters of a simple control statement
setCurveSets x,y values for a specific curve
setCurveNameIDSets the name ID of a curve given it's index and the new ID. (EPANET Version 2.2)
setCurveValueRetrieves x,y point for a specific point number and curve
setDemandModelSets the type of demand model to use and its parameters
setFlowUnitsAFDSets flow units to AFD
setFlowUnitsCFSSets flow units to CFS
setFlowUnitsCMDSets flow units to CMD
setFlowUnitsCMHSets flow units to CMH
setFlowUnitsGPMSets flow units to GPM
setFlowUnitsIMGDSets flow units to IMGD
setFlowUnitsLPMSets flow units to LPM
setFlowUnitsLPSSets flow units to LPS
setFlowUnitsMGDSets flow units to MGD
setFlowUnitsMLDSets flow units to MLD
setLinkBulkReactionCoeffSets the values of bulk reactions
setLinkCommentSets the comment string assigned to the link object
setLinkDiameterSets the values of diameters
setLinkPipeDataSets a group of properties for a pipe. (EPANET Version 2.2)
setLinkPumpHeadCurveIndexSets the curves index for pumps index
setLinkPumpPatternIndexSets the pump speed time pattern index. (EPANET Version 2.2)
setLinkPumpPowerSets the power for pumps. (EPANET Version 2.2)
setLinkPumpHCurveSets the pump head v. flow curve index. (EPANET Version 2.2)
setLinkPumpECurveSets the pump efficiency v. flow curve index. (EPANET Version 2.2)
setLinkPumpECostSets the pump average energy price. (EPANET Version 2.2)
setLinkPumpEPatSets the pump energy price time pattern index. (EPANET Version 2.2)
setLinkInitialSettingSets the values of initial settings
setLinkInitialStatusSets the values of initial status
setLinkLengthSets the values of lengths
setLinkMinorLossCoeffSets the values of minor loss coeff.
setLinkNameIDSets the ID name for links
setLinkNodesIndexSets the indexes of a link's start- and end-nodes. (EPANET Version 2.2)
setLinkRoughnessCoeffSets the values of roughness coeff.
setLinkSettingsSets the values of settings
setLinkStatusSets the values of status
setLinkTypePipeSet the link type pipe for a specified link
setLinkTypePipeCVSet the link type cvpipe for a specified link
setLinkTypePumpSet the link type pump for a specified link
setLinkTypeValveFCVSet the link type valve FCV for a specified link
setLinkTypeValveGPVSet the link type valve PCV for a specified link
setLinkTypeValvePBVSet the link type valve PBV for a specified link
setLinkTypeValvePRVSet the link type valve PRV for a specified link
setLinkTypeValvePSVSet the link type valve PSV for a specified link
setLinkTypeValveTCVSet the link type valve TCV for a specified link
setLinkVerticesAssigns a set of internal vertex points to a link
setLinkWallReactionCoeffSets the values of wall reactions
setNodeBaseDemandsSets the values of demands
setNodeCommentSets the comment string assigned to the node object
setNodeCoordinatesSets node coordinates
setNodeDemandPatternIndexSets the values of demand pattern indices
setNodeElevationsSets the values of elevations
setNodeEmitterCoeffSets the values of emitter coeff.
setNodeInitialQualitySets the values of initial qualities
setNodeJunctionDataSets a group of properties for a junction node. (EPANET Version 2.2)
setNodeJunctionDemandNameAssigns a name to a node's demand category
setNodeNameIDSets the ID name for nodes
setNodeSourcePatternIndexSets the values of source pattern indices
setNodeSourceQualitySets the values of source qualities
setNodeSourceTypeSets the values of source types
setNodesConnectingLinksIDSets the ID of a link's start-node(s) and end-node(s). (EPANET Version 2.2)
setNodeTankDataSets a group of properties for a tank. (EPANET Version 2.2)
setNodeTankBulkReactionCoeffSets the values of tank bulk reaction coeff.
setNodeTankDiameterSets the values of tanks diameter
setNodeTankCanOverFlowSets the value of tank can overflow (= 1) or not (= 0)
setNodeTankInitialLevelSets the values of tanks initial level
setNodeTankMaximumWaterLevelSets the values of tanks maximum water level
setNodeTankMinimumWaterLevelSets the values of tanks minimum water level
setNodeTankMixingFractionSets the values of tanks mix fraction
setNodeTankMinimumWaterVolumeSets the values of tanks minimum water volume
setNodeTankMixingModelTypeSets the values of tanks model
setNodeTypeJunctionTransforms a node to junction
setNodeTypeReservoirTransforms a node to reservoir
setNodeTypeTankTransforms a node to tank
setOptionsAccuracyValueSets the value of accurancy
setOptionsGlobalEfficSets the value of global pump efficiency(percent) (EPANET Version 2.2)
setOptionsGlobalPriceSets the value of global energy price per KWH (EPANET Version 2.2)
setOptionsGlobalPatternSets the index of a global energy price pattern (EPANET Version 2.2)
setOptionsDemandChargeSets the energy demand charge per max. KW usage (EPANET Version 2.2)
setOptionsSpecificGravitySets the specific gravity (EPANET Version 2.2)
setOptionsSpecificViscositySets the specific viscosity (EPANET Version 2.2)
setOptionsExtraTrialsSets the extra trials allowed if hydraulics don't converge (EPANET Version 2.2)
setOptionsMaximumCheckSets the maximum trials for status checking. (EPANET Version 2.2)
setOptionsCheckFrequencySets the frequency of hydraulic status checks (EPANET Version 2.2)
setOptionsDampLimitSets the accuracy level where solution damping begins. (EPANET Version 2.2)
setOptionsSpecificDiffusivitySets the specific diffusivity (relative to chlorine at 20 deg C). (EPANET Version 2.2)
setOptionsPipeBulkReactionOrderSets the bulk water reaction order for pipes. (EPANET Version 2.2)
setOptionsPipeWallReactionOrderSets the wall reaction order for pipes (either 0 or 1). (EPANET Version 2.2)
setOptionsTankBulkReactionOrderSets the bulk water reaction order for tanks. (EPANET Version 2.2)
setOptionsLimitingConcentrationSets the limiting concentration for growth reactions. (EPANET Version 2.2)
setOptionsEmitterExponentSets the value of emitter exponent
setOptionsMaxTrialsSets the value of max trials
setOptionsPatternDemandMultiplierSets the value of pattern demand multiplier
setOptionsQualityToleranceSets the value of tolerance
setPatternSets all of the multiplier factors for a specific time pattern
setPatternCommentSets the comment string assigned to the pattern object
setPatternNameIDSets the name ID of a time pattern given it's index and the new ID. (EPANET Version 2.2)
setPatternMatrixSets all of the multiplier factors for all patterns
setPatternValueSets the multiplier factor for a specific period within a time pattern
setQualityTypeSets the type of water quality analysis called for
setReportIssues a report formatting command. Formatting commands are the same as used in the [REPORT] section of the EPANET Input file
setReportFormatResetClears any report formatting commands that either appeared in the [REPORT] section of the EPANET Input file or were issued with the ENsetreport function
setReportStatusSets the level of hydraulic status reporting
setRulesSets a rule - based control. (EPANET Version 2.2)
setRuleElseActionSets rule - based control else actions. (EPANET Version 2.2)
setRulePremiseSets the premise of a rule - based control. (EPANET Version 2.2)
setRulePremiseObejctNameIDSets the ID of an object in a premise of a rule-based control. (EPANET Version 2.2)
setRulePremiseStatusSets the status being compared to in a premise of a rule-based control. (EPANET Version 2.2)
setRulePremiseValueSets the value being compared to in a premise of a rule-based control. (EPANET Version 2.2)
setRulePrioritySets rule - based control priority. (EPANET Version 2.2)
setRuleThenActionSets rule - based control then actions. (EPANET Version 2.2)
setTimeHydraulicStepSets the hydraulic step
setTimePatternStartSets the pattern start
setTimePatternStepSets the pattern step
setTimeQualityStepSets the quality step
setTimeReportingStartSets the reporting start
setTimeReportingStepSets the reporting step
setTimeRuleControlStepSets the rule control step
setTimeSimulationDurationSets the simulation duration
setTimeStatisticsTypeSets the statistic type
setTitleSets the title lines of the project
solveCompleteHydraulicsRuns a complete hydraulic simulation with results for all time periods written to the binary Hydraulics file
solveCompleteQualityRuns a complete water quality simulation with results at uniform reporting intervals written to EPANET's binary Output file
splitPipeSplits a pipe, creating two new pipes and adds a junction in between them
stepQualityAnalysisTimeLeftAdvances the water quality simulation one water quality time step. The time remaining in the overall simulation is returned in tleft
toJsonCreates json text variable
toJsonFileCreates a .json file and adds the input values in json format
useHydraulicFileUses the contents of the specified file as the current binary hydraulics file
writeLineInReportFileWrites a line of text to the EPANET report file
writeReportWrites a formatted text report on simulation results to the Report file
<b> MSX Functions </b>
loadMSXFileOpens the EPANET-MSX toolkit system
addMSXPatternAdds a new, empty MSX source time pattern to the project
initializeMSXQualityAnalysisInitializes the MSX system before solving for water quality results in step-wise fashion
saveMSXFileSaves the data associated with the current MSX project into a new MSX input file
saveMSXQualityFileSaves water quality results computed for each node, link and reporting time period to a named binary file
solveMSXCompleteHydraulicsSolves for system hydraulics over the entire simulation period saving results to an internal scratch file
solveMSXCompleteQualitySolves for water quality over the entire simulation period and saves the results to an internal scratch file
stepMSXQualityAnalysisTimeLeftAdvances the water quality solution through a single water quality time step when performing a step-wise simulation
writeMSXFileWrite a new MSX file
writeMSXReportWrites water quality simulations results as instructed by the MSX input file to a text file
writeMSXReportExeWrites water quality simulations results as instructed by the MSX input file to a specific name text file
useMSXHydraulicFileUses a previously saved EPANET hydraulics file as the source of hydraulic information
plotMSXConcentrationSpeciesOfLinksPlots the concentration species of links
plotMSXConcentrationSpeciesOfNodesPlots the concentration species of nodes
runMSXexeWrites water quality simulations results as instructed by the MSX input file to a text file using the epanetmsx.exe
unloadMSXCloses the EPANET-MSX toolkit system
getMSXAtolRetrieves the absolute concentration tolerance
getMSXRtolRetrieves the relative concentration tolerance
getMSXComputedQualitySpecieRetrieves the quality values for specific specie (e.g getMSXComputedQualitySpecie('CL2'))
getMSXComputedQualityLinkRetrieves the concentration of a chemical species at a specific link of the network at the current simulation time step
getMSXComputedQualityNodeRetrieves the concentration of a chemical species at a specific node of the network at the current simulation time step.
getMSXConstantsCountRetrieves the number of constants
getMSXConstantsIndexRetrieves the internal index number of constants (given its ID name)
getMSXConstantsNameIDRetrieves the ID name of constants (given its internal index number)
getMSXConstantsValueRetrieves the value of a particular reaction constant
getMSXErrorReturns the text for an error message given its error code
getMSXLinkInitqualValueRetrieves the initial concentration of chemical species assigned to links of the pipe network
getMSXNodeInitqualValueRetrieves the initial concentration of chemical species assigned to nodes
getMSXOptionsRetrieves all the msx option parameters
getMSXParametersCountRetrieves the number of parameters
getMSXParametersIndexRetrieves the indices of parameters
getMSXParametersNameIDRetrieves the ID name of parameters
getMSXParametersPipesValueRetrieves the value of reaction parameters for pipes
getMSXParametersTanksValueRetrieves the value of reaction parameters for tanks
getMSXPatternRetrieves the multiplier factor for all patterns and all times
getMSXPatternValueRetrieves the multiplier at a specific time period for a given source time pattern
getMSXPatternsCountRetrieves the number of patterns
getMSXPatternsIndexRetrieves the indices of patterns
getMSXPatternsLengthsRetrieves the number of time periods in all or some patterns
getMSXPatternsNameIDRetrieves the patterns IDs
getMSXSourceLevelRetrieves the value of all nodes source level
getMSXSourceNodeNameIDRetrieves the ID label of all nodes
getMSXSourcePatternIndexRetrieves the value of all node source pattern index
getMSXSourceTypeRetrieves the value of all node source type
getMSXSourcesRetrieves the source info
getMSXSpeciesATOLRetrieves the atol
getMSXSpeciesRTOLRetrieves the rtol
getMSXSpeciesConcentrationRetrieves the concentration of chemical species for nodes and links
getMSXSpeciesCountRetrieves the number of species
getMSXSpeciesIndexRetrieves the indices of species
getMSXSpeciesNameIDRetrieves the species IDs
getMSXSpeciesTypeRetrieves the type of all species (BULK/WALL)
getMSXSpeciesUnitsRetrieves the species mass units
getMSXTimeStepRetrieves the time step
getMSXRateUnitsRetrieves the rate/time units (SEC/MIN/HR/DAY)
getMSXAreaUnitsRetrieves the area units (FT2/M2/CM2)
getMSXCompilerRetrieves the compiler (NONE/VC/GC)
getMSXCouplingRetrieves the coupling (FULL/NONE)
getMSXEquationsPipesRetrieves the species dynamics in pipes
getMSXEquationsTanksRetrieves the species dynamics in tanks
getMSXEquationsTermsRetrieves the species dynamics in terms
getMSXSolverRetrieves the solver (EUL/RK5/ROS2)
setMSXAreaUnitsCM2Sets area units to CM2
setMSXAreaUnitsFT2Sets area units to FT2
setMSXAreaUnitsM2Sets area units to M2
setMSXAtolSets the value of Atol
setMSXRtolSets the value of Rtol
setMSXCompilerGCSets compilet to GC
setMSXCompilerNONESets compiler to None
setMSXCompilerVCSets compiler to VC
setMSXConstantsValueAssigns a new value to a specific reaction constant
setMSXCouplingFULLSets coupling option to FULL
setMSXCouplingNONESets coupling option to NONE
setMSXLinkInitqualValueAssigns an initial concentration of chemical species to links
setMSXNodeInitqualValueAssigns an initial concentration of chemical species to nodes
setMSXParametersPipesValueAssigns a value to a particular reaction parameter for given pipes
setMSXParametersTanksValueAssigns a value to a particular reaction parameter for given tanks
setMSXPatternSets all of the multiplier factors for a specific time pattern
setMSXPatternMatrixSets all of the multiplier factors for all patterns
setMSXPatternValueAssigns a new value to the multiplier for a specific time period in a given MSX source time pattern
setMSXRateUnitsDAYSets rate units to DAY
setMSXRateUnitsHRSets rate units to HR
setMSXRateUnitsMINSets rate units to MIN
setMSXRateUnitsSECSets rate units to SEC
setMSXSolverEULSets solver to EUL (standard Euler integrator)
setMSXSolverRK5Sets solver to RK5 (Runge-Kutta 5th order integrator)
setMSXSolverROS2Sets solver to ROS2 (2nd order Rosenbrock integrator)
setMSXSourcesSets the attributes of an external source of a particular chemical species to a specific node of the pipe network
setMSXTimeStepSets time step
<b>Bin Functions</b>
BinCloseClose binary files and delete
BinUpdateClassRun all bin functions and update the results
BinplotPlot the network input file
addBinControlAdds a new control to the network
addBinCurveEfficiencyAdds a new curve efficiency to the network
addBinCurveHeadlossAdds a new curve headloss to the network
addBinCurvePumpAdds a new curve pump to the network
addBinCurveVolumeAdds a new curve volume to the network
addBinJunctionAdds a new junction to the network
addBinNodeJunctionAdds a new junction to the network
addBinPatternAdds a new time pattern to the network
addBinPipeAdds a new pipe to the network
addBinLinkPipeAdds a new pipe to the network
addBinPumpAdds a new pump to the network
addBinLinkPumpAdds a new pump to the network
addBinReservoirAdds a new reservoir to the network
addBinNodeReservoirAdds a new reservoir to the network
addBinTankAdds a new tank to the network
addBinNodeTankAdds a new tank to the network
addBinValveFCVAdds a new valve FCV to the network
addBinValveGPVAdds a new valve GPV to the network
addBinValvePBVAdds a new valve PBV to the network
addBinValvePRVAdds a new valve PRV to the network
addBinValvePSVAdds a new valve PSV to the network
addBinValveTCVAdds a new valve TCV to the network
addBinLinkValveAdds a new valve to the network
addBinLinkVerticesAdds interior vertex points to network links
removeBinControlLinkIDRemoves a specific control based on link ID
removeBinControlNodeIDRemoves a specific control based on node ID
removeBinCurveIDRemoves a specific curve based on ID
removeBinLinkIDRemoves a specific link based on ID
removeBinNodeIDRemoves a specific node based on ID
removeBinRulesControlLinkIDRemoves a specific rule based on link ID
removeBinRulesControlNodeIDRemoves a specific rule based on node ID
deleteBinLinkVerticesDeletes interior vertex points of network links
saveBinInpFileWrites all current network input data to a file using the format of an EPANET input file
getBinComputedAllParametersComputes hydraulic and quality time series
getBinComputedAverageBulkReactionRateComputes the average bulk reaction rate
getBinComputedAverageCostPerDayComputes the average cost per day
getBinComputedAverageEfficiencyComputes the average efficiency
getBinComputedAverageKwattsComputes the average Kwatts
getBinComputedAverageKwattsOrMillionGallonsComputes the average Kwatts or million gallons
getBinComputedAverageSourceInflowComputes the average source inflow
getBinComputedAverageTankReactionRateComputes the average tank reaction rate
getBinComputedAverageWallReactionRateComputes average wall reaction rate
getBinComputedLinkFlowComputes the flow of links
getBinComputedLinkFrictionFactorComputes the link friction factor
getBinComputedLinkHeadlossComputes the headloss of links
getBinComputedLinkQualityComputes the quality of links
getBinComputedLinkReactionRateComputes the reaction rate of links
getBinComputedLinkSettingComputes the setting of links
getBinComputedLinkStatusComputes the status of links
getBinComputedLinkVelocityComputes the velocity of links
getBinComputedNodeDemandComputes the demand of nodes
getBinComputedNodeHeadComputes the head of nodes
getBinComputedNodePressureComputes the pressure of nodes
getBinComputedNodeQualityComputes the quality of nodes
getBinComputedPeakKwattsComputes the peak Kwatts
getBinComputedPumpIndexListLinksRetrieves the pump indices
getBinComputedPumpUtilizationComputes the pump utilization
getBinDiameterEachLinkRetrieves the diameter of each link
getBinLengthEachLinkRetrieves the length of each link
getBinLinkIndexRetrieves the indices of all links
getBinLinkNameIDRetrieves the ID label(s) of all links
getBinElevationEachNodeRetrieves the elevation of each node
getBinNodeCoordinatesRetrieves coordinate x, y, and x, y vertices for a node
getBinNodeIndexRetrieves the indices of all nodes
getBinNodeNameIDRetrieves the ID label(s) of all nodes
getBinNumberReportingPeriodsRetrieves the number of reporting periods
getBinControlsInfoRetrieves the controls info
getBinCurvesInfoRetrieves the curves info
getBinLinksInfoRetrieves the links info
getBinLimitingPotentialRetrieves limiting potential
getBinNodesInfoRetrieves the nodes info
getBinNodeSourceInfoRetrieves the sources info
getBinOptionsInfoRetrieves the options info
getBinPatternsInfoRetrieves the patterns info
getBinRulesControlsInfoRetrieves the controls info
getBinTimesInfoRetrieves the times info
getBinPatternIndexRetrieves the indices of all patterns
getBinSimulationDurationRetrieves the value of simulation duration
getBinSectionsRetrieves some basic sections from inp file
getBinUnitsRetrieves the units used to express all flow rates
getBinLinkVerticesRetrieves the link vertices
getBinLinkVerticesCountRetrieves the number of vertices
setBinFlowUnitsAFDSets flow units to AFD
setBinFlowUnitsCFSSets flow units to CFS
setBinFlowUnitsCMDSets flow units to CMD
setBinFlowUnitsCMHSets flow units to CMH
setBinFlowUnitsGPMSets flow units to GPM
setBinFlowUnitsIMGDSets flow units to IMGD
setBinFlowUnitsLPMSets flow units to LPM
setBinFlowUnitsLPSSets flow units to LPS
setBinFlowUnitsMGDSets flow units to MGD
setBinFlowUnitsMLDSets flow units to MLD
setBinHeadlossCMSets headloss to C-M
setBinHeadlossDWSets headloss to D-W
setBinHeadlossHWSets headloss to H-W
setBinLinkGlobalBulkReactionCoeffSets the global bulk reaction rate coeff.
setBinLinkGlobalWallReactionCoeffSets the global wall reaction rate coeff.
setBinLimitingPotentialSets limiting potential
setBinLinkPipeDiametersSets the values of pipe diameters
setBinLinkPipeLengthsSets the values of pipe lengths
setBinLinkPipeMinorLossSets the values of pipe minor losses
setBinLinkPipeRoughnessSets the values of pipe roughness
setBinLinkPipeStatusSets the values of pipe status
setBinLinkPipesParametersSets the values of pipe parameters (diameters, lengths, minor losses, roughness, status)
setBinLinkPumpStatusSets the values of pump status
setBinLinkReactionCoeffSets the values of bulk and wall reaction coeff.
setBinLinkValvesParametersSets the values of valve parameters (diameters, types, settings, minor losses)
setBinNodeJunDemandPatternNameIDSets the names of demand pattern IDs for junctions
setBinNodeInitialQualitySets the values of initial qualities
setBinNodeJunctionElevationSets the values of elevations for junctions
setBinNodeJunctionsBaseDemandsSets the values of base demands
setBinNodeJunctionsParametersSets the values of junction parameters (elevations, base demands, demand patterns)
setBinNodeResDemandPatternNameIDSets the names of demand pattern IDs for reservoirs
setBinNodeReservoirElevationSets the values of elevations for reservoirs
setBinNodeReservoirParametersSets the values of reservoir parameters (elevations, patterns)
setBinNodeSourceQualitySets the values of source qualities
setBinNodeTankDiameterSets the values of tanks diameter
setBinNodeTankElevationSets the values of tanks elevation
setBinNodeTankInitialLevelSets the values of tanks initial level
setBinNodeTankMaximumWaterLevelSets the values of tanks maximum water level
setBinNodeTankMinimumWaterLevelSets the values of tanks minimum water level
setBinNodeTankMinimumWaterVolumeSets the values of tanks minimum water volume
setBinNodeTankParametersSets the values of reservoir parameters (elevations, initialLevels, minLevels, maxLevels, diameters, minVolume, mixfraction)
setBinPatternSets all of the multiplier factors for a specific time pattern
setBinQualityAgeSets the type of water quality analysis to Age
setBinQualityChemSets the type of water quality analysis to Chem
setBinQualityNoneSets the type of water quality analysis to None
setBinQualityTraceSets the type of water quality analysis to Trace
setBinQualTypeSets the type of water quality analysis to any chem e.g. chlorine
setBinTimeHydraulicStepSets the hydraulic step
setBinTimePatternStartSets the pattern start
setBinTimePatternStepSets the pattern step
setBinTimeQualityStepSets the quality step
setBinTimeReportingStartSets the reporting start
setBinTimeReportingStepSets the reporting step
setBinTimeSimulationDurationSets the simulation duration
setBinTimeStatisticsAverageSets the statistic type to Average
setBinTimeStatisticsMaximumSets the statistic type to Maximum
setBinTimeStatisticsMinimumSets the statistic type to Minimum
setBinTimeStatisticsNoneSets the statistic type to None
setBinTimeStatisticsRangeSets the statistic type to Range
setBinLinkVerticesSets interior vertex points of network links

Back to top

List of EPANET 2.012 Functions Supported

FunctionDescription
ENaddpatternAdds a new time pattern to the network
ENcloseCloses down the Toolkit system (including all files being processed)
ENcloseHCloses the hydraulic analysis system, freeing all allocated memory
ENcloseQCloses the water quality analysis system, freeing all allocated memory
ENepanetRuns a complete EPANET simulation
ENgetcountRetrieves the number of network components of a specified type
ENgetcontrolRetrieves the parameters of a simple control statement
ENgeterrorRetrieves the text of the message associated with a particular error or warning code
ENgetflowunitsRetrieves a code number indicating the units used to express all flow rates
ENgetlinkidRetrieves the ID label of a link with a specified index
ENgetlinkindexRetrieves the index of a link with a specified ID
ENgetlinknodesRetrieves the indexes of the end nodes of a specified link
ENgetlinktypeRetrieves the link-type code for a specific link
ENgetlinkvalueRetrieves the value of a specific link parameter
ENgetnodeidRetrieves the ID label of a node with a specified index
ENgetnodeindexRetrieves the index of a node with a specified ID
ENgetnodetypeRetrieves the node-type code for a specific node
ENgetnodevalueRetrieves the value of a specific link parameter
ENgetoptionRetrieves the value of a particular analysis option
ENgetpatternidRetrieves the ID label of a particular time pattern
ENgetpatternindexRetrieves the index of a particular time pattern
ENgetpatternlenRetrieves the number of time periods in a specific time pattern
ENgetpatternvalueRetrieves the multiplier factor for a specific time period in a time pattern
ENgetqualtypeRetrieves the type of water quality analysis called for
ENgettimeparamRetrieves the value of a specific analysis time parameter
ENgetversionRetrieves the version number
ENinitHInitializes hydraulic analysis
ENinitQInitializes water quality analysis
ENnextHDetermine time (in seconds) until next hydraulic event
ENnextQAdvances WQ simulation to next hydraulic event
ENopenOpens EPANET input file & reads in network data
ENopenHSets up data structures for hydraulic analysis
ENopenQSets up data structures for WQ analysis
ENreportWrites simulation report to the report file
ENresetreportResets report options to default values
ENrunHRun a hydraulic solution period
ENrunQRetrieves hydraulic & WQ results at time t
ENsaveHSaves hydraulic results to binary file
ENsavehydfileCopies binary hydraulics file to disk
ENsaveinpfileSaves current data to "INP" formatted text file
ENsetcontrolSpecify parameters to define a simple control
ENsetlinkvalueSet a proprty value for a link
ENsetnodevalueSet a property value for a node
ENsetoptionSet a value for an anlysis option
ENsetpatternSet multipliers for a specific pattern
ENsetpatternvalueSet the multiplier for a specific pattern at a specific period
ENsetqualtypeSets the type of water quality analysis called
ENsetreportProcesses a reporting format command
ENsetstatusreportSets the level of hydraulic status reporting
ENsettimeparamSet the value for a time parameter
ENsolveHSolves the network hydraulics for all time periods
ENsolveQSolves for network water quality in all time periods
ENstepQAdvances WQ simulation by a single WQ time step
ENusehydfileOpens previously saved binary hydraulics file
ENwritelineWrites line of text to the report file

Back to top

List of EPANET 2.1 Functions Supported

FunctionDescription
ENaddcurveAdds a new curve appended to the end of the existing curves
ENgetaveragepatternvalueRetrieves the average value of a pattern
ENgetbasedemandRetrieves the nodes base demand for a category
ENgetcoordRetrieves coordinate x, y for a node
ENgetcurveRetrieves a curve's properties
ENgetcurveidRetrieves ID of a curve with specific index
ENgetcurveindexRetrieves index of curve with specific ID
ENgetcurvelenRetrieves number of points in a curve
ENgetcurvevalueRetrieves x,y point for a specific point number and curve
ENgetdemandpatternRetrieves the index of a demand pattern for a specific demand category of a node
ENgetheadcurveindexRetrieves index of a head curve for specific link index
ENgetnumdemandsRetrieves the number of demand categories for a node
ENgetpumptypeRetrieves the type of a pump for specific link index
ENgetqualinfoRetrieves quality analysis information (type, chemical name, units, trace node ID)
ENgetstatisticRetrieves hydraulic simulation statistic
ENsetbasedemandSets the nodes base demand for a category
ENsetcoordSets coordinate x, y for a node
ENsetcurveSets x,y values for a specific curve
ENsetcurvevalueSets x,y point for a specific point and curve

Back to top

List of EPANET 2.2 Functions Supported

FunctionDescription
ENaddcontrolSpecify parameters to add a new simple control
ENaddlinkAdds a new link
ENaddnodeAdds a new node
ENaddruleAdds a new rule-based control to a project
ENadddemandAppends a new demand to a junction node demands list
ENclearreportClears the contents of a project's report file
ENcopyreportCopies the current contents of a project's report file to another file
ENdeletelinkDeletes a link
ENdeletenodeDeletes a node
ENdeletedemandDeletes a demand from a junction node
ENsetcurveidChanges the ID name of a data curve given its index
ENsetpatternidChanges the ID name of a time pattern given its index
ENsetdemandpatternSets the index of the demand pattern assigned to a node for a category index
ENsetheadcurveindexSets the curve index for a specified pump index
ENgetcurvetypeRetrieves the type of a curve
ENgetdemandindexRetrieves the index of a node's named demand category
ENgetpremiseGets the properties of a premise in a rule-based control
ENgetelseactionGets the properties of an ELSE action in a rule-based control
ENgetruleidGets the ID name of a rule-based control given its index
ENgetruleRetrieves summary information about a rule-based control
ENgetthenactionGets the properties of a THEN action in a rule-based control
ENsetflowunitsSets the flow units
ENgetdemandmodelRetrieves the type of demand model in use and its parameters
ENsetdemandmodelSets the type of demand model to use and its parameters
ENsetelseactionSets the properties of an ELSE action in a rule-based control
ENsetnodeidChange the ID name for a node
ENsetlinkidChange the ID name for a link
ENsetpipedataSets a group of properties for a pipe link
ENsetpremiseSets the properties of a premise in a rule-based control
ENsetpremiseindexSets the index of an object in a premise of a rule-based control
ENsetpremisestatusSets the status being compared to in a premise of a rule-based control
ENsetpremisevalueSets the value in a premise of a rule-based control
ENsetruleprioritySets the priority of a rule-based control
ENsettankdataSets a group of properties for a tank node
ENsetthenactionSets the properties of a THEN action in a rule-based control
ENgettitleRetrieves the title lines of the project
ENsettitleSets the title lines of the project
ENsetlinknodesSets the indexes of a link's start- and end-nodes
ENsetlinktypeChanges the type of a particular link (e.g. pipe to pump)
ENgetdemandnameGets the name of a node's demand category
ENsetdemandnameAssigns a name to a node's demand category
ENgetcommentRetrieves the comment string assigned to the object (NODE, LINK, TIMEPAT or CURVE)
ENsetcommentSets the comment string assigned to the object (NODE, LINK, TIMEPAT or CURVE)
ENdeletepatternDeletes a time pattern from a project
ENdeletecurveDeletes a data curve from the project
ENdeletecontrolDeletes an existing simple control
ENdeleteruleDeletes an existing rule-based control
ENsetjuncdataSets a group of properties for a junction node
ENgetvertexRetrieves the coordinate's of a vertex point assigned to a link
ENgetvertexcountRetrieves the number of internal vertex points assigned to a link
ENsetverticesAssigns a set of internal vertex points to a link
ENgetresultindexRetrieves the order in which a node's or link's results were saved to an output file
ENinitInitializes an EPANET project that isn't opened with an input file

Back to top