 I have some notes on CFD.    I thought that you might find them useful or interesting.    Questions, suggestions, and comments are welcome [ E-mail ].    Feel free to use the notes with appropriate referencing. ENO Schemes (Math671 report, 1998)

List of Notes Dr. FUN3D

1. Jacobi iteration for singular matrix [ pdf ]
Jacobi iteration converges to a solution for a singular linear system, which has infinitely many solutions. The converged solution depends on the initial solution, but does satisfy the system. I encountered this, and tried to understand how it is possible.
Web-published note (April 18, 2019).
Web-published note (March 14, 2017).
3. "Discrete Least Square Dual Solutions of Cauchy-Riemann Equations" (Research Report in 1997) [ pdf ]
Found a report I wrote in 1997 as a beginning PhD student. This is about a numerical method that solves residual equations for solution vairables and nodal coordinates. So, the nodes on a grid moves to minimize the residual, and the solution is computed simultanesouly to minimize the residual. A striking result is the one with a tangled mesh. The method converged and find a tangled mesh and reasonably accurate solutions on it. (See also [ "Numerical Solutions on Tangled Mesh" ])
Unpublished note (summer 1997).
4. Roe Flux for Deforming Mesh [ pdf ]
Roe flux for a deforming control volume needs a careful modification with a face velocity. Bascially, the Roe flux is constructed in a moving frame with respect to a moving interface, and then transformed back to the absolute reference frame. It is so simple, and other fluxes can also be implemented in the same way.
Web-published note (March 28, 2017).
5. Table of 2nd/3rd-order unstructured methods [ pdf ]
What would be the best 1st/2nd/3rd-order method for unstructured-grid CFD computations? This table compares some representative ones.

Note: The list is limited. There are other methods.
Web-published note (April 24, 2017).
6. Derivation of Lr for Hyperbolic Diffusion in JCP2013 paper [ pdf ]
I got a question about the derivation, but I completely forgot how I derived it. So, I derived it again and wrote a note. It shows (1)Lr in JCP2013 is a non-dimensionalzed length, and (2)There is a typo in JCP2013.
Web-published note (October 20, 2016).
7. Discontinuous Galerkin (DG) scheme for hyperbolic diffusion [ pdf ]
DG scheme applied to hyperbolized diffusion system can be extremely expensive, but the cost can be minimized by replacing high-order moments in the solution polynomial by the gradient variables in the hyperbolic formulation (by extending the idea of Scheme-II ). This note led to a journal publication reporting a preliminary study on the hyperbolic DG scheme [JCP2016 ].
Web-published notes (January 5, 2016; August 18, 2015).
8. Galerkin discretization of source terms written in an edge-based form [ pdf ]
Galerin discretization of source terms are derived. It can be implemented in a loop over edges both in 2D and 3D. But the information about the volumes of adjacent elements are requried.
Web-published note (February 13, 2011).
9. 3D Rotated-Hybrid Riemann Solvers: [ pdf ]
I thought about extending the Rotated-Hybrid Riemann solvers to 3D. Never had a chance to actually implement them into a 3D code...
Unpublished note (December 23, 2009).
10. On Accuracy of Derivatives on Uniform Grids [ pdf ]
Uniform grids are nice, but there are limitations in computing derivatives. High-order derivatives can be computed by successively applying the central-difference formula. But do they all have second-order accuracy?
Web-published note (February 7, 2016).
11. Order of Accuracy for Non-Smooth Solutions [ pdf ]
It simply does not make sense to speak about the order of accuracy for non-smooth (non-differentiable) solutions.
Web-published note (January 27, 2016).
12. Which is the Best Form for CFD: Differential, Integral, or Space-Time Form? [ pdf ]
Some schemes are derived from a differential form of a target equation. Others are derived from integral or space-time forms. Which form is the best for constructing a numerical scheme?
Web-published note (December 7, 2015).
13. On Viscous Scheme for Cell-Centered Method [ pdf ]
I noticed that a certain diffusion scheme has an alternative form close to a known diffusion scheme,. And then I found an improved version of it that can achieve fourth-order accuracy on regular grids.
Web-published note (November 4, 2015).
14. From Diffusion Schemes to Naver-Stokes Schemes in Residual-Distribution Method [ pdf ]
I wrote this in 2010 to extend diffusion schemes to Navier-Stokes in the residual-distribution method.
Web-published note (September 14, 2010).
15. On Dissipation in CESE Method: [ pdf ]
I got interested in CESE method, and looked at dissipative schemes. I think various well-known numerical fluxes can be incorporated into CESE method.
Web-published note (March 3, 2011).
16. The Roe-Averaged Density: [ html ]
Is your Roe flux implemented correctly? If you use the density, there is a unique averaging for the density:

