Acerca de este Curso
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.
Globe

Curso 100 % en línea

Comienza de inmediato y aprende a tu propio ritmo.
Clock

Aprox. 30 horas para completar

Sugerido: 6 hours/week
Comment Dots

English

Subtítulos: English
Globe

Curso 100 % en línea

Comienza de inmediato y aprende a tu propio ritmo.
Clock

Aprox. 30 horas para completar

Sugerido: 6 hours/week
Comment Dots

English

Subtítulos: English

Syllabus - What you will learn from this course

1

Section
Clock
2 hours to complete

Introduction and general concepts

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....
Reading
7 videos (Total 85 min), 1 reading, 1 quiz
Video7 videos
Modeling and Simulation13m
Modeling Space and Time15m
Example of bio-medical Modeling9m
Monte Carlo methods I9m
Monte Carlo methods II15m
Monte Carlo methods III10m
Reading1 readings
Course slides10m
Quiz1 practice exercises
Introduction and general concepts8m

2

Section
Clock
2 hours to complete

Introduction to programming with Python 3

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....
Reading
12 videos (Total 94 min), 2 readings, 3 quizzes
Video12 videos
Concepts of code optimization6m
Concepts of parallelism4m
Palabos, a parallel lattice Boltzmann solver5m
An introduction to Python 36m
Running a Python program6m
Variables and data types11m
Operators8m
Conditional Statements7m
Loops7m
Functions15m
NumPy11m
Reading2 readings
Course slides10m
Dive into python 310m
Quiz3 practice exercises
Introduction to programming with Python 310m
Project - Piles2m
Project - Class:Integration2m

3

Section
Clock
3 hours to complete

Dynamical systems and numerical integration

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....
Reading
9 videos (Total 92 min), 3 readings, 3 quizzes
Video9 videos
The random walk14m
Growth of a population8m
Balance equations I8m
Balance equations II13m
Integration of ordinary differential equations7m
Error of the approximation8m
The implicit Euler scheme11m
Numerical integration of partial differential equations13m
Reading3 readings
Course slides10m
References for numerical analysis10m
A reference for the random walk10m
Quiz3 practice exercises
Dynamical systems and numerical integration8m
The implicit Euler scheme18m
Project - Lotka-Volterra8m

4

Section
Clock
2 hours to complete

Cellular Automata

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....
Reading
7 videos (Total 108 min), 2 readings, 2 quizzes
Video7 videos
Historical background9m
A mathematical abstraction of reality20m
Cellular Automata Models for Traffic13m
Complex systems20m
Lattice-gas models9m
Microdynamics of LGA17m
Reading2 readings
Course slides10m
Notes on the Parity Rule10m
Quiz2 practice exercises
Cellular Automata8m
Project - The Parity Rule6m

5

Section
Clock
2 hours to complete

Lattice Boltzmann modeling of fluid flow

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....
Reading
8 videos (Total 94 min), 1 reading, 4 quizzes
Video8 videos
Equations and challenges9m
From Lattice Gas to Lattice Boltzmann9m
Macroscopic Variables13m
Collision step: the BGK model12m
Streaming Step8m
Boundary Conditions21m
Flow around an obstacle6m
Reading1 readings
Course slides10m
Quiz4 practice exercises
Optional - Equations and challenges2m
Lattice Boltzmann modeling of fluid flow4m
Project - Flow around a cylinder2m
Collision Invariant6m

6

Section
Clock
2 hours to complete

Particles and point-like objects

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....
Reading
6 videos (Total 86 min), 1 reading, 2 quizzes
Video6 videos
Newton’s laws of motion, potentials and forces15m
Time-integration of equations of motion10m
The Lennard-Jones potential: Introducing a cut-off distance16m
The n-body problem: Evaluation of gravitational forces21m
Barnes-Hut algorithm: using the quadtree16m
Reading1 readings
Course slides10m
Quiz2 practice exercises
Particles and point-like objects6m
Project - Barnes-Hut Galaxy Simulator2m

7

Section
Clock
1 hour to complete

Introduction to Discrete Events Simulation

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....
Reading
6 videos (Total 70 min), 1 reading, 2 quizzes
Video6 videos
Definition of Discrete Events Simulations8m
Optimisation problems11m
Implementation matters9m
Traffic intersection12m
Volcano ballistics19m
Reading1 readings
Course slides10m
Quiz2 practice exercises
Introduction to Discrete Event Simulation6m
Project - Simple modelling of traffic lights2m

8

Section
Clock
2 hours to complete

Agent based models

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....
Reading
6 videos (Total 71 min), 1 reading, 2 quizzes
Video6 videos
Agents9m
Multi-Agent systems9m
Implementation of Agent Based Models15m
Ants Corpse clustering16m
Bacteria chemotaxy12m
Reading1 readings
Course slides10m
Quiz2 practice exercises
Agent based models6m
Project - Multi-agents model6m
4.2

Top Reviews

By EMNov 18th 2017

This course was a perfect match with my expectations! I think it is a perfect introduction to Computer modeling of natural processes. I enjoyed lectures and tasks. Thank you very much!

By ARApr 18th 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.

Instructors

Avatar

Bastien Chopard

Full Professor
Avatar

Jean-Luc Falcone

Research Associate
Avatar

Jonas Latt

Senior Lecturer
Avatar

Orestis Malaspinas

Research Associate

About University of Geneva

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

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • If you pay for this course, you will have access to all of the features and content you need to earn a Course Certificate. If you complete the course successfully, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. Note that the Course Certificate does not represent official academic credit from the partner institution offering the course.

  • Yes! Coursera provides financial aid to learners who would like to complete a course but cannot afford the course fee. To apply for aid, select "Learn more and apply" in the Financial Aid section below the "Enroll" button. You'll be prompted to complete a simple application; no other paperwork is required.

More questions? Visit the Learner Help Center