This course gives you an introduction to modeling methods and simulation tools for a wide range of natural phenomena. The different methodologies that will be presented here can be applied to very wide range of topics such as fluid motion, stellar dynamics, population evolution, ... This course does not intend to go deeply into any numerical method or process and does not provide any recipe for the resolution of a particular problem. It is rather a basic guideline towards different methodologies that can be applied to solve any kind of problem and help you pick the one best suited for you.
The assignments of this course will be made as practical as possible in order to allow you to actually create from scratch short programs that will solve simple problems. Although programming will be used extensively in this course we do not require any advanced programming experience in order to complete it.
This module gives an overview of the course and presents the general ideas about modeling and simulation. An emphasis is given on ways to represent space and time from a conceptual point of view. An insight of modeling of complex systems is given with the simulation of the grothw and thrombosis of giant aneurysms. Finally, a first class of modeling approaches is presented: the Monte-Carlo methods.
What's included
7 videos1 reading1 assignment
Show info about module content
7 videos•Total 85 minutes
Objectives and background•12 minutes
Modeling and Simulation•13 minutes
Modeling Space and Time•15 minutes
Example of bio-medical Modeling•9 minutes
Monte Carlo methods I•9 minutes
Monte Carlo methods II•15 minutes
Monte Carlo methods III•11 minutes
1 reading•Total 10 minutes
Course slides•10 minutes
1 assignment•Total 30 minutes
Introduction and general concepts•30 minutes
Introduction to programming with Python 3
Module 2•3 hours to complete
Module details
This module intends to provide the most basic concepts of high performance computing used for modeling purposes. It also aims at teaching the basics of Python 3 which will be the programming language used for the quizzes in this course.
What's included
12 videos2 readings3 assignments
Show info about module content
12 videos•Total 94 minutes
Introduction to high performance computing for modeling•4 minutes
Concepts of code optimization•7 minutes
Concepts of parallelism•4 minutes
Palabos, a parallel lattice Boltzmann solver•5 minutes
An introduction to Python 3•6 minutes
Running a Python program•6 minutes
Variables and data types•11 minutes
Operators•9 minutes
Conditional Statements•7 minutes
Loops•7 minutes
Functions•15 minutes
NumPy•11 minutes
2 readings•Total 20 minutes
Course slides•10 minutes
Dive into python 3•10 minutes
3 assignments•Total 90 minutes
Introduction to programming with Python 3•30 minutes
Project - Piles•30 minutes
Project - Class:Integration•30 minutes
Dynamical systems and numerical integration
Module 3•4 hours to complete
Module details
Dynamical systems modeling is the principal method developed to study time-space dependent problems. It aims at translating a natural phenomenon into a mathematical set of equations. Once this basic step is performed the principal obstacle is the actual resolution of the obtained mathematical problem. Usually these equations do not possess an analytical solution and advanced numerical methods must be applied to solve them. In this module you will learn the basics of how to write mathematical equations representing natural phenomena and then how to numerically solve them.
What's included
9 videos3 readings3 assignments
Show info about module content
9 videos•Total 92 minutes
General introduction to dynamical systems•7 minutes
The random walk•14 minutes
Growth of a population•9 minutes
Balance equations I•9 minutes
Balance equations II•13 minutes
Integration of ordinary differential equations•7 minutes
Error of the approximation•8 minutes
The implicit Euler scheme•12 minutes
Numerical integration of partial differential equations•13 minutes
3 readings•Total 30 minutes
Course slides•10 minutes
References for numerical analysis•10 minutes
A reference for the random walk•10 minutes
3 assignments•Total 90 minutes
Dynamical systems and numerical integration•30 minutes
The implicit Euler scheme•30 minutes
Project - Lotka-Volterra•30 minutes
Cellular Automata
Module 4•3 hours to complete
Module details
This module defines the concept of cellular automata by outlining the basic building blocks of this method. Then an insight of how to apply this technique to natural phenomena is given. Finally the lattice gas automata, a subclass of models used for fluid flows, is presented.
What's included
7 videos2 readings2 assignments
Show info about module content
7 videos•Total 108 minutes
Definition and basic concepts•17 minutes
Historical background•10 minutes
A mathematical abstraction of reality•20 minutes
Cellular Automata Models for Traffic•14 minutes
Complex systems•21 minutes
Lattice-gas models•10 minutes
Microdynamics of LGA•17 minutes
2 readings•Total 20 minutes
Course slides•10 minutes
Notes on the Parity Rule•10 minutes
2 assignments•Total 60 minutes
Cellular Automata•30 minutes
Project - The Parity Rule•30 minutes
Lattice Boltzmann modeling of fluid flow
Module 5•4 hours to complete
Module details
This module provides an introduction to the lattice Boltzmann method, a powerful tool in computational fluid dynamics. The lesson is practice oriented and show, step by step, how to write a program for the lattice Boltzmann method. The program is used to showcase an interesting problem in fluid dynamics, the simulation of a vortex street behind an obstacle.
What's included
8 videos1 reading4 assignments
Show info about module content
8 videos•Total 94 minutes
Computational Fluid Dynamics: Overview•12 minutes
Equations and challenges•9 minutes
From Lattice Gas to Lattice Boltzmann•10 minutes
Macroscopic Variables•14 minutes
Collision step: the BGK model•12 minutes
Streaming Step•9 minutes
Boundary Conditions•22 minutes
Flow around an obstacle•7 minutes
1 reading•Total 10 minutes
Course slides•10 minutes
4 assignments•Total 120 minutes
Lattice Boltzmann modeling of fluid flow•30 minutes
Project - Flow around a cylinder•30 minutes
Collision Invariant•30 minutes
Optional - Equations and challenges•30 minutes
Particles and point-like objects
Module 6•3 hours to complete
Module details
A short review of classical mechanics, and of numerical methods used to integrate the equations of motions for many interacting particles is presented. The student will learn that the computational expense of resolving all interaction between particles poses a major obstacle to simulating such a system. Specific algorithms are presented to allow to cut down on computational expense, both for short-range and large-range forces. The module focuses in detail on the Barnes-Hut algorithm, a tree algorithm which is popular a popular approach to solve the N-Body problem.
What's included
6 videos1 reading2 assignments
Show info about module content
6 videos•Total 86 minutes
Particles and point-like objects: Overview•6 minutes
Newton’s laws of motion, potentials and forces•16 minutes
Time-integration of equations of motion•11 minutes
The Lennard-Jones potential: Introducing a cut-off distance•16 minutes
The n-body problem: Evaluation of gravitational forces•21 minutes
Barnes-Hut algorithm: using the quadtree•16 minutes
1 reading•Total 10 minutes
Course slides•10 minutes
2 assignments•Total 60 minutes
Particles and point-like objects•30 minutes
Project - Barnes-Hut Galaxy Simulator•30 minutes
Introduction to Discrete Events Simulation
Module 7•2 hours to complete
Module details
In this module, we will see an alternative approach to model systems which display a trivial behaviour most of the time, but which may change significantly under a sequence of discrete events. Initially developed to simulate queue theory systems (such as consumer waiting queue), the Discrete Event approach has been apply to a large variety of problems, such as traffic intersection modeling or volcanic hazard predictions.
What's included
6 videos1 reading2 assignments
Show info about module content
6 videos•Total 70 minutes
Introduction to Discrete Events•8 minutes
Definition of Discrete Events Simulations•9 minutes
Optimisation problems•12 minutes
Implementation matters•9 minutes
Traffic intersection•12 minutes
Volcano ballistics•19 minutes
1 reading•Total 10 minutes
Course slides•10 minutes
2 assignments•Total 60 minutes
Introduction to Discrete Event Simulation•30 minutes
Project - Simple modelling of traffic lights•30 minutes
Agent based models
Module 8•2 hours to complete
Module details
Agent Based Models (ABM) are used to model a complex system by decomposing it in small entities (agents) and by focusing on the relations between agents and with the environment. This approach is derived from artificial intelligence research and is currently used to model various systems such as pedestrian behaviour, social insects, biological cells, etc.
What's included
6 videos1 reading2 assignments
Show info about module content
6 videos•Total 71 minutes
Motivation•8 minutes
Agents•10 minutes
Multi-Agent systems•9 minutes
Implementation of Agent Based Models•15 minutes
Ants Corpse clustering•16 minutes
Bacteria chemotaxy•12 minutes
1 reading•Total 10 minutes
Course slides•10 minutes
2 assignments•Total 60 minutes
Agent based models•30 minutes
Project - Multi-agents model•30 minutes
Instructors
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
Founded in 1559, the University of Geneva (UNIGE) is one of Europe's leading universities. Devoted to research, education and dialogue, the UNIGE shares the international calling of its host city, Geneva, a centre of international and multicultural activities with a venerable cosmopolitan tradition.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.3
413 reviews
5 stars
52.54%
4 stars
32.44%
3 stars
8.47%
2 stars
3.87%
1 star
2.66%
Showing 3 of 413
D
DC
5·
Reviewed on Sep 7, 2021
I am completely sattisfied with the amount of information and questions that I got from this course.
O
OT
4·
Reviewed on Jul 30, 2020
The course was really interesting and enlightening. The course gave me further understanding of important concepts I had been exposed to as well as new concepts.
A
AR
5·
Reviewed on Apr 17, 2018
Excellent course for people who love math, physics and simulations ! I choose it to get an insight on Lattice Boltzmann Method, I was happy to apply it and extend it to other cases.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I purchase the Certificate?
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.