CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM

References for the limitedLinear scheme

Register Blogs Community New Posts Updated Threads Search

Like Tree1Likes
  • 1 Post By tsimon

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   March 13, 2006, 11:27
Default Hello, where can I find refer
  #1
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Hello,
where can I find references for the limitedLinear scheme to cite in a paper?

Thanks in advance,
Alberto
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   March 13, 2006, 14:04
Default There is no printed reference
  #2
Senior Member
 
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 26
mattijs is on a distinguished road
There is no printed reference but it is Henry's application of the Sweby limiter to central differencing.
mattijs is offline   Reply With Quote

Old   March 13, 2006, 18:57
Default Thanks Mattijs. Alberto
  #3
Senior Member
 
Alberto Passalacqua
Join Date: Mar 2009
Location: Ames, Iowa, United States
Posts: 1,912
Rep Power: 36
alberto will become famous soon enoughalberto will become famous soon enough
Thanks Mattijs.

Alberto
__________________
Alberto Passalacqua

GeekoCFD - A free distribution based on openSUSE 64 bit with CFD tools, including OpenFOAM. Available as in both physical and virtual formats (current status: http://albertopassalacqua.com/?p=1541)
OpenQBMM - An open-source implementation of quadrature-based moment methods.

To obtain more accurate answers, please specify the version of OpenFOAM you are using.
alberto is offline   Reply With Quote

Old   September 7, 2006, 10:42
Default After looking into the code I
  #4
New Member
 
Steffen Jahnke
Join Date: Mar 2009
Posts: 14
Rep Power: 17
steja is on a distinguished road
After looking into the code I found in limitedLinear.H:
...
return max(min(twor, 1), 0);
...
with "twor" beeing equal to 2*r for default setup, e.g. "div(phi,B) Gauss limitedLinear 1;".
For me this limiter looks very similar to the minmod limiter instead of the factor 2:
minmod: return max(min(r,1),0);
The Sweby limiter reads max(0,max(min(beta*r,1),min(beta,r))).
I wondering why this modified limiter is used because due to the factor 2 it lies on the opposite limit (lower left) compared to the minmod in the Sweby diagram.
steja is offline   Reply With Quote

Old   February 27, 2008, 13:22
Default Hello everyone. As a newcom
  #5
New Member
 
nicasch
Join Date: Mar 2009
Posts: 23
Rep Power: 17
nicasch is on a distinguished road
Hello everyone.

As a newcomer I have two concrete questions concerning two div-schemes:
- Gauss limitedLinearV 1 and
- Gauss interfaceCompression.

I suppose that the interfaceCompression scheme does some blending between UD and CD, based on the blending factor (limiter) calculated according to either quartic or quadratic formula. Is this true? Or where is the limiter for this scheme used?

In limitedLinearV, I suppose that it is a kind of limited CD, but how is the scheme limited? Where is the limiter for this scheme used?

Is there any written text about these two schemes, or can anyone shortly explain me how they work?

Many thanks in advance, best regards.
nicasch is offline   Reply With Quote

Old   March 1, 2013, 07:55
Default
  #6
New Member
 
Simon Tornros
Join Date: Aug 2012
Posts: 2
Rep Power: 0
tsimon is on a distinguished road
(sorry for bumping this old thread)

Why does the limiter in limitedLinear look like

max(min(twoByk_*r, 1), 0);

with twoByk_ = 2/k_ where 0 < k <1

when Sweby limiter is max(0,min(beta*r,1), min(r,beta)) with 1 < beta <2 ?

From what I can see this is not the same.
acgnipper likes this.

Last edited by tsimon; March 1, 2013 at 08:00. Reason: miscalculation..
tsimon is offline   Reply With Quote

Old   March 12, 2013, 11:18
Default
  #7
New Member
 
Robin Debroux
Join Date: Oct 2012
Posts: 22
Rep Power: 14
robdeb is on a distinguished road
Quote:
Originally Posted by tsimon View Post
(sorry for bumping this old thread)

Why does the limiter in limitedLinear look like

max(min(twoByk_*r, 1), 0);

with twoByk_ = 2/k_ where 0 < k <1

when Sweby limiter is max(0,min(beta*r,1), min(r,beta)) with 1 < beta <2 ?

From what I can see this is not the same.
Hello,

I'm working with limitedLinear and I'm also trying to understand the limiter.
Have you found any informations about it?

Thank you.
robdeb is offline   Reply With Quote

Old   May 13, 2013, 11:18
Default
  #8
Member
 
Join Date: Mar 2013
Posts: 98
Rep Power: 13
giack is on a distinguished road
Hi to all,
I'm working with this limiter too and I would know if anybody found some information about it.

Thank to all
giack is offline   Reply With Quote

Old   May 21, 2014, 23:02
Default
  #9
Member
 
Eric Robertson
Join Date: Jul 2012
Posts: 95
Rep Power: 15
msuaeronautics is on a distinguished road
I think the twoByk_ term is just a calibrated term (i.e. a construct) that best suits what the limitedLinear scheme in OF is attempting to accomplish. I think it's to help place even more weight on higher-order differencing (in this case, central differencing vs upwind).

If you were to go through Jasak's thesis (pp. 98-99) and go back to theory, one could see that this method is actually pretty effective in enforcing either central differencing or upwinding based on the user-input (k).

One could actually show that, for a given ratio of successive gradients ("r"), inputting a low value of k (i.e. 0.1) would give more weight to central differencing, whereas a larger value (i.e. 0.8) places more emphasis on upwinding. I've also tried with beta values (1 < beta < 2) and the behavior is actually quite different. As such, I will have to conduct further studies.

Also, just hypothetically speaking, I don't think there would be any difference between:

Code:
max(min(twoByk_*r, 1), 0)
and

Code:
max(0,min(twoByk_*r,1), min(r,twoByk_))
which would explain why (if my thought processes are anywhere near correct) the limiter is written the first way.
msuaeronautics is offline   Reply With Quote

Old   May 22, 2014, 01:46
Default
  #10
Senior Member
 
T. Chourushi
Join Date: Jul 2009
Posts: 321
Blog Entries: 1
Rep Power: 18
Tushar@cfd is on a distinguished road
Are You Sure about this?
Tushar@cfd is offline   Reply With Quote

Old   May 22, 2014, 01:56
Default
  #11
Member
 
Eric Robertson
Join Date: Jul 2012
Posts: 95
Rep Power: 15
msuaeronautics is on a distinguished road
Quote:
Originally Posted by Tushar@cfd View Post
Are You Sure about this?
It is more of a thought experiment that warrants a better look.
msuaeronautics is offline   Reply With Quote

Old   May 22, 2014, 05:23
Default
  #12
Senior Member
 
T. Chourushi
Join Date: Jul 2009
Posts: 321
Blog Entries: 1
Rep Power: 18
Tushar@cfd is on a distinguished road
Hello All,

I have some doubts with the representation of the following schemes in OpenFOAM. I asked this question here because it seems many of you are working on these.

(1)
Code:
default limitedLinear 1.0 phi;
What does "1.0 & phi" signifies? How it is related to the scheme?

(2)
Code:
default limitedVanLeer -2.0 3.0;
What is meant by "-2.0 & 3.0"? How come it is starting from "-2.0" and ending at "3.0"? How these numbers are determined? How it is related to the scheme?

Tushar@cfd is offline   Reply With Quote

Old   July 17, 2014, 05:52
Default
  #13
New Member
 
Marvin
Join Date: Jan 2014
Posts: 11
Rep Power: 12
Marvin_Rauch is on a distinguished road
Quote:
Originally Posted by steja View Post
After looking into the code I found in limitedLinear.H:
...
return max(min(twor, 1), 0);
...
with "twor" beeing equal to 2*r for default setup, e.g. "div(phi,B) Gauss limitedLinear 1;".
For me this limiter looks very similar to the minmod limiter instead of the factor 2:
minmod: return max(min(r,1),0);
The Sweby limiter reads max(0,max(min(beta*r,1),min(beta,r))).
I wondering why this modified limiter is used because due to the factor 2 it lies on the opposite limit (lower left) compared to the minmod in the Sweby diagram.
In the OpenFOAM Users Guide limitedLinear is said to be a TVD scheme. But by definition it is only TVD for k =1, otherwise it is not in the region of the psi -r diagram. Did I miss something or is the limiter not TVD?

Thanks for any help
Marvin_Rauch is offline   Reply With Quote

Old   July 23, 2014, 01:51
Default
  #14
Senior Member
 
T. Chourushi
Join Date: Jul 2009
Posts: 321
Blog Entries: 1
Rep Power: 18
Tushar@cfd is on a distinguished road
Quote:
Originally Posted by Marvin_Rauch View Post
In the OpenFOAM Users Guide limitedLinear is said to be a TVD scheme. But by definition it is only TVD for k =1, otherwise it is not in the region of the psi -r diagram. Did I miss something or is the limiter not TVD?

Thanks for any help
Hello,

It is TVD for any of the value ranging from 0 to 1. But, the order of accuracy decrease as the k value decrease (i.e., less than 1). For k =1, it is most accurate.

I hope it cleared your doubt.

-
Best Luck!
Tushar@cfd is offline   Reply With Quote

Old   July 24, 2014, 06:20
Default
  #15
New Member
 
Marvin
Join Date: Jan 2014
Posts: 11
Rep Power: 12
Marvin_Rauch is on a distinguished road
Tushar,
Looking at Versteeg p. 168:
Sweby (1984) has given necessary and sufficient conditions for a scheme to be TVD in terms of the r − ψ relationship:
• If 0<r<1 the upper limit is ψ(r)=2r, so for TVD schemes ψ®≤2r
• If r≥1 the upper limit is ψ(r)=2, so for TVD schemes ψ(r)≤2

but twor is greater 2 which wouldn't satisfy the first criteria. Can you give some reference for you're statement?

Thanks

Marvin
Quote:
Originally Posted by Tushar@cfd View Post
Hello,

It is TVD for any of the value ranging from 0 to 1. But, the order of accuracy decrease as the k value decrease (i.e., less than 1). For k =1, it is most accurate.

I hope it cleared your doubt.

-
Best Luck!
Marvin_Rauch is offline   Reply With Quote

Old   July 24, 2014, 09:26
Default
  #16
Senior Member
 
T. Chourushi
Join Date: Jul 2009
Posts: 321
Blog Entries: 1
Rep Power: 18
Tushar@cfd is on a distinguished road
Marvin,

Did you read it thoroughly before commenting? Anyways, If you re-read the same page no. 168-169 of the mentioned ebook it will clear your doubt.

I have attached a file of the same book with marked lines of page no. 168, which clears explains the TVD region.

Please find attached note with this comment.

-
Best Regards!
Attached Images
File Type: jpg Shaded_TVD_region.jpg (25.8 KB, 315 views)
Tushar@cfd is offline   Reply With Quote

Old   September 8, 2014, 05:38
Default
  #17
New Member
 
Marvin
Join Date: Jan 2014
Posts: 11
Rep Power: 12
Marvin_Rauch is on a distinguished road
Quote:
Originally Posted by Tushar@cfd View Post
Hello,

It is TVD for any of the value ranging from 0 to 1. But, the order of accuracy decrease as the k value decrease (i.e., less than 1). For k =1, it is most accurate.

I hope it cleared your doubt.

-
Best Luck!
Some TVD/NVD schemes require a coefficient ψ,0 ≤ ψ ≤ 1 where ψ = 1 corresponds to TVD conformance, usually giving best convergence and ψ = 0 corresponds to best accuracy. Running with ψ = 1 is generally recommended.
(compare http://www.openfoam.org/docs/user/fvSchemes.php)

--> For k = 1 it is most stable. For k = 0 it is most accurate.

Sorry I didn't put that right earlier.

Further do I still not see why limitedLinear is TVD.

sourcecode: return max(min(twoByk_*r,1),0); (1)

If I draw that function (1) for k = 0.5 that is definitely not in the shaded region marked in verteeg for k <1. It demands that twoByk_ < 2.

Marvin_Rauch is offline   Reply With Quote

Old   September 30, 2014, 21:23
Default
  #18
New Member
 
Gecamp
Join Date: Oct 2010
Posts: 13
Rep Power: 16
desmoge is on a distinguished road
Hi Marvin,
I might be wrong here, but I think that the way the limiter has been implemented allows the scheme to behave as a TVD. In fact, with k=1, your limiter will be ψ(r) = 2*r. (as long as 2*r < 1). Conversely, with k = 0 (which means == SMALL), your ψ(r) becomes somethingBIG*r. This is most likely >> 1 and 'the switch' will choose ψ(r) = 1 as limiter. When such thing occurs, you are using pure CD to interpolate phi values on the internal faces.

Since I believe that the value r = (Phi_C - Phi_U)/(Phi_D - Phi_C) changes during the run, I expect the limiter ψ(r) to do the same. By choosing k = 1, one just increases the possibility to include in the interpolation process some UD diffusivity, I think.
desmoge is offline   Reply With Quote

Reply


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
Help!explicit multistage scheme with upwind scheme D .T. Main CFD Forum 1 June 4, 2003 04:42
References Lego Main CFD Forum 0 February 26, 2002 10:57
References on DNS/LES J. Xia Main CFD Forum 5 April 6, 2001 12:28
references sundar Main CFD Forum 1 June 21, 2000 13:47
References for MacCormack scheme L Srinivasa Mohan Main CFD Forum 1 March 10, 2000 14:45


All times are GMT -4. The time now is 08:34.