+ All Categories
Home > Documents > A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the...

A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the...

Date post: 10-Mar-2020
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
31
A recovery-assisted DG code for the compressible Navier-Stokes equations January 6 th , 2017 5 th International Workshop on High-Order CFD Methods Kissimmee, Florida Philip E. Johnson & Eric Johnsen Scientific Computing and Flow Physics Laboratory Mechanical Engineering Department University of Michigan, Ann Arbor
Transcript
Page 1: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

A recovery-assisted DG code for the compressible Navier-Stokes equations

January 6th, 20175th International Workshop on High-Order CFD MethodsKissimmee, Florida

Philip E. Johnson & Eric Johnsen

Scientific Computing and Flow Physics LaboratoryMechanical Engineering DepartmentUniversity of Michigan, Ann Arbor

Page 2: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Code OverviewBasic Features:

• Spatial Discretization: Discontinuous Galerkin, nodal basis• Time Integration: Explicit Runge-Kutta (4th order and 8th order available)• Riemann solver: Roe, SLAU2†

• Quadrature: One quadrature point per basis function

Non-Standard Features:• Discontinuity Sensor: Detects shock/contact discontinuities, tags “troubled” elements

• ICB reconstruction: compact technique, adjusts Riemann solver arguments

• Compact Gradient Recovery (CGR): Mixes Recovery with traditional mixed formulation for viscous terms

• Shock Capturing: PDE-based artificial dissipation inspired by C-method†† of Reisner et al.

†Kitamura & Shima, JCP 2013††Reisner et al., JCP 20131

Page 3: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Shock Capturing for Euler Equations

2

Approach: Store and evolve artificial dissipation coefficients (𝐶𝑥, 𝐶𝑦) as extra flow variables

𝜕

𝜕𝑡

𝜌𝜌𝑢𝜌𝑣𝐸𝐶𝑥

𝐶𝑦

=𝜕

𝜕𝑥

𝜌𝑢

𝜌𝑢2 + 𝑝𝜌𝑢𝑣

𝑢 𝐸 + 𝑝00

+𝜕

𝜕𝑦

𝜌𝑣𝜌𝑢𝑣

𝜌𝑣2 + 𝑝

𝑣 𝐸 + 𝑝00

+

𝜕

𝜕𝑥

𝜅𝑥𝜌,𝑥𝜅𝑥 𝜌𝑢 ,𝑥𝜅𝑥 𝜌𝑣 ,𝑥𝜅𝑥𝐸,𝑥𝜇𝑆𝐶,𝑥

𝑥

0

+𝜕

𝜕𝑦

𝜅𝑦𝜌,𝑦𝜅𝑦 𝜌𝑢 ,𝑦𝜅𝑦 𝜌𝑣 ,𝑦𝜅𝑦𝐸,𝑦0

𝜇𝑠𝐶,𝑦𝑦

+

0000

𝐺𝑥 −𝐶𝑥

𝜖

𝐺𝑦 −𝐶𝑦

𝜖

Euler equations

Artificial dissipation + C-diffusion

Source/Sink term for C variable

Page 4: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Shock Capturing for Euler Equations

3

𝜕

𝜕𝑥

𝜅𝑥𝜌,𝑥𝜅𝑥 𝜌𝑢 ,𝑥𝜅𝑥 𝜌𝑣 ,𝑥𝜅𝑥𝐸,𝑥𝜇𝑆𝐶,𝑥

𝑥

0

+𝜕

𝜕𝑦

𝜅𝑦𝜌,𝑦𝜅𝑦 𝜌𝑢 ,𝑦𝜅𝑦 𝜌𝑣 ,𝑦𝜅𝑦𝐸,𝑦0

𝜇𝑠𝐶,𝑦𝑦

+

0000

𝐺𝑥 −𝐶𝑥

𝜖

𝐺𝑦 −𝐶𝑦

𝜖

Artificial dissipation + C-diffusion

