Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Water reactor weirdness  (Read 760 times)

blainemono

  • Bay Watcher
    • View Profile
Water reactor weirdness
« on: September 05, 2010, 06:26:19 am »

I've installed a water reactor, designed like this:

Code: [Select]

main level:

 #####     # - walls,  -+- - waterwheels, P = pump, . - channel
 #| |#
##+P+##
  |P|
   .

basement level:

  design 1         design 2

   #####            #####
   #7#7#            #7#7#
   #7#7#            #7#7#
   #7#7#            #7#7####
   ##7##            ##77<-water intake
    #^#             ########
    #|#
 water intake


With first basement design, reactor manages to flood half of the fortress. With second design, everything is fine.

How does it work? I don't get the mechanics of it.
Logged

OmnipotentGrue

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #1 on: September 05, 2010, 06:28:39 am »

Huh, interesting. Are you sure you aren't doing something horribly wrong elsewhere?
Logged

blainemono

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #2 on: September 05, 2010, 06:33:13 am »

Yeah, positive. All i did was rewire the pipes and the flooding stopped.
Logged

OmnipotentGrue

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #3 on: September 05, 2010, 06:40:05 am »

Beats me - why don't you just use no. 2 for now?
Logged

blainemono

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #4 on: September 05, 2010, 06:42:02 am »

Well, naturally. It's just that I would like to know the underlying SCIENCE.
Logged

Stardrinker

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #5 on: September 05, 2010, 06:52:07 am »

Water going through diagonals flows slower. Note the water tiles marked K.

Code: [Select]
basement level:

  design 1         design 2

   #####            #####
   #7#7#            #7#7#
   #7#7#            #7#7#
   #K#K#            #7#K####
   ##K##            ##KK<-water intake
    #^#             ########
    #|#
 water intake

Logged

blainemono

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #6 on: September 05, 2010, 06:59:51 am »

Hmm

So you are suggesting that water, unable to drain through the diagonal tunnel fast enough, somehow manages to pile up and spill to the upper z-level?

I thought water doesn't work that way in DF.

Also the left wheel drains exactly the same on both designs, yet no flooding on the second.
Logged

Hans Lemurson

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #7 on: September 05, 2010, 07:01:34 am »

When you're talking about water intakes there, is that an unrestricted inflow of water into the reactor?  That's an easy recipe for flooding.  Does design #2 have a more restricted water input?  (A longer channel is a more restricted input)

My advice would actually be to put the water-input for the reactor on the "up-stream" side of the waterwheels for 2 reasons:
-Water won't be flowing directly into the pump's intake which will mean that the reactor won't take on new water quite so fast.
-You can jump-start the reactor simply by letting the water in in the first place.  As water flows in it will turn the waterwheels which will start the pump and begin the cycle.
Logged
Foolprooof way to penetrate aquifers of unlimited depth.  (Make sure to import at least 10 stones for mechanisms)
Toughen Dwarves by dropping stuff on them.  (Nothing too heavy though, and make sure to wear armor.)
Quote
"Urist had a little lamb
whose feet tracked blighted soot.
And into every face he saw
his sooty foot he put."

blainemono

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #8 on: September 05, 2010, 07:10:35 am »

When you're talking about water intakes there, is that an unrestricted inflow of water into the reactor?  That's an easy recipe for flooding.  Does design #2 have a more restricted water input?  (A longer channel is a more restricted input)

6 tiles longer. I guess it's more restricted.

So if that's an intake problem, what causes the flooding? Is it the pump, pumping the water one z-level up but not transporting it 3 tiles north because of all the excess water there? Or does water keep its pressure after going through the wheels and overflows because of not enough drainage?
Logged

Stardrinker

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #9 on: September 05, 2010, 07:40:01 am »

Screw pumps don't actually lift its water source up before transporting it forward, it takes it directly from the lower z-level. It's more likely that it overflowed from the bottom half of the water wheels.
Logged

Hans Lemurson

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #10 on: September 05, 2010, 08:23:29 am »

A water-reactor is (ideally) a closed-cycle system.  The water it pumps up-stream of the water-wheels flows back to the pump input and gets pumped out again completing the cycle.  If you have an external water supply, then the pump now has water sources: the stuff turning the water wheels, and the stuff flowing in from outside.

