apply_CRS_Adiabatic_base Subroutine

subroutine apply_CRS_Adiabatic_base(A, b, isUniform, Edge, Dval, perm)

Arguments

Type IntentOptional Attributes Name
type(type_crs), intent(inout), optional :: A
real(kind=real64), intent(inout) :: b(:)
logical(kind=logical32), intent(in) :: isUniform
integer(kind=int32), intent(in) :: Edge(2)
real(kind=real64), intent(in) :: Dval
integer(kind=int32), intent(in) :: perm(:)

Source Code

    subroutine apply_CRS_Adiabatic_base(A, b, isUniform, Edge, Dval, perm)
        implicit none
        type(Type_CRS), intent(inout), optional :: A
        real(real64), intent(inout) :: b(:)
        logical(logical32), intent(in) :: isUniform
        integer(int32), intent(in) :: Edge(2)
        real(real64), intent(in) :: Dval
        integer(int32), intent(in) :: perm(:)

        integer(int32) :: i, ind, ps, pe
        integer(int32) :: p1, p2

        ! if (isUniform) then
        !     p1 = perm(Edge(1))
        !     p2 = perm(Edge(2))

        !     if (present(A)) then
        !         call A%Find(p1, p1, ind)
        !         ps = A%Ptr(p1)
        !         pe = A%Ptr(p1 + 1) - 1
        !         A%val(ps:pe) = 0.0d0
        !         A%val(ind) = 1.0d0

        !         call A%Find(p2, p2, ind)
        !         ps = A%Ptr(p2)
        !         pe = A%Ptr(p2 + 1) - 1
        !         A%val(ps:pe) = 0.0d0
        !         A%val(ind) = 1.0d0
        !     end if

        !     b(p1) = Dval
        !     b(p2) = Dval
        ! end if

    end subroutine apply_CRS_Adiabatic_base