Examples » ZalCG: Boeing 747

This example uses ZalCG in Inciter to compute the stationary flow field around a Boeing 747 commercial airliner.

The test case is configured with the cruise Mach number of 0.84 and an angle of attack of 3.06 degrees, which yields a transonic flow. Since the solution converges to steady state, the most efficient ways to compute this problem are to use implicit time marching or local time stepping [1] of which ZalCG implements the latter allowing taking larger time steps for larger cells.

Problem setup

The mesh, shown below, consists of 4,788,491 tetrahedra connecting 853,437 points. The initial conditions prescribe the Mach number of 0.84 and the velocity with an angle of attack of 3.06 degrees. At the outer surface of the domain characteristic far-field boundary conditions are applied. Symmetry (free-slip) conditions are applied on the airplane and symmetry surfaces.

Image Surface mesh for computing the flow around a Boeing 747, nelem=4.7M, npoin=850K.

Code revision to reproduce

To reproduce the results below, use code revision f5fb9d0 and the control file below.

Control file

-- vim: filetype=lua:

print "Boeing 747"

ttyi = 10
cfl = 0.5

solver = "zalcg"
fctsys = { 1, 2, 3, 4, 5 }
fctclip = true
fctfreeze = 1.2e-5
stab2 = true
stab2coef = 0.1

steady = true
residual = 1.0e-10
rescomp = 1

part = "phg"

mat = { spec_heat_ratio = 1.4 }

rho = 1.225     -- density of air at STP, kg/m3
pre = 1.0e+5    -- N/m^2
mach = 0.84     -- free stream Mach number
angle = 3.06    -- angle of attack

-- free stream sound speed
a = math.sqrt( mat.spec_heat_ratio * pre / rho )

ic = {
  density = rho,
  pressure = pre,
  velocity = { mach * a * math.cos(angle*math.pi/180.0),
               mach * a * math.sin(angle*math.pi/180.0),
               0.0 }
}

bc_sym = {
  sideset = { 1 }
}

bc_far = {
  pressure = pre,
  density = rho,
  velocity = ic.velocity,
  sideset = { 2 }
}

fieldout = {
  iter = 10000,
  sideset = { 1 },
}

diag = {
  iter = 10,
  format = "scientific",
  precision = 12
}

Run on 32 CPUs

./charmrun +p32 Main/inciter -i b747s.exo -c b747.q |& tee b747.out

Convergence to steady state

The figure below shows the convergence history of the L2-norms of the residuals of the conserved quantities.

Image

Visualization

ParaView can be used for interactive visualization of the numerically computed 3D fields as

paraview out.e-s.0.32.0

Results on the airplane body and symmetry surfaces can be visualized by first stitching the partitioned surface output files into a single surface output file followed by invoking paraview on the stitched surface exo file:

Main/meshconv -i out-surf.1.e-s.0.32.% -o out-surf.1.exo
paraview out-surf.1.exo

The Mach number distribution on the combined airplane and symmetry surface is depicted below.

Image Mach number distribution and contours on the symmetry and airplane surfaces.

References