v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "40d Talk:Water flow"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
 
(24 intermediate revisions by 5 users not shown)
Line 16: Line 16:
 
:::I think albedo is not referring to your edits above, but to the main article :) --[[User:Höhlenschreck|Höhlenschreck]] 20:27, 4 August 2009 (UTC)
 
:::I think albedo is not referring to your edits above, but to the main article :) --[[User:Höhlenschreck|Höhlenschreck]] 20:27, 4 August 2009 (UTC)
  
==This can not stay in the article space as is. Please redact and add in the actual facts and information==
+
===Channeling moving water===
 +
Creating water flow seems to be (semi-)reliably created where a channel is dug from a brook or river, back to the same brook or river with no diagonal connections. For example #1 will create flow, while #2 will not and #3 may or may not.
  
  A further problem is that water flow is not an actual game feature, its an auxiliary construct
+
    ≈ [[River]] or [[Brook]]
   and speculation used by players and eventually comes indeed down to "Why isn't my waterwheel
+
    ~  [[Channel]]
  turning"
+
#1   
  Do we need an extra article for that?
+
      ≈<nowiki>~~~</nowiki>    
 +
      ≈ ~  Flow
 +
      ≈ ~
 +
      ≈<nowiki>~~~</nowiki>
  
'''Water Flow'''
+
#2
''(Why isn't my waterwheel turning?)''
+
      ≈<nowiki>~~~</nowiki>
 +
      ≈  ~ No flow (due to diagonals)
 +
      ≈  ~
 +
      ≈<nowiki>~~~</nowiki>
  
What is [[water]] flow? I want to be clear that this is about water flow, not about water depth. This is about whether or not water is considered to be flowing. Since the only real tool to demonstrate water flow is the [[waterwheel]], it will naturally be mentioned periodically on this page.
+
#3
 +
      ≈<nowiki>~~~</nowiki>
 +
      ≈  <nowiki>~~~</nowiki> Possible flow (not perfectly understood)
 +
      ≈  <nowiki>~~~</nowiki>
 +
      ≈<nowiki>~~~</nowiki>
  
The obvious answer would be moving water, but things seem more and less complicated than this in practice. A [[waterwheel]] needs flow to function, and it needs 4/7 or higher water. These are two different things. a stagnant loop of 4/7 water from a murky pond will not power a waterwheel as it is not flowing. However a dead end channel from a [[river]] or [[brook]] will. In fact twice I have tested and show that a dead end channel from a river or brook will continue to power the waterwheel after you block it off with a floodgate. Strange. Nor does distance seem to matter other than for the time it takes to fill the channel to 4/7. I went from corner to corner of the map, a nice long path on a 3x3 map, channeled directly from a river, dead end, and there at the extreme end of the dead end is a happily turning waterwheel. I blocked it off with a floodgate again and laughed. Either floodgates or sourced water seems to have a bug. Floodgates prevent water from passing, but the flow necessary to power a waterwheel seems to go straight though with a smile.
+
This is simply incorrect. Water from a natural source certainly can retain it's flow through diagonal steps. I've ran two tests to confirm this. If someone can point me to a place I can post videos, I have one of these tests saved and would like to post it so others can see. [[User:Doctorzuber|Doctorzuber]] 17:05, 18 March 2010 (UTC)
 +
:As for wild theorizing, if you're using diagonal steps on a river, odds are you're also dropping that river one or more z-levels. and I have certainly observed some weirdness with natural flow and z-level changes. My theory on this matter is the observation that only the top level or a river actually flows, if you channel it down several levels, the lower levels do not flow. So if you're dropping a river one or more levels and pulling it through diagonals to prevent pressure, you're also not going to have flow because only the top level of the river was ever actually flowing to begin with. However I do need to run more tests on this subject before saying anything for certain since I have observed other weirdness with z-level changes in water including once case where for some inexplicable reason water was flowing on the bottom level of my cistern which was quite perplexing since nothing here was actually moving, no pumps were running, the bottom level had three full levels of water above it, so nothing could possibly be moving, and yet it showed flow. Water in DF does wonky things. [[User:Doctorzuber|Doctorzuber]] 17:12, 18 March 2010 (UTC)
  
Water that is not directly from a brook or river is much more difficult to satisfy a waterwheel with. Water that is not directly connected to a river or brook has no natural flow. This can be because you used a diagonal baffle to eliminate the pressure so you can safely take the water down to your fortress, or it can be because you pumped the water in, or it can be because you took the water from a murky pool, or it can even be simply because you drew the short straw and got a river or brook that isn't considered to be flowing.  
+
==Inconsistency with a U-Bend from a brook.==
 +
I cut out a small area near a brook going down two z-levels so that I would have a small u-bend, one level below the brook. Once this was constructed I channeled the last piece to connect this to the brook. I was looking to see if water flow would be conserved across the u-bend. what I discovered instead was that the brook apparently has no pressure at all. The brook failed to push the water back up the other side of the u-bend behaving much like you might expect from magma.
  
whatever the reason, your water doesn't have any natural flow. Generating flow with a screw pump to satisfy a water wheel is a lot more picky. Here if all three tiles under the waterwheel are the same level i.e. 4/7 then chances are your waterwheel just stopped. On the other hand it does not seem to matter if one of those three tiles is 0/7 as long as at least one of the tiles under it are 4/7 or higher. It can be very tricky to get a waterwheel to reliably turn with water that doesn't come straight from a flowing river.
+
    ≈  [[River]] or [[Brook]]
 +
    ~  [[Channel]]
 +
    . Open Space
 +
 
 +
    ≈≈≈~~ .
 +
        <nowiki>~~~</nowiki>
  
Multiple waterwheels hooked up together will turn together, even if some of them do not have flow. Which is to say they will look like they are turning, but if one is not getting flow, you don't get the power for it. If they are all hooked up together with gears and axles they will all turn together as long as any one of the wheels finds flow. While this wastes 10 power for every extra wheel you use in this manner, it can be a real useful problem solving trick for keeping your underground machinery working reliably. I personally find it ironic, since an active water pump pushed water around much faster than any river, but since the water is not sourced flow is assumed to be zero unless there is an obvious difference in the water levels.
+
Following this test, I repeated it but this time with a floodgate in the low point of the u-bend since in the past I've observed that floodgates can reset the pressure if you turn them on and off. I toggled the floodgate open and closed a few time, but no change in pressure. The result was the same.
 +
Finally, later I used screw pumps to put a layer one z-level above the flowing channel, which finally reset the pressure pushing the water up the far side of the u-bend. Just more wonky behavior from water.[[User:Doctorzuber|Doctorzuber]] 01:21, 19 March 2010 (UTC)
 +
:This seems completely consistent with current observed behavior of water pressure - unless you dam the brook, water going through a U-bend will only rise to '''1 Z-level below''' the original level.  --[[User:Quietust|Quietust]] 02:45, 19 March 2010 (UTC)
 +
≈≈≈~~ .
 +
    ~ ~
 +
    <nowiki>~~~</nowiki>
 +
:: alright, but if that's the case why did the water level rise to (and remain at) z-0 the instant there was even 1/7 water above the channel? And this was pretty much instant change too, it went from open space to full 7/7 on nine tiles in an instant. [[User:Doctorzuber|Doctorzuber]] 02:59, 19 March 2010 (UTC)
 +
:::Because said water 'above the channel' is at level Z+1, and any water at Z+1 will pressure-path to level Z-0. Perhaps you should read the article on [[water pressure]] a bit more carefully. --[[User:Quietust|Quietust]] 13:10, 19 March 2010 (UTC)
 +
:::: Onward to more goofy tests with natural flow and a u-bend. I have read the wiki, many times, however I take anything I read here with a grain of salt since I have often seen things behaving in a manner contrary to how it is explained on the wiki. water is weird stuff. Anyhow, next weird test. Bear with me it takes a bit of explaining. [[User:Doctorzuber|Doctorzuber]] 01:39, 21 March 2010 (UTC)
 +
    ≈  constantly flowing water
 +
    ?  inconsistent results
 +
    ~  non-flowing water
 +
    X  Floodgate
 +
    . Open Space
 +
    ▒  Solid Ground
  
*Sourced water (river, brook, spring) behaves differently than unsourced water for powering a waterwheel.  
+
    <nowiki>≈≈≈X≈≈▒▒...▒▒~~~~~</nowiki>
*Dead ends don't seem to be a problem with water flow from sourced water.
+
    <nowiki>▒▒▒▒▒~▒▒???▒</nowiki>
*Floodgates do not seem to stop flow from sourced water. Bug?
+
    <nowiki>    ▒~▒▒~~~▒</nowiki>
*Unsourced water is more difficult to show flow in. More testing needed.
+
    <nowiki>    ▒~~X~~~▒</nowiki>
 +
    <nowiki>    ▒▒▒▒▒▒▒▒</nowiki>
 +
 
 +
 
 +
The behavior on this test is very inconsistent. My test pool here features a hatch at the bottom center (not shown) for dumping the entire system into a chasm so I can repeat this test as desired. Dumping and refilling this pool several times I get one or more tiles of naturally flowing water at the low end of the u-bend. How many tiles and what tiles gain flow by this method is highly random. I also observed some random tiles of flowing water at the very bottom of the pool. Again these results were highly random. -- [[User:Doctorzuber|Doctorzuber]]
 +
 
 +
As a small side experiment I used a screw pump and floodgate to dump a single 7/7 tile onto the top of the water at z-1. I tested this both with the floodgates open and closed. In both cases the seven tiles of 1/7 water bounced for a while and evaporated, they were not pulled back up into the river with pressure. -- [[User:Doctorzuber|Doctorzuber]]
 +
 
 +
For the next phase of my test, I tasked a dwarf to pump a healthy amount of water onto the top of the low end of the u-bend. With the floodgates open this water is more or less instantly pulled away into the river leaving one single flowing tile at the output of the screw pump. -- [[User:Doctorzuber|Doctorzuber]]
 +
 
 +
    <nowiki>      %%≈≈≈%%</nowiki>
 +
    <nowiki>≈≈≈X≈≈▒▒~~~▒▒~~~~~</nowiki>
 +
    <nowiki>▒▒▒▒▒~▒▒~~~▒</nowiki>
 +
    <nowiki>    ▒~▒▒~~~▒</nowiki>
 +
    <nowiki>    ▒~~X~~~▒</nowiki>
 +
    <nowiki>    ▒▒▒▒▒▒▒▒</nowiki>
 +
 
 +
 
 +
Finally I closed the floodgates and tried stacking water on top of the u-bend. I tried pumping from a murky pool first, the water as expected quickly rises to z+1. However much to my surprise the water is also naturally flowing at z+1 on every single tile despite the fact that it was pulled from a murky pool. When this is filled all flow at lower levels quickly stopped. I then repeated this test pulling water from the [[brook]] instead getting the same results. I repeated this test several times, the results were the same every time. I am beginning to think that this effect of naturally flowing water at Z+1 may have nothing to do with the screw pump at all and instead it may be a matter of it being water that is directly connected to a natural source possibly at specific z-levels. -- [[User:Doctorzuber|Doctorzuber]]
 +
 
 +
Also I'd like to thank [[User:Quietust|Quietust]] for your input on this. You sound like you really know what you're talking about. -- [[User:Doctorzuber|Doctorzuber]] 01:39, 21 March 2010 (UTC)
 +
 
 +
== Natural Flow and Pumps ==
 +
It seems that a screw pump that is pulling water from a natural flowing source (river/brook) than the water that comes out above will also retain this special flowing state. Furthermore, it seems to retain this state even after it has fully filled the target area.
 +
 
 +
    ≈≈ Natural flowing water as from a [[River]] or [[Brook]]
 +
    ~~ non-flowing water
 +
    %% Screw Pump
 +
    ▒▒ Solid Ground
 +
 
 +
        %%≈≈≈▒
 +
    ≈≈≈▒▒▒▒▒▒
 +
 
 +
With some fiddling I think it should be possible to adapt this concept to make a cistern of any size and height that retains the property of natural flowing water which is very useful if you have complex water projects in mind. Mind you, I do think this is a bug, but since it's so bloody difficult to artificially generate consistent water flow I intend to use it.[[User:Doctorzuber|Doctorzuber]] 04:35, 19 March 2010 (UTC)
 +
:I've observed this as well, but I've also observed that if you drain that area and refill it, it tends to lose all of its flow. Overall, it's a bit on the glitchy side. --[[User:Quietust|Quietust]] 13:11, 19 March 2010 (UTC)
 +
:: yea, well I consider everything involving water to be glitchy. Here's another test with pump stacks and natural flow. Apparently something in the behavior of a pump stack breaks this natural flow effect. May be that because of how instantly the pump sucks water it's not given time to realize that the source is flowing anymore. More tests needed. [[User:Doctorzuber|Doctorzuber]] 17:56, 19 March 2010 (UTC)
 +
 
 +
        <nowiki>▒ %%~~~~~~</nowiki>
 +
        ▒~%% ▒
 +
        ▒▒%%≈▒
 +
    ≈≈≈≈≈▒▒▒▒
 +
 
 +
        <nowiki>▒ %%~~~~~~</nowiki>
 +
        ▒~~%% ▒
 +
        ▒▒%%≈≈▒
 +
    ≈≈≈≈≈▒▒▒▒▒
 +
 
 +
== CPU usage ==
 +
[[Maximizing framerate]] says "Magma and (to a lesser extent) running water are CPU hogs". Should that be mentioned here? --[[User:HebaruSan|HebaruSan]] 00:24, 8 November 2009 (UTC)

Latest revision as of 02:17, 21 March 2010

I tested running water wheels with sourced water from an underground river waterfall. The pressure of downstream the waterfall pushed the water up to one z-level below the river connection.

I connected a dead end water wheel room to it and the wheels sporadicaly moved one or two times and then stopped. Tried vertical and horizontal placement. No movement. Then I opened up the other side of the room and the water was "moving" through the room but the water wheels still did not work.

I suggest adding this information to the wiki entry for water flow. That water pushed up z-levels by downstream waterfall pressure does NOT behave like the sourced water described so far. Please note that these are just my tests and my experiences with version 40d11, if you have different results or further information please feel free to correct me. August 3, 2009 User:SpaceTurtle

This article needs to be checked over for accuracy, changed from the 1st person to something less "chatty", and have more links both to and from. Also maybe a category, "FAQ" or something?--Albedo 21:52, 3 August 2009 (UTC)
I just wanted to comment on the article. english is not my first language, so this isn't a finished draft for the wiki entry.
Just wanted to supply some information to be added to the entry if it somebody finds it useful. --SpaceTurtle 7:40, 4 Auguest 2009 (UTC)
I think albedo is not referring to your edits above, but to the main article :) --Höhlenschreck 20:27, 4 August 2009 (UTC)

