PhD Research

My Research At A Glance #

My dissertation work is focused on applying high-order spectral element methods to the scale-resolving simulation of high-speed airbreathing propulsion combustors. Specifically I have been working with the Glenn Flux Reconstruction code developed at NASA Glenn Research Center, adding onto its shock capturing capabilities and simulating an experimental dual-mode ramjet combustor from UIUC.

Spectral Element Method #

Spectral elements are a special case of finite elements. Finite-element methods discretize a scalar field into a set of elements, within which the scalar is represented by some function. Most commonly these are polynomial representations; though I have seen some interesting works using things like exponential funtions to achieve faster convergence for boundary layers. Spectral elements are then a subset of finite elements which use polynomials of arbitrary degree to represent the solution, and which are generally discontinuous between neighboring cells. This first picture is a representation of what a few adjacent cells may look like. Notice the discontinuity between elements where they meet.

Here are a couple looks at how those polynomials are discretized. First, this is a diagram of how a solution may be represented by individual nodes using Langrange polynomials. Each node corresponds to the basis polynomials which equals 1 at it’s position in the refference element. The following uses the Gauss-Legendre-Lobatto points to define a P3 cubic element.

Nodal basis functions

Second, instead of nodes, it is possible to store a magnitude associated with different polynomial modes of the system. On the left if a set of modal basis functions, the Legendre polynomials; on the right is an animation of how adding up the contributions of those basis functions may be used to construct a high-order solution polynomial.

Modal basis functions

Shock-Capturing #

The jump / disontinuity between adjacent cells typically stays very small (in fact is shrinks at the polynomial order increases); however, they can become quite large when the method encounters an issue. These issues happen when the governing equation of the problem you are trying to solve are unable to be represented well by solution within the element. Either there is a sharp jump or doscontinuity in the solution itself, or there are wave-like features with a spatial frequency (wavenumber) higher than what the method can accurately represent. This is what happens if you just try to take a square-shaped wave and make it move from left to right:

not good… especially if a real system where those oscillations could be in a thermodynamic quantity like density which must remain positive.

There are many ways to deal with that which range from good to terrible and from inexpensive to quite costly. These operate in one of three ways:

  • Modify the equations your solving so that they are well-represented by the spectral element space.
  • Modify how you are solving the equations to add numerical smoothing
  • Modify the solution itself according to either the underlying physics or by trying to detect aliasing errors (g.e. checking how large the gap/jump is between elements).

So let’s throw in a limiter that prevents the solution from going too high or too low:

much better. This limiter here is taking the idea of Zhang & Shu and scaling element towards their cell average until all points are between 0 and 1. It’s a bit crude, but does a nice job of showing how the goal of a shock-capturing scheme is to turn the oscilliatory dispersion of the unlimited case into smooth dissipation: trading some accuracy for regularity.

Application: High-Speed Reacting Flow #

Now, my work focused on finding something that works for a much more complicated case: a dual-mode ramjet. This involves the 3D Navier-Stokes, multi-species extension, and chemical reactions.

After much frustration we were able to get something that looks pretty good:

For more information on this, my papers on this are available on the NASA Technical Report Server.