mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-20 21:02:26 +00:00
psblas3:
base/Makefile base/modules/Makefile base/modules/psb_psblas_mod.f90 base/modules/psb_tools_mod.f90 base/newserial/Makefile base/newserial/README base/newserial/psbn_base_mat_mod.f03 base/newserial/psbn_d_base_mat_mod.f03 base/newserial/psbn_d_coo_impl.f03 base/newserial/psbn_d_csr_impl.f03 base/newserial/psbn_d_csr_mat_mod.f03 base/newserial/psbn_mat_mod.f03 base/psblas/psb_dnrmi.f90 base/psblas/psb_dspmm.f90 base/tools/psb_dspalloc.f90 base/tools/psb_dspasb.f90 base/tools/psb_dspfree.f90 base/tools/psb_dspins.f90 krylov/psb_dbicg.f90 krylov/psb_dcg.F90 krylov/psb_dcgs.f90 krylov/psb_dcgstab.F90 krylov/psb_dcgstabl.f90 krylov/psb_drgmres.f90 krylov/psb_krylov_mod.f90 prec/psb_dprecbld.f90 prec/psb_dprecinit.f90 prec/psb_dprecset.f90 prec/psb_prec_mod.f90 test/pargen/ppde.f90 test/pargen/runs/ppde.inp test/serial/d_coo_matgen.f03 test/serial/d_matgen.f03 test/serial/psbn_d_cxx_mat_mod.f03 Minimal set of changes to run BICGSTAB in serial mode with NONE as a preconditioner. It does now!
This commit is contained in:
+17
-11
@@ -65,6 +65,7 @@ program ppde
|
||||
use psb_base_mod
|
||||
use psb_prec_mod
|
||||
use psb_krylov_mod
|
||||
use psbn_d_mat_mod
|
||||
implicit none
|
||||
|
||||
! input parameters
|
||||
@@ -77,7 +78,8 @@ program ppde
|
||||
real(psb_dpk_) :: t1, t2, tprec
|
||||
|
||||
! sparse matrix and preconditioner
|
||||
type(psb_dspmat_type) :: a
|
||||
type(psbn_d_sparse_mat) :: a
|
||||
!!$ type(psb_dspmat_type) :: a
|
||||
type(psb_dprec_type) :: prec
|
||||
! descriptor
|
||||
type(psb_desc_type) :: desc_a
|
||||
@@ -176,7 +178,8 @@ program ppde
|
||||
t2 = psb_wtime() - t1
|
||||
call psb_amx(ictxt,t2)
|
||||
|
||||
amatsize = psb_sizeof(a)
|
||||
!!$ amatsize = psb_sizeof(a)
|
||||
amatsize = 0
|
||||
descsize = psb_sizeof(desc_a)
|
||||
precsize = psb_sizeof(prec)
|
||||
call psb_sum(ictxt,amatsize)
|
||||
@@ -343,14 +346,15 @@ contains
|
||||
! Note that if a1=a2=a3=a4=0., the PDE is the well-known Laplace equation.
|
||||
!
|
||||
use psb_base_mod
|
||||
use psbn_d_mat_mod
|
||||
implicit none
|
||||
integer :: idim
|
||||
integer, parameter :: nb=20
|
||||
real(psb_dpk_), allocatable :: b(:),xv(:)
|
||||
type(psb_desc_type) :: desc_a
|
||||
integer :: ictxt, info
|
||||
character :: afmt*5
|
||||
type(psb_dspmat_type) :: a
|
||||
integer :: idim
|
||||
integer, parameter :: nb=20
|
||||
real(psb_dpk_), allocatable :: b(:),xv(:)
|
||||
type(psb_desc_type) :: desc_a
|
||||
integer :: ictxt, info
|
||||
character :: afmt*5
|
||||
type(psbn_d_sparse_mat) :: a
|
||||
real(psb_dpk_) :: zt(nb),glob_x,glob_y,glob_z
|
||||
integer :: m,n,nnz,glob_row,nlr,i,ii,ib,k
|
||||
integer :: x,y,z,ia,indx_owner
|
||||
@@ -359,6 +363,7 @@ contains
|
||||
integer, allocatable :: irow(:),icol(:),myidx(:)
|
||||
real(psb_dpk_), allocatable :: val(:)
|
||||
! deltah dimension of each grid cell
|
||||
|
||||
! deltat discretization time
|
||||
real(psb_dpk_) :: deltah
|
||||
real(psb_dpk_),parameter :: rhs=0.d0,one=1.d0,zero=0.d0
|
||||
@@ -367,7 +372,7 @@ contains
|
||||
external :: a1, a2, a3, a4, b1, b2, b3
|
||||
integer :: err_act
|
||||
|
||||
character(len=20) :: name, ch_err
|
||||
character(len=20) :: name, ch_err,tmpfmt
|
||||
|
||||
info = 0
|
||||
name = 'create_matrix'
|
||||
@@ -612,8 +617,9 @@ contains
|
||||
call psb_amx(ictxt,tasb)
|
||||
call psb_amx(ictxt,ttot)
|
||||
if(iam == psb_root_) then
|
||||
tmpfmt = a%get_fmt()
|
||||
write(*,'("The matrix has been generated and assembled in ",a3," format.")')&
|
||||
& a%fida(1:3)
|
||||
& tmpfmt
|
||||
write(*,'("-allocation time : ",es12.5)') talc
|
||||
write(*,'("-coeff. gen. time : ",es12.5)') tgen
|
||||
write(*,'("-assembly time : ",es12.5)') tasb
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
7 Number of entries below this
|
||||
BICGSTAB Iterative method BICGSTAB CGS BICG BICGSTABL RGMRES
|
||||
BJAC Preconditioner NONE DIAG BJAC
|
||||
NONE Preconditioner NONE DIAG BJAC
|
||||
CSR Storage format for matrix A: CSR COO JAD
|
||||
060 Domain size (acutal system is this**3)
|
||||
050 Domain size (acutal system is this**3)
|
||||
1 Stopping criterion
|
||||
200 MAXIT
|
||||
-1 ITRACE
|
||||
1000 MAXIT
|
||||
040 ITRACE
|
||||
20 IRST restart for RGMRES and BiCGSTABL
|
||||
|
||||
|
||||
|
||||
@@ -357,7 +357,7 @@ contains
|
||||
endif
|
||||
|
||||
end do
|
||||
call acoo%csput(element-1,val,irow,icol,1,nr,1,nr,info)
|
||||
call acoo%csput(element-1,irow,icol,val,1,nr,1,nr,info)
|
||||
|
||||
end do
|
||||
|
||||
|
||||
@@ -357,7 +357,7 @@ contains
|
||||
endif
|
||||
|
||||
end do
|
||||
call a_n%csput(element-1,val,irow,icol,1,nr,1,nr,info)
|
||||
call a_n%csput(element-1,irow,icol,val,1,nr,1,nr,info)
|
||||
|
||||
end do
|
||||
|
||||
|
||||
@@ -129,7 +129,7 @@ module psbn_d_cxx_mat_mod
|
||||
end interface
|
||||
|
||||
interface
|
||||
subroutine d_cxx_csput_impl(nz,val,ia,ja,a,imin,imax,jmin,jmax,info,gtl)
|
||||
subroutine d_cxx_csput_impl(nz,ia,ja,val,a,imin,imax,jmin,jmax,info,gtl)
|
||||
use psb_const_mod
|
||||
import psbn_d_cxx_sparse_mat
|
||||
class(psbn_d_cxx_sparse_mat), intent(inout) :: a
|
||||
|
||||
Reference in New Issue
Block a user