CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > OpenFOAM Running, Solving & CFD

SMALL, GREAT and ROOTVSMALL - what is that?

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

Sponsored Links

Like Tree7Likes
  • 7 Post By Lieven

Reply
 
LinkBack Thread Tools Display Modes
Old   July 18, 2013, 17:18
Default SMALL, GREAT and ROOTVSMALL - what is that?
  #1
New Member
 
Thomas F.
Join Date: Jun 2013
Location: Graz, Austria
Posts: 14
Rep Power: 6
Dommy is on a distinguished road
Sponsored Links
Dear Foamers!

I'm working on Euler/Lagrange validation cases at the moment.
While looking into Disoersion Models I discoverd something in the Code - SMALL, GREAT and ROOTVSMALL.

Some examples (from /openfoam211/src/lagrangian/intermediate/submodels/Kinematic/DispersionModel/GradientDispersionRAS/GradientDispersionRAS.C)

Code:
 
scalar sigma = sqrt(2.0*k/3.0);
vector dir = -gradk/(mag(gradk) + SMALL);
Code:
 else
    {
        tTurb = GREAT;
        UTurb = vector::zero;
    }
Code:
const scalar epsilon =
        this->epsilonPtr_->internalField()[cellI] + ROOTVSMALL;
    const vector& gradk = this->gradkPtr_->internalField()[cellI];
In order to completly understand what I'm doing I need to know what this model is doing. Thanks a lot in advance!

Best,
Thomas
Dommy is offline   Reply With Quote
Sponsored Links

Old   July 18, 2013, 17:31
Default
  #2
Senior Member
 
Lieven
Join Date: Dec 2011
Location: Leuven, Belgium
Posts: 297
Rep Power: 15
Lieven will become famous soon enough
Hi Thomas,

SMALL, VSMALL, LARGE, ... are simply constants defined in src/OpenFOAM/primitives/Scalar/scalar/scalar.H and src/OpenFOAM/primitives/Scalar/floatScalar/floatScalar.H

In summary:
Code:
GREAT = 1.0e+6;
VGREAT = 1.0e+37;
ROOTVGREAT = 1.0e+18;
SMALL = 1.0e-6;
VSMALL = 1.0e-37;
ROOTVSMALL = 1.0e-18;
When you have something like 1/(x+SMALL) in the code, the SMALL simply prevents an floating point error from occurring when x = 0.

Cheers,

Lieven
Lieven is offline   Reply With Quote

Old   July 18, 2013, 17:47
Default
  #3
Senior Member
 
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 370
Rep Power: 16
l_r_mcglashan will become famous soon enough
Slight correction; the values depend on whether openfoam is compiled in single or double precision.
__________________
Laurence R. McGlashan :: Website
l_r_mcglashan is offline   Reply With Quote

Old   July 18, 2013, 17:55
Default
  #4
Senior Member
 
Lieven
Join Date: Dec 2011
Location: Leuven, Belgium
Posts: 297
Rep Power: 15
Lieven will become famous soon enough
How indeed, my apologies for this laxity. The values mentioned above are for a double precision compilation.

Cheers

L
Lieven is offline   Reply With Quote

Old   July 19, 2013, 04:47
Default
  #5
New Member
 
Thomas F.
Join Date: Jun 2013
Location: Graz, Austria
Posts: 14
Rep Power: 6
Dommy is on a distinguished road
Thanks for the quick reply - it all makes sense now!
Dommy is offline   Reply With Quote

Old   July 19, 2013, 04:48
Default
  #6
Senior Member
 
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 370
Rep Power: 16
l_r_mcglashan will become famous soon enough
Correction; the values above are for single precision.
__________________
Laurence R. McGlashan :: Website
l_r_mcglashan is offline   Reply With Quote

Old   March 22, 2017, 20:53
Default Double Precision Values
  #7
New Member
 
Nate
Join Date: Oct 2013
Location: Amherst, MA
Posts: 12
Rep Power: 5
ndev is on a distinguished road
I know this is old, but sometimes these posts get a lot of traffic. Just to eliminate any confusion, the double precision values are:

static const doubleScalar doubleScalarGREAT = 1.0e+15;
static const doubleScalar doubleScalarVGREAT = 1.0e+300;

static const doubleScalar doubleScalarROOTVGREAT = 1.0e+150;

static const doubleScalar doubleScalarSMALL = 1.0e-15;
static const doubleScalar doubleScalarVSMALL = 1.0e-300;
static const doubleScalar doubleScalarROOTVSMALL = 1.0e-150;
ndev 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


Sponsored Links


All times are GMT -4. The time now is 05:35.