DOUG 0.2
Functions/Subroutines | Variables

pcg_mod Module Reference

Functions/Subroutines

subroutine prec2Level (prepare, A, CP, sol, rhs, res)
subroutine, private preconditioner (sol, A, rhs, M, finePrec, coarsePrec, A_ghost, bugtrack_)
 Make preconditioner.
subroutine, private msolve (m, r, z)
subroutine pcg_weigs (D, x, finePrec, coarsePrec, it, cond_num, tol_, maxit_, x0_, solinf, resvects_)
 Preconditioned conjugent gradient method with eigenvalues.
subroutine CalculateEigenvalues (it, dd, ee, alpha, beta, MaxIt)
subroutine tql1 (n, d, e, ierr)
real(kind=rk) pythag (a, b)

Variables

real(kind=rk), save, private time_preconditioner = 0

Function/Subroutine Documentation

subroutine pcg_mod::CalculateEigenvalues ( integer  it,
real(kind=rk),dimension(:),pointer  dd,
real(kind=rk),dimension(:),pointer  ee,
real(kind=rk),dimension(:),pointer  alpha,
real(kind=rk),dimension(:),pointer  beta,
integer  MaxIt 
)

Definition at line 465 of file pcg.F90.

References or(), and tql1().

Referenced by pcg_weigs().

subroutine,private pcg_mod::msolve ( real(kind=rk),dimension(:),intent(in)  m,
real(kind=rk),dimension(:),intent(in)  r,
real(kind=rk),dimension(:),intent(inout)  z 
) [private]

Definition at line 275 of file pcg.F90.

subroutine pcg_mod::pcg_weigs ( type(Distribution),intent(inout)  D,
float(kind=rk),dimension(:),pointer  x,
type(FinePreconditioner),intent(inout)  finePrec,
type(CoarsePreconditioner),intent(inout)  coarsePrec,
integer,intent(out)  it,
real(kind=rk),intent(out)  cond_num,
real(kind=rk),intent(in),optional  tol_,
integer,intent(in),optional  maxit_,
float(kind=rk),dimension(:),intent(in),optional  x0_,
type(ConvInf),intent(inout),optional  solinf,
logical,intent(in),optional  resvects_ 
)

Preconditioned conjugent gradient method with eigenvalues.

Parameters:
xSolution
finePrecfine level preconditioner
coarsePreccoarse level preconditioner
tol_Tolerance of the method
maxit_Max number of iterations
x0_Initial guess
solinfSolution statistics
resvects_Fill in the 'resvect' or not

Definition at line 289 of file pcg.F90.

References CalculateEigenvalues(), ConvInf_mod::ConvInf_Init(), Distribution_mod::Distribution_addoverlap(), Distribution_mod::Distribution_pmvm(), DOUG_utils::DOUG_abort(), DOUG_utils::ismaster(), globals::myrank, not, preconditioner(), globals::pstream, globals::sctls, globals::stream, and time_preconditioner.

subroutine pcg_mod::prec2Level ( logical,intent(in)  prepare,
type(SpMtx A,
type(CoarsePreconditioner),intent(inout)  CP,
real(kind=rk),dimension(:),pointer  sol,
real(kind=rk),dimension(:),pointer  rhs,
real(kind=rk),dimension(:),pointer  res 
)
Parameters:
Asparse system matrix
solsolution
rhsright hand side
resresidual vector

Definition at line 54 of file pcg.F90.

References prec2Level_prepare(), prec2Level_solve(), globals::sctls, and globals::stream.

Referenced by preconditioner().

subroutine,private pcg_mod::preconditioner ( real(kind=rk),dimension(:),pointer  sol,
type(SpMtx A,
real(kind=rk),dimension(:),pointer  rhs,
type(Mesh),intent(in)  M,
type(FinePreconditioner),intent(inout)  finePrec,
type(CoarsePreconditioner),intent(inout)  coarsePrec,
type(SpMtx),optional  A_ghost,
logical,optional  bugtrack_ 
) [private]

Make preconditioner.

Parameters:
solsolution
Asparse system matrix
rhsright hand side
MMesh
finePrecfine level preconditioner
coarsePreccoarse level preconditioner
A_ghostmatr.

Definition at line 216 of file pcg.F90.

References prec2Level(), globals::sctls, globals::stream, and time_preconditioner.

Referenced by pcg_weigs().

real(kind=rk) pcg_mod::pythag ( real(kind=rk)  a,
real(kind=rk)  b 
)

Definition at line 622 of file pcg.F90.

Referenced by tql1().

subroutine pcg_mod::tql1 ( integer  n,
real(kind=rk),dimension(n)  d,
real(kind=rk),dimension(n)  e,
integer  ierr 
)

Definition at line 493 of file pcg.F90.

References pythag().

Referenced by CalculateEigenvalues().


Variable Documentation

real(kind=rk),save,private pcg_mod::time_preconditioner = 0

Definition at line 50 of file pcg.F90.

Referenced by pcg_weigs(), and preconditioner().