Improving Runtimes using Implicit Methods without Affecting Accuracy
Explicit numerical methods are used as defaults throughout FLOW-3D since they produce accurate results and their memory requirements are reasonable. The downside of explicit methods is that they must use a time step that satisfies stability limits, potentially leading to long runtimes. A possible solution is to switch to an implicit numerical method. The downside of implicit methods is that they are not guaranteed to be accurate since there is no limit on the size of the time step that can be used. Fortunately, there are ways to produce accurate results with implicit methods while still reducing the runtime.
To assess the accuracy of implicit methods, one can sometimes compare one's results with the explicit results. In the example shown below, viscous fluid with a free surface entering a channel containing a rectangular block at the left and a no-slip wall on the right. The explicit simulation requires a time step of 5.0x10-7s to satisfy the viscous stability criteria. The result is accurate but requires an unacceptably long time to simulate.
Switching to an implicit viscous method will remove the explicit viscous time step stability criteria, allowing the next biggest stability limit to control the time step. In this case, the new time step for the simulation is 6.12x10-5s. This speeds up the simulation significantly but is the result accurate? The free-surface profiles shown below indicate the results for the implicit simulation deviate from the explicit results significantly across the channel which may not be acceptable.
To improve the results of the simulation while still using an implicit method, the maximum time step can be limited so that it is closer to the explicit value. The maximum time step DTMAX is set in Time Step Controls on the Model Setup, Numerics tab. In this example, DTMAX is limited to 6.0x10-6s – roughly one order of magnitude larger than the explicit stability limit. The result is that the free surface profile results of the implicit method are nearly identical to the explicit results yet the simulation runs about ten times faster than with the explicit method.