No preconditioner Jacobi preconditioner ILU preconditioner
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(type_solver_sparse_crs_bicgstab), | intent(inout) | :: | self | |||
real(kind=real64), | intent(inout) | :: | b(:) | |||
real(kind=real64), | intent(inout) | :: | x(:) |
module subroutine apply_preconditioner_sparse_crs_bicgstab(self, b, x) implicit none class(type_solver_sparse_crs_bicgstab), intent(inout) :: self real(real64), intent(inout) :: b(:) real(real64), intent(inout) :: x(:) integer(int32) :: i, j select case (self%Preconditioner) case (0) !! No preconditioner return case (1) !! Jacobi preconditioner call apply_preconditioner_jacobi(self%N, self%M(:), b(:), x(:)) case (2) !! ILU preconditioner end select end subroutine apply_preconditioner_sparse_crs_bicgstab