26 integer(kind=kint):: n
27 real(kind=
kreal),
dimension(n) :: x, y
30 real(kind=
kreal),
optional :: commtime
32 real(kind=
kreal) :: start_time, end_time
33 integer(kind=kint) :: i, j, js, je, in
34 real(kind=
kreal) :: yv
39 if (
present(commtime)) commtime = commtime + end_time - start_time
42 yv= hecmat%D(i) * x(i)
43 js= hecmat%indexL(i-1) + 1
47 yv= yv + hecmat%AL(j) * x(in)
49 js= hecmat%indexU(i-1) + 1
53 yv= yv + hecmat%AU(j) * x(in)
69 real(kind=
kreal) :: x(:), b(:), r(:)
72 real(kind=
kreal),
optional :: commtime
74 integer(kind=kint) :: i
75 real(kind=
kreal) :: tcomm
79 if (
present(commtime)) commtime = commtime + tcomm
100 real(kind=
kreal),
optional :: commtime
102 real(kind=
kreal) :: r(hecmat%NDOF*hecmat%NP)
103 real(kind=
kreal) :: bnorm2, rnorm2
104 real(kind=
kreal) :: tcomm
108 if (bnorm2 == 0.d0)
then
113 if (
present(commtime)) commtime = commtime + tcomm
subroutine, public hecmw_matresid_11(hecMESH, hecMAT, X, B, R, COMMtime)
real(kind=kreal) function, public hecmw_rel_resid_l2_11(hecMESH, hecMAT, COMMtime)
subroutine, public hecmw_matvec_11(hecMESH, hecMAT, X, Y, n, COMMtime)
subroutine hecmw_innerproduct_r(hecMESH, ndof, X, Y, sum, COMMtime)
integer(kind=4), parameter kreal
real(kind=kreal) function hecmw_wtime()
subroutine hecmw_update_1_r(hecMESH, val, n)