MATSim Extensions

Introduction

The default MATSim releases contain all the functionality typically used to model agent behavior and simulate traffic. But sometimes, this just is not enough. The MATSim Extensions provide additional functionality for specific tasks, and can be used along MATSim. MATSim Extensions gives an overview of the currently available extensions. Please note that these extensions are usually provided and maintained by single persons from the community, and thus long-term support may vary from the default MATSim release.

Using Extensions via Maven

This is the recommended way for using extensions.

See here under “Maven” about how to use MATSim via Maven. Note, in particular, the “MATSim example project”. MATSim contribs (those extensions that are part of the contrib directory) can then just be used by adding them as additional dependencies in the pom.xml.

Using Extensions “manually”

This is not the recommended way for using extensions (see “Using Extensions via Maven” above).

Downloading Extensions

All extensions come as a compressed zip-file. You can either download the last stable release of an extension to be used together with the stable release of MATSim, or you can download a so-called “nightly build”—an automatically created, but untested and probably unstable version of the extension.

You can download the stable releases of extensions from the MATSim download page. Likely unstable nightly builds can be found from the same page. Make sure to also download MATSim itself. The extensions cannot be used without MATSim.

Using Extensions on the Command Line

Once you’ve downloaded an extension and MATSim, unzip the extension and place the extension’s directory inside the MATSim directory, next to the libs directory. The file/directory structure should look similar to the following example:

matsim/
+ MATSim.jar
+ libs/
| + <lots of .jar files>
+ extension1/
| + extension1.jar
+extension2/
| + extension2.jar
| + libs/       <-- not all extensions contain additional libs
| | + <one or more .jar files>

Then, start your simulation with the extension.jar-file on the classpath along the MATSim jar-file, e.g:

java -Xmx2000m -cp MATSim.jar:extension1/extension1.jar:extension2/extension2.jar org.matsim.contrib.RunXxxExample myConfig.xml

On Windows, use ; instead of : to separate the different jar-files.

Contributing Extensions

See here for instructions.