CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   FVM: how to obtain the values on vertex? (

remi Demersseman May 19, 1999 09:24

FVM: how to obtain the values on vertex?
I have to interpolate the pressure and velocity datas from a FVM grid to a FEM one. The problem is that I can obtain these datas at the center of the cells and the FEM cells need them on their boundary faces. How can I calculate the values on the VFM cells' faces?

John C. Chien May 19, 1999 12:11

Re: FVM: how to obtain the values on vertex?
(1). It is hard. It is like walking in the streets of London, the world is moving in the wrong direction. (2). Even though you can only obtain the data at the center of the cell in the FVM code you are using, you might be able to study the assumptions used in your FVM code and derive the distribution of the parameters throughout the cell,including the boundary surface and vertex. (3). So, you need to know the distribution of the variables in the cell, which should be part of the assumption used in the code you are using. In this way, it will be consistent with the FVM results. (4). Once you have the surface distribution of variables from the FVM side, you still need to know that the distribution is consistent with the FEM code you will be using. Then you need to study the FEM code to find out the exact kind of input distribution required. (5). In other word, the transfer of data must be consistent and valid with both sides. So, you need to know how both sides treat their variables throughout the cell or the element.

Farid Moussaoui May 19, 1999 14:03

Re: FVM: how to obtain the values on vertex?
Hi, You can do the following: suppose that your solution is u on the FVM mesh and is represented as : u = \Sum u_i \psi_i where \psi_i is the characteristic function of the cell i (e.g psi_i = 1 on cell i and 0 outside) and u_i is the value of your discrete FVM solution on cell i Now, your function on the FEM level is represented by v as v = \Sum v_j \phi_j By applying a variational framework (put u = v and multiply by phi), you get M V = F where M_{ij} = \Int \phi_i \phi_j and

F_i = \Int u \phi_i =

\Sum_{T \in T_i} u_{T}\Int_{T} \phi_i where T_i is the set of cells containing node i. Now, is you cell is a triangle then \Int_{T} \phi_i = meas(T)/3. The linear system M V = F is solved in a straightforward manner. M is the mass matrix.

Now, if you have AVS, there is an integrated module, wich can do it (cell_to_node).

I hope that this can help. Farid.

Ji May 19, 1999 21:46

Re: FVM: how to obtain the values on vertex?

Though you can get some ready-made routines for your applications, please bear in mind that John Chen's suggestion is the best.


D.M.Lipinski May 20, 1999 06:29

Re: FVM: how to obtain the values on vertex?
You can use Taylor series to move your centre point value (Pc) to the vertex. The vertex value will be given by: Pv=Pc + DOT(gradP, Rv-Rc) where Pv and Pc are vertex (FEM) and centre point (FVM) values of your variable. gradP is interpolated to the vertex gradient of P. Rv and Rc are the position vectors of the vertex and centre points. DOT denotes the scalar product operator. Based on your FVM mesh, you can calculate cell-centered gradients of P. Then, by interpolation, find the gradients at the vertex locations. Finally apply the above formula to find Pv. Please note, that such approach, when carefully implemented (interpolation!) is good enough for the presentation of results or just having a starting values to iterate on the FEM mesh. P field obtained in the above way, does not, in general, satisfy your conservation equations on the FEM mesh, although original P distribution satisfied these equations on the FVM mesh. regards DML

All times are GMT -4. The time now is 20:31.