Add base matrix info to prec%descr

merge-maint-par
sfilippone 2 months ago
parent 01cc7ada88
commit 246992cb65

@ -88,6 +88,7 @@ subroutine amg_cfile_prec_descr(prec,info,iout,root, verbosity,prefix)
logical :: is_symgs logical :: is_symgs
character(len=20), parameter :: name='amg_file_prec_descr' character(len=20), parameter :: name='amg_file_prec_descr'
integer(psb_ipk_) :: iout_, root_, verbosity_ integer(psb_ipk_) :: iout_, root_, verbosity_
integer(psb_lpk_) :: gl_nrows,gl_ncols,gl_nzeros
character(1024) :: prefix_ character(1024) :: prefix_
info = psb_success_ info = psb_success_
@ -122,6 +123,12 @@ subroutine amg_cfile_prec_descr(prec,info,iout,root, verbosity,prefix)
if (root_ == -1) root_ = me if (root_ == -1) root_ = me
if (verbosity_ >=0) then if (verbosity_ >=0) then
gl_nrows = prec%precv(1)%base_a%get_nrows()
gl_ncols = prec%precv(1)%base_a%get_ncols()
gl_nzeros = prec%precv(1)%base_a%get_nzeros()
call psb_sum(ctxt,gl_nrows)
call psb_sum(ctxt,gl_ncols)
call psb_sum(ctxt,gl_nzeros)
! !
! The preconditioner description is printed by processor psb_root_. ! The preconditioner description is printed by processor psb_root_.
! This agrees with the fact that all the parameters defining the ! This agrees with the fact that all the parameters defining the
@ -141,7 +148,11 @@ subroutine amg_cfile_prec_descr(prec,info,iout,root, verbosity,prefix)
write(iout_,*) write(iout_,*)
write(iout_,'(a,1x,a)') trim(prefix_),'Preconditioner description' write(iout_,'(a,1x,a)') trim(prefix_),'Preconditioner description'
write(iout_,*)
write(iout_,*) trim(prefix_),' Base matrix : ',&
& gl_nrows, gl_ncols, gl_nzeros
write(iout_,*)
if (nlev == 1) then if (nlev == 1) then
! !
! Here we have a gigantic kludge just to handle Symmetrized Gauss-Seidel. ! Here we have a gigantic kludge just to handle Symmetrized Gauss-Seidel.

@ -88,6 +88,7 @@ subroutine amg_dfile_prec_descr(prec,info,iout,root, verbosity,prefix)
logical :: is_symgs logical :: is_symgs
character(len=20), parameter :: name='amg_file_prec_descr' character(len=20), parameter :: name='amg_file_prec_descr'
integer(psb_ipk_) :: iout_, root_, verbosity_ integer(psb_ipk_) :: iout_, root_, verbosity_
integer(psb_lpk_) :: gl_nrows,gl_ncols,gl_nzeros
character(1024) :: prefix_ character(1024) :: prefix_
info = psb_success_ info = psb_success_
@ -122,6 +123,12 @@ subroutine amg_dfile_prec_descr(prec,info,iout,root, verbosity,prefix)
if (root_ == -1) root_ = me if (root_ == -1) root_ = me
if (verbosity_ >=0) then if (verbosity_ >=0) then
gl_nrows = prec%precv(1)%base_a%get_nrows()
gl_ncols = prec%precv(1)%base_a%get_ncols()
gl_nzeros = prec%precv(1)%base_a%get_nzeros()
call psb_sum(ctxt,gl_nrows)
call psb_sum(ctxt,gl_ncols)
call psb_sum(ctxt,gl_nzeros)
! !
! The preconditioner description is printed by processor psb_root_. ! The preconditioner description is printed by processor psb_root_.
! This agrees with the fact that all the parameters defining the ! This agrees with the fact that all the parameters defining the
@ -141,7 +148,11 @@ subroutine amg_dfile_prec_descr(prec,info,iout,root, verbosity,prefix)
write(iout_,*) write(iout_,*)
write(iout_,'(a,1x,a)') trim(prefix_),'Preconditioner description' write(iout_,'(a,1x,a)') trim(prefix_),'Preconditioner description'
write(iout_,*)
write(iout_,*) trim(prefix_),' Base matrix : ',&
& gl_nrows, gl_ncols, gl_nzeros
write(iout_,*)
if (nlev == 1) then if (nlev == 1) then
! !
! Here we have a gigantic kludge just to handle Symmetrized Gauss-Seidel. ! Here we have a gigantic kludge just to handle Symmetrized Gauss-Seidel.

