TUFLOW General Discussion: Difference between revisions
Content deleted Content added
Line 14:
When to use single or double precision depends on the solution scheme:
* TUFLOW Classic:
* 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>▼
** It uses water level as the primary variable within the hydrodynamic solver.
* 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 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.▼
▲**
* TUFLOW HPC:
▲**
**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 1D/2D models with ground elevation greater than 100m (TUFLOW 1D engine uses water level as the primary variable as TUFLOW Classic), carved 1D channels within the 2D domain where either the 1D channel itself or the boundary links between 1D and 2D domain can cause the mass error. ***On rare occasions, models with higher elevations and small QT inflow would require double precision, because QT boundaries have hidden 1D node and as such are solved in the TUFLOW 1D engine.
***When the simulation time is long or the model has large Start Time value (more than 100000.0 hours), the around up issue can happen to the simulation time because the model timestep is typically in the order of 0.1~10 seconds. This might cause issues in reading and outputting boundary data.
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>
| |||