2D Few Phases Grain Boundary Motion Code

This is Matlab code, with a C subroutines (mex file), that implements grain boundary motion of networks with arbitrary surface tensions and fixed mobilities, in two space dimensions. Note carefully that the mobility of each interface = 1 / its surface tension, i.e.
μi,j=1σi,j
The algorithm is based on the following paper:

Esedoglu, S.; Otto, F. Threshold dynamics for networks with arbitrary surface tensions. Communications on Pure and Applied Mathematics. 68:5 (2015), pp. 808-864.

The research that led to this software was supported by the National Science Foundation grant DMS-074333.
Version 1 December 4, 2015.
Instructions:

After downloading the linked zipped directory, unzip it. For each C source file contained in the directory, issue the command
    mex ls2vf2D.c
from within Matlab. This will compile the auxiliary C routine ls2vf2D.c so that it can be called by matlab .m files. The main subroutine is called td2d.m. It contains extensive explanations and examples, which can be displayed by issuing the command
    help td2d
in Matlab. Here is an example of how to call the program in Matlab:
  sampleinitialdata;
  clf; showlevelsets(lev0);
  lev = td2d(lev0,30,0.001);

  clf; showlevelsets(lev);