Channeling moving water[edit]

Creating water flow seems to be (semi-)reliably created where a channel is dug from a brook or river, back to the same brook or river with no diagonal connections. For example #1 will create flow, while #2 will not and #3 may or may not.

River or Brook
    ~  Channel 
#1     
     ≈~~~    
     ≈  ~  Flow
     ≈  ~
     ≈~~~
#2
     ≈~~~
     ≈   ~ No flow (due to diagonals)
     ≈   ~
     ≈~~~
#3
     ≈~~~
     ≈  ~~~ Possible flow (not perfectly understood)
     ≈  ~~~
     ≈~~~

This is simply incorrect. Water from a natural source certainly can retain it's flow through diagonal steps. I've ran two tests to confirm this. If someone can point me to a place I can post videos, I have one of these tests saved and would like to post it so others can see. Doctorzuber 17:05, 18 March 2010 (UTC)

As for wild theorizing, if you're using diagonal steps on a river, odds are you're also dropping that river one or more z-levels. and I have certainly observed some weirdness with natural flow and z-level changes. My theory on this matter is the observation that only the top level or a river actually flows, if you channel it down several levels, the lower levels do not flow. So if you're dropping a river one or more levels and pulling it through diagonals to prevent pressure, you're also not going to have flow because only the top level of the river was ever actually flowing to begin with. However I do need to run more tests on this subject before saying anything for certain since I have observed other weirdness with z-level changes in water including once case where for some inexplicable reason water was flowing on the bottom level of my cistern which was quite perplexing since nothing here was actually moving, no pumps were running, the bottom level had three full levels of water above it, so nothing could possibly be moving, and yet it showed flow. Water in DF does wonky things. Doctorzuber 17:12, 18 March 2010 (UTC)

