364 lines
15 KiB
Plaintext
364 lines
15 KiB
Plaintext
|
|
|
||
|
|
! *** generated by SAPFOR with version 2415 and build date: May 4 2025 14:48:40
|
||
|
|
! *** Enabled options ***:
|
||
|
|
! *** maximum shadow width is 50 percent
|
||
|
|
! *** generated by SAPFOR
|
||
|
|
|
||
|
|
!---------------------------------------------------------------------
|
||
|
|
!---------------------------------------------------------------------
|
||
|
|
subroutine z_solve_sp ()
|
||
|
|
|
||
|
|
include 'header_sp.h'
|
||
|
|
integer :: i,j,k,k1,k2,m,m1
|
||
|
|
double precision :: ru1,fac1,fac2,rhs__(5,0:2)
|
||
|
|
double precision :: lhs__(5,0:2),lhsm__(5,0:2),lhsp__(5,0:2)
|
||
|
|
double precision :: t1,t2,t3,ac,xvel,yvel,zvel,btuz,ac2u,uzik1
|
||
|
|
|
||
|
|
!---------------------------------------------------------------------
|
||
|
|
!---------------------------------------------------------------------
|
||
|
|
!---------------------------------------------------------------------
|
||
|
|
! Prepare for z-solve, array redistribution
|
||
|
|
!---------------------------------------------------------------------
|
||
|
|
|
||
|
|
!$SPF PARALLEL_REG r0
|
||
|
|
!$SPF ANALYSIS(PRIVATE(LHS__,LHSP__,LHSM__,RHS__))
|
||
|
|
! DVM$ PARALLEL (J,I) ON U(*,I,J,*), CUDA_BLOCK (32,4),PRIVATE (M,K1,K2,R
|
||
|
|
! DVM$&U1,FAC1,FAC2,K,LHS__,LHSP__,LHSM__,RHS__,T1,T2,T3,AC,XVEL,YVEL,ZVE
|
||
|
|
! DVM$&L,BTUZ,AC2U,UZIK1)
|
||
|
|
! DVM$ REGION LOCAL (LHS)
|
||
|
|
do j = 1,ny2
|
||
|
|
do i = 1,nx2
|
||
|
|
lhs__(1,0) = 0.0d0
|
||
|
|
lhsp__(1,0) = 0.0d0
|
||
|
|
lhsm__(1,0) = 0.0d0
|
||
|
|
lhs__(2,0) = 0.0d0
|
||
|
|
lhsp__(2,0) = 0.0d0
|
||
|
|
lhsm__(2,0) = 0.0d0
|
||
|
|
lhs__(3,0) = 1.0d0
|
||
|
|
lhsp__(3,0) = 1.0d0
|
||
|
|
lhsm__(3,0) = 1.0d0
|
||
|
|
lhs__(4,0) = 0.0d0
|
||
|
|
lhsp__(4,0) = 0.0d0
|
||
|
|
lhsm__(4,0) = 0.0d0
|
||
|
|
lhs__(5,0) = 0.0d0
|
||
|
|
lhsp__(5,0) = 0.0d0
|
||
|
|
lhsm__(5,0) = 0.0d0
|
||
|
|
lhs__(1,1) = 0.0d0
|
||
|
|
ru1 = c3c4 * 1.0d0 / u(1,i,j,0)
|
||
|
|
ru1 = dmax1 (dz4 + con43 * ru1,dz5 + c1c5 * ru1,dzmax + ru1,
|
||
|
|
&dz1)
|
||
|
|
lhs__(2,1) = (-(dttz2)) * ws(i,j,0) - dttz1 * ru1
|
||
|
|
ru1 = c3c4 * 1.0d0 / u(1,i,j,1)
|
||
|
|
ru1 = dmax1 (dz4 + con43 * ru1,dz5 + c1c5 * ru1,dzmax + ru1,
|
||
|
|
&dz1)
|
||
|
|
lhs__(3,1) = 1.0d0 + c2dttz1 * ru1
|
||
|
|
ru1 = c3c4 * 1.0d0 / u(1,i,j,2)
|
||
|
|
ru1 = dmax1 (dz4 + con43 * ru1,dz5 + c1c5 * ru1,dzmax + ru1,
|
||
|
|
&dz1)
|
||
|
|
lhs__(4,1) = dttz2 * ws(i,j,2) - dttz1 * ru1
|
||
|
|
lhs__(5,1) = 0.0d0
|
||
|
|
lhs__(3,1) = lhs__(3,1) + comz5
|
||
|
|
lhs__(4,1) = lhs__(4,1) - comz4
|
||
|
|
lhs__(5,1) = lhs__(5,1) + comz1
|
||
|
|
lhsp__(1,1) = lhs__(1,1)
|
||
|
|
lhsp__(2,1) = lhs__(2,1) - dttz2 * speed(i,j,1 - 1)
|
||
|
|
lhsp__(3,1) = lhs__(3,1)
|
||
|
|
lhsp__(4,1) = lhs__(4,1) + dttz2 * speed(i,j,1 + 1)
|
||
|
|
lhsp__(5,1) = lhs__(5,1)
|
||
|
|
lhsm__(1,1) = lhs__(1,1)
|
||
|
|
lhsm__(2,1) = lhs__(2,1) + dttz2 * speed(i,j,1 - 1)
|
||
|
|
lhsm__(3,1) = lhs__(3,1)
|
||
|
|
lhsm__(4,1) = lhs__(4,1) - dttz2 * speed(i,j,1 + 1)
|
||
|
|
lhsm__(5,1) = lhs__(5,1)
|
||
|
|
do k = 0,nz2 + 1
|
||
|
|
if (k + 2 .lt. nz2 + 1) then
|
||
|
|
m = k + 2
|
||
|
|
lhs__(1,2) = 0.0d0
|
||
|
|
ru1 = c3c4 * 1.0d0 / u(1,i,j,m - 1)
|
||
|
|
ru1 = dmax1 (dz4 + con43 * ru1,dz5 + c1c5 * ru1,dzmax
|
||
|
|
&+ ru1,dz1)
|
||
|
|
lhs__(2,2) = (-(dttz2)) * ws(i,j,m - 1) - dttz1 * ru1
|
||
|
|
ru1 = c3c4 * 1.0d0 / u(1,i,j,m)
|
||
|
|
ru1 = dmax1 (dz4 + con43 * ru1,dz5 + c1c5 * ru1,dzmax
|
||
|
|
&+ ru1,dz1)
|
||
|
|
lhs__(3,2) = 1.0d0 + c2dttz1 * ru1
|
||
|
|
ru1 = c3c4 * 1.0d0 / u(1,i,j,m + 1)
|
||
|
|
ru1 = dmax1 (dz4 + con43 * ru1,dz5 + c1c5 * ru1,dzmax
|
||
|
|
&+ ru1,dz1)
|
||
|
|
lhs__(4,2) = dttz2 * ws(i,j,m + 1) - dttz1 * ru1
|
||
|
|
lhs__(5,2) = 0.0d0
|
||
|
|
if (m .eq. 1) then
|
||
|
|
lhs__(3,2) = lhs__(3,2) + comz5
|
||
|
|
lhs__(4,2) = lhs__(4,2) - comz4
|
||
|
|
lhs__(5,2) = lhs__(5,2) + comz1
|
||
|
|
else if (m .eq. 2) then
|
||
|
|
lhs__(2,2) = lhs__(2,2) - comz4
|
||
|
|
lhs__(3,2) = lhs__(3,2) + comz6
|
||
|
|
lhs__(4,2) = lhs__(4,2) - comz4
|
||
|
|
lhs__(5,2) = lhs__(5,2) + comz1
|
||
|
|
else if (m .ge. 3 .and. m .le. nz2 - 2) then
|
||
|
|
lhs__(1,2) = lhs__(1,2) + comz1
|
||
|
|
lhs__(2,2) = lhs__(2,2) - comz4
|
||
|
|
lhs__(3,2) = lhs__(3,2) + comz6
|
||
|
|
lhs__(4,2) = lhs__(4,2) - comz4
|
||
|
|
lhs__(5,2) = lhs__(5,2) + comz1
|
||
|
|
else if (m .eq. nz2 - 1) then
|
||
|
|
lhs__(1,2) = lhs__(1,2) + comz1
|
||
|
|
lhs__(2,2) = lhs__(2,2) - comz4
|
||
|
|
lhs__(3,2) = lhs__(3,2) + comz6
|
||
|
|
lhs__(4,2) = lhs__(4,2) - comz4
|
||
|
|
else if (m .eq. nz2) then
|
||
|
|
lhs__(1,2) = lhs__(1,2) + comz1
|
||
|
|
lhs__(2,2) = lhs__(2,2) - comz4
|
||
|
|
lhs__(3,2) = lhs__(3,2) + comz5
|
||
|
|
endif
|
||
|
|
lhsp__(1,2) = lhs__(1,2)
|
||
|
|
lhsp__(2,2) = lhs__(2,2) - dttz2 * speed(i,j,m - 1)
|
||
|
|
lhsp__(3,2) = lhs__(3,2)
|
||
|
|
lhsp__(4,2) = lhs__(4,2) + dttz2 * speed(i,j,m + 1)
|
||
|
|
lhsp__(5,2) = lhs__(5,2)
|
||
|
|
lhsm__(1,2) = lhs__(1,2)
|
||
|
|
lhsm__(2,2) = lhs__(2,2) + dttz2 * speed(i,j,m - 1)
|
||
|
|
lhsm__(3,2) = lhs__(3,2)
|
||
|
|
lhsm__(4,2) = lhs__(4,2) - dttz2 * speed(i,j,m + 1)
|
||
|
|
lhsm__(5,2) = lhs__(5,2)
|
||
|
|
else if (k + 2 .eq. nz2 + 1) then
|
||
|
|
lhs__(1,2) = 0.0d0
|
||
|
|
lhsp__(1,2) = 0.0d0
|
||
|
|
lhsm__(1,2) = 0.0d0
|
||
|
|
lhs__(2,2) = 0.0d0
|
||
|
|
lhsp__(2,2) = 0.0d0
|
||
|
|
lhsm__(2,2) = 0.0d0
|
||
|
|
lhs__(3,2) = 1.0d0
|
||
|
|
lhsp__(3,2) = 1.0d0
|
||
|
|
lhsm__(3,2) = 1.0d0
|
||
|
|
lhs__(4,2) = 0.0d0
|
||
|
|
lhsp__(4,2) = 0.0d0
|
||
|
|
lhsm__(4,2) = 0.0d0
|
||
|
|
lhs__(5,2) = 0.0d0
|
||
|
|
lhsp__(5,2) = 0.0d0
|
||
|
|
lhsm__(5,2) = 0.0d0
|
||
|
|
endif
|
||
|
|
|
||
|
|
!********************************** end of init
|
||
|
|
k1 = k + 1
|
||
|
|
k2 = k + 2
|
||
|
|
fac1 = 1.d0 / lhs__(3,0)
|
||
|
|
lhs__(4,0) = fac1 * lhs__(4,0)
|
||
|
|
lhs__(5,0) = fac1 * lhs__(5,0)
|
||
|
|
do m = 1,3
|
||
|
|
rhs(m,i,j,k) = fac1 * rhs(m,i,j,k)
|
||
|
|
enddo
|
||
|
|
if (k .le. nz2 - 1) then
|
||
|
|
lhs__(3,1) = lhs__(3,1) - lhs__(2,1) * lhs__(4,0)
|
||
|
|
lhs__(4,1) = lhs__(4,1) - lhs__(2,1) * lhs__(5,0)
|
||
|
|
lhs__(2,2) = lhs__(2,2) - lhs__(1,2) * lhs__(4,0)
|
||
|
|
lhs__(3,2) = lhs__(3,2) - lhs__(1,2) * lhs__(5,0)
|
||
|
|
do m = 1,3
|
||
|
|
rhs(m,i,j,k1) = rhs(m,i,j,k1) - lhs__(2,1) * rhs(m,
|
||
|
|
&i,j,k)
|
||
|
|
rhs(m,i,j,k2) = rhs(m,i,j,k2) - lhs__(1,2) * rhs(m,
|
||
|
|
&i,j,k)
|
||
|
|
enddo
|
||
|
|
else
|
||
|
|
lhs__(3,1) = lhs__(3,1) - lhs__(2,1) * lhs__(4,0)
|
||
|
|
lhs__(4,1) = lhs__(4,1) - lhs__(2,1) * lhs__(5,0)
|
||
|
|
fac2 = 1.d0 / lhs__(3,1)
|
||
|
|
do m = 1,3
|
||
|
|
rhs(m,i,j,k1) = rhs(m,i,j,k1) - lhs__(2,1) * rhs(m,
|
||
|
|
&i,j,k)
|
||
|
|
rhs(m,i,j,k1) = fac2 * rhs(m,i,j,k1)
|
||
|
|
enddo
|
||
|
|
endif
|
||
|
|
m = 4
|
||
|
|
fac1 = 1.d0 / lhsp__(3,0)
|
||
|
|
lhsp__(4,0) = fac1 * lhsp__(4,0)
|
||
|
|
lhsp__(5,0) = fac1 * lhsp__(5,0)
|
||
|
|
rhs(m,i,j,k) = fac1 * rhs(m,i,j,k)
|
||
|
|
lhsp__(3,1) = lhsp__(3,1) - lhsp__(2,1) * lhsp__(4,0)
|
||
|
|
lhsp__(4,1) = lhsp__(4,1) - lhsp__(2,1) * lhsp__(5,0)
|
||
|
|
rhs(m,i,j,k1) = rhs(m,i,j,k1) - lhsp__(2,1) * rhs(m,i,j,k
|
||
|
|
&)
|
||
|
|
if (k .lt. nz2) then
|
||
|
|
lhsp__(2,2) = lhsp__(2,2) - lhsp__(1,2) * lhsp__(4,0)
|
||
|
|
lhsp__(3,2) = lhsp__(3,2) - lhsp__(1,2) * lhsp__(5,0)
|
||
|
|
rhs(m,i,j,k2) = rhs(m,i,j,k2) - lhsp__(1,2) * rhs(m,i,
|
||
|
|
&j,k)
|
||
|
|
endif
|
||
|
|
m = 5
|
||
|
|
fac1 = 1.d0 / lhsm__(3,0)
|
||
|
|
lhsm__(4,0) = fac1 * lhsm__(4,0)
|
||
|
|
lhsm__(5,0) = fac1 * lhsm__(5,0)
|
||
|
|
rhs(m,i,j,k) = fac1 * rhs(m,i,j,k)
|
||
|
|
lhsm__(3,1) = lhsm__(3,1) - lhsm__(2,1) * lhsm__(4,0)
|
||
|
|
lhsm__(4,1) = lhsm__(4,1) - lhsm__(2,1) * lhsm__(5,0)
|
||
|
|
rhs(m,i,j,k1) = rhs(m,i,j,k1) - lhsm__(2,1) * rhs(m,i,j,k
|
||
|
|
&)
|
||
|
|
if (k .lt. nz2) then
|
||
|
|
lhsm__(2,2) = lhsm__(2,2) - lhsm__(1,2) * lhsm__(4,0)
|
||
|
|
lhsm__(3,2) = lhsm__(3,2) - lhsm__(1,2) * lhsm__(5,0)
|
||
|
|
rhs(m,i,j,k2) = rhs(m,i,j,k2) - lhsm__(1,2) * rhs(m,i,
|
||
|
|
&j,k)
|
||
|
|
endif
|
||
|
|
if (k .eq. nz2) then
|
||
|
|
rhs(4,i,j,k1) = rhs(4,i,j,k1) / lhsp__(3,1)
|
||
|
|
rhs(5,i,j,k1) = rhs(5,i,j,k1) / lhsm__(3,1)
|
||
|
|
do m = 1,3
|
||
|
|
rhs(m,i,j,k) = rhs(m,i,j,k) - lhs__(4,0) * rhs(m,i,
|
||
|
|
&j,k1)
|
||
|
|
enddo
|
||
|
|
rhs(4,i,j,k) = rhs(4,i,j,k) - lhsp__(4,0) * rhs(4,i,j,
|
||
|
|
&k1)
|
||
|
|
rhs(5,i,j,k) = rhs(5,i,j,k) - lhsm__(4,0) * rhs(5,i,j,
|
||
|
|
&k1)
|
||
|
|
endif
|
||
|
|
lhs(0,4,i,j,k) = lhs__(4,0)
|
||
|
|
lhs(1,4,i,j,k) = lhsp__(4,0)
|
||
|
|
lhs(2,4,i,j,k) = lhsm__(4,0)
|
||
|
|
lhs(0,5,i,j,k) = lhs__(5,0)
|
||
|
|
lhs(1,5,i,j,k) = lhsp__(5,0)
|
||
|
|
lhs(2,5,i,j,k) = lhsm__(5,0)
|
||
|
|
lhs__(1,0) = lhs__(1,1)
|
||
|
|
lhsp__(1,0) = lhsp__(1,1)
|
||
|
|
lhsm__(1,0) = lhsm__(1,1)
|
||
|
|
lhs__(1,1) = lhs__(1,2)
|
||
|
|
lhsp__(1,1) = lhsp__(1,2)
|
||
|
|
lhsm__(1,1) = lhsm__(1,2)
|
||
|
|
lhs__(2,0) = lhs__(2,1)
|
||
|
|
lhsp__(2,0) = lhsp__(2,1)
|
||
|
|
lhsm__(2,0) = lhsm__(2,1)
|
||
|
|
lhs__(2,1) = lhs__(2,2)
|
||
|
|
lhsp__(2,1) = lhsp__(2,2)
|
||
|
|
lhsm__(2,1) = lhsm__(2,2)
|
||
|
|
lhs__(3,0) = lhs__(3,1)
|
||
|
|
lhsp__(3,0) = lhsp__(3,1)
|
||
|
|
lhsm__(3,0) = lhsm__(3,1)
|
||
|
|
lhs__(3,1) = lhs__(3,2)
|
||
|
|
lhsp__(3,1) = lhsp__(3,2)
|
||
|
|
lhsm__(3,1) = lhsm__(3,2)
|
||
|
|
lhs__(4,0) = lhs__(4,1)
|
||
|
|
lhsp__(4,0) = lhsp__(4,1)
|
||
|
|
lhsm__(4,0) = lhsm__(4,1)
|
||
|
|
lhs__(4,1) = lhs__(4,2)
|
||
|
|
lhsp__(4,1) = lhsp__(4,2)
|
||
|
|
lhsm__(4,1) = lhsm__(4,2)
|
||
|
|
lhs__(5,0) = lhs__(5,1)
|
||
|
|
lhsp__(5,0) = lhsp__(5,1)
|
||
|
|
lhsm__(5,0) = lhsm__(5,1)
|
||
|
|
lhs__(5,1) = lhs__(5,2)
|
||
|
|
lhsp__(5,1) = lhsp__(5,2)
|
||
|
|
lhsm__(5,1) = lhsm__(5,2)
|
||
|
|
enddo
|
||
|
|
k = problem_size - 3
|
||
|
|
rhs__(1,2) = rhs(1,i,j,k + 2)
|
||
|
|
rhs__(2,2) = rhs(2,i,j,k + 2)
|
||
|
|
rhs__(3,2) = rhs(3,i,j,k + 2)
|
||
|
|
rhs__(4,2) = rhs(4,i,j,k + 2)
|
||
|
|
rhs__(5,2) = rhs(5,i,j,k + 2)
|
||
|
|
rhs__(1,1) = rhs(1,i,j,k + 1)
|
||
|
|
rhs__(2,1) = rhs(2,i,j,k + 1)
|
||
|
|
rhs__(3,1) = rhs(3,i,j,k + 1)
|
||
|
|
rhs__(4,1) = rhs(4,i,j,k + 1)
|
||
|
|
rhs__(5,1) = rhs(5,i,j,k + 1)
|
||
|
|
rhs__(1,0) = rhs(1,i,j,k)
|
||
|
|
rhs__(2,0) = rhs(2,i,j,k)
|
||
|
|
rhs__(3,0) = rhs(3,i,j,k)
|
||
|
|
rhs__(4,0) = rhs(4,i,j,k)
|
||
|
|
rhs__(5,0) = rhs(5,i,j,k)
|
||
|
|
rhs__(1,0) = rhs__(1,0) - lhs(0,4,i,j,k) * rhs__(1,1) - lhs(
|
||
|
|
&0,5,i,j,k) * rhs__(1,2)
|
||
|
|
rhs__(2,0) = rhs__(2,0) - lhs(0,4,i,j,k) * rhs__(2,1) - lhs(
|
||
|
|
&0,5,i,j,k) * rhs__(2,2)
|
||
|
|
rhs__(3,0) = rhs__(3,0) - lhs(0,4,i,j,k) * rhs__(3,1) - lhs(
|
||
|
|
&0,5,i,j,k) * rhs__(3,2)
|
||
|
|
rhs__(4,0) = rhs__(4,0) - lhs(1,4,i,j,k) * rhs__(4,1) - lhs(
|
||
|
|
&1,5,i,j,k) * rhs__(4,2)
|
||
|
|
rhs__(5,0) = rhs__(5,0) - lhs(2,4,i,j,k) * rhs__(5,1) - lhs(
|
||
|
|
&2,5,i,j,k) * rhs__(5,2)
|
||
|
|
rhs__(1,2) = rhs__(1,1)
|
||
|
|
rhs__(2,2) = rhs__(2,1)
|
||
|
|
rhs__(3,2) = rhs__(3,1)
|
||
|
|
rhs__(4,2) = rhs__(4,1)
|
||
|
|
rhs__(5,2) = rhs__(5,1)
|
||
|
|
rhs__(1,1) = rhs__(1,0)
|
||
|
|
rhs__(2,1) = rhs__(2,0)
|
||
|
|
rhs__(3,1) = rhs__(3,0)
|
||
|
|
rhs__(4,1) = rhs__(4,0)
|
||
|
|
rhs__(5,1) = rhs__(5,0)
|
||
|
|
do k = problem_size - 4,0,(-(1))
|
||
|
|
rhs__(1,0) = rhs(1,i,j,k)
|
||
|
|
rhs__(2,0) = rhs(2,i,j,k)
|
||
|
|
rhs__(3,0) = rhs(3,i,j,k)
|
||
|
|
rhs__(4,0) = rhs(4,i,j,k)
|
||
|
|
rhs__(5,0) = rhs(5,i,j,k)
|
||
|
|
rhs__(1,0) = rhs__(1,0) - lhs(0,4,i,j,k) * rhs__(1,1) - l
|
||
|
|
&hs(0,5,i,j,k) * rhs__(1,2)
|
||
|
|
rhs__(2,0) = rhs__(2,0) - lhs(0,4,i,j,k) * rhs__(2,1) - l
|
||
|
|
&hs(0,5,i,j,k) * rhs__(2,2)
|
||
|
|
rhs__(3,0) = rhs__(3,0) - lhs(0,4,i,j,k) * rhs__(3,1) - l
|
||
|
|
&hs(0,5,i,j,k) * rhs__(3,2)
|
||
|
|
rhs__(4,0) = rhs__(4,0) - lhs(1,4,i,j,k) * rhs__(4,1) - l
|
||
|
|
&hs(1,5,i,j,k) * rhs__(4,2)
|
||
|
|
rhs__(5,0) = rhs__(5,0) - lhs(2,4,i,j,k) * rhs__(5,1) - l
|
||
|
|
&hs(2,5,i,j,k) * rhs__(5,2)
|
||
|
|
xvel = us(i,j,k + 2)
|
||
|
|
yvel = vs(i,j,k + 2)
|
||
|
|
zvel = ws(i,j,k + 2)
|
||
|
|
ac = speed(i,j,k + 2)
|
||
|
|
ac2u = ac * ac
|
||
|
|
uzik1 = u(1,i,j,k + 2)
|
||
|
|
btuz = bt * uzik1
|
||
|
|
t1 = btuz / ac * (rhs__(4,2) + rhs__(5,2))
|
||
|
|
t2 = rhs__(3,2) + t1
|
||
|
|
t3 = btuz * (rhs__(4,2) - rhs__(5,2))
|
||
|
|
rhs__(3,2) = uzik1 * rhs__(1,2) + yvel * t2
|
||
|
|
rhs__(4,2) = zvel * t2 + t3
|
||
|
|
rhs__(5,2) = uzik1 * ((-(xvel)) * rhs__(2,2) + yvel * rhs
|
||
|
|
&__(1,2)) + qs(i,j,k + 2) * t2 + c2iv * ac2u * t1 + zvel * t3
|
||
|
|
rhs__(1,2) = t2
|
||
|
|
rhs__(2,2) = (-(uzik1)) * rhs__(2,2) + xvel * t2
|
||
|
|
u(1,i,j,k + 2) = u(1,i,j,k + 2) + rhs__(1,2)
|
||
|
|
u(2,i,j,k + 2) = u(2,i,j,k + 2) + rhs__(2,2)
|
||
|
|
u(3,i,j,k + 2) = u(3,i,j,k + 2) + rhs__(3,2)
|
||
|
|
u(4,i,j,k + 2) = u(4,i,j,k + 2) + rhs__(4,2)
|
||
|
|
u(5,i,j,k + 2) = u(5,i,j,k + 2) + rhs__(5,2)
|
||
|
|
rhs__(1,2) = rhs__(1,1)
|
||
|
|
rhs__(2,2) = rhs__(2,1)
|
||
|
|
rhs__(3,2) = rhs__(3,1)
|
||
|
|
rhs__(4,2) = rhs__(4,1)
|
||
|
|
rhs__(5,2) = rhs__(5,1)
|
||
|
|
rhs__(1,1) = rhs__(1,0)
|
||
|
|
rhs__(2,1) = rhs__(2,0)
|
||
|
|
rhs__(3,1) = rhs__(3,0)
|
||
|
|
rhs__(4,1) = rhs__(4,0)
|
||
|
|
rhs__(5,1) = rhs__(5,0)
|
||
|
|
enddo
|
||
|
|
xvel = us(i,j,k + 2)
|
||
|
|
yvel = vs(i,j,k + 2)
|
||
|
|
zvel = ws(i,j,k + 2)
|
||
|
|
ac = speed(i,j,k + 2)
|
||
|
|
ac2u = ac * ac
|
||
|
|
uzik1 = u(1,i,j,k + 2)
|
||
|
|
btuz = bt * uzik1
|
||
|
|
t1 = btuz / ac * (rhs__(4,2) + rhs__(5,2))
|
||
|
|
t2 = rhs__(3,2) + t1
|
||
|
|
t3 = btuz * (rhs__(4,2) - rhs__(5,2))
|
||
|
|
rhs__(3,2) = uzik1 * rhs__(1,2) + yvel * t2
|
||
|
|
rhs__(4,2) = zvel * t2 + t3
|
||
|
|
rhs__(5,2) = uzik1 * ((-(xvel)) * rhs__(2,2) + yvel * rhs__(
|
||
|
|
&1,2)) + qs(i,j,k + 2) * t2 + c2iv * ac2u * t1 + zvel * t3
|
||
|
|
rhs__(1,2) = t2
|
||
|
|
rhs__(2,2) = (-(uzik1)) * rhs__(2,2) + xvel * t2
|
||
|
|
u(1,i,j,k + 2) = u(1,i,j,k + 2) + rhs__(1,2)
|
||
|
|
u(2,i,j,k + 2) = u(2,i,j,k + 2) + rhs__(2,2)
|
||
|
|
u(3,i,j,k + 2) = u(3,i,j,k + 2) + rhs__(3,2)
|
||
|
|
u(4,i,j,k + 2) = u(4,i,j,k + 2) + rhs__(4,2)
|
||
|
|
u(5,i,j,k + 2) = u(5,i,j,k + 2) + rhs__(5,2)
|
||
|
|
enddo
|
||
|
|
enddo
|
||
|
|
!$SPF END PARALLEL_REG
|
||
|
|
! DVM$ END REGION
|
||
|
|
return
|
||
|
|
end
|
||
|
|
|