Laminar Flow Friction Factor in Elliptical Ducts
​Authors: Housam Binous and Ahmed Bellagi

The friction factors for elliptical ducts at low Reynolds numbers are given by
f=
A
Re
Dh
where
A
depends on a/b as follows (see Ref. 1): ​​
A=f
Re
Dh
=
8(
2
a
+
2
b
)
2
Dh
2
a
2
b
with
Re
Dh
=
ρuDh
η
and
Dh=4π
ab
P
where P is the perimeter of the elliptical duct. If the ellipse is defined by:
2
x
2
a
+
2
y
2
b
=1
and
b>=a
, then exact perimeter of an ellipse is given by:
P=4bE(
2
e
)
where: E(m) is the complete elliptic integral of the second kind and e is the eccentricity defined as:
e=
1-
2
a
2
b
.Some numerical values of
f*
Re
Dh
/4
are given in Table 2 of Ref. 1 (see below). Here, we reproduce this Table but for the Darcy friction factor.In addition, we provide a plot of A versus a/b.​​
​​​References:​[1] Y. S. Muzychka and M. M. Yovanovich, Laminar flow friction and heat transfer in non-circular ducts and channels (Part 1: Hydrodynamic problem), Compact Heat Exchangers, A Festschrift on the 60th Birthday of Ramesh K. Shah, Grenoble, France, August 24, 2002.​
In[]:=
(*Eccentricity*)​​e=Sqrt[1-(a^2/b^2)];​​​​(*Ellipseperimeterusingellipticintegral*)​​P=4bEllipticE[e^2]//N;​​​​(*Hydraulicdiameter*)​​Dh=4Piab/P//N;​​​​(*Darcyfrictionfactor*)​​A=(8Dh^2)*((a^2+b^2)/(a^2b^2))//N;
In[]:=
dataTable=Table[{i,A/.a->bi},{i,0.05,1,0.05}];
In[]:=
Grid[Prepend[dataTable,{"Radius ratio b/a","f*Re_Dh or A"}],Frame->All,Background->{None,{Lighter[Blend[{Blue,Red}],.3],{Lighter[Blend[{Blue,Darker@Red}],.8],Lighter[Red,.9]}}},ItemSize->{8.4,2.0},Frame->Darker[Gray,.6],ItemStyle->14,Spacings->{Automatic,.8}]
Out[]=
Radius ratio b/a
f*Re_Dh or A
0.05
78.391
0.1
77.2555
0.15
75.8741
0.2
74.4096
0.25
72.9598
0.3
71.5841
0.35
70.317
0.4
69.1762
0.45
68.1685
0.5
67.2932
0.55
66.545
0.6
65.9157
0.65
65.3959
0.7
64.9754
0.75
64.644
0.8
64.3917
0.85
64.2094
0.9
64.0885
0.95
64.021
1.
64.
In[]:=
data=Table[{i,A/.a->bi},{i,0.001,1,0.001}];
In[]:=
ListPlot[data,PlotRange->{{0.0,1},{60,80}},Frame->True,GridLines->Automatic,PlotStyle->Darker@Red,AspectRatio->1,Joined->True,FrameLabel->{Style["a/b",16],Style["A",16]}]
Out[]=