Inconsistency with a U-Bend from a brook.[edit]

I cut out a small area near a brook going down two z-levels so that I would have a small u-bend, one level below the brook. Once this was constructed I channeled the last piece to connect this to the brook. I was looking to see if water flow would be conserved across the u-bend. what I discovered instead was that the brook apparently has no pressure at all. The brook failed to push the water back up the other side of the u-bend behaving much like you might expect from magma.

River or Brook
    ~  Channel
    .  Open Space
  
    ≈≈≈~~ .
        ~~~

Following this test, I repeated it but this time with a floodgate in the low point of the u-bend since in the past I've observed that floodgates can reset the pressure if you turn them on and off. I toggled the floodgate open and closed a few time, but no change in pressure. The result was the same. Finally, later I used screw pumps to put a layer one z-level above the flowing channel, which finally reset the pressure pushing the water up the far side of the u-bend. Just more wonky behavior from water.Doctorzuber 01:21, 19 March 2010 (UTC)

This seems completely consistent with current observed behavior of water pressure - unless you dam the brook, water going through a U-bend will only rise to 1 Z-level below the original level. --Quietust 02:45, 19 March 2010 (UTC)
≈≈≈~~ .
    ~ ~
    ~~~
alright, but if that's the case why did the water level rise to (and remain at) z-0 the instant there was even 1/7 water above the channel? And this was pretty much instant change too, it went from open space to full 7/7 on nine tiles in an instant. Doctorzuber 02:59, 19 March 2010 (UTC)
Because said water 'above the channel' is at level Z+1, and any water at Z+1 will pressure-path to level Z-0. Perhaps you should read the article on water pressure a bit more carefully. --Quietust 13:10, 19 March 2010 (UTC)
Onward to more goofy tests with natural flow and a u-bend. I have read the wiki, many times, however I take anything I read here with a grain of salt since I have often seen things behaving in a manner contrary to how it is explained on the wiki. water is weird stuff. Anyhow, next weird test. Bear with me it takes a bit of explaining. Doctorzuber 01:39, 21 March 2010 (UTC)
    ≈  constantly flowing water
    ?  inconsistent results
    ~  non-flowing water
    X  Floodgate
    .  Open Space
    ▒  Solid Ground
    ≈≈≈X≈≈▒▒...▒▒~~~~~ 
    ▒▒▒▒▒~▒▒???▒
        ▒~▒▒~~~▒
        ▒~~X~~~▒
        ▒▒▒▒▒▒▒▒


