# 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.

Facts

MOD510

1

10

Autumn

1

Autumn

English

Time table

## Content

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.

## Learning outcome

Knowledge:

• 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

Skills:

• 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

General Competence:

• 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

None

## Recommended prerequisites

MAF300 Numerical Modeling, MAT100 Mathematical Methods 1, MAT110 Linear Algebra, MAT320 Differential Equations

## Coursework requirements

Students must have approved at least two mandatory assignments in order to get an assessment in the course.

## Course coordinator:

Aksel Hiorth

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

## Open for

Admission to Single Courses at the Faculty of Science and Technology

## Course assessment

There must be an early dialogue between the course coordinator, the student representative and the students. The purpose is feedback from the students for changes and adjustments in the course for the current semester.In addition, a digital course evaluation must be carried out at least every three years. Its purpose is to gather the students experiences with the course.

## Literature

Search for literature in Leganto