Given by Geoffrey C. Fox at CPSP713 Case studies in Computational Science on Spring Semester 1996. Foils prepared 15 March 1996
Outside Index
Summary of Material
This is first of three foilsets on CFD and NAS Benchmarks |
This describes the four basic NAS benchmarks and their relation to the Navier Stokes Equations in the the 5 component CFD equations |
We use opportunity to discuss time discretization and stepping in general based on Hirsch CFD book and Numerical Recipes |
Stability, Implicit and Explicit formulations are introduced |
Beam Warming Equations and their stability |
Outside Index Summary of Material
Geoffrey Fox |
NPAC |
111 College Place |
Syracuse NY 13244-4100 |
This is first of three foilsets on CFD and NAS Benchmarks |
This describes the four basic NAS benchmarks and their relation to the Navier Stokes Equations in the the 5 component CFD equations |
We use opportunity to discuss time discretization and stepping in general based on Hirsch CFD book and Numerical Recipes |
Stability, Implicit and Explicit formulations are introduced |
Beam Warming Equations and their stability |
Here we summarize three foilsets CPS713NAS-I,II,III |
This Section is Based on two publications |
The NAS Parallel Benchmarks
|
Sec. 3: A Methodology for Benchmarking some CFD Kernels on Highly Parallel Machines
|
A Collection of Iterative PDE Solvers embedded in a Pseudo CFD application program is proposed (and now used by community) for the performance evaluation of CFD Codes on highly parallel processors. The solvers are also now used as a general benchmark for different parallel machines. The pseudo application program is stripped of complexities associated with real CFD application programs, thereby enabling a simpler description of the algorithms. However it is capable of reproducing the essential computation and data access/movement characteristics of large scale state of the art CFD codes. These latter features make the CFD kernels suitable for CPS713 as a framework for discussing essential computer science issues in CFD. |
NASA analysed their implicit CFD codes and identified four computational kernels which typified the majority of three-dimensional Euler (non Viscous) and Navier-Stokes (Viscous) CFD programs using finite difference or finite volume methods on a structured grid. |
1)Solution of multiple independent systems of non diagonally dominant block tridiagonal equations with a 5 by 5 block size. |
(i.e. a matrix made out of 5 by 5 blocks with one nonzero block on diagonal and one nonzero block either side of diagonal) |
2)Solution of multiple independent systems of scalar (i.e. not block) pentadiagonal equations. |
(i.e. matrix with nonzeros on diagonal and two nonzero elements either side of it.) |
These two kernels are representative of computations associated with implicit operator in the NASA ARC3D code. |
3) Regular Sparse 5 by 5 block matrix -vector multiplication |
i.e. Sparse matrix-vector multiplication where each operation is multiplication by a 5 by 5 submatrix into a five dimensional subvector
|
4) Regular Sparse 5 by 5 block lower and upper triangular system solution |
i.e same basic 5 by 5 submatrix into 5 dimensional vector operation with the arithmetic that of using LU decomposition on a sparse matrix.
|
1)Absence of Realistic Boundary Conditions:
|
2)Simplified artificial dissipation
|
3) Time Differencing Schemes
|
4) Absence of Turbulence Models
|
We can write the five basic variables of CFD as a five component vector given in Hirsch Chapters 16 and 22 |
In detail the five components are given by: |
Note this uses Ideal Gas Equation of State P V = R T with V proportional to inverse of r |
The terms E(U) F(U) and G(U) correspond to the non viscous terms in the Navier Stokes equations
|
The terms T (U,Ux) V(U,Uh) and W(U,Uz) include
|
The term H is to viewed as an external force so arranged that a simple function exactly satisfies equations |
The simple function is a linear combination of powers ( 0 through 4 ) of x h and z. |
The boundary conditions and initial conditions are similarily set to have a very simple form |
Note H does not depend on the unknown U in spite of what memo says! |
H depends only on independent variables x h and z. |
Note computational domain is the unit cube in x h and z space |
We use these greek labels to indicate one has (notionally) transformed from original physical domain x h and z. (As noted the transformation matrix has been ignored) |
We use t not t for two reasons
|
We will follow treatments in
|
Note two key approachs:
|
Equation (19.1.1) (19.1.6) are flux-conservative equations of general type of NAS benchmarks |
Equation (19.1.11) is FTCS (Forward Time Centered Space) for (19.1.6) |
Von Neumann Stability Analysis for constant coefficient equations |
Lax Method Equation (19.1.14) |
Courant Stability Condition Equation (19.1.17) |
Physical Interpretation in Fig 19.1.3 |
Numerical Viscosity implied in Lax's Method Equation (19.1.19) |
This discusses figures 8.3.6 to 8.3.8 of Hirsch |
Convection Equation is (19.1.6) in Numerical Recipes |
Lax-Friedrich's Scheme is called Lax Method - |
Equations (19.1.14,15) in Numerical Recipes |
First Order Upwind Scheme is Equation (19.1.27) and Figure 19.1.4 in Numerical Recipes
|
The Leapfrog Method is Figure 19.1.5 and |
Equation 19.1.30 in Numerical Recipes |
The Lax-Wendroff Method is Equations (19.1.37,38) and Figure 19.1.7 of Numerical Recipes
|
Note accuracy determines formally how fast the errors tend to zero as the time step d t tends to zero. |
Stability determines if the errors build up or reinforce each other as one iterates in time |
All time differencing schemes are valid representations of equations i.e. |
reduce to differential equation in limit of dx and d t tend to zero |
However not all differencing schemes are stable! |
We can investigate stability for simple linear equations with von Neumann's Analysis |
Let u(n)j be replaced by u(n)j + e(n)j where: |
n labels time iteration and j spatial discretization |
If the equations are linear in u, the e(n)j obeys same equations as u(n)j but with simple (zero) boundary conditions |
If equation not linear, then this analysis still governs local behavior and gives a stability condition must must be satisfied by linearized equations
|
If the Velocity v in convection equation is constant and |
we have the natural boundary conditions for e |
then Fourier Analysis diagonalizes difference equations |
Note that general equation: |
We expand error e in fashion suggested by Fourier solution |
See sec. 11.1 and table 11.1 of Hirsch, Volume 1. |
This analysis introduced by Beam and Warming |
(People not Hot Rods) |
This is implicit unless b = 0 when it becomes explicit |
This set of equations is defined in Equation (11.1.22) of Hirsch after he discusses a more general set involving K(n-1) |
Note we follow same notation as NAS Benchmark Paper Equation (3.11) |
Hirsch calls our |
For Stability Analysis write the linear form: |
K = W U |
where W is for one dimension and second order differencing a 5 by 5 matrix |
When analysing the convection equation with K = -v ¶ / ¶x , we get W = -ivk is pure imaginary |
Note that Explicit Euler was always unstable for convection equation but for our case, the artificial viscosity ensures that explicit Euler is stable for small enough time step D t |
Implicit Euler is always stable for dissipative systems because these by definition have Re(W) negative. |
Taking the special case q=0 and b=1 used in the NAS benchmark Equation (3.12) |