I’m working on a pipe network analysis hobby project as a web app where I let the user add pipes and sources and drag them to connect them together. Based on the pipe network analysis methods I’ve seen, all of them require the knowledge of which pipes are in a loop in order to satisfy the 0 pressure change around a loop criteria.
Unfortunately, I’m not able to find an efficient algorithm to find these loops programatically . Networks of more than 5 loops or so slow down to a crawl because the loop finding algorithm takes a long time.
Does EPAnet use a loop finding algorithm under the hood? If so, how does it do it? Does it even need one?