CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Finite element vs. finite difference (https://www.cfd-online.com/Forums/main/1027-finite-element-vs-finite-difference.html)

Francisco Saldarriaga July 15, 1999 16:56

Finite element vs. finite difference
 
What is a simple way to explain the difference between the finite element approach versus the finite difference when solving the NS equations?

John C. Chien July 16, 1999 00:53

Re: Finite element vs. finite difference
 
(1). It is a century old question. (2). Regardless of what you are solving, when you say "finite element analysis" people interpret as "structure analysis". When you say "CFD analysis", people think in terms of "finite-difference" or "finite-volume" analysis. (3). So, in the job listing description, experience in FEA or CFD are used to represent "structure analysis" and "fluid analysis",respectively. (4). So, if you use the methods used in FEA (structure analysis) to solve the fluid dynamics problems (Navier-Stokes equations, or Euler equation), you call it finite-element method in fluid dynamics. (5). Then, you probably will ask " what is finite-element analysis in structure ?" All I can say is, it is a well established field to do numerical analysis in structure on computer. ( it is also applicable to other fields outside the structure analysis)

Nuray Kayakol July 16, 1999 01:50

Re: Finite element vs. finite difference
 
The differences between FE and FD comes from (1) the way in which flow variables are approximated & (2) the discretization processes.

Read the detail from : H.K Versteeg and W. Malalasekera, " An introduction to computational fluid dynamics: The finite volume, John Wiley & Sons Inc., New York.

Yogesh Talekar July 16, 1999 06:42

Re: Finite element vs. finite difference
 
In finite element you relate stresses, forces or strains developed in the system by writing the equations relating them in a matrix form. Whereas in the finite-difference method you replace the deivatives (gradients) by simple difference. In finite difference you are replacing slope of a tangent (i.e. derivative or gradient) by simple formula of slope of a straight line say (y1-y2)/(x1-x2) where (x1-x2)=delta(x)=grid_spacing. As you can see, to approximate slope of tangent to curve by slope of straight line we have to keep delta(x) as small as possible!

Farid Moussaoui July 16, 1999 09:05

Re: Finite element vs. finite difference
 
Hi, I don't agree with John. FEM are widely used in CFD. May be your background in CFD were made only in a FD or FV school. Yours.

Patrick Godon July 16, 1999 09:49

Re: Finite element vs. finite difference
 
One of the main difference between the two methods is that FE is written such that it preserves Fluxes, while FD does not especially conserves fluxes (as has been said, FD is just replacing the derivatives using first order expansion of the Taylors series of the function).

Have also a look at :

Press, Flannery, Teukolsky and Vetterling, 1989, Numerical Recipes, Cambridge Univ. Press.

Hughes, 1897, Finite Element Method, Prentice-Hall.

Zienkiewicz, 1977, The Finite Element Method, London: McGraw-Hill.

Patrick

John C. Chien July 16, 1999 22:17

Re: Finite element vs. finite difference
 
(1). Sure, when I speak, I always express my personal opinion. (2). I always caution my friends in Taiwan that there is no direct relationship between technology advancement and the democratic systems adopted. (3). There is no way one can invent technology by voting. So, the number of people using a particular method of solution does not in any way indicate that the method is more right or more wrong. And the real value of the finite-element method should not be affected by my personal feeling at all. (4). I guess, it is your responsibility to develope or apply the finite-element method when it is applicable.

clifford bradford July 20, 1999 15:30

Re: Finite element vs. finite difference
 
count on Mr Chien to make things more difficult than they are. Francisco there isn't really a quick answer. as you probably know FD involves approximating derivatives in a pde and then solving the algebraic equations. fd is used to solve differential equations. in FE the integral equation (derivable from the differential equation or vice versa) is solve by assuming a piecewise continuous function over the domain. it is more complicated than FE. but it ensures conservation and is probably the best techniques for solving arbitrary integral (or differential equations. nouray, farid and david are correct. i'd also recommend the Von karman institutes "introduction to cfd" edited by wendt. there is a section on FE applied to CFD

Francisco Saldarriaga July 20, 1999 17:23

Re: Finite element vs. finite difference
 
Thanks to you all regarding these answers, they helped a lot! From the references, I found in Patankar's book: " Numerical Heat Transfer an Fluid Flow", page 27, that the difference can be considered as two alternative versions of the discretization method. In particular the way of choosing profiles (between nodes) and the derivation of the discreticized equations. My conclusion as John stated (regarding PDF's) is like in defining who is first," the chicken or the egg".

John C. Chien July 20, 1999 17:38

Re: Finite element vs. finite difference
 
(1). I can only say that most professional commercial CFD codes use finite-volume method to solve Navier-Stokes equations. This includes Fluent, Star-CD, CFX, CFX-Tascflow,... (2). I believe that all (99%) structure codes use finite-element method. (3). Most advanced research in CFD use finite-difference method to solve Navier-Stokes equations. (4). I think there must be reasons behind this trend. (5). If one can get good results of Navier-Stokes equations, it really doesn't matter what method he used. (6). The fact is, when I was young, I used to think that every person is a good person regardless of his temporary behavior. But since then, I have changed my view of people, there are really several types of persons, good, bad, and ugly. It is hard to change a person, and it is hard to change a method. That is my point of view.

