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
-
ICTSUMMERICT 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)