Instructor:  Burkhard Militzer  GSI: Tanja Kovacevic  Abdullah Azhar 
militzer@berkeley.edu  tanja_kovacevic AT berkeley.edu  abdullah_azhar AT berkeley.edu  
Office hours:  Tue 67 pm 
Tue 68 pm 
Tue 79 pm 
325 McCone Hall  tbd  tbd 
4 units:  Lectures:  Tu 56 pm  141 McCone Hall  Computer labs:  are all on Wednesdays. For time and location 
Th 56 pm  141 McCone Hall  see UCB's schedule of classes. 
 This course offers a general introduction to computer simulations for all science majors. Participants will use the Jupyter notebooks to perform calculations, design 3D graphics, and build on existing computer programs. No prior programming experience is required. The course teaches fundamental skills for scientists and helps students with future homework. It covers data processing techniques as well standard simulations methods including Monte Carlo and molecular dynamics. The algorithms are illustrated with a variety of applications in earth and planetary science as well as astronomy. 
Cassini spacecraft in Saturn orbit 
Choatic behavior of dynamical systems: the Lorenz attractor 
Combined gravity field of sun and planet 
Fractal nature of ferns 
Koch snowflake 
Sierpinski gasket 
Type of assignment  Description  Files 
Lab 1  Getting to know Jupyter notebooks  Intro_to_python_05.pdf ice_core_temperature_data.txt 
Homework 1  Simple calculations with Jupyter notebooks  hw01_course_intro13.pdf ice_core_CO2_data.txt 
Lab 2  Pixel graphs and filling matrices  pixel_graphics12.pdf topography_180x360_grid.txt 
Homework 2  Practice making a smiley  hw02_pixel_graphics_13.pdf 
Exoplanet Orrery  Simulation of exoplanet ensembles  The orbits of the known exoplanets have been combined into a single animation. Click on any image to play the corresponding .mp4 animation. Files are between 20 MB and 1.3 GB large. If you only see a black screen, you may have to click reload to start the animation. It is best to download the file with "Save linked file as ..." and play it back with the VLC player since it does not seem to have any issues with large files. 

Animations of filled Apollonian gasket fractals Click on any image to play the corresponding .mp4 animation. Files are between 65 and 105 MB large. They are also be started by clicking the following links: 11, 12, 13, 14, 15, 17, 19, and 20. 

Diffusion limited aggregation along a sticky wall 
Modified aggregation to increase the fractal dimension 
Tadpole orbit 
Horseshoe orbit 
Molecular dynamics simulations using a LennardJones pair potential 
Apollonian gasket (here in higher resolution) 
Diffusion limited aggregation along a sticky wall 
Modified aggregation to increase the fractal dimension 
Modified diffusion limited aggregation to grow more compact structures. Click on the images to start an animation. 

Diffusion limited aggregation with two species. Click on each image to see the structures growing. 

Series of fractals obtained with Newton's method in the complex plane. Click on any image in the upper two rows to see it in 2K resolution. Here are five animations: One, two, three, four, and five. 

Monte Carlo simulations of a 2D Ising spin model. In both rows of images, the temperature increases from left to right. The images in the lower row were generated by constraining the magnetization to be 50%. Click on every image to start the corresponding animation. Here is the Jupyter notebook that was used to make these animations. 

Triangular fractal (click on image to start movie) 
Aggregation in 3D (click on image to start movie) 
Mandelbrot fractal (click on image to start movie) 
Julia set (click on image to start movie) 
In the foot steps of Joan Miro (Higher resolution available: left and right) 
In the spirit of Piet Mondrian (higher resolution available) 
Landscape evolution model (code written by former EPS109 student Jeff Prancevic) Three movies for different models are available: movie 1, movie 2, and movie 3. 
A different landscape evolution model. Click on image to start the animation. 
Landscape evolution model rewritten in Python. Click on image to start the animation. 
Water wave traveling along a midocean ridge. Numerical solution of the shallow water wave equation. Click on image to start animations 1 or 2 . 
Labyrinths were generated with 101 x 101, 201 x 202, and 401 x 401 resolution and also on a hexagonal grid. 
Date  Lecture topic  Computer lab exercises 
Thu 8/27 
1: Introduction of course, historical overview, interplay of experiments, theory, and simulation  Lab 1: Matlab as a pocket calculator 
Tue 9/1 
2: Fractals in nature, models and computer simulations, fractal dimension and examples in topography and coast line structure  Lab 2: Loops and plots in Matlab 
Tue 9/3 
3: Mandelbrot set and related fractals 

Tue 9/8  4: Random walks and diffusion limited aggregation (DLA), percolation theory  Lab 3: Programming the Mandelbrot and Julia set 
Thu 9/10 
5: Group discussion on fractals  
Tue 9/15  6: Numerical algorithms for finding roots and minima  Lab 4: DLA in 2D on a flat sheet 
Thu 9/17  7: Introduction to time independent partial differential equations (PDE), algorithms and stationary state of 1D heat equation  
Tue 9/22  8: Methods to find the stationary state of 2D heat equation  Lab 5: Heat equation solver in 2D 
Thu 9/24  9: Time dependent PDEs, diffusion equation (heat and chemical diffusion), solution of the 1D heat equation, cooling of a lave dike  
Tue 9/29  10: Landscape erosion models  Lab 6: Perron’s erosion model 
Thu 10/1  11: Wave equations and numerical solutions  
Tue 10/6  12: Shallow water wave equation, tsunamis  Lab 7: 3D water wave simulations 
Thu 10/8  Midterm  
Tue 10/13  13: Introduction to ordinary differential equations, Euler’s method  Lab 8: Keplerian orbits 
Thu 10/15  14: Newton’s law of motion, Keplerian orbits  
Tue 10/20  15: Planetary orbits, Hohmann transfers, spacecraft trajectories  Lab 9: Lagrange points 
Thu 10/22  16: RungeKutta method  
Tue 10/27  17: Lagrange points, horseshoe and tadpole orbits of asteroids  Lab 10: Exercise on tadpole and horseshoe orbits 
Thu 10/29  18: Strange attractors  
Tue 11/3  19: Chaotic dynamical systems and Lyaponov exponents  Lab 11: Roessler attractor 
Thu 11/5  20: Simple models for climate change  
Tue 11/10  21: Molecular dynamics (MD)  Lab 12: Box model for climate change 
Thu 11/12  22: Crystal structures, simulations in periodic boundary conditions  
Tue 11/17  23: Many particle simulations  Lab 13: Molecular dynamics I 
Thu 11/19  24: Thermodynamic equilibrium, different states of matter  
Tue 11/24  25: Introduction to Monte Carlo (MC) simulations  Lab 14: Molecular dynamics II 
Thu 11/26  Holiday  
Tue 12/1  26: Applications of MC simulations  Lab 15: Comparison of MC and MD 
Thu 12/3  27: Curve fitting using the leastsquares method, revisions, and exam preparations  
Tue 12/8  28: Students present their movie projects, part A  Lab 16: Students present their movie projects, part B 