Type | Intent | Optional | 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(:) |
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