# Smoldyn

* Biology portal
* Chemistry portal
* Free software portal
Smoldyn is an open-source software application for cell-scale biochemical simulations. It uses particle-based simulation, meaning that it simulates each molecule of interest individually, in order to capture natural stochasticity and yield nanometer-scale spatial resolution. Simulated molecules diffuse, react, are confined by surfaces, and bind to membranes in similar manners as in real biochemical systems.

## History

Smoldyn was initially released in 2003 as a simulator that represented chemical reactions between diffusing particles in rectilinear volumes. Further development added support for surfaces, multiscale simulation molecules with excluded volume, rule-based modeling and C/C++ and Python APIs. Smoldyn development has been funded by a postdoctoral NSF grant awarded to Steve Andrews, a US DOE contract awarded to Adam Arkin, a grant from the Computational Research Laboratories (Pune, India) awarded to Upinder Bhalla, a MITRE contract and several NIH grants awarded to Roger Brent, and a Simons Foundation grant awarded to Steve Andrews.

## Development team

Smoldyn has been developed primarily by Steve Andrews, over the course of multiple research and teaching positions. Other contributors have included Nathan Addy, Martin Robinson, and Diliwar Singh.

## Features

Smoldyn is primarily a tool for biophysics and systems biology research. It focuses on spatial scales that are between nanometers and microns. The following features descriptions are drawn from the Smoldyn documentation.
* Model definition: Models are entered as text files that describe the system. This includes: lists of molecule species, their diffusion coefficients, and their chemical reactions; lists of surfaces and their interactions with molecules; initial molecule and surface locations; and actions that a "virtual experimenter" carries out during the simulation.
* Real-time graphics: Smoldyn displays the simulated system to a graphics window as the simulation runs.
* Simulated behaviors: Smoldyn's simulated behaviors focus on molecular diffusion, interaction with surfaces, and interactions with each other. This enables simulation of: molecular diffusion and drift, chemical reactions, excluded volume interactions, macromolecular crowding, allosteric interactions, surface adsorption and desorption, partial transmission through surfaces, on-surface diffusion, and long-range intermolecular forces.
* Accuracy: Smoldyn development has focused strongly on quantitative accuracy. Tests have been run and published to show that diffusion, chemical reactions, surface interactions, excluded volume interactions, and on-surface diffusion simulate with high quantitative accuracy, typically with substantially less than 1% error.
* Rule-based modeling: Smoldyn supports two types of rule-based modeling. It reads the BNGL language, which it parses with the BioNetGen software. It also supports a method that is based on wildcard characters.
* Multi-scale simulation: Because particle-based simulation is computationally intensive, Smoldyn also supports simulation using a spatial version of the Gillespie algorithm. These algorithms are linked together to enable both to be used in a single simulation.
* C/C++ and Python APIs: All of Smoldyn's functions can be accessed through either a C/C++ or a Python API.

## GPU acceleration

Smoldyn has been refactored twice to run on GPUs, each time offering approximately 200-fold speed improvements. However, neither version supports the full range of features that is available in the CPU version. They are not being supported currently.