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

3rd-order upwind, flux formulation for limiter

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Display Modes
Old   September 4, 2011, 16:43
Default 3rd-order upwind, flux formulation for limiter
  #1
New Member
 
K
Join Date: Feb 2011
Posts: 6
Rep Power: 6
carambula is on a distinguished road
How do I reformulate formula for 3rd order upwind
(This one: \frac{2 u_{i+1} + 3 u_{i} - 6 u_{i-1} + u_{i-2}}{6 \Delta x}, lets consider positive velocity )
In flux form \frac{F_{i+1/2} - F_{i-1/2}}{\Delta x}
I want to implement flux limiter:
F = F^L-\phi(r)(F^L-F^H)
where i get following low fluxes as for the 1st order upwind
F^L_{i+1/2} = u_{i}
F^L_{i-1/2} = u_{i-1}
what should be F^H?

or do i understand the whole idea wrong?
carambula is offline   Reply With Quote

Old   September 5, 2011, 09:57
Default
  #2
New Member
 
Join Date: Aug 2011
Posts: 7
Rep Power: 6
congtuha is on a distinguished road
Quote:
Originally Posted by carambula View Post
How do I reformulate formula for 3rd order upwind
(This one: \frac{2 u_{i+1} + 3 u_{i} - 6 u_{i-1} + u_{i-2}}{6 \Delta x}, lets consider positive velocity )
In flux form \frac{F_{i+1/2} - F_{i-1/2}}{\Delta x}
I want to implement flux limiter:
F = F^L-\phi(r)(F^L-F^H)
where i get following low fluxes as for the 1st order upwind
F^L_{i+1/2} = u_{i}
F^L_{i-1/2} = u_{i-1}
what should be F^H?

or do i understand the whole idea wrong?
You should differentiate the state variable (u) from the flux variable (F). For an upwind MUSCL type, the flux limiter will act on the state variable, not on flux variable. The flux at a cell face i+1/2 can be calculated as

F_{i+1/2}=0.5[F^{R}_{i+1/2}+F^{L}_{i+1/2}-abs(\partialF/\partialu)(u^{R}_{i+1/2}-u^{L}_{i+1/2})]

The left uL and right state uR can be defined as

u^{R}_{i+1/2}=u_{i+1}-0.25\phi(r_{i+1})[(1-k)(u_{i+2}-u_{i+1})+(1+k)(u_{i+1}-u_{i})]

u^{L}_{i+1/2}=u_{i}+0.25\phi(r_{i})[(1-k)(u_{i}-u_{i-1})+(1+k)(u_{i+1}-u_{i})]
congtuha is offline   Reply With Quote

Old   September 5, 2011, 17:58
Default
  #3
New Member
 
K
Join Date: Feb 2011
Posts: 6
Rep Power: 6
carambula is on a distinguished road
Thanks a lot for your explanation!

Is that the same approach as Kurganov-Tadamor scheme from MUSCL's page in wikipedia?

It is totally unclear for me how to calculate this (\partial F / \partial u) Probably because I don't clearly get what is F for me.

As far as i understand for incompressible convection problem I have \vec{u}_t + (\vec{u} \cdot \nabla ) \vec{u} = 0 equation and \nabla \cdot \vec{u} = 0 equation, where \vec{u} = (u,v,w). From that i derive (linearized) form of the convection operator \hat{u} u_x + \hat{v}u_y + \hat{w}u_z (for 1st component) where \vec{\hat{u}} = (\hat{u},\hat{v},\hat{w}) is fixed.

Now for MUSCL I should consider convection equation in the following form \vec{u}_t + F_x(u) + G_y(v) + H_z(w) = 0 where F = (\hat{u} u, \hat{v} u, \hat{w} u) Then \partial F / \partial u = (\hat{u},\hat{v},\hat{w})? Is that it?
carambula is offline   Reply With Quote

Old   September 6, 2011, 01:20
Default
  #4
New Member
 
Join Date: Aug 2011
Posts: 7
Rep Power: 6
congtuha is on a distinguished road
Quote:
Originally Posted by carambula View Post
Thanks a lot for your explanation!

Is that the same approach as Kurganov-Tadamor scheme from MUSCL's page in wikipedia?

It is totally unclear for me how to calculate this (\partial F / \partial u) Probably because I don't clearly get what is F for me.

As far as i understand for incompressible convection problem I have \vec{u}_t + (\vec{u} \cdot \nabla ) \vec{u} = 0 equation and \nabla \cdot \vec{u} = 0 equation, where \vec{u} = (u,v,w). From that i derive (linearized) form of the convection operator \hat{u} u_x + \hat{v}u_y + \hat{w}u_z (for 1st component) where \vec{\hat{u}} = (\hat{u},\hat{v},\hat{w}) is fixed.

