CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Wiki > Biconjugate gradient method

Biconjugate gradient method

From CFD-Wiki

(Difference between revisions)
Jump to: navigation, search

Revision as of 07:07, 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

 Allocate temperary vectors p, phat, s, shat, t, v, rtilde  
Allocate temerary reals rho_1, rho_2 , alpha, beta, omega
r := b - A\bulletx
rtilde = r
for i := 1 step 1 until max_itr do rho_1 = rtilde\bulletr
if i = 1 then p := r else
beta = (rho_1/rho_2) * (alpha/omega)
p = r + beta * (p - omega * v)
end if
solve (M\bulletphat = p )
v = A\bulletphat
alpha = rho_1 / (rtilde\bulletv)
s = r - alpha * v
solve (M\bulletshat = s )
t = A * shat; omega = (t\bullets) / (t\bullett)
x = x + alpha * phat + omega * shat
r = s - omega * t
rho_2 = rho_1
end (i-loop) deallocate all temp memory
return TRUE
My wiki