WOLFRAM NOTEBOOK

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},StreamScaleFull,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},StreamScaleFull,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},StreamScaleFull,FrameLabel{x,y},StreamStyle{Arrowheads[.03],Black},StreamPointspoints]
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
Wolfram Cloud

You are using a browser not supported by the Wolfram Cloud

Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.


I understand and wish to continue anyway »

You are using a browser not supported by the Wolfram Cloud. Supported browsers include recent versions of Chrome, Edge, Firefox and Safari.