Progress towards development of discontinuous Galerkin - - PowerPoint PPT Presentation

progress towards development of discontinuous galerkin
SMART_READER_LITE
LIVE PREVIEW

Progress towards development of discontinuous Galerkin - - PowerPoint PPT Presentation

Progress towards development of discontinuous Galerkin finite-element methods for compressible flows using Charm++ Aditya K. Pandare , Jozsef Bakosi , Hong Luo Department of Mechanical and Aerospace Engineering, North Carolina


slide-1
SLIDE 1

Progress towards development of discontinuous Galerkin finite-element methods for compressible flows using Charm++

Aditya K. Pandare†, Jozsef Bakosi∗, Hong Luo†

†Department of Mechanical and Aerospace Engineering,

North Carolina State University.

∗ Computer, Computational and Statistical Sciences,

Los Alamos National Laboratory. 16th Annual Charm++ Workshop, 11-12 April 2018

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 1 / 19

slide-2
SLIDE 2

Overview

  • Platform
  • Physical system
  • Numerical approximation
  • Considerations for parallel computation
  • Some examples
  • Future plan

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 2 / 19

slide-3
SLIDE 3

Code platform: Quinoa

  • Written in modern C++11 and native Charm++
  • Fully asynchronous parallel programming
  • Extensive unit and regression tested

Capabilities:

  • Continuous Galerkin solver for compressible fluid flow
  • Fully unstructured tetrahedral mesh support
  • Stochastic differential equation particle solver
  • Dynamic load balancing capabilities using over-decomposition

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 3 / 19

slide-4
SLIDE 4

The Physical System: from continuum equations to code

  • Transport phenomena represented by system of (non-linear) PDEs

∂U ∂t + ∂Fk ∂xk = S

  • Multiply with a test-function and integrate over the entire domain:

∂U ∂t WjdΩ +

  • Γ

Fk(U)nkWjdΓ −

Fk(U)∂Wj ∂xk dΩ =

S(U)WjdΩ

  • Choose a triangulation Ωe ∈ Ω with Γe = ∂Ωe, and then approximate the solution as:

U(x) ≈ Uh(x) =

  • i

uiBi(x) ∀ x ∈ Ωe Bi is a compact basis for the continuous function U on element Ωe.

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 4 / 19

slide-5
SLIDE 5

High-order DG

Solution polynomial: Uh(x) = ndof

i

uiBi(x) Order Bi P0 [1] P1 [1, ˜ x] P2

  • 1, ˜

x, ˜ x2 P3

  • 1, ˜

x, ˜ x2, ˜ x3

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 5 / 19

slide-6
SLIDE 6

Discrete (weak) form of integral conservation laws

  • The above weak form can be written per element using this approximation as:
  • Ωe

BiWjdΩ ∂ui ∂t +

  • Γe

Fk(Uh)nkWjdΓ −

  • Ωe

Fk(Uh)∂Wj ∂xk dΩ =

  • Ωe

S(Uh)WjdΩ Mij ∂ui ∂t = Rj For Galerkin-type finite-element methods, Wi = Bi. This is the equation to be solved.

  • Special case: First order approximation for U (Finite volume) : B1 = 1

Ωe ∂uh ∂t + Fk(uh)nkΓe = S(uh)Ωe

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 6 / 19

slide-7
SLIDE 7

Examples of PDE systems

  • Scalar advection:

U = φ, F = aφ

  • Compressible Euler equations of gas dynamics:

U =   ρ ρui ρE   , F =   ρu ρuiu + p (ρE + p)u  

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 7 / 19

slide-8
SLIDE 8

Time integration

Explicit forward Euler discretization: Mij un+1

i

− un

i

∆t = Rj(un

h)

  • Ensure time-step ∆t is within CFL restrictions
  • Compute volume and surface integrals for Rj → most time-consuming
  • Update vector of solution DOFs uh

Time-stepping is done without using any global reductions, only using SDAG.

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 8 / 19

slide-9
SLIDE 9

Riemann solvers

  • Solution discontinuous at cell boundaries Γe
  • How to uniquely define integrals
  • Γe FknkdΓe?

→ Riemann solver.

  • Γe Fknk dΓe ≈
  • Γe Fk(uL, uR) nk dΓe
  • Design based on physics:

· Upwind · Downwind · Central-difference

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 9 / 19

slide-10
SLIDE 10

Parallel communication for DG methods

  • Riemann solver requires left and right states
  • Requires communication at processor boundaries

Communicated information 1) “Outer” element-id cor- responding to face-id 2) Geometry information of this element 3) Solution vector of this el- ement 4) → Communication map depends on the derived data

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 10 / 19

slide-11
SLIDE 11

Derived data structures for unstructured meshes

  • Elements surrounding elements
  • Elements surrounding faces
  • Vertices of faces

Additionally, data structures required for parallel communication:

  • Partition face-ids and corresponding “inner” element-id associated to chare-ids
  • Mapping for local “outer” element-id to remote element-id

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 11 / 19

slide-12
SLIDE 12

Preliminary results

Linear advection of a Gaussian hump (on 3D Tetrahedral mesh)

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 12 / 19

slide-13
SLIDE 13

Preliminary results for load balancing

  • Perform excess computations (fake) on some chares
  • Sanity-check of the chare-migration and load-balancing

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 13 / 19

slide-14
SLIDE 14

Roadmap for DG

1) Extension of DG(P0) to coupled systems of PDEs 2) High-order discontinuous Galerkin discretization 3) p-refinement

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 14 / 19

slide-15
SLIDE 15

p-refinement

  • Order of solution polynomial raised/lowered based on errors/solution moments
  • Initial mesh-based distribution on PEs now unbalanced
  • Example† of unbalanced computational load:

→ Charm++ load balancers

† From a separate research: Pandare A. Luo H., 2018, ”A robust and efficient finite volume method for compressible viscous two-phase flows”, In press. AK Pandare, J Bakosi, H Luo DG methods using Charm++ 15 / 19

slide-16
SLIDE 16

High-order DG

  • Volume and surface integrals:
  • Γe Fk(Uh)nkBjdΓ −
  • Ωe Fk(Uh) ∂Bj

∂xk dΩ

  • Approximate both integrals using Gauss quadrature

Example of surface integral over (green) face: →

  • Γe

G(Uh)dΓ =

  • igp

(wiG(Ui)) Γe As order of solution polynomial increases:

  • Number of integration points for an accurate numerical approximation increases.
  • Computational effort per-element increases.

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 16 / 19

slide-17
SLIDE 17

Causes of load-imbalance

p-adaptation leads to the following:

  • More number of unknowns to solve for, and larger problem size
  • Gaussian quadrature requires more integration points at high-order zones

Other possible sources:

  • Expensive limiting strategies to preserve monotonicity for highly nonlinear problems.

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 17 / 19

slide-18
SLIDE 18

Summary

  • Ongoing development of a high-order p-adaptive discontinuous Galerkin method for

fluid dynamics

  • Dynamic load balancing using over-decomposition and migration using Charm++
  • Production-style coding

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 18 / 19

slide-19
SLIDE 19

Thank you!

AK Pandare, J Bakosi, H Luo DG methods using Charm++ 19 / 19