diff options
Diffstat (limited to 'src/Dissipation_6_5_min_err_coeff.F90')
-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 |