There is a software for modelling drainage systems called SWMM (Stormwater Management Model) that has been around since 1970s (!) and is programmed in C and released as free software. Still most modern drainage and sewer research is modelled via this software and there are several companies that built a GUI for simpler usage. However the core is often still based on this nearly 50 year old software which I find amazing [edit: it has been updated since then and originally it was written in Fortran].
The model has hydraulics and hydrology capabilities [0], i.e. it can model stuff like pipe pressure but also takes infiltration of stormwater (aka "rain") into the surface into account. When using it you have to define your sewer (which is mostly a directed graph) and so called catchments where you define which areas drain into which nodes (inlets) by defining parameters like impervious area, slope, etc. You can then let it rain on your area of interest (e.g. a city) and find out which nodes get flooded at specific points in time (or hopefully not).
There is a software for modelling drainage systems called SWMM (Stormwater Management Model) that has been around since 1970s (!) and is programmed in C and released as free software. Still most modern drainage and sewer research is modelled via this software and there are several companies that built a GUI for simpler usage. However the core is often still based on this nearly 50 year old software which I find amazing [edit: it has been updated since then and originally it was written in Fortran].
The model has hydraulics and hydrology capabilities [0], i.e. it can model stuff like pipe pressure but also takes infiltration of stormwater (aka "rain") into the surface into account. When using it you have to define your sewer (which is mostly a directed graph) and so called catchments where you define which areas drain into which nodes (inlets) by defining parameters like impervious area, slope, etc. You can then let it rain on your area of interest (e.g. a city) and find out which nodes get flooded at specific points in time (or hopefully not).
[0] https://en.wikipedia.org/wiki/Storm_Water_Management_Model#H...