No other averaging is allowed. Here, I explain why it is so.
Web-published note (March 3, 2011).
17. Diffusion Scheme for Discontinuous Data: [ html ]
"Given the left and right states at an interface, we compute the numerical flux". It sounds familiar for advection schemes, but it is not typical for diffusion schemes. There are, however, diffusion schemes that are implemented in the same way. Here I give you an example.
Web-published note (February 25, 2011).
Reference: [ AIAA2010-5093 ]
18. Table of Diffusion Schemes: [ html ]
Confused with diffusion schemes? Here is a table of diffusion schemes categorized by the approach to the construction.
Web-published note (December 16, 2010).
19. Numerical Solutions on Tangled Mesh: [ html ]
Numerical scheme can converge on a tangled mesh having negative volumes!
Unpublished results (1997). Taken from a research report " Discrete Least Square Dual Solutions of Cauchy-Riemann Equations".
The technique is described in [ PhD Thesis ]: Section 5.1, page 73.
20. Checkerboard Error Gone with Mesh Adaptation: [ html ]
Checkerboard error is a notorious error mode that arises typically on quadrilateral grids. It is usually eliminated by a deliberately designed dissipation or a staggered mesh. But look at this. It is eliminated by a little mesh movement; the mesh has now checkerboard perturbation!
More details can be found in [ PhD Thesis ]: Section 5.2.5, page 115.
21. On Positivity of Galerkin Scheme for Diffusion: [ pdf ]
Galerkin discretization for diffusion is shown to lose positivity given any nonzero nodal perturbation to a regular triangular and tetrahedral stencil.
Unpublished note (2010).
Note: Positivity enforcement makes the scheme inconsistent [ AIAA 2010-5093 ] (See Appendix E).
22. Finite-Volume Integration Formulas: [ pdf ]
Finite-volume integration formulas are derived that are exact for linear fluxes. A remarkably simple derivation of interesting weights for the boundary integration are given.
Unpublished note (2009).
An extended version is available in [ AIAA 2010-5093 ] (See Appendix), which includes formulas for all types of elements (triangle, quad, tetra, hexa, prism, pyramid).
23. Multidimensional FV/RD/FE Schemes: [ pdf ]
Inspired by Peter Gnoffo's multidimensional reconstruction scheme, I wrote down my understanding of his scheme, and attempted to devise another multidimensional scheme by combining the residual-distribution and finite-volume methods.
Unpublished note (2008).
Reference: P. A. Gnoffo, AIAA Paper 2009-599 [ pdf available at FUN3D Web site ].
24. Galerkin Scheme and Finite-Difference Scheme: [ pdf ]
The Galerkin discretization for diffusion reduces to a standard finite-difference formula on regular triangular grids. Did you know that it is independent of the direction of diagonals?
Unpublished note (2008).
A short version was included in [ AIAA Journal, 2010 v.48, no.7 ] (See Appendix).
25. Future Navier-Stokes Codes (NIA seminar 2007): [ pdf ]
A seminar given at NIA in 2007, describing various topics in CFD and finally giving a form of future Navier-Stokes codes. It was the first time that I talked about the future Navier-Stokes codes.
Future Navier-Stokes codes are described also in [ AIAA 2009-3648 ].
26. Entropy Generation and Dissipation: [ pdf ]
Entropy generation is described from a viscous equation. An entropy-consistent flux is then constructed for Burgers' equation and its extension to systems is discussed.
Unpublished note (2005).
See [ Farzad and Roe, JCP 2009 ] for an extensive study on entropy-preserving/consistent fluxes.
27. High-Order Diffusion Schemes: [ pdf ]
I constructed a lot of high-order schemes for diffusion. A particularly interesting one is the P2 Galerkin scheme, which is shown to be Richardson's extrapolation of the P1 Galerkin scheme.
It was significantly expanded and became [ VKI Lecture Notes 2005 ].
28. Norm-Reducing Residual-Distribution Schemes: [ pdf ]
Residual-distribution schemes are discussed in terms of a norm-reducing (or residual-minimization) property: the residuals are minimized in a certain norm. It was found that the LDA, PSI, Lax-Wendroff, and SUPG schemes minimize the residuals while N-scheme does not.
Unpublished note (2005).
29. Hypersonic Flows Computed by CFL3D with the Real-Gas Roe Solver: [ pdf ]
Numerical results are shown for hypersonic flow computations by CFL3D with the real-gas Roe solver. Unfortunately, the real-gas version of CLF3D is lost. I left the code in my computer account in Michigan when I moved to Virginia (I was not allowed to take it away), and it was wiped out by the university several months later.
Unpublished note (2005).
30. A Real-Gas Roe Solver for CFL3D: [ pdf ]
A real-gas Roe solver is described. I wrote this when I implemented a real-gas Roe solver into NASA's CFL3D.
Unpublished note (2004).
31. Decomposition of the 2D Euler Equations: [ pdf ]
Elliptic/Hyperbolic decomposition of the 2D Euler equations is discussed in relation to fluctuation-splitting (residual-distribution) schemes.
Unpublished note (2004).
References: Ph.D. theses by L. Mesaros (1996) and M. Rad (2001), University of Michigan.
32. Conservative Linearization of Euler Equations: [ pdf ]
Conservative linearization of the Euler equations is discussed for fluctuation-splitting (residual-distribution) schemes. A general approach to conservative linearization on general elements is described.
Unpublished note (2004).
33. Accurate Change of Variables in DG: [ pdf ]
Accuracy of change of variables in Discontinuous Galerkin methods is discussed. It is straightforward for P1, but not really for P2. An error term is derived; its impact on accuracy remains to be demonstrated.
Unpublished note (2004).
34. On Simple Wave Solutions: [ pdf ]
A general derivation of exact simple wave solutions for conservation laws is described. Examples are given for the Euler and the ideal MHD systems. General exact solutions are derived for entropy wave, acoustic waves, and Alfven waves are derived, which can be used for code verification.
Originally unpublished note (2003), now included in " I do like CFD, VOL.1 ", pp. 140-146, 2009.
35. Truncation Errors of RD Schemes: [ pdf ]
Truncation errors are shown for residual-distribution (RD) (fluctuation-splitting) schemes for advection and diffusion. It is shown that advection and diffusion schemes lose accuracy when simply added for the advection-diffusion equation.
Unpublished note (2003).
See [ ICCFD 2004 ] for the accuracy problem and a possible solution.
36. DG Formulation for the 3D Ideal MHD System: [ pdf ]
Detailed P2/P3 Discontinuous-Galerkin formulation of the ideal MHD equations is given for a Cartesian mesh.
Unpublished note (2003).
37. Modified Roe Matrix for Preconditioned System: [ pdf ]
The Roe flux is constructed analytically for a general preconditioned differential system. The dissipation matrix for the Euler equations is derived as an example.
Unpublished note (2003).
It was applied to the 2D ideal MHD equations in [ AIAA2003 paper ].
38. Analytical Solutions of MHD Nozzle Flows: [ pdf ]
Analytical solutions are derived for MHD flows through a nozzle: aligned flows (B parallel to the flow) and transverse flows (B perpendicular to the flow ). Gasdynamics solution is also derived.
Unpublished note (2003).
The aligned flow solution was used in [ AIAA2003 paper ].
39. A Fast and Robust Quartic Equation Solver: [ pdf ]
A quartic equation can be numerically solved very efficiently by Newton's method if a good initial guess is available. The point is to factor the equation as soon as a root is found, before going to the next root.
Unpublished note (2003).
The method was devised to compute the eigenvalues of the 2D MHD system in [ AIAA2003 paper ].
40. Consistent LSQ Norm of the 2D Euler Equations: [ pdf ]
A dimensionally-consistent discrete least-squares norm for the 2D Euler equations is derived. It can be used to solve the Euler equations by the discrete least-squares method.
Unpublished note (2001).
It is included in Appendix of [ PhD Thesis ] (See Appendix E).
41. Forms of the 2D Euler Equations: [ pdf ]
Various forms of the 2D Euler Equations are shown. I wrote this to seek dimensionally-consistent variables for the Euler equations for constructing an accurate least-squares scheme.
Unpublished note (2001).
A dimensionally-consistent least-squares norm is described in [ PhD Thesis ](See Appendix E).
42. Area Change Formula: [ pdf ]
A formula is derived for computing the change of the area of a triangle whose vertices move. It can be used to detect nonlinear waves (shock/expansion) for the Euler equations by taking the characteristic speed as the vertex speed.
Unpublished note (2000).
Applications of the formula can be found in [ ICCFD 2000, IJNMF 2008 ].
43. LSQ Residual-Minimization and FEM: [ pdf ]
It shows that solving the Cauchy-Riemann system by the residual-minimization scheme is equivalent to solving a pair of Laplace equations by FEM.
This is included in [ PhD Thesis ]: Section 5.1.4., page 79.
44. L2 Error Estimate for Triangular Elements: [ pdf ]
An L2 error estimate for triangular elements is derived. It is shown to be second-order accurate for exact or 4th order accurate nodal solution values.
This is included in [ PhD Thesis ] (See Appendix C).
45. Shooting Method for Node Generation Algorithm: [ pdf ]
A shooting method is described for the adaptive node-generation algorithm to solve a boundary-value problem for stiff ordinary differential equations. It generates nodes from one end to the other simultaneously computing the solution.
This is included in [ PhD Thesis ] (See Appendix B).
46. Adaptive Node Generation Algorithm: [ pdf ]
A very fast algorithm is proposed for adaptively generating nodes over a curve that ensures a specified L2 error. Successful applications to discretization of a curve, numerical integration, numerical solutions of stiff ordinary differential equations for both IVP and BVP are demonstrated.
This is included in [ PhD Thesis ] (See Appendix A).
47. On Mesh Movement Schemes: [ pdf ]
Minimization, vertex-spring, segment-spring mesh movement schemes are described. A formula based on equidistribution is also given and its relation with the spring-analogy schemes is described.
Unpublished note (2000).
48. Difficulty in Computing a Potential Vortex: [ pdf ]
It shows how difficult it is for a least-squares finite-element (residual-minimization) scheme to compute a potential vortex. The problem is that the scheme does not accurately preserve the circulation.
Unpublished note (2000).
More details can be found in [ PhD Thesis ]: Section 5.2.1., page 96.
49. Three-Dimensional Streamfunctions: [ pdf ]
Governing equations for three-dimensional streamfunctions are described. Also shown is that the volume flow is given by the product of the streamfunction differences.
Unpublished note (1999).
A part of the note is included in [ I Do Like CFD, VOL.1 ]: Section 4.16, page 117.
50. Polynomial Integration Formulas on Triangle: [ pdf ]
Formulas for the integration of a family of polynomials over a triangle is given, which is expressed in terms of the vertex coordinates. I think I did this for deriving truncation errors of some schemes or gradient reconstruction scheme.
Unpublished note (1999).
It was used to compute the mass matrix for DG schemes in [ AIAA 2010-5093 ]: Section 5.6, page 32.
51. Elliptic Grid Generation by Cauchy-Riemann: [ pdf ]
This shows that elliptic grid generation is possible for triangular grids by solving the Cauchy-Riemann equations instead of Laplace equations. It can be a practical tool if source terms are implemented to control the grid quality.
Unpublished note (1999).
52. Comparison of Numerical Fluxes for the Euler Equations: [ pdf ]
I wrote this for the final assignment in Math671 ( Numerical Methods for Hyperbolic Conservation Laws, taught by Professor S. Karni) at the University of Michigan in 1998. The actual assignment was to write a second-order Euler with the Roe flux, but I was curious about other fluxes and decided to try out 7 more fluxes: Lax-Friedrichs, Richtmyer, MacCormack, Steger-Warming, Van Leer, Osher, and Godunov fluxes.
Unpublished note (1998).
Subroutines are available at www.cfdbooks.com/cfdcodes.html
53. ENO Schemes: [ pdf ]
This is a report prepared for Math671 ( Numerical Methods for Hyperbolic Conservation Laws, taught by Professor S. Karni) at the University of Michigan in 1998. Each student picks up an advanced topic in CFD algorithm and gives a lecture in the calss. I chosen ENO scheme. I remember I found the reconstruction by the primitive so interesting.
54. Derivation of Osher's Riemann Solver: [ pdf ]
A full detail of the derivation of Osher's Riemann solver is given.
Unpublished note (1998).
A f90 subroutine is available at www.cfdbooks.com/cfdcodes.html
55. A Formula for Lift due to False Theory of Flight: [ pdf ]
I derived a formula for the lift based on the popular theory of flight: air flows faster on the upper surface of an airfoil, causing a lower pressure... The formula is useful in proving that the theory is impractical; an example is given to show that the theory greatly underestimates the lift.
Unpublished note (1998).
56. Geometric Interpretation of Numerical Solution: [ pdf ]
The note shows an interesting geometrical interpretation of numerical solutions for differential equations, using the exterior calculus: the residual measures an error in approximating a solution surface by elements.
Unpublished note (1997).
I explored its application to mesh adaptation in [ PhD Thesis ] (See Chapter 1 and Appendix D).
57. Introduction to Waveriders: [ pdf ]
I was going to design a waverider using CFD for my PhD ( I changed the subject a year later to mesh adaptation). I wrote this as a preparation for the waverider design project in 1995.
Unpublished note (1995).
58. Aerodynamic Heating with Turbulent Flows: [ pdf ]
I wrote this for a research project in AE525 (Introduction to Turbulence, taught by Professor L. Bernal) at the University of Michigan in 1994.
Unpublished note (1994).