Flow around three cylinder in equilaterial triangular arrangements
this benchmark is based on [chen-2020]. |
1. Presentation of the test case
1.1. Presentation
This study is based on the flow of a fluid in front of 3 circular and identical cylinders. The cylinders are arranged in an equilateral rectangle, one of the cylinders is placed upstream and the other two side by side downstream.
In this test case, we are particularly interested in the effect of the spacing ratio L/D and the number of Reynolds Re on the flow, where L is the center-to-center spacing of the cylinder and D is the cylinder diameter.
The numerical results obtained in this study, will be compared with those found in the literature, for different gaps \(L/D \in [1,6\)] and a Reynolds number \(Re \in [50,300\)].
1.2. Geometry setting
The arrangement of the cylinders in the calculation area \(\Omega\) is shown in the figure below :
We provide here the basic geometry used in Gmsh to describe \(\Omega\).
//GMSH
D=1.5;
L_sur_D=1.1;
L=D*L_sur_D;
H=200*D;
h=8;
Ld=100*D;
Lu=-100*D;
//caree
Point(1) = {0, 0, 0,h};
Point(2) = {Ld,H/2,0,h};
Point(3) = {Ld,-H/2,0,h};
Point(4) = {Lu,H/2,0,h};
Point(9) = {Lu,-H/2,0,h};
//+
Line(1) = {2, 3};
//+
Line(2) = {3, 9};
//+
Line(3) = {9, 4};
//+
Line(4) = {4, 2};
//+
Point(23) = {-L, 0, 0, h};//centre 1
//+
Point(17) = {L, L_sur_D, 0, h};//centre 2
//+
Point(18) = {L, -L_sur_D, 0, h}; //centre 3
//+
Point(24) = {L+D/2, L_sur_D, 0, h};
//+
Point(25) = {L-D/2, L_sur_D, 0, h};
//+
Point(26) = {L-D/2, -L_sur_D, 0, h};
//+
Point(27) = {L+D/2, -L_sur_D, 0, h};
//+
Point(28) = {-L-D/2, 0, 0, h};
//+
Point(29) = {-L+D/2, 0, 0, h};
//+
Circle(9) = {24, 17, 25};
//+
Circle(10) = {25, 17, 24};
//+
Circle(11) = {26, 18, 27};
//+
Circle(12) = {27, 18, 26};
//+
Circle(14) = {29, 23, 28};
//+
Circle(15) = {28, 23, 29};
//+
//surface
//+
Line Loop(1) = {9, 10};
//+
Line Loop(2) = {12, 11};
//+
Line Loop(3) = {14, 15};
//+
Line Loop(4) = {1, 2, 3, 4};
//+
Plane Surface(1) = {1, 2, 3, 4};
//+
Physical Line("inlet") = {3};
//+
Physical Line("outlet") = {1};
//+
Physical Line("wall1") = {4};
//+
Physical Line("wall2") = {2};
//+
Physical Surface("omega") = {1};
The Data provided on the whole \(\Omega\) domain allows us to have conditions at the specified limits, the table below summarize these data.
Notation | Description | Value | Unit |
---|---|---|---|
\(D\) |
cylinder diameter |
- |
\(m\) |
\(L\) |
the center-to-center spacing of the cylinder |
- |
\(m\) |
\(H\) |
side of the domain |
200D |
\(m\) |
\(U\) |
Inlet velocity |
\(\frac{Re}{D}\) |
\(m/s\) |
1.3. Physical setting
The Physical parameters are:
Notation | Description | Value | Unit |
---|---|---|---|
\(\rho\) |
Density |
1 |
\(Kg/m^3\) |
\(\mu\) |
Dynamic viscosity |
1 |
\(Pa.s\) |
1.4. Boundary conditions
In this study 3 boundary conditions are imposed: Inlet condition, Outlet condition and the Wall condition.
-
Inlet condition
On boundary (1) a Dirichlet-type condition is imposed and a Poiseuille profile is placed as an entry condition, it’s defined by:
"inlet":
{
"expr":"{Re/D,0}:Re:D"
}
-
Wall conditions
On the limits (3), i.e. on the upper and lower wall we have :
"wall1":
{
"expr":"0"
},
"wall2":
{
"expr":"0"
}
-
Outlet condition
On boundary (2) (i.e the exit boundary condition) a Neumann-type condition is imposed
"Neumann_scalar":
{
"outlet":
{
"expr":"0"
}
}
2. Configuration files
2.1. cfg file
directory=resulats/cylinders/P1
[case]
discretization= P2P1G1
dimension=2
[fluid]
filename=$cfgdir/cylinders.json
mesh.filename=$cfgdir/cylinders.geo
gmsh.hsize=8
solver= Newton #Oseen #Newton #Picard,Newton
linearsystem-cst-update=false
jacobian-linear-update=false
snes-monitor=true
pc-type= gams #gasm,lu
snes-rtol=1e-10
2.2. json file
Here the full json configuration file
{
"Name": "three circular cylinders in equilateral-triangular arrangements",
"ShortName":"flow past",
"Models":
{
"equations": "Navier-Stokes"
},
"Materials":
{
"omega":
{
"rho":"1",
"mu":"1"
}
},
"Parametres":
{
"Re":"100",
"D":"1.5"
},
"BoundaryConditions":
{
"velocity":
{
"Dirichlet":
{
// tag::inlet[]
"inlet":
{
"expr":"{Re/D,0}:Re:D"
}
// end::inlet[]
},
"outlet":
{
// tag::walls[]
"wall1":
{
"expr":"0"
},
"wall2":
{
"expr":"0"
}
// end::walls[]
}
},
"fluid":
{
// tag::outlet[]
"Neumann_scalar":
{
"outlet":
{
"expr":"0"
}
}
// end::outlet[]
}
},
"PostProcess":
{
"Exports":
{
"fields":["velocity"]
}
}
}
3. Results
3.1. Running the case
:
The command line to run this cases is
mpirun -np 4 feelpp_toolbox_fluid--config-file cylindre.cfg--fluid.snes-monitor=1--fluid.gmsh.hsize=8
Once the command is executed the results are exported to ParaView for viewing the flow by executing:
rsync -avz atlas.math.unistra.fr:/feel
Bibliography
-
[chen-2020] Numerical simulations of flow past three circular cylinders in equilateral-triangular arrangements Chen, Weilin, Ji, Chunning, Alam, Md. Mahbub, Williams, John, Xu, Dong, Journal of Fluid Mechanics2020 / 05 Vol. 891, Download PDF