📖Program Curriculum
Course modules
Compulsory modules
All the modules in the following list need to be taken as part of this course.
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.
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.
Management for Technology
Module Leader
Dr Richard Adams
Aim
The importance of technology leadership in driving the technical aspects of an organisation’s products, innovation, programmes, operations and strategy is paramount, especially in today’s turbulent commercial environment with its unprecedented pace of technological development. Demand for ever more complex products and services has become the norm. The challenge for today’s manager is to deal with uncertainty, to allow technological innovation and change to flourish but also to remain within planned parameters of performance. Many organisations engaged with technological innovation struggle to find engineers with the right skills. Specifically, engineers have extensive subject/discipline knowledge but do not understand management processes in organisational context. In addition, STEM graduates often lack interpersonal skills.
Syllabus
Engineers and Technologists in organisations:
the role of organisations and the challenges facing engineers and technologies,
People management:
understanding you, understanding other people, working in teams and dealing with conflicts.
The Business Environment:
understanding the business environment; identifying key trends and their implications for the organisation.
Strategy and Marketing:
developing effective strategies, focusing on the customer, building competitive advantage, the role of strategic assets.
Finance:
profit and loss accounts, balance sheets, cash flow forecasting, project appraisal.
New product development:
commercialising technology, market drivers, time to market, focusing technology, concerns.
Business game:
Working in teams (companies), you will set up and run a technology company and make decisions on investment, R&D funding, operations, marketing and sales strategy,
Negotiation:
preparation for negotiations, negotiation process, win-win solutions.
Presentation skills:
understanding your audience, focusing your message, successful presentations, getting your message across.
Intended learning outcomes
On successful completion of this module you should be able to:
Recognise the importance of teamwork in the performance and success of organisations with particular reference to commercialising technological innovation,
Operate as an effective team member, recognising the contribution of individuals within the team, and capable of developing team working skills in yourself and others to improve the overall performance of a team,
Compare and evaluate the impact of the key functional areas (strategy, marketing and finance) on the commercial performance of an organisation, relevant to the manufacture of a product or provision of a technical service,
Design and deliver an effective presentation that justifies and supports any decisions or recommendations made,
Argue and defend your judgements through constructive communication and negotiating skills.
Geometric Modelling and Design
Aim
The aim of this module is to provide the student with the knowledge and practice of the mathematical techniques and the principal algorithms used for the construction of curve, surface and solid geometry. The module also addresses the geometric design factors impinging on the creation of CAD and other geometric models. The limitations and risk factors inherent in the choice of modelling approach are considered with respect to the surfacing technology used, current engineering data exchange standards and the implications for downstream applications such as finite element analysis. Case studies of CAD models used in the auto and other related industries are presented and the particular issues arising with respect to the above factors considered. Hands-on programming exercises and a modelling assignment form part of the course.
Syllabus
Wireframe, surface and solid geometry, Polynomial and spline interpolation, B-spline curve and surface interpolation and approximation, Some advanced modelling techniques, Solid model representation schemes, Boundary representation models.
Intended learning outcomes
On successful completion of this module you should be able to:
Solve a range of basic numerical problems in B-spline curve and surface data fitting and modelling.
Apply B-spline curve and surface theory and algorithms to the construction of data fitting programs in a CAD modelling setting.
Use the mathematical and computational techniques deployed in the creation of 3D geometric modelling software to extend existing implementations.
Evaluate modern CAD systems in terms of established and newer/emerging surface modelling capabilities and their implications.
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.
Digital Engineering and Product Design
Aim
The aim of the module is to introduce students to key concepts, techniques and applications of a modern 3D Solid Modelling system. Use is made of structured computer based workshops which employ an industry standard system (CATIA) for 3D Solid Modelling. Introductory lectures are reinforced by the ‘hands-on’ approach through a series of part, assembly and surface modelling exercises covering the major workbenches available in the CAD system. A number of case studies and emerging modelling technologies are also covered.
Syllabus
Some benefits of using solid modelling and the CAE approach,
Different construction methods for 3D geometrical models,
Parametric and variational design,
Production of drafting setup details from 3D geometrical parts,
Modifying parts and features,
Case studies and advanced solid and surfacing tools and techniques
Intended learning outcomes
On successful completion of this module you should be able to:
1. Formulate solid geometrical parts and assemblies using a variety of fundamental CAD construction techniques including parametric and variational design.
2. Apply skills necessary to carry out a variety of Solid and Surface Modelling tasks.
3. Use appropriate drafting tools to generate 2D drawings from 3D geometrical parts.
4. Evaluate a modern CAE Solid Modelling package in terms of the range of solid and surface construction techniques offered.
5. Design CAD models of reasonable complexity from a given specification using a combination of part, assembly and surface modelling techniques
Computational Engineering Fluids
Aim
To introduce the techniques and tools for modelling, simulating and analysing realistic computational engineering problems for industrial applications with practical hands on experience of commercial software packages used in industry.
Syllabus
• Introduction to Computational Engineering
• Fundamental equations
• The Computational Engineering Process
• Fluid Simulation for Computer Graphics
• Modelling techniques
• Practical sessions
Intended learning outcomes
On successful completion of this module you should be able to:
Understand the Computational Engineering Process.
Understand the governing equations for fluid systems and how to solve them computationally.
Appreciate the wide range of applications using computational engineering for fluids.
Undertake pre-processing, processing and post processing techniques using a commercial code for physical fluid flow problems.
Visualisation
Aim
Computer graphics is a key element in the effective presentation and manipulation of data in engineering software. The aim of this module is to provide an in depth practical understanding of the mathematical and software principles behind 2D and 3D visualisation using the widely used OpenGL (desktop) and WebGL (web based) graphic libraries. Representative GUI based 2D and 3D OpenGL/WebGL applications using both Javascript/HTML5 and the Qt development environment are employed. The module will also cover some of the more advanced rendering techniques including lighting, texturing and other image mapping methods used to enhance visual interpretation of data. An introduction to the implementation and use of Virtual Reality in engineering completes the module. Hands-on exercises and an assignment supplement the learning process.
Syllabus
Mathematical principles behind 2D and 3D visualisation, The graphic and coordinate pipelines, Matrix transformations, Modelling, viewing and projection, OpenGL and WebGL libraries, GLSL shader programming.for the graphic pipeline and GPU
Development of interactive CG applications using OpenGL, WebGL, GLSL and Qt
Advanced rendering techniques, lighting, texturing and image mapping
Introduction to virtual reality.
Intended learning outcomes
On successful completion of this module you should be able to:
Apply the principles underlying the graphic and coordinate pipelines to display and manipulate 2D and 3D models.
Use the mathematical basis behind 2D/3D modelling and viewing to solve visualisation problems in OpenGL and WebGL.
Understand, implement and use GLSL shader programs for implementing the graphic pipeline.
Create interactive visualisation applications using OpenGL/ WebGL, GLSL and Qt.
Evaluate the use of VR and other advanced technologies for engineering visualisation.
Computational Optimisation Design