# Create Your Own Spring Network Simulation (With Python)

For today’s recreational coding exercise, we will simulate a spring network: an array of nodes connected by springs that obey Hooke’s Law. The spring system will fall down due to gravity and bounce off the floor. We use a particle algorithm similar to our N-body simulation.

You may find the…

# Create Your Own Direct Simulation Monte Carlo (With Python)

For today’s recreational coding exercise, we learn how to simulate dilute gas with the Direct Simulation Monte Carlo (DSMC) method. This approach is useful when gas is weakly collisional. We will look at the Rayleigh Problem: the response of rarified gas between two plates after one suddenly starts moving.

You…

# Create Your Own Active Matter Simulation (With Python)

For today’s recreational coding exercise, we simulate active matter, i.e., swarming. Such a system may describe a flock of birds or a school of fish. We will look at how very simple rules may lead to the emergence of self-ordered motions.

You may find the accompanying Python code on github.

# Create Your Own Lattice Boltzmann Simulation (With Python)

For today’s recreational coding exercise, we simulate fluid flow past a cylinder using the Lattice Boltzmann method. This is a really cool and simple technique to simulate fluid flow: instead of evolving the fluid (Navier-Stokes) equations directly, microscopic particles on a lattice are simulated with streaming and collision processes. …

# Create Your Own Volume Rendering (With Python)

For today’s recreational coding exercise, we look at a simple way to create volume renderings to visualize 3D simulation datacubes. This technique is incredibly useful when you have space-filling data you would like to visualize. …

# Create Your Own Quantum Mechanics Simulation (With Python)

For today’s recreational coding exercise, we will look at quantum mechanical systems, in particular, the Schrodinger-Poisson equations. We will create a simulation for the evolution of a wavefunction under its self-potential. Such a system may describe certain superfluids/Bose-Einstein condensate or exotic dark matter.

You may find the accompanying Python code…

# Create Your Own Finite Volume Fluid Simulation (With Python)

For today’s recreational coding exercise, we will simulate the Kelvin-Helmholtz Instability with the Finite Volume method. We will consider a compressible fluid with a high density stream moving in opposite direction of the background. …

# Create Your Own Smoothed-Particle Hydrodynamics Simulation (With Python)

For today’s recreational coding exercise, we will simulate a star with smoothed-particle hydrodynamics (SPH). We will start with some initial condition and relax it into a stable stellar structure and measure the star’s density as a function of radius. …

# Create Your Own Plasma PIC Simulation (With Python)

For today’s recreational coding exercise, we will investigate plasma physics with particle-in-cell (PIC) simulations. We will create a simulation of two electron beams passing through each other in opposite directions. An interesting phenomenon occurs, called the Two-Stream Instability.

You may find the accompanying Python code on github.

Before we begin…

# Create Your Own N-body Simulation (With Python)

For today’s recreational coding exercise, we will look at the gravitational N-body problem. We will create a simulation of a dynamical system of particles interacting with each other gravitationally. Such a system may describe the orbits of planets in the Solar System or stars in our Galaxy.

You may find…

## Philip Mocz

Computational Astrophysicist @Princeton, sharing intro tutorials on creating your own computer simulations! Harvard ’12 (A.B), ’17 (PhD). Connect with me @PMocz

Get the Medium app