Source/Sink term for C variable

𝜅𝑥~𝐶𝑥, 𝜅𝑦~𝐶𝑦

𝜖 =ℎ

𝑝=

𝑒𝑙𝑒𝑚𝑒𝑛𝑡 𝑤𝑖𝑑𝑡ℎ

𝑝𝑜𝑙𝑜𝑦𝑛𝑜𝑚𝑖𝑎𝑙 𝑜𝑟𝑑𝑒𝑟

𝐺𝑥, 𝐺𝑦 = 0 in non-troubled elements (known from sensor)

In troubled elements: 𝐺𝑥~𝜕𝑢

𝜕𝑥, 𝐺𝑦~

𝜕𝑣

𝜕𝑦

Approach: Store and evolve artificial dissipation coefficients (𝐶𝑥, 𝐶𝑦) as extra flow variables

Page 5: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Recovery Demonstration: 𝒑 = 𝟑

4

Ω𝐴 Ω𝐵

Page 6: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Recovery Demonstration: 𝒑 = 𝟑

Recovered solution (degree 2𝑝 + 1 = 7polynomial) more accurate at interface

4

Ω𝐴 Ω𝐵

Page 7: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Recovery Demonstration: 𝒑 = 𝟑

ICB reconstructions (degree 𝑝 + 2 = 4) equal at closest quadrature points

4

Ω𝐴 Ω𝐵

Page 8: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

• For diffusive fluxes: CGR maintains compact stencil†, offers advantages over BR2― Larger allowable explicit timestep size ― Improved wavenumber resolution

• For advection problems:

• DG weak form: Must calculate flux along interfaces― Conventional approach (upwind DG): plug in left/right values of DG solution

• Conventional approach:

• Our approach: ICB reconstruction scheme††

― Replace left/right solution values with ICB reconstruction:

Our Approach vs. Conventional DG

†† Khieu & Johnsen, AIAA Aviation 2014† Johnson & Johnsen, AIAA Aviation 2017

5

Page 9: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Vortex Transport Case (VI1)

6

Setup 1: 𝑝 = 1, RK4, SLAU Riemann solverSetup 2: 𝑝 = 3, RK8† (13 stages), SLAU Riemann solverICB usage: Apply ICB on Cartesian meshes, conventional DG otherwise

EQ: Global 𝐿2 error of 𝑣:

𝐸𝑣 = Ω 𝑣 − 𝑣0

2𝑑𝑉

Ω 𝑑𝑉

Convergence: order 2𝑝 + 2 on Cartesian mesh, order 2𝑝 on perturbed quad mesh

† Cash & Karp, ACMTMS 1990

Page 10: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Shock-Vortex Interaction (CI2)

7

Configurations: Cartesian (𝑝 = 1), Cartesian (𝑝 = 3), Irregular Simplex 𝑝 = 1Setup: RK4 time integration, SLAU (Cartesian) and Roe (Simplex) Riemann solversShock Capturing: PDE-based artificial dissipationICB usage: Only on Cartesian grids

Quad𝑝 = 1𝑁𝑦 = 300

Quad𝑝 = 3𝑁𝑦 = 300

Simplex 𝑝 = 1𝑁𝑦 = 300

Page 11: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Taylor-Green Test (WS1)• Code setup: p2 elements, uniform hex mesh (27 DOF/element), RK4 time integration

― Reference result taken from HiOCFD3 workshop― Our approach allows larger stable time step

8

ICB+CGR: 2.5 CPU-hoursConventional: 9.2 CPU-Hours

ICB+CGR: 75 CPU-hoursConventional: 304 CPU-Hours

Page 12: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Conclusions• Were the verification cases helpful and which ones were used?

― Vortex transport: Shows that ICB is implemented properly― TGV: demonstrates value of ICB+CGR for nonlinear problem

