3D 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 three 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 ls2vf3D.c
from within Matlab. This will compile the auxiliary C routine ls2vf3D.c so that it can be called by matlab .m files. The main subroutine is called td3d.m. It contains extensive explanations and examples, which can be displayed by issuing the command
    help td3d
in Matlab. Here is an example of how to call the program in Matlab:
  sampleinitialdata;
  clf; showlevelsets(lev0);
  lev = td3d(lev0,10,0.001);

  clf; showlevelsets(lev);