Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
giulio.romanelli@gmail.com
elisa.serioli@gmail.com
mantegazza@aero.polimi.it
Introduction
Numerical scheme
Test problems
Table of contents
1
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Work in progress
Future work
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Outline
Objective
Develop a new accurate inviscid compressible Godunov-type coupled solver for
aerodynamic (and aeroelastic) applications in transonic and supersonic regime
To begin with
OpenFOAM built-in inviscid compressible segregated (with PISO correction)
solvers rhoSonicFoam, rhopSonicFoam and sonicFoam
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Euler equations
Governing equations for time-dependent, compressible, ideal (inviscid = 0 and
nonconducting = 0) fluid flows in coupled, integral, conservative form:
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
b
n
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
Nd 1
S = V R
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
V RN d
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
b 0
S inf low S | n
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
b
n
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
000000000000000000000000000000000000000000
111111111111111111111111111111111111111111
Z
I
d
b dS = 0
u
dV
+
f(u) n
S
dt V
u(x, 0) = u0 (x)
m
v
m
=
u=
f=
m + P [I ]
t
m t
1
2
E
e + 2 |v|
(E + P )
Introduction
Numerical scheme
Test problems
Work in progress
Future work
FV Framework
Sh = Vh
0000000
1111111
00000000
11111111
1111111
0000000
00000000
11111111
0000000
1111111
00000000
11111111
0000000
1111111
00000000
11111111
0000000
1111111
00000000
11111111
00000000
11111111
0000000
1111111
0000000
1111111
00000000
11111111
0000000
1111111
00000000
11111111
0000000
1111111
00000000
11111111
0000000
1111111
00000000
11111111
0000000
1111111
00000000
11111111
0000000
1111111
00000000
11111111
0000000
1111111
00000000
11111111
00000000000000
11111111111111
0
1
0000000
1111111
00000000
11111111
00000000000000
11111111111111
0
1
0000000
1111111
00000000000000
11111111111111
0
1
0000000
1111111
00000000000000
11111111111111
0
1
0000000
1111111
00000000000000
11111111111111
0
1
0000000
1111111
0000000000000
1111111111111
0000000
1111111
i
j
00000000000000
11111111111111
0
1
0000000
1111111
0000000000000
1111111111111
0000000
1111111
0
1
0000000000000
1111111111111
0000000
1111111
0000000000
1111111111
0000000000
1111111111
0
1
0000000
1111111
0000000000000
1111111111111
0000000000
1111111111
00000000001111111
1111111111
0001111111111
111
0
1
0000000000000
1111111111111
0000000
0000000000
1111111111
0000000000
000
111
0
1
0000000
1111111
0000000000000
1111111111111
0000000000
1111111111
00000000001111111
1111111111
0001111111111
111
0
1
0000000000000
1111111111111
0000000
0000000000
1111111111
0000000000
000
111
0
1
0000000
1111111
0000000000000
1111111111111
0000000000
1111111111
0000000000
1111111111
000
111
0
1
0000000000000
1111111111111
0000000
1111111
ij 1111111
ij
0000000000
1111111111
0000000000
1111111111
0001111111111
111
0
1
0000000000000
1111111111111
0000000
0000000000
1111111111
0000000000
000
111
0
1
0000000000000
1111111111111
0000000
1111111
0000000000
1111111111
00000000001111111
1111111111
0000000000000
111
0
1
0000000
0000000000
1111111111
0001111111111
111
0000000
1111111
00000000001111111
1111111111
0001111111111
111
0000000
0000000000
000
111
0000000
1111111
0000000000
1111111111
000
111
0000000
1111111
00000000001111111
1111111111
0001111111111
111
0000000
0000000000
000
111
0000000
1111111
00000000001111111
0001111111111
111
0000000
000
111
000
111
000
111
000
111
000
111
000
111
000
111
b
n
Nf
near discontinuities
dUi
1 X
+
|ij | Fij = 0
Targets:
dt
|i | j=1
nd
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Harten-Lax-vanLeer (HLL/C)
Osher-Solomon (OS)
y, v
L
b ij
n
i
Y, v Y
z, w
X, v X
Z, v Z
x, u
local solutions UL
nij ) UG
i = R(b
i
L
L
L
local fluxes FL
ij = Fij (Ui , Uj )
ij
nij )1 FL
back to global fluxes FG
ij = R(b
ij
Introduction
Numerical scheme
Test problems
Work in progress
Future work
u b u
+A
=0
t
x
Ui
xi
ij
xj
b=
Projected Jacobian matrix evaluated at Roes intermediate state A
satisfying the following properties:
1
2
3
f
b
u U
b ij
n
b A(U) smoothly as Ui , Uj U
A
b=R
b
bR
b 1 diagonalizable with real eigenvalues and orthogonal eigenvectors
A
f(Ui ) + f(Uj )
1 b b b 1
b ij R
n
|| R (Uj Ui )
2
2
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Implemented in AeroFoam
Lax-Wendroff (LW)
Jameson-Schmidt-Turkel (JST)
Remark
To build the antidissipative numerical fluxes vector Aij (Ui , Uj ; Ui , Uj )
solutions Ui and Uj on extended cells i and j are also needed
Introduction
Numerical scheme
Test problems
Work in progress
Future work
0
1
000000000000
111111111111
i
0000000
1111111
0000000000000
1111111111111
0000000000
1111111111
00000000001111111
1111111111
0
1
000000000000
111111111111
0000000
0000000000000
1111111111111
j
0000000000
1111111111
0000000000
1111111111
000
111
0
1
0000000000000
1111111111111
0000000
1111111
0000000000
1111111111
00000000001111111
1111111111
0001111111111
111
0
1
0000000
0000000000000
1111111111111
0000000000
1111111111
0000000000
000
111
0
1
0000000
1111111
0000000000000
1111111111111
0000000000
1111111111
00000000001111111
1111111111
0001111111111
111
0
1
0000000
0000000000000
1111111111111
0000000000
1111111111
0000000000
000
111
0
1
0000000000000
1111111111111
0000000
1111111
0000000000
1111111111
00000000001111111
1111111111
0001111111111
111
0
1
0000000
0000000000000
1111111111111
ij
0000000000
1111111111
0000000000
000
111
0
1
0000000000000
1111111111111
0000000
1111111
0000000000
1111111111
0000000000
1111111111
0001111111111
111
0
1
ij 1111111
0000000
1111111
0000000000
1111111111
0000000000
000
111
0000000
00000000001111111
1111111111
0001111111111
111
0000000
0000000000
000
111
0000000
1111111
00000000001111111
1111111111
0001111111111
111
0000000
0000000000
000
111
0000000
1111111
00000000001111111
1111111111
0001111111111
111
0000000
00000000001111111
000
111
0000000
000
111
000
111
000
111
000
111
000
111
000
111
000
111
b
n
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Lax-Wendroff
Lax-Wendroff (1961): the following antidissipative numerical fluxes vector Aij
is added to ARS monotone 1st order numerical fluxes vector FARS
ij
1b b
t
b 2 W
Aij = R
||
||
2
kxj xi k
b 1 (Uj Ui ) is suitably limited
Characteristic variables jump vector W = R
as follows (e.g. vanLeer flux limiter):
W =
W |Q| + Q |W|
Q + W +
where the rth element of characteristic variables upwind jump vector reads:
( 1
b |r (Uj Uj )
br > 0
R
if
Q = Q|r =
b 1 |r (Ui Ui )
br 0.
R
if
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Time discretization
Explicit Runge-Kutta method of order p = 2, 3, 4 as a compromise between:
computational efficiency
memory requirements
3
2.5
RK3
2
RK4
RK2
1.5
1
0.5
0
-3
-2.5
-2
-1.5
-1
-0.5
8
K1
(k+1) = {U}(k) + t
>
+ K32 +
> {U}
6
>
>
>
>
>
>
>
K1 = R( t(k) , {U}(k) )
>
>
>
>
<
RK4: K2 = R t(k) + t
, {U}(k) + t
K1
2
2
>
>
>
>
>
>
>
>
K3 = R t(k) + t
, {U}(k) + t
K2
>
2
2
>
>
>
>
:
K4 = R( t(k) + t, {U}(k) + t K3 )
K3
3
K4
6
Remarks
only 2 time levels must be stored
CFL stability constraint Comax 2.8
O(t2 ) minimum order of accuracy in time is granted also for nonlinear problems
AeroFoam: an accurate inviscid compressible solver for aerodynamic applications
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Boundary conditions
At each boundary interface ij Sh = Vh a suitable numerical solution must
GC
be set on the fictitious or ghost cells GC
j and j
00000000000
11111111111
11111111111
00000000000
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
00000000000
11111111111
GC
j
00000000000
11111111111
00000000000
11111111111
00000000000000
11111111111111
v
00000000000
11111111111
ij
00000000
11111111
00000000000000
11111111111111
0000000
1111111
0000000000000
1111111111111
0000000
1111111
00000000000
11111111111
00000000
11111111
000011111111111111
1111
00000000000000
0000000
1111111
0000000000000
1111111111111
0000000
1111111
00000000000
11111111111
00000000
11111111
0000
1111
0000000
1111111
0000000000000
1111111111111
0000000
1111111
00000000000
11111111111
00000000
11111111
0000
1111
0000000
1111111
0000000000000
1111111111111
0000000
1111111
00000000000
11111111111
00000000
11111111
0000
1111
0000000
1111111
0000000000000
1111111111111
0000000
1111111
00000000000
11111111111
uij
00000000
11111111
0000
1111
0000000
1111111
0000000000000
1111111111111
0000000
1111111
00000000
11111111
0000
1111
0000000000000
1111111111111
0000000
1111111
0000
1111
0000000
1111111
00000000
11111111
0000
1111
0000000
1111111
0000000000000
1111111111111
0000 GC
1111
0000000
1111111
00000000
11111111
0000
1111
0000000
1111111
0000000000000
1111111111111
0000
1111
0000000
1111111
j
00000000
11111111
0000
1111
0000000
1111111
0000000000000
1111111111111
0000
1111
0000000
1111111
00000000
11111111
0000
1111
b
n
0000000000000
1111111111111
0000000
1111111
0000000
1111111
00000000
11111111
ij
0000
1111
1111111
0000000000000
1111111111111
0000000
1111111
i
0000000
00000000
11111111
0000
1111
0000000
1111111
0000000000000
1111111111111
0000000
1111111
00000000
11111111
0000 i
1111
0000000
0000000000000
1111111111111
0000000
1111111
00000000
11111111
0000
1111
ij
00000000000
11111111111
01111111
1
0000000
1111111
0000000000000
1111111111111
0000000
1111111
00000000
11111111
0000
1111
00000000000
11111111111
0
1
0000000000000
1111111111111
0000000
1111111
00000000
11111111
0000
1111
00000000000
11111111111
0
1
0000000000000
1111111111111
0000000
1111111
00000000
11111111
0000
1111
00000000000
11111111111
0
1
0000000000000
1111111111111
0000000
1111111
00000000
11111111
0000
1111
00000000000
11111111111
0
1
0000000000000
1111111111111
0000000000
1111111111
0000000
1111111
00000000
11111111
0000000
1111111
0000
1111
00000000000
11111111111
0
1
00000000001
1111111111
0000000
1111111
0
0000000000
1111111111
0000000
1111111
0
1
0000000000
1111111111
0000000
1111111
0
1
0000000000
1111111111
0000000
1111111
0
1
0000000000
1111111111
Sh = Vh
0000000
1111111
0
1
0000000000
1111111111
0000000
1111111
0
1
00000000001
1111111111
0000000
1111111
0
0000000000
1111111111
0000000
1111111
0
1
00000000001
1111111111
0000000
1111111
0
0000000000
1111111111
0000000
1111111
0
1
0000000
1111111
0000000
1111111
0000000
1111111
Characteristic splitting
the number of physical boundary
conditions Nbc equals the number
br < 0
of negative eigenvalues
Physical boundary conditions:
Nbc primitive variables assigned
Numerical boundary conditions:
Nd +2Nbc primitive variables
extrapolated
Introduction
Numerical scheme
Test problems
Work in progress
Future work
S inflow
b ij < 0
v ij n
Flow type
Nbc
Assigned
variables
Extrapolated
variables
Supersonic flow
b ij > cij
v ij n
Nd + 2
T, v, P
Nd + 1
T, v
T, v, P
v, P
(SupersonicInlet)
Subsonic flow
b ij < cij
v ij n
(Inlet)
Supersonic flow
b ij > cij
v ij n
S outflow
b ij > 0
v ij n
(ExtrapolatedOutlet)
Subsonic flow
b ij < cij
v ij n
(Outlet)
Introduction
Numerical scheme
Test problems
Work in progress
Future work
ejt = Ejt 1 j |v j |2 + 1 j |e
v j |2
E
2
2
ej = v j (v j n
b ij ) n
b ij
v
kinematic
mixed
Mesh is not deformed runtime (expensive) but only in the post-processing stage
with the implemented utility showDisplacement (motionSolver library is used)
AeroFoam: an accurate inviscid compressible solver for aerodynamic applications
Introduction
Numerical scheme
Test problems
Work in progress
Future work
v2
1 M1 , P1 , T1
v2
v3
3 M3 , P3 , T3
1
1111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000
rhoSonicFoam
rhopSonicFoam
sonicFoam
AeroFoam
Introduction
Numerical scheme
Test problems
Work in progress
Future work
102
O(h)
Solver
Rh
rhoSonicFoam
0.267
0.543
0.998
rhopSonicFoam
0.425
0.765
0.998
sonicFoam
0.189
0.384
0.997
AeroFoam
1.601
1.382
0.997
rhoSonicFoam
rhopSonicFoam
sonicFoam
AeroFoam
0.1
0.001
O(h )
0.01
0.1
h[m]
100
10
rhoSonicFoam
rhoSonicFoam
rhopSonicFoam
sonicFoam
rhopSonicFoam
sonicFoam
Speedup []
CPUtime [ s ]
10
AeroFoam
1
O(Ne)
4
3
2
0.1
1
O(Ne2)
0.01
100
1000
10000
100000
Ne
AeroFoam: an accurate inviscid compressible solver for aerodynamic applications
0
100
1000
10000
Ne
100000
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Incompressible limit
2D Fixed cylinder
M = 0.05 !
15K triangular mesh (Gmsh)
comparison with exact solution
(potential theory)
single iteration CPUtime = 0.09 s
3
AeroFoam
Exact
Cp []
CpExact = 1 4 sin2
-1
-1
-0.5
0
x/R []
0.5
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Cp []
0.5
Lower Surface
WT
-0.5
FLUENT
AeroFoam
-1
0
0.2
0.4
0.6
x/c []
0.8
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Thin airfoil
2D Thin airfoil (t/c = 0.01)
M = 0.5, 0.7, 1.0, 1.2
vertical step gust vg /V = tan(1 )
7K triangular mesh (Gmsh)
comparison with exact solution
(Bisplinghoff)
single iteration CPUtime = 0.04 s
1.6
1.6
1.4
M=0.7
1.2
CL//2 []
CL//2 []
1.4
M=0.5
0.8
Exact
0.6
M=1.0
1.2
1
M=1.2
0.8
Exact
0.6
AeroFoam
AeroFoam
0.4
0
8
[]
10
12
14
16
0.4
0
8
[]
10
12
14
16
Introduction
Numerical scheme
Test problems
Work in progress
Future work
b = 1.196 m
= 30
LE
11111
00000
00000 1
11111
00000
11111
00000
11111
2
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000
11111
00000T E = 15.8
11111
y
x
3D ONERA M6 wing
M = 0.84
M = 0.84, = 3.06
3
4
5
6
ct = 0.509 m
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0.44 cr
cr = 0.806 m
Introduction
Numerical scheme
Test problems
Work in progress
Future work
1.5
1.5
y/b = 0.20
y/b = 0.95
1
Upper Surface
0.5
Cp []
Cp []
Upper Surface
Lower Surface
0.5
Lower Surface
WT
-0.5
WT
-0.5
FLUENT
FLUENT
AeroFoam
AeroFoam
-1
-1
0
0.1
0.2
0.3
0.4
0.5
0.6
x/c []
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
x/c []
0.7
0.8
0.9
Introduction
Numerical scheme
Test problems
Work in progress
Future work
xo = 0.508 m
R(x)
Ro = 0.076 m
xb = 0.760 m
Rb = Ro /2
c/2 = 30
1
11111111
00000000
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
11111111
b = 0.457 m
5
6
ct = 0.076 m
Introduction
Numerical scheme
Test problems
Work in progress
Future work
0.4
y/b = 0.925
= +15
0.2
0.5
Cp []
0
Cp []
Upper Surface
-0.2
= 15
-0.4
-0.6
WT
-0.8
FLUENT
Body
Lower Surface
0
WT
-0.5
FLUENT
Wing
AeroFoam
AeroFoam
-1
-1
0
0.1
0.2
0.3
0.4
0.5
0.6
x/L []
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
x/c []
0.7
0.8
0.9
Introduction
Numerical scheme
Test problems
Work in progress
Future work
0.05
0
-0.05
WT
Flo3xx
-0.1
AeroFoam
-0.15
-1
-0.5
0
[]
0.5
Introduction
Numerical scheme
Test problems
Work in progress
Future work
YF-17 fighter
High AoA LEX vortex flow
M = 0.28, = 19.4
530K tetrahedral mesh
(Gmsh)
comparison with numerical
and experimental data
q/q
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Experimental
CFL3D
Flutter index []
0.6
EDGE
FLUENT
0.5
AeroFoam
0.4
0.3
M = 0.960
Mode n 1
AeroFoam: an accurate inviscid compressible solver for aerodynamic applications
0.2
0.6
0.7
0.8
0.9
M []
1.1
1.2
Introduction
Numerical scheme
Test problems
Work in progress
Future work
Future work
Numerical scheme
fully implicit time integration scheme (template for LDUmatrix class needed)
runtime mesh deformation and ALE formulation (dynamicMesh library)
parallelization
Physical models
thermodynamic model of real reacting gas mixture in thermo-chemical equilibrium
(important for hypersonic flows)
viscous numerical fluxes and turbulence models (e.g. Spalart-Allmaras)
Introduction
Numerical scheme
Test problems
Work in progress
Future work
References
Numerical scheme
M. Feistauer, J. Felcman and I. Straskraba. Mathematical and Computational
Methods for Compressible Flow. Oxford University Press, 2003
R. J. LeVeque. Numerical Methods for Conservation Laws. Birkh
auser Verlag, 1992
Test problems
R. L. Bisplinghoff, H. Ashley and R. L. Halfman. Aeroelasticity. Dover, 1996
Various Authors. Experimental Data Base for Computer Program Assessment.
AGARD Advisory Report 138, 1979
S. S. Davies and G. N. Malcolm. Experimental Unsteady Aerodynamics of
Conventional and Supercritical Airfoils. NASA Tech. Memorandum 81221, 1980