• What improvements are needed to the test case?― Meshes for vortex transport problem are tough to work with (GMSH input file

preferred)― Shock-Vortex interaction: No improvement, test case is perfect― TGV: Standardize energy spectrum calculation and make reference data more easily

accessible

• Did the test case prompt you to improve your methods/solver― Yes: added shock capturing on non-Cartesian elements

9

Page 13: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Conclusions• What worked well with your method/solver?

― Feature resolution on Cartesian meshes (ICB very helpful)

• What improvements are necessary to your method/solver?― Implicit/Explicit time integration for advection-diffusion― Recovery troublesome on non-Cartesian elements― Parallel efficiency with solution-adaptive approach― Curved elements

10

SciTech TalkTitle: A Compact Discontinuous Galerkin Method for Advection-Diffusion ProblemsSession: FD-33, High-Order CFD Methods 1Setting: Sun 2, January 10, 9:30 AM

AcknowledgementsComputing resources were provided by the NSF via grant 1531752 MRI:Acquisition of Conflux, A Novel Platform for Data-Driven ComputationalPhysics (Tech. Monitor: Ed Walker).

Page 14: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

References

Kitamura, K. & Shima, E., “Towards shock-stable and accurate hypersonic heating computations: A new pressure flux for AUSM-family schemes,” Journal of Computational Physics, Vol. 245, 2013.

Reisner, J., Serensca, J., Shkoller, S., “A space-time smooth artificial viscosity method for nonlinear conservation laws,” Journal of Computational Physics, Vol. 235, 2013.

Johnson, P.E. & Johnsen, E., “A New Family of Discontinuous Galerkin Schemes for Diffusion Problems,” 23rd AIAA Computational Fluid Dynamics Conference, 2017.

Khieu, L.H. & Johnsen, E., “Analysis of Improved Advection Schemes for Discontinuous Galerkin Methods,” 7th AIAA Theoretical Fluid Dynamics Conference, 2011.

Cash, J.R. & Karp, A.H., “A Variable Order Runge-Kutta Method for Initial Value Problems with Rapidly Varying Right-Hand Sides,” ACM Transactions on Mathematical Software, Vol. 16, No. 3, 1990.

Page 15: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Spare Slides

Page 16: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

CGR = Mixed Formulation + Recovery

• Must choose interface 𝑈 approximation from available data― BR2: Take average of left/right solutions at the interface― Compact Gradient Recovery (CGR): 𝑈 = recovered solution

• Interface gradient: CGR formulated to maintain compact stencil

Gradient approximation in 𝛀𝒆:

Weak equivalence with 𝛁𝐔:

Integrate by parts for 𝝈 weak form:

5

Page 17: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

• Recovery: reconstruction technique introduced by Van Leer and Nomura† in 2005• Recovered solution (𝑓𝐴𝐵) and DG solution (𝑈ℎ) are equal in the weak sense• Generalizes to 3D hex elements via tensor product basis

The Recovery Concept

Representations of 𝑼 𝒙 = 𝒔𝒊𝒏𝟑(𝒙 −𝝅

𝟑)

𝜴𝑨 𝜴𝑩

𝑟

Recovered Solution for :

𝑲𝑹 = 𝟐𝒑 + 𝟐 constraints for 𝒇𝑨𝑩:

Interface Solution along :

†Van Leer & Nomura, AIAA Conf. 2005

Page 18: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

ΩA

• Recovered solution is continuous across the interface, uniquely defines (U, 𝛻𝑈)― Conventional DG approaches for Navier-Stokes lack this property

Exact Distribution U DG solution: 𝑈ℎ𝐴 , 𝑈ℎ

𝐵Recovered solution: 𝑓𝐴𝐵

𝑈 = 𝑥 + 𝑦 + sin 2𝜋𝑥𝑦

Schematic from [Johnson & Johnsen, APS DFD 2015]

Recovery DG†

†Van Leer & Nomura, AIAA Conf. 2005

ΩA ΩB ΩBΩBΩA

