|
[Sponsors] |
March 23, 2015, 15:54 |
Flux Limiter and Interpolation Scheme
|
#1 |
Member
Paolo Capobianchi
Join Date: Sep 2014
Posts: 35
Rep Power: 12 |
Dear All,
I have been working for a while on the implementation of a new FLux Limiter in OpneFOAM, and after some attempts it seems that I found they way to do that. I have compiled it and it seems that it works properly (at least it allowed me to get reasonable results). However, I have a doubt, tthus I would ask if someone could be so kind to help me. I know that a flux limiter can be seen as a function that allows a "blended" scheme to behave like an UD scheme or like a HR scheme in different region of the flow field depending on the particular conditions in the flow field itself. In principle (I guess), the HR scheme could be whatever you want, but in my case I need to use the QUICK scheme of Leonard with a particular limiter. Is it possible to specify this scheme in the field "interpolationScheme" into the "fvScheme" of the case? (I tried but it seems that it does not work. Probably I used wrong settings) Does anyone know what is the default HR scheme? Maybe the linear? Thank you very much in avantage! Paolo |
|
March 24, 2015, 08:28 |
|
#3 |
Member
Paolo Capobianchi
Join Date: Sep 2014
Posts: 35
Rep Power: 12 |
Hi Tushar,
Thanks a lot for the reply! In practice, my problem is the following. The flux at the cell face can be calculated as: (phi)f = (phi)_UD + psi(r)*[(phi)_HR + (phi)_UD] where (phi)_HR is the flux at the face "f" evaluated whit a Higher Order scheme, which in my case should be the QUICK scheme, and psi(r) is the flux limiter that I have added on my version of OpenFOAM. by considering what you said, I am not allowed to use a QUICK scheme for the interpolation at the cell face? However I am a bit confised. In fact, I had have a read to to an article in OpenFOAM Wiki, and I found the this: The surfaceInterpolation classes implemented in the finite volume library perform interpolation from volume fields to face fields, a critical calculation in the discretization process for the finite volume method, particularly for co-located meshes, as is used by OpenFOAM. OpenFOAM implements dozens of different schemes for this operation. This kind of interpolation is denoted: Notation used by Marupio in this wiki 1 Schemes The schemes are selected in the fvSchemes file, and loaded using runTime selection. There are more than fifty schemes available in OpenFOAM-extend, including:
Does anyone have any suggestion? Thanks a lot! Paolo |
|
March 25, 2015, 00:31 |
|
#4 |
Senior Member
|
Refer the following
http://www.openfoam.org/docs/user/fvSchemes.php check out section 4.4.5, you can apply the above said scheme as: Code:
div(phi,U) Gauss QUICK; For more information refer the cfd-online post (I guess you know this): http://www.cfd-online.com/Forums/ope...nder-hood.html - Best Luck! Last edited by Tushar@cfd; March 25, 2015 at 01:58. Reason: Added line |
|
March 25, 2015, 07:06 |
|
#5 | |
Member
Paolo Capobianchi
Join Date: Sep 2014
Posts: 35
Rep Power: 12 |
Hi Tushar,
Thanks again for helping me! I am afraid that when you specify "Gauss QUICK" on the fvSchemes dictionary, you are actually specifying the QUICK limiter. I have been looking for a long time the QUICK scheme inside OpenFOAM and the only files I found about it are actually inside the following foleder: src/fiiteVolume/interpolation/surfaceInterpolation/limitedSchemes/QUICK on which there are two files: QUICK.H and QUICK.C I am pretty sure that those files define the QUICK flux limiter and not the quadratic interpolation scheme. In fact as you can see here: Quote:
See also here for reference: http://en.wikipedia.org/wiki/Flux_limiter My goal is to specify a limiter in this way: PHP Code:
Thanks a lot for your time and your kindness! Best Wishes, Paolo |
||
November 30, 2016, 15:21 |
|
#6 |
Member
Mohamed Elghorab
Join Date: May 2016
Location: Coventry, Engalnd
Posts: 41
Rep Power: 10 |
Dear pablitobass,
If you please, I'm trying to use the blended scheme but every time iput into the interpolation scheme I get eror so is there is any specific method to write it? and what is the relation between it and the divschemes? Thanks in advance |
|
December 2, 2016, 18:06 |
|
#7 |
Member
Paolo Capobianchi
Join Date: Sep 2014
Posts: 35
Rep Power: 12 |
Hi crazzy.pirate,
I am afraid I did not really undestand your question. Could you be a bit more precise? However, to my knowledge, when you define the entries in the divergence scheme you have two choices; 1. divergence of a non-advective term, 2. divergence of an advective term The way they are defined is different. In the first case, if you have any vector or tensor field F, you have to use the following sintax div(F) Gauss linear; which means that you are using a Gauss integration and a linear interpolation scheme to evaluate the field F at the cell faces. In the second case, considering once again the field F, your entries will be div(phi, F) Gauss <selected_interpolation_scheme>; In this case you have a variety of options to chose which includes blended and limited schemes. Hope it helps. Paolo Last edited by pablitobass; December 2, 2016 at 21:52. |
|
December 2, 2016, 20:07 |
|
#8 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,291
Rep Power: 35 |
Quote:
(phi)f = (phi)_UD + psi(r)*[(phi)_HR - (phi)_UD] |
||
December 2, 2016, 21:48 |
|
#9 | |
Member
Paolo Capobianchi
Join Date: Sep 2014
Posts: 35
Rep Power: 12 |
Quote:
psi(r)=0 the previous formula returns the flux calculated with the upwind scheme. On the contrary, when psi(r)=1 it returns the flux calculated just with the higher order scheme. If you think there is an error, colud you please point it out? Thanks! Paolo |
||
December 3, 2016, 01:50 |
|
#10 | |
Senior Member
Arjun
Join Date: Mar 2009
Location: Nurenberg, Germany
Posts: 1,291
Rep Power: 35 |
Quote:
When I wrote i though limiter to be this blending. This is why I pointed out. If you have other behavior in mind that i mistook what you wrote. |
||
December 3, 2016, 14:15 |
|
#11 |
Member
Mohamed Elghorab
Join Date: May 2016
Location: Coventry, Engalnd
Posts: 41
Rep Power: 10 |
Dear Pablitobass,
Thanks a lot for quick reply. The problem that in my case there is no non-advective terms but however, is it right that all the non-advective terms take (Gauss linear) as interpolation scheme. On the other hand, for the advective terms the selected interpolation scheme wich you refered to has to be the same like that one in the interpolation scheme itself or not? Thanks for your help |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
vanalbada limiter | yeharav | OpenFOAM Programming & Development | 2 | May 15, 2014 10:21 |
cubic and limitedCubic scheme reference | vkrastev | OpenFOAM Running, Solving & CFD | 1 | May 29, 2012 10:04 |
Problem with Surface Interpolation | glaspina | OpenFOAM Programming & Development | 0 | January 26, 2012 05:42 |
Interpolation Schemes and Limiters | mchurchf | OpenFOAM Running, Solving & CFD | 3 | November 17, 2009 00:48 |
Deciphering interpolation scheme implementation | alberto | OpenFOAM Running, Solving & CFD | 0 | March 13, 2008 22:18 |