Implicit vs Explicit method
Dear all,
I'm a university student who just jump into the field of CFD. Would you please tell me the definitions of implicit method and explicit method? And what are the differences for their usage? Last question is that what is the important factor for my decision of using either one? Thank you for your help! Donna |
Re: Implicit vs Explicit method
Basically an explicit scheme is one where there is a simple updating procedure that does not depend upon other values at the current level while an implicit one contains information at the current level which requires the solving of simultaneous equations.
For example consider the the system of odes du/dt = f(u) where u is a vector and f is a known function. Then we may approximate the time derivative over a time step h as (explicit) u(n+1) = u(n) + h.f(u(n)) (implicit) u(n+1) = u(n) + h.f(u(n+1)) where u(n) is the value of u at t=nh. In the explicit formula the right-hand-side is known and so u(n+1) is easily calculated while in the implicit case the RHS depends upon the quantity you are trying to calculate. If f(u) = Au where A is a matrix independent of u then the implicit scheme requires solving the system of equations (I-hA).u(n+1) = u(n) and so a matrix inversion needs to be performed. The main pros and cons of these two methods are that explicit schemes are easy to program with only simple calculations performed at each timestep while implicit schemes are more difficult and can involve many iterations per timestep. Explicit schemes however have a tendancy to be unstable and require very small timesteps while implicit schemes are very stable and can have much larger timesteps. The book Numerical solution of partial differential equations by G.D. Smith (1979). Oxford University Press is worth looking at (if it's still in print) for a basic introduction to numerical analysis. |
Re: Implicit vs Explicit method
"and so a matrix inversion needs to be performed."
To nitpick a little, the matrix doesn't need to be inverted to solve the system for u(n+1); what is needed is to solve the system of simultaneous equations. This can still be a daunting task, but generally quite a bit less computational work than taking the inverse. Otherwise, I think Tom's response, and advise, is dead on. Good luck with your problem. |
Re: Implicit vs Explicit method
Tom's explanation is very good!
Now what does it mean for you? If you try to solve low frequencies problems (the lowest being steady state) go for implicit because you only need a few long time steps. If you try to solve medium high frequencies problems go for explicit because a small time step is required anyway and the cost of each time step is way lower with explicit. Exemples of typical applications: CFD steady state = implicit Aero-Acoustics and highly transient flows = explicit Structural static analysis = implicit Structural crash analysis = explicit I would dare say that: f >100Hz -> go explicit f between 100 and 2 Hz grey zone (explicit and implicit can compete) f < 2Hz -> go implicit Notable exception: weather forecast which is performed with explicit schemes but such big elements size that the time step is OK. Dimitri |
Re: Implicit vs Explicit method
Dear Tom, Jim Park & dimitri,
Thank you for your responses and explanations. All those are beneficial to me. Thanks a lot! =) Donna |
Quote:
In weather forecast, don't we use a large time step(like 12h for example). So going by the rule, shouldn't we use Implicit method? |
Quote:
Who told you that in weather forecast a 12h time step is used?? |
The more interesting question here is if Dimitri will answer this question 16 years later :D
|
exponential integrators
Exponential integrators are a very interesting class of EXPLICIT schemes allowing very large time step size (much larger than the cfl condition).
Christine |
All times are GMT -4. The time now is 04:47. |