Research Article Volume 2 Issue 3
Exact solution of plane Poiseuille flow in a channel filled with a porous medium
Amey Joshi
Regret for the inconvenience: we are taking measures to prevent fraudulent form submissions by extractors and page crawlers. Please type the correct Captcha word to see email ID.
Director of Fidelity Investments, Bangalore, India
Correspondence: Amey Joshi, Director of Fidelity Investments, Pinehurst, Embassy Golf Links business park, Bangalore, 56007, Tel +91-8691-2046,
Received: May 03, 2018 | Published: June 14, 2018
Citation: Joshi A. Exact solution of plane Poiseuille flow in a channel filled with a porous medium. Fluid Mech Res Int. 2018;2(3):131-136.
DOI: 10.15406/fmrij.2018.02.00029
Download PDF
Abstract
In this paper, I have presented an analytical solution to the problem of plane Poiseuille flow in a channel filled with a porous medium. Nield et al.,1 have expressed it in terms of elliptic integrals. I express it in an equivalent, but a more conventional form, in terms of Weierstrass elliptic function. I also present the R code to plot the velocity profile and compute the flux.
Introduction
The flow of an incompressible, Newtonian fluid through a porous medium of porosity
and permeability
is described by the equation2
(1)
where
is the density of the fluid,
is the velocity,
the pressure,
the effective viscosity,
the kinematic viscosity,
denotes the Laplace operator and the total force is
(2)
It is a sum of the body force
and the effect of the porosity of the medium. The geometric function
in equation (2) depends only on the porosity and the nature of the solid particle matrix of the porous medium. For a fully developed and steady flow, the left hand side of equation (1) vanishes. Further, if the flow is driven only by a constant pressure gradient and not an external body force, then equation (1) becomes
(3)
where
. I will solve equation (3) for a flow between parallel solid plates with a porous medium between them.
The physical setup
Consider a steady, fully-developed flow of a fluid along the
axis between two infinite parallel plates, a distance
apart. Let the plates concide with planes
and
. If the channel is long enough that the end effects are negligible along most of the channel's length then we can express the fluid's velocity along the
axis as
. Equation (3), in this case, becomes
(4)
where
denotes the second derivative with respect to
. Since the channel is bounded by solid walls, the usual no-slip boundary conditions apply. I will solve (4) subject to the conditions
and
, that is, the velocity has an extremum (actually, a maximum) at the center of the channel. Nield et al.,1 have given an analytical solution which expresses the coordinate
as an elliptic integral in the velocity
. I will develop an equivalent solution in which
is expressed as a Weierstrass elliptic function of
The solution
We convert equation (4) in a non-dimensional form using the relations,
(5)
(6)
(7)
where
is the velocity at the center of the channel, and the dimensionless quantities
(8)
(9)
(10)
,
and
are the Reynold's number, the Darcy number and the viscosity ratio of the flow. Dropping the
subscript for sake of notation clarity, we get,
(11)
where
(12)
(13)
(14)
are all positive numbers. Introduce a new variable
,
(15)
so that equation (11) becomes,
(16)
Multiplying equation (16) by
, the first derivative of
with respect to
, and integrating we get,
(17)
where
is a constant of integration. Introduce yet another variable,
, to transform equation (17) to
(18)
This equation is of the form,
(19)
where
(20)
Its solution is
, where
is another constant of integration. The function
is the Weierstrass elliptic function with invariants
and
.3 Therefore, the solution of (11) is
(21)
The constants
and
are found using the boundary conditions.
Some properties of Weierstrass elliptic function
The Weierstrass elliptic function is defined as the solution of the differential equation,
(22)
where
is a complex variable and
and
are complex constants, called invariants of
. Weierstrass elliptic function is a doubly periodic function. We follow Lawden4 and call the periods
and
. There is another half period
, where
. Whittaker et al.,3 denote the fundamental periods by
and
and define
.) If the constants
are defined as
(23)
then it can be shown that [by Lawden4 p.160] they are solutions of the cubic equation
. Further, they are related to the invariants as
(24)
(25)
Additionally [Lawden4 p.159],
(26)
The discriminant of the cubic equation
is
.
If
-
, then all roots of
are real and distinct.
-
, then the roots of
are real and not distinct.
-
, then
has one real root and two complex roots. The complex roots are conjugates of each other.
Theorem 1: If the invariants of Weierstrass elliptic function
are real and if the roots of the cubic
are real then
is real and
is imaginary.
Proof: The constants
are solutions of the cubic
. If they are all real, we can choose them to be such that
. Then (22) can be written as
that is,
equivalently,
where
. Integrating this equation so that
goes from
to
, and hence
goes from
to
, we have two possibilities because of the double pole of
at the origin,
(27)
or
(28)
Choose
in equation (27), so that
Since
is the largest root of
, throughout the path of integration, the integrand stays finite. Further, the integrand is always real and hence
is real.
Choose
in equation (28), so that
or,
Since
is the smallest root of
, throughout the path of integration, the integrand stays finite. Further, the integrand is always real and hence
is imaginary.
Remark: The converse of theorem 1 is also true [Lawden4 p.163]. That is, if
is real and
is imaginary then
, the roots of
are all real.
If
is real and
is imaginary then section 6.11 shows that4
Theorem 2:
takes real values on the the rectangle
in Figure 1, where
and
. Further, if
is taken round
,
decreases from
at
to
at
, further decreases to
along
, to
along
and finally to
as it reaches the origin along
.
Figure 1 Positive discrimimant.
If the invariants
and
of the Weierstrass elliptic function are real but the discriminant of the cubic equation
is negative, then referring to Figure 2 or Handbook of Mathematical Functions with Formulas5, the function
takes value
at
. Its value decreases monotonically upto
, where it is
and then rises once again to
at
. If the function has a singularity at the origin, it will have it at points
,
and
because of its periodicity. The function also takes real values along the segment
.
Figure 2 Negative discrimimant.
Finding
Since the velocity has an extremum at the center of the channel, its derivative with respect to
vanishes there. Therefore, derivatives of
and
also vanish at the center of the channel. If the magnitude of the non-dimensional velocity
at the center is
then we immediately have
and
(29)
Since at the center,
is one of the roots of the cubic equation
. If
are the roots, without loss of generality, let
(30)
From these equations (24) to (26) we readily get,
(31)
(32)
Knowing
and
equation (25) gives,
(33)
We will now use the second boundary condition
to find
. The equation
is equivalent to,
or
(34)
Computation of the velocity profile
The inverse of Weiestrass elliptic function can be readily evaluated on the wolframalpha website using the Mathematica
function.
Listing 1: Evaluation of
,
InverseWeierstrassP[B^2/12, g_2, g_3] |
Let us assume that the equation
has a positive discriminant. Then we saw in section 3.1 that
will take real values on the the rectangle
where
and
. Further, if
is taken round
,
decreases from
at
to
at
, further decreases to
along
, to
along
and finally to
as it reaches the origin along
. Thus,
will lie on
is it is greater than
or on
is it is between
and
or on
if it is less than
. It cannot be less than
because
is always less than zero while
.
Supposing
, that is,
lies on
. Then we have to align the imaginary axis along the
axis and plot values of
where the complex variable
is
, where
ranges from
to
. Since
lies on
,
is identical to
and hence
. The following R code, with the library 'elliptic' was used to generate the velocity profile of Figure 3.6
Listing 2: Velocity profile of flow in porous medium
Figure 3 Velocity profile for flow in a porous channel bounded by flat plates.
library(elliptic)
epsilon <- 0.1 # Porosity
Re <- 0.1 # Reynold's number
Da <- 5e-1 # Darcy number
J <- 1 # Viscosity ratio
G <- 1e-4 # Pressure gradient/density
F0 <- 1.75/sqrt(150 * epsilon^3) # Geometric function
# Calculation of A, B, C
A <- sqrt((F0 * epsilon * Re)/(J * sqrt(Da)))
B <- sqrt(epsilon/(J * Da))
C <- sqrt(epsilon^2 * Re * G/J)
g2 <- (A^2*C^2 + B^4/4)/3
u2_center <- A^2/6 + B^2/12
# Choose e2 as u2_center
e2 <- u2_center
e1 <- (-e2 + sqrt(g2 - 3*1i*(-1i)*e2^2))/2
e3 <- (-e2 - sqrt(g2 - 3*1i*(-1i)*e2^2))/2
g3 <- 4*e1*e2*e3
# Get half periods
Omegas <- half.periods(g = c(g2, g3))
# Recreate e's so that they are consistent with R
es <- e1e2e3(g = c(g2, g3))
# Computed using Mathematica
k1 <- 8.020971603238442 + 3.116271691054093i
# Observe that k1 is equal to Omegas[2].
# Print Omegas. Let omega1 be the real period and omega3 be the imaginary period.
#
# We want to plot the Weierstrass function along the imaginary # axis. We know that P(omega1) = e1 while e1 >= P0. The function # P falls below e1 both above and below omega1 if we move along # the imaginary axis. If it takes a value B^2/12 a distance Im(k1) # above omega1, it will take the same value a distance Im(k1) below # omega1. Therefore, we plot the function from omega1 - 1i*Im(k1) # omega1 + 1i * Im(k1).
z <- Omegas[2] + seq(from = 0, to = -2*Im(k1), len = 100)*1i y <- -Im(z)
u <- 6/A^2*( P(z + Im(k1)*1i, g = c(g2, g3)) - B^2/12)
# We choose real part alone. Check that the imaginary part # is very small. Use the command max(abs(Im(u))) to check # it.
# If the imaginary part is indeed quite small xl <- 'Dimensionless velocity' yl <- 'y' ml <- 'Velocity profile with porous media' plot(Re(u), y, type = 'l', xlab = xl, ylab = yl, main = ml)
The same code can be used if the equation
has a negative discriminant and
is complex. In the event
is real, the code should be modified so that the real axis is along the
axis.
When we introduced the non-dimensional variables, we defined
. Therefore,
should range from 0 to 1. However, we notice in Figure 3 that it does not. We will introduce another transformation that brings the non-dimensional displacement variable between 0 and 1 after proving its validity.
Theorem 3: If we introduce a new non-dimensional displacement variable
defined as
where
is a positive real number then this transformation keeps the form of equation (11) unchanged.
Proof: For sake of clarity, let us write the derivatives in full and re-introduce the
subscript for non-dimensional variables. Thus, equation (11) is written as
(35)
If the non-dimensionalization of
is done with
, where
is a positive real number then
If
is a function of
then
and hence
If we denote the new dimensionless numbers with a tilde on top then from equations (8) to (10),
(36)
(37)
(38)
The new pressure gradient is
while the new constants
,
and
become
(39)
(40)
(41)
Therefore, equation (35) becomes,
or
The vertical axis of the graph in Figure 3 extends from
to
. To shrink it to
to
, we choose
, in this case
. After changing the constants
,
and
we proceed in similar fashion as before to get the plot in Figure 4.
Figure 4 Rescaled velocity profile for flow in a channel bounded by flat plates.
The code to generate the plot is
Listing 3: Velocity profile of flow in porous medium
library(elliptic)
epsilon <- 0.1 # Porosity
Re <- 0.1 # Reynold's number
Da <- 5e-1 # Darcy number
J <- 1 # Viscosity ratio
G <- 1e-4 # Pressure gradient
F0 <- 1.75/sqrt(150 * epsilon^3) # Geometric function
# Re-normalize y using this factor
alpha <- 6.232543
# Calculation of A, B, C
# However, for sake of simplicity, we call the variables A, B and C.
A <- sqrt((F0 * epsilon * Re)/(J * sqrt(Da))) * alpha
B <- sqrt(epsilon/(J * Da)) * alpha
C <- sqrt(epsilon^2 * Re * G/J) * alpha
g2 <- (A^2*C^2 + B^4/4)/3
u2_center <- A^2/6 + B^2/12
# Choose e2 as u2_center
e2 <- u2_center
e1 <- (-e2 + sqrt(g2 - 3*1i*(-1i)*e2^2))/2
e3 <- (-e2 - sqrt(g2 - 3*1i*(-1i)*e2^2))/2
g3 <- 4*e1*e2*e3
Omegas <- half.periods(g = c(g2, g3)) print(Omegas)
# Computed using Mathematica
k1 <- 1.286949924601859 + 0.5000000786725393i
P(k1, g = c(g2, g3), give.all.3 = T)
z <- Re(k1) + seq(from = 0, to = -2*Im(k1), len = 100)*1i
y <- -Im(z)
u <- 6/A^2*( P(z + Im(k1)*1i, g = c(g2, g3)) - B^2/12 )
# We choose real part alone. Check that the imaginary part # is very small. Use the command max(abs(Im(u))) to check # it.
xl <- 'Dimensionless velocity'
yl <- 'Dimensionless y'
ml <- 'Velocity profile with porous media' plot(Re(u), y, type = 'l', xlab = xl, ylab = yl, main = ml)
To compare the flow profiles with and without porous medium we choose the pressure gradient in the latter case so that the flow has the same peak velocity as in the former case. If we run the code in listing 4 after the one in listing 3, we can have the two profiles in the same plot as shown in Figure 5.
Listing 4: Comparison of velocity profiles
# To compare flows with and without porous media,
# adjusting the pressure gradient in the second
# case so that they have the same maximum velocity.
umax <- max(abs(Re(u)))
G.eq <- 2*mu*umax/(Im(k1)^2)
w.eq <- G.eq/mu * y * (Im(k1) - y/2)
xl <- 'Dimensionless velocity'
yl <- 'Dimensionless y'
ml <- 'Comparing flows with and without porous medium.'
plot(Re(u), y, type = 'l', col = 'blue', xlab = xl, ylab = yl, main = ml)
lines(w.eq, y, col = 'red')
legend.list <- c('With porous medium', 'Without porous medium'
legend(x = 'topright', legend.list, lty = c(1, 1), lwd=c(2.5,2.5),col=c('blue','red'))
Calculation of flux
The flux of volume of fluid past a section of the channel is probably more important in practice than the velocity profile. In this section, I will calculate the flux in the channel. If
denotes the transverse dimension of the channel then the flux
is
where
is the width of the channel and
is velocity of the fluid. If the channel does not have porous medium then
and hence the flux
is
(42)
On the other hand if the channel is stuffed with porous medium then, the flux
is
(43)
In terms of non-dimensional parameters
and hence
. If we adjust pressure gradient so that peak velocity matches with that when porous medium is present, then code listing 5 gives
. Carrying out the integration in equation (43) and noting that
, we get
. As expected from Figure 5,
. Note that listing 5 is meant to be run after running listing (4).
Figure 5 Comparison of velocity profiles.
Listing 5: Calculation of flux,
# Flux in presence of porous medium
# up denotes the 'velocity function' when porous medium is present
up <- function(x) {6/A^2*( P(x + Im(k1)*1i, g = c(g2, g3)) - B^2/12)}
# We multiply the integral by i because the integral was carried out along the imaginary axis.
Q1 <- integrate.segments(up, c(z[1], z[100]), close = F)*1i
# Flux in absence of porous medium
Q0 <- G.eq/(12*mu)
There is another way to compute the flux of flow in a porous medium. It uses the relation between Weierstrass
function and Weierstrass (not Riemann)
function.4
(44)
Therefore, we get an analytical expression for
,
(45)
The library 'elliptic' allows us to evaluate Weierstrass
function. The listing 5, if run after listing 5 computes
.6
Listing 6: Another way to compute flux
# We calculate the two terms in equation (45) separately.
Q11 <- 6/A^2*(zeta(z[1] + Im(k1)*1i, g = c(g2, g3)) - zeta(z[100] + Im(k1)*1i, g = c(g2, g3)))
Q12 <- B^2/(2*A^2)*(z[100] - z[1])
# We multiply the result by i because the integral was carried out along the imaginary axis.
Q1.using.zeta <- (Q11 - Q12)*1i
Acknowledgements
Conflict of interest
Author declares there is no conflict of interest in publishing the article.
References
- DA Nield, SLM Junqueira, JL Lage. Forced convection in a fluid-saturated porous-medium with isothermal or isoflux boundaries. Journal of Fluid Mechanics. 1996;322:201−214.
- Zaoli Guo, TS Zhao. Lattice Boltzmann model for incompressible flows through porous media. Phys Rev E Stat Nonlin Soft Matter Phys. 2002;66(3 pt 2B):036304.
- ET Whittaker, GN Watson. A Course of Modern Analysis. UK: Cambridge University Press; 1927. p. 627.
- Lawden Derek F. Elliptic functions and applications. Newyork: Springer-Verlag; 1989. p. 336.
- M Abramowitz, IA Stegun. Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. 10th printing, National Bureau of Standards, Applied Mathematical Series, USA. 1972. p. 470.
- Hankin Robin KS. Introducing elliptic, an R package for elliptic and modular functions. Journal of Statistical Software. 2006;15(7):1−22.
©2018 Joshi. This is an open access article distributed under the terms of the,
which
permits unrestricted use, distribution, and build upon your work non-commercially.