Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev...

of 18 /18
Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev ( [email protected] ) Advisor: James Baeder ([email protected])

Transcript of Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev...

Page 1: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Discontinuous Galerkin Methods and Strand Mesh Generation

Andrey Andreyev ([email protected])

Advisor: James Baeder ([email protected])

Page 2: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Terminology:

Picture from: http://www.cgl-erlangen.com/downloads/Manual/ch09s16s01.html

Structured Mesh Unstructured Mesh

Picture from: http://ta.twi.tudelft.nl/users/wesselin/projects/unstructured.html

Page 3: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Project Overview

Two-Part Effort

Part 1: Implementation of the Discontinuous Galerkin (DG) Euler Equation Solver on a 2D Grid

Part 2: Implementation of a strand grid generator from a surface mesh

Image: from Bcmath.org Image: Aaron Katz 3

Page 4: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

The Euler Equations

U is the conservative variable vector

F, G, and H are the Flux Vectors in the x, y, z direction respectively

Page 5: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 1: DG Method

Finite Difference MethodsAdvantages: • Ease of Implementation • Easy to make higher orderDisadvantages:• Only applicable on structured

grids

Finite VolumeAdvantages: • Naturally Conservative (captures

discontinuities in the flow field)• Many upwinding possibilities• Applicable on unstructured gridsDisadvantages:• Difficult to devise stable higher

order scheme

Finite ElementAdvantages: • Can be any order of accuracy• Based on variational methods• Applicable on unstructured gridsDisadvantages:• More complex• Not conservative!• Naturally implicit (can be explicit with

modifications)

In general, methods in Computational Fluid Dynamics can be divided into three approaches:

Page 6: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 1: DG Method

What is the appeal behind Discontinuous Galerkin Methods?

•Can be thought of as a combination between Finite Volume and Finite Element Methods•Can be implemented on unstructured grids•Can be made higher order•Does not enforce continuity in the shape functions of the element, continuity is enforced using numerical fluxes (seen in finite volume approaches)•Requires substantially less information about the neighboring elements making parallelization easier. (Result of not enforcing inter-element continuity

Page 7: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 1: DG Method

Spatial Discretization

1. Start with the Euler Equation:

0UFU

)(t

2. Discretize the spatial domain and assume and assume an approximate solution on a per-element basis

jjii tv bVU )(,

0)(, SFbFbbb dddtvt

Rikikjjik

3. Multiply by weight function and integrate by parts

Note the boundary term has a different flux term. In normal finite element, the boundary terms need to enforce connectivity with neighboring elements. In Discontinuous Galerkin Methods the boundary fluxes are calculated using the Riemann Fluxes. This enforces connectivity and allows for discontinuities in the solution!

Page 8: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 1: DG MethodTime Integration

Time integration of the equations will be carried out using a higher order Runge-Kutta technique. The space discretization in the previous slide converted the PDEs into a system of ODEs in time. Using Higher Order Runge-Kutta, we carry out the time integration on a per-element basis2

Page 9: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 1: DG MethodTest Problems

The method will first be implemented on the one-dimensional version of the Euler Equations to test the methods accuracy. Sod’s Shock Tube Problem will be used as the test case since it has an exact solution and will test the scheme’s shock capturing ability.

Implemented using Fortran 95

Image: http://en.wikipedia.org/wiki/File:SodShockTubeTest_Regions.png

Exact Solution

Image: Author Generated

Page 10: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 1: DG MethodTest Problems

http://www.salome-platform.org/forum/forum_10/213329959/view

Two Dimensional Airfoil on a structured mesh. Mesh provided by Dr. Baeder.

Boundary Conditions:Tangential Flow around the airfoil (Inviscid Wall)Undisturbed flow at the domain edge (Farfield)

Run at a variety of mach numbers to create different flow regimes (subsonic, trans-sonic, supersonic) to steady state

Compare the results to experimental data (large database for many airfoils)Compare results to other established computational tools

Implemented serially using Fortran 95, then parallelized using MPI

Page 11: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 1: DG Method Implementation Schedule

10/31/12- One dimensional version. Apply to one dimensional problem with a known solution to test accuracy and shock capturing abilities. Sod shock tube problem. Will validate the 1-D version (serial)

12/15/13- Two dimensional version. Apply to 2-D airfoil problem using provided grids (serial)

02/15/13- Validation of the two dimensional version using experimental airfoil results as well as the results published in literature

03/15/13- Parallelization of the two dimensional. Validate using results from the serial version

Page 12: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 2: Strand Mesh Generation

One of the largest bottle necks in CFD based design is the generation of volume meshes for the flow solvers.

Picture: Katz, Wissink 3

•Complex geometries make it difficult to resolve the surface mesh and extrude the volume mesh.•The strand mesh method seeks to eliminate the second problem of volume mesh extrusion by shooting out “strands” from the nodes of the surface mesh in prescribed manner making volume mesh generation automatic. The volume grid has prismatic which have good computational properties.

Page 13: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 2: Strand Mesh Generation

Approach:

Calculate the normal on each node of the mesh using an average of the normals at the neighboring cells

Apply a distribution function in the normal direction for node placement. Function of Reynold’s number

Apply vector smoothing at areas of high surface curvature Katz, Wissink 3

Page 14: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 2: Strand Mesh Generation

Vector Smoothing

Apply normal vector smoothing on areas with high curvature by minimizing the equation at each node using Lagrange multipliers and updated with Jacobi Iterations3.

Katz, Wissink 3

1)(

)1()(

2

00

00

nn

n

g

nnfN

ii

ki

kik

n

nn

1

0

Page 15: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 2: Strand Grid Generation Implementation Detail

•Coding will be done in Fortran 95, unless a need for complex data structures arises, then it will be done in C•Parallelization of the code will be done in MPI. •Will require the use of an external library, Parmetis to partition the surface mesh•Very little communication required since only the neighboring nodes of the surface mesh are used for normal vector generation

Page 16: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Part 2: Strand Grid Generation Implementation Schedule

04/15/13- Implementation of the strand mesh generation. Validation is trivial since the problem is geometric in nature and visual inspection of the resulting mesh will suffice.

Time Permitting- Integration of the strand methods into the DG Flow Solver

End of Semester- Final Report

Page 17: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

Questions?

Page 18: Discontinuous Galerkin Methods and Strand Mesh Generation Andrey Andreyev (andreyev@umd.edu)andreyev@umd.edu Advisor: James Baeder (baeder@umd.edu)

References:

1.S.-Y. Lin, Y.-S. Ching Quadrature-Free Implementation of the Discontinuous Galerkin Method for Hyperbolic Equations. San-Yih Lin Yan Shin-Ching. National Cheng Kung University, Tainan, Taiwan 70101, National Republic of China2.B. Cockburn, C.W. Shu. Runge-Kutta Discontinuous Galerkin Methods for Convection-dominated Problems. 3.A. Katz, A. Wissink. Application of Strand Meshes to Complex Aerodynamic Flow Fields