I have found that in unstructured mesh, discretizing the laplacian operator with finite volumes requires special care, as given in An Introduction to Computational Fluid Dynamics: The Finite Volume Method, (section 11.8) but this is limited to constant normals along the element faces. What happens when these faces are curves as in high order geometries? I haven't been able to find methods to get around this.
2 Answers
I have work in the FVM for many years. The second order FVM is very popular in the CFD area. The integration is approximated with the mid-point integration method. It means that the curved edge should be approximated with many line segments. If you want to work with the high-order FVM method, I suggest you try the spectral-FVM method.
In finite volume methods, you just have to figure out to parameterize the fluxes across the faces that are now curved. In finite element methods, this is a standard approach and not complicated at all. Most finite element libraries allow you to choose higher order geometry descriptions.
-
1$\begingroup$ I need to stick to finite volumes because I need a method that conserves quantities locally. Hdiv finite elements are not supported by the library that I am using (libMesh) and it is too late in my code to start over with another library that does. I cannot use a stabilized method because I need higher accuracy when the mesh is coarse (stabilized method's solution when mesh is coarse is not good) $\endgroup$ Oct 2, 2018 at 23:49
-
$\begingroup$ I don't know whether libMesh supports higher order mappings (or exact mappings). $\endgroup$ Oct 3, 2018 at 3:25
-
$\begingroup$ I can get the normals of the face element at its quadrature points. The problem is about defining the normal component of the gradients at the faces if I only have their element-wise value. $\endgroup$ Oct 3, 2018 at 17:25