Modeling and Computational Engineering (MOD510)
This course introduces numerical methods and modeling techniques used to solve practical problems within several engineering disciplines. The course provides insights and practical skills in algorithmic thinking and programming techniques.
Course description for study year 2023-2024. Please note that changes may occur.
Semester tution start
Number of semesters
Language of instruction
In this course you will learn how to model complex problems. We use models to understand phenomena and then make better decisions, for example measures to reduce global warming, the spread of infectious diseases. Modeling essentially consists of three steps i) formulating the observed phenomenon in the form of a mathematical model ii) solving the model using appropriate techniques iii) comparing the solution of the model with measured data to check whether you have understood the processes. In the course, we will work with applied problems from various engineering disciplines. Examples of methods and models that can be lectured: numerical derivative, numerical integration, Monte Carlo and boot strapping methods, inverse methods, numerical solution of ordinary and partial differential equations, simulated annealing, lattice Boltzmann models, random walk models, box (compartment) models.
The course is based on the programming language Python. You will work in groups of up to three students, but you can also choose to work alone. The assignments will focus on teaching you how we can simplify observed phenomena, and then formulate the phenomena mathematically. You will examine the strengths and weaknesses of the model by comparing the solution of the models with observed data and with analytical solutions in special cases. We will teach you how to code efficiently in Python, both by creating functions and classes. You will also learn how to present the results in a report. After completing the course, you will have good prerequisites for carrying out a larger project assignment, such as a master's thesis.
- Advanced knowledge of algorithms and algorithmic thinking, and apply it to formulate and solve discrete and continuous problems
- Advanced knowledge in numerical analysis, in order to evaluate the constraints associated with the chosen solution method, including approximation errors
- In depth knowledge of the basic numerical methods
- Develop models of physical systems from biology, chemistry, flow in porous media, and geology
- Test models against experimental data, and use data to constrain the model
- Apply appropriate numerical methods to solve mathematical models
- Develop own programs written in the program language Python
- To write scientific reports
- Visualize and presentation of results from numerical simulations
- The use of computers to work more efficiently with large amounts of data
Required prerequisite knowledge
|Form of assessment||Weight||Duration||Marks||Aid|
|Folder evaluation||1/1||Letter grades|
Portfolio assessment:The folder consists of four projects, the first is pass/fail and the last three count 1/3 of the total grade. There is no written or oral examination. If a student fails or wants to improve the grade, he or she has to take course again.
Course coordinator:Aksel Hiorth
Head of Department:Alejandro Escalona Varela
Method of work
4 hours of teaching per week
8 hours of lab exercises per week (not compulsory)
8-16 hours of self-study
Course participation is strongly recommended as training in computer skills is required