@brief PCG solver for equation Ax=b
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | initialized | = | .false. | ||
| integer(kind=8), | public | :: | errcode | = | 0 | ||
| real(kind=dp), | public, | allocatable | :: | b(:) | |||
| real(kind=dp), | public, | allocatable | :: | x(:) | |||
| real(kind=dp), | public, | allocatable | :: | Ap(:) | |||
| real(kind=dp), | public, | allocatable | :: | p(:) | |||
| real(kind=dp), | public, | allocatable | :: | r(:) | |||
| real(kind=dp), | public, | allocatable | :: | y(:) | |||
| real(kind=dp), | public | :: | error | = | huge(1.0_dp) | ||
| real(kind=dp), | public | :: | tol | = | 0.0_dp | ||
| procedure(pcg_matvec), | public, | nopass, pointer | :: | precond | => | null() | |
| procedure(pcg_matvec), | public, | nopass, pointer | :: | update | => | null() | |
| type(c_ptr), | public | :: | dat | = | c_null_ptr |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pcg_t), | intent(inout) | :: | this | |||
| real(kind=dp), | intent(in) | :: | b(:) | |||
| procedure(pcg_matvec) | :: | update | ||||
| procedure(pcg_matvec) | :: | precond | ||||
| type(*), | target | :: | dat | |||
| real(kind=dp), | intent(in), | optional | :: | x0(:) | ||
| real(kind=dp), | intent(in), | optional | :: | tol |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pcg_t), | intent(inout) | :: | this |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(pcg_t), | intent(inout) | :: | this |