|
[Sponsors] |
October 24, 2008, 18:02 |
Stiff system and time steps
|
#1 |
Guest
Posts: n/a
|
Hi all
I learned that stiff systems are routinely encountered in CFD calculations of steady aerodynamic flows, where they are handled using implicit time advancement algorithms and large time steps. My question is: why the implicit time advancement? Wouldn't there be large errors? Thanks |
|
October 25, 2008, 03:59 |
Re: Stiff system and time steps
|
#2 |
Guest
Posts: n/a
|
Using explicit time-stepping methods generally leads to constraints for stability ("CFL condition"), in which your time-step size must be smaller than your gridsize to some power, where that power is larger for stiffer systems, and therefore can make computation times immensely long. However, implicit time-stepping allows you to avoid such constraints for stability. The accuracies of implicit discretization schemes are no worse than those for explicit schemes. The tradeoff is: explicit schemes are easy to write, and each variable is updated to the next time by simple operations, while implicit schemes can be very hard to write, and require an inversion of a large matrix or some other approximate inversion technique. For a good text, see
"A First Course in the Numerical Analysis of Differential Equations" by Arieh Iserles. |
|
October 27, 2008, 04:15 |
Re: Stiff system and time steps
|
#3 |
Guest
Posts: n/a
|
Stiff systems have multiple temporal scales. While an explicit method might work with sufficiently small time-steps to capture the smallest temporal scale, this is often not the scale we are interested in. Stiffly stable methods allow the time-stepping to only resolve the temporal scale of interest without instability caused by the faster process.
|
|
October 27, 2008, 08:24 |
Re: Stiff system and time steps
|
#4 |
Guest
Posts: n/a
|
In explicit method you advance you numerical solution by dx and dt, where dx is the grid size and dt is the time step. If the total velocity in the flow is V=v+c, where v is the velocity of the flow and c is the sound speed, then you must actually make sure that you advance (integrate) you numerical simulation faster than the fluid, otherwise you won't be able to follow the flow (the flow will go faster thatn the integration). The velocity of the numerical integration is just dx/dt , so you must have dx/dt > V or dx/V < dt, or
dt < dx/(v+c) which is the usualy Courant Friedrich Levi (CFL) condition. There are similar condition for viscous flow, which are more complicated, but results in the condition dt < dx*dx/nu, where nu is the viscosity (here nu does not involve the density for simplicity). In implicit methods you are NOT restricted to these conditions as the method is implicit. However you still do have limitations and conditions on the time step which are set up by the accuracy you want to reach. Eventhough you can chose the time step much larger than the one imposed in explicit methods, you cannot chose it indefinitely large, as the results will have larger errors. The main difference between implicit and explicit is that implicit is numerically stable while explicit can in theory diverge and you will obtain that the solution can become infinite. So the reason behind using implicit is not only for larger time step but also for numerical stability. This is especially true in boundary layer problems where the change in speed of the flow is very large on a tiny scale (stiff problems). |
|
October 30, 2008, 05:27 |
Re: Stiff system and time steps
|
#5 |
Guest
Posts: n/a
|
Implicit methods generally give less temporal accuracy and takes longer time to solve for each time-step.
Also, since all points in the domain become connected in an implicit approach you might get some unphysical results since you transmit information at infinite speed over the domain. On the other hand, if you use an explicit method you might never see any usable result since you are forced to use too small time-step in order to maintain stability. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
TimeVaryingMappedFixedValue | irishdave | OpenFOAM Running, Solving & CFD | 32 | June 16, 2021 06:55 |
Multiple floating objects | CKH | OpenFOAM Running, Solving & CFD | 14 | February 20, 2019 09:08 |
Extrusion with OpenFoam problem No. Iterations 0 | Lord Kelvin | OpenFOAM Running, Solving & CFD | 8 | March 28, 2016 11:08 |
Superlinear speedup in OpenFOAM 13 | msrinath80 | OpenFOAM Running, Solving & CFD | 18 | March 3, 2015 05:36 |
System time overhead in OF | askjak | OpenFOAM | 0 | September 8, 2010 06:42 |