CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   Main CFD Forum (https://www.cfd-online.com/Forums/main/)
-   -   Roe flux scheme, why Roe's averages important (https://www.cfd-online.com/Forums/main/107959-roe-flux-scheme-why-roes-averages-important.html)

Shenren_CN October 10, 2012 09:16

Roe flux scheme, why Roe's averages important
 
Dear colleagues,

Could anyone please explain to me or point me to some reference on
why Roe's averages are so important in Roe flux scheme. A simple
question I have is what happens if I simply take the arithmetic average
or geometric average of the left and right state, instead of strictly
follow the Roe's average formulation.

In fact, I remember I read in Fluent's manual that the Roe's scheme
implemented therein uses simple arithmetic average, don't know why.
Couldn't find the link now, so Fluent folks, forgive me if this is not true.

I read Roe's original paper but constantly find myself lost, mainly due
to my poor command of mathematics.

Regards,
Shenren

Shenren_CN October 11, 2012 21:50

Found two references online from people that I think know what they are talking about. Hope this can be of help to someone asking the same question.

1) From him (http://www.ita.uni-heidelberg.de/~dullemond/index.shtml)

https://docs.google.com/viewer?a=v&q...Ec3Sn1lZcrYI1g

2) From him (http://www.hiroakinishikawa.com/)

http://www.cfdnotes.com/cfdnotes_roe...d_density.html





Quote:

Originally Posted by Shenren_CN (Post 385953)
Dear colleagues,

Could anyone please explain to me or point me to some reference on
why Roe's averages are so important in Roe flux scheme. A simple
question I have is what happens if I simply take the arithmetic average
or geometric average of the left and right state, instead of strictly
follow the Roe's average formulation.

In fact, I remember I read in Fluent's manual that the Roe's scheme
implemented therein uses simple arithmetic average, don't know sure.
Couldn't find the link now, so Fluent folks, forgive me if this is not true.

I read Roe's original paper but constantly find myself lost, mainly due
to my poor command of mathematics.

Regards,
Shenren


francesco_capuano October 12, 2012 03:26

Quote:

Originally Posted by Shenren_CN (Post 385953)
Dear colleagues,

Could anyone please explain to me or point me to some reference on
why Roe's averages are so important in Roe flux scheme. A simple
question I have is what happens if I simply take the arithmetic average
or geometric average of the left and right state, instead of strictly
follow the Roe's average formulation.

In fact, I remember I read in Fluent's manual that the Roe's scheme
implemented therein uses simple arithmetic average, don't know why.
Couldn't find the link now, so Fluent folks, forgive me if this is not true.

I read Roe's original paper but constantly find myself lost, mainly due
to my poor command of mathematics.

Regards,
Shenren

You can find a very nice answer to your question in the book "Finite-volume methods for hyperbolic problems", by R.J. Leveque, pages 315-320.

In a few words, if one replaces the nonlinear problem dq/dt + df(q)/dx with a linearized Riemann problem at each interface, dq/dt + A*dq/dx, then a problem arises in defining the Jacobian A. A natural choice could be

A = f'(qavg), where f' = df/dq

One could simply use qavg = 0.5(qr + ql), averaging right and left states (as Fluent does). For some problems, however (e.g. Euler equations, shallow water equations, ...), a special average value exists for which a number of "nice" properties are satisfied - and that's why Roe's average is important.

In some way, the idea is more or less the same of using the mean value theorem between right and left states - although I'm not sure about the mathematical formalism for this.

Shenren_CN October 12, 2012 07:10

Ciao Francesco,

Could you please elaborate a little bit more on the 'nice' properties of Roe's averages and why those properties are important to a good simulation? You see, my question is exactly why the Roe's averages are superior than using the arithmetic average, which as you confirmed, is what Fluent does.

I'll read the book you recommended. Thank you!

Shenren

Quote:

Originally Posted by francesco_capuano (Post 386234)
You can find a very nice answer to your question in the book "Finite-volume methods for hyperbolic problems", by R.J. Leveque, pages 315-320.

In a few words, if one replaces the nonlinear problem dq/dt + df(q)/dx with a linearized Riemann problem at each interface, dq/dt + A*dq/dx, then a problem arises in defining the Jacobian A. A natural choice could be

A = f'(qavg), where f' = df/dq

One could simply use qavg = 0.5(qr + ql), averaging right and left states (as Fluent does). For some problems, however (e.g. Euler equations, shallow water equations, ...), a special average value exists for which a number of "nice" properties are satisfied - and that's why Roe's average is important.

In some way, the idea is more or less the same of using the mean value theorem between right and left states - although I'm not sure about the mathematical formalism for this.


francesco_capuano October 12, 2012 08:52

Quote:

Originally Posted by Shenren_CN (Post 386254)
Ciao Francesco,

Could you please elaborate a little bit more on the 'nice' properties of Roe's averages and why those properties are important to a good simulation? You see, my question is exactly why the Roe's averages are superior than using the arithmetic average, which as you confirmed, is what Fluent does.

I'll read the book you recommended. Thank you!

Shenren

Hi Shenren,

unfortunately a comprehensive answer to your question needs a detailed mathematical formulation, which you can find in the above-mentioned book. In simple words, use of arithmetic average would result in a spurious behaviour near shocks, which on the contrary would be well-resolved using Roe's average - see Figure 15.2 from Leveque's book. This is a consequence of some mathematical constraints which are violated using a simple average.

Unfortunately, for practical problems a Roe linearization is not available and many solvers (e.g. Fluent) use arithmetic average (which, however, works well in regions where the flow is smooth).

Hope this helps,
Francesco

Shenren_CN October 12, 2012 09:04

Hi Francesco,

1) I'm reading the book you recommended and as you explained, the superiority of Roe averages indeed is much more evident when there's large gradient in the flow, such as shocks. No wonder Roe scheme is known for shock capturing.

