Failure of Materials
Level: MSc and 3rd-year UG students (MTRM025/MAT501)

Aims:
To provide the student with a basic understanding of the failure of materials. Failure mechanisms are studied together with the theoretical background and their use in design.
Objectives:
Students will be able to: recognise the difference between ductile and brittle failure and the factors influencing each type of failure; use fracture mechanics concepts to solving simple fracture problems. Interpret standard fracture test data; use simple laws to predict fatigue behaviour and perform simple calculations of component lifetimes; recognise the conditions under which creep deformation is important; use simple laws to predict creep behaviour and creep lifetime.
Syllabus:
1. Elasticity and plasticity: General multi-axial stress state, 3D Hooke’s law, Principal stress, Hydrostatic stress, Deviatoric stress, Mohr’s circle, Strain energy, Tresca yield criteria, Von Mises yield criteria (distortion energy / J2-flow theory).
2. Morphological aspects of fracture: Ductile and brittle fracture. Morphological examples of different fracture types. Fracture transitions. Fracture mechanics. Thermodynamic concepts and generalised energy criterion. Griffith’s equation. Fracture energy and crack extension force. Practical application of the compliance method. Stress distribution at the tip of a crack. Stress intensity factor and its use in design and failure prediction. Influence of a plastic zone at the tip of a crack. The critical crack tip opening displacement and J-integral concepts.
3. Development of tough materials: Toughness and influence of microstructure. Micro-mechanics of fracture and crack resistance concept. Fractography.
4. Fatigue: Definitions of fatigue parameters. Fatigue tests and presentation of fatigue data. Cyclic hardening and softening. Fatigue crack nucleation and propagation. Empirical laws of fatigue failure and lifetime prediction. Influence of environment on fatigue properties. Design of fatigue resistant materials and need for NDT.
5. Creep: Phenomenological aspects of creep and definitions of creep parameters. Creep tests and presentation of creep data. Theories of creep and application to different materials. Creep fracture. Use of deformation mechanism maps. Development of creep resistant materials.
Lecture recordings:
If you are interested in this course, please go to my YouTube channel to watch the lecture recordings.
Lecture notes:
Full lecture notes for the “Failure of Solids” can be found from the google drive link here.
Computational Engineering
Level: MSc and 4th-year MEng students (EMS724)

Aims:
These notes introduce the foundations and practical workflow of structural and topology
optimisation for final-year undergraduates and MSc students. The emphasis is on physical
reasoning, approachable mathematics, and hands-on implementation in Python and
Abaqus. The style is deliberately tutorial: each week mixes short concept pieces with
worked examples, guided exercises, and small coding tasks so that students can “learn by
doing”.
Objectives:
This module introduces the mathematical formulation, numerical solution, and practical interpretation of structural and topology optimisation problems. Emphasis is placed on compliance minimisation, sensitivity analysis, constraint handling, SIMP-based topology optimisation, numerical instabilities, and multi-objective trade-offs, with clear links to manufacturability and engineering design.
Syllabus:
On successful completion of the module, students will be able to:
Analyse trade-offs in multi-objective optimisation using Pareto concepts.
- Formulate structural optimisation problems with appropriate objectives, constraints, and design variables.
- Integrate finite element analysis with optimisation loops.
- Derive and interpret sensitivity information for compliance minimisation.
- Apply Lagrange multipliers and KKT conditions to constrained optimisation.
- Implement SIMP-based topology optimisation with optimality criteria updates.
- Diagnose numerical instabilities such as checkerboarding and apply filtering techniques.
- Interpret optimised designs with respect to manufacturability
Lecture notes and Python codes:
Full lecture notes for the “Computational Engineering” can be found from the Github link here.
Computational and Mathematical Modelling 1
Level: 1st-year UG students (EMS412U)

Module Description:
This module provide students with knowledge of mathematical and computing techniques that are essential for Engineering students. Topics covered are basic logic and methods of proofs, sequences and series, limits, differentiation and integration and partial derivatives. Students will develop to command prompt applications of the numerical and symbolic toolboxes of Python. The mathematical and computational techniques will be developed through the introduction of the fundamental principles of statics for linearly elastic materials and their application to structures. It focuses on the behaviour of structures in particular beams and shafts, and provides underpinning knowledge for a range of analyses on applications relevant to engineering.
Aims:
The module proposal results from a review of the Undergraduate Engineering programmes in the School of Engineering and Materials Science. It forms a compulsory module for all Engineering and Materials (except Design, Innovation and Creative Engineering) programmes in the School. It introduces basic mathematical techniques and associated computing skills using Python that are required to solve problems whilst introducing students to the concepts in statics and the ability to solve interesting , real-life problems with Python.
Objectives:
- To provide students with knowledge of basic mathematical and computational techniques that are essential for Engineering students.
- To introduce students to tools used for the static analysis of objects and structures.
- To enable students to analyse the stresses developed in simple static situations and develop quantitative models in applications relevant to Engineering.
- To provide students with the capacity to appropriately approximate from a real life situation to a simple model that can be analysed.
Teaching materials:
We have four parts of teaching materials:
- Pre-recorded videos (not available for the public);
- Lecture notes (not available for the public);
- Problem solving sheets (not available for the public);
- Python-based teaching materials in Jupyter notebook files: current available in the Github repository.