Commit Graph

625 Commits

Author SHA1 Message Date
Marios Kyriakou
0e6cc51d81 Revert "remove dublicate definition"
This reverts commit 8808a01641.
2018-08-23 16:47:52 +03:00
Michael Tryby
40cd25748c Fixing bug EN_getcurvetype 2018-08-23 08:00:30 -04:00
Marios Kyriakou
8808a01641 remove dublicate definition
Add include text.h
2018-08-23 14:58:26 +03:00
Michael Tryby
670440b55c Fixing function definition for EN_getcurve 2018-08-23 07:56:11 -04:00
Marios Kyriakou
219e46a467 Revert "remove dublicate definition"
This reverts commit 1f4c3a0819.
2018-08-23 14:54:48 +03:00
Marios Kyriakou
1f4c3a0819 remove dublicate definition
Add include text.h
2018-08-23 14:53:20 +03:00
Marios Kyriakou
29aa45febb Syntax for the epanet executable 2018-08-22 22:32:30 +03:00
Michael Tryby
75e400cf44 Merging changes from upstream dev 2018-08-22 15:09:33 -04:00
Michael Tryby
f66d4c68d9 Revert "Reorganizing / refactoring api functions for swig wrap"
This reverts commit 437a7c70e0.
2018-08-22 14:48:20 -04:00
Michael Tryby
bd4c369f83 Revert "Reorganizing / refactoring api functions for swig wrap"
This reverts commit 8ff88f86b8.
2018-08-22 14:46:45 -04:00
Marios Kyriakou
114bc4713c fix addnode 2018-08-22 19:37:27 +03:00
Elad Salomons
761199b08e Added ENgetcurvetype API
Also update curve type on EN_setheadcurveindex.

