CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > General Forums > Main CFD Forum

Reconstruction and flux approximation in FVM

Register Blogs Community New Posts Updated Threads Search

Like Tree14Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 29, 2020, 01:02
Default Reconstruction and flux approximation in FVM
  #1
Senior Member
 
Join Date: Oct 2017
Location: United States
Posts: 233
Blog Entries: 1
Rep Power: 10
TurbJet is on a distinguished road
Hi,

I've been reviewing the basic idea of FVM. However, there are few questions that I am confused. Lets take simple 1D linear advection for example
\frac{\partial q}{\partial t} + c\frac{\partial q}{\partial x} = 0
  1. After the interpolation and obtain the values of q at the cell faces, e.g., q_{i+1/2}, we need to assemble flux. In Ferziger's book (Computational methods for fluid dynamics), he directly assemble the flux using the face values, i.e.,f_{i+1/2} = c_{i+1/2}q_{i+1/2}. However, in LeVeque's book (Finite volume method for hyperbolic problems), after the interpolation (or what he calls "reconstruction"), he still uses some numerical flux function F to approximate the time-average flux at the faces (e.g., Lax-Wendroff, Lax-Friedrichs). I am confused by LeVeque's approach: since we already know all the values at cell faces (after reconstruction), why still need the numerical flux? Why can't we directly use those values to compute the flux (like Ferziger's way)? According to LeVeque, the numerical flux is an approximation of the term F\approx\frac{1}{\Delta t}\int_{t_n}^{t_{n+1}}fdt (in which the flux f=cq for the linear advection above). But I am not sure if this is the answer to my question
  2. What exact does reconstruction (as in LeVeque's book) mean? Is it just the interpolation for obtaining the face values?
  3. According to Leveque, the solution variable is actually an approximation of the integral, i.e., \bar{q} = \int_VqdV. Is this approximation just the "piecewise constant reconstruction"?
ssh123 likes this.
TurbJet is offline   Reply With Quote

Old   January 29, 2020, 04:34
Default
  #2
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,877
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
There is no conflict between the two textbooks. Leveque explains clearly the FV formulation in Eq.(4.1)-(4.6). You have to integrate over a finite volume and integrate further in time.

In the textbook of Ferziger you have to consider the section of the FVM starting from the integral form and you will see the same formulation.
juliom likes this.
FMDenaro is online now   Reply With Quote

Old   January 29, 2020, 14:56
Default
  #3
Senior Member
 
Join Date: Oct 2017
Location: United States
Posts: 233
Blog Entries: 1
Rep Power: 10
TurbJet is on a distinguished road
Quote:
Originally Posted by FMDenaro View Post
There is no conflict between the two textbooks. Leveque explains clearly the FV formulation in Eq.(4.1)-(4.6). You have to integrate over a finite volume and integrate further in time.

In the textbook of Ferziger you have to consider the section of the FVM starting from the integral form and you will see the same formulation.
Yeah, I saw that. I am just confused, as I said, we already have face values (from interpolation), why don't we directly assemble the flux use the face value? Why we need the numerical flux?
TurbJet is offline   Reply With Quote

Old   January 29, 2020, 16:35
Default
  #4
Senior Member
 
sbaffini's Avatar
 
Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 2,192
Blog Entries: 29
Rep Power: 39
sbaffini will become famous soon enoughsbaffini will become famous soon enough
Send a message via Skype™ to sbaffini
Roughly speaking, because LeVeque has to teach the whole thing also for non linear cases and for a very large family of equations. Ferziger mostly treats linear equations (with the mass flux already given), while the determination of the mass flux is made only with a specific implementation and equation in mind. Besides this, Ferziger uses the method of lines, while LeVeque mostly doesn't.
TurbJet likes this.
sbaffini is offline   Reply With Quote

Old   January 29, 2020, 16:38
Default
  #5
Senior Member
 
Join Date: Oct 2017
Location: United States
Posts: 233
Blog Entries: 1
Rep Power: 10
TurbJet is on a distinguished road
Quote:
Originally Posted by sbaffini View Post
Roughly speaking, because LeVeque has to teach the whole thing also for non linear cases and for a very large family of equations. Ferziger mostly treats linear equations (with the mass flux already given), while the determination of the mass flux is made only with a specific implementation and equation in mind. Besides this, Ferziger uses the method of lines, while LeVeque mostly doesn't.
That makes sense. So can I presume that they are two different approaches to FVM?

Plus, is there any other higher order numerical flux? LeVeque extensively talks about Lax-Wendroff and Lax-Friedrichs, which only 2nd-order.
TurbJet is offline   Reply With Quote

Old   January 29, 2020, 17:25
Default
  #6
Member
 
Join Date: Aug 2018
Posts: 77
Rep Power: 8
vesp is on a distinguished road
Quote:
Originally Posted by TurbJet View Post
That makes sense. So can I presume that they are two different approaches to FVM?

Plus, is there any other higher order numerical flux? LeVeque extensively talks about Lax-Wendroff and Lax-Friedrichs, which only 2nd-order.


yes, read up on ENO/WENO schemes. Chi Wang Shu comes to mind...
FMDenaro likes this.
vesp is offline   Reply With Quote

Old   January 29, 2020, 19:39
Default
  #7
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,877
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
As a general rule the flux reconstrunction means:


- assuming that the averaged values Q are computed in each FV at time t0;
- considering that the derivative in time dQ/dt depends on the difference of the fluxes on the faces, the fluxes depending however on q not on Q.

- the reconstruction of the fluxes requires the time integration between t0 and t0+dt of the difference function F[q(Q)]i+1/2 -F[q(Q)]i-1/2.
- high order accuracy means you have to implement both a high order time integration and a high order reconstruction q(Q) (like in ENO/WENO/TENO).


Leveque provides many details for the one-dimensional equations (linear and non-linear) as well as for one-dimensional system of equations.

Note that an example of high order reconstruction in 2d space is illustrated in the textbook of Ferziger but you can also see as further example the original QUICK/QUICKEST schemes of Leonard.
juliom and TurbJet like this.
FMDenaro is online now   Reply With Quote

Old   January 29, 2020, 19:42
Default
  #8
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,877
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by TurbJet View Post
Yeah, I saw that. I am just confused, as I said, we already have face values (from interpolation), why don't we directly assemble the flux use the face value? Why we need the numerical flux?



No, we don't have the face values for the flux as it would require the knowledge of the pointwise function q but we know the averaged function Q. Therefore, "reconstruction" is not a simple interpolation but the introduction of an approximation for the functional relation q=q(Q).
TurbJet likes this.
FMDenaro is online now   Reply With Quote

Old   January 30, 2020, 01:21
Default
  #9
Super Moderator
 
Praveen. C
Join Date: Mar 2009
Location: Bangalore
Posts: 343
Blog Entries: 6
Rep Power: 18
praveen is on a distinguished road
If you reconstruct a unique value at each face (usually with a central stencil) then you use that to compute the flux. This would lead to central difference type schemes.

For convection dominated problems, say at high Re, you may want upwind schemes. You reconstruct two values at each face, one with a left biased stencil and another with right biased stencil. Then to compute the flux, you will need a numerical flux, which is the subject of LeVeque's book.
sbaffini and TurbJet like this.
praveen is offline   Reply With Quote

Old   January 30, 2020, 14:15
Default
  #10
Senior Member
 
Join Date: Oct 2017
Location: United States
Posts: 233
Blog Entries: 1
Rep Power: 10
TurbJet is on a distinguished road
Quote:
Originally Posted by praveen View Post
If you reconstruct a unique value at each face (usually with a central stencil) then you use that to compute the flux. This would lead to central difference type schemes.

For convection dominated problems, say at high Re, you may want upwind schemes. You reconstruct two values at each face, one with a left biased stencil and another with right biased stencil. Then to compute the flux, you will need a numerical flux, which is the subject of LeVeque's book.
Quote:
Originally Posted by FMDenaro View Post
As a general rule the flux reconstrunction means:


- assuming that the averaged values Q are computed in each FV at time t0;
- considering that the derivative in time dQ/dt depends on the difference of the fluxes on the faces, the fluxes depending however on q not on Q.

- the reconstruction of the fluxes requires the time integration between t0 and t0+dt of the difference function F[q(Q)]i+1/2 -F[q(Q)]i-1/2.
- high order accuracy means you have to implement both a high order time integration and a high order reconstruction q(Q) (like in ENO/WENO/TENO).


Leveque provides many details for the one-dimensional equations (linear and non-linear) as well as for one-dimensional system of equations.

Note that an example of high order reconstruction in 2d space is illustrated in the textbook of Ferziger but you can also see as further example the original QUICK/QUICKEST schemes of Leonard.

I went through Qiqi Wang's class at MIT (on YouTube). His explanation of reconstruction is (if I understand him correctly) "directly interpolate the flux", rather than interpolate the face value then compute the flux (as what I thought). How do you think about it?

Last edited by TurbJet; January 30, 2020 at 15:42.
TurbJet is offline   Reply With Quote

Old   January 30, 2020, 16:36
Default
  #11
Senior Member
 
Eifoehn4's Avatar
 
-
Join Date: Jul 2012
Location: Germany
Posts: 184
Rep Power: 14
Eifoehn4 is on a distinguished road
Dear all,

i am a little bit confused nobody mentioned the Riemann problem theory (exact or approximativ), which is the most intuitive way to explain finite volume methods. Not only from a mathematical point of view but also from a physical one.

If you succeed to understand what a Riemann problem is you won't have any problems to understand how finite volume methods work.

Regards
__________________
Check out my side project:

A multiphysics discontinuous Galerkin framework: Youtube, Gitlab.
Eifoehn4 is offline   Reply With Quote

Old   January 30, 2020, 17:09
Default
  #12
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,877
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by Eifoehn4 View Post
Dear all,

i am a little bit confused nobody mentioned the Riemann problem theory (exact or approximativ), which is the most intuitive way to explain finite volume methods. Not only from a mathematical point of view but also from a physical one.

If you succeed to understand what a Riemann problem is you won't have any problems to understand how finite volume methods work.

Regards

The Riemann problem at each face is one of the methods for the flux evaluation, starting from the hystorical Godunov method then developed by Roe.However, developing a high-order and multidimensional FVM based on Riemann solver is cumbersome.

Furthermore, the typical field of application of Riemann solvers is for Euler equations where singularity (shock) appears. A different field is the Navier-Stokes equations at very low Mach (or incompressible assumption) where the flux reconstruction is based on different ideas and the pressure has not thermodynamics meaning.
FMDenaro is online now   Reply With Quote

Old   January 30, 2020, 17:47
Default
  #13
Senior Member
 
Eifoehn4's Avatar
 
-
Join Date: Jul 2012
Location: Germany
Posts: 184
Rep Power: 14
Eifoehn4 is on a distinguished road
Quote:
Originally Posted by FMDenaro View Post
The Riemann problem at each face is one of the methods for the flux evaluation, starting from the hystorical Godunov method then developed by Roe.However, developing a high-order and multidimensional FVM based on Riemann solver is cumbersome.

Furthermore, the typical field of application of Riemann solvers is for Euler equations where singularity (shock) appears. A different field is the Navier-Stokes equations at very low Mach (or incompressible assumption) where the flux reconstruction is based on different ideas and the pressure has not thermodynamics meaning.
Your remarks are entirely correct.

Nevertheless, when the question arises about the motivation of the flux approximation in the context of finite volume methods then it is hard to give a vivid answer without this theory, especially if someone has not understand that the physical flux at the face boundaries is generally not unique with finite volume methods.
Note that the Riemann problem theory does not only exist for compressible flows. For example the exact Riemann problem for a scalar transport equation is the upwind flux approximation. This will give you directly an answer why a central approximation is not recommended here.

Beside the common compressible and incompressible Navier Stokes equations there exist other identical physical models which are purly hyperbolic (at least for the compressible one) and may completely be explained by the generalized Riemann theory, which does not neccessaraly be a constant initial value problem.

Regards
TurbJet and vesp like this.

Last edited by Eifoehn4; January 31, 2020 at 03:52.
Eifoehn4 is offline   Reply With Quote

Old   January 30, 2020, 17:52
Default
  #14
Senior Member
 
sbaffini's Avatar
 
Paolo Lampitella
Join Date: Mar 2009
Location: Italy
Posts: 2,192
Blog Entries: 29
Rep Power: 39
sbaffini will become famous soon enoughsbaffini will become famous soon enough
Send a message via Skype™ to sbaffini
Quote:
Originally Posted by Eifoehn4 View Post
Your remarks are entirely correct.

Nevertheless, when the question arises about the motivation of the flux approximation in the context of finite volume methods then it is hard to give a vivid answer without this theory, especially if someone has not understand that the physical flux at the face boundaries is generally not unique with finite volume methods.
Note that the Riemann problem theory does not only exist for compressible flows. For example the exact Riemann problem for a scalar transport equation is the upwind flux approximation. This will give you directly an answer why a central approximation is not recommended here.

Beside the common compressible and incompressible Navier Stokes equations there exist other identical physical models which are purly hyperbolic and may completely be explained by the generalized Riemann theory, which does neccessaraly be a constant initial value problem.

Regards
You are absolutely right as well. But I'm not sure that your line would have helped to put Ferziger approach in context. What you are basically saying is "never mind Ferziger, just follow LeVeque". Legit, but the original question mentions Ferziger explicitly.
FMDenaro likes this.
sbaffini is offline   Reply With Quote

Old   January 30, 2020, 18:06
Default
  #15
Senior Member
 
Eifoehn4's Avatar
 
-
Join Date: Jul 2012
Location: Germany
Posts: 184
Rep Power: 14
Eifoehn4 is on a distinguished road
Yes for a beginner or a more advanced CFD enthusiast i would recommend to not start with Ferziger book.
__________________
Check out my side project:

A multiphysics discontinuous Galerkin framework: Youtube, Gitlab.
Eifoehn4 is offline   Reply With Quote

Old   January 30, 2020, 18:13
Default
  #16
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,877
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by Eifoehn4 View Post
Your remarks are entirely correct.

Nevertheless, when the question arises about the motivation of the flux approximation in the context of finite volume methods then it is hard to give a vivid answer without this theory, especially if someone has not understand that the physical flux at the face boundaries is generally not unique with finite volume methods.
Note that the Riemann problem theory does not only exist for compressible flows. For example the exact Riemann problem for a scalar transport equation is the upwind flux approximation. This will give you directly an answer why a central approximation is not recommended here.

Beside the common compressible and incompressible Navier Stokes equations there exist other identical physical models which are purly hyperbolic (at least for the compressible one) and may completely be explained by the generalized Riemann theory, which does neccessaraly be a constant initial value problem.

Regards



You are right if we consider only some specific aspects of the FVM that apply only to some cases, in particular to hyperbolic problems. For example the textbook of Leveque is well suited for such field.



1) central flux reconstruction is well suited for the incompressible form of the NSE, it is quite a standard in a lot of hystorical FV codes. The momentum equation is parabolic and the continuity is hyperbolic but is solved by trasforming in the elliptic equation.

2) The use of Riemann solver in a FVM is based on a discontinuity of values between the left and right faces but that says nothing about the way the averaged function behaves within each FV. It could be piece-wise constant or linear or quadratic and so on. This part is a key in the flux reconstruction out of the Riemann problem. As you wrote, we cannot express a unique primitive function from a known averaged value.
3) developing a high order accurate FVM base on the Riemann solver (more than the simple first order upwind in the Godunov method) is quite problematic in multidimensional flows.


