Skip to main content

Hydraulic Network Modeling Using Python and EPANET (3 cr)

Code: TX00FJ07-3001

General information


Enrollment

02.05.2023 - 31.07.2023

Timing

01.08.2023 - 04.08.2023

Number of ECTS credits allocated

3 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Leiritie 1

Teaching languages

  • English

Seats

0 - 30

Degree programmes

  • Degree Programme in Information Technology

Teachers

  • Theodore Cleveland

Groups

  • ICTSUMMER
    ICT Summer School

Objective

After completion of this course students will be able to operate predictive tools for pipe network hydraulics; apply these tools to the simulation of distribution and pumping systems; install the tools onto a single board computer and demonstrate distributed automated control of the distribution and pumping system.

The course is intended for learners who may not have a hydraulics background, but do have an information technology background. The course examines the vital linkage between information technology and physical infrastructure in the built environment.

Content

1. Introduction to Python
2. A Hydraulics Primer. Network Simulator in Python.
3. EPANET (Rossman, 2000, 2009) and the EPANET Programmer’s Toolkit.
4. Server-Side Approach. Wrappers (Python) to access the EPANET tools.
5. EPANET on SoC Computer. Distributed automated control and sensing.

Materials

The study materials will be distributed through a web-portal. The primary and backup URLs are listed below
http://cleveland3.ddns.net/university-courses/ICT-Metropolia/ (PRIMARY)
http://www.rtfmps.com/university-courses/ICT-Metropolia/ (BACKUP)

Content scheduling

Seminar/Workshop Schedule
1. Introduction and Hydraulics Background
a) Basic Hydraulics in Pipe Networks
b) Describing Pipe Network Equations (Haman and Brameller, 1971)
c) A Simple Simulator in R (R Core Team, 2016)

2. Introduction to EPANET (Rossman, 2000, 2009)
a) EPANET by EXAMPLE (Using the Legacy Interface)
b) EPANET by EXAMPLE (Using the Respec Interface)
c) EPANET using CLI and Input Files

3. The EPANET Programmer’s Toolkit
a) Accessing the Toolkit’s .DLLs (or Shared Objects)
b) The epanet2toolkit.R (R package)

4. A Server-Side Approach
a) Running a CLI Implementation in CGI-BIN
b) A Quest for an On-Line GUI
c) Builds for other architectures

5. A Single Board Computer (SBC) Approach
a) Towards distributed autonomous control
b) An example build
c) Feedback/feedforward considerations
d) Getting Involved – The NCIMM/EPA/Open Source Development Community

Further information

Students need to bring their own laptops.

Workshop Equipment
REQUIRED: Computer (Windows, MacOS, Linux ) with network capability (Bluetooth/WiFi) – USB 2/3 would be nice too.
OPTIONAL SoC Computer (Raspberry PI, TinkerBoard, Odroid, etc.) – already configured to boot! I am bringing at least one Raspberry PI for experimenting with as a controller. I have a functioning build of EPANET2 working for an ARM-based SoC.

Assessment criteria, satisfactory (1)

The course assessment is based upon
- Active attendance and participation
- Successful operation of the program(s) on student’s computers – including the model building step.
- Successful operation of the program(s) on the SoC computer – including a sensing and control simulation.

Assessment criteria, approved/failed

The course assessment is based upon
- Active attendance and participation
- Successful operation of the program(s) on student’s computers – including the model building step.
- Successful operation of the program(s) on the SoC computer – including a sensing and control simulation.

Prerequisites

1. Programming fundamentals (any programming language should suffice). We will use R and Python to build wrappers for the network simulator (which is written in C/C++).

2. Physics (Euler’s and Bernoulli’s Equation applied to fluid flow)