COURSE
ANNOUNCEMENT SPRING 2023
ATMS 502, CSE 566 13 students from 6 departments enrolled so far (Jan. 2023) |
Instructor: | Dr. Brian Jewett | Class meets: | 2:00-2:50 PM, Mon/Wed/Fri | |||
E-mail: | bjewett@illinois.edu | Location: | Natural History Building room 1020 - computing lab | |||
Office: | Natural History Building room 4048 | Credit, CRN: | 4 credit hours; 63423 (ATMS 502), 63492 (CSE 566) | |||
Web page: | atmos.illinois.edu/directory/profile/bjewett | Prerequisites: | Diff. Equations (MATH 285) or consent of instructor |
![]() |
3D view of colliding density currents
View: towards -X, +Y. Three animations shown:
In English: There is +Y flow in the right half of the domain (in foreground),
-Y flow in the left. As two cold density currents move
towards the center, these characteristically different flow fields are brought together. A vortex sheet
(more) develops between
the density currents. Small perturbations grow and vorticity is stretched
(1,
2)
as convergence and vertical motion concentrate near the center axis.
Merging of nearby vortices results in upscale growth to fewer, larger
rotation centers before the solution decays.
|
FOR: This course is for those interested in solving partial differential equations that describe nonlinear, compressible fluid flow in 3-D settings. We utilize the high performance ACCESS supercomputer Stampede-2. We will address understanding of numerical methods, implementation (coding in F90 or C), and parallelization, as well as the subsequent analysis (Python) and visualization (VisIt) of the results.
KEY OBJECTIVES: that those taking the course leave it with -
Fluid flow | Coding, data, visualization | Numerical methods |
---|---|---|
Flow kinematics | Languages, compilers, editors | Multi-dimensional problems |
Fluid flow equations | Code optimization fundmentals | Boundary conditions, symmetry |
Simplifications, scaling | Profiling, benchmarking a code | Theory vs. practice: Stability, accuracy |
DNS vs. turbulence models | Weak vs. strong parallel scaling | Adaptive mesh refinement / nesting |
Stability vs. shear dominance | Visualization: idioms, tools | Handling discontinuities |
CFD METHODS: We address and write code for finite difference and finite volume methods. We will not cover finite element methods, for which you should consider one of the many courses in U.I. Mechanical and Civil/Environmental Engineering and Computer Science, such as: ME 471 (Finite Element Analysis), CEE 570 (Finite Element Methods), CS 555 (Numerical Methods for Partial Differential Equations), and TAM 574 (Advanced Finite Element Methods). If I've missed a relevant class here, let me know! New this year (Spr. 2023): Compact finite differencing, WENO methods, and an introduction to stochastic physics.
COMPUTER PROBLEMS: We wll use the Stampede-2 supercomputer to solve fluid flow problems in one, two and three dimensions, using regular and nested grid approaches (we also code the nesting). 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 of two languages used extensively in science and engineering - Fortran 90 or C. Note that introductory codes and plotting programs in both languages will be provided to you as a starting point for your first computational assignment. The behavior of the numerical solutions will be compared to known solutions when they are available. New this year: We will use Python extensively for data analysis & plotting solutions.
The computing objectives are (a) getting everyone comfortable and familiar with our programming environment on a production supercomputer, (b) getting started with 1-D codes before we add complexity, and (c) working up to 3-D nonhydrostatic nonlinear compressible 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. New this year: Posting results to your (new or existing) GitHub portfolio.
PROGRAMMING EXPERIENCE: You should be comfortable with one programming language, or ready to learn fast! This class could be abrupt if you have no programming experience at all. (If you have little programming experience, contact me: Let's talk! I can help).
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 all your programs. We will use Python for data analysis. For those inexperienced in Fortran / C / Python / Linux, I will hold extra review sessions early in the semester, and you can pick up the needed language(s) as you go. New this year: IDE use to speed up your C or Fortran coding development.
That said, we are fortunate to have outstanding departments on campus and
you might consider taking one of the many classes offered by the University's
Computer Science,
Mechanical Science & Engineering, or
Civil/Environmental Engineering departments
to strengthen your programming skills and understanding. Some of these courses are cross-listed in the
Computational Science and Engineering (CSE) program.
I also encourage consideration of courses taught
by Prof. David Bock at Parkland College
(Bock is also a Lead Visualization Programmer
at NCSA).
The goal here is using a
programming language, rather than learning one.
That said: I do go line-by-line to help students debug code. Debugging code is the #1 time
sink for this class; it is just the reality. You'll get good at it!
New this year: Using serial / parallel debuggers
to quickly find problems.
TEXTBOOK: There is no single textbook. I select materials from books (there are many) available free as PDFs online from the UI library; see Background, below.
INTRO: Hello! I am Brian Jewett. I teach and carry out research in the Atmospheric Sciences Dept. My specialty is severe local storms, and modeling of 3-D numerical modeling of a variety of atmospheric phenomena - severe thunderstorms and squall lines, hurricanes, and snowstorms. I am also quite interested in numerical weather prediction.
QUESTIONS? If you have any questions about the class, particularly any concerns whether your background is sufficient to take it (answer: probably so), please feel free to contact me at the email at the top of this page. If I don't contact you promptly, please email me again.
And remember, fluid modeling and visualization is fun!