CFD Online Discussion Forums

CFD Online Discussion Forums (
-   Main CFD Forum (
-   -   Flux calculation in vertex-centered finite volume. (

Martin May 23, 2008 12:55

Flux calculation in vertex-centered finite volume.

I'm new to the principles used when implementing 3D vertex-centered finite volume methods. I have this question about how one would go about implementing calculation of fluxes between control volumes in this case.

These are my thoughts so far.

Assume we have a tetrahedral mesh and define the control volumes based on the associated median dual mesh. Now consider an edge, e, between two mesh vertices. The endpoints of this edge are at the "centers" of two adjacent control volumes. The edge is shared by a number of tetrahedra, T_1,..,T_n. Inside each of these is a plane surface, s_i, i=1,..,n, that contributes to the combined surface, S_e, shared by the two adjacent control volumes along edge e. My idea was now for each vertex in the mesh to calculate the flux across S_e for all edges e emanating from that vertex and add/subtract it to/from the vertex field value. Is this ok so far ?

Now, each of the subsurfaces s_i associated with an edge e is formed by the centroids of abutting triangular faces and the cetroid of T_i, so these are plane surfaces. To calculate the flux across S_e I believe I should calculate a normal for each of the s_i, rotate field values to that direction, solve a Riemann problem across s_i, rotate values back again and sum all these flux contributions.

But all these Riemann problems are in some sense identical, because the only thing that changes is the direction of the normal, whereas the constant values within the two control volumes are unchanged.

So couldn't I just for every edge in the mesh calculate the surface normals of all the s_i (the length of each normal being the area of s_i), add them together to get a normal for an enquivalent combined plane and just calculate a single Riemann problem using that combined normal ? This would essentially (for a non-boundary vertex) reduce the flux calculation to 6 Riemann problems per vertex because the control volume would essentially then be a hexahedron around each vertex (at least from a flux calculation perspective).

Can anyone tell my if I'm way off here ?

Thanks, Martin

pc May 23, 2008 13:01

Re: Flux calculation in vertex-centered finite vol
Nope, you're not off - that's how it's done.

See papers by Barth from the early 90's.

Praveen. C May 23, 2008 16:16

Re: Flux calculation in vertex-centered finite vol
It is common to use an average normal. I dont know if anyone has studied how this affects the accuracy. It is definitely not good with highly stretched grids as encountered in high reynolds number flows. Some people use a circum-center based cell definitions instead of the centroid-based cells. This leads to better cells in the boundary layer region.

Martin June 4, 2008 10:04

Re: Flux calculation in vertex-centered finite vol
Okay! Thanks for the confirmation.

All times are GMT -4. The time now is 00:05.