|
[Sponsors] |
May 7, 2004, 20:00 |
direct and iterative solution
|
#1 |
Guest
Posts: n/a
|
Is there a reason that a direct method (e.g. cyclic reduction) can be less accurate than ADI in solving the linear algebraic equations from a separable elliptic differential equation (whose exact analytical solution is used in calculating the error).. e.g. the larger operation cound and matrix conditioning issues affecting the round-off error in cyclic reduction and offsetting the advantage of having no iterative convergence error...
Can this observation, my observations on compiler dependence and architecture dependence in previous messages in this forum stem from a bug in programming my code.. Incidentally I am using a fishpack subroutine for cyclic reduction (I don't understand CR to the degree of coding it) from : http://www.scd.ucar.edu/css/software/fishpack/ |
|
May 9, 2004, 00:15 |
Re: direct and iterative solution
|
#2 |
Guest
Posts: n/a
|
As you speculate, direct methods can indeed have larger roundoff errors than iterative methods. Often, the diagonal dominance of the effective iteration matrix of an iterative method is better than that of the matrix being directly solved. Also, the iterative method involves fewer arithmetic operations. Therefore, the iterative method upon being sufficiently converged, can yield a solution with less roundoff error than the direct method.
With either method, you can improve the solution by the technique of iterative improvement, where the system is put in the so-called delta form, with the residual vector as the right-hand side. Of course, this residual vector must be computed using higher-precision arithmetic. As an aside, given the floating-point architecture of modern cpus, it costs you more clock cycles to do 32-bit floating point computations than to do 64-bit ones. You should note that it is incorrect to use the exact analytical solution to the differential equation to calculate the numerical error in order to draw any conclusions about roundoff or iterative convergence error levels. You must use the exact solution to the discretized equations, which of course begs the question of how you should obtain it. In general, you can only use a better approximation to the exact discrete solution, perhaps from a 128-bit precision calculation. As an alternative you can create an exact solution yourself (perhaps the exact analytical solution you have right now), but you must then create a modified system of discretized equations by subjecting that exact solution to the discretized differential operator. This will yield a non-zero source term in your discretized system, representing the discretization error of the discrete operator. |
|
May 9, 2004, 02:23 |
Re: direct and iterative solution
|
#3 |
Guest
Posts: n/a
|
Thanks for the excellent explanation.
|
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Direct vs Iterative Linear Solvers for non-linears | bill | Main CFD Forum | 16 | November 5, 2014 08:18 |
Implicit iterative Gauss-Seidel method | dearboy | Main CFD Forum | 5 | November 29, 2010 10:18 |
Philosophy of implicit solution of different regions | Louis Le Grange | OpenFOAM | 0 | October 5, 2009 11:53 |
Navier-stokes equations and iterative solver?? | wuliang | Main CFD Forum | 2 | January 13, 2003 23:28 |
Implicit vs. Explicit | Praveen C. | Main CFD Forum | 1 | December 14, 1999 10:35 |