You are on page 1of 28

3rd OpenFOAM Workshop

11th July 2008

AeroFoam: an accurate inviscid compressible


solver for aerodynamic applications
Giulio Romanelli
Elisa Serioli
Paolo Mantegazza
Aerospace Engineering Department
Politecnico di Milano

giulio.romanelli@gmail.com
elisa.serioli@gmail.com
mantegazza@aero.polimi.it

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

Introduction

Numerical scheme

Test problems

Table of contents
1

Introduction

Numerical scheme

Test problems

Work in progress

Future work

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

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

Previous similar work


centralFoam by L. Gasparini: inviscid compressible central (or central-upwind)
coupled solver, 2nd order formulation of Kurganov, Noelle and Petrova (KNP)
GASDYN+OpenFOAM 1D/3D formulation by Dipartimento di Energetica,
Politecnico di Milano: inviscid compressible Godunov-type coupled solver,
1st order Harten, Lax and vanLeer (HLL/C) Riemann solver
AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

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)

u(x S inf low , t) = u (t)


b

Conservative variables vector and inviscid flux function tensor:

m
v
m
=
u=
f=
m + P [I ]

t
m t
1
2
E
e + 2 |v|
(E + P )

Polytropic Ideal Gas (PIG) thermodynamic model: = Cp /Cv , R = Ru /M


AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

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

On each i cell: averaged conservative variables


vector (2volumeScalarField, 1volumeVectorField)
Z
1
u(x, t) dV
Ui (t) =
|i | i
On each ij interface: numerical fluxes vector
(2surfaceScalarField, 1surfaceVectorField)
Z
1
b (x, t) dS
f(u) n
Fij (t) =
|ij | ij

On each i cell: cell-centered spatially discretized Euler equations ODE system

Monotone and sharp solution

Nf
near discontinuities
dUi
1 X
+
|ij | Fij = 0
Targets:

dt
|i | j=1
nd

2 order of accuracy in space


?
in smooth flow regions
AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

Introduction

Numerical scheme

Test problems

Work in progress

Future work

Monotone numerical fluxes


Several Godunov-type monotone 1st order expressions for the numerical fluxes
vector presented in Literature in the form: Fij = Fij (Ui , Uj )

Approximate Riemann Solver (ARS)

Convective Upwind and Split Pressure (CUSP)


Implemented in AeroFoam:

Harten-Lax-vanLeer (HLL/C)

Osher-Solomon (OS)

Euler equations rotational invariance


From a 3D problem in global reference frame G (X Y Z) to an 1D equivalent
problem in local reference frame L (x y z)
R(b
nG
ij )

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

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

Introduction

Numerical scheme

Test problems

Work in progress

Future work

Approximate Riemann Solver


Roe (1981): local linearization at each interface ij of the governing equations
and exact solution of the resulting Riemann problem (e.g. 1D)
Uj

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

b (Uj Ui ) = f(Uj ) f(Ui ) n


b ij
consistency: A

Monotone 1st order numerical fluxes vector (generalization of upwind method):


FARS
=
ij

f(Ui ) + f(Uj )
1 b b b 1
b ij R
n
|| R (Uj Ui )
2
2

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

Introduction

Numerical scheme

Test problems

Work in progress

Future work

High resolution numerical fluxes


Idea: combine a monotone 1st order numerical flux FIij (works fine near shocks)
and a 2nd order numerical flux FIIij (works fine in smooth flow regions) by means
of a flux-limiter function
I
II
I
I
FHR
ij = Fij + ( Fij Fij ) = Fij + Aij ,

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

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

Introduction

Numerical scheme

Test problems

Work in progress

Future work

Extended cells connectivity


b ij , e.g. j : q B(Pj ) = {q |Pj q }
Idea: continue i and j cells along n
b ij n
b ij k is minimum
such that = k(xq xij ) (xq xij ) n
Extended cells connectivity data structures (2 labelField) are initialized in the
pre-processing stage with the following algorithms (meshSearch library is used):
0000000
1111111
00000000
11111111
0000000
1111111
00000000
11111111
0000000
1111111
00000000
11111111
0000000
1111111
00000000
11111111
000000000000
111111111111
0000000
1111111
00000000
11111111
111111111111
000000000000
0000000
1111111
00000000
11111111
000000000000
111111111111
0000000
1111111
00000000
11111111
000000000000
111111111111
0000000
1111111
00000000
11111111
000000000000
111111111111
0000000
1111111
00000000
11111111
000000000000
111111111111
0000000
1111111
00000000
11111111
000000000000
111111111111
0000000
1111111
00000000
11111111
000000000000
111111111111
0000000
1111111
00000000
11111111
000000000000
111111111111
0000000
1111111
00000000
11111111
000000000000
111111111111
00000000000000
11111111111111
0
1
0000000
1111111
00000000
11111111
000000000000
111111111111
00000000000000
11111111111111
0
1
0000000
1111111
000000000000
111111111111
00000000000000
11111111111111
0
1
0000000
1111111
000000000000
111111111111
j
00000000000000
11111111111111
0
1
0000000
1111111
000000000000
111111111111
00000000000000
11111111111111
0
1
0000000
1111111
000000000000 i
111111111111
0000000
1111111
0000000000000
1111111111111
i
j
00000000000000
11111111111111
0
1
0000000
1111111
000000000000
111111111111
0000000000000
1111111111111
0000000
1111111

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

