TUFLOW General Discussion

From Tuflow
Jump to navigation Jump to search

TUFLOW Overview

TUFLOW software development began in 1972 with the birth of TUFLOW 1D (ESTRY). Like all TUFLOW products, ESTRY has continually evolved since its initial inception. TUFLOW 1D's numerical free-surface flow solution uses an explicit finite difference, 2nd order Runge-Kutta solution technique to solve the Saint Venant unsteady fluid flow equations and includes the inertia terms. In addition to the 1D free-surface flow equation TUFLOW 1D includes numerous structure equationss. These are:

  • Culverts and pipes network (pressurized or non-pressurized)
  • Pit, manholes and junctions within pipe networks
  • Numerous weir equations
  • Pumps and gates
  • All of the above can be configured with "operation controls".

TUFLOW’s 2D Fixed Grid Engines are dynamically linked to TUFLOW 1D. There are two 2D grid options, namely TUFLOW Classic and TUFLOW HPC. Both provide second order depth averaged 2D solutions to the shallow water equations (SWE). TUFLOW Classic development began in 1989. It uses a finite difference implicit solution, and is the recommended tool for single core CPU compute. TUFLOW HPC development began in 2010. It uses a finite volume explicit solution. TUFLOW HPC is the recommended tool for GPU compute hardware, where code parallelisation across 1000's of GPU CUDA cores can achieve simulation speed increases of up to 100 times compared to a single CPU. Functionally model input and outputs from TUFLOW Classic and TUFLOW HPC use identical formats. Both solvers are internationally recognised as industry leaders in simulation software for flood, catchment, integrated urban drainage and stormwater modelling applications.

Frequently Asked Questions (FAQ)

What is the difference between single and double precision and when should I use them?

For each release of TUFLOW, both single and double precision engine versions are available. In the executable filename the single precision version of TUFLOW will include iSP and iDP for the double precision version. The double precision won't make the results twice as good, it stores numbers as 8-byte real numbers (15-17 significant figures) as opposed to 4-byte (6-9 significant figures).

When to use single or double precision depends on the solution scheme:

  • TUFLOW Classic uses water level as the primary variable within the hydrodynamic solver and double precision is typically necessary when using direct rainfall or with model elevations above 100m. In these cases, numerical precision (rounding errors) can cause mass conservation errors. For example, a small rainfall (e.g. 1mm/hr) converted to metres / second (~2.78e-7) may be lost through numerical precision and result in accumulated mass balance error, specially for longer model run time.
  • TUFLOW HPC uses cell-averaged water depth as the primary variable within the solver, rather than using water surface elevation as the primary variable and computing water depth on the fly from surface elevation minus bed elevation. This means that precision issues associated with applying a very small rainfall and/or modelling high elevations are not applicable in HPC. Unless testing shows otherwise, the single precision version of TUFLOW should be used for all HPC simulations. An error message will be triggered if TUFLOW HPC is used with double precision unless HPC DP Check == OFF is specified within the TCF. The need to use double precision with HPC could occur when the coupled TUFLOW 1D engine requires the use of the double precision solver to achieve better stability in 1D with more significant numbers. This usually happens with carved 1D channels within the 2D domain, either the 1D channel itself or the boundary links between 1D and 2D domain are causing the mass error. On rare occasions, models with higher elevations and small QT inflow would also require to run in double precision, because QT boundaries have hidden 1D node and as such are solved in the TUFLOW 1D engine.

The single precision version of TUFLOW uses significantly less memory (RAM) and is about 20% faster for TUFLOW Classic and four times faster for HPC. Unless required otherwise, the single precision version of TUFLOW is recommended. A good step in the model development is to run the model with both the single and the double precision and if the results / mass balance are similar then the single precision version is sufficient.

Advanced reasoning to use single precision with TUFLOW HPC:

  • HPC is an explicit finite volume scheme which is mass conserving to numerical precision.
  • The HPC scheme uses 4th order time integration, which means the simulation completes in fewer time steps compared to 1st or 2nd order time integration schemes.

What is the difference between an implicit solution and an explicit solution?

The implicit and explicit solutions are numerical methods allowing to move from a continuous to discrete model of the world in which quantities are computed at a finite number of points in distance and time (mesh or grid), approximating the partial differential equation by a system of algebraic equations.

The mathematical description of many physical processes involve differential equations. In the case of the shallow water equations, the rate of change of depth and velocity at a particular point in space and time are described as functions of the depth and velocity, and the spatial gradients of the depth and velocity, at that location. The solution evolves according to its current state. The depth and velocity at some small time increment into the future can be estimated from the current values and their computed rates of change, but here is the problem: the rates of change keep changing and are a function of the solution as it evolves. The small change in the solution that occurs during the time increment influences the derivatives, and therefore the change in the solution depends on itself. The bigger the time increment the stronger the dependence. There are two fundamentally different approaches to finding solutions for problems where the rates of change (in time or space) of a set variables are a complex function of themselves.

The explicit approach is to estimate the future state based solely on the current state and the current rate of change. The simplest approach is known as the “forward Euler method” which is easy to understand and implement, but often unstable for systems with little or no energy loss mechanism, and even when it is stable the solution is usually quite sensitive to the size of the timestep. Higher order methods break the time increment down into sub-steps in order to attempt to account for the “the rate of change of the rates of change”. Such methods include the second order Euler and the fourth order Runge-Kutta method (which is what TUFLOW HPC uses). Explicit methods attempt to capture all of physics in the solution that the equations admit, and often will become unstable if the timestep is not sufficiently small enough to capture the physics accurately. Hence explicit schemes in fluid flow problems have to adjust timestep according to flow velocity (Courant number), wave speed (Celerity number), and diffusion speed (Peclet number).

