Added WV to smoother method

stopcriterion
Salvatore Filippone 7 years ago
parent fe110b83ca
commit 55ec0f3da0

@ -36,7 +36,7 @@
! !
! !
subroutine mld_c_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_c_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_c_as_smoother, mld_protect_nam => mld_c_as_smoother_apply_vect use mld_c_as_smoother, mld_protect_nam => mld_c_as_smoother_apply_vect
implicit none implicit none
@ -51,6 +51,7 @@ subroutine mld_c_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_c_vect_type),intent(inout), optional :: initu type(psb_c_vect_type),intent(inout), optional :: initu
type(psb_c_vect_type),intent(inout), optional :: wv(:)
integer(psb_ipk_) :: n_row,n_col, nrow_d, i integer(psb_ipk_) :: n_row,n_col, nrow_d, i
complex(psb_spk_), pointer :: aux(:) complex(psb_spk_), pointer :: aux(:)

@ -36,7 +36,7 @@
! !
! !
subroutine mld_c_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_c_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_c_base_smoother_mod, mld_protect_name => mld_c_base_smoother_apply_vect use mld_c_base_smoother_mod, mld_protect_name => mld_c_base_smoother_apply_vect
implicit none implicit none
@ -51,7 +51,8 @@ subroutine mld_c_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_c_vect_type),intent(inout), optional :: initu type(psb_c_vect_type),intent(inout), optional :: initu
type(psb_c_vect_type),intent(inout), optional :: wv(:)
!
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='c_base_smoother_apply' character(len=20) :: name='c_base_smoother_apply'

@ -36,7 +36,7 @@
! !
! !
subroutine mld_c_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_c_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_c_jac_smoother, mld_protect_name => mld_c_jac_smoother_apply_vect use mld_c_jac_smoother, mld_protect_name => mld_c_jac_smoother_apply_vect
@ -52,7 +52,8 @@ subroutine mld_c_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_c_vect_type),intent(inout), optional :: initu type(psb_c_vect_type),intent(inout), optional :: initu
type(psb_c_vect_type),intent(inout), optional :: wv(:)
!
integer(psb_ipk_) :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
type(psb_c_vect_type) :: tx, ty type(psb_c_vect_type) :: tx, ty
complex(psb_spk_), pointer :: aux(:) complex(psb_spk_), pointer :: aux(:)

@ -36,7 +36,7 @@
! !
! !
subroutine mld_d_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_d_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_d_as_smoother, mld_protect_nam => mld_d_as_smoother_apply_vect use mld_d_as_smoother, mld_protect_nam => mld_d_as_smoother_apply_vect
implicit none implicit none
@ -51,6 +51,7 @@ subroutine mld_d_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_d_vect_type),intent(inout), optional :: initu type(psb_d_vect_type),intent(inout), optional :: initu
type(psb_d_vect_type),intent(inout), optional :: wv(:)
integer(psb_ipk_) :: n_row,n_col, nrow_d, i integer(psb_ipk_) :: n_row,n_col, nrow_d, i
real(psb_dpk_), pointer :: aux(:) real(psb_dpk_), pointer :: aux(:)

@ -36,7 +36,7 @@
! !
! !
subroutine mld_d_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_d_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_d_base_smoother_mod, mld_protect_name => mld_d_base_smoother_apply_vect use mld_d_base_smoother_mod, mld_protect_name => mld_d_base_smoother_apply_vect
implicit none implicit none
@ -51,7 +51,8 @@ subroutine mld_d_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_d_vect_type),intent(inout), optional :: initu type(psb_d_vect_type),intent(inout), optional :: initu
type(psb_d_vect_type),intent(inout), optional :: wv(:)
!
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='d_base_smoother_apply' character(len=20) :: name='d_base_smoother_apply'

