mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-06 22:55:12 +00:00
Change name PTAP into RAP.
This commit is contained in:
@@ -137,8 +137,8 @@ module amg_c_base_aggregator_mod
|
||||
end subroutine amg_c_ptap_bld
|
||||
end interface amg_ptap_bld
|
||||
|
||||
interface amg_ptap
|
||||
subroutine amg_c_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
interface amg_rap
|
||||
subroutine amg_c_rap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
& coo_prol,desc_cprol,coo_restr,info)
|
||||
import :: psb_c_csr_sparse_mat, psb_cspmat_type, psb_desc_type, &
|
||||
& psb_c_coo_sparse_mat, amg_sml_parms, psb_spk_, psb_ipk_, psb_lpk_
|
||||
@@ -151,8 +151,8 @@ module amg_c_base_aggregator_mod
|
||||
type(psb_desc_type), intent(inout) :: desc_cprol
|
||||
type(psb_cspmat_type), intent(out) :: ac
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine amg_c_ptap
|
||||
end interface amg_ptap
|
||||
end subroutine amg_c_rap
|
||||
end interface amg_rap
|
||||
|
||||
contains
|
||||
|
||||
|
||||
@@ -137,8 +137,8 @@ module amg_d_base_aggregator_mod
|
||||
end subroutine amg_d_ptap_bld
|
||||
end interface amg_ptap_bld
|
||||
|
||||
interface amg_ptap
|
||||
subroutine amg_d_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
interface amg_rap
|
||||
subroutine amg_d_rap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
& coo_prol,desc_cprol,coo_restr,info)
|
||||
import :: psb_d_csr_sparse_mat, psb_dspmat_type, psb_desc_type, &
|
||||
& psb_d_coo_sparse_mat, amg_dml_parms, psb_dpk_, psb_ipk_, psb_lpk_
|
||||
@@ -151,8 +151,8 @@ module amg_d_base_aggregator_mod
|
||||
type(psb_desc_type), intent(inout) :: desc_cprol
|
||||
type(psb_dspmat_type), intent(out) :: ac
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine amg_d_ptap
|
||||
end interface amg_ptap
|
||||
end subroutine amg_d_rap
|
||||
end interface amg_rap
|
||||
|
||||
contains
|
||||
|
||||
|
||||
@@ -137,8 +137,8 @@ module amg_s_base_aggregator_mod
|
||||
end subroutine amg_s_ptap_bld
|
||||
end interface amg_ptap_bld
|
||||
|
||||
interface amg_ptap
|
||||
subroutine amg_s_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
interface amg_rap
|
||||
subroutine amg_s_rap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
& coo_prol,desc_cprol,coo_restr,info)
|
||||
import :: psb_s_csr_sparse_mat, psb_sspmat_type, psb_desc_type, &
|
||||
& psb_s_coo_sparse_mat, amg_sml_parms, psb_spk_, psb_ipk_, psb_lpk_
|
||||
@@ -151,8 +151,8 @@ module amg_s_base_aggregator_mod
|
||||
type(psb_desc_type), intent(inout) :: desc_cprol
|
||||
type(psb_sspmat_type), intent(out) :: ac
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine amg_s_ptap
|
||||
end interface amg_ptap
|
||||
end subroutine amg_s_rap
|
||||
end interface amg_rap
|
||||
|
||||
contains
|
||||
|
||||
|
||||
@@ -137,8 +137,8 @@ module amg_z_base_aggregator_mod
|
||||
end subroutine amg_z_ptap_bld
|
||||
end interface amg_ptap_bld
|
||||
|
||||
interface amg_ptap
|
||||
subroutine amg_z_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
interface amg_rap
|
||||
subroutine amg_z_rap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
& coo_prol,desc_cprol,coo_restr,info)
|
||||
import :: psb_z_csr_sparse_mat, psb_zspmat_type, psb_desc_type, &
|
||||
& psb_z_coo_sparse_mat, amg_dml_parms, psb_dpk_, psb_ipk_, psb_lpk_
|
||||
@@ -151,8 +151,8 @@ module amg_z_base_aggregator_mod
|
||||
type(psb_desc_type), intent(inout) :: desc_cprol
|
||||
type(psb_zspmat_type), intent(out) :: ac
|
||||
integer(psb_ipk_), intent(out) :: info
|
||||
end subroutine amg_z_ptap
|
||||
end interface amg_ptap
|
||||
end subroutine amg_z_rap
|
||||
end interface amg_rap
|
||||
|
||||
contains
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ amg_s_dec_aggregator_mat_bld.o \
|
||||
amg_s_dec_aggregator_tprol.o \
|
||||
amg_s_symdec_aggregator_tprol.o \
|
||||
amg_s_map_to_tprol.o amg_s_soc1_map_bld.o amg_s_soc2_map_bld.o\
|
||||
amg_s_ptap.o amg_s_ptap_bld.o \
|
||||
amg_s_rap.o amg_s_ptap_bld.o \
|
||||
amg_saggrmat_minnrg_bld.o\
|
||||
amg_saggrmat_nosmth_bld.o amg_saggrmat_smth_bld.o \
|
||||
amg_d_dec_aggregator_mat_asb.o \
|
||||
@@ -22,7 +22,7 @@ amg_d_dec_aggregator_mat_bld.o \
|
||||
amg_d_dec_aggregator_tprol.o \
|
||||
amg_d_symdec_aggregator_tprol.o \
|
||||
amg_d_map_to_tprol.o amg_d_soc1_map_bld.o amg_d_soc2_map_bld.o \
|
||||
amg_d_ptap.o amg_d_ptap_bld.o \
|
||||
amg_d_rap.o amg_d_ptap_bld.o \
|
||||
amg_daggrmat_minnrg_bld.o \
|
||||
amg_daggrmat_nosmth_bld.o amg_daggrmat_smth_bld.o \
|
||||
amg_c_dec_aggregator_mat_asb.o \
|
||||
@@ -30,7 +30,7 @@ amg_c_dec_aggregator_mat_bld.o \
|
||||
amg_c_dec_aggregator_tprol.o \
|
||||
amg_c_symdec_aggregator_tprol.o \
|
||||
amg_c_map_to_tprol.o amg_c_soc1_map_bld.o amg_c_soc2_map_bld.o\
|
||||
amg_c_ptap.o amg_c_ptap_bld.o \
|
||||
amg_c_rap.o amg_c_ptap_bld.o \
|
||||
amg_caggrmat_minnrg_bld.o\
|
||||
amg_caggrmat_nosmth_bld.o amg_caggrmat_smth_bld.o \
|
||||
amg_z_dec_aggregator_mat_asb.o \
|
||||
@@ -38,7 +38,7 @@ amg_z_dec_aggregator_mat_bld.o \
|
||||
amg_z_dec_aggregator_tprol.o \
|
||||
amg_z_symdec_aggregator_tprol.o \
|
||||
amg_z_map_to_tprol.o amg_z_soc1_map_bld.o amg_z_soc2_map_bld.o\
|
||||
amg_z_ptap.o amg_z_ptap_bld.o \
|
||||
amg_z_rap.o amg_z_ptap_bld.o \
|
||||
amg_zaggrmat_minnrg_bld.o\
|
||||
amg_zaggrmat_nosmth_bld.o amg_zaggrmat_smth_bld.o
|
||||
|
||||
|
||||
@@ -32,17 +32,21 @@
|
||||
! POSSIBILITY OF SUCH DAMAGE.
|
||||
!
|
||||
!
|
||||
! File: amg_ptap.F90
|
||||
! File: amg_rap.F90
|
||||
!
|
||||
! This routine computes the triple product :
|
||||
! AC = P^T A P
|
||||
! P^T is stored in Restr
|
||||
! AC = R A P
|
||||
! R is stored in Restr
|
||||
! WARNINGS:
|
||||
! 1. So far this has only been tested with R=P^T
|
||||
! 2. Patterns and descriptors need to be consistent
|
||||
! between initial build and application of this.
|
||||
!
|
||||
subroutine amg_c_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
subroutine amg_c_rap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
& coo_prol,desc_ac,coo_restr,info)
|
||||
use psb_base_mod
|
||||
use amg_c_inner_mod
|
||||
use amg_c_base_aggregator_mod, amg_protect_name => amg_c_ptap
|
||||
use amg_c_base_aggregator_mod, amg_protect_name => amg_c_rap
|
||||
implicit none
|
||||
|
||||
! Arguments
|
||||
@@ -68,7 +72,7 @@ subroutine amg_c_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza
|
||||
logical, parameter :: debug=.false.
|
||||
|
||||
name='amg_ptap'
|
||||
name='amg_rap'
|
||||
if(psb_get_errstatus().ne.0) return
|
||||
info=psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -151,7 +155,7 @@ subroutine amg_c_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
|
||||
if (debug_level >= psb_debug_outer_) &
|
||||
& write(debug_unit,*) me,' ',trim(name),&
|
||||
& 'Done ptap '
|
||||
& 'Done rap '
|
||||
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -159,4 +163,4 @@ subroutine amg_c_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
9999 call psb_error_handler(err_act)
|
||||
|
||||
return
|
||||
end subroutine amg_c_ptap
|
||||
end subroutine amg_c_rap
|
||||
@@ -32,17 +32,21 @@
|
||||
! POSSIBILITY OF SUCH DAMAGE.
|
||||
!
|
||||
!
|
||||
! File: amg_ptap.F90
|
||||
! File: amg_rap.F90
|
||||
!
|
||||
! This routine computes the triple product :
|
||||
! AC = P^T A P
|
||||
! P^T is stored in Restr
|
||||
! AC = R A P
|
||||
! R is stored in Restr
|
||||
! WARNINGS:
|
||||
! 1. So far this has only been tested with R=P^T
|
||||
! 2. Patterns and descriptors need to be consistent
|
||||
! between initial build and application of this.
|
||||
!
|
||||
subroutine amg_d_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
subroutine amg_d_rap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
& coo_prol,desc_ac,coo_restr,info)
|
||||
use psb_base_mod
|
||||
use amg_d_inner_mod
|
||||
use amg_d_base_aggregator_mod, amg_protect_name => amg_d_ptap
|
||||
use amg_d_base_aggregator_mod, amg_protect_name => amg_d_rap
|
||||
implicit none
|
||||
|
||||
! Arguments
|
||||
@@ -68,7 +72,7 @@ subroutine amg_d_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza
|
||||
logical, parameter :: debug=.false.
|
||||
|
||||
name='amg_ptap'
|
||||
name='amg_rap'
|
||||
if(psb_get_errstatus().ne.0) return
|
||||
info=psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -151,7 +155,7 @@ subroutine amg_d_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
|
||||
if (debug_level >= psb_debug_outer_) &
|
||||
& write(debug_unit,*) me,' ',trim(name),&
|
||||
& 'Done ptap '
|
||||
& 'Done rap '
|
||||
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -159,4 +163,4 @@ subroutine amg_d_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
9999 call psb_error_handler(err_act)
|
||||
|
||||
return
|
||||
end subroutine amg_d_ptap
|
||||
end subroutine amg_d_rap
|
||||
@@ -32,17 +32,21 @@
|
||||
! POSSIBILITY OF SUCH DAMAGE.
|
||||
!
|
||||
!
|
||||
! File: amg_ptap.F90
|
||||
! File: amg_rap.F90
|
||||
!
|
||||
! This routine computes the triple product :
|
||||
! AC = P^T A P
|
||||
! P^T is stored in Restr
|
||||
! AC = R A P
|
||||
! R is stored in Restr
|
||||
! WARNINGS:
|
||||
! 1. So far this has only been tested with R=P^T
|
||||
! 2. Patterns and descriptors need to be consistent
|
||||
! between initial build and application of this.
|
||||
!
|
||||
subroutine amg_s_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
subroutine amg_s_rap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
& coo_prol,desc_ac,coo_restr,info)
|
||||
use psb_base_mod
|
||||
use amg_s_inner_mod
|
||||
use amg_s_base_aggregator_mod, amg_protect_name => amg_s_ptap
|
||||
use amg_s_base_aggregator_mod, amg_protect_name => amg_s_rap
|
||||
implicit none
|
||||
|
||||
! Arguments
|
||||
@@ -68,7 +72,7 @@ subroutine amg_s_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza
|
||||
logical, parameter :: debug=.false.
|
||||
|
||||
name='amg_ptap'
|
||||
name='amg_rap'
|
||||
if(psb_get_errstatus().ne.0) return
|
||||
info=psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -151,7 +155,7 @@ subroutine amg_s_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
|
||||
if (debug_level >= psb_debug_outer_) &
|
||||
& write(debug_unit,*) me,' ',trim(name),&
|
||||
& 'Done ptap '
|
||||
& 'Done rap '
|
||||
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -159,4 +163,4 @@ subroutine amg_s_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
9999 call psb_error_handler(err_act)
|
||||
|
||||
return
|
||||
end subroutine amg_s_ptap
|
||||
end subroutine amg_s_rap
|
||||
@@ -32,17 +32,21 @@
|
||||
! POSSIBILITY OF SUCH DAMAGE.
|
||||
!
|
||||
!
|
||||
! File: amg_ptap.F90
|
||||
! File: amg_rap.F90
|
||||
!
|
||||
! This routine computes the triple product :
|
||||
! AC = P^T A P
|
||||
! P^T is stored in Restr
|
||||
! AC = R A P
|
||||
! R is stored in Restr
|
||||
! WARNINGS:
|
||||
! 1. So far this has only been tested with R=P^T
|
||||
! 2. Patterns and descriptors need to be consistent
|
||||
! between initial build and application of this.
|
||||
!
|
||||
subroutine amg_z_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
subroutine amg_z_rap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
& coo_prol,desc_ac,coo_restr,info)
|
||||
use psb_base_mod
|
||||
use amg_z_inner_mod
|
||||
use amg_z_base_aggregator_mod, amg_protect_name => amg_z_ptap
|
||||
use amg_z_base_aggregator_mod, amg_protect_name => amg_z_rap
|
||||
implicit none
|
||||
|
||||
! Arguments
|
||||
@@ -68,7 +72,7 @@ subroutine amg_z_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
integer(psb_lpk_) :: nrsave, ncsave, nzsave, nza
|
||||
logical, parameter :: debug=.false.
|
||||
|
||||
name='amg_ptap'
|
||||
name='amg_rap'
|
||||
if(psb_get_errstatus().ne.0) return
|
||||
info=psb_success_
|
||||
call psb_erractionsave(err_act)
|
||||
@@ -151,7 +155,7 @@ subroutine amg_z_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
|
||||
if (debug_level >= psb_debug_outer_) &
|
||||
& write(debug_unit,*) me,' ',trim(name),&
|
||||
& 'Done ptap '
|
||||
& 'Done rap '
|
||||
|
||||
call psb_erractionrestore(err_act)
|
||||
return
|
||||
@@ -159,4 +163,4 @@ subroutine amg_z_ptap(a_csr,desc_a,nlaggr,parms,ac,&
|
||||
9999 call psb_error_handler(err_act)
|
||||
|
||||
return
|
||||
end subroutine amg_z_ptap
|
||||
end subroutine amg_z_rap
|
||||
@@ -128,7 +128,7 @@ subroutine amg_c_hierarchy_rebld(a,desc_a,prec,info)
|
||||
p_desc_a => prec%precv(i-1)%base_desc
|
||||
call prec%precv(i)%map%mat_V2U%cp_to(coo_prol)
|
||||
call prec%precv(i)%map%mat_U2V%cp_to(coo_restr)
|
||||
call amg_ptap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
|
||||
call amg_rap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
|
||||
& prec%precv(i)%parms,prec%precv(i)%ac,&
|
||||
& coo_prol,prec%precv(i)%desc_ac,coo_restr,info)
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ subroutine amg_d_hierarchy_rebld(a,desc_a,prec,info)
|
||||
p_desc_a => prec%precv(i-1)%base_desc
|
||||
call prec%precv(i)%map%mat_V2U%cp_to(coo_prol)
|
||||
call prec%precv(i)%map%mat_U2V%cp_to(coo_restr)
|
||||
call amg_ptap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
|
||||
call amg_rap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
|
||||
& prec%precv(i)%parms,prec%precv(i)%ac,&
|
||||
& coo_prol,prec%precv(i)%desc_ac,coo_restr,info)
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ subroutine amg_s_hierarchy_rebld(a,desc_a,prec,info)
|
||||
p_desc_a => prec%precv(i-1)%base_desc
|
||||
call prec%precv(i)%map%mat_V2U%cp_to(coo_prol)
|
||||
call prec%precv(i)%map%mat_U2V%cp_to(coo_restr)
|
||||
call amg_ptap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
|
||||
call amg_rap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
|
||||
& prec%precv(i)%parms,prec%precv(i)%ac,&
|
||||
& coo_prol,prec%precv(i)%desc_ac,coo_restr,info)
|
||||
|
||||
|
||||
@@ -128,7 +128,7 @@ subroutine amg_z_hierarchy_rebld(a,desc_a,prec,info)
|
||||
p_desc_a => prec%precv(i-1)%base_desc
|
||||
call prec%precv(i)%map%mat_V2U%cp_to(coo_prol)
|
||||
call prec%precv(i)%map%mat_U2V%cp_to(coo_restr)
|
||||
call amg_ptap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
|
||||
call amg_rap(acsr,p_desc_a,prec%precv(i)%map%naggr,&
|
||||
& prec%precv(i)%parms,prec%precv(i)%ac,&
|
||||
& coo_prol,prec%precv(i)%desc_ac,coo_restr,info)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user