The behavior on this test is very inconsistent. My test pool here features a hatch at the bottom center (not shown) for dumping the entire system into a chasm so I can repeat this test as desired. Dumping and refilling this pool several times I get one or more tiles of naturally flowing water at the low end of the u-bend. How many tiles and what tiles gain flow by this method is highly random. I also observed some random tiles of flowing water at the very bottom of the pool. Again these results were highly random. -- Doctorzuber

As a small side experiment I used a screw pump and floodgate to dump a single 7/7 tile onto the top of the water at z-1. I tested this both with the floodgates open and closed. In both cases the seven tiles of 1/7 water bounced for a while and evaporated, they were not pulled back up into the river with pressure. -- Doctorzuber

For the next phase of my test, I tasked a dwarf to pump a healthy amount of water onto the top of the low end of the u-bend. With the floodgates open this water is more or less instantly pulled away into the river leaving one single flowing tile at the output of the screw pump. -- Doctorzuber

          %%≈≈≈%%
    ≈≈≈X≈≈▒▒~~~▒▒~~~~~ 
    ▒▒▒▒▒~▒▒~~~▒
        ▒~▒▒~~~▒
        ▒~~X~~~▒
        ▒▒▒▒▒▒▒▒


Finally I closed the floodgates and tried stacking water on top of the u-bend. I tried pumping from a murky pool first, the water as expected quickly rises to z+1. However much to my surprise the water is also naturally flowing at z+1 on every single tile despite the fact that it was pulled from a murky pool. When this is filled all flow at lower levels quickly stopped. I then repeated this test pulling water from the brook instead getting the same results. I repeated this test several times, the results were the same every time. I am beginning to think that this effect of naturally flowing water at Z+1 may have nothing to do with the screw pump at all and instead it may be a matter of it being water that is directly connected to a natural source possibly at specific z-levels. -- Doctorzuber

