📖Program Curriculum
Course modules
Compulsory modules
All the modules in the following list need to be taken as part of this course.
C++ Programming
Aim
Object oriented programming (OOP) is the standard programming methodology used in nearly all fields of major software construction today, including engineering and science and C++ is one of the most heavily employed languages. This module aims to answer the question ‘what is OOP’ and to provide the student with the understanding and skills necessary to write well designed and robust OO programs in C++. Students will learn how to write C++ code that solves problems in the field of computational engineering, particularly focusing on techniques for constructing and solving linear systems and differential equations. Hands-on programming sessions and assignment series of exercises form an essential part of the course. The library support provided for writing C++ programs using a functional programming approach will also be covered.
An introduction to the Python language is also provided.
Syllabus
The OOP methodology and method, Classes, abstraction and encapsulation
Destructors and memory management, Function and operator overloading, Inheritance and aggregation, Polymorphism and virtual functions, Stream input and output
Templates, Exception handling, The C++ Standard Library and STL
Functional programming in C++
Intended learning outcomes
On successful completion of this module you should be able to:
1. Apply the principles of the object oriented programming methodology - abstraction, encapsulation, inheritance and aggregation - when writing C++ programs.
2. Create robust C++ programs of simple to moderate complexity given a suitable specification.
3. Use the Standard Template Library and other third party class libraries to assist in the development of C++ programs.
4. Solve a range of numerical problems in computational engineering using C++.
5. Use development environments and associated software engineering tools to assist in the construction of robust C++ programs.
6. Evaluate existing C++ programs and assess their adherence to good OOP principles and practice.
Computational Methods
Aim
The module aims to provide an understanding of a variety of computational methods for integration, solution of differential equations and solution of linear systems of equations.
Syllabus
The module explores numerical integration methods; the numerical solution of differential equations using finite difference approximations including formulation, accuracy and stability; matrices and types of linear systems, direct elimination methods, conditioning and stability of solutions, iterative methods for the solution of linear systems.
Intended learning outcomes
On successful completion of this module you should be able to:
Formulate and assess numerical integration methods.
Use appropriate techniques to formulate numerical solutions to differential equations.
Evaluate properties of numerical methods for the solution of differential equations.
Choose and implement appropriate methods for solving differential equations.
Evaluate properties of systems of linear equations.
Choose and implement appropriate methods for solving systems of linear equations.
Assess the behaviour of the numerical methods and the computed numerical solutions.
Numerical Modelling for Compressible Flows
Aim
To introduce basic concepts in the discretisation and numerical solution of the hyperbolic systems of partial differential equations describing the flow of compressible fluids.
Syllabus
• Mathematical properties of hyperbolic systems
• Conservation Laws
• Non-linearities and shock formation
• WENO schemes
• MUSCL schemes Introduction to the Riemann problem
• Lax-Wendroff scheme
• Introduction to Godunov's method
• Flux vector splitting methods
• Approximate Riemann solvers
• Explicit and implicit time-stepping schemes
Intended learning outcomes
On successful completion of this module you should be able to:
Demonstrate a critical awareness of the mathematical properties of hyperbolic partial differential equations;
Recognise the importance of non-linearities in the formation of shock waves;
Distinguish the fundamental differences between monotone schemes, WENO schemes for hyperbolic systems;
Judge the suitability of various Riemann solvers for various compressible flow problems;
Create high-resolution shock capturing schemes for compressible flow problems.
Numerical Modelling for Incompressible Flows
Aim
To understand the state-of-the-art CFD methods used for computing incompressible flows in science and engineering.
Syllabus
• Overview of various formulations of the governing equations and numerical methods for incompressible flows (linear & high-resolution methods)
• Solution approaches: pressure Poisson, projection (approximate and exact), artificial compressibility
• Centred schemes
• TVD and Riemann solvers for incompressible methods
• Second and high-order methods (time and spatial discretise)
Intended learning outcomes On successful completion of this module you should be able to:
1. Set up spatial and time discretisation methods for solving fluid mechanics problems governed by the incompressible Navier-Stokes/Euler equations.
2. Analyse the applicability of mathematical methods for incompressible flows along with the classification and properties of different state-of-the-art CFD incompressible methods as used in engineering practice as well as in research and development.
3. Assess uncertainties and limitations associated with each method.
Analysis and Visualisation of Big Data System and High Performance Computing
Aim
To provide you with an introduction into the use of visualisation, data mining, and interactive human-computer interfaces for the analysis and interpretation of CFD simulations. Visualisation can be a critical component in helping an engineer gain insight into the typically complex optimization problems that arise in design. Through the combination of visualisation and user interaction in computer tools, the engineer's insight can help guide the computer in the process of identifying better, more effective designs. Visualisation can also be combined with automated data mining techniques to improve optimisation procedures.
Syllabus
• Data interchange formats.
• Interpretation of data.
• Graphical representation of data.
• Parallel data visualisation.
• Data mining, reduced order modelling, model identification and surrogate models.
• Data fusion.
• Virtual reality visualisation.
• Desktop versus supercomputing.
• Parallel computing issues.
• Parallellisation approaches for distributed and shared memory systems. MPI & OpenMP.
• Current CFD Process Bottlenecks.
• Whole Product Applications.
Intended learning outcomes On successful completion of this module you should be able to:
1. Set up a systematic understanding of the alternative techniques for the visualisation and interpretation of CFD results.
2. Judge the applicability of commercial and community developed visualisation software packages to real CFD data and critically evaluate the use of limited simulation data when making engineering decisions.
3. Evaluate the performance of computing (hardware) platforms available for computational fluid dynamics simulations.
4. Propose a systematic approach along with application of the essential software extensions required for parallel computing.
5. Identify what can be achieved through the application of high performance computing for aerospace engineering problems.
Modelling Approaches for Aerospace Application
Aim
To understand the key features of mathematical modelling approaches and computational methods used for simulating flows relevant in aeronautical and aerospace applications.
Syllabus
• Overview of the governing equations of fluid dynamics applicable to external flows including classical and advanced turbulence modelling approaches for aeronautical and aerospace applications.
• CFD methods for low- and high-speed flows used for advanced aerospace applications.
• CFD methods for digital wind tunnel applications.
• State-of-the-art case studies and application examples.
Intended learning outcomes On successful completion of this module you should be able to:
1. Set up the governing equations of external fluid dynamics to simulate external flows in a digital wind tunnel;
2. Collect data with a systematic approach and analyse computational results through numerical methods and models for turbulent flows used in aeronautical and aerospace applications;
3. Evaluate the strength and limitations of computational methods used in the aerospace sector;
4. Propose solutions in conjunction with the current efforts made by industry and academia for improving the state-of-the-art methods in the above applications.
Computational Engineering Structures
Aim
The module is aimed at giving potential Finite Element users basic understanding of the background of the method. The objective is to introduce users to the terminology, basic numerical and mathematical aspects of the method. This should help students to avoid some of the more common and important user errors, many of which stem from a "black box" approach to this technique. Some basic guidelines are also given on how to approach the modelling of structures using the Finite Element Method.
Syllabus
Introduction to Finite Element Methods (FEM) and applicability to different situations
Introduction to the Direct Stiffness (Displacement) Method
Development of Truss, Bar Element Equations in 2D and 3D
Development of Beam and Frame Element Equations (2D and 3D)
Development of the Plane Stress element Equations (Constant and Linear Strain)
Accuracy considerations: higher order elements, Isoparametric elements.
The role of numerical integration and methods used in FE.
Practical Considerations in Modelling; Interpreting Results
Intended learning outcomes
On successful completion of this module you should be able to:
Analyse and practice the theory of finite element models for structural and continuum elements.
Design and solve mathematical finite element models.
Interpret results of the FE simulations and analyse error levels.
Create and solve mathematical finite element methods.
Critically evaluate the constraints and implications imposed by the finite element method.
Validation and Verification for Aerospace Applications
Aim
To introduce the concepts of validation and verification methods including the management of computational errors and uncertainties related to simulation of external flows for aeronautical and aerospace applications.
Syllabus
Mathematical foundations of uncertainty quantification methods and related theories including the definition of consistency, stability and convergence.
Taxonomies of numerical errors and uncertainties.
Principles of code verification for external flows.
Introduction to the method of manufactured solutions.
Principles of solution verification.
Principles of the generalized Richardson extrapolation including a method how to report numerical errors in a unified way based a proper grid convergence study.
Principles of mathematical model validation.
Statistical approaches to epistemic uncertainty.
Construction of validation and verification hierarchies.
Intended learning outcomes On successful completion of this module you should be able to:
1. Distinguish and analyse different classes of numerical errors and uncertainties for simulating flows used in aeronautical and aerospace applications.
2. Evaluate the strength and weaknesses of computational approaches related to the potential sources of errors and uncertainties for aerospace applications.
3. Critically evaluate the tools that are available for the quantification of error and uncertainty for simulating external flows used in aeronautical and aerospace applications.
4. Set up reliable simulations through code verification and computational model validation.
Teaching team
You will be taught by experienced academic staff from Cranfield University. Our staff are active researchers as well as tutors, with clients that include AWE, NASA Jet Propulsion Laboratory, European Space Research and Technology Centre (ESTEC), Jaguar Land Rover, BAE Systems, MBDA, MoD and SEA. Our teaching team work closely with business and have academic and industrial experience. Knowledge gained working with our clients is continually fed back into the teaching programme, to ensure that you benefit from the very latest knowledge and techniques affecting industry. The course also includes visiting lecturers from industry who will relate the theory to current best practice. The Course Director for this programme is Professor Karl Jenkins.