- Poster Presentation
Tetrahedral mesh generation and visualization for stochastic reaction-diffusion simulation
BMC Neurosciencevolume 11, Article number: P70 (2010)
The generation of high quality three-dimensional meshes is important in voxel-based computational modeling and simulation of stochastic reaction-diffusion systems. Compared with cubical meshes used in some reaction-diffusion simulators such as MesoRD , tetrahedral meshes are more flexible in representing complex geometry boundaries, for instance, the spherical head of a dendritic spine. We describe the interaction between tetrahedral mesh generators (CUBIT , TetGen ) and our STochastic Engine for Pathway Simulation (STEPS) , including the generation and importing of meshes, as well as the visualization of the simulations in a 3D graphical environment.
STEPS is a GNU-licensed simulation platform that uses an extension of Gillespie's SSA  to deal with reactions and diffusion of molecules in 3D reconstructions of neuronal morphology and tissue . In order to support a range of research goals, it provides a flexible Python frontend together with an efficient C++ backend. In STEPS, the diffusion of molecules is simulated as diffusive fluxes between tetrahedral elements in the mesh, represented by a series of first-order reactions.
Since many mesh generating methods and software packages are available in public, instead of implementing our own mesh generator, STEPS provides a generic, extendable Python-based import interface for different tetrahedral mesh formats. Thus the first step is to create a suitable mesh, which can be challenging. In our research  it involves the reconstruction of anatomical/morphological structures from combinations of simple geometry primitives like cylinders and spheres. Once the mesh file is generated, it can be imported to the simulations using either pre-implemented import functions (currently supporting Abaqus and TetGen mesh formats) or user-developed functions by adapting the STEPS element proxy interface. The element proxy interface performs automatic mapping between mesh elements in external files and the ones used by the STEPS simulation. Monitoring mesh quality is possible via mesh generators or the STEPS internal quality metric. This metric calculates the Radius-Edge Ratio (RER) for each tetrahedron, given by dividing the radius of the tetrahedron's circumsphere with the length of the shortest edge. The smaller this value, the more regular the tetrahedron. The minimum value of this metric is given by computing the RER for a fully regular tetrahedron, that is, sqrt(6)/4.
Although the visualization of stochastic reaction-diffusion simulations with 3D meshes is optional due to the high number of reactions/diffusions that take place during a simulation, it is sometimes required for demonstration and education. Animations of such a simulation can be made by a script-controlled 3D graphical environment, for example the python frontend of CUBIT, with user-specified data extracted from the STEPS simulation. Alternatively, STEPS provides a preliminary Python-based visual toolkit for general purposes of displaying meshes and simple reaction-diffusion simulations.
Overall, the collaborative workflow between STEPS and external mesh generators discussed here has shown its flexibility and will facilitate a broad range of applications in computational pathway modeling and simulation.
Johan Hattne, David Fange, Johan Elf: Stochastic reaction-diffusion simulation with MesoRD Bioinfomatics. 2005
CUBIT Geometry and Mesh Generation Toolkit. [http://cubit.sandia.gov/cubitprogram.html]
Wils S, De Schutter E: STEPS: Modeling and simulating complex reaction-diffusion systems with Python. Frontiers in Neuroinformatics. 2009, 3: 15-10.3389/neuro.11.015.2009.
Daniel T, Gillespie : Exact stochastic simulation of coupled chemical reactions. The Journal of Physical Chemistry. 1977, 81 (25): 2340-2361. 10.1021/j100540a008.
Santamaria F, Wils S, De Schutter E, Augustine G: Anomalous Diffusion in Purkinje Cell Dendrites Caused by Spines. Neuron. 52 (4): 635-648. 10.1016/j.neuron.2006.10.025.