Skip to content
Projects

Critical-Infrastructure-Systems-Lab/DHALSIM has 68 GitHub stars and 34 forks. GitHot measured 0 stars in 24 hours and 0 in 7 days. Last checked 2026-11-15 07:38 UTC. Last push 2026-08-05.

How these counts are measured

Measured star growth

in 24h
0
in 7 days
0
in 15 days
Collecting history
in 1 month
Collecting history

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

About

Digital Twin for Water Distribution Systems. A work by the SUTD Critical Infrastructure Systems Lab, TU Delft, CISPA, and iTrust

Security

README.md

Original

Digital HydrAuLic SIMulator (DHALSIM)

A Digital Twin for Water Distribution Systems. A work by the SUTD Critical Infrastructure Systems Lab, TU Delft Department of Water Management, CISPA, and iTrust

DHALSIM uses the WNTR EPANET wrapper to simulate the behaviour of water distribution systems. In addition, DHALSIM uses Mininet and MiniCPS to emulate the behavior of industrial control system controlling a water distribution system. This means that in addition to physical data, DHALSIM can also provide network captures of the PLCs, SCADA server, and other network and industrial devices present in the a water distribution system.

DHALSIM was presented in the ICSS Workshop in ACSAC'20, with the paper: Co-Simulating Physical Processes and Network Data for High-Fidelity Cyber-Security Experiments

Two papers in the Journal of Water Resources Planning and Management explain in detail DHALSIM architecture, features, and capabilities: High-fidelity cyber and physical simulation of water distribution systems. I: Models and Data and High-fidelity cyber and physical simulation of water distribution systems. II: Enabling cyber-physical attack localization

Installation

In order to offer a simple installation we have included an installation script which will install DHALSIM on an Ubuntu 20.04 machine. This script is located in the root of the repository and can be run with ./install.sh.

Running

DHALSIM can be run using the command sudo dhalsim path/to/config.yaml.

Replacing the text between "< >" with the path to one example topology or your own configuration files. For example, for the anytown example, you'd use: sudo dhalsim <examples/anytown_topology/anytown_config.yaml>