diff options
author | diener <diener@f69c4107-0314-4c4f-9ad4-17e986b73f4a> | 2006-04-21 16:21:49 +0000 |
---|---|---|
committer | diener <diener@f69c4107-0314-4c4f-9ad4-17e986b73f4a> | 2006-04-21 16:21:49 +0000 |
commit | 47d04cead80e3903f46f8be1d1f5e8a954fda4ee (patch) | |
tree | 354adced6e0a8edf9f69e3d6d1a3f875f7da3a18 | |
parent | e6936efeb95151a5f31829e9c93770bab0c2bdb7 (diff) |
Fixed bug when running on one processor with ghost size less than 3.
Also fix stupid mistake in having the assignment of stored coefficients and
deallocation of the temporary array within the wrong if statement.
git-svn-id: https://svn.cct.lsu.edu/repos/numrel/LSUThorns/SummationByParts/trunk@66 f69c4107-0314-4c4f-9ad4-17e986b73f4a
-rw-r--r-- | src/Dissipation_6_5_min_err_coeff.F90 | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/Dissipation_6_5_min_err_coeff.F90 b/src/Dissipation_6_5_min_err_coeff.F90 index 991d1ff..48105b4 100644 --- a/src/Dissipation_6_5_min_err_coeff.F90 +++ b/src/Dissipation_6_5_min_err_coeff.F90 @@ -65,7 +65,7 @@ subroutine dissipation_6_5_opt (var, lsh, gsh, lbnd, bb, gsize, & end if center = gsh(1) / 2 - ir = center + gsize(1) + ir = center + max(gsize(1),3) call set_dmatrix_half ( d(1:ir,1:ir), 1 ) @@ -78,7 +78,7 @@ subroutine dissipation_6_5_opt (var, lsh, gsh, lbnd, bb, gsize, & atmp(1:ir,1:center) = tmp(1:ir,1:center) - il = center + 1 - gsize(1) + il = center + 1 - max(gsize(1),3) d = zero call set_dmatrix_half ( d(il:ni,il:ni), 2 ) tmp(il:ni,il:ni) = -transpose ( & @@ -277,7 +277,7 @@ subroutine dissipation_6_5_opt (var, lsh, gsh, lbnd, bb, gsize, & end if center = gsh(2) / 2 - jr = center + gsize(2) + jr = center + max(gsize(2),3) call set_dmatrix_half ( d(1:jr,1:jr), 1 ) @@ -290,7 +290,7 @@ subroutine dissipation_6_5_opt (var, lsh, gsh, lbnd, bb, gsize, & atmp(1:jr,1:center) = tmp(1:jr,1:center) - jl = center + 1 - gsize(2) + jl = center + 1 - max(gsize(2),3) d = zero call set_dmatrix_half ( d(jl:nj,jl:nj), 2 ) tmp(jl:nj,jl:nj) = -transpose ( & @@ -302,15 +302,15 @@ subroutine dissipation_6_5_opt (var, lsh, gsh, lbnd, bb, gsize, & atmp(jl:nj,center+1:nj) = tmp(jl:nj,center+1:nj) - allocate ( ycoeff(patch)%coeff(nj,nj) ) + end if - ycoeff(patch)%coeff = atmp + allocate ( ycoeff(patch)%coeff(nj,nj) ) - savedy(patch) = .true. + ycoeff(patch)%coeff = atmp - deallocate ( atmp, d, b, h, tmp ) + savedy(patch) = .true. - end if + deallocate ( atmp, d, b, h, tmp ) end if @@ -491,7 +491,7 @@ subroutine dissipation_6_5_opt (var, lsh, gsh, lbnd, bb, gsize, & end if center = gsh(3) / 2 - kr = center + gsize(3) + kr = center + max(gsize(3),3) call set_dmatrix_half ( d(1:kr,1:kr), 1 ) @@ -504,7 +504,7 @@ subroutine dissipation_6_5_opt (var, lsh, gsh, lbnd, bb, gsize, & atmp(1:kr,1:center) = tmp(1:kr,1:center) - kl = center + 1 - gsize(3) + kl = center + 1 - max(gsize(3),3) d = zero call set_dmatrix_half ( d(kl:nk,kl:nk), 2 ) tmp(kl:nk,kl:nk) = -transpose ( & @@ -516,15 +516,15 @@ subroutine dissipation_6_5_opt (var, lsh, gsh, lbnd, bb, gsize, & atmp(kl:nk,center+1:nk) = tmp(kl:nk,center+1:nk) - allocate ( zcoeff(patch)%coeff(nk,nk) ) + end if - zcoeff(patch)%coeff = atmp + allocate ( zcoeff(patch)%coeff(nk,nk) ) - savedz(patch) = .true. + zcoeff(patch)%coeff = atmp - deallocate ( atmp, d, b, h, tmp ) + savedz(patch) = .true. - end if + deallocate ( atmp, d, b, h, tmp ) end if |