Co-Authored-By: milad ghiami <milad-ghiami@users.noreply.github.com>
2018-08-20 21:10:49 +03:00
Elad Salomons
634651d4e6 Add option to get pump's constant power and speed
Details in #215
2018-08-18 21:54:52 +03:00
Elad Salomons
99e7151172 Add option to get link state
Add EN_STATE to ENgetlinkvalue. Related to #218
2018-08-17 15:43:53 +03:00
Elad Salomons
4e48c31147 Fix PumpType and CurveType enums
Also adds a general \default curve type. Fixes #208.
2018-08-15 07:37:19 +03:00
Lew Rossman
b3e26b9ac8 Resolved conflict in inpfile.c 2018-08-13 10:11:34 -04:00
Lew Rossman
3bd2d4a800 Merge branch 'contributor-lr' of https://github.com/LRossman/EPANET into contributor-lr 2018-08-13 10:09:44 -04:00
Lew Rossman
a73d9235e7 Fixed max. flow change node ID in Status Report 2018-08-13 10:04:24 -04:00
Elad Salomons
d94e1643bf Update Windows build script and VB header file
Also save HeadErrorLimit and FlowChangeLimit only if they are used.
2018-08-13 09:19:05 +03:00
Lew Rossman
b5e3986e6b Pressure Dependent Demands added to address issue 163 2018-08-09 10:42:47 -04:00
Michael Tryby
8ff88f86b8 Reorganizing / refactoring api functions for swig wrap 2018-07-19 11:16:49 -04:00
Michael Tryby
437a7c70e0 Reorganizing / refactoring api functions for swig wrap 2018-07-18 18:33:51 -04:00
Michael Tryby
4723336726 Adding errormanager to toolkit api 2018-07-13 11:47:47 -04:00
Michael Tryby
245e2c5060 Adding tests and a fixture 2018-07-05 18:35:41 -04:00
Michael Tryby
ff2c851b1c Merging latest from dev, trying to get import lib generated 2018-07-03 17:38:40 -04:00
Lew Rossman
86ffbcf614 Improved node re-ordering method (Issue #162) 2018-07-02 13:55:41 -04:00
Lew Rossman
55a7179ca6 Merge branch 'contributor-lr' of https://github.com/LRossman/EPANET into contributor-lr 2018-06-21 12:05:59 -04:00
Lew Rossman
f5a1b9e518 Reverted to legacy Darcy-Weisbach method 2018-06-21 12:05:51 -04:00
Elad Salomons
f86df2291a Saving HeadErrorLimit and FlowChangeLimit only if they are used
To help a bit with backward computability the two new parameters will be saved to the INP file only if values were set for them.
2018-06-21 10:20:16 +03:00
Lew Rossman
e9303de078 Fixes to implement issue #161 2018-06-19 10:30:02 -04:00
Lew Rossman
d5194ffb81 Merge branch 'contributor-lr' of https://github.com/LRossman/EPANET into contributor-lr 2018-06-16 11:12:59 -04:00
Lew Rossman
b3ab8ea2c7 Addresses issue #161
Adds new options HEADERROR and FLOWCHANGE to provide more rigorous criteria for hydraulic convergence. Also breaks HYDRAUL.C into 3 separate files to improve code readability.
2018-06-16 11:02:18 -04:00
Michael Tryby
d374e7bf1a Changing MAXFNAME from 260 back to 259 2018-06-15 10:41:52 -04:00
Lew Rossman
a73b2d7508 #defined MAXFNAME as 260 instead of L_tmpnam_s 2018-06-09 12:07:44 -04:00
Lew Rossman
f0c9684871 Changes to pass reg tests
Revised getTmpName() in EPANET.C
2018-06-05 10:31:18 -04:00
Lew Rossman
4d1cd779ca Changed version # in binary output file
Kept version number at 20012 in binary output file so that the existing EPANET GUI can use this EPANET DLL.
2018-05-24 09:35:49 -04:00
Lew Rossman
24d6b91607 Changes to get Net1.inp to run 2018-05-22 11:12:14 -04:00
Elad Salomons
80a0acc26b Set default pattern for new junctions
Also fix an `ENgetqualtype` function call to include the project pointer
2018-04-18 08:29:22 +03:00
Elad Salomons
a46652f47c Fix bug when adding a junction 2018-04-17 21:46:09 +03:00
Elad Salomons
b85aff9fc9 Change how demand categories linked-list is constructed (appending instead of prepending)
Fix #150
This wasn't changed but one should note that the default pattern is used and saved if none assigned to a demand
2018-04-09 15:01:27 +03:00
Michael Tryby
ddd08e3d5f Conforming to pointer declaration style. 2018-02-02 10:52:32 -05:00
Michael Tryby
38292ad849 Fixed bug that was causing hard crash 2018-02-02 08:16:17 -05:00
Michael Tryby
17cd1c60f8 Switching EN_Project to void* for SWIG wrap. Cleaning up build. 2018-02-01 17:10:36 -05:00
Michael Tryby
62d6c9fade Converting EN_Project to void* EN_ProjectHandle to facilitate wrapping Toolkit API using SWIG. 2018-01-30 18:12:27 -05:00
Michael Tryby
5e3ab5428d Merge remote-tracking branch 'refs/remotes/upstream/dev' into dev-swig 2018-01-24 14:34:49 -05:00
Michael Tryby
691c65878b Initial commit of toolkit SWIG wrapper work 2018-01-12 09:46:32 -05:00
Sam Hatchett
d2503bc035 allows changing model units on-the-fly
replaces PR #140
and with special thanks to @eladsal
2018-01-11 15:22:26 -05:00
Sam Hatchett
3892b65759 re-adds EN_PRICEPATTERN getter
this was broken because of #136
2018-01-11 14:17:09 -05:00
Sam Hatchett
f97d837231 Feature wrapper (#136)
this quite sizable commit does several things, but is primarily
focussed on building a toolkit that can run simultaneous
simulations/analyses within a shared memory space. Versions <=2.1 use a
long list of global variables that prevent multiple instantiations on
linux systems without resorting to compilation tricks (like duplicate
binaries or similar via static linkage). This version uses a single "Project" pointer to encapsulate
the network and analysis data. There are no changes to existing algo
implementations other than to accomodate dereferencing of the passed-in
pointers. A more detailed list of major changes below:

- mirrors all “ENxxxx” function calls with “EN_xxxx” versions (note the
underscore) that take an extra first parameter: a pointer to an
EN_Project struct, which contains all network, hydraulic, quality, and
associated data.
- tweaks some code formatting to make it more readable
- removes some deprecated/commented code that was sufficiently old
- fixes implicit type-cast warnings

* Added ENaddnode and ENaddlink functions

* More memory reallocations

* Added ENInit, ENsetheadcurveindex

* Added ENdeletelink and ENdeletenode

* restored default behavior for float types

* fixed type

* Added docstrings for ENinit

* cleanup change

* moves global rule variables to vars.h

* migrates rule structs to typedefs

for better readability

* char types to proper enums

fixes #93

* Change some variable declarations for compatibility

Changes to keep compatibility with C89 compilers: variables must be
declared at the top of the functions. Remove the use of EN_LinkType in
function call as it is not compatible with ENgetnodetype.

* Moved declaration of idstodelete to top of function

* Updated ENinit function and headers

Updated header files with new functions
Updated def file with new functions
For ENinit changes names of parameters #98
Added enum for headloss formula

* Missed these files in 1a033fc

* migrates char types to enums fixes #93,

supports unified link/node type enums, rather than public/private
redefinitions

* removing links in reverse-index order maintains proper indexing fixes #96

* style

* clarifies curve getter units issue (dox)

closes #95

* fixes link/node confusion in ENsetlinktype

partially reverts a3bce95dc330a5a297634a303d438e2e1bc41cc9

* partial compilation fix

* fixes dox issue

* fixes allocation issues with enums

- updates style in various places
- introduces FlowDirection enum
- use snprintf to prevent overflow

* fixes enum type cast

* updated mac project settings

* Use of _snprintf on Windows and remove DLLEXPORT from mempool.h

snprintf it not compatible on Windows so we use _snprintf
mempool gave starnge compilation errors while removing DLLEXPORT worked.
Not sure why these functions needed to be exposed in the DLL?

* Revert "Use of _snprintf on Windows and remove DLLEXPORT from mempool.h"

This reverts commit 6238f77d47fa0feaabe5836043c006937de433a2.

* use of _snprintf instead of snprintf on Windows and removed DLLEXPORT from mempool.h

Had compilation errors on mempool.h. Removed DLLEXPORT so solve it. Not
sure why there was a need to expose these functions?

* Shift indices for Links in ENaddnode

Need to shift indices for Links not just Pipes since a pump could be
connected directly to a reservoir. Also set the defult base demand to
zero (was 5).

* Set defualts for madatory link properties in ENaddlink and small fix for ENsetheadcurveindex

Relates to #102 and closes #103

* wraps globals into structs, duplicates api functions with objective versions



* parse and serialize Comment field for network elements

related to #47

* adds getter for head/efficiency curve

in EN_getlinkvalue

* adds getter for event node index

… to return the index of the junction (tank) that triggered the event.

* fixes edge case in parsing

… where inp files without demands in [JUNCTIONS] and without any
[DEMAND] categories will fail.

* adds freeing function for project pointer

* removes redundant string literals, fixes overrun issue in error message getter function

* check for hydraulics already closed

* moving error definitions to data file

* deprecates ENR err message getter (unused)

* updates location of errors data file

also begins to expose blind structs to curves and patterns,
anticipating buildout of APIs for those.

* updates CLI output to reflect executable name as invoked

relates to #109

* Feature nrtest (#131)

* Initial commit EPANET testing tools.

* Initial commit for epanet-nrtestsuite

* SWIG wrapper for EPANET outputapi (#118)

* Removed pervious version of outputapi and wrapper

* SWIG wrapper for EPANET outputapi

* Patching cmake build script fixed target for outputapi

* Build failing on deprecated test script

* Minor changes. Responding to review comments.

* Feature nrtest (#121)

* Configured python setup to automatically build nrtest tools.

* Working on build / testing automation

* Adding EPANET 2.0.12 benchmark

* Updated Travis yml to run nrtest

* Fixing InsecurePlatformWarning

* Fixing InsecurePlatformWarning again

* Fixing InsecurePlatformWarning

* Fixing InsecurePlatformWarning

* Fixing InsecurePlatformWarning

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Update .travis.yml

* Working on configuring python environment and building test tools under Travis CI.

* Making gen-config.sh and run-nrtest.sh executable

* Debugging .travis.yml

* Debugging .travis.yml

* Debugging .travis.yml again

* Debugging .travis.yml again

* debugging travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* debugging Travis setup

* Fixing bug with __strncpy_chk destlen < len

* nrtesting clean up

* re-implements fixes from:

5eead5ae40
3c788567a4

* removes extraneous build files, moves cmake and updates travis

* mirror of 9b37035560f9683f1514b439f7586a5c17bca5bf

* Move some variable declarations

* More variable declarations

* Fix TmpDir

* Allocate _defaultModel

* Fix EN_addcurve funcrion

* Fix for inpfile

* Fix writeRuleinInp call

* Set MAXMSG to 79 chars

* Fix for flow direction

* Refactoring testing related python packages and SWIG wrapper bug fix (#139)

* Eliminated epanet-reader package. Removed numpy dependency from epanet-output. Fixed reference counting bug in SWIG wrapper. Added error checking to run_nrtest.sh. Added nrtest package to requirements file.

* changing buildhome directory

* Fixing bug related to preprocessor definition of PI
2018-01-09 16:56:42 -05:00
Elad Salomons
5eead5ae40 Fix quality conversion factor error in ENsetqualtype
Reported here:

http://community.wateranalytics.org/t/difference-in-water-age-calculated-in-epanet-and-in-matlab-using-epanet-matlab-toolkit/406/12
2017-06-15 16:21:39 +03:00