Why would this cause flooding?  Because Pumps are EXTREMELY POWERFUL!!!  Extremely so.  That's why water-reactors work; it ain't the waterwheels that are doing the magic.

A Screw Pump will transfer whatever water is at its Intake to it's Output once per frame(simulation step).  EVERY FRAME.  The average groundspeed velocity of an unladen dwarf is 1 square every 10 Frames.  What does this mean?  The pumping capacity of a screw-pump is limited ONLY by the rate at which its intake can re-fill. 

Fill-rate = Pump-rate.  More filling = more pumping.
Logged
Foolprooof way to penetrate aquifers of unlimited depth.  (Make sure to import at least 10 stones for mechanisms)
Toughen Dwarves by dropping stuff on them.  (Nothing too heavy though, and make sure to wear armor.)
Quote
"Urist had a little lamb
whose feet tracked blighted soot.
And into every face he saw
his sooty foot he put."

gtmattz

  • Bay Watcher
  • [PREFSTRING:BEARD]
    • View Profile
Re: Water reactor weirdness
« Reply #11 on: September 05, 2010, 09:09:20 pm »

That water reactor design is intended to be used with a finite amount of water, ideally filled with a bucket brigade.  If you are going to be filling them with sourced water you need to be able to shut off the water coming into the system or it will flood.  I am not sure why the 2nd one is not flooding, unless you have shut off the intake, or possibly the intake of the 2nd one is from an aquifer (which will absorb infinite water) and the 1st is not?  Either way, that reactor design is a closed loop system and an infinite water supply will flood.
Logged
Quote from: Hyndis
Just try it! Its not like you die IRL if Urist McMiner falls into magma.

Psychobones

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #12 on: September 05, 2010, 09:17:47 pm »

How does it work? I don't get the mechanics of it.

Water is pulled in from the pump and dumped onto the floor tile at the intake. This water has pressure to it because of the pump. It collides with the wall and then spreads, and falls down the two holes you've got at the waterwheels. That turns the wheels, which power the pump to pull up more water. The reactor works due to limited water and the retardedness that is screwpumps.
Logged

Shoku

  • Bay Watcher
    • View Profile
Re: Water reactor weirdness
« Reply #13 on: September 05, 2010, 10:35:44 pm »

I will explain exactly what is going on.
What you saw:
Code: [Select]
main level:

 #####     # - walls,  -+- - waterwheels, P = pump, . - channel
 #| |#
##+P+##
  |P|
   .

basement level:

  design 1         

   #####         
   #7#7#         
   #7#7#           
   #7#7#           
   ##7##         
    ###             
 
but here's what it looks like to the water:
Code: [Select]
#####     
 #777#
#######
  |P| 
   .

   #####         
   #7#7#         
   #7#7#           
   #7#7#           
   ##7##         
    ###

It can't pass through the middle tile of the water wheels or the rear tile of the pump.

Now the thing about diagonals is that water won't teleport through them, the thing we call pressure. The pump looks for the lowest and closest space connected to its backside an teleports water from that spot down and in front of it to that spot connected to behind it. So as water falls through that diagonal it creates a very brief spot to put water and the pump lifts water out of that one tile and puts it in the spot the water fell out of.

So the problem with your design is that you've gone and given the pump a spot to put the water, namely:
Code: [Select]
#####     
 #777#
#######
  |P|X <- HERE!!!
   .
Side view:
Code: [Select]
Normal
#7#_
#777#

Modified
#7#_766655655
#7777#
*the floor tile would also have water on it but I wanted it to be clear where the water was coming from

And to be absolutely thorough here is a water-perspective.
Start in tile the pump draws from
Get taken by pump
Go to back of pump if it is not full.
If it is full at tiles left, right, or up from that: up is a wall; left and right are water.
Check tiles next to those. All of them are walls but there is a water space on the z level below.
Check tiles next to that. Only down is water.
Check tiles next to that. Up is where we came from and down is water again.

That's all of the tiles it normally looks at for the pump. Once the water is in the last tile I mentioned it is free to fall onto the input tile and "falling" into that diagonal is what makes the water wheels move. Pressure and actually moving water are different things for this reason. If you dug out the two tiles next to the diagonal and then walled the whole thing in so that it couldn't overflow it also wouldn't ever spin the water wheels. The water would just teleport past them.

« Last Edit: September 05, 2010, 11:12:41 pm by Shoku »
Logged
Please get involved with my making worlds thread.