Page 19: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Recovery Demonstration: All Solutions

Page 20: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

• Each interface gets a pair of ICB reconstructions, one for each element:

𝑲𝑰𝑪𝑩 = 𝒑 + 𝟐 coefficients per element:

Constraints for 𝑼𝑨𝑰𝑪𝑩: (Similar for 𝑼𝑩

𝑰𝑪𝑩)

• Choice of Θ𝐵 affects behavior of ICB scheme― Illustration uses Θ𝐵 = 1

The ICB reconstruction

𝜴𝑨 𝜴𝑩

∀𝑘 ∈ {0,1, … 𝑝}

Example: 𝑝 = 1 (2 DOF/element)

𝑈 = 𝑒𝑥𝑠𝑖𝑛(3𝜋𝑥

4)

𝑟

Page 21: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

The 𝚯 Function: ICB-Modal vs. ICB-Nodal• ICB-Modal (original): ΘA = Θ𝐵 = 1 is lowest mode in each element’s solution

• ICB-Nodal (new approach): Θ is degree 𝑝 Lagrange interpolant― Use Gauss-Legendre quadrature nodes as interpolation points― Take Θ nonzero at closest quadrature point

Sample 𝚯 choice for 𝒑 = 𝟑:Each Θ is unity at quadrature point nearest interface

Page 22: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

The 𝚯 Function: ICB-Modal vs. ICB-Nodal

ICB-Modal: Each 𝑈𝐼𝐶𝐵 matches the average of 𝑈ℎ in neighboring cell

ICB-Nodal: Each 𝑈𝐼𝐶𝐵 matches 𝑈ℎ at near quadrature point

Page 23: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

• Fourier analysis performed on 2 configurations:― Conventional: Upwind DG + BR2― New: ICB-Nodal + CGR

1) Linear advection-diffusion, 1D:

2) Define element Peclet number:

3) Set Initial condition:

4) Cast numerical scheme in matrix-vector form:

Fourier AnalysisScheme 𝑭 𝑼

uDG + BR2

ICB + CGR

Analysis Procedure † :

† Watkins et al., Computers & Fluids 2016

Page 24: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Eigenvalue corresponding to exact solution:

Fourier Analysis5) Diagonalize the update matrix:

6) Calculate initial expansion weights, 𝜷:

• Watkins et al. derived estimate for initial error growth:

― 𝜆𝑛 = 𝑛𝑡ℎ eigenvalue of

Eigenvalue Example:ICB+CGR, 𝑝 = 2, 𝑃𝐸ℎ = 10,

𝜆𝑒𝑥 = −𝑖 10𝜔 − 𝜔2

† Watkins et al., Computers & Fluids 2016

Page 25: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Wavenumber Resolution

• To calculate wavenumber resolution:1) Define some error tolerance(𝜖) and Peclet number (𝑃𝐸ℎ)

2) Identify cutoff wavenumber, 𝜔𝑓 according to:

3) Calculate resolving efficiency:

† Watkins et al., Computers & Fluids 2016

Page 26: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Scheme Comparison: 𝑷𝑬𝒉 = 𝟏𝟎

P Conventional ICB + CGR

1 0.0296 0.1103

2 0.0531 0.0776

3 0.0844 0.1113

4 0.1022 0.1225

5 0.1196 0.1304

P Conventional ICB + CGR

1 0.0940 0.2389

2 0.1200 0.1793

3 0.1451 0.1755

4 0.1677 0.2628

5 0.1743 0.1874

• Fourier analysis, Linear advection-diffusion• Resolving efficiency measures effectiveness of update scheme’s consistent eigenvalue

Page 27: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Compact Gradient Recovery (CGR) Approach• Similar to BR2: Manage flow of information by altering gradient reconstruction• 1D Case shown for simplicity: Let 𝑔𝐴, 𝑔𝐵 be gradient reconstructions in Ω𝐴, Ω𝐵

