The difference between FEM and FDM…
If you are serious about FEA and you want to get deep into the theory and the method used, then you probably asked yourself this question…
And you came to the right place…because this blog is about “FEA for all: From basic to Advanced” ;-)
What I’ll talk about here is slightly more on the “advanced” side… so if that’s your thing, keep reading.
First, FEM means “finite element method”…
It is the method used in FEA (Finite Element Analysis) to solve numerically physical equations.
Now, when I talk about things, I like to explain from the start and make every concept clear.
That’s because I think that true understand comes from clarity first.
IF the foundational knowledge of physical equations and numerical methods is all clear for you, that’s awesome, you will understand quickly the difference between FEM and FDM …you can go and read the last paragraph of this article.
BUT… If those concepts are just abstract names in your head, you may want to start by understanding those first…
Remember, you always want to get the meaning of things, not the definition…(otherwise, you can just check a dictionary…)
What is a physical equation and where does it comes from?
In the last centuries, men have always strived to understand their environment, because you have to understand first how things work in order to be able to control, change and improve those things.
In order to do that, physicists and other scientists have helped a lot in explaining how things work in nature by creating representative models.
Men know since a long time ago how to create fire (some people even say that it is the start of the civilisation)… but that’s only few centuries ago that we have become able to understand how the heat produced by this fire propagates in various objects
How have we been able to understand how heat propagates?
By doing some experiments and then retrofitting the data with equations. Those simple equations gave us some laws and those laws combined together gave us every more powerful equations that could explain more and more.
The problem with that?
More equations became complex and general and more it became difficult to solve those equations using perfect variables to get analytical solutions.
We had to invent something else… a tool that every physicists could use to solve those equations without spending years trying to get an analytical solution that may even not exist.
That’s when we invented numerical methods…
Why do we need some numerical method to help us to do that?
Physical equations generally are represented by complex differential equations.
If you are quite new to solving differential equations, you « may » think that such an equation is just an equation, why don’t we just compute the « solution », get a function and a result from that?
Well… differential equations are « slightly » more complex than that.
Not sure exactly why, but as soon as an equation involves time… everything immediately becomes more complex… (If you have your own idea, write it in the comments, I want to know…)
Those differential equations, generally involve time, 3 space variables and potentially other variables as well (density of the fluid in fluid mechanics for example…)
So to overcome this challenge and get a solution, the main methods that have been used are the following:
- Simplifying the physics the maximum we can (From example, remove the time dependency by considering your model static or in « steady-state »)
- Dividing the model into smaller and simpler models
- Using « imperfect » numerical algorithms to approximate the true solution as much as we can
FEM is one numerical method that can help us to do exactly that!
Is FEM the only method that can help us to solve physical equations?
Of course not… FEM is not the only method that can help you to do that.
Mathematicians and physicists have found several ways to solve physical equations.
The 4 most used methods are:
1- Finite element method (FEM)
2- Finite volume method (FVM)
3- Finite difference method (FDM)
4- Boundary element method (BEM)
This article focuses more on the difference between FEM and FDM… so I’ll describe briefly both.
What is the FEM method? (simplified explanation)
The FEM method is a numerical method that uses discretisation to transform a continuous domain into a discrete domain.
What you have to understand is that numerical algorithms are generally made of recursive processes that need a beginning and an end.
In short, the algorithm needs to know from where it should start looking at you domain, then what will be the next part of the domain he has to consider, etc… until it has considered all the domain.
You cannot do that if you have 1 continuous domain (by domain, I mean volume or area of study)
In theory, we consider « infinitesimal volumes » which are so small that then tend to a point (see my article about stress)
But in numerical analysis, there’s no way to approximate an equation on such a domain.
That’s why we need to cut the domain into smaller portions.
Then basically, we compute the equations of each of those smaller domains and once it’s done, we have to put all back together so the solution makes sense globally using the theory of superposition.
This is what FEM is all about (I simplified a lot of concepts here for the sake of explaining the concept clearly)
Now, what is the FDM method?
Scientists who tried to solved those physical equations that I talked about at the beginning have tried to look at how to solve them from various angles.
The finite difference method also repose on this principle of discretisation, but it then solved the equations differently than the finite element method (FEM).
For the FDM, you only require 3 things to be able to solve the problem:
- A differential equation describing your problem
- Some boundary conditions
- A domain of study
Let’s take a simple beam as an example:
After we discretised it with only 3 nodes, we get a much simpler problem to solve here.
So instead to solve this differential equation…
We can approximate all the derivatives by a finite quotient of differences:
(We do that using Taylor’s theorem)
Once we do that, we just have to apply the boundary conditions, put all together and we immediately get an answer for the temperature at the nodes of the beam.
That’s what the finite difference method (FDM) is all about.
The difference between FEM and FDM
ok, now that I talked about both methods, you probably know what I wanted to say.
FEM and FDM are both numerical methods that are used to solve physical equations… both can be used.
FEM is mostly used in the industry, because it has a long history of successful applications in all engineering domains (Mechanics, Acoustics, Fluid dynamics, Thermic, Hydraulics,…)
So in general, we can say that people prefer FEM and that FEM has been implemented in many ways in various software platforms and solutions.
Other numerical methods such as FDM have also some advantages in some cases and disadvantages in some other cases.
FDM different from the FEM methods in few aspects:
- in the FDM methods, the discretisation of the domain is done as a set of nodes at which the results are determined, while in the FEM method the results are known in every point of the domain as the approximation is done with functions defined on small triangular (or quadrilateral) areas in 2D.
- Because of that, the algorithms used in FDM require generally less computational power to solve the equations, but it results also in less « refines » results (only at nodes).
- In some cases like in Computational Flow Dynamics (CFD), the FDM method will provide faster results than FEM (mostly because of what I mentioned in the previous 2 points), but the disadvantage is that results calculated with FDM have only a low order of approximation and leads to effects such as the non-continuity of flux (said simply, flow or thermal fluxes don’t conserve when FDM method is used)
The main difference between FEM and FDM (in simple terms):
- FDM is an older method than FEM that requires less computational power but is also less accurate in some cases where higher-order accuracy is required.
- FEM permit to get a higher order of accuracy, but requires more computational power and is also more exigent on the quality of the mesh.
Anything to add? to improve? or to correct?
Let me know in the comment section
I really want to contribute and help engineers (and students) who are new to FEA to understand basic concepts better and faster!
If you like this article, there are 3 things you can do for me:
1- Help me to share this article on Linkedin, facebook, twitter or in your habitual forum to help more people understand those basic concepts better.
2- Let me know in the comments what you learned from it and what you would like to learn even further so I can write more on the topic.
3- Join the newsletter and I’ll send you everything I write (and much more) by email!
Thank you for reading!
–Cyprien « Get Numerical » Rusu ;-)