- Level Foundation
- Duration 23 hours
- Course by University of Geneva
-
Offered by
About
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.Modules
Introduction and general concepts
1
Readings
- Course slides
Objectives and background
1
Videos
- Objectives and background
Modeling and Simulation
1
Videos
- Modeling and Simulation
Modeling Space and Time
1
Videos
- Modeling Space and Time
Example of bio-medical Modeling
1
Videos
- Example of bio-medical Modeling
Monte-Carlo methods
3
Videos
- Monte Carlo methods I
- Monte Carlo methods II
- Monte Carlo methods III
Assignments
1
Assignment
- Introduction and general concepts
Introduction to programming with Python 3
1
Readings
- Course slides
Introduction to high performance computing for modeling
1
Videos
- Introduction to high performance computing for modeling
Concepts of code optimization
1
Videos
- Concepts of code optimization
Parallelism
2
Videos
- Concepts of parallelism
- Palabos, a parallel lattice Boltzmann solver
An introduction to Python 3
1
Videos
- An introduction to Python 3
1
Readings
- Dive into python 3
Running a Python program
1
Videos
- Running a Python program
Variables and data types
1
Videos
- Variables and data types
Operators
1
Videos
- Operators
Control structures
2
Videos
- Conditional Statements
- Loops
Functions
1
Videos
- Functions
NumPy
1
Videos
- NumPy
Assignments
3
Assignment
- Introduction to programming with Python 3
- Project - Piles
- Project - Class:Integration
Dynamical systems and numerical integration
2
Readings
- Course slides
- References for numerical analysis
General introduction to dynamical systems
1
Videos
- General introduction to dynamical systems
Two examples of dynamical systems
2
Videos
- The random walk
- Growth of a population
1
Readings
- A reference for the random walk
Balance equations
2
Videos
- Balance equations I
- Balance equations II
Ordinary differential equations
3
Videos
- Integration of ordinary differential equations
- Error of the approximation
- The implicit Euler scheme
Numerical integration of partial differential equations
1
Videos
- Numerical integration of partial differential equations
Assignments
3
Assignment
- Dynamical systems and numerical integration
- The implicit Euler scheme
- Project - Lotka-Volterra
Cellular Automata
1
Readings
- Course slides
Definition and basic concepts
1
Videos
- Definition and basic concepts
Historical background
1
Videos
- Historical background
A mathematical abstraction of reality
1
Videos
- A mathematical abstraction of reality
Cellular Automata Models for Traffic
1
Videos
- Cellular Automata Models for Traffic
Complex systems
1
Videos
- Complex systems
Lattice-gas Automata
2
Videos
- Lattice-gas models
- Microdynamics of LGA
Assignments
2
Assignment
- Cellular Automata
- Project - The Parity Rule
1
Readings
- Notes on the Parity Rule
Lattice Boltzmann modeling of fluid flow
1
Readings
- Course slides
Introduction
3
Videos
- Computational Fluid Dynamics: Overview
- Equations and challenges
- From Lattice Gas to Lattice Boltzmann
The Lattice Boltzmann Algorithm
3
Videos
- Macroscopic Variables
- Collision step: the BGK model
- Streaming Step
Application
2
Videos
- Boundary Conditions
- Flow around an obstacle
Assignments
4
Assignment
- Optional - Equations and challenges
- Lattice Boltzmann modeling of fluid flow
- Project - Flow around a cylinder
- Collision Invariant
Particles and point-like objects
1
Readings
- Course slides
Numerical modeling of point-like objects
3
Videos
- Particles and point-like objects: Overview
- Newton’s laws of motion, potentials and forces
- Time-integration of equations of motion
Short-range interactions
1
Videos
- The Lennard-Jones potential: Introducing a cut-off distance
Long-range interactions
2
Videos
- The n-body problem: Evaluation of gravitational forces
- Barnes-Hut algorithm: using the quadtree
Assignments
2
Assignment
- Particles and point-like objects
- Project - Barnes-Hut Galaxy Simulator
Introduction to Discrete Events Simulation
1
Readings
- Course slides
Introduction to Discrete Events
1
Videos
- Introduction to Discrete Events
Definition of Discrete Events Simulations
1
Videos
- Definition of Discrete Events Simulations
Optimisation problems
1
Videos
- Optimisation problems
Implementation matters
1
Videos
- Implementation matters
Two examples
2
Videos
- Traffic intersection
- Volcano ballistics
Assignments
2
Assignment
- Introduction to Discrete Event Simulation
- Project - Simple modelling of traffic lights
Agent based models
1
Readings
- Course slides
Motivation
1
Videos
- Motivation
Agents
1
Videos
- Agents
Multi-Agent systems
1
Videos
- Multi-Agent systems
Implementation of Agent Based Models
1
Videos
- Implementation of Agent Based Models
Two examples
2
Videos
- Ants Corpse clustering
- Bacteria chemotaxy
Assignments
2
Assignment
- Agent based models
- Project - Multi-agents model
Auto Summary
Explore the fundamentals of modeling methods and simulation tools for natural phenomena in this foundational course. Covering topics from fluid motion to population evolution, it provides a broad overview without delving deeply into numerical methods. Designed for practical learning, you'll create short programs to solve simple problems, making it accessible without advanced programming experience. Offered by Coursera, the course spans 1380 minutes with Starter and Professional subscription options, ideal for science and engineering enthusiasts.

Bastien Chopard

Jean-Luc Falcone

Jonas Latt

Orestis Malaspinas