In GeoHECRAS, the Advanced Time Step Control panel of the Unsteady Flow Computational Options dialog box allows the user to control both fixed and variable computational time steps in unsteady flow computations.
The above panel provides three different options to control for selecting and controlling the computational time step:
- Fixed Time Step – Basic method.
- Allow Variable Time Step Using Courant – A variable time step based on the Courant number.
- Allow Variable Time Step Using Time Series Divisors – A variable time step based on a user-entered table of dates, times, and time step divisors.
Note that variable time step options can improve model stability and reduce computational time. However, not all models will be faster with the use of the variable time step.
The following sections describe how to interact with the Advanced Time Step Control panel of the Unsteady Flow Computational Options dialog box.
Fixed Time Step (Basic Method)
This option allows the user to define a fixed computational time step. The value for the fixed computational interval should be chosen with care and consideration as to how it will affect the simulation. Refer to this article in our knowledge base to learn how time step values can affect the stability of the model.
Allow Variable Time Step Using Courant
This option allows the user to use the Courant number method for the variable time step. To use this method, select the Allow Variable Time Step Using Courant option.
The following entries are provided for the user:
- Max Courant number before halving time step: This entry field allows the user to define the maximum Courant number allowed at any 2D cell or 1D cross section. By default, the software sets the maximum Courant number value to 3. If the maximum Courant number is exceeded, the time step is cut in half for the next interval. Because the software uses an implicit solution scheme, Courant numbers can be greater than one, and it can still maintain a stable and accurate solution. In general, if the flood wave rises and falls slowly (depth and velocity are changing slowly), the model can handle extremely high Courant numbers. For these types of cases, users may be able to enter a maximum Courant number as high as 5.0 or more. However, if the flood wave is rapidly changing (depth and velocity are changing quickly over time), then the maximum Courant number will need to be set closer to 1.0.
- Min Courant number before doubling time step: This entry field allows the user to define the minimum Courant number threshold for 2D cells and 1D cross sections. By default, the software sets the minimum Courant number value to 0.5. If the Courant number at all locations goes below the minimum, then the time step will be doubled. However, the time step will only be doubled if the current time step has been used for enough time steps in a row to satisfy the user entered value in the Number of time steps (TS) exceeding above limits before adjusting TS field. The minimum Courant value should always be less than half of the maximum Courant value. If the minimum Courant value is equal to or larger than half the maximum Courant value, the software will just flip back and forth between halving and doubling the time steps.
- Number time steps (TS) exceeding above limits before adjusting TS: This field allows the user to enter the integer number of time steps for which the Courant number must be below the user-specified minimum Courant value before the time step can be increased. This can prevent the model from increasing the time step too quickly and/or from flipping back and forth between time steps. Typical values for this field may be in the range of 5 to 10. The software uses a default value of 4.
- Max times a time step can be halved: This field allows the user to enter the maximum number of times the base computation interval can be cut in half. For example, if the base computation interval is 10 seconds, and the user wants to allow it to go down to 2.5 seconds, then he should provide a value of 2 in this field (i.e., the time step can be cut in half twice: 10s to 5s to 2.5s). The software uses a default value of 4. The read-only field next to the right of the user-entered value displays what the entered maximum time step will end up being.
- Max times a time step can be doubled: This field allows the user to enter the maximum number of times the base time step can be doubled. For example, if the base computation interval is 10 seconds, and the user wants to allow it to go up to 40 seconds, the user should provide a value of 2 for this field (i.e., the time step can be doubled twice: 10s to 20s to 40s). The software uses a default value of 4. The read-only field next to the right of the user-entered value displays what the entered maximum time step will end up being.
- Courant computation method: This dropdown combo box allows the user to select the method used for computing the Courant number. By default, the software selects the Courant (Velocity-based) method. With this method, the software divides the velocity times the time step by the length (between 1D cross sections or two 2D cells). For the 2D module, the velocity is taken from each face, and the length is the distance between the two cell centers across that face. For the 1D module, the velocity is taken as the average velocity from the main channel at the cross section, and the length is the distance between that cross section and the next cross section downstream. The second method is Residence Time (volume-based). With this method, the software computes how much flow is leaving a 2D cell over the time step, divided by the volume in the cell. The Residence Time method is only applied to 2D cells. When this method is selected, it is only used for the 2D cells, whereas 1D cross sections still use the Courant (Velocity-based) method.
Allow Variable Time Step Using Time Series Divisors
This option allows the user to set the variable time step based on a user-defined table of dates and times versus a time step divisor.
The user can select the Allow Variable Time Step Using Time Series Divisors option to enter date/time values versus time step divisors. The first date/time in the table must be equal to the starting date/time of the simulation period. In the table, the user must enter a base time step equal to the maximum time step desired during the run. Then in the Divisor column, an integer value should be defined using the spin control to divide that time step by the current date/time in the table. Once a time step is set for a date/time, the Unsteady Flow Analysis computation will use that time step until the user sets a new one.
This method requires much more knowledge about the events being modeled, the system being routed through, as well as knowledge of velocities, cross section spacing, and 2D cell sizes. However, this method can be a powerful tool for decreasing model run times and improving accuracy if done correctly.