# Implicit vs explicit finite element solvers

1. Sep 28, 2009

### pamparana

Hello,

I was just reading about implicit vs explicit finite element solvers and have a question about the difference between them.

I understand that the implicit solver has a linear approximation step that is used to force equilibrium. My question is does that make the explicit solver wrong? I am trying to think of situations where the explicit solver would be valid. Most engineering problems would probably like to enforce this equilibrium, right?

What do you think?

Thanks,

Luca

2. Sep 28, 2009

### minger

I can't speak for structural solvers, but in the CFD world, the difference is so simply, yet so incredibly complicated. Looking at a 1D case, the governing equations are in the form of:
$$\frac{\partial Q}{\partial t} + \frac{\partial E}{\partial x} = 0$$
Where Q is the vector of conserved variables, and E is the vector of fluxes. By solving for the flux derivatives, we can compute a time rate of change of the conserved variables. This allows us to compute the variables at the next time step, n+1.

When we do this, we run into a tricky problem of stability. We find a special number called the CFL (Courant-Freidrich-Lewis) number. This number is essentially the time it takes for a propagating wave to travel from one grid point to the next:
$$CFL = \frac{c\Delta t}{\Delta x}$$
For the earliest of algorithms, a maximum CFL of 1.0 would be ran. Now imagine a "simple" case of an airfoil. In order to resolve all of the waves at the leading edge, you need to cluster grid points there. However, by clustering grid points, you are limiting the allowable time step that you can run.

This is important because for explicit solvers, you need to reach an actual steady state condition. You need to "time-march" to a point where convergence has been reached.

Now, later on, it was discovered that if you took derivatives at the next, unknown time, n+1, rather than the current time, n, you could eliminate the time stability problem. You would lose time-accuracy (your final solution was correct, but was not necessarily correct at each point along the way), but due to the lack of stability issues, a much larger time step could be taken.

As another side-effect, you were no longer solving a simple matrix, but the matrix now because a block-matrix, where each entry in the matrix....is a matrix. Essentially the solution time for each time step is larger, but fewer are needed.

If you want some more information, I can get into ADI schemes tomrorow, but its time to go home.

3. Sep 28, 2009

### pamparana

Wow, this is much more complicated than I had imagined!

Sounds very interesting though. Any good resources where can I find out more about it?

Cheers,

Luca