Dear Epanet development team, |
First of all, I'm sorry for sending this message to the group, but I know no other way to contact the development team. And as always, I apologize for eventual attempts to murder the English language.
The attached model represents a sewer pumping system. Units are LPS, so piping diameters are in millimeters and tank's diameters are in meters. As it is easy to notice, pump EEE1 fills in the tank (suction pit - PS-EEE2) for EEE2. EEE2 then pumps the sewer flow to EEE3, that operates with a standing pipe so automation can read the level to speed up/down pump EEE3. EEE3 standing pipe's diameter is 1 meter and works with free surface, exactly like a tank.
As this standing pipe fills in too fast, time steps are set to 1 minute. Simulation runs ok, and the bug manifests between times 0:23 and 0:28 pump EEE1 is ON. So, tank PS-EEE2 should be filling in quickly, around 0.5m per minute. But no change is seen in the tank's level. It repeats a lot. The GUI does not registers the level change, and I'm not sure if the simulator does. The same happens if the time steps are set as low as they can go, I think it is the decimal value 0.0028, and becomes easier to see in the GUI.
As soon as I have some spare time I'll estimate this filling in times to check if this is in the GUI only or in the simulator as well.
Note: The listserv blocked both my .net and .inp attachments. So I've pasted the entire inp file below. I hope it works. If it doesn't, I can send the files if requested.
[TITLE] [JUNCTIONS] ;ID Elev Demand Pattern Q1 0 -41.4 ; 2 960 0 ; 3 960 0 ; 4 960 0 ; 5 0 0 ; Q2 0 -17.37 ; 7 961.44 0 ; 8 96.44 0 ; 9 961.44 0 ; 10 0 0 ; 11 1008.38 0 ; 12 1008.38 0 ; 14 1008.38 0 ; 1 993.4 0 ; 6 993.4 0 ; [RESERVOIRS] ;ID Head Pattern 13 1055.6 ; [TANKS] ;ID Elevation InitLevel MinLevel MaxLevel Diameter MinVol VolCurve PS-EEE1 950.114 1.85 0 3 3.09905 0 ; PS-EEE2 956.15 2.05 0.55 5 3.426 0 ; SP 1008.38 .5 0.19 11.5 1 0 ; [PIPES] ;ID Node1 Node2 Length Diameter Roughness MinorLoss Status 1 PS-EEE1 2 6.7 250 138 7 Open ; 3 3 4 1.5 250 138 5 Open ; 4 4 5 304 250 138 3 Open ; 5 5 1 766 253.2 140 3 Open ; 7 PS-EEE2 7 6.7 250 138 7 Open ; 8 8 9 1.5 250 138 5 Open ; 9 9 10 485 250 138 3 Open ; 10 10 11 340 246.8 140 3 Open ; 11 11 12 10 250 138 2 Open ; 12 12 SP 5 250 138 2 Open ; 13 14 13 337 250 138 3 Open ; 14 Q1 PS-EEE1 1000 500 138 0 Open ; 15 Q2 PS-EEE2 1000 500 138 0 Open ; 6 6 PS-EEE2 1000 500 138 0 Open ; [PUMPS] ;ID Node1 Node2 Parameters EEE1 2 3 HEAD EEE1HIA ; EEE2 7 8 HEAD EEE2HIA ; EEE3 12 14 HEAD EEE3 SPEED 0.9648 ; [VALVES] ;ID Node1 Node2 Diameter Type Setting MinorLoss 2 1 6 12 PSV 0.1 0 ; [TAGS] [DEMANDS] ;Junction Demand Pattern Category [STATUS] ;ID Status/Setting EEE3 0.9648 [PATTERNS] ;ID Multipliers ; 1 0.5 0.606939233 0.712048706 0.813529966 0.909646643 0.998754151 1 1.079327838 1.149989064 1.209528798 1.256928297 1.291376543 1.312284118 1 1.319293285 1.312284118 1.291376543 1.256928297 1.209528798 1.149989064 1 1.079327838 0.998754151 0.909646643 0.813529966 0.712048706 0.606939233 1 0.5 [CURVES] ;ID X-Value Y-Value ;PUMP: 1 1 1 1 2 0.5 ;PUMP: EEE1HIA 0.880787 70.8003 EEE1HIA 6.16831 68.8759 EEE1HIA 11.4608 66.9659 EEE1HIA 16.7836 65.0961 EEE1HIA 22.1484 63.2807 EEE1HIA 27.549 61.5194 EEE1HIA 32.9704 59.8069 EEE1HIA 38.3884 58.1246 EEE1HIA 43.778 56.4579 EEE1HIA 49.1228 54.7916 EEE1HIA 54.4145 53.1194 EEE1HIA 59.656 51.4366 EEE1HIA 64.8651 49.7546 EEE1HIA 70.0613 48.0853 EEE1HIA 75.2652 46.4412 EEE1HIA 80.496 44.8398 EEE1HIA 85.7618 43.2948 EEE1HIA 91.0515 41.8089 EEE1HIA 96.3409 40.3739 EEE1HIA 101.574 38.9808 EEE1HIA 106.685 37.5484 EEE1HIA 111.717 36.1189 EEE1HIA 116.61 34.4825 EEE1HIA 121.658 32.9046 EEE1HIA 126.608 31.259 EEE1HIA 131.51 29.5426 EEE1HIA 136.529 27.8382 EEE1HIA 141.607 26.1661 EEE1HIA 146.683 24.5284 EEE1HIA 151.701 22.81 ;EFFICIENCY: EEE1ef 0.880787 1.6955 EEE1ef 6.16831 11.0918 EEE1ef 11.4608 19.2967 EEE1ef 16.7836 26.5183 EEE1ef 22.1484 32.839 EEE1ef 27.549 38.3254 EEE1ef 32.9704 43.0468 EEE1ef 38.3884 47.0644 EEE1ef 43.778 50.4338 EEE1ef 49.1228 53.2463 EEE1ef 54.4145 55.587 EEE1ef 59.656 57.4685 EEE1ef 64.8651 59.0962 EEE1ef 70.0613 60.4973 EEE1ef 75.2652 61.575 EEE1ef 80.496 62.4675 EEE1ef 85.7618 63.2223 EEE1ef 91.0515 63.8289 EEE1ef 96.3409 64.2372 EEE1ef 101.574 64.3636 EEE1ef 106.685 64.1316 EEE1ef 111.717 63.6803 EEE1ef 116.61 62.7393 EEE1ef 121.658 61.7278 EEE1ef 126.608 60.4367 EEE1ef 131.51 58.8876 EEE1ef 136.529 57.2622 EEE1ef 141.607 55.5525 EEE1ef 146.683 53.7328 EEE1ef 151.701 51.5199 ;PUMP: EEE2HIA 0 88.0062 EEE2HIA 6.57373 86.4724 EEE2HIA 13.1295 84.9208 EEE2HIA 19.689 83.387 EEE2HIA 26.2704 81.9007 EEE2HIA 32.8715 80.4638 EEE2HIA 39.4771 79.0642 EEE2HIA 46.0626 77.6813 EEE2HIA 52.6115 76.2912 EEE2HIA 59.1167 74.888 EEE2HIA 65.581 73.4719 EEE2HIA 72.0182 72.0513 EEE2HIA 78.4449 70.6423 EEE2HIA 84.8692 69.2587 EEE2HIA 91.2882 67.9041 EEE2HIA 97.688 66.581 EEE2HIA 104.033 65.2724 EEE2HIA 110.279 63.9547 EEE2HIA 116.39 62.5934 EEE2HIA 122.34 61.1546 EEE2HIA 128.131 59.6054 EEE2HIA 133.797 57.9216 EEE2HIA 139.382 56.1026 EEE2HIA 144.929 54.1642 EEE2HIA 150.47 52.1503 EEE2HIA 156.025 50.1063 EEE2HIA 161.606 48.0831 EEE2HIA 167.198 46.1022 EEE2HIA 172.764 44.1502 EEE2HIA 178.306 42.1842 ;PUMP: EEE2ef 0 0 EEE2ef 6.57373 9.02106 EEE2ef 13.1295 16.9553 EEE2ef 19.689 23.9219 EEE2ef 26.2704 30.0436 EEE2ef 32.8715 35.4116 EEE2ef 39.4771 40.1054 EEE2ef 46.0626 44.1909 EEE2ef 52.6115 47.7011 EEE2ef 59.1167 50.735 EEE2ef 65.581 53.3561 EEE2ef 72.0182 55.6232 EEE2ef 78.4449 57.5873 EEE2ef 84.8692 59.2663 EEE2ef 91.2882 60.665 EEE2ef 97.688 61.7962 EEE2ef 104.033 62.6292 EEE2ef 110.279 63.1095 EEE2ef 116.39 63.2222 EEE2ef 122.34 62.9599 EEE2ef 128.131 62.3119 EEE2ef 133.797 61.3128 EEE2ef 139.382 60.0338 EEE2ef 144.929 58.5351 EEE2ef 150.47 56.8882 EEE2ef 156.025 55.1568 EEE2ef 161.606 53.3988 EEE2ef 167.198 51.6328 EEE2ef 172.764 49.835 EEE2ef 178.306 47.9635 ;PUMP: rotor 370mm EEE3 0.00 71.68 EEE3 33.21 64.82 EEE3 49.81 61.48 EEE3 66.42 57.57 EEE3 74.72 55.41 EEE3 83.02 53.13 EEE3 99.62 47.88 EEE3 116.23 41.10 ;EFFICIENCY: EEE3ef 0.00 0.00 EEE3ef 45.15 51.07 EEE3ef 67.73 58.78 EEE3ef 90.30 61.89 EEE3ef 101.59 62.13 EEE3ef 112.88 61.68 EEE3ef 135.45 59.03 EEE3ef 158.03 55.60 [CONTROLS] [RULES] RULE EEE1START IF NODE PS-EEE1 PRESSURE > 1.85 THEN PUMP EEE1 STATUS IS OPEN PRIORITY 1 RULE EEE1END IF NODE PS-EEE1 PRESSURE < 0.5 THEN PUMP EEE1 STATUS IS CLOSED PRIORITY 1 RULE EEE2START IF NODE PS-EEE2 PRESSURE > 2.05 THEN PUMP EEE2 STATUS IS OPEN PRIORITY 1 RULE EEE2END IF NODE PS-EEE2 PRESSURE < 0.55 THEN PUMP EEE2 STATUS IS CLOSED PRIORITY 1 RULE EEE3START IF NODE SP PRESSURE > 2.75 AND NODE SP PRESSURE < 3.99 THEN PUMP EEE3 STATUS IS OPEN AND PUMP EEE3 SETTING IS 0.9648 PRIORITY 1 RULE EEE3END IF NODE SP PRESSURE < 0.2 THEN PUMP EEE3 STATUS IS CLOSED PRIORITY 1 RULE EEE3ACELERA IF NODE SP PRESSURE > 4 THEN PUMP EEE3 SETTING IS 0.98 PRIORITY 2 RULE EEE3CALMINHA IF NODE SP PRESSURE < 1 AND NODE SP PRESSURE > 0.2 THEN PUMP EEE3 SETTING IS 0.83 PRIORITY 2 [ENERGY] Global Efficiency 75 Global Price 0 Demand Charge 0 Pump EEE1 Efficiency EEE1ef Pump EEE1 Price 1 Pump EEE2 Efficiency EEE2ef Pump EEE2 Price 1 Pump EEE3 Efficiency EEE3ef Pump EEE3 Price 1 [EMITTERS] ;Junction Coefficient [QUALITY] ;Node InitQual [SOURCES] ;Node Type Quality Pattern [REACTIONS] ;Type Pipe/Tank Coefficient [REACTIONS] Order Bulk 1 Order Tank 1 Order Wall 1 Global Bulk 0 Global Wall 0 Limiting Potential 0 Roughness Correlation 0 [MIXING] ;Tank Model [TIMES] Duration 240 Hydraulic Timestep 0.0028 Quality Timestep 0:01 Pattern Timestep 1:00 Pattern Start 0:00 Report Timestep 0:01 Report Start 0:00 Start ClockTime 12 am Statistic None [REPORT] Status No Summary No Page 0 [OPTIONS] Units LPS Headloss H-W Specific Gravity 1 Viscosity 1 Trials 1000 Accuracy 0.001 CHECKFREQ 2 MAXCHECK 10 DAMPLIMIT 0 Unbalanced Continue 10 Pattern 1 Demand Multiplier 1.0 Emitter Exponent 0.5 Quality None mg/L Diffusivity 1 Tolerance 0.01 [COORDINATES] ;Node X-Coord Y-Coord Q1 -3192.87 7504.05 2 -2840.14 6950.11 3 -2273.24 6961.45 4 -1921.77 6961.45 5 -1264.17 6961.45 Q2 1354.88 7494.33 7 1831.07 6961.45 8 2375.28 6950.11 9 2817.46 6950.11 10 3962.59 6950.11 11 5765.31 6950.11 12 6411.56 6950.11 14 7137.19 6950.11 1 -5.67 6961.45 6 368.48 6961.45 13 9540.82 6950.11 PS-EEE1 -3209.08 6936.79 PS-EEE2 1345.22 6969.21 SP 6434.36 7568.88 [VERTICES] ;Link X-Coord Y-Coord [LABELS] ;X-Coord Y-Coord Label & Anchor Node [BACKDROP] DIMENSIONS 0.00 0.00 10000.00 10000.00 UNITS None FILE OFFSET 0.00 0.00
Its a false alarm. It seems I'll only happen if you use the decimal step time. As this is not proper use for the software, it's not really a bug. Still, it is interesting how PS-EEE2 randomly fills in or not fills in.
It is easy to see the difference by using the graph report. Time series showing pressure in nodes PS-EEE1 and PS-EEE2. With hydraulic and reporting time steps set to "0:01" everything works properly and can easily be seen that the nodes follow the same pattern. If these time steps are set to 0.0028 or 0.00390625 (which is exactly 1/256 to avoid infinite decimals in binary, that could bug a comparison operation) the same graph will not show the node's pressures in the same pattern.