OpenSHAFT An open source one-dimensional finite volume framework for rapidly varying flow in closed conduits