33 real(kind=
kreal),
save :: time_ax = 0.d0
48 real(kind=
kreal),
intent(in) :: x(:)
49 real(kind=
kreal),
intent(out) :: y(:)
50 real(kind=
kreal),
intent(inout),
optional :: commtime
51 select case(hecmat%NDOF)
97 real(kind=
kreal),
intent(in) :: x(:), b(:)
98 real(kind=
kreal),
intent(out) :: r(:)
99 real(kind=
kreal),
intent(inout),
optional :: commtime
101 select case(hecmat%NDOF)
122 real(kind=
kreal),
intent(inout),
optional :: commtime
124 real(kind=
kreal),
allocatable :: r(:)
125 real(kind=
kreal) :: bnorm2, rnorm2
126 real(kind=
kreal) :: tcomm
128 allocate(r(hecmat%NDOF*hecmat%NP))
132 hecmat%B, hecmat%B, bnorm2, tcomm)
133 if (bnorm2 == 0.d0)
then
136 call hecmw_matresid(hecmesh, hecmat, hecmat%X, hecmat%B, r, tcomm)
140 if (
present(commtime)) commtime = commtime + tcomm
157 integer(kind=kint),
intent(in) :: ndof
158 real(kind=
kreal),
intent(in) :: x(:)
159 real(kind=
kreal),
intent(out) :: y(:)
160 real(kind=
kreal),
intent(inout) :: commtime
182 integer(kind=kint),
intent(in) :: ndof
183 real(kind=
kreal),
intent(in) :: x(:)
184 real(kind=
kreal),
intent(out) :: y(:)
185 real(kind=
kreal),
intent(inout) :: commtime
206 real(kind=
kreal),
intent(in) :: x(:)
207 real(kind=
kreal),
intent(out) :: y(:), w(:)
208 real(kind=
kreal),
intent(inout) :: commtime
213 select case(hecmesh%n_dof)
255 real(kind=
kreal),
intent(inout),
optional :: commtime
257 select case(hecmesh%n_dof)
271 type (
hecmwst_matrix),
intent(inout),
target :: hecmat1, hecmat2, hecmat3
282 real(kind=
kreal),
intent(in) :: alpha
subroutine, public hecmw_matvec_33(hecMESH, hecMAT, X, Y, time_Ax, COMMtime)
subroutine, public hecmw_mat_diag_sr_33(hecMESH, hecMAT, COMMtime)
subroutine, public hecmw_matresid_33(hecMESH, hecMAT, X, B, R, COMMtime)
subroutine, public hecmw_ttmattvec_33(hecMESH, hecMAT, X, Y, W, COMMtime)
subroutine, public hecmw_ttvec_33(hecMESH, X, Y, COMMtime)
subroutine, public hecmw_tvec_33(hecMESH, X, Y, COMMtime)
subroutine, public hecmw_matvec_44(hecMESH, hecMAT, X, Y, time_Ax, COMMtime)
subroutine, public hecmw_matvec_66(hecMESH, hecMAT, X, Y, time_Ax, COMMtime)
subroutine, public hecmw_mat_diag_sr_nn(hecMESH, hecMAT, COMMtime)
subroutine, public hecmw_mat_multiple_nn(hecMAT, alpha)
subroutine, public hecmw_ttmattvec_nn(hecMESH, hecMAT, X, Y, W, COMMtime)
subroutine, public hecmw_matresid_nn(hecMESH, hecMAT, X, B, R, COMMtime)
subroutine, public hecmw_ttvec_nn(hecMESH, ndof, X, Y, COMMtime)
subroutine, public hecmw_tvec_nn(hecMESH, ndof, X, Y, COMMtime)
subroutine, public hecmw_matvec_nn(hecMESH, hecMAT, X, Y, time_Ax, COMMtime)
subroutine, public hecmw_mat_add_nn(hecMAT1, hecMAT2, hecMAT3)
subroutine, public hecmw_mat_add(hecMAT1, hecMAT2, hecMAT3)
subroutine, public hecmw_matvec_clear_timer
subroutine, public hecmw_matvec_set_async(hecMAT)
subroutine, public hecmw_ttmattvec(hecMESH, hecMAT, X, Y, W, COMMtime)
subroutine, public hecmw_ttvec(hecMESH, ndof, X, Y, COMMtime)
real(kind=kreal) function, public hecmw_rel_resid_l2(hecMESH, hecMAT, COMMtime)
subroutine, public hecmw_tvec(hecMESH, ndof, X, Y, COMMtime)
subroutine, public hecmw_mat_multiple(hecMAT, alpha)
subroutine, public hecmw_matresid(hecMESH, hecMAT, X, B, R, COMMtime)
subroutine, public hecmw_mat_diag_sr(hecMESH, hecMAT, COMMtime)
real(kind=kreal) function, public hecmw_matvec_get_timer()
subroutine, public hecmw_matvec(hecMESH, hecMAT, X, Y, COMMtime)
subroutine, public hecmw_matvec_unset_async
subroutine hecmw_innerproduct_r(hecMESH, ndof, X, Y, sum, COMMtime)
integer(kind=4), parameter kreal