# The precision of "Foam::pow"?

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

 September 28, 2015, 11:25 The precision of "Foam::pow"? #1 Senior Member   Dongyue Li Join Date: Jun 2012 Location: Torino, Italy Posts: 688 Rep Power: 8 Hello guys, I use OpenFOAM to do a simple calculation: Code: ``` scalar z = Foam::exp(Foam::sqr(0.544830258187397)/2.0); Info<<"z = "<

 September 28, 2015, 11:31 #2 Member   Join Date: Nov 2012 Posts: 61 Rep Power: 4 does it change if you change the writePrecision in the controlDict?

September 28, 2015, 11:38
#3
Senior Member

Dongyue Li
Join Date: Jun 2012
Location: Torino, Italy
Posts: 688
Rep Power: 8
update, sorry, sorry, I have a typo in my code....Its my fault not the code

------------------------------------------------------------------

Quote:
 Originally Posted by Henning86 does it change if you change the writePrecision in the controlDict?
Hi,

yeah, I tried in my complete solver to debug, it does not have any effect.

And this code above (just a test) does not need controlDict file..

Code:
```#include "fvCFD.H"

int main()
{
double sigma = 0.544830258187397;
Info<<"sigma = "<<sigma<<endl;
Info<<"Foam::sqr(sigma)/2.0 ="<<Foam::sqr(0.544830258187397)/2.0<<endl;
Info<<"Foam::exp(Foam::sqr(sigma)/2.0) = "<<Foam::exp(Foam::sqr(sigma)/2.0)<<endl;
double z = Foam::exp(Foam::sqr(sigma)/2.0);
Info<<"Foam::pow(ans, 16) = "<<Foam::pow(z, 16.0)<<endl;
}```
Code:
```sigma = 0.54483
Foam::sqr(sigma)/2.0 =0.14842
Foam::exp(Foam::sqr(sigma)/2.0) = 1.16 //????????????????
Foam::pow(ans, 16) = 10.748```

The key of this problem is: this function:

Foam::exp(Foam::sqr(0.544830258187397)/2.0)

is 1.16.

But it should be 1.16219666037989
__________________
Im the translator of OpenFOAM User Guide Chinese Edition! But always newbie on CFD.
Never too old to learn CFD. Worship these CFD experts.

 September 29, 2015, 08:02 #4 Member   Join Date: Nov 2012 Posts: 61 Rep Power: 4 The problem is probably the Info command try Info.precision(16) i dont know what the exact command is. google "precision cout". the message stream class should be similar

 Thread Tools Display Modes Linear Mode

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

 Similar Threads Thread Thread Starter Forum Replies Last Post 140raiders CFX 1 July 30, 2015 02:32 jmmichie Main CFD Forum 0 May 7, 2015 08:16 [ANSYS Meshing] ICEM output precision papis ANSYS Meshing & Geometry 4 July 9, 2013 09:54 matheusguzella ANSYS Meshing & Geometry 2 October 7, 2009 10:15 morxio Main CFD Forum 3 April 27, 2007 10:38

All times are GMT -4. The time now is 14:39.