I think that is better to analyse differently FVM either for hyperbolic Euler equations or parabolic/elliptic NSE equations. Some standard CFD textbooks illustrates the FVM without considering at all the Riemann solver in the flux reconstruction.
TurbJet likes this.
FMDenaro is online now   Reply With Quote

Old   January 30, 2020, 18:23
Default
  #17
Senior Member
 
Filippo Maria Denaro
Join Date: Jul 2010
Posts: 6,877
Rep Power: 73
FMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura aboutFMDenaro has a spectacular aura about
Quote:
Originally Posted by Eifoehn4 View Post
Yes for a beginner or a more advanced CFD enthusiast i would recommend to not start with Ferziger book.



What book do you think is better for that?


From my experience as teacher in the CFD field is quite problematic to introduce the FVM starting with the Riemann solver-based flux reconstrution. You need first a background in gasdynamics.
FMDenaro is online now   Reply With Quote

Old   January 30, 2020, 19:30
Default
  #18
Member
 
Join Date: Aug 2018
Posts: 77
Rep Power: 8
vesp is on a distinguished road
Why would multi D Riemann solvers be important? all the FV codes I have seen in use at big conpanies just use 1D RP solvers normal to the faces...
vesp is offline   Reply With Quote

Old   January 30, 2020, 22:59
Default
  #19
