Loading...

About AcCoRD

This is the public homepage for AcCoRD (Actor-based Communication via Reaction-Diffusion). AcCoRD is a molecular communication simulator and designed as a generic reaction-diffusion solver for flexible system configuration. Actors are placed as sources (i.e., transmitters) or observers (i.e., receivers) of molecules. Environments can be defined with a combination of microscopic and mesoscopic regions. Here are some sample videos generated from AcCoRD output:

Sample Simulation of a "Complex" Environment



Hybrid Diffusion with an Absorbing Surface



Hybrid Diffusion




Download AcCoRD

AcCoRD has a very simple installation procedure. A complete installation has the following:

  1. An AcCoRD executable file that is compiled for your operating system
  2. Directory of MATLAB utilities (optional but recommended for post-processing)
  3. One (or more) configuration files to define simulation parameters
The releases hosted on this page are provided as prepackaged archives using the recommended file structure in a single zip-file. Each one includes an "optimal" and a "debug" executable, a collection of sample simulations, and a script to run all of the sample simulations. When running AcCoRD, you should use the "optimal" executable. The "debug" executable is useful if you need to run AcCoRD with debugging software (such as gdb or valgrind).

Detailed installation instructions can be found in the AcCoRD User Manual, which is included in every download as of version 1.3 and also applies to older releases.

Download AcCoRD - Latest Stable Release

The latest stable release of AcCoRD is v1.4.2 (2020-02-12). Pre-compiled versions:

Source code:

Selected Previous Releases

Release v1.4.1 (2019-04-16):
Release v1.4 (2018-08-06):
Release v1.2 (2018-05-30):
Release v1.1 (2016-12-24):
Release v1.0R2 (2016-10-31):

You can also find the latest and older releases on the Github AcCoRD Releases page. However, the releases on the Github page keep the executables separate from the source code, so you will need to put the executables in the "bin" folder yourself.


How to Use AcCoRD

Note: More detailed instructions are included in the AcCoRD User's Manual, which is included with every download as of version 1.3.

This section provides a basic summary of how to use AcCoRD. It is up to date for version 1.4. The instructions assume that you have already downloaded and installed AcCoRD. If not, then please refer to the AcCoRD Downloads section. Some of the content in this section is adapted from the paper “Simulating with AcCoRD: Actor-Based Communication via Reaction-Diffusion”.

Summary of AcCoRD Workflow

Here is a summary for using AcCoRD on a personal computer. This summary is also a quick start guide.

  1. Prepare a configuration file - Many sample files are included with the AcCoRD Download and discussed in the AcCoRD Examples section. Choose a sample file and modify it as desired. See the User's Manual included with the download for more details.
  2. Run AcCoRD - Open a command line window and navigate to the AcCoRD "bin" directory. Enter the command to run the simulation. If your OS is Windows and your config file is MY_CONFIG.txt, then you can enter "accord_win.exe MY_CONFIG.txt". This uses 1 as the default seed number for the random number generator. If your simulation output parameter was set to MY_OUTPUT, then the files MY_OUTPUT_SEED1.txt and MY_OUTPUT_SEED1_summary.txt will be created and placed in the "bin/results" directory.
  3. Import Output in MATLAB - Set the current directory to the AcCoRD "matlab" directory. If your simulation output parameter was set to MY_OUTPUT and written to the "bin/results" directory, then call accordImport('../bin/results/MY_OUTPUT', 1, true). The mat-file MY_OUTPUT_out.mat will be created.
  4. Process the Output - Read the "data" and "config" variables in the file MY_OUTPUT_out.mat as desired for post-processing. To plot a figure showing a passive actor signal, modify and run a copy of the file accordPlotMakerWrapper.m. To make a video showing the environment and molecules (IF you saved molecule locations in your configuration), modify and run a copy of accordVideoMakerWrapper.

AcCoRD Examples

