HPC Introduction

From Tuflow
Revision as of 08:08, 21 November 2017 by Stephen.kime (talk | contribs) (Created page with "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. TUFLOW Classic has on...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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. TUFLOW Classic has only ever had the capacity to run 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. This is shown to provide significantly quicker model run times for TUFLOW users.

Parallelisation modelling breaks up the model into a number of pieces (equal to the number of cores the model is split across). Each piece of the model is run on a different processor with information across each piece of the model shared between processors at each timestep. Consider the image below, where each quadrant of cells is a piece of the model being run on a different processor. Information in the cells along the boundaries of these quadrants (adjacent to the red lines) need to share information with each other at each timestep to be able to solve the shallow water equation. This is achievable because TUFLOW HPC is an explicit finite volume solution which differs to TUFLOW Classic which is an implicit finite difference equation.


Multiple domain models are defined in TUFLOW using 2D domain blocks within the TCF file. Each domain block is defined using Start 2D Domain == <name> and End 2D Domain commands. Unique geometry control file, boundary condition file, initial water level, plot output and time step commands are defined within each domain block. All other commands (such as the boundary condition database, material file references, estry control file and simulation time and map output commands) are defined outside the above mentioned 2D domain blocks. An example TCF file is shown below. Line 8 to 13 represents the first 2D domain. Line 15 to 20 contain the second 2D domain block.