From CFD-Wiki
(Difference between revisions)
|
|
Line 12: |
Line 12: |
| | | |
| === Algorithm === | | === Algorithm === |
- | | + | Has to be added very soon. |
- | Allocate temperary vectors p, phat, s, shat, t, v, rtilde <br> | + | |
- | Allocate temerary reals rho_1, rho_2 , alpha, beta, omega <br>
| + | |
- | r := b - A<math>\bullet</math>x <br>
| + | |
- | rtilde = r <br>
| + | |
- | for i := 1 step 1 until max_itr do
| + | |
- | rho_1 = rtilde<math>\bullet</math>r <br>
| + | |
- | if i = 1 then p := r else <br>
| + | |
- | beta = (rho_1/rho_2) * (alpha/omega)<br>
| + | |
- | p = r + beta * (p - omega * v) <br>
| + | |
- | end if <br>
| + | |
- | solve (M<math>\bullet</math>phat = p ) <br>
| + | |
- | v = A<math>\bullet</math>phat <br>
| + | |
- | alpha = rho_1 / (rtilde<math>\bullet</math>v) <br>
| + | |
- | s = r - alpha * v <br>
| + | |
- | solve (M<math>\bullet</math>shat = s ) <br>
| + | |
- | t = A * shat;
| + | |
- | omega = (t<math>\bullet</math>s) / (t<math>\bullet</math>t) <br>
| + | |
- | x = x + alpha * phat + omega * shat <br>
| + | |
- | r = s - omega * t <br>
| + | |
- | rho_2 = rho_1 <br>
| + | |
- | end (i-loop)
| + | |
- |
| + | |
- | deallocate all temp memory <br>
| + | |
- | return TRUE <br>
| + | |
Revision as of 08:02, 14 September 2005
Biconjugate gradient method
Biconjugate gradient method could be summarized as follows
System of equation
For the given system of equation
Ax = b ;
b = source vector
x = solution variable for which we seek the solution
A = coefficient matrix
M = the precondioning matrix constructued by matrix A
Algorithm
Has to be added very soon.