From d510034eeeebb2be2c537cf0d4071e5fa06b716f Mon Sep 17 00:00:00 2001 From: ryoji Date: Mon, 1 Nov 2004 17:55:18 +0000 Subject: allocate dynamically ... some of local variable. thanks thomas, i guess it will be okay. it's still need to check though. r. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/RotatingDBHIVP/trunk@39 535fb057-194f-0410-b5a5-c63992f15602 --- src/Stab3d.F | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Stab3d.F b/src/Stab3d.F index 23576aa..2106f4f 100644 --- a/src/Stab3d.F +++ b/src/Stab3d.F @@ -11,7 +11,7 @@ c $ ce(im,jm,km),cw(im,jm,km),ct(im,jm,km),cb(im,jm,km) real*8,intent(out) :: eps real*8,intent(out) :: rmax - real*8 :: u(im,jm,km),rhs(im,jm,km) + real*8,intent(inout) :: u(im,jm,km),rhs(im,jm,km) c Local variable integer ncyc integer iscale,i,j,k,ier @@ -95,14 +95,15 @@ c real*8,intent(in) :: tol real*8,intent(out) :: rnorm integer,intent(out) :: ier - real*8 x(im*jm*km),r(im*jm*km) + real*8,intent(inout) :: x(im*jm*km),r(im*jm*km) c Local variables integer :: i,j,k,kk - real*8 :: p(im*jm*km),Ap(im*jm*km),w(im*jm*km),As(im*jm*km) + real*8, allocatable :: p(:),Ap(:),w(:),As(:) real*8 :: omega, chi,chi1,chi2, delta, deltap, pp * *********************************************************************** * + allocate(p(im*jm*km),Ap(im*jm*km),w(im*jm*km),As(im*jm*km)) do i = 1,im*jm*km p(i) = 0. @@ -237,6 +238,9 @@ c rnorm = sum(r**2) rnorm=sqrt(rnorm) if (rnorm .gt. tol) goto 1 +c + deallocate(p,Ap,w,As) +c return end c @@ -256,7 +260,7 @@ c real*8,intent(in) :: cs(im*jm*km),ce(im*jm*km) real*8,intent(in) :: cw(im*jm*km),ct(im*jm*km) real*8,intent(in) :: cb(im*jm*km) - real*8 :: x(im*jm*km), y(im*jm*km) + real*8,intent(inout) :: x(im*jm*km), y(im*jm*km) c Local variables integer :: i, j, k * -- cgit v1.2.3