machine precision -- smooth region

machine precision -- smooth region

Bild des Benutzers diedro

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 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.
Bild des Benutzers Annalee (Intel)

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?

Bild des Benutzers diedro

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

Bild des Benutzers Annalee (Intel)

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

Bild des Benutzers Ronald W Green (Intel)

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...

Anlagen: 

AnhangGröße
Herunterladen fp-consistency-102511.pdf401.35 KB
Bild des Benutzers jimdempseyatthecove

Zitat:

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

Blog: The Parallel Void

www.quickthreadprogramming.com
Bild des Benutzers TimP (Intel)

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)

Melden Sie sich an, um einen Kommentar zu hinterlassen.