The implicit approach is to estimate the future state based on the current state and the future rate of change. There are two common approaches to this “circular reference” problem. One is to reformulate the equations as a matrix problem, and the other is to use an iterative approach whereby the future state is repeatedly updated after successive calculations of the rate of change at the future time – also known as a backward implicit scheme. Both approaches can be very stable and enable larger timesteps, but the solution is permitted to “skip over” physics that happens on timescales smaller than the time increment. The timestep must still be appropriate based on Courant, Celerity, and Peclet numbers, but due to the iterative nature of the solution the time step can often be 10-20 times larger than that required for an explicit solution.

What is the difference between a finite difference scheme and a finite volume scheme?

A finite difference scheme considers the solution data at discrete points (or nodes) in space and attempts to compute the time derivatives based on the solution data and its spatial derivatives evaluated at those discrete points. While this approach can be relatively simple to implement, the solution is often non-conservative, i.e. the total sum of a certain property (that should be conserved) over all points in the model might increase or decrease slightly from one timestep to the next even in the absence of internal sources or boundary fluxes.

A finite volume scheme uses a mesh that defines interconnected volumes (or cells). The solution data for each cell represents the volume integral (or average) of a conserved property (e.g. mass and momentum) over that cell. The fluxes of the conserved values across cell faces are computed, and the time derivatives for each cell computed according to the total sum of inflows and outflows. The solution scheme is a little more involved to implement, but is guaranteed to be conservative, the model-wise integral of conserved properties remains constant save for internal sources and boundary fluxes.

TUFLOW Classic is an implicit finite difference scheme. This means that it can use larger timesteps, but can miss short time-scale physics and it is non-conservative. The exact scheme used (Stelling and Syme) becomes reasonably conservative when the timestep is appropriate and the number of convergence iterations are sufficient. However, as the scheme utilises a matrix solution, it requires a particular cell ordering for computations - and this makes it very difficult to parallelise. This is why TUFLOW Classic remains a single CPU-core process.

TUFLOW HPC utilises an explicit finite volume scheme. This means that it has to use smaller timesteps and is guaranteed to capture the shortest time-scale physics that the given spatial resolution admits. The solution is conserving of mass and momentum to numerical precision. The scheme is not as computationally efficient as the implicit finite difference scheme of TUFLOW classic, if forced to execute on a single CPU core it is many times slower than Classic. However, as the cell-by-cell computation of fluxes and derivatives are completely independent, the scheme is well suited to utilise highly parallelised compute hardware such as modern GPUs. The end result is that with a good GPU, TUFLOW HPC can be up to 100 times faster than classic for some models.

Can TUFLOW's 1D engine be used for modelling complex pipe hydraulics?

Yes, TUFLOW can model complex pipe hydraulics with a level of accuracy similar or better than industry peers. There are a few notable features that place TUFLOW ahead of other software:

  • TUFLOW's 1D solution accurately accounts for both non-pressurised and pressurised flows within the pipe network.
  • TUFLOW's treatment of pipe junction losses is one of the most sophisticated. The default method (Engelund) will adjust losses dynamically every timestep of the simulation based on the hydraulic conditions at that time and the following:
    • changes in pipe size
    • expansion/contraction if there is a manhole at the pipe junction
    • variation in pipe approach and exit angles at junctions
    • variation in pipe approach and exit elevation at junctions
  • Alternative loss methods to Engelund are also available, such as Fixed losses. The Fixed method conforms with some industry guidelines, such as the Qld Urban Drainage Manual (QUDM). Fixed losses are not set as the default as this generally requires the modeller to manually enter appropriate values at every manhole, whereas the Engelund approach in TUFLOW, which is based on that in MIKE Urban with several improvements developed in conjunction with Gold Coast City Council’s infrastructure team, provides an excellent automatic approach with no or minimal user input beyond the pipe and manhole geometry. The other advantage of the Engelund approach is that it is dynamic and adjusts losses according to the flow conditions, whereas the Fixed approach assumes the same energy loss coefficient for all flow regimes. TUFLOW also allows having a mix of different methods in the one model, for example, there may be a special manhole where the Fixed or other approach needs to be applied.
  • There are numerous pit inlet options, from automatic capture rates to manually defined depth-discharge relationships. In all cases the 2D cell water depth at the inlet influences the amount of flow entering the pit, and as such the 1D underground pipe network.
  • The 2020 TUFLOW release offers sub-grid topography sampling to process all elevations within the cell into a depth/volume relationship for its calculations. This approach ensures much more accurate water depth estimations at pit inlets, even if the 2D cell resolution is much larger than the geometry of the drain at the inlet. This in turn translates to more accurate representation of the pit inflow, and as such flow through the entire pipe network. No other 1D/2D stormwater drainage modelling software offers this functionality. The new Quadtree functionality also allows the user to model key flowpaths, such as road drains, in high resolution.
  • The 2D overland approach used by TUFLOW ensures any above ground inundation is defined by the model topography. This approach avoids any engineering judgement flow path definition mistakes which the 1D overland software suffer from.

How closely do TUFLOW results match other hydraulic software?

Different software will give different results for the simple reason that they all include different calculation assumptions. Understanding what those assumptions are and how they influence results will be important for the sensitivity testing. TUFLOW, like all hydraulic modelling software, needs to be applied appropriately and models should be calibrated to real world events if calibration data are available. The three pillars of TUFLOW's development focus are solution accuracy, simulation speed, workflow efficient. Extensive benchmarking globally have demonstrated TUFLOW is top in its class in all three categories.

Up
Go-up.png Back to TUFLOW Modelling Guidance