@ -36,7 +36,7 @@
! !
! !
subroutine mld_d_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_d_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_d_jac_smoother, mld_protect_name => mld_d_jac_smoother_apply_vect use mld_d_jac_smoother, mld_protect_name => mld_d_jac_smoother_apply_vect
@ -52,7 +52,8 @@ subroutine mld_d_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_d_vect_type),intent(inout), optional :: initu type(psb_d_vect_type),intent(inout), optional :: initu
type(psb_d_vect_type),intent(inout), optional :: wv(:)
!
integer(psb_ipk_) :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
type(psb_d_vect_type) :: tx, ty type(psb_d_vect_type) :: tx, ty
real(psb_dpk_), pointer :: aux(:) real(psb_dpk_), pointer :: aux(:)

@ -36,7 +36,7 @@
! !
! !
subroutine mld_s_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_s_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_s_as_smoother, mld_protect_nam => mld_s_as_smoother_apply_vect use mld_s_as_smoother, mld_protect_nam => mld_s_as_smoother_apply_vect
implicit none implicit none
@ -51,6 +51,7 @@ subroutine mld_s_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_s_vect_type),intent(inout), optional :: initu type(psb_s_vect_type),intent(inout), optional :: initu
type(psb_s_vect_type),intent(inout), optional :: wv(:)
integer(psb_ipk_) :: n_row,n_col, nrow_d, i integer(psb_ipk_) :: n_row,n_col, nrow_d, i
real(psb_spk_), pointer :: aux(:) real(psb_spk_), pointer :: aux(:)

@ -36,7 +36,7 @@
! !
! !
subroutine mld_s_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_s_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_s_base_smoother_mod, mld_protect_name => mld_s_base_smoother_apply_vect use mld_s_base_smoother_mod, mld_protect_name => mld_s_base_smoother_apply_vect
implicit none implicit none
@ -51,7 +51,8 @@ subroutine mld_s_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_s_vect_type),intent(inout), optional :: initu type(psb_s_vect_type),intent(inout), optional :: initu
type(psb_s_vect_type),intent(inout), optional :: wv(:)
!
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='s_base_smoother_apply' character(len=20) :: name='s_base_smoother_apply'

@ -36,7 +36,7 @@
! !
! !
subroutine mld_s_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_s_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_s_jac_smoother, mld_protect_name => mld_s_jac_smoother_apply_vect use mld_s_jac_smoother, mld_protect_name => mld_s_jac_smoother_apply_vect
@ -52,7 +52,8 @@ subroutine mld_s_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_s_vect_type),intent(inout), optional :: initu type(psb_s_vect_type),intent(inout), optional :: initu
type(psb_s_vect_type),intent(inout), optional :: wv(:)
!
integer(psb_ipk_) :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
type(psb_s_vect_type) :: tx, ty type(psb_s_vect_type) :: tx, ty
real(psb_spk_), pointer :: aux(:) real(psb_spk_), pointer :: aux(:)

@ -36,7 +36,7 @@
! !
! !
subroutine mld_z_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_z_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_z_as_smoother, mld_protect_nam => mld_z_as_smoother_apply_vect use mld_z_as_smoother, mld_protect_nam => mld_z_as_smoother_apply_vect
implicit none implicit none
@ -51,6 +51,7 @@ subroutine mld_z_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_z_vect_type),intent(inout), optional :: initu type(psb_z_vect_type),intent(inout), optional :: initu
type(psb_z_vect_type),intent(inout), optional :: wv(:)
integer(psb_ipk_) :: n_row,n_col, nrow_d, i integer(psb_ipk_) :: n_row,n_col, nrow_d, i
complex(psb_dpk_), pointer :: aux(:) complex(psb_dpk_), pointer :: aux(:)

