aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorryoji <ryoji@535fb057-194f-0410-b5a5-c63992f15602>2004-11-01 17:55:18 +0000
committerryoji <ryoji@535fb057-194f-0410-b5a5-c63992f15602>2004-11-01 17:55:18 +0000
commitd510034eeeebb2be2c537cf0d4071e5fa06b716f (patch)
tree1fe08a3a96b4402f62e61d4dbab95cd8d9e2c55b
parent742c80b06c08f1ec545c4b64399f394bb6250209 (diff)
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
-rw-r--r--src/Stab3d.F12
1 files 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
*