CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   Implicit vs Explicit method (

Donna April 11, 2003 01:17

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!


Tom April 11, 2003 04:41

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.

Jim Park April 11, 2003 10:46

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.

dimitri April 11, 2003 18:32

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.


Donna April 13, 2003 03:46

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! =)


All times are GMT -4. The time now is 05:29.