Here are some programs I wrote (GPL license). They were all tested under GNU/Linux. If you make any enhancements, please let me know so I can upload them here.
This program solves the
lid-driven-cavity flow problem in 2
dimensions using the stream-vorticity method. SOR (Successive
Over-Relaxation) method is used in each time step to solve the
discrete problem (finite differences are used). Crank-Nicolson
discretization is applied to get a second-order approximation
with respect to time.
You will need the SDL library for the graphics to work.
To download the source tarball, click here.
This small program shows how caustics develop (if you don't know what caustics are, go here and here). As for now, the program can only show caustics formed by a semicircle and a parabola, but adding more curves shouldn't be a problem.
To download the source tarball click here.
Click here to download the source tarball.
You can download it here.
There is also a Java version available.
This is a Python module that does some simple combinatorics with a given list. For example the perm function returns permutations of the list (implemented using iterators). No screenshot here! :)
Click here to get the tarball.
This set of Python modules solves the Poisson and Heat equations using Finite Elements. Also a solver for the system of 2D linear elasticity is included. This package has a simple mesh refinement procedure and a basic mesh visualization procedure. The solver requires SciPy and NumPy installed on the system. See the included README file for more details.
In the following screenshot a solution to the elasticity.py is
presented. The colors represent the absolute value of the stress
field, while the wired grid shows how the material deforms under the
given load. This image was created using Paraview:
It can be downloaded here.
Here is the source code.