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




List of Notes

Dr. FUN3D




Averaging is dissipation
[ pdf ]
Some people don't like Riemann solvers and upwind schemes, and avoid
using them. But if they employ cellaveraging for stabilization,
they are using the upwind flux.....
Webpublished note (June 7, 2017).

My questions about your nonlinear solver
[ pdf ]
Some questions I would ask about your nonlinear solver.
Do you have answers for me?
Webpublished note (March 14, 2017).

"Discrete Least Square Dual Solutions of CauchyRiemann 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).

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.
Webpublished note (March 28, 2017).

Table of 2nd/3rdorder unstructured methods
[ pdf ]
What would be the best 1st/2nd/3rdorder method for unstructuredgrid CFD computations?
This table compares some representative ones.
Note: The list is limited. There are other methods.
Webpublished note (April 24, 2017).

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
nondimensionalzed length, and (2)There is a typo in JCP2013.
Webpublished note (October 20, 2016).

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 highorder moments in the solution polynomial
by the gradient variables in the hyperbolic formulation (by extending the idea of SchemeII ).
This note led to a journal publication
reporting a preliminary study on the hyperbolic DG scheme
[JCP2016 ].
Webpublished notes (January 5, 2016; August 18, 2015).

Galerkin discretization of source terms written in an edgebased 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.
Webpublished note (February 13, 2011).

3D RotatedHybrid Riemann Solvers:
[ pdf ]
I thought about extending the RotatedHybrid Riemann solvers to 3D. Never had a chance to
actually implement them into a 3D code...
Unpublished note (December 23, 2009).

On Accuracy of Derivatives on Uniform Grids
[ pdf ]
Uniform grids are nice, but there are limitations in computing derivatives.
Highorder derivatives can be computed by successively applying the centraldifference formula.
But do they all have secondorder accuracy?
Webpublished note (February 7, 2016).

Order of Accuracy for NonSmooth Solutions
[ pdf ]
It simply does not make sense to speak about the order of accuracy
for nonsmooth (nondifferentiable) solutions.
Webpublished note (January 27, 2016).

Which is the Best Form for CFD: Differential, Integral, or SpaceTime Form?
[ pdf ]
Some schemes are derived from a differential form of a target equation. Others are derived from
integral or spacetime forms. Which form is the best for constructing a numerical scheme?
Webpublished note (December 7, 2015).

On Viscous Scheme for CellCentered 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 fourthorder accuracy on regular grids.
Webpublished note (November 4, 2015).

From Diffusion Schemes to NaverStokes Schemes in ResidualDistribution Method
[ pdf ]
I wrote this in 2010 to extend diffusion schemes to NavierStokes in the residualdistribution method.
Webpublished note (September 14, 2010).

On Dissipation in CESE Method:
[ pdf ]
I got interested in CESE method, and looked at dissipative schemes.
I think various wellknown numerical fluxes can be incorporated into CESE method.
Webpublished note (March 3, 2011).

The RoeAveraged 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.
Webpublished note (March 3, 2011).

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.
Webpublished note (February 25, 2011).
Reference: [ AIAA20105093 ]

Table of Diffusion Schemes:
[ html ]
Confused with diffusion schemes? Here is a table of diffusion schemes
categorized by the approach to the construction.
Webpublished note (December 16, 2010).

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 CauchyRiemann Equations".
The technique is described in
[ PhD Thesis ]: Section 5.1, page 73.

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.

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 20105093 ] (See Appendix E).

FiniteVolume Integration Formulas:
[ pdf ]
Finitevolume 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 20105093 ] (See Appendix), which
includes formulas for all types of elements (triangle, quad,
tetra, hexa, prism, pyramid).

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 residualdistribution
and finitevolume methods.
Unpublished note (2008).
Reference: P. A. Gnoffo, AIAA Paper 2009599
[ pdf available at FUN3D Web site ].

Galerkin Scheme and FiniteDifference Scheme:
[ pdf ]
The Galerkin discretization for diffusion reduces to
a standard finitedifference 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).

Future NavierStokes Codes (NIA seminar 2007):
[ pdf ]
A seminar given at NIA in 2007, describing various topics in CFD
and finally giving a form of future NavierStokes codes. It was the
first time that I talked about the future NavierStokes codes.
Future NavierStokes codes are described also in
[ AIAA 20093648 ].

Entropy Generation and Dissipation:
[ pdf ]
Entropy generation is described from a viscous equation.
An entropyconsistent 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 entropypreserving/consistent fluxes.

HighOrder Diffusion Schemes:
[ pdf ]
I constructed a lot of highorder 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 ].

