|
DOUG 0.2
|
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 |
| 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 | ||
| ) |
| 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] |
| 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.
| x | Solution |
| finePrec | fine level preconditioner |
| coarsePrec | coarse level preconditioner |
| tol_ | Tolerance of the method |
| maxit_ | Max number of iterations |
| x0_ | Initial guess |
| solinf | Solution 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 | ||
| ) |
| A | sparse system matrix |
| sol | solution |
| rhs | right hand side |
| res | residual 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.
| sol | solution |
| A | sparse system matrix |
| rhs | right hand side |
| M | Mesh |
| finePrec | fine level preconditioner |
| coarsePrec | coarse level preconditioner |
| A_ghost | matr. |
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 | ||
| ) |
| subroutine pcg_mod::tql1 | ( | integer | n, |
| real(kind=rk),dimension(n) | d, | ||
| real(kind=rk),dimension(n) | e, | ||
| integer | ierr | ||
| ) |
| real(kind=rk),save,private pcg_mod::time_preconditioner = 0 |
Definition at line 50 of file pcg.F90.
Referenced by pcg_weigs(), and preconditioner().
1.7.3-20110217