Skip to content

Latest commit

 

History

History
93 lines (71 loc) · 4.54 KB

README.md

File metadata and controls

93 lines (71 loc) · 4.54 KB

CEESD Summer REU Tutorials

These tutorials are designed to acquaint undergraduate computer science and engineering students with the physical and computational principles underlying MIRGE-Com, a software library developed by the Center for Exascale-Enabled Scramjet Design for simulating scramjets on distributed systems.

Agenda

  1. The Physics of Scramjets · 6/14 (Mon)
  2. Discretization & Mapping · 6/25 (Fri)
  3. Grid Data Structures · 7/2 (Fri)
  4. Transport on Grids · 7/12 (Mon)
  5. Matrix Solvers & Conditioning · 7/16 (Fri)
  6. Shock Modeling · 7/23 (Fri)
  7. Software Quality/V&V · 7/30 (Fri)
  8. Chemistry Modeling in Flows · 8/2 (Mon)

Expected Background

  • Python. MIRGE-Com is written in Python; although the lessons make oblique explanatory references to other languages like C, only familiarity with Python is expected to complete these lessons and contribute to MIRGE-Com.
  • Physics. The lessons do not assume any particular background in physics or engineering other than a freshman-physics understanding of heat transfer, conservation laws, etc.; other properties are derived. Naturally, the student will glean greater insight given a more advanced background.
  • Mathematics. The student will need calculus (at least Cal 1, but Cal 3 preferred) and some basic linear algebra. Numerical analysis is helpful as well.

Preparation

Review “MIRGE-Com Development How-To”. If you will run MIRGE-Com on your own system, install it locally.

You may also find it convenient to install Paraview locally for visualizing results. (Load the pvtu file to view all output in a time series.)

Operation

The Python virtual environment for MIRGE-Com may be activated in a single line in each terminal session before running code:

. miniforge3/bin/activate ceesd

The lessons cover most of the following points at least glancingly, except for discrete simulation methods, wall functions, coupling, turbulence modeling, time-resolved (transient) flow, and particulars of HPC execution.

  • Physics
    • Problem Statement
    • Governing Equations
    • Physical Models
      • Turbulence (DNS, Large Eddy Simulation, k-Epsilon, etc.)
    • Assumptions & Simplifications
  • Grid
    • Geometry
    • Structure
    • Special Requirements
      • Wall functions
      • Coupling
  • Discretization
    • Discretization Method
    • Accuracy
    • Implicit v. Explicit Formulations
    • Elements
  • Solution
    • Algorithms
      • Traditional Methods:
        • Finite Difference Method (FDM)
        • Finite Element Method (FEM)
        • Finite Volume Method (FVM)
      • Discrete Simulation or Particle methods
        • lattice gas automata (LGA)
        • lattice Boltzmann equation (LBE)
        • discrete velocity methods (DVM)
        • dissipative particle dynamics (DPD)
        • smoothed-particle hydrodynamics (SPH)
        • direct simulation Monte Carlo (DSMC)
        • stochastic rotation dynamics (SRD)
        • molecular dynamics (MD)
        • hybrid methods
    • Steady-State v. Transient Flow
    • Simulation Execution
      • HPC capability computing (maximum compute power to solve a single large problem in the shortest amount of time)
      • HPC capacity computing (most efficient configuration to solve multiple complex problems simultaneously)
    • Convergence
  • Analysis
    • Verification & Validation
    • Postprocessing & Visualization
    • Interpretation of Results

These tutorials were prepared by N E Davis for the Center for Exascale-Enabled Scramjet Design in 2021. The program's design was inspired by the Los Alamos National Laboratory Computational Physics Student Summer Workshop. Some material draws from the 2015–16 course ME 498CF “Computational Fluid Dynamics”.

All materials are produced under the aegis of the University of Illinois, ©2021. I (N E Davis) furthermore make the materials available under a CC-BY license.