Now for MUSCL I should consider convection equation in the following form \vec{u}_t + F_x(u) + G_y(v) + H_z(w) = 0 where F = (\hat{u} u, \hat{v} u, \hat{w} u) Then \partial F / \partial u = (\hat{u},\hat{v},\hat{w})? Is that it?
It is wrong! Remember that it is always a square matrix! You can learn how to derive this matrix by taking a look at some CFD books such as CFD Volume 1 (chapter 8, pp 317), CFD Volume 2 (chapter 11) by Hoffman and Chiang. You can download these books at

https://www.yousendit.com/download/M...WkJVVGxFQlE9PQ (Vol. 1)
https://www.yousendit.com/download/M...UnFRR2RFQlE9PQ (Vol. 2)

Also, for more information about Upwind schemes:

R. C. Swanson. and E. Turkel "ON CENTRAL-DIFFERENCE AND UPWIND SCHEMES"
ftp://124.42.15.59/ck/2011-03/165/00...%20schemes.pdf

Brain van Lee: "PROGRESS IN MULTI-DIMENSIONAL UPWIND DIFFERENCING"
http://ntrs.nasa.gov/archive/nasa/ca...1993001620.pdf

cheers!

Last edited by congtuha; September 6, 2011 at 03:50.
congtuha is offline   Reply With Quote

Old   September 6, 2011, 05:52
Default
  #5
New Member
 
K
Join Date: Feb 2011
Posts: 6
Rep Power: 6
carambula is on a distinguished road
Sorry, my bad, \vec{F} = (\hat{u} u, \hat{u} v, \hat{u} w) and \partial \vec{F} / \partial \vec{u} = diag(\hat{u},\hat{u},\hat{u}). The same reasoning for H and G.
Is that one is ok?

As far as I understand from your first reply, I'd better to go with Kurganov-Tadamor rather then upwind scheme. Could you also recommend me which one is less diffusive: KT or TVD MacCormack?

Thanks a lot for links!
carambula is offline   Reply With Quote

Old   September 6, 2011, 07:20
Default
  #6
New Member
 
Join Date: Aug 2011
Posts: 7
Rep Power: 6
congtuha is on a distinguished road
Quote:
Originally Posted by carambula View Post
Sorry, my bad, \vec{F} = (\hat{u} u, \hat{u} v, \hat{u} w) and \partial \vec{F} / \partial \vec{u} = diag(\hat{u},\hat{u},\hat{u}). The same reasoning for H and G.
Is that one is ok?

As far as I understand from your first reply, I'd better to go with Kurganov-Tadamor rather then upwind scheme. Could you also recommend me which one is less diffusive: KT or TVD MacCormack?

Thanks a lot for links!
As far as I knew, KT scheme can actually be classified as a modified upwind MUSCL type in which they use a scalar dissipation (the spectral radius of convective flux Jacobian matrix)

It is easy to construct your numerical solution with this scheme. However if you dealt with the boundary layer, the boundary layer seems too big. To improve the accuracy, you should use matrix dissipation

I have tested the upwind MUSCL type and upwind NON-MUSCL type (say TVD scheme - see the Reference below!) with various limiter functions for linear advection equations and inviscid Burgers’ equation. (If you are interested in these comparisons just past your email address here).
Limiter functions play the key role for upwind schemes. Be careful with the choice of limiter function! You might get non-physical results if you do not pick up the suitable limiter for your problem.
I also applied the upwind MUSCL type and upwind TVD to the solution of RANS for two-phase and three-phase mixture flows. The upwind TVD with limiter 9d (see ref.) gave the best accuracy and numerical stability.

I can only share some of my experience on the upwind scheme here. I hope it help for your choice.

Cheers!
Ref.
Yeeh et al. “High-Resolution Shock-Capturing Schemes for Inviscid and Viscous Hypersonic Flows”
http://ntrs.nasa.gov/archive/nasa/ca...1988013267.pdf

Last edited by congtuha; September 6, 2011 at 14:10.
congtuha is offline   Reply With Quote

Old   September 6, 2011, 15:41
Default
  #7
New Member
 
K
Join Date: Feb 2011
Posts: 6
Rep Power: 6
carambula is on a distinguished road
Yes, interested! Thanks a lot, really appreciate your help!
кirill.terehоv@gмail.сом

Last edited by carambula; September 9, 2011 at 18:07.
carambula is offline   Reply With Quote

Reply

Thread Tools
Display Modes

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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
2nd order upwind vs 2nd order upwind!!! Far Main CFD Forum 7 March 14, 2013 13:29
Second order upwind is not UPwind!!! Far CFX 9 May 31, 2011 08:21
2nd order upwind scheme (Fluent and CFX) Far FLUENT 0 May 22, 2011 01:50
Changing LimitedLinear to blend with 2nd order upwind instead of 1st order upwind stevenvanharen OpenFOAM Programming & Development 0 April 11, 2011 05:54
Aerospike flow 3rd order dim_slo FLUENT 1 April 5, 2011 22:25


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