NormReducing ResidualDistribution Schemes:
[ pdf ]
Residualdistribution schemes are discussed in terms of a normreducing
(or residualminimization)
property: the residuals are minimized in a certain norm. It was found that the
LDA, PSI, LaxWendroff, and SUPG schemes minimize the residuals while Nscheme
does not.
Unpublished note (2005).

Hypersonic Flows Computed by CFL3D with the RealGas Roe Solver:
[ pdf ]
Numerical results are shown for hypersonic flow computations by
CFL3D with the realgas Roe solver. Unfortunately, the realgas 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).

A RealGas Roe Solver for CFL3D:
[ pdf ]
A realgas Roe solver
is described.
I wrote this when I implemented a realgas Roe solver into NASA's CFL3D.
Unpublished note (2004).

Decomposition of the 2D Euler Equations:
[ pdf ]
Elliptic/Hyperbolic decomposition of the 2D Euler equations is discussed in
relation to fluctuationsplitting (residualdistribution) schemes.
Unpublished note (2004).
References: Ph.D. theses by L. Mesaros (1996) and M. Rad (2001),
University of Michigan.

Conservative Linearization of Euler Equations:
[ pdf ]
Conservative linearization of the Euler equations is discussed for
fluctuationsplitting (residualdistribution) schemes.
A general approach to
conservative linearization on general elements is described.
Unpublished note (2004).

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).

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. 140146, 2009.

Truncation Errors of RD Schemes:
[ pdf ]
Truncation errors are shown for residualdistribution (RD)
(fluctuationsplitting) schemes for advection and diffusion.
It is shown that advection and diffusion schemes lose accuracy when simply added for the
advectiondiffusion equation.
Unpublished note (2003).
See [ ICCFD 2004 ] for the accuracy problem and a possible
solution.

DG Formulation for the 3D Ideal MHD System:
[ pdf ]
Detailed P2/P3 DiscontinuousGalerkin formulation of the ideal MHD equations
is given for a Cartesian mesh.
Unpublished note (2003).

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 ].

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 ].

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 ].

Consistent LSQ Norm of the 2D Euler Equations:
[ pdf ]
A dimensionallyconsistent discrete leastsquares norm for
the 2D Euler equations is derived. It can be used to solve the Euler
equations by the discrete leastsquares method.
Unpublished note (2001).
It is included in Appendix of
[ PhD Thesis ] (See Appendix E).

Forms of the 2D Euler Equations:
[ pdf ]
Various forms of the 2D Euler Equations are shown. I wrote
this to seek dimensionallyconsistent variables for the Euler
equations for constructing an accurate leastsquares scheme.
Unpublished note (2001).
A dimensionallyconsistent leastsquares norm is described in
[ PhD Thesis ](See Appendix E).

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 ].

LSQ ResidualMinimization and FEM:
[ pdf ]
It shows that solving the CauchyRiemann system by the residualminimization scheme
is equivalent to solving a pair of Laplace equations by FEM.
This is included in
[ PhD Thesis ]: Section 5.1.4., page 79.

L2 Error Estimate for Triangular Elements:
[ pdf ]
An L2 error estimate for triangular elements is derived. It is shown to be
secondorder accurate for exact or 4th order accurate nodal solution values.
This is included in
[ PhD Thesis ] (See Appendix C).

Shooting Method for Node Generation Algorithm:
[ pdf ]
A shooting method is described for
the adaptive nodegeneration algorithm to solve a boundaryvalue
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).

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).

On Mesh Movement Schemes:
[ pdf ]
Minimization, vertexspring, segmentspring mesh movement schemes are
described. A formula based on equidistribution is also given and
its relation with the springanalogy schemes is described.
Unpublished note (2000).

Difficulty in Computing a Potential Vortex:
[ pdf ]
It shows how difficult it is for a leastsquares finiteelement
(residualminimization) 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.

ThreeDimensional Streamfunctions:
[ pdf ]
Governing equations for
threedimensional 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.

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 20105093 ]: Section 5.6, page 32.

Elliptic Grid Generation by CauchyRiemann:
[ pdf ]
This shows that elliptic grid generation is possible for
triangular grids by solving
the CauchyRiemann equations instead of Laplace equations.
It can be a practical tool if source terms are
implemented to control the grid quality.
Unpublished note (1999).

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 secondorder Euler with the Roe flux, but
I was curious about other fluxes and decided to try out 7 more fluxes:
LaxFriedrichs, Richtmyer, MacCormack, StegerWarming, Van Leer, Osher, and
Godunov fluxes.
Unpublished note (1998).
Subroutines are available at
www.cfdbooks.com/cfdcodes.html

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.

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

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).

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).

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).

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).


Copyright 1994 by Hiroaki Nishikawa. All rights
reserved.

