Commit Graph
100 Commits
Author SHA1 Message Date
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
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
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 HatchettandGitHub 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
Sam HatchettandGitHub 1f5327a55e adds the rest of the pattern functions to the module documentation (#74) 2016-07-30 09:43:28 -04:00
Sam Hatchett e34adc1685 update readme for v2.1 tag 2016-07-25 20:18:06 -04:00
Sam Hatchett b75055838e Merge branch 'dev-2.1' 2016-07-25 20:14:44 -04:00
Sam Hatchett e2a8e5a614 resolve conflict 2016-07-25 20:14:33 -04:00
Sam Hatchett a4d27ad489 mac rpath in cmake 2016-07-25 20:12:02 -04:00
Sam Hatchett ea6b3619f7 note about api float type 2016-07-21 11:39:16 -04:00
Sam HatchettandGitHub 997c8839e1 Merge pull request #63 from mauriziocingi/patch-1
Update epanet.c
2016-07-20 16:29:52 -04:00
Sam Hatchett 4e3efb1aba disable local file location 2016-07-14 15:28:11 -04:00
Sam Hatchett 528d972f54 updates and proper tagging for dox 2016-07-14 15:03:14 -04:00
Sam Hatchett 7f958d797d update doxyfile 2016-07-14 14:35:45 -04:00
Sam HatchettandGitHub 2c60a703b5 Update README.md 2016-07-13 13:20:56 -04:00
Sam HatchettandGitHub 2d39d1fee4 Update README.md 2016-07-13 13:19:18 -04:00
Sam Hatchett 880f57d237 Merge branch 'dev-2.1-doxy-markup' into dev-2.1
updates comment blocks to oxygen-compatible, and adds release notes
(draft)
2016-07-13 13:16:53 -04:00
Sam Hatchett cdbe7e409a adding release notes, 2.1 2016-07-13 13:14:42 -04:00
Sam Hatchett 8d90000f3f Merge pull request #62 from OpenWaterAnalytics/dev-2.1-debug-python-test
Dev 2.1 debug python test
2015-12-17 13:52:52 -05:00
sam hatchett ff6225372a there are two hard problems.
naming things and counting things
2015-12-17 13:49:23 -05:00
sam hatchett 8fe3bbef23 fixes diff script 2015-12-17 13:46:32 -05:00
sam hatchett 81fa79745a fixing python printing 2015-12-17 13:36:53 -05:00
sam hatchett eb629b8392 better debug output 2015-12-17 13:33:33 -05:00
sam hatchett 71fa408f0b removes fake python comparator 2015-12-17 13:29:47 -05:00
sam hatchett d2625edab4 removes fake files 2015-12-17 13:24:00 -05:00
sam hatchett 1d8d2fb882 combining testing framework with python diff script 2015-12-17 13:22:28 -05:00
Sam Hatchett cb417ce08b Merge pull request #59 from bemcdonnell/dev-2.1
Minor updates to ENOutputWrapper.py; Adding OutDiff.py
2015-12-17 11:48:32 -05:00
Sam Hatchett 70e1eb5818 Merge pull request #58 from OpenWaterAnalytics/dev-2.1-test-network-script
Dev 2.1 test network script
2015-12-17 11:48:11 -05:00
Sam Hatchett 523dee5412 adds/fixes attribution 2015-12-16 16:28:40 -05:00
Sam Hatchett de211562f2 adds cmake build for ENBOF 2015-12-16 16:28:40 -05:00
Sam Hatchett 96cf6ece16 Revert "adds/fixes attribution"
This reverts commit 2f344d4884.
2015-12-15 20:41:54 -05:00
Sam Hatchett 6579a83ba3 fake files for test iteration 2015-12-15 20:39:03 -05:00
Sam Hatchett 92ea5a84a7 testing scripts and travis invocation 2015-12-15 20:38:53 -05:00
Sam Hatchett 2f344d4884 adds/fixes attribution 2015-12-15 16:40:01 -05:00
Sam Hatchett dd5d3d2e36 adds cmake build for ENBOF 2015-12-15 16:39:47 -05:00
Sam Hatchett ab470ba4e1 adding brief orientation for the contribution workflow 2015-12-10 22:15:22 -05:00
Sam Hatchett a86e330dbb Merge pull request #52 from bemcdonnell/dev-2.1
Adding Python wrapper for outputapi
2015-12-10 21:39:37 -05:00
Sam Hatchett 4ccab6a27e simplify cmake file 2015-12-07 17:18:30 -05:00
Sam Hatchett 9ff4afe6cb change badge ref for tests 2015-12-04 16:42:12 -05:00
Sam Hatchett 7351bd9a94 Merge pull request #51 from OpenWaterAnalytics/dev-2.1-travis-ci
adds travis-ci integration (basic build)
2015-12-04 16:41:26 -05:00
Sam Hatchett 5297407d3e Merge pull request #50 from michaeltryby/dev-2.1
Initial commit for EPANET binary output API
2015-12-04 16:38:45 -05:00
Sam Hatchett b937ff8e04 update readme with travis badge 2015-12-04 16:24:39 -05:00
Sam Hatchett 655f5021b5 experiment with travis ci 2015-12-04 16:04:19 -05:00
Sam Hatchett 6e7cf5f02a more dox, nesting pages
#33
2015-11-30 12:02:01 -05:00
sam hatchett 23ac6e5a55 clean up old comment block. 2015-11-28 18:59:49 -05:00
sam hatchett 90c2dfa0c4 complete function description. still needs user manual "application" examples 2015-11-28 18:58:49 -05:00
Sam Hatchett 92517b3944 declare curve-related functions in module 2015-11-28 17:10:26 -05:00
sam hatchett 5d2a1f82b5 finish moving defines to enums for better documentation 2015-11-28 13:28:32 -05:00
sam hatchett bcc1dcc806 Merge branch 'dev-2.1' into doxy-trial
# Conflicts fixed:
#	include/epanet2.h
#	src/epanet.c
2015-11-28 13:22:45 -05:00
sam hatchett 0745b6b448 adding main page content 2015-11-28 13:04:22 -05:00
sam hatchett 82e8d2a329 Merge remote-tracking branch 'origin/dev-2.1' into dev-2.1 2015-11-28 12:41:09 -05:00
Sam Hatchett d191ec73d6 xcode build file update to use correct input files 2015-11-25 19:41:38 -05:00
Sam Hatchett 8ef2f7e3e3 Merge pull request #39 from mauriziocingi/dev-2.1
organize the division between DLL and CLE
2015-11-25 19:28:51 -05:00
Sam Hatchett e28f24af3c migrating from defines to enums, and moving some documentation blocks into doxygen format 2015-11-25 19:26:47 -05:00
Sam Hatchett 3151805675 Merge pull request #37 from mauriziocingi/dev-2.1
added Warnflag in exported symbols
2015-11-18 08:17:57 -05:00
Sam Hatchett e484486915 moving more comments into dox, enum-wrapping and documenting property keys 2015-09-30 15:15:19 -04:00
Sam Hatchett 1c8b592e34 define module groups externally 2015-09-30 15:14:54 -04:00
Sam Hatchett 41c47bcc09 support dox in Xcode build 2015-09-30 15:14:40 -04:00
Sam Hatchett dd1f7be261 predefine DLLEXPORT to remove from docs 2015-09-29 17:21:41 -04:00
Sam Hatchett ebbe8e84e7 documenting some functions 2015-09-29 17:21:23 -04:00
Sam Hatchett 09cc193e73 grouping functions into modules and demonstrating fenced code documentation 2015-09-28 09:44:58 -04:00
Sam Hatchett 295f6f6f8b link to main header in main page 2015-09-23 16:22:34 -04:00
Sam Hatchett f6d3d08030 trying doxygen markup and config 2015-09-23 16:17:27 -04:00
Sam Hatchett c4abd61b1f cleans up the AUTHORS file generation script and mailmap
fixes #28
2015-09-16 16:07:03 -04:00
Sam Hatchett b62f179e96 more build file targets related to float-precision builds, and comments about the use of that define 2015-09-15 11:42:07 -04:00
Sam Hatchett 7dfd7f748d fixes mac compilation, adds sample networks and debug schema 2015-09-15 10:46:37 -04:00
Sam Hatchett cb8dc35cae fixes version numbering 2015-09-15 10:46:18 -04:00
Sam Hatchett 7336d7a69d resolve git conflict 2015-09-15 10:46:06 -04:00
Sam Hatchett c9839c0eb3 adding authors listing tool and initial AUTHORS file 2015-09-15 10:45:51 -04:00
Sam Hatchett 72a9ce3026 Merge branch 'patch-2-0-13' into dev-2.1 2015-09-15 10:33:50 -04:00
Sam Hatchett 3c8d8d7211 free allocated char* for hash table entry key 2015-09-15 10:33:20 -04:00
Sam Hatchett 3f2e9eebfe Merge branch 'hash-string-copy-fix' into dev-2.1 2015-09-15 10:30:40 -04:00
Sam Hatchett 79d215732c Merge branch 'coordinates-getter' into dev-2.1
Conflicts resolved in :
	build/Linux/Makefile
	build/Linux/Makefile_Rev
	build/Xcode/epanet.xcodeproj/project.pbxproj
	include/epanet2.h
2015-09-15 10:29:27 -04:00
Sam Hatchett 3fde235ab7 fixing string copy action for hash table insertion 2015-09-15 10:12:07 -04:00
Sam Hatchett 13f5741310 moving Xcode build files 2015-09-15 10:02:00 -04:00
Sam Hatchett 4248947f3a Merge pull request #20 from willfurnass/patch-2-0-13-building_on_linux
Building on Linux: #define DLL_EXPORT as the empty string and link to libm
2015-07-31 15:04:04 -04:00
Sam Hatchett 350d32c1ef Merge pull request #19 from willfurnass/add_missing_def_to_toolkit_h
Add EN_LINKPATTERN to epanet2.h as hotfix to master
2015-07-31 14:44:21 -04:00
Sam Hatchett 23865315aa removing utility code from library source
main function should only be in standalone app. also removing inline
defs for compile-time directives
2015-06-12 11:22:04 -04:00
Sam Hatchett 263e9eb303 fix compilation defs 2015-06-12 10:35:57 -04:00
Sam Hatchett c9e1746a82 moves example networks 2015-06-12 10:35:12 -04:00
Sam Hatchett 16edcea410 fix duplicate symbols 2015-06-12 10:35:02 -04:00
Sam Hatchett 38bb3a57e0 remove old files 2015-06-12 10:34:50 -04:00
Sam Hatchett bee95a6ee2 c89 conformance 2015-06-12 10:34:40 -04:00
Sam Hatchett dfe879af19 standalone utility 2015-06-12 10:34:25 -04:00
Sam Hatchett 33edb5ba57 cmake 2015-06-12 10:34:12 -04:00
Sam Hatchett 2d064c60ec build files 2015-06-12 10:34:06 -04:00
Sam Hatchett 87a8aaaef8 better gitignore file 2015-06-12 10:06:29 -04:00
Sam Hatchett 2563ae62c6 Merge remote-tracking branch 'origin/owa_next'
# Conflicts:
#	build/Linux/Makefile
#	build/Linux/Makefile_Rev
#	src/epanet.c
#	src/output.c
#	src/toolkit.h
2015-06-09 13:34:13 -04:00
Sam Hatchett ee65efefc1 Update README.md 2015-06-09 13:25:00 -04:00
Sam Hatchett e2bf89b37f linking to the category 2015-06-08 16:53:42 -04:00
Sam Hatchett b52767fc0b Update README.md 2015-06-08 11:26:18 -04:00
Sam Hatchett 338f3b8e90 Update README.md 2015-06-04 15:02:53 -04:00
Sam Hatchett 7a534adf40 Update README.md 2015-06-04 15:01:42 -04:00
Sam Hatchett 265afcb01e Merge pull request #7 from OpenWaterAnalytics/elad_vb_mods
Elad vb mods
2015-05-27 16:46:57 -04:00
Sam Hatchett e732508b56 Merge pull request #5 from Mariosmsk/patch-1
Added missing ENgettimeparam EN_RULESTEP
2015-05-13 12:11:06 -04:00
Sam Hatchett eae1c95873 Merge pull request #16 from samhatchett/next
Next
2014-04-12 21:35:43 -04:00