A. Incremental search algorithm


(works fine on structured meshes)
b ij
initial guess xA = sA n
j : q such that xA q
if j j update sA = 2 sA

B. Nonincremental search algorithm


(works fine on unstructured meshes)
b ij where sB = 4|j |/|ij |
xB = sB n
j : q such that xB q

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

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

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

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

CFL stability condition

memory requirements

order of accuracy in time

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

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

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

Riemann boundary conditions


At asymptotic/external boundary subset S
Boundary
type

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)

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

Introduction

Numerical scheme

Test problems

Work in progress

Future work

Slip boundary conditions


At solid/impermeable boundary subset S body
GC
GC
GC
linear extrapolation of solution UGC
j and Uj on ghost cells j and j

set to zero normal velocity component and update conservative variables

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

Generalization: transpiration boundary conditions


The geometric and kinematic effects of a given body displacement law s(x, t)
(rigid and deformative) can be simulated by means of a transpiration velocity:




b ij
b ij ) n
b ij + Vn n
ej = v j (v j n
v
b 0 + s b
Vn = v j b
n + s n
n
| {z } | {z } | {z }
geometric

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

Comparison with existing solvers


2D Oblique shock reflection
M = 2.9, 1 = 29

2 M2 , P2 , T2
v1

v2


1 M1 , P1 , T1

v2
v3


3 M3 , P3 , T3
1

1111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000
1111111111111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000000000000

4 hexahedral meshes (blockMesh)


from Nv = 40 10 to Nv = 320 80
comparison with exact solution
PC AMD64 2.2 GHz, 1 Gbyte RAM

rhoSonicFoam

rhopSonicFoam

sonicFoam

AeroFoam

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

Introduction

Numerical scheme

Test problems

Work in progress

Future work

Comparison with existing solvers


10

102

Least Squares fit for keh kL1 h


||eh||L1 []

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

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

-0.5

0
x/R []

0.5

Introduction

Numerical scheme

Test problems

Work in progress

Future work

NACA 0012 airfoil


2D NACA 0012 airfoil
M = 0.75, = 4
7K triangular mesh (Gmsh)
comparison with FLUENT and
experimental data (AGARD 138)
single iteration CPUtime = 0.04 s
1.5
Upper Surface

Cp []

0.5

Lower Surface

WT
-0.5

FLUENT
AeroFoam

-1
0

0.2

0.4

0.6
x/c []

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

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

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

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

350K tetrahedral mesh (GAMBIT)

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

ONERA M6 wing (1)

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

comparison with FLUENT and


experimental data (AGARD 138)
single iteration CPUtime = 3.48 s

Introduction

Numerical scheme

Test problems

Work in progress

Future work

ONERA M6 wing (2)

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

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

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

RAE A wing + body (1)


L = 1.928 m
xw = 0.609 m
cr = 0.228 m

xo = 0.508 m

R(x)

Ro = 0.076 m

xb = 0.760 m
Rb = Ro /2

c/2 = 30
1

3D RAE A wing + body


M = 0.9, = 1
500K tetrahedral mesh (GAMBIT)

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

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

comparison with FLUENT and


experimental data (AGARD 138)
single iteration CPUtime = 4.52 s

Introduction

Numerical scheme

Test problems

Work in progress

Future work

RAE A wing + body (2)

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

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

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

Pitching NACA 64A010 airfoil


2D NACA 64A010 airfoil
M = 0.796, = 1.01 ,
k = c/2V = 0.202
3.5K triangular mesh (Gmsh)
comparison with Flo3xx and
experimental data (AGARD 702)
single iteration CPUtime = 0.02 s
0.15
0.1

Cycling to limit cycle


CL []

0.05
0

-0.05

WT
Flo3xx

-0.1

AeroFoam
-0.15
-1

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

-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

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

Introduction

Numerical scheme

Test problems

Work in progress

Future work

AGARD 445.6 wing


Aeroelastic transonic flutter boundary
fluid-structure interaction (FSI)
M = 0.678, 0.960, 1.140, = 0
150K tetrahedral mesh (GAMBIT)
comparison with numerical and
experimental data (Langley TDT)
0.7

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)

More 3D test problems (e.g. Piaggio P-180, Apollo reentry capsule)

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

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

AeroFoam: an accurate inviscid compressible solver for aerodynamic applications

You might also like