|
[Sponsors] |
SMALL, GREAT and ROOTVSMALL - what is that? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
July 18, 2013, 18:18 |
SMALL, GREAT and ROOTVSMALL - what is that?
|
#1 |
New Member
Thomas F.
Join Date: Jun 2013
Location: Graz, Austria
Posts: 14
Rep Power: 13 |
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]; Best, Thomas |
|
July 18, 2013, 18:31 |
|
#2 |
Senior Member
Lieven
Join Date: Dec 2011
Location: Leuven, Belgium
Posts: 299
Rep Power: 23 |
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; Cheers, Lieven |
|
July 18, 2013, 18:55 |
|
#4 |
Senior Member
Lieven
Join Date: Dec 2011
Location: Leuven, Belgium
Posts: 299
Rep Power: 23 |
How indeed, my apologies for this laxity. The values mentioned above are for a double precision compilation.
Cheers L |
|
July 19, 2013, 05:47 |
|
#5 |
New Member
Thomas F.
Join Date: Jun 2013
Location: Graz, Austria
Posts: 14
Rep Power: 13 |
Thanks for the quick reply - it all makes sense now!
|
|
March 22, 2017, 20:53 |
Double Precision Values
|
#7 |
New Member
Nate
Join Date: Oct 2013
Location: Amherst, MA
Posts: 13
Rep Power: 13 |
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; |
|
February 20, 2020, 10:12 |
|
#8 |
New Member
Join Date: May 2018
Location: Vienna, Austria
Posts: 14
Rep Power: 8 |
Be aware that the hard-coded scalar limits have been replaced: https://github.com/OpenFOAM/OpenFOAM...9d7f1ee5912713
|
|
|
|