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.

Here's a screenshot of the program in action:

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.

This was my first program that used SDL. It paints the Mandelbrot set and lets you explore it (i.e. zoom in at any point you want). It can also paint the Julia set corresponding to a given point.

Click here to download the source tarball.

A small and simple Python program which solves the wave equation. Results are animated with the aid of the PyQT4 library.

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.

An adesklet plugin (Python code) that displays RSS feeds on your desktop. For now this is a very unstable version, so don't expect much! (tested with Slashdot and XKCD)

Here is the source code.

This page is best viewed
with Mozilla
Firefox.