Perform Recovery over 𝑔𝐴, 𝑔𝐵 for 𝜎 on the shared interface

𝜴𝑨 𝜴𝑩

Page 28: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Example with 𝒑𝟏 elements:

Representations of 𝑼 𝒙 = 𝒔𝒊𝒏𝟑 𝒙 +𝒙𝟐

𝟐

ΩA ΩB

Process Description:

1. Start with the DG polynomials 𝑈𝐴ℎ in

Ω𝐴 and 𝑈𝑏ℎ in Ω𝐵.

The ICB Approach (Specifically, ICBp[0])

• Recovery is applicable ONLY for viscous terms; unstable for advection terms.

• Interface-Centered Binary (ICB) reconstruction scheme modifies Recovery approach for hyperbolic PDE.

Page 29: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Process Description:

1. Start with the DG polynomials 𝑈𝐴ℎ in

Ω𝐴 and 𝑈𝑏ℎ in Ω𝐵.

2. Obtain reconstructed solution 𝑈𝐴𝐼𝐶𝐵

in Ω𝐴, containing 𝑝 + 2 DOF.

Example with 𝒑𝟏 elements:

Representations of 𝑼 𝒙 = 𝒔𝒊𝒏𝟑 𝒙 +𝒙𝟐

𝟐

ΩA ΩB

The ICB Approach (Specifically, ICBp[0])

𝑈𝐴𝐼𝐶𝐵𝜙𝑘𝑑𝑥

𝛺𝐴

= 𝑈𝐴ℎ𝜙𝑘𝑑𝑥

𝛺𝐴

∀𝑘 ∈ {1. .𝐾}

𝑈𝐴𝐼𝐶𝐵𝑑𝑥

𝛺𝐵

= 𝑈𝐵ℎ𝑑𝑥

𝛺𝐵

Page 30: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Process Description:

1. Start with the DG polynomials 𝑈𝐴ℎ in

Ω𝐴 and 𝑈𝑏ℎ in Ω𝐵.

2. Obtain reconstructed solution 𝑈𝐴𝐼𝐶𝐵

in Ω𝐴, containing 𝑝 + 2 DOF.

3. Perform similar operation for 𝑈𝐵𝐼𝐶𝐵

4. Use ICB solutions as inputs to 𝑯𝒄𝒐𝒏𝒗(𝑈

+, 𝑈−)

Example with 𝒑𝟏 elements:

Representations of 𝑼 𝒙 = 𝒔𝒊𝒏𝟑 𝒙 +𝒙𝟐

𝟐

ΩA ΩB

The ICB Approach (Specifically, ICBp[0])

𝑈𝐴𝐼𝐶𝐵𝜙𝑘𝑑𝑥

𝛺𝐴

= 𝑈𝐴ℎ𝜙𝑘𝑑𝑥

𝛺𝐴

∀𝑘 ∈ {1. .𝐾}

𝑈𝐴𝐼𝐶𝐵𝑑𝑥

𝛺𝐵

= 𝑈𝐵ℎ𝑑𝑥

𝛺𝐵

• ICB Method achieves 𝟐𝒑 + 𝟐 order of accuracy• Generalizes to 2D via tensor-product basis

Page 31: A recovery-assisted DG code for the compressible Navier ......A recovery-assisted DG code for the compressible Navier-Stokes equations January 6th, 2017 5th International Workshop

Discontinuity SensorApproach: Check cell averages for severe density/pressure jumps across element interfaces

1) Calculate 𝑈=cell average for each element2) At each interface, use sensor of Lombardini to check for shock wave:

i. If Lax entropy condition satisfied (hat denotes Roe average at interface):

ii. Check pressure jump:

iii. If Φ > 0.01, tag both elements as “troubled”

3) At each interface, check for contact discontinuityi. Calculate wave strength propagating the density jump:

ii. Check relative strength:

iii. If Ξ > 0.01, tag both elements as “troubled”


Recommended