aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiener <diener@f69c4107-0314-4c4f-9ad4-17e986b73f4a>2006-04-21 16:21:49 +0000
committerdiener <diener@f69c4107-0314-4c4f-9ad4-17e986b73f4a>2006-04-21 16:21:49 +0000
commit47d04cead80e3903f46f8be1d1f5e8a954fda4ee (patch)
tree354adced6e0a8edf9f69e3d6d1a3f875f7da3a18
parente6936efeb95151a5f31829e9c93770bab0c2bdb7 (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.F9032
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