Implicit vs explicit finite element solvers

In summary, implicit solvers solve problems by forcing equilibrium while explicit solvers do not. This can be a problem for engineering problems where equilibrium is desired.
  • #1
pamparana
128
0
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
 
Engineering news on Phys.org
  • #2
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:
[tex]
\frac{\partial Q}{\partial t} + \frac{\partial E}{\partial x} = 0[/tex]
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:
[tex]
CFL = \frac{c\Delta t}{\Delta x}[/tex]
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
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
 

FAQ: Implicit vs explicit finite element solvers

What is the difference between implicit and explicit finite element solvers?

Implicit and explicit finite element solvers are numerical methods used in computational mechanics to solve partial differential equations. Implicit solvers use an iterative approach to solve the equations, while explicit solvers use a direct time integration method. This means that implicit solvers are better suited for problems with stiff or nonlinear equations, while explicit solvers are better for problems with smaller time steps and simpler equations.

Which type of solver is more accurate?

Both implicit and explicit solvers can produce accurate results, but implicit solvers are generally considered more accurate. This is because implicit solvers can handle a wider range of problems and have better stability properties. However, explicit solvers can also be accurate if the time step is small enough and the equations are simple enough.

What are the advantages of using implicit finite element solvers?

One advantage of using implicit solvers is their ability to handle stiff or nonlinear equations. Additionally, implicit solvers can use larger time steps, leading to faster computation times. They also have better stability properties, meaning they are less likely to produce numerical instabilities.

When should I use an explicit finite element solver?

Explicit finite element solvers are typically used for problems with simple geometry and equations, where the time step can be small enough to ensure accuracy. They are also useful for problems with dynamic or highly transient behavior, such as impact or explosions. However, if the problem becomes too complex or the equations become stiffer, implicit solvers may be necessary for accurate results.

Can implicit and explicit solvers be used together?

Yes, it is possible to use both implicit and explicit solvers in a single simulation. This approach, known as a hybrid solver, combines the strengths of both methods to achieve accurate and efficient results. For example, an implicit solver can be used for the majority of the simulation, while an explicit solver can be used for specific time steps or regions where it is more suitable.

Similar threads

Back
Top