Author |
Message |
Tan Hunseng (tan)
New member Username: tan
Post Number: 2 Registered: 08-2003
| Posted on Friday, August 22, 2003 - 12:26 pm: | |
I keep generating the following error message, "floating point overflow". What should I do to prevent this? thank you very much in advance,, |
Robert G. Nelson (rgnelson)
Member Username: rgnelson
Post Number: 20 Registered: 06-2003
| Posted on Friday, August 22, 2003 - 05:53 pm: | |
There are many ways to generate a floating-point overflow. For example, the equation dt(u)=u has the solution u = u0*exp(t) which will very quickly exceed the representable range of the computer hardware. So one place to look is for sign errors in your equations. Another frequent cause of trouble is the use of exponential functions in parameter definitions. The exponential is a very strong function, which can easily exceed the hardware representation range if you are not careful about extreme behavior of its arguments. Exp(k/u), for instance, will crash if u nears zero. Exp(709) is the largest number the hardware can store. The best way to debug this kind of problem is (as it is for all cases of anomalous behavior): 1) display "monitors" of parameters, sources, boundary values, intermediate quantities, and anything else that would shed light on what is happening. 2) In time-dependent problems, plot histories of all interesting values with a plot specifier FOR CYCLE=1 This gives a report after each timestep. 3) In nonlinear steady-state problems, use SELECT BUSYMON to force a monitor display at each iteration. Don't just wait blindly for catastrophe. The MONITORS facility was included specifically to give you voluminous feedback on the behavior of your system. |
Frederick Yao (frederick)
New member Username: frederick
Post Number: 1 Registered: 10-2003
| Posted on Thursday, October 02, 2003 - 02:02 pm: | |
But what if we need to solve a real problems which contain the exponential function exceeded the limitation, say Exp(12095), how can we deal with to get the problem solved. That was what I am faced in my graduate-studying using FlexPDE. |
Robert G. Nelson (rgnelson)
Moderator Username: rgnelson
Post Number: 44 Registered: 06-2003
| Posted on Friday, October 03, 2003 - 01:35 pm: | |
There are no real problems that require evaluating exp(12095). Consider: 1) exp(12095) = 10^5252. This is more than the number of electrons in the universe. 2) Most physical constants are known to six decimal places at best. So 5246 of your digits are meaningless. 3) The Uncertainty Principle says deltax*deltap~1e-27, 5225 digits short of your goal. Of course, if what you really want is (1+-eps)*exp(12095), then you can rescale by exp(12095) and solve for eps.
|
alan moskowitz (atticboss)
New member Username: atticboss
Post Number: 1 Registered: 07-2006
| Posted on Friday, July 14, 2006 - 12:27 pm: | |
I'm running a point of sale system with a time clock module in it and am getting a "floating point overflow" on refurbished IBM Netvista pcs. I've run the program from a fairly new Dell without any problems but I need to get the IBM's working as there are 10 of them. I tried a bios upgrade on one machine but it was already the most recent version. Any ideas? |
|