mirror of
https://github.com/sfilippone/amg4psblas.git
synced 2026-10-20 12:52:16 +00:00
In L1-GS only add nonzero D1 entries.
This commit is contained in:
@@ -95,11 +95,14 @@ subroutine mld_c_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = -sv%xtra(k)
|
||||
if (sv%xtra(k) /= szero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = -sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%l%mv_from(tcoo)
|
||||
|
||||
@@ -109,11 +112,14 @@ subroutine mld_c_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = sv%xtra(k)
|
||||
if (sv%xtra(k) /= szero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%u%mv_from(tcoo)
|
||||
end block
|
||||
|
||||
@@ -93,11 +93,14 @@ subroutine mld_c_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = sv%xtra(k)
|
||||
if (sv%xtra(k) /= szero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%l%mv_from(tcoo)
|
||||
|
||||
@@ -107,11 +110,14 @@ subroutine mld_c_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = -sv%xtra(k)
|
||||
if (sv%xtra(k) /= szero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = -sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%u%mv_from(tcoo)
|
||||
end block
|
||||
|
||||
@@ -95,11 +95,14 @@ subroutine mld_d_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = -sv%xtra(k)
|
||||
if (sv%xtra(k) /= dzero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = -sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%l%mv_from(tcoo)
|
||||
|
||||
@@ -109,11 +112,14 @@ subroutine mld_d_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = sv%xtra(k)
|
||||
if (sv%xtra(k) /= dzero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%u%mv_from(tcoo)
|
||||
end block
|
||||
|
||||
@@ -93,11 +93,14 @@ subroutine mld_d_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = sv%xtra(k)
|
||||
if (sv%xtra(k) /= dzero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%l%mv_from(tcoo)
|
||||
|
||||
@@ -107,11 +110,14 @@ subroutine mld_d_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = -sv%xtra(k)
|
||||
if (sv%xtra(k) /= dzero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = -sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%u%mv_from(tcoo)
|
||||
end block
|
||||
|
||||
@@ -95,11 +95,14 @@ subroutine mld_s_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = -sv%xtra(k)
|
||||
if (sv%xtra(k) /= szero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = -sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%l%mv_from(tcoo)
|
||||
|
||||
@@ -109,11 +112,14 @@ subroutine mld_s_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = sv%xtra(k)
|
||||
if (sv%xtra(k) /= szero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%u%mv_from(tcoo)
|
||||
end block
|
||||
|
||||
@@ -93,11 +93,14 @@ subroutine mld_s_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = sv%xtra(k)
|
||||
if (sv%xtra(k) /= szero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%l%mv_from(tcoo)
|
||||
|
||||
@@ -107,11 +110,14 @@ subroutine mld_s_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = -sv%xtra(k)
|
||||
if (sv%xtra(k) /= szero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = -sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%u%mv_from(tcoo)
|
||||
end block
|
||||
|
||||
@@ -95,11 +95,14 @@ subroutine mld_z_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = -sv%xtra(k)
|
||||
if (sv%xtra(k) /= dzero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = -sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%l%mv_from(tcoo)
|
||||
|
||||
@@ -109,11 +112,14 @@ subroutine mld_z_bwgs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = sv%xtra(k)
|
||||
if (sv%xtra(k) /= dzero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%u%mv_from(tcoo)
|
||||
end block
|
||||
|
||||
@@ -93,11 +93,14 @@ subroutine mld_z_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = sv%xtra(k)
|
||||
if (sv%xtra(k) /= dzero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%l%mv_from(tcoo)
|
||||
|
||||
@@ -107,11 +110,14 @@ subroutine mld_z_gs_solver_bld(a,desc_a,sv,info,b,amold,vmold,imold)
|
||||
call tcoo%ensure_size(nz+nrm)
|
||||
call tcoo%set_dupl(psb_dupl_add_)
|
||||
do k=1,nrm
|
||||
tcoo%ia(nz+k) = k
|
||||
tcoo%ja(nz+k) = k
|
||||
tcoo%val(nz+k) = -sv%xtra(k)
|
||||
if (sv%xtra(k) /= dzero) then
|
||||
nz = nz + 1
|
||||
tcoo%ia(nz) = k
|
||||
tcoo%ja(nz) = k
|
||||
tcoo%val(nz) = -sv%xtra(k)
|
||||
end if
|
||||
end do
|
||||
call tcoo%set_nzeros(nz+nrm)
|
||||
call tcoo%set_nzeros(nz)
|
||||
call tcoo%fix(info)
|
||||
call sv%u%mv_from(tcoo)
|
||||
end block
|
||||
|
||||
Reference in New Issue
Block a user