**f90_simulation**,
a Fortran90 code which
uses simulation to study card games, contests, and other processes
which have a random element. Usually, the purpose is to try to
predict the average behavior of the system over many trials.

**f90_simulation** is available in
a C version and
a C++ version and
a Fortran90 version and
a MATLAB version and
an Octave version and
a Python version.

brownian_motion_simulation, a Fortran90 code which simulates Brownian motion in an M-dimensional region.

duel_simulation, a Fortran90 code which simulates N repetitions of a duel between two players, each of whom has a known firing accuracy.

fair_dice_simulation, a Fortran90 code which simulates N tosses of 2 dice, making a histogram of the results.

fire_simulation, a Fortran90 code which simulates a forest fire over a rectangular array of trees, starting at a single random location.

high_card_simulation, a Fortran90 code which simulates a situation in which you see the cards in a deck one by one, and must select the one you think is the highest and stop.

ising_2d_simulation, a Fortran90 code which carries out a Monte Carlo simulation of an Ising model, a 2D array of positive and negative charges, each of which is likely to "flip" to be in agreement with neighbors.

ising_3d_simulation, a Fortran90 code which carries out a Monte Carlo simulation of an Ising model, a 3D array of positive and negative charges, each of which is likely to "flip" to be in agreement with neighbors.

poisson_simulation, a Fortran90 code which simulates a Poisson process in which events randomly occur with an average waiting time of Lambda.

reactor_simulation, a Fortran90 code which a simple Monte Carlo simulation of the shielding effect of a slab of a certain thickness in front of a neutron source. This code was provided as an example with the book "Numerical Methods and Software."