Difference between revisions of "HPC Introduction"
Chris Huxley (talk | contribs) |
Chris Huxley (talk | contribs) |
||
Line 6: | Line 6: | ||
===Solution Scheme and Parallelisation=== | ===Solution Scheme and Parallelisation=== | ||
− | TUFLOW HPC is an explicit finite volume solution | + | TUFLOW HPC is an explicit finite volume solution. It differs from TUFLOW Classic which is an implicit finite difference equation. Both solve the 2D Shallow Water Equations (including inertia and sub-grid scale turbulence or eddy viscosity terms) on the same uniform Cartesian grid configuration. Computationally each 2D cell includes 9 sub-grid points.<br> |
+ | |||
+ | [[File: HPC_Cell_Design.PNG |360px]]<br> | ||
+ | |||
+ | The ZC point: | ||
+ | * Defines the volume of active water (cell volume is based on a flat square cell that wets and dries at a height of ZC plus the Cell Wet/Dry Depth); | ||
+ | * Controls when a cell becomes wet and dry (note that cell sides can also wet and dry); and | ||
+ | * Determines the bed slope when testing for the upstream controlled flow regime. | ||
+ | The ZU and ZV points: | ||
+ | * Control how water is conveyed from one cell to another; | ||
+ | * Represent where the momentum equation terms are centred and where upstream controlled flow regimes are applied; | ||
+ | * Deactivate if the cell has dried (based on the ZC point) and cannot flow; and | ||
+ | * Wet and dry independently of the cell wetting or drying (see Cell Wet/Dry Depth). This allows for the modelling of “thin” obstructions such as fences and thin embankments relative to the cell size (eg. a concrete levee). | ||
+ | ZH points: | ||
+ | * Play no role hydraulically. this poi8nt location is used for output processing; | ||
+ | * The only elevations written to the SMS .2dm mesh file (by default, binary output is interpolated/extrapolated to the cell corners). | ||
+ | |||
+ | within the above sub-grid framework, using TUFLOW HPC time derivatives of cell averaged water depth, u-velocity and v-velocity are computed on a cell-by-cell basis and the model evolved using an explicit ODE solver. Calculation of the cell based derivatives are highly independent of each other making it possible to run this solution scheme across multiple processors or GPU cards. Parallelisation is done by breaking up the model into vertical ribbons. Each ribbon of the model is run on a different processor (or GPU card) with boundary information shared between processors at each timestep.<br> | ||
[[File: Mesh_Ribbon_Splitting.png |360px]]<br> | [[File: Mesh_Ribbon_Splitting.png |360px]]<br> |
Revision as of 13:41, 20 April 2018
Introduction
As of TUFLOW build 2017-09-AA, TUFLOW offers HPC (Heavily Parallelised Compute) as an alternate 2D Shallow Water Equation (SWE) solver to TUFLOW Classic. Whereas TUFLOW Classic is limited to running a simulation on a single CPU core, HPC provides parallelisation of the TUFLOW model allowing modellers to run a single TUFLOW model across multiple CPU cores or GPU graphics cards (which utilise thousands of smaller CUDA* cores). Simulations using GPU hardwareshown to provide significantly quicker model run times for TUFLOW users.
In general most of the functionality and features of TUFLOW Classic are available in HPC, with more of these features becoming available to HPC in due time. To find out more about what TUFLOW Classic features aren’t included in the latest TUFLOW HPC build you can reference the HPC Features page or the TUFLOW 2017-09 Release Notes.
Solution Scheme and Parallelisation
TUFLOW HPC is an explicit finite volume solution. It differs from TUFLOW Classic which is an implicit finite difference equation. Both solve the 2D Shallow Water Equations (including inertia and sub-grid scale turbulence or eddy viscosity terms) on the same uniform Cartesian grid configuration. Computationally each 2D cell includes 9 sub-grid points.
The ZC point:
- Defines the volume of active water (cell volume is based on a flat square cell that wets and dries at a height of ZC plus the Cell Wet/Dry Depth);
- Controls when a cell becomes wet and dry (note that cell sides can also wet and dry); and
- Determines the bed slope when testing for the upstream controlled flow regime.
The ZU and ZV points:
- Control how water is conveyed from one cell to another;
- Represent where the momentum equation terms are centred and where upstream controlled flow regimes are applied;
- Deactivate if the cell has dried (based on the ZC point) and cannot flow; and
- Wet and dry independently of the cell wetting or drying (see Cell Wet/Dry Depth). This allows for the modelling of “thin” obstructions such as fences and thin embankments relative to the cell size (eg. a concrete levee).
ZH points:
- Play no role hydraulically. this poi8nt location is used for output processing;
- The only elevations written to the SMS .2dm mesh file (by default, binary output is interpolated/extrapolated to the cell corners).
within the above sub-grid framework, using TUFLOW HPC time derivatives of cell averaged water depth, u-velocity and v-velocity are computed on a cell-by-cell basis and the model evolved using an explicit ODE solver. Calculation of the cell based derivatives are highly independent of each other making it possible to run this solution scheme across multiple processors or GPU cards. Parallelisation is done by breaking up the model into vertical ribbons. Each ribbon of the model is run on a different processor (or GPU card) with boundary information shared between processors at each timestep.
Mass Conservation and Timestep
The explicit finite volume solution scheme utilised in HPC is mass conserving by construction. This differs to TUFLOW Classic, which can continue to simulate a model with some volume error due to it being an implicit finite difference scheme. The stability of the explicit finite volume scheme used in TUFLOW HPC is linked to the time step, flow velocities, water depth, and eddy viscosity. The maximum timestep that can be used while maintaining model stability changes as the model evolves. While it is possible to choose a fixed timestep ahead of time (similarly to TUFLOW Classic), shorter run times and guaranteed model stability from start to finish may be achieved through the use of adaptive time stepping where the solver continually modifies the timestep based on various stability criteria. This is explained in more detail in our Adaptive Timestepping page.
Cell Discretisation
HPC cell discretisation is the same as in TUFLOW Classic, where the v velocities are defined on the horizontal mid-points between cell centres and the u-velocities on the vertical mid-points.
Benefits of HPC
So what does this mean for modellers? By providing the ability to run models on Graphics Cards or across multiple CPU cores, we can achieve significantly shorter model run times, increasing our modelling capabilities to be able to run continuous hydraulic models, with increased cell resolution, across larger extents and more scenarios (Monte Carlo, rainfall ensembles). If you would like to learn more about HPC’s run times and modelling benefits then please refer to our Hardware Benchmarking Wiki Page.
∗ Cuda Cores are patented to Nvidia graphics cards. This means that TUFLOW is limited to running on CUDA enabled graphics cards only.