- **Main CFD Forum**
(*https://www.cfd-online.com/Forums/main/*)

- - **What is C.V. based finite element method
**
(*https://www.cfd-online.com/Forums/main/294-what-c-v-based-finite-element-method.html*)

What is C.V. based finite element method
From previous topics on FD vs.FV, Duane metioned the CV based finite element method a better approach for CFD. Can someone make more detailed description on this method?
As I know the major commercial CFD codes for handling multi-million element problems seem all based on FV method. From textbook I know FEM is more accurate than FV; however, FEM suffers from computing speed and large RAM when dealing with large number of elements. It seems to me that differences among commercial FV codes are: accuracy due to various discretization schemes, the way of solving large sparse linear system, solution algorithm, and customization for specific engineering problem. Otherwise, I cannot expect too radical advantage from a certain code, such as computing speed or accuracy. Would this CV based FEM achieves both accuracy and speed. I think many are wondering how and why. |

Re: What is C.V. based finite element method
A control-volume based finite volume method (CVFEM) is still a FV method, but defines the volumes differently from the more traditional FV method. in particular, the traditional method (some call it the "cell-centered method" chooses the volumes to be the same as the cells of the mesh. The CVFEM, on the other hand, chooses the volumes from a dual mesh; ie, there is one control volume associated with each vertex. The reason it is called a finite element method is that shape functions within the element can be used to help discretize the fluxes at the control volume faces. Thus the CVFEM is in some sense a marriage of the FV and FE methods. Other people call the same approach a "cell-vertex method" or "element-based finite volume method" or "vertex-centered finite volume method" etc.
Which is better is a matter of debate and personal preference. Some people like the fact that the CVFEM is related to the FE element method (in fact, in some canonical cases the discrete equations are identical to a Galerkin discretization.) What is interesting is the difference in unknowns, particularly on unstructured simplex meshes. In 2d, there are twice as many triangles as vertices, and in 3d there are 5-7 times as many tetrahedra as vertices. Thus the cell-centered approach may be expected to give better accuracy, but also more cost. Has anyone done a direct comparison? |

Re: What is C.V. based finite element method
So, Philip, let me interpret it in this way to see if I am getting right.
The integration over a CV is still same as traditional FVM, but the discretization of convection and diffusion terms on control surface is somehow complicated and more accurate. Actually, in unstructured polyhedral mesh, discretization on control surface is complicated and involves more neighbouring information than structure mesh. If shape function is implenmented in this stage, it should not affect solution scheme too much, or would it cause problem in stability and convergence? OR, I am wrong. The two control volumes for both mesh and vertex should be formed in the global system to be solved? |

Re: What is C.V. based finite element method
I think you're on the right track, but I don't see the difference you're talking about for structured and unstructured meshes. Perhaps the best thing is to suggest some papers that deal with the subject.
For unstructured meshes, several papers by Tim Barth (I think they've been listed in some other threads, dealing with FV for unstructured meshes) are good. He uses an edge data structure to calculate the fluxes. For structured meshes, there's the paper Schneider & Raw, "Control Volume Finite-Element Method for heat transfer and fluid flow using colocated variables -- 1. Computational procedure", Numerical Heat Transfer 11:363-390 (1987) which also references earlier work by Schneider & Zedan (for scalar transport) and Baliga & Patankar (for staggered grids). These papers use an element data structure to assemble the fluxes. Hope this helps, phil |

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