Author |
Message |
Steve Strand (srstrand)
Junior Member Username: srstrand
Post Number: 3 Registered: 02-2006
| Posted on Sunday, April 30, 2006 - 03:22 am: | |
I would like to use the VAL function to extract and print the value of a solution variable at a particular coordinate. This will be used by an optimization/fitting routine, and the number of digits for the output must be high. Is there a way to display more precision using the expression report(val(conc,x,y)) |
Robert G. Nelson (rgnelson)
Moderator Username: rgnelson
Post Number: 593 Registered: 06-2003
| Posted on Tuesday, May 02, 2006 - 12:45 am: | |
FlexPDE computes a numerical approximation to the solution, not an analytic solution of infinite accuracy. There are many factors introducing variability into the precise values interpolated at a point: 1) the finite element method solves for quadratic interpolators over each cell. When parameters are changed, there may be different "bows" computed for the interpolators, leading to slightly different interpolations. 2) the solution for the nodal values is an iterative process with a convergence tolerance (ERRLIM). It is unlikely that any specific point value will be reproducible to accuracy greater than ERRLIM. 3) roundoff error in the solution process increases as the number of nodes increases. You cannot, simply by increasing the number of nodes, reduce the uncertainty to zero. FlexPDE prints REPORT values to six digits of accuracy. Printing a greater accuracy than this would most likely be creating a string of random numbers. There is currently no way to increase the number of digits in the output. You could, however, increase the precision by reporting the difference of the solution from some standard value or set of fixed values (subject to the caveats above). |
|