Senior Member
 
Join Date: Oct 2017
Location: United States
Posts: 233
Blog Entries: 1
Rep Power: 10
TurbJet is on a distinguished road
Quote:
Originally Posted by vesp View Post
yes, read up on ENO/WENO schemes. Chi Wang Shu comes to mind...
Yeah, I know the ENO family. But from what I read (Chi-Wang Shu, ENO and WENO for hyperbolic conservation law, ICASE, 1997), under FVM framework, ENO/WENO only reconstruct the left/right face values, which still need some numerical flux to approximate the physical one. And Shu recommended 3 numerical fluxes in this paper: 1. Gudonuv flux; 2. Enquist-Osher flux; 3. Lax-Friedriches flux.

From this paper, seems like only under FDM framework will ENO/WENO directly go ahead and reconstruct the fluxes.
TurbJet is offline   Reply With Quote

Old   January 31, 2020, 04:18
Default
  #20
Senior Member
 
Eifoehn4's Avatar
 
-
Join Date: Jul 2012
Location: Germany
Posts: 184
Rep Power: 14
Eifoehn4 is on a distinguished road
Quote:
Originally Posted by FMDenaro View Post
What book do you think is better for that?


From my experience as teacher in the CFD field is quite problematic to introduce the FVM starting with the Riemann solver-based flux reconstrution. You need first a background in gasdynamics.
Yes that's maybe true, but i think it is also hard to skip this topic when someone starts to learn the finite volume theory and you have to explain him afterwards e.g. things asked by TurbJet.

In my opinion it is really helpful to introduced common finite volume
approximations along with the Riemann problem theory.

The books of Leveque and Toro are good references, but i would also suggest to use second literature, where the focus is more on numerical methods, especially for the incompressible Navier Stokes equations.

Regards
Eifoehn4 is offline   Reply With Quote

Reply

Tags
finite volume method, reconstruction scheme


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Computing the flux at an arbitrary 2D surface andy_pr OpenFOAM Programming & Development 0 August 7, 2018 15:23
How to apply heat flux at the interface when using VOF method? princekar FLUENT 0 November 15, 2015 08:47
Finite volume methods, reconstruction, etc. Nereus Main CFD Forum 9 January 31, 2012 17:12
[Commercial meshers] ST_Malloc: out of memory.malloc_storage: unable to malloc Velocity SA, cfdproject OpenFOAM Meshing & Mesh Conversion 0 April 14, 2009 16:45


All times are GMT -4. The time now is 16:45.