Calculate_ICF_preconditioner Function

public function Calculate_ICF_preconditioner(A, omega, alpha, fill_level) result(L)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), dimension(:, :) :: A
real(kind=dp), intent(in) :: omega
real(kind=dp), intent(in) :: alpha
integer, intent(in), optional :: fill_level

Return Value real(kind=dp), dimension(size(A, 1), size(A, 2))


Calls

proc~~calculate_icf_preconditioner~~CallsGraph proc~calculate_icf_preconditioner Calculate_ICF_preconditioner proc~incomplete_cholesky_decomposition Incomplete_Cholesky_decomposition proc~calculate_icf_preconditioner->proc~incomplete_cholesky_decomposition

Source Code

    function Calculate_ICF_preconditioner(A, omega, alpha, fill_level) result(L)
        real(dp), dimension(:, :), intent(in) :: A
        real(dp), intent(in) :: omega, alpha
        real(dp), dimension(size(A, 1), size(A, 2)) :: L
        integer, optional, intent(in) :: fill_level
        integer :: N

        N = size(A, 1)

        L = 0.d0

        if (present(fill_level)) then
            call Incomplete_Cholesky_decomposition(A, L, fill_level)
        else
            call Incomplete_Cholesky_decomposition(A, L)
        end if

        L = alpha / omega * L

    end function Calculate_ICF_preconditioner