Changeset 1003 for palm/trunk/SOURCE/poisfft.f90
- Timestamp:
- Sep 14, 2012 2:35:53 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
palm/trunk/SOURCE/poisfft.f90
r941 r1003 4 4 ! Current revisions: 5 5 ! ----------------- 6 ! 6 ! indices nxa, nya, etc. replaced by nx, ny, etc. 7 7 ! 8 8 ! Former revisions: … … 157 157 IMPLICIT NONE 158 158 159 REAL, DIMENSION(1:nz a,nys:nyna,nxl:nxra) :: ar, work159 REAL, DIMENSION(1:nz,nys:nyn,nxl:nxr) :: ar, work 160 160 161 161 … … 315 315 316 316 #if defined( __parallel ) 317 REAL :: ar(nxl_z:nxr_z a,nys_z:nyn_za,1:nza)317 REAL :: ar(nxl_z:nxr_z,nys_z:nyn_z,1:nz) 318 318 #else 319 319 REAL :: ar(1:nz,nys_z:nyn_z,nxl_z:nxr_z) … … 462 462 REAL :: tri(5,nxl_z:nxr_z,0:nz-1) 463 463 #if defined( __parallel ) 464 REAL :: ar(nxl_z:nxr_z a,nys_z:nyn_za,1:nza)464 REAL :: ar(nxl_z:nxr_z,nys_z:nyn_z,1:nz) 465 465 #else 466 466 REAL :: ar(1:nz,nys_z:nyn_z,nxl_z:nxr_z) … … 570 570 CHARACTER (LEN=*) :: direction 571 571 INTEGER :: j, k 572 REAL :: ar(0:nx a,nys_x:nyn_xa,nzb_x:nzt_xa)572 REAL :: ar(0:nx,nys_x:nyn_x,nzb_x:nzt_x) 573 573 574 574 ! … … 624 624 CHARACTER (LEN=*) :: direction 625 625 INTEGER :: i, k 626 REAL :: ar(0:ny a,nxl_y:nxr_ya,nzb_y:nzt_ya)626 REAL :: ar(0:ny,nxl_y:nxr_y,nzb_y:nzt_y) 627 627 628 628 ! … … 698 698 REAL, DIMENSION(0:ny+1,1:nz,nxl:nxr) :: work_ffty_vec 699 699 #endif 700 REAL, DIMENSION(1:nz a,0:nya,nxl:nxra) :: f_in701 REAL, DIMENSION(nnx,1:nz a,nys_x:nyn_xa,pdims(1)) :: f_out702 REAL, DIMENSION(nxl:nxr a,1:nza,0:nya) :: work700 REAL, DIMENSION(1:nz,0:ny,nxl:nxr) :: f_in 701 REAL, DIMENSION(nnx,1:nz,nys_x:nyn_x,pdims(1)) :: f_out 702 REAL, DIMENSION(nxl:nxr,1:nz,0:ny) :: work 703 703 704 704 ! … … 814 814 REAL, DIMENSION(0:ny+1,1:nz,nxl:nxr) :: work_ffty_vec 815 815 #endif 816 REAL, DIMENSION(nnx,1:nz a,nys_x:nyn_xa,pdims(1)) :: f_in817 REAL, DIMENSION(1:nz a,0:nya,nxl:nxra):: f_out818 REAL, DIMENSION(nxl:nxr a,1:nza,0:nya):: work816 REAL, DIMENSION(nnx,1:nz,nys_x:nyn_x,pdims(1)) :: f_in 817 REAL, DIMENSION(1:nz,0:ny,nxl:nxr) :: f_out 818 REAL, DIMENSION(nxl:nxr,1:nz,0:ny) :: work 819 819 820 820 ! … … 931 931 INTEGER :: i, j, k, m, n, omp_get_thread_num, tn 932 932 933 REAL, DIMENSION(0:nx) 934 REAL, DIMENSION(0:nx,1:nz) 935 REAL, DIMENSION(nnx,1:nz a,nys_x:nyn_xa,pdims(1)) :: ar936 REAL, DIMENSION(:,:,:,:), ALLOCATABLE 933 REAL, DIMENSION(0:nx) :: work_fftx 934 REAL, DIMENSION(0:nx,1:nz) :: work_trix 935 REAL, DIMENSION(nnx,1:nz,nys_x:nyn_x,pdims(1)) :: ar 936 REAL, DIMENSION(:,:,:,:), ALLOCATABLE :: tri 937 937 938 938 … … 954 954 m = 0 955 955 DO n = 1, pdims(1) 956 DO i = 1, nnx _pe( n-1 ) ! WARN: pcoord(i) should be used!!956 DO i = 1, nnx 957 957 work_trix(m,k) = ar(i,k,j,n) 958 958 m = m + 1 … … 971 971 m = 0 972 972 DO n = 1, pdims(1) 973 DO i = 1, nnx _pe( n-1 ) ! WARN: pcoord(i) should be used!!973 DO i = 1, nnx 974 974 work_fftx(m) = ar(i,k,j,n) 975 975 m = m + 1 … … 1000 1000 m = 0 1001 1001 DO n = 1, pdims(1) 1002 DO i = 1, nnx _pe( n-1 ) ! WARN: pcoord(i) should be used!!1002 DO i = 1, nnx 1003 1003 ar(i,k,j,n) = work_trix(m,k) 1004 1004 m = m + 1 … … 1021 1021 m = 0 1022 1022 DO n = 1, pdims(1) 1023 DO i = 1, nnx _pe( n-1 ) ! WARN: pcoord(i) should be used!!1023 DO i = 1, nnx 1024 1024 ar(i,k,j,n) = work_fftx(m) 1025 1025 m = m + 1 … … 1062 1062 INTEGER :: i, j, k 1063 1063 1064 REAL, DIMENSION(0:nx,1:nz,nys:nyn) 1065 REAL, DIMENSION(1:nz a,nys:nyna,0:nxa):: f_in1066 REAL, DIMENSION(nny,1:nz a,nxl_y:nxr_ya,pdims(2)) :: f_out1067 REAL, DIMENSION(nys:nyn a,1:nza,0:nxa):: work1064 REAL, DIMENSION(0:nx,1:nz,nys:nyn) :: work_fftx 1065 REAL, DIMENSION(1:nz,nys:nyn,0:nx) :: f_in 1066 REAL, DIMENSION(nny,1:nz,nxl_y:nxr_y,pdims(2)) :: f_out 1067 REAL, DIMENSION(nys:nyn,1:nz,0:nx) :: work 1068 1068 1069 1069 ! … … 1166 1166 INTEGER :: i, j, k 1167 1167 1168 REAL, DIMENSION(0:nx,1:nz,nys:nyn) 1169 REAL, DIMENSION(nny,1:nz a,nxl_y:nxr_ya,pdims(2)) :: f_in1170 REAL, DIMENSION(1:nz a,nys:nyna,0:nxa):: f_out1171 REAL, DIMENSION(nys:nyn a,1:nza,0:nxa):: work1168 REAL, DIMENSION(0:nx,1:nz,nys:nyn) :: work_fftx 1169 REAL, DIMENSION(nny,1:nz,nxl_y:nxr_y,pdims(2)) :: f_in 1170 REAL, DIMENSION(1:nz,nys:nyn,0:nx) :: f_out 1171 REAL, DIMENSION(nys:nyn,1:nz,0:nx) :: work 1172 1172 1173 1173 ! … … 1271 1271 INTEGER :: i, j, k, m, n, omp_get_thread_num, tn 1272 1272 1273 REAL, DIMENSION(0:ny) 1274 REAL, DIMENSION(0:ny,1:nz) 1275 REAL, DIMENSION(nny,1:nz a,nxl_y:nxr_ya,pdims(2)) :: ar1276 REAL, DIMENSION(:,:,:,:), ALLOCATABLE 1273 REAL, DIMENSION(0:ny) :: work_ffty 1274 REAL, DIMENSION(0:ny,1:nz) :: work_triy 1275 REAL, DIMENSION(nny,1:nz,nxl_y:nxr_y,pdims(2)) :: ar 1276 REAL, DIMENSION(:,:,:,:), ALLOCATABLE :: tri 1277 1277 1278 1278 … … 1294 1294 m = 0 1295 1295 DO n = 1, pdims(2) 1296 DO j = 1, nny _pe( n-1 ) ! WARN: pcoord(j) should be used!!1296 DO j = 1, nny 1297 1297 work_triy(m,k) = ar(j,k,i,n) 1298 1298 m = m + 1 … … 1311 1311 m = 0 1312 1312 DO n = 1, pdims(2) 1313 DO j = 1, nny _pe( n-1 ) ! WARN: pcoord(j) should be used!!1313 DO j = 1, nny 1314 1314 work_ffty(m) = ar(j,k,i,n) 1315 1315 m = m + 1 … … 1340 1340 m = 0 1341 1341 DO n = 1, pdims(2) 1342 DO j = 1, nny _pe( n-1 ) ! WARN: pcoord(j) should be used!!1342 DO j = 1, nny 1343 1343 ar(j,k,i,n) = work_triy(m,k) 1344 1344 m = m + 1 … … 1361 1361 m = 0 1362 1362 DO n = 1, pdims(2) 1363 DO j = 1, nny _pe( n-1 ) ! WARN: pcoord(j) should be used!!1363 DO j = 1, nny 1364 1364 ar(j,k,i,n) = work_ffty(m) 1365 1365 m = m + 1
Note: See TracChangeset
for help on using the changeset viewer.