TUFLOW Version Backward Compatibility: Difference between revisions
Content deleted Content added
Chris Huxley (talk | contribs) No edit summary |
Chris Huxley (talk | contribs) No edit summary |
||
Line 274:
* 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 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). <br>
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.<br>
* 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 <font color="blue"><tt>HPC DP Check </tt></font> <font color="red"><tt>==</tt></font><tt> OFF</tt> is specified within the TCF. The need to use double precision with HPC could occur when the coupled ESTRY 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 1D ESTRY 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.<br>
Advanced reasoning to use single precision with TUFLOW HPC:<br>
* 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.
<br>
| |||