# Why FVM can handle unstructured meshes while FDM cannot?

How come Finite Volume Method(FVM) handle the unstructured meshes and Finite difference Method cannot, whereas in FVM to approximate the fluxes at the boundary we use the central differencing?

My understanding is that in FDM, to apply Taylor series, we need lines on which other independent variables are constant (as on x-axis, y=z=0). Whereas in the case of FVM, to calculate the boundary fluxes we are actually doing interpolation between two points, which do not pose any such restriction of constant lines. In the case of uniform orthogonal meshes, the usual interpolation turns out to be the central difference approximation.

The difference between finite volumes and finite differences is really more about the form of the equations solved. In typical FV methods, the conservative form is discretised in terms of integrals and fluxes, whereas FD methods generally approximate derivatives in the non-conservative form directly.

Maintaining conservation and preserving physical invariants can often be quite important, hence the common preference for FV-style methods (or other conservative approaches) in practice. This may be especially true for hyperbolic-type systems (like fluid dynamics), where conservation of mass (as well as momentum, vorticity, kinetic energy, etc, etc) is desirable.

It's definitely possible to construct FD-type methods for unstructured meshes too. One could, for example, fit a multi-dimensional polynomial (in a least-squares sense) across a stencil of points, differentiate it, and use the coefficients to construct an FD-style approximation for the various operators in your equations.

• There also are conservative FD methods, but they tend to be rather difficult to construct.
– EMP
Commented Feb 11, 2020 at 16:00

I would propose to think of the different schools of coming up with discretizations (FVM/FEM/FD), not as excluding or separate. There is surely overlap, they are -methods- to derive discretizations. As you said, in some cases you end up with identical discretizations no matter which approach you chose. That being said, there are certain advantages and disadvantages to them, as @Darren already mentioned.

(It is my suspicion, that you may find very smart people in severe arguments about which school of discretization is more powerful and superior. If you look at the actual matrices and residuals computed, they might often turn out to be identical after all. Take this with a grain of salt.)

• There are certain circumstances where FVM and FD do actually become the same, but they are different conceptually, and that can be helpful when designing your discretization.
– EMP
Commented Feb 11, 2020 at 16:41
• In the end, it always comes down to solving some linear algebra system. And this system does not care about what concept you used to set it up, or whether they are different conceptually. I was impressed to find that there are, contrary to many statements you find in the literature, finite difference constructions for unstructured grids which also have conservation properties (Michail Shashkov, Mimetic finite differences). As I wrote, i suspect that the perceived differences do not always make it into the linear algebra. Commented Feb 12, 2020 at 10:06
• There are quite big conceptual differences though, aren't there? FDM solutions give you point approximations of the exact solution, while FVM solutions are cell averages and FEM solutions are only guaranteed to be weak solutions (i.e. they can differ from the exact solution at any single point). So for the same mesh, you can get -qualitatively and quantitatively- very different solutions from different methods. Also as a researcher in numerical linear algebra, I can say that even changing the FEM you use may change the linear solver you use. Commented Feb 15, 2020 at 18:49

You can use FD too, and it is very straight forward... fit a polynomial to neighboring cells or nodes, differentiate and use... It is very efficient as it's not tight by the use of the control volume, like in FVM or FEM, it's just need a point location and a difference scheme ..