How to make an ordinary homework problem into a computational thinking exercise - Fluid Mechanics

Prerequesites (for this example)

Methodology for Problem (and Solution)

Problem Statement (Cite Source)

Jet-type pumps are often used for special applications, such as to circulate the flow in basins in which fish are farmed. The use of a jet-pump reduces mechanical injury to the fish.

Figures 1 and 2 show the basic concept for this application of a jet pump.

Figure 1 Plan View of a fish race

Figure 2 Elevation detail of a fish race jet pump

For this type of basin the jets would have to increase the water surface elevation by an amount equal to , where is the average velocity in the basin ( as shown in the figures). Propose a basic design for a jet system that would make such a recirculating system work for a channel ft wide and ft deep. That is determine the nozzle diameter, speed, and number of nozzles. The design should specify nominal diameters of nozzles using commercially available pipes (1-in., 2-in, ...). How do the specifications change if the desired water depth is to be feet deep (to accomodate more fish)

Hint This problem involves "analysis" to determine the required momentum added by the jets and the total jet area and speed The design should be based on this analysis with an understanding that the total jet area should be small as compared to the total flow area (otherwise the fish could get stuck!).

Problem Solving Protocol

Recall the problem solving protocols in ENGR-1330 https://3.137.111.182/engr-1330-webroot/1-Lessons/Lesson02/OriginalPowerpoint/ENGR-1330-Lesson2.html

  1. Define the problem (problem statement)
  2. Gather information (identify known and unknown values, and governing equations)
  3. Generate and evaluate potential solutions
  4. Refine and implement a solution
  5. Verify and test the solution.

We can stipulate that Step 1 is already done,

Known Values:

Unknown Values

Governing Principles

These are going to be problem and discipline specific; in this case conservation of mass and momentum are going to be required.

Abstraction -- The Control Volume Diagram

At this point we are mostly trying to develop an algorithm, but are already about to apply abstraction when we create a Control-Volume Diagram of the mixing zone depicted in Figure 2.

Figure 3 Control Volume Diagram of Mixing Zone

Examining the diagram, we will further abstract by defining variables for our problem:

Decomposition - Continunity Analysis

Recall the continunity result from the Reynolds Transport Theorem:

Substitute the geometry from the problem conditions into the flux integral (the volume integral vanishes because we are considering steady flow) as

where

Notice that if the channel is a constant width, and we stipulate that the liquid is incompressible so that the density is some constant, we can factor these out to obtain

Rewrite in terms of as:

Divide by to obtain (which we will substitute into momentum shortly!)

Decomposition - Momentum Analysis

Recall the momentum result from the Reynolds Transport Theorem:

Consider force diffference:

where

Stipulate hydrostatic pressure forces at upstream and downstream faces

Now substitute into the momentum balance for the control volume

Notice that if the channel is a constant width, and we stipulate that the liquid is incompressible so that the density is some constant, we can factor these out to obtain

Now arrange momentum in terms of the jet as

Substitute from continunity

This equation is our model, it is implicit in , hence almost requires a computational approach to find a solution.

As a first step, lets try a predictor-correction approach - that is we will simply guess values for cetrain unknowns, and see how close we can make thw two sides of the model agree.

Guess-Check-Refine Approach

Keep in mind that is proportional to the jet area, and the jets are small (unless we want to make our facility into a Bass-o-Matic https://www.youtube.com/watch?v=c06HorsmhjY

We will rearrange our model equation above, by dividing by

Then gather all the terms involving onto the left hand side as

Now we are ready for computation - if we "pick" the only unknown is ; therefore solvable. If we make a set of guesses, we can compute required jet speed and jet total area.

First some preliminary coding, to use different jet speeds for a given

dy = 0.1 #delta y
width = 8.0
grav = 32.2 # gravitational acceleration constant (US Customary Units)
u1 = 1.0 #free stream approach
y1 = 4.0 #approach depth
y2 = y1 + 6.0*(u1**2)/(2.0*grav)
rhs = -u1*u1*(y1-dy)/dy + (u1*u1*(y1-dy)**2)/(y2*dy) - grav*(y1**2-y2**2)/(2*dy)
for i in range(1,200):
    uj = float(i)*0.1
    lhs = uj**2*(1-dy/y2) + 2*u1*(y1-dy)*uj/y2
    if abs(lhs-rhs) <=2: #only print when close
        print('uj = ',round(uj,2),'LHS = ',round(lhs,2),'RHS = ',round(rhs,2))
uj =  10.1 LHS =  118.76 RHS =  119.56
uj =  10.2 LHS =  120.94 RHS =  119.56

So for a of 0.1, the required jet speed is somewhere around 10.1 feet per second. Now we need to determine the total jet area, and nominal sizes.

areajet = dy*width
import math
def howManyJets(jetarea,diameter):
    perjet = 0.25*math.pi*diameter**2
    if jetarea%perjet == 0:
        howManyJets = jetarea/perjet
    elif jetarea%perjet != 0:
        howManyJets = jetarea//perjet + 1
    return howManyJets

inches = 1/12
howManyJets(areajet,inches)
147.0

So for of 0.1 we will need 147 1-inch diameter jets. The next step is to refine and generalize our solution so we can explore different speeds - for example a 10 ft/sec jet will probably skin a fish, not healthy for our application.

For refinement, lets improve the precision of the jet speed calculation (i.e. automate the matching of lhs and rhs)

More to come


References

  1. list them here, link where possible
  2. list them here, link where possible
  3. list them here, link where possible