OWA-EPANET Toolkit 2.3
|
#include "epanet2_enums.h"
Go to the source code of this file.
Typedefs | |
typedef struct Project * | EN_Project |
The EPANET Project wrapper object. | |
Functions | |
int DLLEXPORT | EN_createproject (EN_Project *ph) |
Creates an EPANET project. | |
int DLLEXPORT | EN_deleteproject (EN_Project ph) |
Deletes a currently opened EPANET project. | |
int DLLEXPORT | EN_runproject (EN_Project ph, const char *inpFile, const char *rptFile, const char *outFile, void(*pviewprog)(char *)) |
Runs a complete EPANET simulation. | |
int DLLEXPORT | EN_init (EN_Project ph, const char *rptFile, const char *outFile, int unitsType, int headLossType) |
Initializes an EPANET project. | |
int DLLEXPORT | EN_open (EN_Project ph, const char *inpFile, const char *rptFile, const char *outFile) |
Reads an EPANET input file with no errors allowed. | |
int DLLEXPORT | EN_openX (EN_Project ph, const char *inpFile, const char *rptFile, const char *outFile) |
Reads an EPANET input file with errors allowed. | |
int DLLEXPORT | EN_gettitle (EN_Project ph, char *out_line1, char *out_line2, char *out_line3) |
Retrieves the title lines of the project. | |
int DLLEXPORT | EN_settitle (EN_Project ph, const char *line1, const char *line2, const char *line3) |
Sets the title lines of the project. | |
int DLLEXPORT | EN_getcomment (EN_Project ph, int object, int index, char *out_comment) |
Retrieves a descriptive comment assigned to a Node, Link, Pattern or Curve. | |
int DLLEXPORT | EN_setcomment (EN_Project ph, int object, int index, const char *comment) |
Assigns a descriptive comment to a Node, Link, Pattern or Curve. | |
int DLLEXPORT | EN_gettag (EN_Project ph, int object, int index, char *out_tag) |
Retrieves a tag string assigned to a Node or Link. | |
int DLLEXPORT | EN_settag (EN_Project ph, int object, int index, const char *tag) |
Assigns a tag string to a Node or Link. | |
int DLLEXPORT | EN_getcount (EN_Project ph, int object, int *out_count) |
Retrieves the number of objects of a given type in a project. | |
int DLLEXPORT | EN_saveinpfile (EN_Project ph, const char *filename) |
Saves a project's data to an EPANET-formatted text file. | |
int DLLEXPORT | EN_close (EN_Project ph) |
Closes a project and frees all of its memory. | |
int DLLEXPORT | EN_solveH (EN_Project ph) |
Runs a complete hydraulic simulation with results for all time periods written to a temporary hydraulics file. | |
int DLLEXPORT | EN_usehydfile (EN_Project ph, const char *filename) |
Uses a previously saved binary hydraulics file to supply a project's hydraulics. | |
int DLLEXPORT | EN_openH (EN_Project ph) |
Opens a project's hydraulic solver. | |
int DLLEXPORT | EN_initH (EN_Project ph, int initFlag) |
Initializes a network prior to running a hydraulic analysis. | |
int DLLEXPORT | EN_runH (EN_Project ph, long *out_currentTime) |
Computes a hydraulic solution for the current point in time. | |
int DLLEXPORT | EN_nextH (EN_Project ph, long *out_tStep) |
Determines the length of time until the next hydraulic event occurs in an extended period simulation. | |
int DLLEXPORT | EN_saveH (EN_Project ph) |
Transfers a project's hydraulics results from its temporary hydraulics file to its binary output file, where results are only reported at uniform reporting intervals. | |
int DLLEXPORT | EN_savehydfile (EN_Project ph, const char *filename) |
Saves a project's temporary hydraulics file to disk. | |
int DLLEXPORT | EN_closeH (EN_Project ph) |
Closes the hydraulic solver freeing all of its allocated memory. | |
int DLLEXPORT | EN_solveQ (EN_Project ph) |
Runs a complete water quality simulation with results at uniform reporting intervals written to the project's binary output file. | |
int DLLEXPORT | EN_openQ (EN_Project ph) |
Opens a project's water quality solver. | |
int DLLEXPORT | EN_initQ (EN_Project ph, int saveFlag) |
Initializes a network prior to running a water quality analysis. | |
int DLLEXPORT | EN_runQ (EN_Project ph, long *out_currentTime) |
Makes hydraulic and water quality results at the start of the current time period available to a project's water quality solver. | |
int DLLEXPORT | EN_nextQ (EN_Project ph, long *out_tStep) |
Advances a water quality simulation over the time until the next hydraulic event. | |
int DLLEXPORT | EN_stepQ (EN_Project ph, long *out_timeLeft) |
Advances a water quality simulation by a single water quality time step. | |
int DLLEXPORT | EN_closeQ (EN_Project ph) |
Closes the water quality solver, freeing all of its allocated memory. | |
int DLLEXPORT | EN_setreportcallback (EN_Project ph, void(*callback)(void *userData, void *EN_projectHandle, const char *)) |
Sets a user-supplied callback function for reporting. | |
int DLLEXPORT | EN_setreportcallbackuserdata (EN_Project ph, void *userData) |
Sets a pointer to a client-side data object. | |
int DLLEXPORT | EN_writeline (EN_Project ph, const char *line) |
Writes a line of text to a project's report file. | |
int DLLEXPORT | EN_report (EN_Project ph) |
Writes simulation results in a tabular format to a project's report file. | |
int DLLEXPORT | EN_copyreport (EN_Project ph, const char *filename) |
Copies the current contents of a project's report file to another file. | |
int DLLEXPORT | EN_clearreport (EN_Project ph) |
Clears the contents of a project's report file. | |
int DLLEXPORT | EN_resetreport (EN_Project ph) |
Resets a project's report options to their default values. | |
int DLLEXPORT | EN_setreport (EN_Project ph, const char *format) |
Processes a reporting format command. | |
int DLLEXPORT | EN_setstatusreport (EN_Project ph, int level) |
Sets the level of hydraulic status reporting. | |
int DLLEXPORT | EN_getversion (int *out_version) |
Retrieves the toolkit API version number. | |
int DLLEXPORT | EN_geterror (int errcode, char *out_errmsg, int maxLen) |
Returns the text of an error message generated by an error code. | |
int DLLEXPORT | EN_getstatistic (EN_Project ph, int type, double *out_value) |
Retrieves a particular simulation statistic. | |
int DLLEXPORT | EN_timetonextevent (EN_Project ph, int *eventType, long *duration, int *elementIndex) |
Gets information about when the next hydraulic time step occurs. | |
int DLLEXPORT | EN_getresultindex (EN_Project ph, int type, int index, int *out_value) |
Retrieves the order in which a node or link appears in an output file. | |
int DLLEXPORT | EN_getoption (EN_Project ph, int option, double *out_value) |
Retrieves the value of an analysis option. | |
int DLLEXPORT | EN_setoption (EN_Project ph, int option, double value) |
Sets the value for an analysis option. | |
int DLLEXPORT | EN_getflowunits (EN_Project ph, int *out_units) |
Retrieves a project's flow units. | |
int DLLEXPORT | EN_setflowunits (EN_Project ph, int units) |
Sets a project's flow units. | |
int DLLEXPORT | EN_gettimeparam (EN_Project ph, int param, long *out_value) |
Retrieves the value of a time parameter. | |
int DLLEXPORT | EN_settimeparam (EN_Project ph, int param, long value) |
Sets the value of a time parameter. | |
int DLLEXPORT | EN_getqualinfo (EN_Project ph, int *out_qualType, char *out_chemName, char *out_chemUnits, int *out_traceNode) |
Gets information about the type of water quality analysis requested. | |
int DLLEXPORT | EN_getqualtype (EN_Project ph, int *out_qualType, int *out_traceNode) |
Retrieves the type of water quality analysis to be run. | |
int DLLEXPORT | EN_setqualtype (EN_Project ph, int qualType, const char *chemName, const char *chemUnits, const char *traceNode) |
Sets the type of water quality analysis to run. | |
int DLLEXPORT | EN_addnode (EN_Project ph, const char *id, int nodeType, int *out_index) |
Adds a new node to a project. | |
int DLLEXPORT | EN_deletenode (EN_Project ph, int index, int actionCode) |
Deletes a node from a project. | |
int DLLEXPORT | EN_getnodeindex (EN_Project ph, const char *id, int *out_index) |
Gets the index of a node given its ID name. | |
int DLLEXPORT | EN_getnodeid (EN_Project ph, int index, char *out_id) |
Gets the ID name of a node given its index. | |
int DLLEXPORT | EN_setnodeid (EN_Project ph, int index, const char *newid) |
Changes the ID name of a node. | |
int DLLEXPORT | EN_getnodetype (EN_Project ph, int index, int *out_nodeType) |
Retrieves a node's type given its index. | |
int DLLEXPORT | EN_getnodevalue (EN_Project ph, int index, int property, double *out_value) |
Retrieves a property value for a node. | |
int DLLEXPORT | EN_getnodevalues (EN_Project ph, int property, double *out_values) |
Retrieves an array of property values for all nodes. | |
int DLLEXPORT | EN_setnodevalue (EN_Project ph, int index, int property, double value) |
Sets a property value for a node. | |
int DLLEXPORT | EN_setjuncdata (EN_Project ph, int index, double elev, double dmnd, const char *dmndpat) |
Sets a group of properties for a junction node. | |
int DLLEXPORT | EN_settankdata (EN_Project ph, int index, double elev, double initlvl, double minlvl, double maxlvl, double diam, double minvol, const char *volcurve) |
Sets a group of properties for a tank node. | |
int DLLEXPORT | EN_getcoord (EN_Project ph, int index, double *out_x, double *out_y) |
Gets the (x,y) coordinates of a node. | |
int DLLEXPORT | EN_setcoord (EN_Project ph, int index, double x, double y) |
Sets the (x,y) coordinates of a node. | |
int DLLEXPORT | EN_getdemandmodel (EN_Project ph, int *out_type, double *out_pmin, double *out_preq, double *out_pexp) |
Retrieves the type of demand model in use and its parameters. | |
int DLLEXPORT | EN_setdemandmodel (EN_Project ph, int type, double pmin, double preq, double pexp) |
Sets the type of demand model to use and its parameters. | |
int DLLEXPORT | EN_adddemand (EN_Project ph, int nodeIndex, double baseDemand, const char *demandPattern, const char *demandName) |
appends a new demand to a junction node demands list. | |
int DLLEXPORT | EN_deletedemand (EN_Project ph, int nodeIndex, int demandIndex) |
deletes a demand from a junction node. | |
int DLLEXPORT | EN_getdemandindex (EN_Project ph, int nodeIndex, const char *demandName, int *out_demandIndex) |
Retrieves the index of a node's named demand category. | |
int DLLEXPORT | EN_getnumdemands (EN_Project ph, int nodeIndex, int *out_numDemands) |
Retrieves the number of demand categories for a junction node. | |
int DLLEXPORT | EN_getbasedemand (EN_Project ph, int nodeIndex, int demandIndex, double *out_baseDemand) |
Gets the base demand for one of a node's demand categories. | |
int DLLEXPORT | EN_setbasedemand (EN_Project ph, int nodeIndex, int demandIndex, double baseDemand) |
Sets the base demand for one of a node's demand categories. | |
int DLLEXPORT | EN_getdemandpattern (EN_Project ph, int nodeIndex, int demandIndex, int *out_patIndex) |
Retrieves the index of a time pattern assigned to one of a node's demand categories. | |
int DLLEXPORT | EN_setdemandpattern (EN_Project ph, int nodeIndex, int demandIndex, int patIndex) |
Sets the index of a time pattern used for one of a node's demand categories. | |
int DLLEXPORT | EN_getdemandname (EN_Project ph, int nodeIndex, int demandIndex, char *out_demandName) |
Retrieves the name of a node's demand category. | |
int DLLEXPORT | EN_setdemandname (EN_Project ph, int nodeIndex, int demandIdx, const char *demandName) |
Assigns a name to a node's demand category. | |
int DLLEXPORT | EN_addlink (EN_Project ph, const char *id, int linkType, const char *fromNode, const char *toNode, int *out_index) |
Adds a new link to a project. | |
int DLLEXPORT | EN_deletelink (EN_Project ph, int index, int actionCode) |
Deletes a link from the project. | |
int DLLEXPORT | EN_getlinkindex (EN_Project ph, const char *id, int *out_index) |
Gets the index of a link given its ID name. | |
int DLLEXPORT | EN_getlinkid (EN_Project ph, int index, char *out_id) |
Gets the ID name of a link given its index. | |
int DLLEXPORT | EN_setlinkid (EN_Project ph, int index, const char *newid) |
Changes the ID name of a link. | |
int DLLEXPORT | EN_getlinktype (EN_Project ph, int index, int *out_linkType) |
Retrieves a link's type. | |
int DLLEXPORT | EN_setlinktype (EN_Project ph, int *inout_index, int linkType, int actionCode) |
Changes a link's type. | |
int DLLEXPORT | EN_getlinknodes (EN_Project ph, int index, int *out_node1, int *out_node2) |
Gets the indexes of a link's start- and end-nodes. | |
int DLLEXPORT | EN_setlinknodes (EN_Project ph, int index, int node1, int node2) |
Sets the indexes of a link's start- and end-nodes. | |
int DLLEXPORT | EN_getlinkvalue (EN_Project ph, int index, int property, double *out_value) |
Retrieves a property value for a link. | |
int DLLEXPORT | EN_getlinkvalues (EN_Project ph, int property, double *out_values) |
Retrieves an array of property values for all links. | |
int DLLEXPORT | EN_setlinkvalue (EN_Project ph, int index, int property, double value) |
Sets a property value for a link. | |
int DLLEXPORT | EN_setpipedata (EN_Project ph, int index, double length, double diam, double rough, double mloss) |
Sets a group of properties for a pipe link. | |
int DLLEXPORT | EN_getvertexcount (EN_Project ph, int index, int *out_count) |
Retrieves the number of internal vertex points assigned to a link. | |
int DLLEXPORT | EN_getvertex (EN_Project ph, int index, int vertex, double *out_x, double *out_y) |
Retrieves the coordinates of a vertex point assigned to a link. | |
int DLLEXPORT | EN_setvertex (EN_Project ph, int index, int vertex, double x, double y) |
Sets the coordinates of a vertex point assigned to a link. | |
int DLLEXPORT | EN_setvertices (EN_Project ph, int index, double *x, double *y, int count) |
Assigns a set of internal vertex points to a link. | |
int DLLEXPORT | EN_getpumptype (EN_Project ph, int linkIndex, int *out_pumpType) |
Retrieves the type of head curve used by a pump. | |
int DLLEXPORT | EN_getheadcurveindex (EN_Project ph, int linkIndex, int *out_curveIndex) |
Retrieves the curve assigned to a pump's head curve. | |
int DLLEXPORT | EN_setheadcurveindex (EN_Project ph, int linkIndex, int curveIndex) |
Assigns a curve to a pump's head curve. | |
int DLLEXPORT | EN_addpattern (EN_Project ph, const char *id) |
Adds a new time pattern to a project. | |
int DLLEXPORT | EN_deletepattern (EN_Project ph, int index) |
Deletes a time pattern from a project. | |
int DLLEXPORT | EN_getpatternindex (EN_Project ph, const char *id, int *out_index) |
Retrieves the index of a time pattern given its ID name. | |
int DLLEXPORT | EN_getpatternid (EN_Project ph, int index, char *out_id) |
Retrieves the ID name of a time pattern given its index. | |
int DLLEXPORT | EN_setpatternid (EN_Project ph, int index, const char *id) |
Changes the ID name of a time pattern given its index. | |
int DLLEXPORT | EN_getpatternlen (EN_Project ph, int index, int *out_len) |
Retrieves the number of time periods in a time pattern. | |
int DLLEXPORT | EN_getpatternvalue (EN_Project ph, int index, int period, double *out_value) |
Retrieves a time pattern's factor for a given time period. | |
int DLLEXPORT | EN_setpatternvalue (EN_Project ph, int index, int period, double value) |
Sets a time pattern's factor for a given time period. | |
int DLLEXPORT | EN_getaveragepatternvalue (EN_Project ph, int index, double *out_value) |
Retrieves the average of all pattern factors in a time pattern. | |
int DLLEXPORT | EN_setpattern (EN_Project ph, int index, double *values, int len) |
Sets the pattern factors for a given time pattern. | |
int DLLEXPORT | EN_loadpatternfile (EN_Project ph, const char *filename, const char *id) |
Loads time patterns from a file into a project under a specific pattern ID. | |
int DLLEXPORT | EN_addcurve (EN_Project ph, const char *id) |
Adds a new data curve to a project. | |
int DLLEXPORT | EN_deletecurve (EN_Project ph, int index) |
Deletes a data curve from a project. | |
int DLLEXPORT | EN_getcurveindex (EN_Project ph, const char *id, int *out_index) |
Retrieves the index of a curve given its ID name. | |
int DLLEXPORT | EN_getcurveid (EN_Project ph, int index, char *out_id) |
Retrieves the ID name of a curve given its index. | |
int DLLEXPORT | EN_setcurveid (EN_Project ph, int index, const char *id) |
Changes the ID name of a data curve given its index. | |
int DLLEXPORT | EN_getcurvelen (EN_Project ph, int index, int *out_len) |
Retrieves the number of points in a curve. | |
int DLLEXPORT | EN_getcurvetype (EN_Project ph, int index, int *out_type) |
Retrieves a curve's type. | |
int DLLEXPORT | EN_setcurvetype (EN_Project ph, int index, int type) |
Sets a curve's type. | |
int DLLEXPORT | EN_getcurvevalue (EN_Project ph, int curveIndex, int pointIndex, double *out_x, double *out_y) |
Retrieves the value of a single data point for a curve. | |
int DLLEXPORT | EN_setcurvevalue (EN_Project ph, int curveIndex, int pointIndex, double x, double y) |
Sets the value of a single data point for a curve. | |
int DLLEXPORT | EN_getcurve (EN_Project ph, int index, char *out_id, int *out_nPoints, double *out_xValues, double *out_yValues) |
Retrieves all of a curve's data. | |
int DLLEXPORT | EN_setcurve (EN_Project ph, int index, double *xValues, double *yValues, int nPoints) |
assigns a set of data points to a curve. | |
int DLLEXPORT | EN_addcontrol (EN_Project ph, int type, int linkIndex, double setting, int nodeIndex, double level, int *out_index) |
Adds a new simple control to a project. | |
int DLLEXPORT | EN_deletecontrol (EN_Project ph, int index) |
Deletes an existing simple control. | |
int DLLEXPORT | EN_getcontrol (EN_Project ph, int index, int *out_type, int *out_linkIndex, double *out_setting, int *out_nodeIndex, double *out_level) |
Retrieves the properties of a simple control. | |
int DLLEXPORT | EN_setcontrol (EN_Project ph, int index, int type, int linkIndex, double setting, int nodeIndex, double level) |
Sets the properties of an existing simple control. | |
int DLLEXPORT | EN_getcontrolenabled (EN_Project ph, int index, int *out_enabled) |
Gets the enabled status of a simple control. | |
int DLLEXPORT | EN_setcontrolenabled (EN_Project ph, int index, int enabled) |
Sets the enabled status of a simple control. | |
int DLLEXPORT | EN_addrule (EN_Project ph, char *rule) |
Adds a new rule-based control to a project. | |
int DLLEXPORT | EN_deleterule (EN_Project ph, int index) |
Deletes an existing rule-based control. | |
int DLLEXPORT | EN_getrule (EN_Project ph, int index, int *out_nPremises, int *out_nThenActions, int *out_nElseActions, double *out_priority) |
Retrieves summary information about a rule-based control. | |
int DLLEXPORT | EN_getruleID (EN_Project ph, int index, char *out_id) |
Gets the ID name of a rule-based control given its index. | |
int DLLEXPORT | EN_getpremise (EN_Project ph, int ruleIndex, int premiseIndex, int *out_logop, int *out_object, int *out_objIndex, int *out_variable, int *out_relop, int *out_status, double *out_value) |
Gets the properties of a premise in a rule-based control. | |
int DLLEXPORT | EN_setpremise (EN_Project ph, int ruleIndex, int premiseIndex, int logop, int object, int objIndex, int variable, int relop, int status, double value) |
Sets the properties of a premise in a rule-based control. | |
int DLLEXPORT | EN_setpremiseindex (EN_Project ph, int ruleIndex, int premiseIndex, int objIndex) |
Sets the index of an object in a premise of a rule-based control. | |
int DLLEXPORT | EN_setpremisestatus (EN_Project ph, int ruleIndex, int premiseIndex, int status) |
Sets the status being compared to in a premise of a rule-based control. | |
int DLLEXPORT | EN_setpremisevalue (EN_Project ph, int ruleIndex, int premiseIndex, double value) |
Sets the value in a premise of a rule-based control. | |
int DLLEXPORT | EN_getthenaction (EN_Project ph, int ruleIndex, int actionIndex, int *out_linkIndex, int *out_status, double *out_setting) |
Gets the properties of a THEN action in a rule-based control. | |
int DLLEXPORT | EN_setthenaction (EN_Project ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting) |
Sets the properties of a THEN action in a rule-based control. | |
int DLLEXPORT | EN_getelseaction (EN_Project ph, int ruleIndex, int actionIndex, int *out_linkIndex, int *out_status, double *out_setting) |
Gets the properties of an ELSE action in a rule-based control. | |
int DLLEXPORT | EN_setelseaction (EN_Project ph, int ruleIndex, int actionIndex, int linkIndex, int status, double setting) |
Sets the properties of an ELSE action in a rule-based control. | |
int DLLEXPORT | EN_setrulepriority (EN_Project ph, int index, double priority) |
Sets the priority of a rule-based control. | |
int DLLEXPORT | EN_getruleenabled (EN_Project ph, int index, int *out_enabled) |
Gets the enabled status of a rule-based control. | |
int DLLEXPORT | EN_setruleenabled (EN_Project ph, int index, int enabled) |
Sets the enabled status of a rule-based control. | |
int DLLEXPORT EN_addlink | ( | EN_Project | ph, |
const char * | id, | ||
int | linkType, | ||
const char * | fromNode, | ||
const char * | toNode, | ||
int * | out_index ) |
Adds a new link to a project.
ph | an EPANET project handle. | |
id | the ID name of the link to be added. | |
linkType | The type of link being added (see EN_LinkType) | |
fromNode | The ID name of the link's starting node. | |
toNode | The ID name of the link's ending node. | |
[out] | out_index | the index of the newly added link. |
A new pipe is assigned a diameter of 10 inches (254 mm) and a length of 330 feet (~ 100 meters). Its roughness coefficient depends on the head loss formula in effect (see EN_HeadLossType) as follows:
All other pipe properties are set to 0.
A new pump has a status of EN_OPEN
, a speed setting of 1, and has no pump curve or power rating assigned to it.
A new valve has a diameter of 10 inches (254 mm) and all other properties set to 0.
See EN_LinkProperty.
int DLLEXPORT EN_getpatternindex | ( | EN_Project | ph, |
const char * | id, | ||
int * | out_index ) |
Retrieves the index of a time pattern given its ID name.
ph | an EPANET project handle. | |
id | the ID name of a time pattern. | |
[out] | out_index | the time pattern's index (starting from 1). |