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.
So…
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
Read my article about heat transfer
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!
Now…
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 ;-)
Yogesh says
Thank you very much. Now i got some clarification about these two methods.
vrushang says
Hi there,
I want too share my understanding about it.
I found that FDM directly impose equilibrium equations to the nodes. On the other hand in FEM, we can impose compatibility equations also.
Generally in solid mechanics for ex. Theory of elasticity, we need both equilibrium and compatibility equation to completely define state of stress in the domein for applied boundary condition. For that FEA is more suitable. And in fluid mechanics only equilibrium equations are enough so we use FDM.
If we use FDM to solve solid mechanics problem, the method become unstable for complicated problems.
Please correct me, if I am wrong.
Nicolas says
For the case presented here , only steady state is computed (did you mean equilibrium for steady state ?) – But FDM also allows to compute transient states. For the case presented in the article, one would need to add a discrete FDM temporal derivative.
BTW some very efficient algorithms for non equilibrium fluid dynamics and thermal fluids are based on FDM, like Lattice Boltzmann Method. Lots of Fluid mechanics problems require out of equilibrium equations.
Let me know if you have any comment about this answer.
Nicolas says
After re-thinking about it, I clarified this question. In fact, there’s no reason one wouldn’t be able to compute compatibility equation using FDM.
FDM and FEM only correspond to different methods of discretisation. But any continuous physical equation could be discretised with one or the other method, though numerical performances would differ. The purpose of adding compatibility equation is to compute the deviatoric part of the stress tensor, which can be calculated with both methods. Otherwise, this would mean material models would only be accessible using FEM, which is wrong. This would also mean no viscous effects would be reachable with FDM for fluids, which is also wrong. In conclusion using FDM or FEM really has nothing to do with the fact of adding compatibility equations or not.
LN says
My two cents: FDM provides field variable values only at nodes. Conversely, FEM provides values in-between nodes via the shape functions. As I once read in a very small book by Zienkiewicz and Morgan “Finite Elements and Approximation”, the key difference lies in a different approach to approximating field variables. Besides, the FVM method in its well-known application to CFD is a kind of an “extension” to FDM. Some authors even treat FVM as a class of FD methods, albeit in my opinion it is a bit of a stretch.
Lakshmanan A says
Thanks for this wonderful explanation and i clearly understand the difference.
Could please explain the general physics concepts involved in each analysis such as static, thermal, buckling and fatigue analysis.
Okoubi Elizabeth says
I was told that FEM is used to reduced the equation into small element. Is it true? That all these method can now be used to solve it: FDM, NEWMARK BETA METHOD and some others I can’t recall now.Is it true? Pls help me with other method
Okoubi Elizabeth says
I need help majorly on FEM and how to use it to reduce fourth order partial differential equation into element? How do I apply Newmark Beta method to solve it? Solid mechanics student masters Mathematics dept
Nicolas says
Just for my culture, what kind of physical problem involves fourth order derivatives ?
German says
very good explanation, clarifying the differences on both methods, on the example and the table, just as suggestion make more clearly with example equations of any type on the explanation of the FEM as you made on the explanation of the FDM.
Charlie says
Thanks for this clarifying explanation.
Gerrit Grundling says
Isn’t FDM a calculation method between the properties at discrete points, while FEM is the creation of those discrete points by generating a mesh of elements?
Cyprien says
Well, it is kind of like that. Except that nodes are not created by the elements in FEA. Generally nodes and created first and then the elements are created in between the nodes. The shape function defined for each element is what approximates “elemental” results such as stresses (whereas displacements are nodal results).
Oyefusi, Oluwatobi David says
Please, can someone briefly describe the difference between FEA and FEM?
Cyprien says
FEM is the Finite Element Method (the mathematical and numerical algorithms) while FEA means Finite Element Analysis and it means basically doing mechanical analysis based on the FEM Method… So you can think about FEM and FEA as 2 closely linked concepts which goes together.
David says
Thanks for the explanation. I would like to know how FVM is different from FDM & FEM.
For example, both FVM and FEM are applying discretisation and formulate using fundamental laws. In what sense that they are different? Could you include in your explanation also?