HPC Adaptive Timestepping: Difference between revisions

Content deleted Content added
 
(27 intermediate revisions by 4 users not shown)
Line 17:
|This condition ensures that water entering one side of a 2D cell does not pass through the other side within one timestep. For this to be satisfied, the product of the water velocity (𝑢) and model timestep (∆𝑡) must be less than the cell size (∆𝑥).
|[[FILE: Courant Number Equation.PNG |250px]]
|<1≤1.0
|-
|style="height:110px;" | The Shallow Wave Celerity <br> Number (Nc)
|This numerical condition relates to the shallow water wave celerity (wave speed) and is derived from the fluid flow equations to represent long waves (i.e. wave length is substantially longer than the water depth). The product of the model timestep (∆𝑡) and the long wave speed (square root of the gravity (g) and water depth (h)) must be less than the cell size (∆𝑥), for the condition to be satisfied.
|[[FILE: SWC Number Equation.PNG |250px]]
|<1≤1.60
|-
|style="height:80px;" | Diffusion Number (Nd)
|This numerical condition relates to the sub-grid scale eddy viscosity term which causes diffusion of momentum. To maintain stability the product of the eddy viscosity coefficient (ν_T) and the timestep (∆𝑡) divided by the square of the grid spacing (∆𝑥2) must remain below 0.3. Models controlled by the diffusion number tend to require a timestep significantly smaller than those controlled by the shallow wave celerity or courant numbers. If you find your model is predominantly diffusion controlled it may be that equivalent solution accuracy can be achieved by selecting a larger cell size. This is worth testing, as it will most likely increase the simulation speed with no loss of result fidelity.
|[[FILE: Diffusion Number Equation.PNG |250px]]
|<0≤0.3
|}
 
In general terms:
* Courant number relates to velocity relative to the cell size. High velocities will trigger this as the control.
* Celerity Control number relates to water depth relative to cell size. Energy can pass through deeper water faster than shallow water, as such deep water will trigger this control.
* Diffusion control relates diffusion of momentum relating to the sub grid viscosity. Small cells in deep water will trigger this one.
TUFLOW will use the highest timestep possible without exceeding the limits associated with each of the control numbers.<br>
The method TUFLOW HPC uses to calculate a timestep and achieve unconditional stability is as follows:
* The <font color="blue"><tt>Timestep </tt></font> command included in the TUFLOW Control File (TCF) is only used for the first calculation timestep. The specified value should be consistent with what would be appropriate for a TUFLOW Classic model (i.e. 1/2 to 1/5 the 2D cell size). Internally, TUFLOW HPC divides this value by 10 to apply a value that is suitable for an explicit solution scheme. All subsequent calculations are completed using the adaptive timestep approach outlined in the following bulletpointsbullet points.
* The HPC timestep is calculated using the hydraulic conditions from the end of the previous timestep.
* If the hydraulic conditions have changed significantly it is possible for one or more of the Nu, Nc, Nd control number criteria to be violated at one or more locations within the model. For example, a sudden change in rainfall from one timestep to the next (which occurs with stepped rainfall boundaries) would potentially cause a violation. The HPC solver, by default, treats a 20% exceedance of a control number as a violation and will implement a repeat timestep feature. HPC uses a repeat timestep feature to maintain unconditional stability. The repeat timestep feature involves retaining the complete hydraulic solution from the previous (good) timestep. Should a control number anywhere within the model be exceeded by more than 20%, the solution reverts to the retained timestep, the timestep is reduced and then repeated.
Line 42 ⟶ 47:
''NOTE: Models that require an excessively small 2D timestep to remain stable are symptomatic of models with input topography or boundary condition errors. Please refer to [Tutorial_Module03 | Tutorial Module 03] for discussion on this topic.''
 
=HPC 1D TimestepingTimestep=
HPC links with the 1D solver, ESTRY. When run with HPC (instead of Classic) ESTRY has been reconfigured to automatically act as an adaptive/varying timestep solution, and can step at different multiples of steps to the HPC 2D solver. The BothESTRY 1D and<font 2Dcolor="blue"><tt>Timestep solutions</tt></font> arecommand always synchronising at the 2D target timestep, orfor a multiple of theHPC 1D/2D targetlinked timestep if the 1D timestepmodel is sufficiently greater for the 2D to perform more than one step. If the 1Dmaximum limiting timestep is less than half the 2D target timestep, the 1D proceedssolver incan twouse, or more steps eventually synchronising with the 2D timestep. Where there is not a one to one synchronisation ofand the 1D and 2D timesteps,solutions aare usuallysynchronised negligible mass error may occur and can be checked by reviewing the CME% values shownbased on the Consolesize Window,of the .tlf"maximum file1D ortimestep" the _MB.csv file inand the same"target manner2D as Classic.timestep":
* If target 2D timestep = maximum 1D timestep: No adjustment is made.
The ESTRY 1D <font color="blue"><tt>Timestep </tt></font> for a HPC 1D/2D linked model is the maximum limiting timestep the 1D solver can use.
* If target 2D timestep > maximum 1D timestep: the 1D proceeds in two or more steps eventually synchronising with the target 2D timestep.
* If target 2D timestep < Maximum 1D timestep: the 2D timestep is reduced below the target value to synchronise with 1D at a multiple of the 2D timesteps.
Where there is not a one to one synchronisation of the 1D and 2D timesteps, a usually negligible mass error may occur and can be checked by reviewing the CME% values shown on the Console Window, the .tlf file or the _MB.csv file in the same manner as Classic.
<br>
[[File:TUFLOWHPC1D2DTimestepSync2.png]]
 
=HPC Timestep Synchronisation=
HPC uses an adaptive timestep derived from the hydraulic conditions during a simulation. This timestepping approach creates a situation where the computational timestep does not always align exactly with the specified map and time series result output intervals. To account for this TUFLOW HPC makes a timestep adjustments to synchronize the computational timestep with output reporting times. When this occurs the minimum timestep (dt) reported in hpc.dt.csv will report a reduced timestep. This adjustment doesn’t have any effect on the hydraulic calculations, and as such, is not reported in the hpc.tlf or shown in the dt map output. The "dtStar" column in the hpc.dt.csv file also reports the calculated 2D target timestep without any result output synchronisation applied. If the hpc.dt.csv file is being used to quality check the health of a simulation, "dtStar" should be used for the analysis, not "dt".<br>
<br>
[[File:dt_sync.png|500px]]<br>
<br>
 
=HPC Quadtree Adaptive Timestepping=
All the above is applicable to the HPC with Quadtree simulations. In addition the Quadtree solver uses a single adaptive timestep for the entire model at any instance in time. Different timesteps are not applied to the respective different resolution nest levels. If a small cell resolution is nested down in water that is deeper than the cell face length, the Diffusion control number would be the critical limiter that is setting the timestep and the model will run slower than expected. This can be confirmed by reviewing the <u>[[HPC_Model_Review#HPC_dt_Time_Series_Output_.28.2A.hpc.dt.csv.29 | hpc.dt.csv file]]</u> information.<br>
<br>
{{Tips Navigation
|uplink=[[ HPC_Modelling_Guidance | Back to HPC Modelling Guidance]]
}}