2) I thought Fluent uses a simple average only because of its simplicity. In what circumstance would Roe's linearisation be not available? Could you give one or two simple examples? In that case, what shall we do for shock-capturing in those cases then?

Regards,
Shenren

Quote:

Originally Posted by francesco_capuano (Post 386279)
Hi Shenren,

unfortunately a comprehensive answer to your question needs a detailed mathematical formulation, which you can find in the above-mentioned book. In simple words, use of arithmetic average would result in a spurious behaviour near shocks, which on the contrary would be well-resolved using Roe's average - see Figure 15.2 from Leveque's book. This is a consequence of some mathematical constraints which are violated using a simple average.

Unfortunately, for practical problems a Roe linearization is not available and many solvers (e.g. Fluent) use arithmetic average (which, however, works well in regions where the flow is smooth).

Hope this helps,
Francesco


francesco_capuano October 12, 2012 14:02

Quote:

Originally Posted by Shenren_CN (Post 386282)

2) I thought Fluent uses a simple average only because of its simplicity. In what circumstance would Roe's linearisation be not available? Could you give one or two simple examples?

I agree that Fluent uses simple average due to its simplicity, also because the exact form of Roe's linearization depends on the specific nonlinear problem to be solved - and Fluent can solve multiple problems. Actually I'm not really sure about cases in which it is not formally possible to derive a Roe-like average: I was thinking about real-gas mixtures or reacting flows, but - at first glance - it seems from literature that some work has been done in this direction too... maybe other people from the forum can give us a clue.

Quote:

Originally Posted by Shenren_CN (Post 386282)

In that case, what shall we do for shock-capturing in those cases then?

Roe's linearization is not the only way to achieve satisfactory shock-capturing. Many other numerical schemes (e.g., flux-vector splitting schemes, central schemes with ad-hoc dissipation, as well as higher-order schemes, etc.) are available which can provide good results - you can find an enormous amount of literature about that, depending on your specific application.

As a general consideration, however, I think you should ask yourself about the real importance of numerical accuracy in your activity: if you are doing "engineering" work, and you are concerned with global properties of the flow (let's say, drag coefficient, heat flux, etc.), then I wouldn't be too worried about the details of the flux scheme - just try to achieve a solution which is grid- and scheme-independent and very good confidence would be placed in your results. On the other hand, a very different situation arises if you are doing scientific work, then numerical accuracy becomes a primary issue... but that is just my two cents :D

Regards,
Francesco

SergeAS October 14, 2012 09:44

Keep in mind that Roe averaging dramatically slower than simple linear averaging

Shenren_CN October 14, 2012 10:24

Hi SergeAS,

I admit that Roe averaging is more costly then linear averaging.
But is it really dramatically slower? I thought the most costly part
is the wave amplitude \times the wave speed, i.e., |A|\cdot \delta_w.
But I may be wrong, it's just that your argument is not apparent to me.

Regards,
Shenren

Quote:

Originally Posted by SergeAS (Post 386534)
Keep in mind that Roe averaging dramatically slower than simple linear averaging


immortality April 19, 2013 14:26

Hi
Is rhoPimpleFoam in OpenFOAM appropriate to capturing of shock wave?
does Roe term is div(phi,U)?


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