Also I'd like to thank Quietust for your input on this. You sound like you really know what you're talking about. -- Doctorzuber 01:39, 21 March 2010 (UTC)

Natural Flow and Pumps[edit]

It seems that a screw pump that is pulling water from a natural flowing source (river/brook) than the water that comes out above will also retain this special flowing state. Furthermore, it seems to retain this state even after it has fully filled the target area.

    ≈≈ Natural flowing water as from a River or Brook
    ~~ non-flowing water
    %% Screw Pump
    ▒▒ Solid Ground
       %%≈≈≈▒
    ≈≈≈▒▒▒▒▒▒

With some fiddling I think it should be possible to adapt this concept to make a cistern of any size and height that retains the property of natural flowing water which is very useful if you have complex water projects in mind. Mind you, I do think this is a bug, but since it's so bloody difficult to artificially generate consistent water flow I intend to use it.Doctorzuber 04:35, 19 March 2010 (UTC)

I've observed this as well, but I've also observed that if you drain that area and refill it, it tends to lose all of its flow. Overall, it's a bit on the glitchy side. --Quietust 13:11, 19 March 2010 (UTC)
yea, well I consider everything involving water to be glitchy. Here's another test with pump stacks and natural flow. Apparently something in the behavior of a pump stack breaks this natural flow effect. May be that because of how instantly the pump sucks water it's not given time to realize that the source is flowing anymore. More tests needed. Doctorzuber 17:56, 19 March 2010 (UTC)
       ▒ %%~~~~~~
       ▒~%% ▒
       ▒▒%%≈▒
    ≈≈≈≈≈▒▒▒▒
       ▒ %%~~~~~~
       ▒~~%% ▒
       ▒▒%%≈≈▒
    ≈≈≈≈≈▒▒▒▒▒

CPU usage[edit]

Maximizing framerate says "Magma and (to a lesser extent) running water are CPU hogs". Should that be mentioned here? --HebaruSan 00:24, 8 November 2009 (UTC)