Recent Releases of epanet-matlab-toolkit
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.6.1
Release Notes for EPANET Matlab Toolkit (EMT) v2.2.6.1
- Add the example Fasted Parallel computation
- Update the function getComputedTimeSeries_ENepanet to work in parallel
- Add the function readEpanetBinaryFile
- Add the function getNodeJunctionBaseDemands #230
- Add the function getNodeJunctionActualDemand #230
- MATLAB
Published by Mariosmsk over 2 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.6
- MATLAB
Published by Mariosmsk over 2 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.5
Release Notes for EPANET Matlab Toolkit (EMT) v2.2.5
- Add the function
getComputedAnalysisTimeSeries(Computed Hydraulic and Quality analysis) - Update Movie example (use epanet class function instead of properties)
- Load epanet file with specific DLL without fill properties:
d = epanet(inpname, 'epanet2', 'loadfile'); - Update the functions
getAdjacencyMatrix,getFlowDirectionshelpd.getAdjacencyMatrixhelpd.getFlowDirections - Add the function
getMSXComputedLinkQualitySpecie(Returns the link quality for specific specie) - Add the function
getMSXComputedNodeQualitySpecie(Returns the node quality for specific specie) - Update in the function
setMSXTimeStep - Update the function
loadMSXFile, e.g.
d.loadMSXFile('net2-cl2.msx', 'epanetmsx'); d.loadMSXFile('net2-cl2.msx', 'epanetmsx', 'loadfile'); d.loadMSXFile('net2-cl2.msx', 'loadfile');
- MATLAB
Published by Mariosmsk almost 3 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.4
Release Notes for EPANET Matlab Toolkit (EMT) v2.2.4
- Update the LICENSE file to the last version of EUPL v. 1.2
- Minor fix in the function
setNodeBaseDemandsfor the demand category (Thanks Roya @RPM-2022). - Add the function
getMSXComputedTimeSeries. - Minor fix in the functions
plotMSXSpeciesLinkConcentration,plotMSXSpeciesNodeConcentration - Show a message when you set the wrong species index in the functions (getMSXComputed..)
- Add the library epanetmsx_thunk64 and msxepanet.m to help deploy an app with epanet msx.
- Add
loadMSXEPANETFileandloadMSXlibraryfunctions. Used for parallel simulations. - Minor fix in the function getLinkVolumes
- MATLAB
Published by Mariosmsk about 3 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.3
Release Notes for EPANET Matlab Toolkit (EMT) v2.2.3
- Create CITATION.cff
- Create networkviewer.mlapp
- Minor fix in the function getAdjacencyMatrix
- Add the function getLinkVolumes
- Update the function getNodeLinks to return all the links to which all nodes are connected to
- Add the function plotDiGraph
- Add the function getFlowDirections
- Fix issue #222, a bug in highlightnode and legendposition
- Some updates in the movie example
- Fix issue #223, Error Recognizing setControl Function
- Merge release notes in one file
- MATLAB
Published by Mariosmsk over 3 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.2
Release Notes for EPANET Matlab Toolkit (EMT) v2.2.2
- Performance updates (getComputed..)
- Update EX24Parallelcomputations.m
- Cleanup and some fixes
- When running
d = epanet('Net1.inp')creates a temporary input file using the Matlab functioncopyfileinstead ofENsaveinpfilethe first time. - Update Movie Examples
- We have prepared a tutorial as part of the CCWI-WDSA 2022 conference. You can find the files in the
tutorialfolder at the following GitHub repository.- Basic functionality
- Run first EPANET analysis
- Run first MSX analysis
- How to include uncertainties in simulations
- How to analyze network graph
- How to place pressure sensors
- How to create leakage events
- How to detect leakage events
- How to place quality sensors
- How to create contamination events (using MSX)
- How to detect contamination events
- MATLAB
Published by Mariosmsk over 3 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.1
Check EPANET Matlab Toolkit v2.2.2
New Contributors
- @MariosDem
- MATLAB
Published by Mariosmsk over 3 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.0
- Update DLLs - EPANET 2.2
- Fix bugs, cleanup, and updates
- Added help text in functions
- Added more examples: https://github.com/OpenWaterAnalytics/EPANET-Matlab-Toolkit/tree/master/examples#readme
- Add constant properties for pump state and bin status
- Accept index in setLinkTypePipe, setLinkTypePump etc
- Fix bug base demand error / auto-add new base demand categories
- List of EPANET 2.2 Functions Supported
- Added functions, see below
Added Functions
|Function|Description| |---------|---------| |getComputedTimeSeriesENepanet|Computed Hydraulic & Quality Time Series via ENepanet binary file| |getCounts|Retrieves the number of network components| |getCurveType|Retrieves the curve-type (VOLUME, PUMP, EFFICIENCY, HEADLOSS, GENERAL)| |getCurveTypeIndex|Retrieves the curve-type index for all curves| |getDemandModel|Retrieves the type of demand model in use and its parameters| |getLinkActualQuality|Current computed link quality (read only)| |getLinkComment|Retrieves the comment string assigned to the link object| |getLinkNodesIndex-getNodesConnectingLinksIndex|Retrieves the indexes of the from/to nodes of all links| |getLinkPumpEfficiency|Retrieves the value of all computed efficiency| |getLinkPumpPower|Pump constant power rating| |getLinkPumpHCurve|Pump head v. flow curve index| |getLinkPumpECurve|Pump efficiency v. flow curve index| |getLinkPumpECost|Pump average energy price| |getLinkPumpEPat|Pump energy price time pattern index| |getLinkPumpState|Current computed pump state (read only) (see @ref ENPumpStateType)| |getLinkResultIndex|Retrieves the order in which a link's results were saved to an output file. (EPANET Version 2.2)| |getLinkVertices|Retrieves the coordinate's of a vertex point assigned to a link.| |getLinkVerticesCount|Retrieves the number of internal vertex points assigned to a link| |getNodeComment|Retrieves the comment string assigned to the node object| |getNodeDemandDeficit|Retrieves the amount that full demand is reduced under PDA. (EPANET Version 2.2)| |getNodeJunctionDemandName|Gets the name of a node's demand category| |getNodeJunctionDemandIndex|Retrieves the demand index of the junctions. (EPANET Version 2.2)| |getNodeResultIndex|Retrieves the order in which a node's results were saved to an output file. (EPANET Version 2.2)| |getNodeTankData|Retrieves a group of properties for a tank. (EPANET Version 2.2)| |getNodeTankCanOverFlow|Retrieves the tank can overflow (= 1) or not (= 0)| |getNodeTankMixingFraction|Retrieves the tank Fraction of total volume occupied by the inlet/outlet zone in a 2-compartment tank| |getOptionsDemandCharge|Retrieve energy price pattern| |getOptionsSpecificGravity|Retrieves the specific gravity (EPANET Version 2.2)| |getOptionsSpecificViscosity|Retrieves the specific viscosity (EPANET Version 2.2)| |getOptionsExtraTrials|Retrieves the extra trials allowed if hydraulics don't converge (EPANET Version 2.2)| |getOptionsCheckFrequency|Retrieves the frequency of hydraulic status checks (EPANET Version 2.2)| |getOptionsMaximumCheck|Retrieves the maximum trials for status checking. (EPANET Version 2.2)| |getOptionsFlowChange|Retrieve flow change| |getOptionsGlobalEffic|Retrieve global efficiency pumps| |getOptionsGlobalPrice|Retrieve global average energy price per kW-Hour| |getOptionsGlobalPattern|Retrieve global pattern| |getOptionsHeadError|Retrieve the head error| |getOptionsHeadLossFormula|Retrieve headloss formula code (Hazen-Williams| |getOptionsDampLimit|Retrieves the accuracy level where solution damping begins. (EPANET Version 2.2)| |getOptionsSpecificDiffusivity|Retrieves the specific diffusivity (relative to chlorine at 20 deg C). (EPANET Version 2.2)| |getOptionsPipeBulkReactionOrder|Retrieves the bulk water reaction order for pipes. (EPANET Version 2.2)| |getOptionsPipeWallReactionOrder|Retrieves the wall reaction order for pipes (either 0 or 1). (EPANET Version 2.2)| |getOptionsTankBulkReactionOrder|Retrieves the bulk water reaction order for tanks. (EPANET Version 2.2)| |getOptionsLimitingConcentration|Retrieves the limiting concentration for growth reactions. (EPANET Version 2.2)| |getPatternComment|Retrieves the comment string assigned to the pattern object| |getRules|Retrieves the rule - based control statements. (EPANET Version 2.2)| |getRuleCount|Retrieves the number of rules. (EPANET Version 2.2)| |getRuleID|Retrieves the ID name of a rule-based control given its index. (EPANET Version 2.2)| |getRuleInfo|Retrieves summary information about a rule-based control given it's index. (EPANET Version 2.2)| |getTimeNextEventTank|Retrieves the index of tank with shortest time to become empty or full| |getTitle|Retrieves the title lines of the project| |addControls|Adds a new simple control. (EPANET Version 2.2)| |addNodeJunctionDemand|Adds a new demand to a junction given the junction index| |addRules|Adds a new rule-based control to a project. (EPANET Version 2.2)| |deleteCurve|Deletes a data curve from the project| |deletePattern|Deletes a time pattern from a project| |deleteControls|Deletes an existing simple control. (EPANET Version 2.2)| |deleteRules|Deletes an existing rule-based control given it's index. (EPANET Version 2.2)| |clearReport|Clears the contents of a project's report file. (EPANET Version 2.2)| |copyReport|Copies the current contents of a project's report file to another file. (EPANET Version 2.2)| |runsCompleteSimulation|Runs 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| |initializeEPANET|Initializes an EPANET project that isn't opened with an input file| |openAnyInp|Open as on matlab editor any EPANET input file| |openCurrentInp|Open EPANET input file who is loaded| |setCurveNameID|Sets the name ID of a curve given it's index and the new ID. (EPANET Version 2.2)| |setDemandModel|Sets the type of demand model to use and its parameters| |setFlowUnitsAFD|Sets flow units to AFD| |setFlowUnitsCFS|Sets flow units to CFS| |setFlowUnitsCMD|Sets flow units to CMD| |setFlowUnitsCMH|Sets flow units to CMH| |setFlowUnitsGPM|Sets flow units to GPM| |setFlowUnitsIMGD|Sets flow units to IMGD| |setFlowUnitsLPM|Sets flow units to LPM| |setFlowUnitsLPS|Sets flow units to LPS| |setFlowUnitsMGD|Sets flow units to MGD| |setFlowUnitsMLD|Sets flow units to MLD| |setLinkComment|Sets the comment string assigned to the link object| |setLinkPipeData|Sets a group of properties for a pipe. (EPANET Version 2.2)| |setLinkPumpPatternIndex|Sets the pump speed time pattern index. (EPANET Version 2.2)| |setLinkPumpPower|Sets the power for pumps. (EPANET Version 2.2)| |setLinkPumpHCurve|Sets the pump head v. flow curve index. (EPANET Version 2.2)| |setLinkPumpECurve|Sets the pump efficiency v. flow curve index. (EPANET Version 2.2)| |setLinkPumpECost|Sets the pump average energy price. (EPANET Version 2.2)| |setLinkPumpEPat|Sets the pump energy price time pattern index. (EPANET Version 2.2)| |setLinkNameID|Sets the ID name for links| |setLinkNodesIndex|Sets the indexes of a link's start- and end-nodes. (EPANET Version 2.2)| |setLinkVertices|Assigns a set of internal vertex points to a link| |setNodeComment|Sets the comment string assigned to the node object| |setNodeJunctionDemandName|Assigns a name to a node's demand category| |setNodeNameID|Sets the ID name for nodes| |setNodesConnectingLinksID|Sets the ID of a link's start-node(s) and end-node(s). (EPANET Version 2.2)| |setNodeTankData|Sets a group of properties for a tank. (EPANET Version 2.2)| |setNodeTankCanOverFlow|Sets the value of tank can overflow (= 1) or not (= 0)| |setNodeTankMixingFraction|Sets the values of tanks mix fraction| |setOptionsGlobalEffic|Sets the value of global pump efficiency(percent) (EPANET Version 2.2)| |setOptionsGlobalPrice|Sets the value of global energy price per KWH (EPANET Version 2.2)| |setOptionsGlobalPattern|Sets the index of a global energy price pattern (EPANET Version 2.2)| |setOptionsDemandCharge|Sets the energy demand charge per max. KW usage (EPANET Version 2.2)| |setOptionsSpecificGravity|Sets the specific gravity (EPANET Version 2.2)| |setOptionsSpecificViscosity|Sets the specific viscosity (EPANET Version 2.2)| |setOptionsExtraTrials|Sets the extra trials allowed if hydraulics don't converge (EPANET Version 2.2)| |setOptionsMaximumCheck|Sets the maximum trials for status checking. (EPANET Version 2.2)| |setOptionsCheckFrequency|Sets the frequency of hydraulic status checks (EPANET Version 2.2)| |setOptionsDampLimit|Sets the accuracy level where solution damping begins. (EPANET Version 2.2)| |setOptionsSpecificDiffusivity|Sets the specific diffusivity (relative to chlorine at 20 deg C). (EPANET Version 2.2)| |setOptionsPipeBulkReactionOrder|Sets the bulk water reaction order for pipes. (EPANET Version 2.2)| |setOptionsPipeWallReactionOrder|Sets the wall reaction order for pipes (either 0 or 1). (EPANET Version 2.2)| |setOptionsTankBulkReactionOrder|Sets the bulk water reaction order for tanks. (EPANET Version 2.2)| |setOptionsLimitingConcentration|Sets the limiting concentration for growth reactions. (EPANET Version 2.2)| |setPatternComment|Sets the comment string assigned to the pattern object| |setPatternNameID|Sets the name ID of a time pattern given it's index and the new ID. (EPANET Version 2.2)| |setRules|Sets a rule - based control. (EPANET Version 2.2)| |setRuleElseAction|Sets rule - based control else actions. (EPANET Version 2.2)| |setRulePremise|Sets the premise of a rule - based control. (EPANET Version 2.2)| |setRulePremiseObejctNameID|Sets the ID of an object in a premise of a rule-based control. (EPANET Version 2.2)| |setRulePremiseStatus|Sets the status being compared to in a premise of a rule-based control. (EPANET Version 2.2)| |setRulePremiseValue|Sets the value being compared to in a premise of a rule-based control. (EPANET Version 2.2)| |setRulePriority|Sets rule - based control priority. (EPANET Version 2.2)| |setRuleThenAction|Sets rule - based control then actions. (EPANET Version 2.2)| |setTitle|Sets the title lines of the project| |getMSXOptions|Retrieves all the msx option parameters| |addBinNodeJunction|Adds a new junction to the network| |addBinLinkPipe|Adds a new pipe to the network| |addBinLinkPump|Adds a new pump to the network| |addBinNodeReservoir|Adds a new reservoir to the network| |addBinNodeTank|Adds a new tank to the network| |addBinLinkValve|Adds a new valve to the network| |addBinLinkVertices|Adds interior vertex points to network links| |deleteBinLinkVertices|Deletes interior vertex points of network links| |getBinLinkVertices|Retrieves the link vertices| |getBinLinkVerticesCount|Retrieves the number of vertices| |setBinLinkVertices|Sets interior vertex points of network links|
List of EPANET 2.2 Functions Supported
|Function|Description| |--------|-----------| |ENaddcontrol|Specify parameters to add a new simple control| |ENaddlink|Adds a new link| |ENaddnode|Adds a new node| |ENaddrule|Adds a new rule-based control to a project| |ENadddemand|Appends a new demand to a junction node demands list| |ENclearreport|Clears the contents of a project's report file| |ENcopyreport|Copies the current contents of a project's report file to another file| |ENdeletelink|Deletes a link| |ENdeletenode|Deletes a node| |ENsetcurveid|Changes the ID name of a data curve given its index| |ENsetpatternid|Changes the ID name of a time pattern given its index| |ENsetdemandpattern|Sets the index of the demand pattern assigned to a node for a category index| |ENsetheadcurveindex|Sets the curve index for a specified pump index| |ENgetcurvetype|Retrieves the type of a curve| |ENgetdemandindex|Retrieves the index of a node's named demand category| |ENgetpremise|Gets the properties of a premise in a rule-based control| |ENgetelseaction|Gets the properties of an ELSE action in a rule-based control| |ENgetruleid|Gets the ID name of a rule-based control given its index| |ENgetrule|Retrieves summary information about a rule-based control| |ENgetthenaction|Gets the properties of a THEN action in a rule-based control| |ENsetflowunits|Sets the flow units| |ENgetdemandmodel|Retrieves the type of demand model in use and its parameters| |ENsetdemandmodel|Sets the type of demand model to use and its parameters| |ENsetelseaction|Sets the properties of an ELSE action in a rule-based control| |ENsetnodeid|Change the ID name for a node| |ENsetlinkid|Change the ID name for a link| |ENsetpipedata|Sets a group of properties for a pipe link| |ENsetpremise|Sets the properties of a premise in a rule-based control| |ENsetpremiseindex|Sets the index of an object in a premise of a rule-based control| |ENsetpremisestatus|Sets the status being compared to in a premise of a rule-based control| |ENsetpremisevalue|Sets the value in a premise of a rule-based control| |ENsetrulepriority|Sets the priority of a rule-based control| |ENsettankdata|Sets a group of properties for a tank node| |ENsetthenaction|Sets the properties of a THEN action in a rule-based control| |ENgettitle|Retrieves the title lines of the project| |ENsettitle|Sets the title lines of the project| |ENsetlinknodes|Sets the indexes of a link's start- and end-nodes| |ENsetlinktype|Changes the type of a particular link (e.g. pipe to pump)| |ENgetdemandname|Gets the name of a node's demand category| |ENsetdemandname|Assigns a name to a node's demand category| |ENgetcomment|Retrieves the comment string assigned to the object (NODE, LINK, TIMEPAT or CURVE)| |ENsetcomment|Sets the comment string assigned to the object (NODE, LINK, TIMEPAT or CURVE)| |ENdeletepattern|Deletes a time pattern from a project| |ENdeletecurve|Deletes a data curve from the project| |ENdeletecontrol|Deletes an existing simple control| |ENdeleterule|Deletes an existing rule-based control| |ENsetjuncdata|Sets a group of properties for a junction node| |ENgetvertex|Retrieves the coordinate's of a vertex point assigned to a link| |ENgetvertexcount|Retrieves the number of internal vertex points assigned to a link| |ENsetvertices|Assigns a set of internal vertex points to a link| |ENgetresultindex|Retrieves the order in which a node's or link's results were saved to an output file| |ENinit|Initializes an EPANET project that isn't opened with an input file|
@AndreasAshikkis
- MATLAB
Published by Mariosmsk over 4 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.0-gamma.3
- MATLAB
Published by Mariosmsk over 4 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.0-beta.9
- MATLAB
Published by Mariosmsk over 4 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.0-beta.4
- MATLAB
Published by Mariosmsk over 5 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.0-beta.3
- MATLAB
Published by Mariosmsk over 5 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.0-beta.2
Update: addControls New: setNodesConnectingLinksID
For examples type:
help d.addControls help d.setNodesConnectingLinksID
- MATLAB
Published by Mariosmsk almost 6 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.0-beta.1
add mac libraries and minor fix in ex21
- MATLAB
Published by Mariosmsk almost 6 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.2.0-beta.0
- MATLAB
Published by Mariosmsk almost 6 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.1.8
- Added new examples & videos
- Added the functions d.getUnits, d.getMSXComputedQualitySpecie
- Updated the functions d.plot, d.getNodeSourceType, d.setControls, d.getControls
- Code cleanup
- MATLAB
Published by Mariosmsk about 7 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.1.1
This pre-release includes these new functions: ENaddnode - Adds a new node ENaddlink - Adds a new link ENdeletenode - Deletes a node ENdeletelink - Deletes a link ENsetheadcurveindex - Sets the curve index for a specified pump index ENsetdemandpattern - Sets the index of the demand pattern assigned to a node for a category index.
Some examples based on community questions.
- MATLAB
Published by Mariosmsk over 8 years ago
epanet-matlab-toolkit - EPANET Matlab Toolkit v2.1
This release includes new functions to work with EPANET v. 2.1.0.
- MATLAB
Published by eldemet over 9 years ago
epanet-matlab-toolkit - Epanet Matlab Class v1.01.00
- MATLAB
Published by Mariosmsk about 10 years ago
epanet-matlab-toolkit - Epanet Matlab Class v1.00.00
The first version of the class
- MATLAB
Published by eldemet over 11 years ago