@ -36,7 +36,7 @@
! !
! !
subroutine mld_z_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_z_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_z_base_smoother_mod, mld_protect_name => mld_z_base_smoother_apply_vect use mld_z_base_smoother_mod, mld_protect_name => mld_z_base_smoother_apply_vect
implicit none implicit none
@ -51,7 +51,8 @@ subroutine mld_z_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_z_vect_type),intent(inout), optional :: initu type(psb_z_vect_type),intent(inout), optional :: initu
type(psb_z_vect_type),intent(inout), optional :: wv(:)
!
integer(psb_ipk_) :: err_act integer(psb_ipk_) :: err_act
character(len=20) :: name='z_base_smoother_apply' character(len=20) :: name='z_base_smoother_apply'

@ -36,7 +36,7 @@
! !
! !
subroutine mld_z_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_z_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
use psb_base_mod use psb_base_mod
use mld_z_jac_smoother, mld_protect_name => mld_z_jac_smoother_apply_vect use mld_z_jac_smoother, mld_protect_name => mld_z_jac_smoother_apply_vect
@ -52,7 +52,8 @@ subroutine mld_z_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_z_vect_type),intent(inout), optional :: initu type(psb_z_vect_type),intent(inout), optional :: initu
type(psb_z_vect_type),intent(inout), optional :: wv(:)
!
integer(psb_ipk_) :: n_row,n_col integer(psb_ipk_) :: n_row,n_col
type(psb_z_vect_type) :: tx, ty type(psb_z_vect_type) :: tx, ty
complex(psb_dpk_), pointer :: aux(:) complex(psb_dpk_), pointer :: aux(:)

@ -179,7 +179,7 @@ module mld_c_as_smoother
interface interface
subroutine mld_c_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_c_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, & import :: psb_cspmat_type, psb_c_vect_type, psb_c_base_vect_type, &
& psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, & & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, &
& psb_desc_type, psb_ipk_ & psb_desc_type, psb_ipk_
@ -195,6 +195,7 @@ module mld_c_as_smoother
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_c_vect_type),intent(inout), optional :: initu type(psb_c_vect_type),intent(inout), optional :: initu
type(psb_c_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_c_as_smoother_apply_vect end subroutine mld_c_as_smoother_apply_vect
end interface end interface

@ -153,7 +153,7 @@ module mld_c_base_smoother_mod
interface interface
subroutine mld_c_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_c_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
import :: psb_desc_type, psb_cspmat_type, psb_c_base_sparse_mat, & import :: psb_desc_type, psb_cspmat_type, psb_c_base_sparse_mat, &
& psb_c_vect_type, psb_c_base_vect_type, psb_spk_, & & psb_c_vect_type, psb_c_base_vect_type, psb_spk_, &
& mld_c_base_smoother_type, psb_ipk_ & mld_c_base_smoother_type, psb_ipk_
@ -168,6 +168,7 @@ module mld_c_base_smoother_mod
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_c_vect_type),intent(inout), optional :: initu type(psb_c_vect_type),intent(inout), optional :: initu
type(psb_c_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_c_base_smoother_apply_vect end subroutine mld_c_base_smoother_apply_vect
end interface end interface

@ -83,7 +83,7 @@ module mld_c_jac_smoother
interface interface
subroutine mld_c_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_c_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
import :: psb_desc_type, mld_c_jac_smoother_type, psb_c_vect_type, psb_spk_, & import :: psb_desc_type, mld_c_jac_smoother_type, psb_c_vect_type, psb_spk_, &
& psb_cspmat_type, psb_c_base_sparse_mat, psb_c_base_vect_type,& & psb_cspmat_type, psb_c_base_sparse_mat, psb_c_base_vect_type,&
& psb_ipk_ & psb_ipk_
@ -99,6 +99,7 @@ module mld_c_jac_smoother
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_c_vect_type),intent(inout), optional :: initu type(psb_c_vect_type),intent(inout), optional :: initu
type(psb_c_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_c_jac_smoother_apply_vect end subroutine mld_c_jac_smoother_apply_vect
end interface end interface

@ -179,7 +179,7 @@ module mld_d_as_smoother
interface interface
subroutine mld_d_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_d_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, & import :: psb_dspmat_type, psb_d_vect_type, psb_d_base_vect_type, &
& psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, & & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, &
& psb_desc_type, psb_ipk_ & psb_desc_type, psb_ipk_
@ -195,6 +195,7 @@ module mld_d_as_smoother
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_d_vect_type),intent(inout), optional :: initu type(psb_d_vect_type),intent(inout), optional :: initu
type(psb_d_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_d_as_smoother_apply_vect end subroutine mld_d_as_smoother_apply_vect
end interface end interface

@ -153,7 +153,7 @@ module mld_d_base_smoother_mod
interface interface
subroutine mld_d_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_d_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
import :: psb_desc_type, psb_dspmat_type, psb_d_base_sparse_mat, & import :: psb_desc_type, psb_dspmat_type, psb_d_base_sparse_mat, &
& psb_d_vect_type, psb_d_base_vect_type, psb_dpk_, & & psb_d_vect_type, psb_d_base_vect_type, psb_dpk_, &
& mld_d_base_smoother_type, psb_ipk_ & mld_d_base_smoother_type, psb_ipk_
@ -168,6 +168,7 @@ module mld_d_base_smoother_mod
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_d_vect_type),intent(inout), optional :: initu type(psb_d_vect_type),intent(inout), optional :: initu
type(psb_d_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_d_base_smoother_apply_vect end subroutine mld_d_base_smoother_apply_vect
end interface end interface

@ -83,7 +83,7 @@ module mld_d_jac_smoother
interface interface
subroutine mld_d_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_d_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
import :: psb_desc_type, mld_d_jac_smoother_type, psb_d_vect_type, psb_dpk_, & import :: psb_desc_type, mld_d_jac_smoother_type, psb_d_vect_type, psb_dpk_, &
& psb_dspmat_type, psb_d_base_sparse_mat, psb_d_base_vect_type,& & psb_dspmat_type, psb_d_base_sparse_mat, psb_d_base_vect_type,&
& psb_ipk_ & psb_ipk_
@ -99,6 +99,7 @@ module mld_d_jac_smoother
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_d_vect_type),intent(inout), optional :: initu type(psb_d_vect_type),intent(inout), optional :: initu
type(psb_d_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_d_jac_smoother_apply_vect end subroutine mld_d_jac_smoother_apply_vect
end interface end interface

@ -179,7 +179,7 @@ module mld_s_as_smoother
interface interface
subroutine mld_s_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_s_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, & import :: psb_sspmat_type, psb_s_vect_type, psb_s_base_vect_type, &
& psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, & & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, &
& psb_desc_type, psb_ipk_ & psb_desc_type, psb_ipk_
@ -195,6 +195,7 @@ module mld_s_as_smoother
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_s_vect_type),intent(inout), optional :: initu type(psb_s_vect_type),intent(inout), optional :: initu
type(psb_s_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_s_as_smoother_apply_vect end subroutine mld_s_as_smoother_apply_vect
end interface end interface

@ -153,7 +153,7 @@ module mld_s_base_smoother_mod
interface interface
subroutine mld_s_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_s_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
import :: psb_desc_type, psb_sspmat_type, psb_s_base_sparse_mat, & import :: psb_desc_type, psb_sspmat_type, psb_s_base_sparse_mat, &
& psb_s_vect_type, psb_s_base_vect_type, psb_spk_, & & psb_s_vect_type, psb_s_base_vect_type, psb_spk_, &
& mld_s_base_smoother_type, psb_ipk_ & mld_s_base_smoother_type, psb_ipk_
@ -168,6 +168,7 @@ module mld_s_base_smoother_mod
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_s_vect_type),intent(inout), optional :: initu type(psb_s_vect_type),intent(inout), optional :: initu
type(psb_s_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_s_base_smoother_apply_vect end subroutine mld_s_base_smoother_apply_vect
end interface end interface

@ -83,7 +83,7 @@ module mld_s_jac_smoother
interface interface
subroutine mld_s_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_s_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
import :: psb_desc_type, mld_s_jac_smoother_type, psb_s_vect_type, psb_spk_, & import :: psb_desc_type, mld_s_jac_smoother_type, psb_s_vect_type, psb_spk_, &
& psb_sspmat_type, psb_s_base_sparse_mat, psb_s_base_vect_type,& & psb_sspmat_type, psb_s_base_sparse_mat, psb_s_base_vect_type,&
& psb_ipk_ & psb_ipk_
@ -99,6 +99,7 @@ module mld_s_jac_smoother
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_s_vect_type),intent(inout), optional :: initu type(psb_s_vect_type),intent(inout), optional :: initu
type(psb_s_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_s_jac_smoother_apply_vect end subroutine mld_s_jac_smoother_apply_vect
end interface end interface

@ -179,7 +179,7 @@ module mld_z_as_smoother
interface interface
subroutine mld_z_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_z_as_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, & import :: psb_zspmat_type, psb_z_vect_type, psb_z_base_vect_type, &
& psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, & & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, &
& psb_desc_type, psb_ipk_ & psb_desc_type, psb_ipk_
@ -195,6 +195,7 @@ module mld_z_as_smoother
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_z_vect_type),intent(inout), optional :: initu type(psb_z_vect_type),intent(inout), optional :: initu
type(psb_z_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_z_as_smoother_apply_vect end subroutine mld_z_as_smoother_apply_vect
end interface end interface

@ -153,7 +153,7 @@ module mld_z_base_smoother_mod
interface interface
subroutine mld_z_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,& subroutine mld_z_base_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,&
& trans,sweeps,work,info,init,initu) & trans,sweeps,work,info,init,initu,wv)
import :: psb_desc_type, psb_zspmat_type, psb_z_base_sparse_mat, & import :: psb_desc_type, psb_zspmat_type, psb_z_base_sparse_mat, &
& psb_z_vect_type, psb_z_base_vect_type, psb_dpk_, & & psb_z_vect_type, psb_z_base_vect_type, psb_dpk_, &
& mld_z_base_smoother_type, psb_ipk_ & mld_z_base_smoother_type, psb_ipk_
@ -168,6 +168,7 @@ module mld_z_base_smoother_mod
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_z_vect_type),intent(inout), optional :: initu type(psb_z_vect_type),intent(inout), optional :: initu
type(psb_z_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_z_base_smoother_apply_vect end subroutine mld_z_base_smoother_apply_vect
end interface end interface

@ -83,7 +83,7 @@ module mld_z_jac_smoother
interface interface
subroutine mld_z_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,& subroutine mld_z_jac_smoother_apply_vect(alpha,sm,x,beta,y,desc_data,trans,&
& sweeps,work,info,init,initu) & sweeps,work,info,init,initu,wv)
import :: psb_desc_type, mld_z_jac_smoother_type, psb_z_vect_type, psb_dpk_, & import :: psb_desc_type, mld_z_jac_smoother_type, psb_z_vect_type, psb_dpk_, &
& psb_zspmat_type, psb_z_base_sparse_mat, psb_z_base_vect_type,& & psb_zspmat_type, psb_z_base_sparse_mat, psb_z_base_vect_type,&
& psb_ipk_ & psb_ipk_
@ -99,6 +99,7 @@ module mld_z_jac_smoother
integer(psb_ipk_), intent(out) :: info integer(psb_ipk_), intent(out) :: info
character, intent(in), optional :: init character, intent(in), optional :: init
type(psb_z_vect_type),intent(inout), optional :: initu type(psb_z_vect_type),intent(inout), optional :: initu
type(psb_z_vect_type),intent(inout), optional :: wv(:)
end subroutine mld_z_jac_smoother_apply_vect end subroutine mld_z_jac_smoother_apply_vect
end interface end interface

@ -730,8 +730,8 @@ program mld_d_pde2d
call psb_sum(ictxt,amatsize) call psb_sum(ictxt,amatsize)
call psb_sum(ictxt,descsize) call psb_sum(ictxt,descsize)
call psb_sum(ictxt,precsize) call psb_sum(ictxt,precsize)
call prec%descr(info)
if (iam == psb_root_) then if (iam == psb_root_) then
call prec%descr(info)
write(psb_out_unit,'("Computed solution on ",i8," processors")') np write(psb_out_unit,'("Computed solution on ",i8," processors")') np
write(psb_out_unit,'("Krylov method : ",a)') trim(s_choice%kmethd) write(psb_out_unit,'("Krylov method : ",a)') trim(s_choice%kmethd)
write(psb_out_unit,'("Preconditioner : ",a)') trim(p_choice%descr) write(psb_out_unit,'("Preconditioner : ",a)') trim(p_choice%descr)

@ -784,8 +784,8 @@ program mld_d_pde3d
call psb_sum(ictxt,amatsize) call psb_sum(ictxt,amatsize)
call psb_sum(ictxt,descsize) call psb_sum(ictxt,descsize)
call psb_sum(ictxt,precsize) call psb_sum(ictxt,precsize)
call prec%descr(info)
if (iam == psb_root_) then if (iam == psb_root_) then
call prec%descr(info)
write(psb_out_unit,'("Computed solution on ",i8," processors")') np write(psb_out_unit,'("Computed solution on ",i8," processors")') np
write(psb_out_unit,'("Krylov method : ",a)') trim(s_choice%kmethd) write(psb_out_unit,'("Krylov method : ",a)') trim(s_choice%kmethd)
write(psb_out_unit,'("Preconditioner : ",a)') trim(p_choice%descr) write(psb_out_unit,'("Preconditioner : ",a)') trim(p_choice%descr)

@ -730,8 +730,8 @@ program mld_s_pde2d
call psb_sum(ictxt,amatsize) call psb_sum(ictxt,amatsize)
call psb_sum(ictxt,descsize) call psb_sum(ictxt,descsize)
call psb_sum(ictxt,precsize) call psb_sum(ictxt,precsize)
call prec%descr(info)
if (iam == psb_root_) then if (iam == psb_root_) then
call prec%descr(info)
write(psb_out_unit,'("Computed solution on ",i8," processors")') np write(psb_out_unit,'("Computed solution on ",i8," processors")') np
write(psb_out_unit,'("Krylov method : ",a)') trim(s_choice%kmethd) write(psb_out_unit,'("Krylov method : ",a)') trim(s_choice%kmethd)
write(psb_out_unit,'("Preconditioner : ",a)') trim(p_choice%descr) write(psb_out_unit,'("Preconditioner : ",a)') trim(p_choice%descr)

@ -784,8 +784,8 @@ program mld_s_pde3d
call psb_sum(ictxt,amatsize) call psb_sum(ictxt,amatsize)
call psb_sum(ictxt,descsize) call psb_sum(ictxt,descsize)
call psb_sum(ictxt,precsize) call psb_sum(ictxt,precsize)
call prec%descr(info)
if (iam == psb_root_) then if (iam == psb_root_) then
call prec%descr(info)
write(psb_out_unit,'("Computed solution on ",i8," processors")') np write(psb_out_unit,'("Computed solution on ",i8," processors")') np
write(psb_out_unit,'("Krylov method : ",a)') trim(s_choice%kmethd) write(psb_out_unit,'("Krylov method : ",a)') trim(s_choice%kmethd)
write(psb_out_unit,'("Preconditioner : ",a)') trim(p_choice%descr) write(psb_out_unit,'("Preconditioner : ",a)') trim(p_choice%descr)

Loading…
Cancel
Save