diff --git a/build/Xcode/epanet/epanet.xcodeproj/sam.mode1v3 b/build/Xcode/epanet/epanet.xcodeproj/sam.mode1v3 index 9ebf88e..06aa7dd 100644 --- a/build/Xcode/epanet/epanet.xcodeproj/sam.mode1v3 +++ b/build/Xcode/epanet/epanet.xcodeproj/sam.mode1v3 @@ -266,6 +266,8 @@ PBXSmartGroupTreeModuleOutlineStateExpansionKey 08FB7794FE84155DC02AAC07 + 22322FA8106836A000641384 + 08FB7795FE84155DC02AAC07 1C37FBAC04509CD000000102 1C37FAAC04509CD000000102 1C37FABC05509CD000000102 @@ -273,12 +275,13 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 6 + 25 4 + 0 PBXSmartGroupTreeModuleOutlineStateVisibleRectKey - {{0, 0}, {186, 572}} + {{0, 0}, {186, 809}} PBXTopSmartGroupGIDs @@ -290,14 +293,14 @@ GeometryConfiguration Frame - {{0, 0}, {203, 590}} + {{0, 0}, {203, 827}} GroupTreeTableConfiguration MainColumn 186 RubberWindowFrame - 250 115 946 631 0 0 1280 778 + 10 102 1241 868 0 0 1280 1002 Module PBXSmartGroupTreeModule @@ -315,7 +318,7 @@ PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel - text.h + vars.h PBXSplitModuleInNavigatorKey Split0 @@ -323,17 +326,40 @@ PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel - text.h + vars.h _historyCapacity 0 bookmark - 2232300F10683CF100641384 + 22F948F711D1071600B08E7D history - 22322FBF106837F600641384 - 22322FC0106837F600641384 - 22322FC1106837F600641384 - 22322FF710683C8E00641384 + 22D84C7E106845A4006D3DEE + 22CA5CC610977F26002D87B6 + 2288D7DF112E28D600D8B4B4 + 222BA1391180BE890071A4C7 + 222BA13B1180BE890071A4C7 + 22B1773E1199DED400A8EEC2 + 2270671A119B4A0C00BA4EF4 + 2270671C119B4A0C00BA4EF4 + 2211345511C189B0006B6918 + 223C3E2511C42F5800F60805 + 223C3E2711C42F5800F60805 + 223C3E2A11C42F5800F60805 + 223C3E2E11C42F5800F60805 + 226EC74811C6739B004BCBE1 + 226EC80A11C6E506004BCBE1 + 226EC80B11C6E506004BCBE1 + 226EC80C11C6E506004BCBE1 + 222BA21211C81765009CF8E3 + 222BA21311C81765009CF8E3 + 222BA21411C81765009CF8E3 + 222BA21611C81765009CF8E3 + 22E3206311CA77B3008E8CBD + 2299285511CFCEB10055BF95 + 2299285611CFCEB10055BF95 + 2299285711CFCEB10055BF95 + 2299285811CFCEB10055BF95 + 2299285911CFCEB10055BF95 SplitCount @@ -345,14 +371,14 @@ GeometryConfiguration Frame - {{0, 0}, {738, 391}} + {{0, 0}, {1033, 730}} RubberWindowFrame - 250 115 946 631 0 0 1280 778 + 10 102 1241 868 0 0 1280 1002 Module PBXNavigatorGroup Proportion - 391pt + 730pt ContentConfiguration @@ -365,18 +391,18 @@ GeometryConfiguration Frame - {{0, 396}, {738, 194}} + {{0, 735}, {1033, 92}} RubberWindowFrame - 250 115 946 631 0 0 1280 778 + 10 102 1241 868 0 0 1280 1002 Module XCDetailModule Proportion - 194pt + 92pt Proportion - 738pt + 1033pt Name @@ -391,9 +417,9 @@ TableOfContents - 2232300310683CAF00641384 + 22F948F811D1071600B08E7D 1CE0B1FE06471DED0097A5F4 - 2232300410683CAF00641384 + 22F948F911D1071600B08E7D 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -531,15 +557,11 @@ 5 WindowOrderList - 2232300D10683CAF00641384 - 2232300E10683CAF00641384 22322F6E1068349B00641384 /Users/sam/Documents/School/ENGCVS/EPANET/BASE/trunk/build/Xcode/epanet/epanet.xcodeproj - 1CD10A99069EF8BA00B06720 - 1C78EAAD065D492600B07095 WindowString - 250 115 946 631 0 0 1280 778 + 10 102 1241 868 0 0 1280 1002 WindowToolsV3 @@ -569,7 +591,7 @@ Frame {{0, 0}, {792, 306}} RubberWindowFrame - 265 112 792 588 0 0 1280 778 + 266 654 792 588 0 0 1280 1002 Module PBXNavigatorGroup @@ -593,7 +615,7 @@ Frame {{0, 311}, {792, 236}} RubberWindowFrame - 265 112 792 588 0 0 1280 778 + 266 654 792 588 0 0 1280 1002 Module PBXBuildResultsModule @@ -616,7 +638,7 @@ TableOfContents 22322F6E1068349B00641384 - 2232300510683CAF00641384 + 22F948FA11D1071600B08E7D 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -625,7 +647,7 @@ WindowContentMinSize 486 300 WindowString - 265 112 792 588 0 0 1280 778 + 266 654 792 588 0 0 1280 1002 WindowToolGUID 22322F6E1068349B00641384 WindowToolIsVisible @@ -738,13 +760,13 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 2232300610683CAF00641384 + 22DBCD8111A1DB99009F85D6 1C162984064C10D400B95A72 - 2232300710683CAF00641384 - 2232300810683CAF00641384 - 2232300910683CAF00641384 - 2232300A10683CAF00641384 - 2232300B10683CAF00641384 + 22DBCD8211A1DB99009F85D6 + 22DBCD8311A1DB99009F85D6 + 22DBCD8411A1DB99009F85D6 + 22DBCD8511A1DB99009F85D6 + 22DBCD8611A1DB99009F85D6 ToolbarConfiguration xcode.toolbar.config.debugV3 @@ -753,11 +775,15 @@ WindowToolGUID 1CD10A99069EF8BA00B06720 WindowToolIsVisible - + + FirstTimeWindowDisplayed + Identifier windowTool.find + IsVertical + Layout @@ -767,44 +793,34 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 1CDD528C0622207200134675 PBXProjectModuleLabel - <No Editor> - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 1CD0528D0623707200166675 - - SplitCount - 1 - + smatrix.c StatusBarVisibility - 1 + GeometryConfiguration Frame - {{0, 0}, {781, 167}} + {{0, 0}, {1112, 493}} RubberWindowFrame - 62 385 781 470 0 0 1440 878 + 122 224 1112 778 0 0 1280 1002 Module PBXNavigatorGroup Proportion - 781pt + 1112pt Proportion - 50% + 493pt - BecomeActive - 1 ContentConfiguration PBXProjectModuleGUID @@ -815,18 +831,18 @@ GeometryConfiguration Frame - {{8, 0}, {773, 254}} + {{0, 498}, {1112, 239}} RubberWindowFrame - 62 385 781 470 0 0 1440 878 + 122 224 1112 778 0 0 1280 1002 Module PBXProjectFindModule Proportion - 50% + 239pt Proportion - 428pt + 737pt Name @@ -836,23 +852,21 @@ PBXProjectFindModule StatusbarIsVisible - 1 + TableOfContents 1C530D57069F1CE1000CFCEE - 1C530D58069F1CE1000CFCEE - 1C530D59069F1CE1000CFCEE + 22E3205E11CA762B008E8CBD + 22E3205F11CA762B008E8CBD 1CDD528C0622207200134675 - 1C530D5A069F1CE1000CFCEE - 1CE0B1FE06471DED0097A5F4 1CD0528E0623707200166675 WindowString - 62 385 781 470 0 0 1440 878 + 122 224 1112 778 0 0 1280 1002 WindowToolGUID 1C530D57069F1CE1000CFCEE WindowToolIsVisible - 0 + Identifier @@ -908,7 +922,7 @@ TableOfContents 1C78EAAD065D492600B07095 - 2232300C10683CAF00641384 + 22DBCD7E11A1DB8C009F85D6 1C78EAAC065D492600B07095 ToolbarConfiguration @@ -918,7 +932,7 @@ WindowToolGUID 1C78EAAD065D492600B07095 WindowToolIsVisible - + Identifier diff --git a/build/Xcode/epanet/epanet.xcodeproj/sam.pbxuser b/build/Xcode/epanet/epanet.xcodeproj/sam.pbxuser index c0f3458..35de73c 100644 --- a/build/Xcode/epanet/epanet.xcodeproj/sam.pbxuser +++ b/build/Xcode/epanet/epanet.xcodeproj/sam.pbxuser @@ -1,12 +1,15 @@ // !$*UTF8*$! { 08FB7793FE84155DC02AAC07 /* Project object */ = { + activeArchitecturePreference = x86_64; activeBuildConfigurationName = Debug; activeExecutable = 22322F67106833BB00641384 /* runepanet */; - activeTarget = 22322F65106833BB00641384 /* runepanet */; + activeTarget = D2AAC0620554660B00DB518D /* epanet */; addToTargets = ( D2AAC0620554660B00DB518D /* epanet */, ); + breakpoints = ( + ); codeSenseManager = 22322F62106833AB00641384 /* Code sense */; executables = ( 22322F67106833BB00641384 /* runepanet */, @@ -31,7 +34,7 @@ PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 499, + 794, 20, 48, 43, @@ -48,12 +51,36 @@ PBXFileDataSource_Target_ColumnID, ); }; + PBXConfiguration.PBXFileTableDataSource3.XCSCMDataSource = { + PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; + PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; + PBXFileTableDataSourceColumnWidthsKey = ( + 20, + 20, + 475, + 20, + 48, + 43, + 43, + 20, + ); + PBXFileTableDataSourceColumnsKey = ( + PBXFileDataSource_SCM_ColumnID, + PBXFileDataSource_FiletypeID, + PBXFileDataSource_Filename_ColumnID, + PBXFileDataSource_Built_ColumnID, + PBXFileDataSource_ObjectSize_ColumnID, + PBXFileDataSource_Errors_ColumnID, + PBXFileDataSource_Warnings_ColumnID, + PBXFileDataSource_Target_ColumnID, + ); + }; PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, - 459, + 736, 60, 20, 48, @@ -70,15 +97,38 @@ PBXFileDataSource_Warnings_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 275266721; - PBXWorkspaceStateSaveDate = 275266721; + PBXPerProjectTemplateStateSaveDate = 298910365; + PBXWorkspaceStateSaveDate = 298910365; }; perUserProjectItems = { - 22322FBF106837F600641384 /* PBXTextBookmark */ = 22322FBF106837F600641384 /* PBXTextBookmark */; - 22322FC0106837F600641384 /* PBXTextBookmark */ = 22322FC0106837F600641384 /* PBXTextBookmark */; - 22322FC1106837F600641384 /* PBXTextBookmark */ = 22322FC1106837F600641384 /* PBXTextBookmark */; - 22322FF710683C8E00641384 /* PBXTextBookmark */ = 22322FF710683C8E00641384 /* PBXTextBookmark */; - 2232300F10683CF100641384 /* PBXTextBookmark */ = 2232300F10683CF100641384 /* PBXTextBookmark */; + 2211345511C189B0006B6918 /* PBXTextBookmark */ = 2211345511C189B0006B6918 /* PBXTextBookmark */; + 222BA1391180BE890071A4C7 /* PBXTextBookmark */ = 222BA1391180BE890071A4C7 /* PBXTextBookmark */; + 222BA13B1180BE890071A4C7 /* PBXTextBookmark */ = 222BA13B1180BE890071A4C7 /* PBXTextBookmark */; + 222BA21211C81765009CF8E3 /* PBXTextBookmark */ = 222BA21211C81765009CF8E3 /* PBXTextBookmark */; + 222BA21311C81765009CF8E3 /* PBXTextBookmark */ = 222BA21311C81765009CF8E3 /* PBXTextBookmark */; + 222BA21411C81765009CF8E3 /* PBXTextBookmark */ = 222BA21411C81765009CF8E3 /* PBXTextBookmark */; + 222BA21611C81765009CF8E3 /* PBXTextBookmark */ = 222BA21611C81765009CF8E3 /* PBXTextBookmark */; + 223C3E2511C42F5800F60805 /* PBXTextBookmark */ = 223C3E2511C42F5800F60805 /* PBXTextBookmark */; + 223C3E2711C42F5800F60805 /* PBXTextBookmark */ = 223C3E2711C42F5800F60805 /* PBXTextBookmark */; + 223C3E2A11C42F5800F60805 /* PBXTextBookmark */ = 223C3E2A11C42F5800F60805 /* PBXTextBookmark */; + 223C3E2E11C42F5800F60805 /* PBXTextBookmark */ = 223C3E2E11C42F5800F60805 /* PBXTextBookmark */; + 226EC74811C6739B004BCBE1 /* PBXTextBookmark */ = 226EC74811C6739B004BCBE1 /* PBXTextBookmark */; + 226EC80A11C6E506004BCBE1 /* PBXTextBookmark */ = 226EC80A11C6E506004BCBE1 /* PBXTextBookmark */; + 226EC80B11C6E506004BCBE1 /* PBXTextBookmark */ = 226EC80B11C6E506004BCBE1 /* PBXTextBookmark */; + 226EC80C11C6E506004BCBE1 /* PBXTextBookmark */ = 226EC80C11C6E506004BCBE1 /* PBXTextBookmark */; + 2270671A119B4A0C00BA4EF4 /* PBXTextBookmark */ = 2270671A119B4A0C00BA4EF4 /* PBXTextBookmark */; + 2270671C119B4A0C00BA4EF4 /* PBXTextBookmark */ = 2270671C119B4A0C00BA4EF4 /* PBXTextBookmark */; + 2288D7DF112E28D600D8B4B4 /* PBXTextBookmark */ = 2288D7DF112E28D600D8B4B4 /* PBXTextBookmark */; + 2299285511CFCEB10055BF95 /* PBXTextBookmark */ = 2299285511CFCEB10055BF95 /* PBXTextBookmark */; + 2299285611CFCEB10055BF95 /* PBXTextBookmark */ = 2299285611CFCEB10055BF95 /* PBXTextBookmark */; + 2299285711CFCEB10055BF95 /* PBXTextBookmark */ = 2299285711CFCEB10055BF95 /* PBXTextBookmark */; + 2299285811CFCEB10055BF95 /* PBXTextBookmark */ = 2299285811CFCEB10055BF95 /* PBXTextBookmark */; + 2299285911CFCEB10055BF95 /* PBXTextBookmark */ = 2299285911CFCEB10055BF95 /* PBXTextBookmark */; + 22B1773E1199DED400A8EEC2 /* PBXTextBookmark */ = 22B1773E1199DED400A8EEC2 /* PBXTextBookmark */; + 22CA5CC610977F26002D87B6 /* PBXTextBookmark */ = 22CA5CC610977F26002D87B6 /* PBXTextBookmark */; + 22D84C7E106845A4006D3DEE /* PBXTextBookmark */ = 22D84C7E106845A4006D3DEE /* PBXTextBookmark */; + 22E3206311CA77B3008E8CBD /* PBXTextBookmark */ = 22E3206311CA77B3008E8CBD /* PBXTextBookmark */; + 22F948F711D1071600B08E7D /* PBXTextBookmark */ = 22F948F711D1071600B08E7D /* PBXTextBookmark */; }; sourceControlManager = 22322F61106833AB00641384 /* Source Control */; userBuildSettings = { @@ -86,13 +136,90 @@ SYMROOT = ./; }; }; + 2211345511C189B0006B6918 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F761068369500641384 /* inpfile.c */; + name = "inpfile.c: 68"; + rLen = 7; + rLoc = 2196; + rType = 0; + vrLen = 1107; + vrLoc = 1498; + }; + 222BA1391180BE890071A4C7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F741068369500641384 /* hash.h */; + name = "hash.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 399; + vrLoc = 0; + }; + 222BA13B1180BE890071A4C7 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F7B1068369500641384 /* mempool.h */; + name = "mempool.h: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 430; + vrLoc = 0; + }; + 222BA21211C81765009CF8E3 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F791068369500641384 /* input3.c */; + name = "input3.c: 106"; + rLen = 4; + rLoc = 2779; + rType = 0; + vrLen = 1300; + vrLoc = 2147; + }; + 222BA21311C81765009CF8E3 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F7A1068369500641384 /* mempool.c */; + name = "mempool.c: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1096; + vrLoc = 0; + }; + 222BA21411C81765009CF8E3 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F801068369500641384 /* smatrix.c */; + name = "smatrix.c: 611"; + rLen = 0; + rLoc = 21459; + rType = 0; + vrLen = 1842; + vrLoc = 0; + }; + 222BA21611C81765009CF8E3 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 222BA21711C81765009CF8E3 /* _string.h */; + name = "_string.h: 72"; + rLen = 37; + rLoc = 2275; + rType = 0; + vrLen = 1280; + vrLoc = 1720; + }; + 222BA21711C81765009CF8E3 /* _string.h */ = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.c.h; + name = _string.h; + path = /Developer/SDKs/MacOSX10.6.sdk/usr/include/secure/_string.h; + sourceTree = ""; + }; 22322F61106833AB00641384 /* Source Control */ = { isa = PBXSourceControlManager; fallbackIsa = XCSourceControlManager; isSCMEnabled = 0; scmConfiguration = { repositoryNamesForRoots = { - "" = ""; + ../../.. = EPANET; }; }; }; @@ -117,7 +244,7 @@ output.txt, ); autoAttachOnCrash = 1; - breakpointsEnabled = 0; + breakpointsEnabled = 1; configStateDict = { }; customDataFormattersEnabled = 1; @@ -140,45 +267,289 @@ sourceDirectories = ( ); }; + 22322F701068369500641384 /* enumstxt.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {995, 2040}}"; + sepNavSelRange = "{3567, 0}"; + sepNavVisRange = "{0, 1397}"; + }; + }; 22322F711068369500641384 /* epanet.c */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {677, 41093}}"; - sepNavSelRange = "{4518, 0}"; - sepNavVisRange = "{4146, 744}"; + sepNavIntBoundsRect = "{{0, 0}, {972, 47730}}"; + sepNavSelRange = "{15379, 7}"; + sepNavVisRange = "{14683, 1414}"; + }; + }; + 22322F721068369500641384 /* funcs.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {995, 4275}}"; + sepNavSelRange = "{872, 0}"; + sepNavVisRange = "{5560, 2692}"; + }; + }; + 22322F731068369500641384 /* hash.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1051, 1575}}"; + sepNavSelRange = "{1537, 0}"; + sepNavVisRange = "{642, 897}"; + }; + }; + 22322F741068369500641384 /* hash.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {938, 572}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 399}"; + }; + }; + 22322F751068369500641384 /* hydraul.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {972, 37245}}"; + sepNavSelRange = "{4586, 0}"; + sepNavVisRange = "{5973, 1560}"; + }; + }; + 22322F761068369500641384 /* inpfile.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1051, 8640}}"; + sepNavSelRange = "{15692, 9}"; + sepNavVisRange = "{15087, 1806}"; + }; + }; + 22322F771068369500641384 /* input1.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1051, 9615}}"; + sepNavSelRange = "{18142, 0}"; + sepNavVisRange = "{17691, 1069}"; + }; + }; + 22322F781068369500641384 /* input2.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {995, 14790}}"; + sepNavSelRange = "{23238, 0}"; + sepNavVisRange = "{22319, 1198}"; + }; + }; + 22322F791068369500641384 /* input3.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {995, 27885}}"; + sepNavSelRange = "{2779, 4}"; + sepNavVisRange = "{2147, 1300}"; + sepNavWindowFrame = "{{-1265, 18}, {1132, 777}}"; + }; + }; + 22322F7A1068369500641384 /* mempool.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {995, 2940}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 1096}"; + }; + }; + 22322F7B1068369500641384 /* mempool.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {938, 572}}"; + sepNavSelRange = "{0, 0}"; + sepNavVisRange = "{0, 430}"; + }; + }; + 22322F7C1068369500641384 /* output.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1051, 10560}}"; + sepNavSelRange = "{8225, 4}"; + sepNavVisRange = "{7697, 1013}"; + }; + }; + 22322F7D1068369500641384 /* quality.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1051, 24450}}"; + sepNavSelRange = "{11965, 5}"; + sepNavVisRange = "{11499, 566}"; + }; + }; + 22322F7E1068369500641384 /* report.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {995, 18405}}"; + sepNavSelRange = "{5967, 0}"; + sepNavVisRange = "{5202, 970}"; + }; + }; + 22322F7F1068369500641384 /* rules.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {995, 14370}}"; + sepNavSelRange = "{23361, 0}"; + sepNavVisRange = "{24196, 785}"; + }; + }; + 22322F801068369500641384 /* smatrix.c */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {1051, 11130}}"; + sepNavSelRange = "{20601, 0}"; + sepNavVisRange = "{23146, 875}"; }; }; 22322F811068369500641384 /* text.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {677, 7241}}"; - sepNavSelRange = "{4559, 0}"; - sepNavVisRange = "{4292, 735}"; + sepNavIntBoundsRect = "{{0, 0}, {995, 8640}}"; + sepNavSelRange = "{6274, 0}"; + sepNavVisRange = "{5427, 1242}"; + }; + }; + 22322F821068369500641384 /* toolkit.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {972, 3435}}"; + sepNavSelRange = "{3752, 0}"; + sepNavVisRange = "{5086, 1781}"; + }; + }; + 22322F831068369500641384 /* types.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {995, 7005}}"; + sepNavSelRange = "{2790, 6}"; + sepNavVisRange = "{1413, 1592}"; + }; + }; + 22322F841068369500641384 /* vars.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {972, 2985}}"; + sepNavSelRange = "{12342, 0}"; + sepNavVisRange = "{10638, 2670}"; }; }; 22322FA9106836B000641384 /* epanet2.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {519, 3068}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 398}"; + sepNavIntBoundsRect = "{{0, 0}, {972, 3600}}"; + sepNavSelRange = "{1888, 0}"; + sepNavVisRange = "{215, 1260}"; }; }; 22322FAD106836D900641384 /* malloc.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {519, 245}}"; + sepNavIntBoundsRect = "{{0, 0}, {972, 700}}"; sepNavSelRange = "{156, 0}"; sepNavVisRange = "{0, 156}"; }; }; - 22322FBF106837F600641384 /* PBXTextBookmark */ = { + 223C3E2511C42F5800F60805 /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 22322FA9106836B000641384 /* epanet2.h */; - name = "epanet2.h: 1"; + fRef = 22322F7F1068369500641384 /* rules.c */; + name = "rules.c: 815"; + rLen = 0; + rLoc = 23361; + rType = 0; + vrLen = 785; + vrLoc = 24196; + }; + 223C3E2711C42F5800F60805 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F811068369500641384 /* text.h */; + name = "text.h: 214"; + rLen = 0; + rLoc = 6274; + rType = 0; + vrLen = 1242; + vrLoc = 5427; + }; + 223C3E2A11C42F5800F60805 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F7E1068369500641384 /* report.c */; + name = "report.c: 191"; + rLen = 0; + rLoc = 5967; + rType = 0; + vrLen = 970; + vrLoc = 5202; + }; + 223C3E2E11C42F5800F60805 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F701068369500641384 /* enumstxt.h */; + name = "enumstxt.h: 107"; + rLen = 0; + rLoc = 3567; + rType = 0; + vrLen = 1397; + vrLoc = 0; + }; + 226EC74811C6739B004BCBE1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F721068369500641384 /* funcs.h */; + name = "funcs.h: 22"; + rLen = 0; + rLoc = 872; + rType = 0; + vrLen = 2692; + vrLoc = 5560; + }; + 226EC80A11C6E506004BCBE1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F831068369500641384 /* types.h */; + name = "types.h: 70"; + rLen = 6; + rLoc = 2790; + rType = 0; + vrLen = 1592; + vrLoc = 1413; + }; + 226EC80B11C6E506004BCBE1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F771068369500641384 /* input1.c */; + name = "input1.c: 331"; + rLen = 0; + rLoc = 12979; + rType = 0; + vrLen = 1036; + vrLoc = 12535; + }; + 226EC80C11C6E506004BCBE1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F781068369500641384 /* input2.c */; + name = "input2.c: 786"; + rLen = 0; + rLoc = 23238; + rType = 0; + vrLen = 1198; + vrLoc = 22319; + }; + 2270671A119B4A0C00BA4EF4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F731068369500641384 /* hash.c */; + name = "hash.c: 1"; rLen = 0; rLoc = 0; rType = 0; - vrLen = 398; + vrLen = 1200; vrLoc = 0; }; - 22322FC0106837F600641384 /* PBXTextBookmark */ = { + 2270671C119B4A0C00BA4EF4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F7C1068369500641384 /* output.c */; + name = "output.c: 347"; + rLen = 0; + rLoc = 12203; + rType = 0; + vrLen = 1509; + vrLoc = 11269; + }; + 2288D7DF112E28D600D8B4B4 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F7D1068369500641384 /* quality.c */; + name = "quality.c: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 1836; + vrLoc = 0; + }; + 2299285511CFCEB10055BF95 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F751068369500641384 /* hydraul.c */; + name = "hydraul.c: 132"; + rLen = 0; + rLoc = 4586; + rType = 0; + vrLen = 1560; + vrLoc = 5973; + }; + 2299285611CFCEB10055BF95 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 22322FAD106836D900641384 /* malloc.h */; name = "malloc.h: 10"; @@ -188,35 +559,106 @@ vrLen = 156; vrLoc = 0; }; - 22322FC1106837F600641384 /* PBXTextBookmark */ = { + 2299285711CFCEB10055BF95 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322FA9106836B000641384 /* epanet2.h */; + name = "epanet2.h: 74"; + rLen = 0; + rLoc = 1888; + rType = 0; + vrLen = 1260; + vrLoc = 215; + }; + 2299285811CFCEB10055BF95 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F821068369500641384 /* toolkit.h */; + name = "toolkit.h: 138"; + rLen = 0; + rLoc = 3752; + rType = 0; + vrLen = 1781; + vrLoc = 5086; + }; + 2299285911CFCEB10055BF95 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22322F841068369500641384 /* vars.h */; + name = "vars.h: 179"; + rLen = 0; + rLoc = 12342; + rType = 0; + vrLen = 2595; + vrLoc = 10713; + }; + 22B1773E1199DED400A8EEC2 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22B1773F1199DED400A8EEC2 /* example1.cpp */; + name = "example1.cpp: 60"; + rLen = 0; + rLoc = 1769; + rType = 0; + vrLen = 1478; + vrLoc = 0; + }; + 22B1773F1199DED400A8EEC2 /* example1.cpp */ = { + isa = PBXFileReference; + lastKnownFileType = sourcecode.cpp.cpp; + name = example1.cpp; + path = /Users/sam/Downloads/v1.00beta/example1.cpp; + sourceTree = ""; + }; + 22CA5CC610977F26002D87B6 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22D84C86106845FF006D3DEE /* project.pbxproj */; + name = "project.pbxproj: 416"; + rLen = 0; + rLoc = 21302; + rType = 0; + vrLen = 1814; + vrLoc = 0; + }; + 22D84C7E106845A4006D3DEE /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 22D84C7F106845A4006D3DEE /* sam.pbxuser */; + name = "sam.pbxuser: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 909; + vrLoc = 0; + }; + 22D84C7F106845A4006D3DEE /* sam.pbxuser */ = { + isa = PBXFileReference; + lastKnownFileType = text; + name = sam.pbxuser; + path = /Users/sam/Documents/School/ENGCVS/EPANET/BASE/trunk/build/Xcode/epanet/epanet.xcodeproj/sam.pbxuser; + sourceTree = ""; + }; + 22D84C86106845FF006D3DEE /* project.pbxproj */ = { + isa = PBXFileReference; + lastKnownFileType = text.pbxproject; + name = project.pbxproj; + path = /Users/sam/Documents/School/ENGCVS/EPANET/BASE/trunk/build/Xcode/epanet/epanet.xcodeproj/project.pbxproj; + sourceTree = ""; + }; + 22E3206311CA77B3008E8CBD /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 22322F711068369500641384 /* epanet.c */; - name = "epanet.c: 135"; - rLen = 0; - rLoc = 4518; + name = "epanet.c: 500"; + rLen = 7; + rLoc = 15379; rType = 0; - vrLen = 744; - vrLoc = 4146; + vrLen = 1414; + vrLoc = 14683; }; - 22322FF710683C8E00641384 /* PBXTextBookmark */ = { + 22F948F711D1071600B08E7D /* PBXTextBookmark */ = { isa = PBXTextBookmark; - fRef = 22322F811068369500641384 /* text.h */; - name = "text.h: 157"; + fRef = 22322F841068369500641384 /* vars.h */; + name = "vars.h: 179"; rLen = 0; - rLoc = 4559; + rLoc = 12342; rType = 0; - vrLen = 771; - vrLoc = 4354; - }; - 2232300F10683CF100641384 /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 22322F811068369500641384 /* text.h */; - name = "text.h: 157"; - rLen = 0; - rLoc = 4559; - rType = 0; - vrLen = 735; - vrLoc = 4292; + vrLen = 2670; + vrLoc = 10638; }; D2AAC0620554660B00DB518D /* epanet */ = { activeExec = 0; diff --git a/include/epanet2.h b/include/epanet2.h index 4cbb348..c22c856 100755 --- a/include/epanet2.h +++ b/include/epanet2.h @@ -1,10 +1,10 @@ /* -** EPANET2.H -** -** C/C++ header file for EPANET Programmers Toolkit -** -** Last updated on 2/14/08 (2.00.12) -*/ + ** EPANET2.H + ** + ** C/C++ header file for EPANET Programmers Toolkit + ** + ** Last updated on 2/14/08 (2.00.12) + */ #ifndef EPANET2_H #define EPANET2_H @@ -37,6 +37,8 @@ #define EN_MIXFRACTION 22 #define EN_TANK_KBULK 23 +#define EN_TANKVOLUME 24 /* SH added 4.2010 */ + #define EN_DIAMETER 0 /* Link parameters */ #define EN_LENGTH 1 #define EN_ROUGHNESS 2 @@ -62,6 +64,8 @@ #define EN_RULESTEP 7 #define EN_STATISTIC 8 #define EN_PERIODS 9 +#define EN_HTIME 10 +#define EN_HALTFLAG 11 /* sh 4.2010 */ #define EN_NODECOUNT 0 /* Component counts */ #define EN_TANKCOUNT 1 @@ -136,94 +140,94 @@ #undef WINDOWS #ifdef _WIN32 - #define WINDOWS +#define WINDOWS #endif #ifdef __WIN32__ - #define WINDOWS +#define WINDOWS #endif // --- define DLLEXPORT #ifdef WINDOWS - #ifdef __cplusplus - #define DLLEXPORT extern "C" __declspec(dllexport) __stdcall - #else - #define DLLEXPORT __declspec(dllexport) __stdcall - #endif +#ifdef __cplusplus +#define DLLEXPORT extern "C" __declspec(dllexport) __stdcall #else - #ifdef __cplusplus - #define DLLEXPORT extern "C" - #else - #define DLLEXPORT - #endif +#define DLLEXPORT __declspec(dllexport) __stdcall +#endif +#else +#ifdef __cplusplus +#define DLLEXPORT extern "C" +#else +#define DLLEXPORT +#endif #endif // --- declare the EPANET toolkit functions - int DLLEXPORT ENepanet(char *, char *, char *, void (*) (char *)); - int DLLEXPORT ENopen(char *, char *, char *); - int DLLEXPORT ENsaveinpfile(char *); - int DLLEXPORT ENclose(void); +int DLLEXPORT ENepanet(char *, char *, char *, void (*) (char *)); +int DLLEXPORT ENopen(char *, char *, char *); +int DLLEXPORT ENsaveinpfile(char *); +int DLLEXPORT ENclose(void); - int DLLEXPORT ENsolveH(void); - int DLLEXPORT ENsaveH(void); - int DLLEXPORT ENopenH(void); - int DLLEXPORT ENinitH(int); - int DLLEXPORT ENrunH(long *); - int DLLEXPORT ENnextH(long *); - int DLLEXPORT ENcloseH(void); - int DLLEXPORT ENsavehydfile(char *); - int DLLEXPORT ENusehydfile(char *); +int DLLEXPORT ENsolveH(void); +int DLLEXPORT ENsaveH(void); +int DLLEXPORT ENopenH(void); +int DLLEXPORT ENinitH(int); +int DLLEXPORT ENrunH(long *); +int DLLEXPORT ENnextH(long *); +int DLLEXPORT ENcloseH(void); +int DLLEXPORT ENsavehydfile(char *); +int DLLEXPORT ENusehydfile(char *); - int DLLEXPORT ENsolveQ(void); - int DLLEXPORT ENopenQ(void); - int DLLEXPORT ENinitQ(int); - int DLLEXPORT ENrunQ(long *); - int DLLEXPORT ENnextQ(long *); - int DLLEXPORT ENstepQ(long *); - int DLLEXPORT ENcloseQ(void); +int DLLEXPORT ENsolveQ(void); +int DLLEXPORT ENopenQ(void); +int DLLEXPORT ENinitQ(int); +int DLLEXPORT ENrunQ(long *); +int DLLEXPORT ENnextQ(long *); +int DLLEXPORT ENstepQ(long *); +int DLLEXPORT ENcloseQ(void); - int DLLEXPORT ENwriteline(char *); - int DLLEXPORT ENreport(void); - int DLLEXPORT ENresetreport(void); - int DLLEXPORT ENsetreport(char *); +int DLLEXPORT ENwriteline(char *); +int DLLEXPORT ENreport(void); +int DLLEXPORT ENresetreport(void); +int DLLEXPORT ENsetreport(char *); - int DLLEXPORT ENgetcontrol(int, int *, int *, float *, - int *, float *); - int DLLEXPORT ENgetcount(int, int *); - int DLLEXPORT ENgetoption(int, float *); - int DLLEXPORT ENgettimeparam(int, long *); - int DLLEXPORT ENgetflowunits(int *); - int DLLEXPORT ENgetpatternindex(char *, int *); - int DLLEXPORT ENgetpatternid(int, char *); - int DLLEXPORT ENgetpatternlen(int, int *); - int DLLEXPORT ENgetpatternvalue(int, int, float *); - int DLLEXPORT ENgetqualtype(int *, int *); - int DLLEXPORT ENgeterror(int, char *, int); +int DLLEXPORT ENgetcontrol(int, int *, int *, float *, + int *, float *); +int DLLEXPORT ENgetcount(int, int *); +int DLLEXPORT ENgetoption(int, float *); +int DLLEXPORT ENgettimeparam(int, long *); +int DLLEXPORT ENgetflowunits(int *); +int DLLEXPORT ENgetpatternindex(char *, int *); +int DLLEXPORT ENgetpatternid(int, char *); +int DLLEXPORT ENgetpatternlen(int, int *); +int DLLEXPORT ENgetpatternvalue(int, int, double *); +int DLLEXPORT ENgetqualtype(int *, int *); +int DLLEXPORT ENgeterror(int, char *, int); - int DLLEXPORT ENgetnodeindex(char *, int *); - int DLLEXPORT ENgetnodeid(int, char *); - int DLLEXPORT ENgetnodetype(int, int *); - int DLLEXPORT ENgetnodevalue(int, int, float *); +int DLLEXPORT ENgetnodeindex(char *, int *); +int DLLEXPORT ENgetnodeid(int, char *); +int DLLEXPORT ENgetnodetype(int, int *); +int DLLEXPORT ENgetnodevalue(int, int, double *); - int DLLEXPORT ENgetlinkindex(char *, int *); - int DLLEXPORT ENgetlinkid(int, char *); - int DLLEXPORT ENgetlinktype(int, int *); - int DLLEXPORT ENgetlinknodes(int, int *, int *); - int DLLEXPORT ENgetlinkvalue(int, int, float *); +int DLLEXPORT ENgetlinkindex(char *, int *); +int DLLEXPORT ENgetlinkid(int, char *); +int DLLEXPORT ENgetlinktype(int, int *); +int DLLEXPORT ENgetlinknodes(int, int *, int *); +int DLLEXPORT ENgetlinkvalue(int, int, double *); - int DLLEXPORT ENgetversion(int *); +int DLLEXPORT ENgetversion(int *); - int DLLEXPORT ENsetcontrol(int, int, int, float, int, float); - int DLLEXPORT ENsetnodevalue(int, int, float); - int DLLEXPORT ENsetlinkvalue(int, int, float); - int DLLEXPORT ENaddpattern(char *); - int DLLEXPORT ENsetpattern(int, float *, int); - int DLLEXPORT ENsetpatternvalue(int, int, float); - int DLLEXPORT ENsettimeparam(int, long); - int DLLEXPORT ENsetoption(int, float); - int DLLEXPORT ENsetstatusreport(int); - int DLLEXPORT ENsetqualtype(int, char *, char *, char *); +int DLLEXPORT ENsetcontrol(int, int, int, float, int, float); +int DLLEXPORT ENsetnodevalue(int, int, double); +int DLLEXPORT ENsetlinkvalue(int, int, double); +int DLLEXPORT ENaddpattern(char *); +int DLLEXPORT ENsetpattern(int, float *, int); +int DLLEXPORT ENsetpatternvalue(int, int, float); +int DLLEXPORT ENsettimeparam(int, long); +int DLLEXPORT ENsetoption(int, float); +int DLLEXPORT ENsetstatusreport(int); +int DLLEXPORT ENsetqualtype(int, char *, char *, char *); #endif diff --git a/src/epanet.c b/src/epanet.c index b38a5f6..be7a2cb 100755 --- a/src/epanet.c +++ b/src/epanet.c @@ -1074,6 +1074,8 @@ int DLLEXPORT ENgetoption(int code, float *value) break; case EN_DEMANDMULT: v = Dmult; break; + case EN_HALTFLAG: v = checkHaltFlag(); /* sh - 4.2010 */ + break; /* sh - 4.2010 */ default: return(251); } *value = (float)v; @@ -1186,7 +1188,7 @@ int DLLEXPORT ENgetpatternlen(int index, int *len) } -int DLLEXPORT ENgetpatternvalue(int index, int period, float *value) +int DLLEXPORT ENgetpatternvalue(int index, int period, double *value) /*---------------------------------------------------------------- ** Input: index = index of time pattern ** period = pattern time period @@ -1200,7 +1202,7 @@ int DLLEXPORT ENgetpatternvalue(int index, int period, float *value) if (!Openflag) return(102); if (index < 1 || index > Npats) return(205); if (period < 1 || period > Pattern[index].Length) return(251); - *value = (float)Pattern[index].F[period-1]; + *value = Pattern[index].F[period-1]; return(0); } @@ -1314,7 +1316,7 @@ int DLLEXPORT ENgetnodetype(int index, int *code) } -int DLLEXPORT ENgetnodevalue(int index, int code, float *value) +int DLLEXPORT ENgetnodevalue(int index, int code, double *value) /*---------------------------------------------------------------- ** Input: index = node index ** code = node parameter code (see TOOLKIT.H) @@ -1330,6 +1332,15 @@ int DLLEXPORT ENgetnodevalue(int index, int code, float *value) /* Check for valid arguments */ *value = 0.0f; + + // added ability to get system-wide demand // SH added 4.2010 + if (index == 0) { + v = Dsystem; + v *= Ucf[FLOW]; + *value = v; + return(0); + } + if (!Openflag) return(102); if (index <= 0 || index > Nnodes) return(203); @@ -1475,9 +1486,17 @@ int DLLEXPORT ENgetnodevalue(int index, int code, float *value) /*** New parameter additions ends here. ***/ //(2.00.12 - LR) + /*** SH addition: retreive tank volume ***/ + case EN_TANKVOLUME: + if (index <= Njuncs) return(251); + v = Tank[index-Njuncs].V0; + break; + + + default: return(251); } - *value = (float)v; + *value = v; return(0); } @@ -1562,7 +1581,7 @@ int DLLEXPORT ENgetlinknodes(int index, int *node1, int *node2) } -int DLLEXPORT ENgetlinkvalue(int index, int code, float *value) +int DLLEXPORT ENgetlinkvalue(int index, int code, double *value) /*------------------------------------------------------------------ ** Input: index = link index ** code = link parameter code (see TOOLKIT.H) @@ -1696,7 +1715,7 @@ int DLLEXPORT ENgetlinkvalue(int index, int code, float *value) default: return(251); } - *value = (float)v; + *value = v; return(0); } @@ -1797,7 +1816,7 @@ int DLLEXPORT ENsetcontrol(int cindex, int ctype, int lindex, } -int DLLEXPORT ENsetnodevalue(int index, int code, float v) +int DLLEXPORT ENsetnodevalue(int index, int code, double v) /*---------------------------------------------------------------- ** Input: index = node index ** code = node parameter code (see TOOLKIT.H) @@ -1847,11 +1866,22 @@ int DLLEXPORT ENsetnodevalue(int index, int code, float v) j = ROUND(value); if (j < 0 || j > Npats) return(205); if (index <= Njuncs) - { - for (demand = Node[index].D; demand != NULL; demand = demand ->next) - { - if (demand->next == NULL) demand->Pat = j; - } + { + if (j == 0) { // SH 3.2010 + // we are re-setting the pattern assignment if we set pattern index to 0. // SH 3.2010 + demand = Node[index].D; // SH 3.2010 + demand->next = NULL; // SH 3.2010 + demand->Pat = 0; // SH 3.2010 + } // SH 3.2010 + else { // SH 3.2010 + for (demand = Node[index].D; demand != NULL; demand = demand ->next) + { + if (demand->next == NULL) demand->Pat = j; + } + } // SH 3.2010 + + + } else Tank[index-Njuncs].Pat = j; break; @@ -2006,7 +2036,7 @@ int DLLEXPORT ENsetnodevalue(int index, int code, float v) } -int DLLEXPORT ENsetlinkvalue(int index, int code, float v) +int DLLEXPORT ENsetlinkvalue(int index, int code, double v) /*---------------------------------------------------------------- ** Input: index = link index ** code = link parameter code (see TOOLKIT.H) @@ -2252,7 +2282,7 @@ int DLLEXPORT ENsettimeparam(int code, long value) */ { if (!Openflag) return(102); - if (OpenHflag || OpenQflag) return(109); + //if (OpenHflag || OpenQflag) return(109); if (value < 0) return(202); switch(code) { @@ -2289,13 +2319,15 @@ int DLLEXPORT ENsettimeparam(int code, long value) case EN_STATISTIC: if (value > RANGE) return(202); Tstatflag = (char)value; break; + case EN_HTIME: Htime = value; + break; default: return(251); } return(0); } -int DLLEXPORT ENsetoption(int code, float v) +int DLLEXPORT ENsetoption(int code, double v) /*---------------------------------------------------------------- ** Input: code = option code (see TOOLKIT.H) ** v = option value @@ -2332,6 +2364,9 @@ int DLLEXPORT ENsetoption(int code, float v) break; case EN_DEMANDMULT: if (value <= 0.0) return(202); Dmult = value; + break; + case EN_HALTFLAG: if (value < 0.0) return(202); + setHaltFlag((int)value); break; default: return(251); } diff --git a/src/hydraul.c b/src/hydraul.c index de553df..d194f05 100755 --- a/src/hydraul.c +++ b/src/hydraul.c @@ -82,6 +82,13 @@ double RelaxFactor; / /* Function to find flow coeffs. through open/closed valves */ //(2.00.11 - LR) void valvecoeff(int k); //(2.00.11 - LR) +int checkHaltFlag() { + return Haltflag; +} +int setHaltFlag(int value) { + Haltflag = value; + return 0; +} int openhyd() /* @@ -786,7 +793,8 @@ void controltimestep(long *tstep) long t,t1,t2; for (i=1; i<=Ncontrols; i++) - { + { + if (Control[i].Link == 0) continue; t = 0; if ( (n = Control[i].Node) > 0) /* Node control: */ { diff --git a/src/toolkit.h b/src/toolkit.h index da036d7..844d3e2 100755 --- a/src/toolkit.h +++ b/src/toolkit.h @@ -59,6 +59,8 @@ AUTHOR: L. Rossman #define EN_MIXFRACTION 22 #define EN_TANK_KBULK 23 +#define EN_TANKVOLUME 24 /* SH added 4.2010 */ + #define EN_DIAMETER 0 /* Link parameters */ #define EN_LENGTH 1 #define EN_ROUGHNESS 2 @@ -84,6 +86,8 @@ AUTHOR: L. Rossman #define EN_RULESTEP 7 #define EN_STATISTIC 8 #define EN_PERIODS 9 +#define EN_HTIME 10 +#define EN_HALTFLAG 11 /* sh 4.2010 */ #define EN_NODECOUNT 0 /* Component counts */ #define EN_TANKCOUNT 1 @@ -194,31 +198,31 @@ AUTHOR: L. Rossman int DLLEXPORT ENgetpatternindex(char *, int *); int DLLEXPORT ENgetpatternid(int, char *); int DLLEXPORT ENgetpatternlen(int, int *); - int DLLEXPORT ENgetpatternvalue(int, int, float *); + int DLLEXPORT ENgetpatternvalue(int, int, double *); int DLLEXPORT ENgetqualtype(int *, int *); int DLLEXPORT ENgeterror(int, char *, int); int DLLEXPORT ENgetnodeindex(char *, int *); int DLLEXPORT ENgetnodeid(int, char *); int DLLEXPORT ENgetnodetype(int, int *); - int DLLEXPORT ENgetnodevalue(int, int, float *); + int DLLEXPORT ENgetnodevalue(int, int, double *); int DLLEXPORT ENgetlinkindex(char *, int *); int DLLEXPORT ENgetlinkid(int, char *); int DLLEXPORT ENgetlinktype(int, int *); int DLLEXPORT ENgetlinknodes(int, int *, int *); - int DLLEXPORT ENgetlinkvalue(int, int, float *); + int DLLEXPORT ENgetlinkvalue(int, int, double *); int DLLEXPORT ENgetversion(int *); int DLLEXPORT ENsetcontrol(int, int, int, float, int, float); - int DLLEXPORT ENsetnodevalue(int, int, float); - int DLLEXPORT ENsetlinkvalue(int, int, float); + int DLLEXPORT ENsetnodevalue(int, int, double); + int DLLEXPORT ENsetlinkvalue(int, int, double); int DLLEXPORT ENaddpattern(char *); int DLLEXPORT ENsetpattern(int, float *, int); int DLLEXPORT ENsetpatternvalue(int, int, float); int DLLEXPORT ENsettimeparam(int, long); - int DLLEXPORT ENsetoption(int, float); + int DLLEXPORT ENsetoption(int, double); int DLLEXPORT ENsetstatusreport(int); int DLLEXPORT ENsetqualtype(int, char *, char *, char *);