Methods of Numerical Simulation in Fluids and Plasmas 
Physics F629:


Numerical simulation has become a frequently used and misused tool in Physics. Many areas in physics employ smaller and larger simulation codes. However, the traditional physics education provides no or little background in simulation techniques and their limitations. Often numerical simulation is used as a black box with little insight into the associated pitfalls and common errors. This course is intended to provide a systematic introduction into the methods and the limitations of computer simulation. The course will introduce, analyze, and apply methods for the numerical solution of partial differential equations (pde's) which determine the dynamics of fluids and multi particle systems. The elements of this course include (a) classification and applications of partial differential equations, (b) methods for discrete representation of pde's, (c) stability and accuracy of the numerical solution, (d) boundary and initial conditions. The discrete representation of pde's includes finite differences, finite elements, finite volume, and spectral methods. The course address efficiency of various methods, and considers aspects of vector and parallel computer architectures. Applications address the dynamics of fluids, plasmas, and multi particle systems; and consider steady state configurations, convection problems, linear and nonlinear instabilities. Some specific applications can be chosen according to the interest of students enrolled in the course. (Prerequisites: Undergrad Math; experience in programming; graduate standing or permission of instructor; 3 + 0 credits) 
The course will consist of two parts, where the first part provides the methodology of the simulation of convection and diffusion equations which are common in atmospheric, ocean, ionospheric, space plasma, and many technical fluid dynamics applications. The second part will address more specific applications from various areas of physics and includes the generation of appropriate grids, boundary layer flow, shocks and flux corrected transport, and particle/plasma simulation. The course will be held in a lecture format. The first part of the course will be based on the two volume text by Fletcher, Computational Techniques for Fluid Dynamics. No textbook currently available provides all information necessary for the second more specific part of the course. Homework will be distributed weekly through the class website and problems are analytic and applied, i.e., students are be expected to program and test various algorithms. Program examples will be presented in FORTRAN which is common on supercomputers and the graphics language IDL. However, exercises may be programmed also in C, PASCAL, MATLAB or other languages provided their syntax is sufficiently obvious. Solutions to the homework are distributed through the website. In the second part of the course a portion of the exercises will consist of work on a specific project according to the interest of the student. Enrolled students are expected to obtain their own computer account, and to be/become familiar with a common graphics package for the presentation of results. Programming experience and some background on partial differential equations is recommended for the course. There will be a midterm test (voluntary) and a final exam. 
Homework: 50% Project: 15% Final exam: 35% 
Fletcher: Computational Techniques for Fluid Dynamics, I and II, Springer (1988): A very good two volume text with very detailed coverage of basic and advanced fluid simulation techniques including finite differences, finite element, spectral and other methods. Many programming examples for illustration and as tutorials. The text addresses dynamic and steady state problems, explicit and implicit treatment, flux corrected transport, boundary conditions, and grid generation. It lacks all aspects of plasma simulation. 
Potter: Computational Physics, John Wiley (1973, out of print but available in the GI library): A good text book on the simulation of fluids and plasmas which covers most of the basics of fluid simulation. It also addresses plasma simulation, however, because of its age it is slightly outdated, lacks some of the more recent developments and the overall coverage is significantly smaller than in Fletcher's text. 
Tajima: Computational Plasma Physics, With Applications to Fusion and Astrophysics, Addison Wesley (1989): The text focuses on plasma simulation by particle simulation with coverage of explicit, implicit, full electromagnetic, and hybrid models. It also addresses the most important fluid aspects of plasma simulation including finite differences, spectral methods and flux corrected transport. The presentation of the latter is fairly brief and may preferably be used as an overview of these topics. 
Birdsall and Langdon: Plasma Physics via Computer Simulation, IOP (1995, based on 1985 original): Good textbook on plasma simulation but entirely focused on particle simulation techniques. Very detailed presentation with many applications (comes with programs on floppy disk). Good coverage of electrostatic and electromagnetic simulation including theory and physics. 
Hockney and Eastwood: Computer Simulation using Particles, IOP (1994, revised from 1980 edition): Good textbook covering the same range of topics as Birdsall and Langdon. A little less detailed regarding the plasma physics applications, however, with additional coverage of simulations of semiconductors and of astrophysical problems. 
NRL Plasma Formulary by Dave Book and maintained by Joe Huba: The NRL Plasma Formulary has been the miniBible of plasma physicists for the past 20 years. It is an eclectic compilation of mathematical and scientific formulas, and contains physical parameters pertinent to a variety of plasma regimes, ranging from laboratory devices to astrophysical objects. 
Methods of Numerical Simulation  List of Contents 




* denotes incomplete chapters

Programs 


Simulation Programs 
Visualization and Graphics 
Idl progr: sim1.pro 



Finite volume method for Laplace's equation: fivol2.f, fivin, fivol.dat 



Finite element and finite difference method for viscous flow: duct.f, ductin, duct.dat 

Newton's method applied to twodimensional steady Burger's equations: newburger.f, newbin, newb.dat 

Implicit methods for the diffusion
equation: 

Explicit (Upwind, Leapfrog, LW) methods for the
convection equation: 

Methods to solve the transport equation (Upwind,
Leapfrog, LW, CN): 

Nonlinear transport equation (Upwind, Leapfrog,
LW, CN): 



Flux Corrected Transport: sh1.f, shock.dat, shin 
shanim.pro 