Insert
Sample

Modelling a Submarine Using Potential Flow Analysis

Potential flow analysis can be used to model a variety of objects, and how they interact with fluid flows.

Uniform Flow

The most basic potential flow regime is a uniform stream in the x direction.
◼
Let’s model a stream with velocity U=5:
In[6]:=
U=5;
◼
The following are the stream function and velocity potential, respectively:
In[7]:=
ψuniform[y_]=Uy;​​ϕuniform[x_]=Ux;
Finding the x and y components of the velocity is trivial in this case, but it will help with understanding a more complex flow later.
◼
To find the x component of the velocity of the stream, we take the derivative of the velocity potential with respect to x:
In[9]:=
u=D[ϕuniform[x],x]
Out[9]=
5
◼
To find the y component, we take the negative derivative of the stream function with respect to y:
In[10]:=
v=-D[ψuniform[x],y]
Out[10]=
0
◼
Now let’s plot the stream lines of the flow:
In[11]:=
StreamPlot[​​{u,v},{x,-6,6},{y,-6,6},​​StreamScaleFull,​​FrameLabel{x,y},​​StreamStyle{Arrowheads[.03],Black}​​]
Out[11]=

Source or Sink at the Origin

The next potential flow regime we will need is a source (or sink) at the origin. In either case, the z axis is treated as an infinitesimally thin pipe manifold, through which fluid is ejected (or sucked in) at volume flow rate Q that is uniform along its length b.
◼
Let’s model a source at the origin with the following values for volume flow rate and length:
In[12]:=
Q=2000;​​b=200;
◼
The source will have strength m, defined by:
In[14]:=
m=
Q
2πb
;
◼
At a given position (x,y), the velocity potential will be:
In[15]:=
ϕsource[x_,y_]=mLog
2
x
+
2
y
;
◼
and the stream function will be:
In[16]:=
ψsource[x_,y_]=mArcTan
y
x
;
◼
From here, we can find the x and y velocity components via derivation:
In[17]:=
[x_,y_]=D[ψsource[x,y],y];​​[x_,y_]=D[ϕsource[x,y],y];
◼
Let us now make a plot of the stream lines:
In[19]:=
StreamPlot[​​{[x,y],[x,y]},{x,-1,1},{y,-1,1},​​StreamScaleFull,FrameLabel{x,y},​​StreamStyle{Arrowheads[.03],Black}​​]
Out[19]=

Rankine Half-Body

A good way to model a submarine moving through water is to approximate the submarine as a Rankine half-body shape. This is the shape that occurs when a uniform flow encounters a single source. We can use our uniform flow and source from above.
◼
We first define the x velocity component by adding together the x velocity components for the uniform stream and source:
In[20]:=
[x_,y_]=u+[x,y];
◼
Likewise, we define the y velocity component by adding together the y velocity components for the uniform stream and source:
In[21]:=
[x_,y_]=v+[x,y];
◼
Before plotting the streamlines, we should make a list of points that we want the streamlines to go through:
In[22]:=
points=
-0.5
-0.5
-0.5
0
-0.5
0.5
-0.25
-0.5
-.25
0
-0.25
0.5
0
-0.5
0
0
0
0.25
0
-.25
0
0.5
.25
-.5
0.25
-0.25
0.25
0
0.25
0.25
0.25
0.5
0.5
-0.5
0.5
0
0.5
0.5
-.25
.25
-.25
-.25
;
◼
Now, let’s plot the streamlines:
In[23]:=
StreamPlot[​​{[x,y],[x,y]},{x,-1,1},{y,-1,1},​​StreamScaleFull,​​FrameLabel{x,y},​​StreamStyle{Arrowheads[.03],Black},​​StreamPointspoints​​]
Out[23]=
As we can see, the streamlines form a roughly elliptical half-body shape. At the nose of the body is a stagnation point, where the flow velocity is zero. This shape represents the upstream end of our submarine moving through the water.
◼
To make the visualization even more clear, we can omit the streamlines that are “inside” the submarine by specifying new points for the streamlines to go through:
◼
Our new plot shows only the streamlines defining the nose of the submarine, and the water passing around it:
Further Explorations
Try modeling a symmetrical airfoil using a series of sinks and sources in a uniform flow
Try modeling an airfoil in a uniform stream near the ground by using an image airfoil
Authorship information
Kaleb Alekel
6-21-17
ka5@geneseo.edu