Difference between revisions of "HPC Introduction"

From Tuflow
Jump to navigation Jump to search
(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...")
 
Line 3: Line 3:
 
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.<br>
 
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.<br>
  
 +
[[File: 2D2D_Guidance_000.JPG |450px]]<br>
 +
 +
The explicit finite volume solution scheme utilised in HPC is mass conserving and requires numerical convergence to a high precision. This differs to TUFLOW Classic, which can continue to simulate a model with high volume error due to it being an implicit finite difference scheme. For HPC to achieve numerical convergence and mass conservation it is not possible to run with a fixed timestep as TUFLOW Classic is able to. HPC must change and adapt the timestep to the conditions within a given cell at a given point in time. This is typically controlled by the water velocity, depth and/or turbulence. The need for adaptive timestepping in HPC and the equations that control the necessary timestep for numerical convergence are described further on our <font color="blue"><tt> HPC Adaptive Timestep </tt></font> Wiki page.<br>
  
 
Multiple domain models are defined in TUFLOW using 2D domain blocks within the TCF file. Each domain block is defined using <font color="blue"><tt> Start 2D Domain </tt></font> <font color="red"><tt>== </tt></font> <tt> <name> </tt> and  <font color="blue"><tt> End 2D Domain </tt></font> 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. <br>
 
Multiple domain models are defined in TUFLOW using 2D domain blocks within the TCF file. Each domain block is defined using <font color="blue"><tt> Start 2D Domain </tt></font> <font color="red"><tt>== </tt></font> <tt> <name> </tt> and  <font color="blue"><tt> End 2D Domain </tt></font> 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. <br>

Revision as of 08:12, 21 November 2017

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.

2D2D Guidance 000.JPG

The explicit finite volume solution scheme utilised in HPC is mass conserving and requires numerical convergence to a high precision. This differs to TUFLOW Classic, which can continue to simulate a model with high volume error due to it being an implicit finite difference scheme. For HPC to achieve numerical convergence and mass conservation it is not possible to run with a fixed timestep as TUFLOW Classic is able to. HPC must change and adapt the timestep to the conditions within a given cell at a given point in time. This is typically controlled by the water velocity, depth and/or turbulence. The need for adaptive timestepping in HPC and the equations that control the necessary timestep for numerical convergence are described further on our HPC Adaptive Timestep Wiki page.

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.