remove loops in parallel z-dir fns
This commit is contained in:
parent
e659052e26
commit
a56c4d978c
1 changed files with 17 additions and 65 deletions
|
|
@ -12,7 +12,7 @@ module m_fdm_calc
|
|||
real*8, dimension(:,:,:,:), allocatable :: y1,y2,yf
|
||||
real*8, dimension(:,:), allocatable :: fzzl, fzzu
|
||||
|
||||
real*8, dimension(:,:), allocatable :: fbuf1, fbuf2, fbuf3, fbuf4
|
||||
real*8, dimension(:,:,:), allocatable :: fbuf1, fbuf2, fbuf3, fbuf4
|
||||
real*8, dimension(:,:), allocatable :: yxbuf1, yxbuf2, yxbuf3, yxbuf4
|
||||
real*8, dimension(:,:), allocatable :: xybuf1, xybuf2, xybuf3, xybuf4
|
||||
|
||||
|
|
@ -246,10 +246,10 @@ module m_fdm_calc
|
|||
allocate(fzzu(nx*ny,2))
|
||||
allocate(fzzl(nx*ny,2))
|
||||
|
||||
allocate(fbuf1(nx*ny,nz))
|
||||
allocate(fbuf2(nx*ny,nz))
|
||||
allocate(fbuf3(nx*ny,nz))
|
||||
allocate(fbuf4(nx*ny,nz))
|
||||
allocate(fbuf1(nx,ny,nz))
|
||||
allocate(fbuf2(nx,ny,nz))
|
||||
allocate(fbuf3(nx,ny,nz))
|
||||
allocate(fbuf4(nx,ny,nz))
|
||||
|
||||
allocate(xybuf1(nx,ny))
|
||||
allocate(xybuf2(nx,ny))
|
||||
|
|
@ -548,79 +548,31 @@ module m_fdm_calc
|
|||
|
||||
! -( d(rho*w)/dz )
|
||||
|
||||
DO k=1,zz
|
||||
DO j=1,yy
|
||||
DO i=1,xx
|
||||
fbuf1(i+xx*(j-1),k) = r1_(i,j,k,1)*ww_(i,j,k) ! rho*w
|
||||
ENDDO
|
||||
ENDDO
|
||||
ENDDO
|
||||
fbuf1(:,:,:) = r1_(:,:,:,1)*ww_(:,:,:) ! rho*w
|
||||
CALL pdfp (fbuf1, fzzl, fzzu, fbuf2, hy, xx*yy, zz, yy, 3)
|
||||
|
||||
CALL pdfp (fbuf1, fzzl, fzzu, fbuf2, hy, xx*yy, zz, yy, 3)
|
||||
|
||||
DO k=1,zz
|
||||
DO j=1,yy
|
||||
DO i=1,xx
|
||||
f_(i,j,k,1) = f_(i,j,k,1) - fbuf2(i+xx*(j-1),k) ! continuity
|
||||
ENDDO
|
||||
ENDDO
|
||||
ENDDO
|
||||
f_(:,:,:,1) = f_(:,:,:,1) - fbuf2(:,:,:) ! continuity
|
||||
|
||||
! -( d(rho*w*Yr)/dz ) + d(rho*D* d(Yr)/dz)/dz
|
||||
! = -( d(rho*w*Yr)/dz )
|
||||
! + D* (rho* d2(Yr)/dz2 + d(rho)/dz * d(Yr)/dz )
|
||||
|
||||
DO k=1,zz
|
||||
DO j=1,yy
|
||||
DO i=1,xx
|
||||
fbuf1(i+xx*(j-1),k) = r1_(i,j,k,2)*ww_(i,j,k) ! rho*w*Y
|
||||
ENDDO
|
||||
ENDDO
|
||||
ENDDO
|
||||
fbuf1(:,:,:) = r1_(:,:,:,2)*ww_(:,:,:) ! rho*w*Y
|
||||
CALL pdfp (fbuf1, fzzl, fzzu, fbuf2, hy, xx*yy, zz, yy, 3)
|
||||
|
||||
CALL pdfp (fbuf1, fzzl, fzzu, fbuf2, hy, xx*yy, zz, yy, 3)
|
||||
f_(:,:,:,2) = f_(:,:,:,2) - fbuf2(:,:,:) ! species conserv.
|
||||
|
||||
DO k=1,zz
|
||||
DO j=1,yy
|
||||
DO i=1,xx
|
||||
idx2 = xx*(j-1)+i
|
||||
idx1 = (idx2-1)*4
|
||||
f_(i,j,k,2) = f_(i,j,k,2) - fbuf2(i+xx*(j-1),k) ! species conserv.
|
||||
ENDDO
|
||||
ENDDO
|
||||
ENDDO
|
||||
fbuf1(:,:,:) = r1_(:,:,:,2)/r1_(:,:,:,1) ! Y
|
||||
CALL pdfp (fbuf1, fzzl, fzzu, fbuf2, hy, xx*yy, zz, yy, 3)
|
||||
CALL pd2fp(fbuf1, fzzl, fzzu, fbuf3, hy, xx*yy, zz, yy, 3)
|
||||
|
||||
DO k=1,zz
|
||||
DO j=1,yy
|
||||
DO i=1,xx
|
||||
fbuf1(i+xx*(j-1),k) = r1_(i,j,k,2)/r1_(i,j,k,1) ! Y
|
||||
ENDDO
|
||||
ENDDO
|
||||
ENDDO
|
||||
|
||||
CALL pdfp (fbuf1, fzzl, fzzu, fbuf2, hy, xx*yy, zz, yy, 3)
|
||||
CALL pd2fp(fbuf1, fzzl, fzzu, fbuf3, hy, xx*yy, zz, yy, 3)
|
||||
|
||||
DO k=1,zz
|
||||
DO j=1,yy
|
||||
DO i=1,xx
|
||||
fbuf1(i+xx*(j-1),k) = r1_(i,j,k,1) ! rho
|
||||
ENDDO
|
||||
ENDDO
|
||||
ENDDO
|
||||
|
||||
CALL pdfp (fbuf1, fzzl, fzzu, fbuf4, hy, xx*yy, zz, yy, 3)
|
||||
fbuf1(:,:,:) = r1_(:,:,:,1) ! rho
|
||||
CALL pdfp (fbuf1, fzzl, fzzu, fbuf4, hy, xx*yy, zz, yy, 3)
|
||||
|
||||
fbuf2 = fbuf2 * fbuf4
|
||||
fbuf1 = fbuf1 * fbuf3 + fbuf2
|
||||
|
||||
DO k=1,zz
|
||||
DO j=1,yy
|
||||
DO i=1,xx
|
||||
f_(i,j,k,2) = f_(i,j,k,2) + diff*fbuf1(i+xx*(j-1),k) ! species conserv.
|
||||
ENDDO
|
||||
ENDDO
|
||||
ENDDO
|
||||
f_(:,:,:,2) = f_(:,:,:,2) + diff*fbuf1(:,:,:) ! species conserv.
|
||||
|
||||
endif
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue