From 55ec0f3da0612efad60b4ad43619cd8106cbeac3 Mon Sep 17 00:00:00 2001 From: Salvatore Filippone Date: Wed, 6 Dec 2017 09:27:39 +0000 Subject: [PATCH] Added WV to smoother method --- mlprec/impl/smoother/mld_c_as_smoother_apply_vect.f90 | 3 ++- mlprec/impl/smoother/mld_c_base_smoother_apply_vect.f90 | 5 +++-- mlprec/impl/smoother/mld_c_jac_smoother_apply_vect.f90 | 5 +++-- mlprec/impl/smoother/mld_d_as_smoother_apply_vect.f90 | 3 ++- mlprec/impl/smoother/mld_d_base_smoother_apply_vect.f90 | 5 +++-- mlprec/impl/smoother/mld_d_jac_smoother_apply_vect.f90 | 5 +++-- mlprec/impl/smoother/mld_s_as_smoother_apply_vect.f90 | 3 ++- mlprec/impl/smoother/mld_s_base_smoother_apply_vect.f90 | 5 +++-- mlprec/impl/smoother/mld_s_jac_smoother_apply_vect.f90 | 5 +++-- mlprec/impl/smoother/mld_z_as_smoother_apply_vect.f90 | 3 ++- mlprec/impl/smoother/mld_z_base_smoother_apply_vect.f90 | 5 +++-- mlprec/impl/smoother/mld_z_jac_smoother_apply_vect.f90 | 5 +++-- mlprec/mld_c_as_smoother.f90 | 3 ++- mlprec/mld_c_base_smoother_mod.f90 | 3 ++- mlprec/mld_c_jac_smoother.f90 | 3 ++- mlprec/mld_d_as_smoother.f90 | 3 ++- mlprec/mld_d_base_smoother_mod.f90 | 3 ++- mlprec/mld_d_jac_smoother.f90 | 3 ++- mlprec/mld_s_as_smoother.f90 | 3 ++- mlprec/mld_s_base_smoother_mod.f90 | 3 ++- mlprec/mld_s_jac_smoother.f90 | 3 ++- mlprec/mld_z_as_smoother.f90 | 3 ++- mlprec/mld_z_base_smoother_mod.f90 | 3 ++- mlprec/mld_z_jac_smoother.f90 | 3 ++- tests/pdegen/mld_d_pde2d.f90 | 2 +- tests/pdegen/mld_d_pde3d.f90 | 2 +- tests/pdegen/mld_s_pde2d.f90 | 2 +- tests/pdegen/mld_s_pde3d.f90 | 2 +- 28 files changed, 60 insertions(+), 36 deletions(-) diff --git a/mlprec/impl/smoother/mld_c_as_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_c_as_smoother_apply_vect.f90 index 1f442af4..fa3d666a 100644 --- a/mlprec/impl/smoother/mld_c_as_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_c_as_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 mld_c_as_smoother, mld_protect_nam => mld_c_as_smoother_apply_vect 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 character, intent(in), optional :: init 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 complex(psb_spk_), pointer :: aux(:) diff --git a/mlprec/impl/smoother/mld_c_base_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_c_base_smoother_apply_vect.f90 index d27d9d8b..cc7eb484 100644 --- a/mlprec/impl/smoother/mld_c_base_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_c_base_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 mld_c_base_smoother_mod, mld_protect_name => mld_c_base_smoother_apply_vect 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 character, intent(in), optional :: init type(psb_c_vect_type),intent(inout), optional :: initu - + type(psb_c_vect_type),intent(inout), optional :: wv(:) + ! integer(psb_ipk_) :: err_act character(len=20) :: name='c_base_smoother_apply' diff --git a/mlprec/impl/smoother/mld_c_jac_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_c_jac_smoother_apply_vect.f90 index 057a651a..ce9d45f7 100644 --- a/mlprec/impl/smoother/mld_c_jac_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_c_jac_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 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 character, intent(in), optional :: init 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 type(psb_c_vect_type) :: tx, ty complex(psb_spk_), pointer :: aux(:) diff --git a/mlprec/impl/smoother/mld_d_as_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_d_as_smoother_apply_vect.f90 index 2c8114a7..08784800 100644 --- a/mlprec/impl/smoother/mld_d_as_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_d_as_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 mld_d_as_smoother, mld_protect_nam => mld_d_as_smoother_apply_vect 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 character, intent(in), optional :: init 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 real(psb_dpk_), pointer :: aux(:) diff --git a/mlprec/impl/smoother/mld_d_base_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_d_base_smoother_apply_vect.f90 index 6982c80a..2033b7a0 100644 --- a/mlprec/impl/smoother/mld_d_base_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_d_base_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 mld_d_base_smoother_mod, mld_protect_name => mld_d_base_smoother_apply_vect 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 character, intent(in), optional :: init type(psb_d_vect_type),intent(inout), optional :: initu - + type(psb_d_vect_type),intent(inout), optional :: wv(:) + ! integer(psb_ipk_) :: err_act character(len=20) :: name='d_base_smoother_apply' diff --git a/mlprec/impl/smoother/mld_d_jac_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_d_jac_smoother_apply_vect.f90 index de352727..280bc233 100644 --- a/mlprec/impl/smoother/mld_d_jac_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_d_jac_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 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 character, intent(in), optional :: init 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 type(psb_d_vect_type) :: tx, ty real(psb_dpk_), pointer :: aux(:) diff --git a/mlprec/impl/smoother/mld_s_as_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_s_as_smoother_apply_vect.f90 index 9b89d844..1e12bff5 100644 --- a/mlprec/impl/smoother/mld_s_as_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_s_as_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 mld_s_as_smoother, mld_protect_nam => mld_s_as_smoother_apply_vect 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 character, intent(in), optional :: init 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 real(psb_spk_), pointer :: aux(:) diff --git a/mlprec/impl/smoother/mld_s_base_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_s_base_smoother_apply_vect.f90 index ee296f9c..031b52e4 100644 --- a/mlprec/impl/smoother/mld_s_base_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_s_base_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 mld_s_base_smoother_mod, mld_protect_name => mld_s_base_smoother_apply_vect 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 character, intent(in), optional :: init type(psb_s_vect_type),intent(inout), optional :: initu - + type(psb_s_vect_type),intent(inout), optional :: wv(:) + ! integer(psb_ipk_) :: err_act character(len=20) :: name='s_base_smoother_apply' diff --git a/mlprec/impl/smoother/mld_s_jac_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_s_jac_smoother_apply_vect.f90 index 7442e4e8..24f81fa7 100644 --- a/mlprec/impl/smoother/mld_s_jac_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_s_jac_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 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 character, intent(in), optional :: init 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 type(psb_s_vect_type) :: tx, ty real(psb_spk_), pointer :: aux(:) diff --git a/mlprec/impl/smoother/mld_z_as_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_z_as_smoother_apply_vect.f90 index bb3cce93..c0658c33 100644 --- a/mlprec/impl/smoother/mld_z_as_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_z_as_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 mld_z_as_smoother, mld_protect_nam => mld_z_as_smoother_apply_vect 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 character, intent(in), optional :: init 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 complex(psb_dpk_), pointer :: aux(:) diff --git a/mlprec/impl/smoother/mld_z_base_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_z_base_smoother_apply_vect.f90 index 448cfaaa..c8edb655 100644 --- a/mlprec/impl/smoother/mld_z_base_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_z_base_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 mld_z_base_smoother_mod, mld_protect_name => mld_z_base_smoother_apply_vect 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 character, intent(in), optional :: init type(psb_z_vect_type),intent(inout), optional :: initu - + type(psb_z_vect_type),intent(inout), optional :: wv(:) + ! integer(psb_ipk_) :: err_act character(len=20) :: name='z_base_smoother_apply' diff --git a/mlprec/impl/smoother/mld_z_jac_smoother_apply_vect.f90 b/mlprec/impl/smoother/mld_z_jac_smoother_apply_vect.f90 index ee97b9c9..0e61fbab 100644 --- a/mlprec/impl/smoother/mld_z_jac_smoother_apply_vect.f90 +++ b/mlprec/impl/smoother/mld_z_jac_smoother_apply_vect.f90 @@ -36,7 +36,7 @@ ! ! 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 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 character, intent(in), optional :: init 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 type(psb_z_vect_type) :: tx, ty complex(psb_dpk_), pointer :: aux(:) diff --git a/mlprec/mld_c_as_smoother.f90 b/mlprec/mld_c_as_smoother.f90 index 3ff35bb5..8f19d162 100644 --- a/mlprec/mld_c_as_smoother.f90 +++ b/mlprec/mld_c_as_smoother.f90 @@ -179,7 +179,7 @@ module mld_c_as_smoother interface 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, & & psb_spk_, mld_c_as_smoother_type, psb_long_int_k_, & & psb_desc_type, psb_ipk_ @@ -195,6 +195,7 @@ module mld_c_as_smoother integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/mlprec/mld_c_base_smoother_mod.f90 b/mlprec/mld_c_base_smoother_mod.f90 index 8cab4558..c442d048 100644 --- a/mlprec/mld_c_base_smoother_mod.f90 +++ b/mlprec/mld_c_base_smoother_mod.f90 @@ -153,7 +153,7 @@ module mld_c_base_smoother_mod interface 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, & & psb_c_vect_type, psb_c_base_vect_type, psb_spk_, & & mld_c_base_smoother_type, psb_ipk_ @@ -168,6 +168,7 @@ module mld_c_base_smoother_mod integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/mlprec/mld_c_jac_smoother.f90 b/mlprec/mld_c_jac_smoother.f90 index bd6e744d..50bf6f19 100644 --- a/mlprec/mld_c_jac_smoother.f90 +++ b/mlprec/mld_c_jac_smoother.f90 @@ -83,7 +83,7 @@ module mld_c_jac_smoother interface 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_, & & psb_cspmat_type, psb_c_base_sparse_mat, psb_c_base_vect_type,& & psb_ipk_ @@ -99,6 +99,7 @@ module mld_c_jac_smoother integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/mlprec/mld_d_as_smoother.f90 b/mlprec/mld_d_as_smoother.f90 index 6ea82acf..2f5b6633 100644 --- a/mlprec/mld_d_as_smoother.f90 +++ b/mlprec/mld_d_as_smoother.f90 @@ -179,7 +179,7 @@ module mld_d_as_smoother interface 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, & & psb_dpk_, mld_d_as_smoother_type, psb_long_int_k_, & & psb_desc_type, psb_ipk_ @@ -195,6 +195,7 @@ module mld_d_as_smoother integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/mlprec/mld_d_base_smoother_mod.f90 b/mlprec/mld_d_base_smoother_mod.f90 index 7af4a5eb..36742af5 100644 --- a/mlprec/mld_d_base_smoother_mod.f90 +++ b/mlprec/mld_d_base_smoother_mod.f90 @@ -153,7 +153,7 @@ module mld_d_base_smoother_mod interface 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, & & psb_d_vect_type, psb_d_base_vect_type, psb_dpk_, & & mld_d_base_smoother_type, psb_ipk_ @@ -168,6 +168,7 @@ module mld_d_base_smoother_mod integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/mlprec/mld_d_jac_smoother.f90 b/mlprec/mld_d_jac_smoother.f90 index ff36d868..db3010b8 100644 --- a/mlprec/mld_d_jac_smoother.f90 +++ b/mlprec/mld_d_jac_smoother.f90 @@ -83,7 +83,7 @@ module mld_d_jac_smoother interface 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_, & & psb_dspmat_type, psb_d_base_sparse_mat, psb_d_base_vect_type,& & psb_ipk_ @@ -99,6 +99,7 @@ module mld_d_jac_smoother integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/mlprec/mld_s_as_smoother.f90 b/mlprec/mld_s_as_smoother.f90 index 196fbfce..437af7d0 100644 --- a/mlprec/mld_s_as_smoother.f90 +++ b/mlprec/mld_s_as_smoother.f90 @@ -179,7 +179,7 @@ module mld_s_as_smoother interface 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, & & psb_spk_, mld_s_as_smoother_type, psb_long_int_k_, & & psb_desc_type, psb_ipk_ @@ -195,6 +195,7 @@ module mld_s_as_smoother integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/mlprec/mld_s_base_smoother_mod.f90 b/mlprec/mld_s_base_smoother_mod.f90 index 6af05762..b8aa11e8 100644 --- a/mlprec/mld_s_base_smoother_mod.f90 +++ b/mlprec/mld_s_base_smoother_mod.f90 @@ -153,7 +153,7 @@ module mld_s_base_smoother_mod interface 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, & & psb_s_vect_type, psb_s_base_vect_type, psb_spk_, & & mld_s_base_smoother_type, psb_ipk_ @@ -168,6 +168,7 @@ module mld_s_base_smoother_mod integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/mlprec/mld_s_jac_smoother.f90 b/mlprec/mld_s_jac_smoother.f90 index d688ca8d..ff8704bd 100644 --- a/mlprec/mld_s_jac_smoother.f90 +++ b/mlprec/mld_s_jac_smoother.f90 @@ -83,7 +83,7 @@ module mld_s_jac_smoother interface 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_, & & psb_sspmat_type, psb_s_base_sparse_mat, psb_s_base_vect_type,& & psb_ipk_ @@ -99,6 +99,7 @@ module mld_s_jac_smoother integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/mlprec/mld_z_as_smoother.f90 b/mlprec/mld_z_as_smoother.f90 index b37a0173..a7fba9eb 100644 --- a/mlprec/mld_z_as_smoother.f90 +++ b/mlprec/mld_z_as_smoother.f90 @@ -179,7 +179,7 @@ module mld_z_as_smoother interface 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, & & psb_dpk_, mld_z_as_smoother_type, psb_long_int_k_, & & psb_desc_type, psb_ipk_ @@ -195,6 +195,7 @@ module mld_z_as_smoother integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/mlprec/mld_z_base_smoother_mod.f90 b/mlprec/mld_z_base_smoother_mod.f90 index 7312b9c0..98b01657 100644 --- a/mlprec/mld_z_base_smoother_mod.f90 +++ b/mlprec/mld_z_base_smoother_mod.f90 @@ -153,7 +153,7 @@ module mld_z_base_smoother_mod interface 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, & & psb_z_vect_type, psb_z_base_vect_type, psb_dpk_, & & mld_z_base_smoother_type, psb_ipk_ @@ -168,6 +168,7 @@ module mld_z_base_smoother_mod integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/mlprec/mld_z_jac_smoother.f90 b/mlprec/mld_z_jac_smoother.f90 index f009a088..1e6146a7 100644 --- a/mlprec/mld_z_jac_smoother.f90 +++ b/mlprec/mld_z_jac_smoother.f90 @@ -83,7 +83,7 @@ module mld_z_jac_smoother interface 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_, & & psb_zspmat_type, psb_z_base_sparse_mat, psb_z_base_vect_type,& & psb_ipk_ @@ -99,6 +99,7 @@ module mld_z_jac_smoother integer(psb_ipk_), intent(out) :: info character, intent(in), optional :: init 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 interface diff --git a/tests/pdegen/mld_d_pde2d.f90 b/tests/pdegen/mld_d_pde2d.f90 index 4b011f0c..9b31e101 100644 --- a/tests/pdegen/mld_d_pde2d.f90 +++ b/tests/pdegen/mld_d_pde2d.f90 @@ -730,8 +730,8 @@ program mld_d_pde2d call psb_sum(ictxt,amatsize) call psb_sum(ictxt,descsize) call psb_sum(ictxt,precsize) - call prec%descr(info) if (iam == psb_root_) then + call prec%descr(info) 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,'("Preconditioner : ",a)') trim(p_choice%descr) diff --git a/tests/pdegen/mld_d_pde3d.f90 b/tests/pdegen/mld_d_pde3d.f90 index 4fef2189..ba87fc99 100644 --- a/tests/pdegen/mld_d_pde3d.f90 +++ b/tests/pdegen/mld_d_pde3d.f90 @@ -784,8 +784,8 @@ program mld_d_pde3d call psb_sum(ictxt,amatsize) call psb_sum(ictxt,descsize) call psb_sum(ictxt,precsize) - call prec%descr(info) if (iam == psb_root_) then + call prec%descr(info) 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,'("Preconditioner : ",a)') trim(p_choice%descr) diff --git a/tests/pdegen/mld_s_pde2d.f90 b/tests/pdegen/mld_s_pde2d.f90 index 57af569f..2c590f22 100644 --- a/tests/pdegen/mld_s_pde2d.f90 +++ b/tests/pdegen/mld_s_pde2d.f90 @@ -730,8 +730,8 @@ program mld_s_pde2d call psb_sum(ictxt,amatsize) call psb_sum(ictxt,descsize) call psb_sum(ictxt,precsize) - call prec%descr(info) if (iam == psb_root_) then + call prec%descr(info) 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,'("Preconditioner : ",a)') trim(p_choice%descr) diff --git a/tests/pdegen/mld_s_pde3d.f90 b/tests/pdegen/mld_s_pde3d.f90 index 19ff5e86..b454ed25 100644 --- a/tests/pdegen/mld_s_pde3d.f90 +++ b/tests/pdegen/mld_s_pde3d.f90 @@ -784,8 +784,8 @@ program mld_s_pde3d call psb_sum(ictxt,amatsize) call psb_sum(ictxt,descsize) call psb_sum(ictxt,precsize) - call prec%descr(info) if (iam == psb_root_) then + call prec%descr(info) 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,'("Preconditioner : ",a)') trim(p_choice%descr)