@ -88,6 +88,7 @@ subroutine amg_sfile_prec_descr(prec,info,iout,root, verbosity,prefix)
logical :: is_symgs logical :: is_symgs
character(len=20), parameter :: name='amg_file_prec_descr' character(len=20), parameter :: name='amg_file_prec_descr'
integer(psb_ipk_) :: iout_, root_, verbosity_ integer(psb_ipk_) :: iout_, root_, verbosity_
integer(psb_lpk_) :: gl_nrows,gl_ncols,gl_nzeros
character(1024) :: prefix_ character(1024) :: prefix_
info = psb_success_ info = psb_success_
@ -122,6 +123,12 @@ subroutine amg_sfile_prec_descr(prec,info,iout,root, verbosity,prefix)
if (root_ == -1) root_ = me if (root_ == -1) root_ = me
if (verbosity_ >=0) then if (verbosity_ >=0) then
gl_nrows = prec%precv(1)%base_a%get_nrows()
gl_ncols = prec%precv(1)%base_a%get_ncols()
gl_nzeros = prec%precv(1)%base_a%get_nzeros()
call psb_sum(ctxt,gl_nrows)
call psb_sum(ctxt,gl_ncols)
call psb_sum(ctxt,gl_nzeros)
! !
! The preconditioner description is printed by processor psb_root_. ! The preconditioner description is printed by processor psb_root_.
! This agrees with the fact that all the parameters defining the ! This agrees with the fact that all the parameters defining the
@ -141,7 +148,11 @@ subroutine amg_sfile_prec_descr(prec,info,iout,root, verbosity,prefix)
write(iout_,*) write(iout_,*)
write(iout_,'(a,1x,a)') trim(prefix_),'Preconditioner description' write(iout_,'(a,1x,a)') trim(prefix_),'Preconditioner description'
write(iout_,*)
write(iout_,*) trim(prefix_),' Base matrix : ',&
& gl_nrows, gl_ncols, gl_nzeros
write(iout_,*)
if (nlev == 1) then if (nlev == 1) then
! !
! Here we have a gigantic kludge just to handle Symmetrized Gauss-Seidel. ! Here we have a gigantic kludge just to handle Symmetrized Gauss-Seidel.

@ -88,6 +88,7 @@ subroutine amg_zfile_prec_descr(prec,info,iout,root, verbosity,prefix)
logical :: is_symgs logical :: is_symgs
character(len=20), parameter :: name='amg_file_prec_descr' character(len=20), parameter :: name='amg_file_prec_descr'
integer(psb_ipk_) :: iout_, root_, verbosity_ integer(psb_ipk_) :: iout_, root_, verbosity_
integer(psb_lpk_) :: gl_nrows,gl_ncols,gl_nzeros
character(1024) :: prefix_ character(1024) :: prefix_
info = psb_success_ info = psb_success_
@ -122,6 +123,12 @@ subroutine amg_zfile_prec_descr(prec,info,iout,root, verbosity,prefix)
if (root_ == -1) root_ = me if (root_ == -1) root_ = me
if (verbosity_ >=0) then if (verbosity_ >=0) then
gl_nrows = prec%precv(1)%base_a%get_nrows()
gl_ncols = prec%precv(1)%base_a%get_ncols()
gl_nzeros = prec%precv(1)%base_a%get_nzeros()
call psb_sum(ctxt,gl_nrows)
call psb_sum(ctxt,gl_ncols)
call psb_sum(ctxt,gl_nzeros)
! !
! The preconditioner description is printed by processor psb_root_. ! The preconditioner description is printed by processor psb_root_.
! This agrees with the fact that all the parameters defining the ! This agrees with the fact that all the parameters defining the
@ -141,7 +148,11 @@ subroutine amg_zfile_prec_descr(prec,info,iout,root, verbosity,prefix)
write(iout_,*) write(iout_,*)
write(iout_,'(a,1x,a)') trim(prefix_),'Preconditioner description' write(iout_,'(a,1x,a)') trim(prefix_),'Preconditioner description'
write(iout_,*)
write(iout_,*) trim(prefix_),' Base matrix : ',&
& gl_nrows, gl_ncols, gl_nzeros
write(iout_,*)
if (nlev == 1) then if (nlev == 1) then
! !
! Here we have a gigantic kludge just to handle Symmetrized Gauss-Seidel. ! Here we have a gigantic kludge just to handle Symmetrized Gauss-Seidel.

Loading…
Cancel
Save