User Tools

Site Tools


Nanoverse project structure

This page is accurate as of Nanoverse v1.0.0-a6. If you are using a later version, some aspects may have changed.

Nanoverse simulations are defined using the Nanosyntax language. The simulation specification has six properties, all of which are optional: version, parameters, geometry, layers, processes, and output.

You can learn more about the available arguments and features of Nanoverse in the Nanoverse dictionary.


The version argument specifies the version of Nanoverse for which the simulation was developed. If the version argument does not match the current version of Nanoverse, the compiler will halt with an error, prompting the user to check his or her code for compatibility. The version argument helps to prevent bugs and unexpected behavior by ensuring that code is interpreted as the author intended it.

Note that every alpha release can potentially contain changes that break code from previous versions. Using the version argument religiously will greatly reduce hassles arising from these changes.


The parameters argument specifies system-level properties, such as output directory and number of instances.


The geometry argument specifies the properties of the space (or “arena”) in which simulations will take place. These properties apply to all layers. There are two such global geometric properties: lattice (the underlying connectivity of the arena) and shape (the shape of the arena).


Nanoverse simulations are composed from one or more layers. These layers start out as independent simulations, but can be coupled through local interactions. Layers are specified in the layers property.


This argument is used to specify processes. See here for more information.


Output modes can be specified here. For more information on output, see "Platform concepts".

One feature that could be built fairly quickly is the ability to trigger different output reporting at different times. Again, email David if this would be helpful.

project_structure.txt · Last modified: 2016/06/18 04:17 by avaneesh