This section contains links to and descriptions of configuration and post-processing file examples to run in the AcCoRD simulator. To run these examples yourself, you will need to download and install AcCoRD. For more information on how to use these files, you can refer to the How to Use AcCoRD section and the AcCoRD User's Manual (included with every download as of version 1.3). The examples here are sorted into two main categories. The configuration files of the latest release examples are included with every download of AcCoRD and are kept up to date to run on the latest release. The specific release examples are maintained for a specific version and are intended to recreate results from a specific publication or demonstrate a new feature associated with that release.

Latest Release Examples

There is a set of configuration files that are kept up to date for the latest version of AcCoRD. To limit execution times, most of these simulations only run a single realization. Descriptions are included in the AcCoRD User Manual. To access these files, you can download the latest version of AcCoRD.

Specific Release Examples

The following configuration files were written for a specific version of AcCoRD. Besides the versions included in the download section, more old versions of AcCoRD can be found on Github.

Sample Videos in the AcCoRD Journal Paper

The AcCoRD journal paper, "Simulating with AcCoRD: Actor-Based Communication via Reaction-Diffusion", refers to a series of 8 videos. The simulations were run using version 0.7 and 0.7.0.1, and the videos were generated using version 1.0, but they can all be re-created using just 1.0.

Here are configuration files that can be used to run the simulations. This configuration directory also includes a MATLAB m-file ("accord_config_journal_video_1_draw_environment.m") that will draw the regions defined for the first video without needing to run a simulation. This script should be placed in the AcCoRD matlab directory to run properly.

Here are Video Maker wrappers that can be used to build the videos once the simulation output has been imported into MATLAB.

Here is a link to the published videos themselves.

Sample Files Used for IEEE GLOBECOM 2018 Tutorial

The tutorial "Molecular Communication: Methods, Simulations, and Experiments" was presented at IEEE GLOBECOM 2018 on 9 December 2018. It included a demo of AcCoRD. Here is a zip directory of the unique files used to build the demo example. It includes a readme file with instructions on how to generate the outputs using a Windows installation, as well as copies of the output files. The files were written for use with version 1.4.

Sample Files Used for Tutorial at 2019 EU Mol Comm Workshop

The tutorial "Simulation Methods for Molecular Communication" was presented at the 4th Workshop on Molecular Communication in Linz, Austria, on 17 April 2019. It included a demo of AcCoRD. Here is a zip directory of the unique files used to build the demo examples and process the results, and here is a PDF of the slide presentation (which is also listed on the Media and Resources page's presentation section). The files were written for use with version 1.4.1.


AcCoRD Publications

This section lists AcCoRD publications, including papers that describe AcCoRD or used it for simulations. If you use AcCoRD in your own work, then please cite the primary reference. We would also be happy to add a link to your work here.

Primary AcCoRD Publication

The paper "Simulating with AcCoRD: Actor-Based Communication via Reaction-Diusion" (also available from arXiv) is the primary reference for AcCoRD. There's also a YouTube Video Abstract. If you use AcCoRD in your work, then please cite this paper. It provides an overview of AcCoRD, including:

  • Motivation for developing a generic reaction-diffusion solver for communication analysis
  • Details of all simulation algorithms
  • Derivation of computational complexity
  • Verification of accuracy by comparing simulation output with analytical expressions
  • Insights into appropriate simulation parameters

This paper is in the March 2017 issue of Nano Communication Networks (vol. 11, pp. 44-75). It includes videos in the supplementary materials. A playlist of these videos is also available on YouTube.

Supporting AcCoRD Publications

Papers that describe new features added to AcCoRD:

Portion's of AcCoRD's design was initially motivated in the following papers:

Publications that Used AcCoRD

The following papers did not discuss AcCoRD's implementation but used it for some or all of their simulations:


AcCoRD Development

AcCoRD is in on-going development. The code is open source and available with the "New BSD" license. The latest code and development branches can be found on the Github AcCoRD project page. Existing bugs and planned features are described on the Github AcCoRD Issues page. To report a bug or suggest a feature, you can post on the Issues page or contact us directly.