COURSE
ANNOUNCEMENT FALL 2013
ATMS 502, CSE 566: Numerical Fluid Dynamics 

Right: Visualization of final course problems from recent years. 

FOR: This course is for those interested in numerically
solving partial differential equations that describe
compressible fluid flow,
utilizing a high performance production XSEDE
supercomputer,
likely
Stampede.
KEY OBJECTIVES: that those taking the course leave it with 
Fluid flow  Coding, data, visualization  Numerical methods 

Fluids: Concepts  Coding: old vs. new; IDEs  Classes of solution methods 
Flow kinematics 
Languages, compilers 
Multidimensional problems 
Fluid flow equations 
Precision and accuracy 
Boundary conditions, symmetry 
Dimensions, units 
(Super)computers, XSEDE 
Nonlinear PDEs are fun 
Compressibility 
Data and the 4th paradigm 
Theory vs. practice:
Stability 
Stability vs. shear 
Visualization: idioms, tools 
Systems of equations 
Simplifications, scaling 
Debugging efficiently 
Handling discontinuities 
Some classic solutions 
Code optimization basics 
Initialization; Intro. to data
assimilation 
COMPUTER PROBLEMS: We will use the XSEDE Stampede supercomputer to solve fluid flow problems in one, two and three dimensions, using regular and nested grid approaches. I will emphasize writing clear and effective programs, as well as (a bit of) structuring codes for efficient use of parallel computers. Course assignments may be programmed in either Fortran 90 or C, and introductory codes and plotting programs in both languages will be provided. The behavior of the numerical solutions will be compared to known solutions when they are available.
The computing objectives are (a) getting everyone comfortable and familiar with our programming environment on a production supercomputer, (b) getting started with 1D codes before we add complexity, and (c) working up to 3D nonhydrostatic nonlinear problems by the end of class. Each class computer problem will be designed to build on the last to make understanding and completing the assignments more straightforward for all.
PROGRAMMING EXPERIENCE: You should be comfortable with a programming language, or ready to learn. This class could be abrupt if you have no programming experience at all, as we get going fairly quickly. To help everyone get started and to begin at a common starting point, I will pass out an introduction (sample) program at the start of class (in Fortran 90 and also in C) which will serve as a basis upon which you will build your later programs. For those rusty in F90 or C (or Linux), there will be review sessions early in the semester. However, you might want to consider taking one of the many classes offered by the University's Computer Science and/or CSE departments to strengthen your programming skills. The goal here is using a programming language, rather than learning one.
If you feel your programming experience is not very strong and you want to do some preparation before class starts, I recommend the following:
TEXT: There is no single textbook now. I will use books (there are many) whose material is available free as PDFs online from the UI library. I am deemphasizing the textbook used previously.
INTRO: Welcome; I am Dr. Brian Jewett. I teach and carry out research in the Atmospheric Sciences Dept. My specialty is 3d numerical modeling of a variety of atmospheric phenomena  severe thunderstorms and squall lines, hurricanes, and (hopefully) heavy snowstorms.
If you have any questions about the class, please feel free to contact me.
And remember, fluid modeling and visualization is fun! (here's another one).