machine precision -- smooth region

machine precision -- smooth region

hi everyone,

I'ma writing a code about diffusion. It is veru sensible to fortran precision. I men negative value (taht I do not want) star from -1.e-60 and than rise ud to 1.e2.

I compile in double precision. Hos is possible that the program can handle so negative errors, Can I set them to zero when I compile.

Really really thanks

7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

The option, -fpe1 will turn on underflow to zero rather than allowing gradual underflow. Any value that is too small to be represented precisely in double precision will be rounded down to 0. Is something like this what you are looking for?

yes is that the things that I want to know. However I got the same error.
Do you know a forum where to talk about numerical scheme problem?
thanks a lot

We do not have a forum specifically for numerical scheme problems.
This white paper may be useful to you though.

There are several articles on the -fp-model and related articles: I've attached a white paper to this post. Also see:
https://secure-software.intel.com/sites/default/files/article/326703/fp-...
http://software.intel.com/en-us/articles/consistency-of-floating-point-r...

Attachments: 

AttachmentSize
Download fp-consistency-102511.pdf401.35 KB

Quote:

diedro wrote:

hi everyone,

I'ma writing a code about diffusion. It is veru sensible to fortran precision. I men negative value (taht I do not want) star from -1.e-60 and than rise ud to 1.e2.

I compile in double precision. Hos is possible that the program can handle so negative errors, Can I set them to zero when I compile.

Really really thanks

Try changing your parameters and literals from "e" to "d". Example, change -1.e-60 to -1.d-60
"e" defaults to REAL(4)

Jim Dempsey

www.quickthreadprogramming.com

In case the implication of changing from a single to a double precision constant isn't evident, the smallest magnitude non-zero single precision numbers are TINY(1.)*EPSILON(1.) when gradual underflow is enabled, and TINY(1.) in the case of abrupt underflow (ifort option -ftz). In either case, 1.e-60 is the same as 0. (except possibly in some contexts of -mia32)

Leave a Comment

Please sign in to add a comment. Not a member? Join today