arulmasc May 24, 2010 10:28

main differences applying the boundary conditions.
 
In finite difference method,One apply the boundary conditions in discretized form(Nuemann BC) where as Finite Element(F-E)we can use as the Nuemann Bc As it is.(without discretized form)





Quote:

Originally Posted by John C. Chien
;4058
(1). I can only say that most professional commercial CFD codes use finite-volume method to solve Navier-Stokes equations. This includes Fluent, Star-CD, CFX, CFX-Tascflow,... (2). I believe that all (99%) structure codes use finite-element method. (3). Most advanced research in CFD use finite-difference method to solve Navier-Stokes equations. (4). I think there must be reasons behind this trend. (5). If one can get good results of Navier-Stokes equations, it really doesn't matter what method he used. (6). The fact is, when I was young, I used to think that every person is a good person regardless of his temporary behavior. But since then, I have changed my view of people, there are really several types of persons, good, bad, and ugly. It is hard to change a person, and it is hard to change a method. That is my point of view.


hop February 4, 2012 17:17

I read through some replies, I just remembered one thing: "too little knowledge is a dangerous thing" especially when you think just working with a software and affiliation with that gives you the right to comment on the technical rigorous side of it.

http://www.youtube.com/watch?feature...&v=vucTntLi5sQ

Here is video that you'll find few clear, correct points regarding finite elements methods, in CFD context.

adrin February 4, 2012 20:54

I agree with the comment "too little knowledge is a dangerous thing", because it also leads one to believe any youtube material and published "research" papers as fact :)

With due respect to the speaker at that youtube self-advertisement, while I'm sure he knows his FE stuff, his explanation for the differences between FE and FV are far from accurate, complete and/or honest. To suggest that FV is inaccurate because it considers "2D"; i.e., flux info instead of "3D"; i.e., volume info is equivalent to saying that Stokes and Gauss theorems are "approximations" for converting volume integrals to surface integrals. We know this is simply not correct! The fact that traditional FV methods used in most/all commercial codes utilize only the lowest-order discretization of variables (usually cell-centered) doesn't automatically imply that higher-order FV methods cannot be developed and used. The differences between FE and FV are mathematically deeper than the superficial presentation in that youtube (FV can probably be considered as a subset of FE, depending on the choice of the discretization strategy).

adrin

arjun February 4, 2012 21:43

Quote:

Originally Posted by adrin (Post 342767)
i agree with the comment "too little knowledge is a dangerous thing", because it also leads one to believe any youtube material and published "research" papers as fact :)

with due respect to the speaker at that youtube self-advertisement, while i'm sure he knows his fe stuff, his explanation for the differences between fe and fv are far from accurate, complete and/or honest. To suggest that fv is inaccurate because it considers "2d"; i.e., flux info instead of "3d"; i.e., volume info is equivalent to saying that stokes and gauss theorems are "approximations" for converting volume integrals to surface integrals. We know this is simply not correct! The fact that traditional fv methods used in most/all commercial codes utilize only the lowest-order discretization of variables (usually cell-centered) doesn't automatically imply that higher-order fv methods cannot be developed and used. The differences between fe and fv are mathematically deeper than the superficial presentation in that youtube (fv can probably be considered as a subset of fe, depending on the choice of the discretization strategy).

Adrin


+1 .

cfdnewbie February 5, 2012 05:48

+1 as well.

FE and FV both have their merits. While I tend to agree that for incompressible, viscous flows probably the FE approach outperforms the FV one (per DOF), the picture changes completely when you enter the realm of compressibility.

In the mathematical limit, all formulations are bound by one thing: the Nyquist frequency, and resulting from that, the "quality" per DOF you spent. Saying that one method is better/more accurate/more efficient than another without considering no. of DOF, order, etc is just misleading!

I can understand that the guy in the vid wants to promote his software for the application he has in mind, but it's nothing more than a commercial - with some scientific tidbits added...

FMDenaro February 5, 2012 05:57

just to say that FV can be seen as a form of FEM, for a specific chose projection over local shape function that correspond to the measure of the finite volume

cfdnewbie February 5, 2012 06:06

Quote:

Originally Posted by FMDenaro (Post 342789)
just to say that FV can be seen as a form of FEM, for a specific chose projection over local shape function that correspond to the measure of the finite volume


agreed, but isn't that just the expression for the mean value? where do the surface fluxes come in? just as a bc?

FMDenaro February 5, 2012 06:21

Quote:

Originally Posted by cfdnewbie (Post 342791)
agreed, but isn't that just the expression for the mean value? where do the surface fluxes come in? just as a bc?

No, you have a mean value "function" f_bar(x), not a piecewise constant value over the finite volumes. This is exploited in high order flux reconstructions for Euler flows as well as in LES based on the top-hat filter function.

aguskartono70 February 7, 2012 23:40

Does anyone have an open source code for 3-dimensional model for estuaries and coastal seas using finite differential method/scheme ? Please send to aguskartono70@yahoo.com ... thanks ... :)

FMDenaro February 8, 2012 03:45

I suggest OpenFOAM ...


All times are GMT -4. The time now is 08:40.