View on GitHub

Nodus

Transportation network modeling software designed for multimodal and intermodal freight transport

Nodus 8.2 DOI

Nodus is a transportation network modeling software especially designed for multimodal and intermodal freight transport. It is developed at the Center for Operations Research and Econometrics (CORE) of the Université catholique de Louvain (UCLouvain, Belgium). The software is developed and maintained mainly by Pr Bart Jourquin.

Beside this GitHib Pages website, the Nodus binaries and sources can be downloaded from GitHub.

Introduction

Nodus (Screenshots) implements the “Virtual networks” methodology developed at UCLouvain, an alternative to the classical “four steps” technique to model multimodal and intermodal transport flows over networks, as it combines the “modal choice” and “assignment” phases of the latter in a single step.

This methodology has already led to numerous policy-oriented studies on large scale multimodal freight transport networks, such as:

Numerous scientific articles have been written in which Nodus was used. Most of these papers, along with contributions to congresses and seminars can be found on Research Gate.

Key features

See also the documentation and the Demo project.

History of the releases

See the change log for a detailed build history.

Install and use

Download the Nodus installer. As the software is written in the Java programming language, the latest must be installed on your computer. Since version 8.2, Nodus needs Java 11 or later. Depending on your system, either (double) click on “Nodus8-install.jar” or run “java -jar Nodus8-install.jar” from your shell console.

Once installed, Nodus can be launched using

The software has a modern and integrated user-friendly GUI. Complete reference and user guides are not available, but the API is fully documented. A documented sample Nodus project can be found in the “demo” directory.

Note for macOS users: recent releases of macOS (Catalina and later) introduce more access control to disks. If you want to use Nodus projects that are stored in “special” folders, such as the Desktop for instance, full disk access must be granted to the /bin/sh shell at the OS level (add entry in Preferences > Security & Privacy > Privacy > Full Disk Access).

Memory allocation

Nodus is written in Java. Therefore, it uses the memory allocation system provided by the Java Virtual Machine (JVM). In particular, the maximum memory allocated to the software must be defined by the user if the default values are not appropriate. This can be set using the -Xms and -Xmx command line parameters passed to the JVM. Please refer to the JVM documentation for a detailed information on these switches.

By default, Nodus uses the following strategy:

These values are stored in “jvmargs.sh” or “jvmargs.bat”, a file created in the installation directory by Nodus at launch time if it doesn’t exist yet. This file can be edited if other values (or even other JVM parameters) are desired.

License

You can redistribute it and/or modify Nodus 8.x under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Build from sources

The Nodus distribution can be built from the sources. Therefore, you need a Java Development Kit (JDK version 11) or above. You also need Apache Ant. Be sure JAVA_HOME points to your JDK and that ant is in your OS path.

Once the GitHib Nodus sources fetched, open a terminal and go to the root of the project. Type:

ant Installer

This will compile the project, generate the JavaDoc for the API and bundle all what is needed into the installer jar file.

It is also possible to only compile the main nodus8.jar using:

ant Jar

This can be useful for instance when some bugs have been fixed in the source tree or some new enhancements have been introduced without any change in the used external libraries.

You can also import Nodus as an Eclipse project.

Code robustness

The Checkstyle and SpotBugs plugins are used in Eclipse in order to write code that adheres to the Google Java coding standard and to look for bugs in Java code.

Uninstall

The software doesn’t modify the “registry” of any supported OS (Mac OS, Linux or Windows). Just delete the installation directory to remove the software from your system.

You can also delete the small “.nodus8.properties” file that is located at the root of your “home” dir.

How to cite?

Jourquin, Bart. (2022) Nodus, the Transportation Network Modeling Software Designed for Multimodal and Intermodal Freight Transport. http://nodus.uclouvain.be. DOI 10.5281/zenodo.3634540.