A FDM vs FEM: Which is Better for CFD?

  • A
  • Thread starter Thread starter maistral
  • Start date Start date
  • Tags Tags
    Fdm Fem
maistral
Messages
235
Reaction score
17
TL;DR Summary
Why should I pick FDM over FEM when solving reaction-advection-diffusion problems?
Basically, the summary. I forgot where I read this before, apparently FDM is much better in handling such problems, and apparently CFD in general is better dealt with FDM instead of FEM. Why is this so?
 
Physics news on Phys.org
Finite difference methods have only one advantage: they are very simple to implement. FDM is not easy to extend to complex geometries. There is more debate about finite volume methods versus finite element methods. The advantage of the finite volume method is that mass conservation is guaranteed. On the other hand, the finite element method can be easily extended to higher order methods, and you can guarantee conservation of other properties like energy for certain flavours of FEM.
 
maistral said:
Summary: Why should I pick FDM over FEM when solving reaction-advection-diffusion problems?

Basically, the summary. I forgot where I read this before, apparently FDM is much better in handling such problems, and apparently CFD in general is better dealt with FDM instead of FEM. Why is this so?

In my experience, with CFD, in general we instead choose Finite Volume Methods, as that is a conservative method and guarantees conservation of fields. Of course that is the "traditional" Mechanical Engineering textbook reply. Lately other methods like Lattice-Boltzmann and Immersed Boundary Methods are gaining traction that have their own benefits and drawbacks. There are a lot of methods that are being used that have applicability in different domains. FDM or FEM or even FVM aren't gold standards. They will always have problems in some domains like multiphase flows and turbulent flows, where you respectively use things like Level Set, Volume of Fluid methods for multiphase flows and you'll likely use something like LES or RANS(if you have the computational power), for these domains.

I have no experience with reactions so I'm not the person to ask about them. But I'll suggest to start coding in FDM and then try other approaches and compare results and computation time etc. The best way to learn is to experiment. darthcoder
 
Back
Top