@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 |