Commit Graph

339 Commits

Author SHA1 Message Date
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
Michael Tryby
67de368d1e Merge pull request #171 from michaeltryby/dev
Migrating to benchmark 2012vs10
2018-04-13 15:58:55 -04:00
Michael Tryby
cfcba154a7 Migrating Travis to 2012vs10 benchmark 2018-04-13 15:52:52 -04:00
Michael Tryby
0b70d87818 Migrating Appveyor to benchmark 2012vs10 2018-04-13 15:40:44 -04:00
Sam Hatchett
3de23845f5 fixes license and attribution issues 2018-04-09 12:10:19 -04:00
Sam Hatchett
612dd380a4 Revert "Revert "Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET into dev""
This reverts commit 4415d8c4a1.
2018-04-09 11:41:50 -04:00
Elad Salomons
4415d8c4a1 Revert "Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET into dev"
This reverts commit 8fca63294d, reversing
changes made to b85aff9fc9.
2018-04-09 15:03:03 +03:00
Elad Salomons
8fca63294d Merge branch 'dev' of https://github.com/OpenWaterAnalytics/EPANET into dev 2018-04-09 15:02:19 +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
d57b20e44d Cleaning up tests folder (#167) 2018-04-05 10:52:49 -04:00
Michael Tryby
7bc041e77e Merge pull request #166 from michaeltryby/add-test-cases
Add test cases
2018-04-04 17:39:39 -04:00
Michael Tryby
0eb1433340 Updating travis config with before-test.sh 2018-04-04 16:42:22 -04:00
Michael Tryby
8d1e05b807 Replacing epanet-nrtestsuite with before-test.sh 2018-04-04 16:38:36 -04:00
Michael Tryby
a892e8fcb0 Fix typo 2018-04-04 15:02:55 -04:00
Michael Tryby
c99e5d1f66 Adding before-test.cmd to appveyor configuration 2018-04-04 14:58:18 -04:00
Michael Tryby
6308ae708d Removing epanet-nrtestsuite and replacing the before-test.cmd 2018-04-04 14:47:01 -04:00
Michael Tryby
c9d4fd587c Fixing input file name. 2018-04-02 14:12:42 -04:00
Michael Tryby
cf2857b202 Making app-config.sh executable 2018-04-02 13:32:09 -04:00
Michael Tryby
c75f42909e Fixing regression testing on Appveyor 2018-04-02 13:27:22 -04:00
Michael Tryby
3283797847 Merge branch 'add-test-cases' into dev 2018-04-02 11:48:07 -04:00
Michael Tryby
0b5e3ea95f Adding benchmarks for new tests 2018-04-02 11:33:11 -04:00
Michael Tryby
3c4c5e5073 Fixing header/footer size in epanet report test 2018-03-23 15:10:03 -04:00
Michael Tryby
d599acd869 Adding new tests 2018-03-23 15:04:24 -04:00
Michael Tryby
230668a34d Updating benchmark with new tests 2018-03-22 17:27:53 -04:00
Michael Tryby
7c2d92f3f1 Adding new tests to run-nrtest scripts 2018-03-22 16:46:03 -04:00
Michael Tryby
1cf806206c Adding tests to regression test library 2018-03-22 16:34:24 -04:00
Michael Tryby
780698ccf9 Merge pull request #156 from michaeltryby/dev-decouple
Updating Appveyor to use epanet-output binary wheel
2018-03-21 15:53:43 -04:00
Michael Tryby
801bc1bb9c Merge branch 'dev' into dev-decouple 2018-03-21 15:53:08 -04:00
Michael Tryby
bbe40c5ba4 Feature unittest (#157)
* Adding support for unit testing using boost unit test and ctest

* Adding libboost-test to Travis config.

* Adding libboost-test to Travis config.

* Modifying per element comparison

* Modifying per element comparison

* Fixing typo

* Fixing typo

* Adding custom comparison for strings

* Updating Travis to run unit tests

* Updating Travis to run unit tests

* Fixing typo

* Preparing unit testing to run on Appveyor

* Preparing unit testing to run on Appveyor

* Preparing unit testing to run on Appveyor

* Preparing unit testing to run on Appveyor and Travis

* Preparing unit testing to run on Appveyor and Travis

* Preparing unit testing to run on Appveyor and Travis

* Preparing unit testing to run on Appveyor

* Preparing unit testing to run on Appveyor

* Fixing unit testing path issue in CMake

* Fixing unit testing path issue in CMake

* Fixing bugs in cmake and appveyor scripts

* Rolling back generate_export_header in cmake
2018-03-21 14:10:10 -04:00
Michael Tryby
73463770e5 Fixing typo 2018-03-16 16:37:29 -04:00
Michael Tryby
daf4b67e08 Updating Appveyor to use epanet-output binary wheel 2018-03-16 16:34:33 -04:00
Michael Tryby
c9192907a8 Updating Appveyor to use epanet-output binary wheel 2018-03-16 16:21:21 -04:00
Michael Tryby
63b4438765 Merge pull request #143 from OpenWaterAnalytics/dev-cmake-shared
modifies cmake to link shared lib to the CLI
2018-01-24 16:17:25 -05:00
Elad Salomons
dcd1c6dd10 Fix VB header file and win build script 2018-01-18 13:58:26 +02:00
Elad Salomons
831583a349 Revert "Fix VB header file and win build script"
This reverts commit 2b60bec5b5.
2018-01-18 13:55:48 +02:00
Elad Salomons
2b60bec5b5 Fix VB header file and win build script 2018-01-18 13:55:22 +02:00
Michael Tryby
d940904728 Merge pull request #145 from bemcdonnell/dev
Updated Appveyor Badges [default dev branch]
2018-01-17 17:01:43 -05:00
Bryant E. McDonnell
47551d42b9 Updated Readme Appveyor Badge [default dev branch] 2018-01-17 14:21:48 -05:00
Bryant E. McDonnell
a0ed2cf60c Test 2 - 2018-01-17 13:12:01 -05:00
Bryant E. McDonnell
a30d92b9c6 Testing Appveyor 2018-01-17 13:00:59 -05:00
Sam Hatchett
84abab346c modifies cmake to link shared lib to the CLI
also much improved IDE file grouping, for people who use IDEs
2018-01-12 11:38:05 -05:00
Michael Tryby
47733feb74 Configure appveyor (#142)
with much appreciation to @michaeltryby 🎉 

* Initial commit getting Appveyor running
* Modifying branch built
* Modifying generator
* Modifying path to test scripts
* Modifying path to test scripts
* Configuring appveyor cache to store cmake generated build files
* suppressing insecure string warnings
* Fixing typo
* Fixing problem with cmake build invocation
* Changing CMake to Linux build on Travis
* Adding compiler flags for MSVC
* Adding Appveyor build status badge
* Adding Appveyor build status badge
* Adding include directory so it is available to project files
* cleaning cache
* rebuilding cache
2018-01-12 11:35:43 -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
e1acb5a601 improves file availability from cmake-generated projects 2018-01-11 14:16:20 -05:00
Sam Hatchett
70c38b0d85 moves windows build to better-named directory 2018-01-11 14:16:00 -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