6.3 Surface Geometry

One of the goals in writing our KMC simulation was to make it easy to vary the simulation geometry (i.e. steps on the terrace). Thus, we have chosen to represent our simulation geometry with two functions. The first function takes a location on the lattice and returns the location of the lattice site's dimer partner (if one exists). The second function takes two adjacent lattice sites and returns the type of move represented by motion from the first to the second.

The other parts of the simulation code access these two functions via function pointers. This allows us to have a variety of geometries programmed into our code, picking the one we wish to use at the start of the simulation run. We currently have to such geometries programmed in -- a stepless terrace and a terrace with one A-step and one B-step.


Chris Siefert and Molly Moore 2002