Aerospace Numerical Computing with Fortran
Build and verify numerical procedures, trajectories, grid solvers and axial structural models, then assemble a complete educational rocket mission.
11 projects, 275 hands-on levels, run in your browser.
Syllabus
- Foundations: code through aerospace: Start with typed functions, variables, choices, loops and arrays. Small aerospace calculations introduce how arguments enter a procedure and how a returned value is checked. Finish by composing the taught helpers into one result.
- Fortran for Numerics: Foundations: Use real64 arithmetic, procedures, control flow and arrays to analyze flight data. Build a summary that retains the peak, mean, supersonic count and peak-flow classification. Distinguish physical assumptions from the numeric operations that implement them.
- Arrays and Whole-Array Geometry: Work with matrix shapes, column-major indexing, sections, intrinsic operations and logical masks. Finish with a complete point-cloud rotation report containing transformed coordinates and before/after norms. Array syntax can support optimization; it does not guarantee speed.
- Procedures and Modules: Build reusable Fortran procedures with pure and elemental attributes, optional and keyword arguments, explicit callback interfaces, recursion and generics. Compose addition, norm, normalization, dot product and angle cosine into a consistent vector library.
- Numerical Methods: Implement bracketing, bounded root iteration, interpolation, quadrature and finite differences. Finish by applying the supplied callback to a root, slope and integral analysis. Input assumptions, failure values and numerical error are part of each method contract.
- Differential Equations and Dynamics: Advance scalar and coupled ODE states with Euler and classical RK4. Model decay, cooling, an oscillator, a projectile with drag and a normalized two-body orbit. Retain trajectories and diagnostics so numerical error and invariant drift can be measured.
- Linear Algebra: The Solver Core: Build triangular solves, Gaussian elimination, partial pivoting, LU, Thomas, Jacobi and Gauss-Seidel methods. Compare complete solution vectors and residuals on the same system. No-pivot restrictions and iterative convergence conditions remain explicit.
- Finite Differences and CFD Kernels: Build finite-difference heat, advection and Laplace kernels on uniform grids. Respect each scheme's stability interval, preserve boundary values and account for boundary fluxes. Finish with a full plate field and an explicit residual-based convergence report.
- The Finite Element Method: Assemble axial spring and bar elements, impose supports, solve displacements, and recover member forces, strains, stresses and reactions. Finish with a two-member stepped-bar analysis from material and geometry inputs. This is a small-strain, linear-elastic axial model.
- Numerical Kernels and Performance Measurement: Study memory traversal, array arithmetic, independent loops, reductions and scans. Compose row and column matrix-vector kernels into a repeated observable benchmark with complete outputs, errors, checksums and CPU-time status. Compiler and hardware evidence is needed before claiming speedup or parallel execution.
- Capstone: A Sounding Rocket: Assemble a constant-mass, no-drag sounding-rocket model with an event-aligned RK4 history, five ascent metrics, axial strength and ideal Euler-buckling checks, and a configurable mission verdict. Preserve the full result behind the report. This educational model is not a validated flight or launch-safety analysis.
Key concepts
- Computational fluid dynamics (CFD): Computational fluid dynamics approximates fluid equations with numerical methods. This course practices diffusion, advection and elliptic grid kernels; those k…
- Convergence: Approximations approach a limiting answer under suitable assumptions. A small step change is only one stopping signal and may reflect stagnation; check an appr…
- Double precision: The course uses ISO_FORTRAN_ENV real64 for 64-bit real storage on the runner. Floating values still have finite precision and range; real64 and kind-suffixed l…
- Finite element method (FEM): The finite element method approximates fields with elementwise basis functions and assembles their contributions into a global problem. Here, linear-elastic ax…
- Finite-difference method: A derivative approximation built from neighboring samples and their spacing. Truncation, roundoff and data noise all affect its error; a stencil requires state…
- Gaussian elimination: Row operations reduce a linear system to upper-triangular form, followed by back substitution. Apply each operation to the RHS too. Partial pivoting swaps rows…
- Linear system (Ax = b): Equations A x=b for an unknown vector x. Shape, rank, conditioning and the chosen solver matter. A residual b-A x measures equation mismatch, not directly the…
- Module: A Fortran program unit that groups named procedures, types and constants. USE makes its public declarations available to another program unit, including explic…
- ODE integration: Numerically advancing a state according to a rate function such as dy/dt=f(t,y). Method order, step size, stability, events and model assumptions determine how…
- Stencil: The pattern and weights of grid samples used in a discrete operator. The taught positive-Laplacian stencil approximates second derivatives; endpoint handling a…
- Stiffness matrix: In this linear axial model, K relates nodal displacement to applied equilibrium nodal loads. Element contributions add at mapped degrees of freedom. The uncons…