Files
spbt/spbt/x_solve_bt.for
2025-05-10 15:21:58 +03:00

643 lines
31 KiB
Fortran

! *** generated by SAPFOR with version 2412 and build date: Apr 29 2025 22:44:14
! *** Enabled options ***:
! *** maximum shadow width is 50 percent
! *** generated by SAPFOR
!---------------------------------------------------------------------
! performs guaussian elimination on this cell.
!
! assumes that unpacking routines for non-first cells
! preload C' and rhs' from previous cell.
!
! assumed send happens outside this routine, but that
! c'(IMAX) and rhs'(IMAX) will be sent to next cell
!---------------------------------------------------------------------
subroutine x_solve_bt ()
include 'header3d_bt.h'
double precision :: pivot,coeff
integer :: i__0,j__1
integer :: m,n
double precision :: coeff__2
double precision :: pivot__3
double precision :: lhs_(5,5,3),u_(0:3,5)
double precision :: rhs_(5)
integer :: i,j,k,isize
isize = problem_size - 1
!$SPF PARALLEL_REG r0
!$SPF ANALYSIS(PRIVATE(U_,RHS_,LHS_))
! DVM$ PARALLEL (K,J) ON RHS(*,*,J,K), PRIVATE (U_,I,RHS_,TMP1,TMP2,TMP3,
! DVM$&T1,T2,T3,TM1,TM2,PIVOT,COEFF,TM3,I__0,J__1,TMP11,TMP22,LHS_,M,N,CO
! DVM$&EFF__2,PIVOT__3)
! DVM$ REGION LOCAL (LHS__)
!---------------------------------------------------------------------
! outer most do loops - sweeping in i direction
!---------------------------------------------------------------------
!---------------------------------------------------------------------
! begin inner most do loop
! do all the elements of the cell unless last
!---------------------------------------------------------------------
!, ACROSS(rhs(1:0,0:0,0:0,0:0),lhs__(1:0,0:0,0:0,0:0,0:0))
do k = 1,problem_size - 2
do j = 1,problem_size - 2
do m = 1,5
u_(0,m) = u(m,0,j,k)
u_(1,m) = u(m,1,j,k)
enddo
do i = 1,isize - 1
do m = 1,5
u_(2,m) = u(m,i + 1,j,k)
enddo
! if(i .ne. isize) then
tmp1 = 1.0d+00 / u_(1,1)
tmp2 = tmp1 * tmp1
tmp3 = tmp1 * tmp2
t1 = 1.0d+00 / u_(0,1)
t2 = t1 * t1
t3 = t1 * t2
tm1 = 1.0d+00 / u_(2,1)
tm2 = tm1 * tm1
tm3 = tm1 * tm2
tmp11 = dt * tx1
tmp22 = dt * tx2
lhs_(1,1,1) = (-(tmp11)) * dx1
lhs_(1,2,1) = (-(tmp22))
lhs_(1,3,1) = 0.
lhs_(1,4,1) = 0.
lhs_(1,5,1) = 0.
lhs_(2,1,1) = (-(tmp22)) * ((-(u_(0,2) * t2 * u_(0,2))) +
& c2 * 0.50d+00 * (u_(0,2) * u_(0,2) + u_(0,3) * u_(0,3) + u_(0,4)
&* u_(0,4)) * t2) - tmp11 * ((-(con43)) * c3c4 * t2 * u_(0,2))
lhs_(2,2,1) = (-(tmp22)) * ((2.0d+00 - c2) * (u_(0,2) / u
&_(0,1))) - tmp11 * con43 * c3c4 * t1 - tmp11 * dx2
lhs_(2,3,1) = (-(tmp22)) * ((-(c2)) * (u_(0,3) * t1))
lhs_(2,4,1) = (-(tmp22)) * ((-(c2)) * (u_(0,4) * t1))
lhs_(2,5,1) = (-(tmp22)) * c2
lhs_(3,1,1) = (-(tmp22)) * ((-(u_(0,2) * u_(0,3))) * t2)
&- tmp11 * ((-(c3c4)) * t2 * u_(0,3))
lhs_(3,2,1) = (-(tmp22)) * u_(0,3) * t1
lhs_(3,3,1) = (-(tmp22)) * u_(0,2) * t1 - tmp11 * c3c4 *
&t1 - tmp11 * dx3
lhs_(3,4,1) = 0.
lhs_(3,5,1) = 0.
lhs_(4,1,1) = (-(tmp22)) * ((-(u_(0,2) * u_(0,4))) * t2)
&- tmp11 * ((-(c3c4)) * t2 * u_(0,4))
lhs_(4,2,1) = (-(tmp22)) * u_(0,4) * t1
lhs_(4,3,1) = 0.
lhs_(4,4,1) = (-(tmp22)) * u_(0,2) * t1 - tmp11 * c3c4 *
&t1 - tmp11 * dx4
lhs_(4,5,1) = 0.
lhs_(5,1,1) = (-(tmp22)) * ((c2 * (u_(0,2) * u_(0,2) + u_
&(0,3) * u_(0,3) + u_(0,4) * u_(0,4)) * t2 - c1 * (u_(0,5) * t1)) *
& (u_(0,2) * t1)) - tmp11 * ((-(con43 * c3c4 - c1345)) * t3 * u_(0,
&2)** 2 - (c3c4 - c1345) * t3 * u_(0,3)** 2 - (c3c4 - c1345) * t3 *
& u_(0,4)** 2 - c1345 * t2 * u_(0,5))
lhs_(5,2,1) = (-(tmp22)) * (c1 * u_(0,5) * t1 - 0.50d+00
&* c2 * (3.0d+00 * u_(0,2) * u_(0,2) + u_(0,3) * u_(0,3) + u_(0,4)
&* u_(0,4)) * t2) - tmp11 * ((con43 * c3c4 - c1345) * t2 * u_(0,2))
lhs_(5,3,1) = (-(tmp22)) * ((-(c2)) * (u_(0,3) * u_(0,2))
& * t2) - tmp11 * (c3c4 - c1345) * t2 * u_(0,3)
lhs_(5,4,1) = (-(tmp22)) * ((-(c2)) * (u_(0,4) * u_(0,2))
& * t2) - tmp11 * (c3c4 - c1345) * t2 * u_(0,4)
lhs_(5,5,1) = (-(tmp22)) * c1 * (u_(0,2) * t1) - tmp11 *
&c1345 * t1 - tmp11 * dx5
lhs_(1,1,2) = 1.0d+00 + tmp11 * 2.0d+00 * dx1
lhs_(1,2,2) = 0.
lhs_(1,3,2) = 0.
lhs_(1,4,2) = 0.
lhs_(1,5,2) = 0.
lhs_(2,1,2) = tmp11 * 2.0d+00 * ((-(con43)) * c3c4 * tmp2
& * u_(1,2))
lhs_(2,2,2) = 1.0d+00 + tmp11 * 2.0d+00 * con43 * c3c4 *
&tmp1 + tmp11 * 2.0d+00 * dx2
lhs_(2,3,2) = 0.
lhs_(2,4,2) = 0.
lhs_(2,5,2) = 0.
lhs_(3,1,2) = tmp11 * 2.0d+00 * ((-(c3c4)) * tmp2 * u_(1,
&3))
lhs_(3,2,2) = 0.
lhs_(3,3,2) = 1.0d+00 + tmp11 * 2.0d+00 * c3c4 * tmp1 + t
&mp11 * 2.0d+00 * dx3
lhs_(3,4,2) = 0.
lhs_(3,5,2) = 0.
lhs_(4,1,2) = tmp11 * 2.0d+00 * ((-(c3c4)) * tmp2 * u_(1,
&4))
lhs_(4,2,2) = 0.
lhs_(4,3,2) = 0.
lhs_(4,4,2) = 1.0d+00 + tmp11 * 2.0d+00 * c3c4 * tmp1 + t
&mp11 * 2.0d+00 * dx4
lhs_(4,5,2) = tmp11 * 2.0d+00 * 0
lhs_(5,1,2) = tmp11 * 2.0d+00 * ((-(con43 * c3c4 - c1345)
&) * tmp3 * u_(1,2)** 2 - (c3c4 - c1345) * tmp3 * u_(1,3)** 2 - (c3
&c4 - c1345) * tmp3 * u_(1,4)** 2 - c1345 * tmp2 * u_(1,5))
lhs_(5,2,2) = tmp11 * 2.0d+00 * ((con43 * c3c4 - c1345) *
& tmp2 * u_(1,2))
lhs_(5,3,2) = tmp11 * 2.0d+00 * (c3c4 - c1345) * tmp2 * u
&_(1,3)
lhs_(5,4,2) = tmp11 * 2.0d+00 * (c3c4 - c1345) * tmp2 * u
&_(1,4)
lhs_(5,5,2) = 1.0d+00 + tmp11 * 2.0d+00 * c1345 * tmp1 +
&tmp11 * 2.0d+00 * dx5
if (i .ne. 1) then
do j__1 = 1,5
lhs_(1,j__1,2) = lhs_(1,j__1,2) - lhs_(1,1,1) * lhs
&_(1,j__1,3) - lhs_(1,2,1) * lhs_(2,j__1,3) - lhs_(1,3,1) * lhs_(3,
&j__1,3) - lhs_(1,4,1) * lhs_(4,j__1,3) - lhs_(1,5,1) * lhs_(5,j__1
&,3)
lhs_(2,j__1,2) = lhs_(2,j__1,2) - lhs_(2,1,1) * lhs
&_(1,j__1,3) - lhs_(2,2,1) * lhs_(2,j__1,3) - lhs_(2,3,1) * lhs_(3,
&j__1,3) - lhs_(2,4,1) * lhs_(4,j__1,3) - lhs_(2,5,1) * lhs_(5,j__1
&,3)
lhs_(3,j__1,2) = lhs_(3,j__1,2) - lhs_(3,1,1) * lhs
&_(1,j__1,3) - lhs_(3,2,1) * lhs_(2,j__1,3) - lhs_(3,3,1) * lhs_(3,
&j__1,3) - lhs_(3,4,1) * lhs_(4,j__1,3) - lhs_(3,5,1) * lhs_(5,j__1
&,3)
lhs_(4,j__1,2) = lhs_(4,j__1,2) - lhs_(4,1,1) * lhs
&_(1,j__1,3) - lhs_(4,2,1) * lhs_(2,j__1,3) - lhs_(4,3,1) * lhs_(3,
&j__1,3) - lhs_(4,4,1) * lhs_(4,j__1,3) - lhs_(4,5,1) * lhs_(5,j__1
&,3)
lhs_(5,j__1,2) = lhs_(5,j__1,2) - lhs_(5,1,1) * lhs
&_(1,j__1,3) - lhs_(5,2,1) * lhs_(2,j__1,3) - lhs_(5,3,1) * lhs_(3,
&j__1,3) - lhs_(5,4,1) * lhs_(4,j__1,3) - lhs_(5,5,1) * lhs_(5,j__1
&,3)
enddo
endif
lhs_(1,1,3) = (-(tmp11)) * dx1
lhs_(1,2,3) = tmp22
lhs_(1,3,3) = 0.
lhs_(1,4,3) = 0.
lhs_(1,5,3) = 0.
lhs_(2,1,3) = tmp22 * ((-(u_(2,2) * tm2 * u_(2,2))) + c2
&* 0.50d+00 * (u_(2,2) * u_(2,2) + u_(2,3) * u_(2,3) + u_(2,4) * u_
&(2,4)) * tm2) - tmp11 * ((-(con43)) * c3c4 * tm2 * u_(2,2))
lhs_(2,2,3) = tmp22 * ((2.0d+00 - c2) * (u_(2,2) / u_(2,1
&))) - tmp11 * con43 * c3c4 * tm1 - tmp11 * dx2
lhs_(2,3,3) = tmp22 * ((-(c2)) * (u_(2,3) * tm1))
lhs_(2,4,3) = tmp22 * ((-(c2)) * (u_(2,4) * tm1))
lhs_(2,5,3) = tmp22 * c2
lhs_(3,1,3) = tmp22 * ((-(u_(2,2) * u_(2,3))) * tm2) - tm
&p11 * ((-(c3c4)) * tm2 * u_(2,3))
lhs_(3,2,3) = tmp22 * u_(2,3) * tm1
lhs_(3,3,3) = tmp22 * u_(2,2) * tm1 - tmp11 * c3c4 * tm1
&- tmp11 * dx3
lhs_(3,4,3) = 0.
lhs_(3,5,3) = 0.
lhs_(4,1,3) = tmp22 * ((-(u_(2,2) * u_(2,4))) * tm2) - tm
&p11 * ((-(c3c4)) * tm2 * u_(2,4))
lhs_(4,2,3) = tmp22 * u_(2,4) * tm1
lhs_(4,3,3) = 0.
lhs_(4,4,3) = tmp22 * u_(2,2) * tm1 - tmp11 * c3c4 * tm1
&- tmp11 * dx4
lhs_(4,5,3) = 0.
lhs_(5,1,3) = tmp22 * ((c2 * (u_(2,2) * u_(2,2) + u_(2,3)
& * u_(2,3) + u_(2,4) * u_(2,4)) * tm2 - c1 * (u_(2,5) * tm1)) * (u
&_(2,2) * tm1)) - tmp11 * ((-(con43 * c3c4 - c1345)) * tm3 * u_(2,2
&)** 2 - (c3c4 - c1345) * tm3 * u_(2,3)** 2 - (c3c4 - c1345) * tm3
&* u_(2,4)** 2 - c1345 * tm2 * u_(2,5))
lhs_(5,2,3) = tmp22 * (c1 * u_(2,5) * tm1 - 0.50d+00 * c2
& * (3.0d+00 * u_(2,2) * u_(2,2) + u_(2,3) * u_(2,3) + u_(2,4) * u_
&(2,4)) * tm2) - tmp11 * ((con43 * c3c4 - c1345) * tm2 * u_(2,2))
lhs_(5,3,3) = tmp22 * ((-(c2)) * (u_(2,3) * u_(2,2)) * tm
&2) - tmp11 * (c3c4 - c1345) * tm2 * u_(2,3)
lhs_(5,4,3) = tmp22 * ((-(c2)) * (u_(2,4) * u_(2,2)) * tm
&2) - tmp11 * (c3c4 - c1345) * tm2 * u_(2,4)
lhs_(5,5,3) = tmp22 * c1 * (u_(2,2) * tm1) - tmp11 * c134
&5 * tm1 - tmp11 * dx5
do m = 1,5
rhs_(m) = rhs(m,i,j,k)
enddo
do i__0 = 1,5
rhs_(i__0) = rhs_(i__0) - lhs_(i__0,1,1) * rhs(1,i - 1
&,j,k) - lhs_(i__0,2,1) * rhs(2,i - 1,j,k) - lhs_(i__0,3,1) * rhs(3
&,i - 1,j,k) - lhs_(i__0,4,1) * rhs(4,i - 1,j,k) - lhs_(i__0,5,1) *
& rhs(5,i - 1,j,k)
enddo
pivot = 1.00d0 / lhs_(1,1,2)
lhs_(1,2,2) = lhs_(1,2,2) * pivot
lhs_(1,3,2) = lhs_(1,3,2) * pivot
lhs_(1,4,2) = lhs_(1,4,2) * pivot
lhs_(1,5,2) = lhs_(1,5,2) * pivot
lhs_(1,1,3) = lhs_(1,1,3) * pivot
lhs_(1,2,3) = lhs_(1,2,3) * pivot
lhs_(1,3,3) = lhs_(1,3,3) * pivot
lhs_(1,4,3) = lhs_(1,4,3) * pivot
lhs_(1,5,3) = lhs_(1,5,3) * pivot
rhs_(1) = rhs_(1) * pivot
coeff = lhs_(2,1,2)
lhs_(2,2,2) = lhs_(2,2,2) - coeff * lhs_(1,2,2)
lhs_(2,3,2) = lhs_(2,3,2) - coeff * lhs_(1,3,2)
lhs_(2,4,2) = lhs_(2,4,2) - coeff * lhs_(1,4,2)
lhs_(2,5,2) = lhs_(2,5,2) - coeff * lhs_(1,5,2)
lhs_(2,1,3) = lhs_(2,1,3) - coeff * lhs_(1,1,3)
lhs_(2,2,3) = lhs_(2,2,3) - coeff * lhs_(1,2,3)
lhs_(2,3,3) = lhs_(2,3,3) - coeff * lhs_(1,3,3)
lhs_(2,4,3) = lhs_(2,4,3) - coeff * lhs_(1,4,3)
lhs_(2,5,3) = lhs_(2,5,3) - coeff * lhs_(1,5,3)
rhs_(2) = rhs_(2) - coeff * rhs_(1)
coeff = lhs_(3,1,2)
lhs_(3,2,2) = lhs_(3,2,2) - coeff * lhs_(1,2,2)
lhs_(3,3,2) = lhs_(3,3,2) - coeff * lhs_(1,3,2)
lhs_(3,4,2) = lhs_(3,4,2) - coeff * lhs_(1,4,2)
lhs_(3,5,2) = lhs_(3,5,2) - coeff * lhs_(1,5,2)
lhs_(3,1,3) = lhs_(3,1,3) - coeff * lhs_(1,1,3)
lhs_(3,2,3) = lhs_(3,2,3) - coeff * lhs_(1,2,3)
lhs_(3,3,3) = lhs_(3,3,3) - coeff * lhs_(1,3,3)
lhs_(3,4,3) = lhs_(3,4,3) - coeff * lhs_(1,4,3)
lhs_(3,5,3) = lhs_(3,5,3) - coeff * lhs_(1,5,3)
rhs_(3) = rhs_(3) - coeff * rhs_(1)
coeff = lhs_(4,1,2)
lhs_(4,2,2) = lhs_(4,2,2) - coeff * lhs_(1,2,2)
lhs_(4,3,2) = lhs_(4,3,2) - coeff * lhs_(1,3,2)
lhs_(4,4,2) = lhs_(4,4,2) - coeff * lhs_(1,4,2)
lhs_(4,5,2) = lhs_(4,5,2) - coeff * lhs_(1,5,2)
lhs_(4,1,3) = lhs_(4,1,3) - coeff * lhs_(1,1,3)
lhs_(4,2,3) = lhs_(4,2,3) - coeff * lhs_(1,2,3)
lhs_(4,3,3) = lhs_(4,3,3) - coeff * lhs_(1,3,3)
lhs_(4,4,3) = lhs_(4,4,3) - coeff * lhs_(1,4,3)
lhs_(4,5,3) = lhs_(4,5,3) - coeff * lhs_(1,5,3)
rhs_(4) = rhs_(4) - coeff * rhs_(1)
coeff = lhs_(5,1,2)
lhs_(5,2,2) = lhs_(5,2,2) - coeff * lhs_(1,2,2)
lhs_(5,3,2) = lhs_(5,3,2) - coeff * lhs_(1,3,2)
lhs_(5,4,2) = lhs_(5,4,2) - coeff * lhs_(1,4,2)
lhs_(5,5,2) = lhs_(5,5,2) - coeff * lhs_(1,5,2)
lhs_(5,1,3) = lhs_(5,1,3) - coeff * lhs_(1,1,3)
lhs_(5,2,3) = lhs_(5,2,3) - coeff * lhs_(1,2,3)
lhs_(5,3,3) = lhs_(5,3,3) - coeff * lhs_(1,3,3)
lhs_(5,4,3) = lhs_(5,4,3) - coeff * lhs_(1,4,3)
lhs_(5,5,3) = lhs_(5,5,3) - coeff * lhs_(1,5,3)
rhs_(5) = rhs_(5) - coeff * rhs_(1)
pivot = 1.00d0 / lhs_(2,2,2)
lhs_(2,3,2) = lhs_(2,3,2) * pivot
lhs_(2,4,2) = lhs_(2,4,2) * pivot
lhs_(2,5,2) = lhs_(2,5,2) * pivot
lhs_(2,1,3) = lhs_(2,1,3) * pivot
lhs_(2,2,3) = lhs_(2,2,3) * pivot
lhs_(2,3,3) = lhs_(2,3,3) * pivot
lhs_(2,4,3) = lhs_(2,4,3) * pivot
lhs_(2,5,3) = lhs_(2,5,3) * pivot
rhs_(2) = rhs_(2) * pivot
coeff = lhs_(1,2,2)
lhs_(1,3,2) = lhs_(1,3,2) - coeff * lhs_(2,3,2)
lhs_(1,4,2) = lhs_(1,4,2) - coeff * lhs_(2,4,2)
lhs_(1,5,2) = lhs_(1,5,2) - coeff * lhs_(2,5,2)
lhs_(1,1,3) = lhs_(1,1,3) - coeff * lhs_(2,1,3)
lhs_(1,2,3) = lhs_(1,2,3) - coeff * lhs_(2,2,3)
lhs_(1,3,3) = lhs_(1,3,3) - coeff * lhs_(2,3,3)
lhs_(1,4,3) = lhs_(1,4,3) - coeff * lhs_(2,4,3)
lhs_(1,5,3) = lhs_(1,5,3) - coeff * lhs_(2,5,3)
rhs_(1) = rhs_(1) - coeff * rhs_(2)
coeff = lhs_(3,2,2)
lhs_(3,3,2) = lhs_(3,3,2) - coeff * lhs_(2,3,2)
lhs_(3,4,2) = lhs_(3,4,2) - coeff * lhs_(2,4,2)
lhs_(3,5,2) = lhs_(3,5,2) - coeff * lhs_(2,5,2)
lhs_(3,1,3) = lhs_(3,1,3) - coeff * lhs_(2,1,3)
lhs_(3,2,3) = lhs_(3,2,3) - coeff * lhs_(2,2,3)
lhs_(3,3,3) = lhs_(3,3,3) - coeff * lhs_(2,3,3)
lhs_(3,4,3) = lhs_(3,4,3) - coeff * lhs_(2,4,3)
lhs_(3,5,3) = lhs_(3,5,3) - coeff * lhs_(2,5,3)
rhs_(3) = rhs_(3) - coeff * rhs_(2)
coeff = lhs_(4,2,2)
lhs_(4,3,2) = lhs_(4,3,2) - coeff * lhs_(2,3,2)
lhs_(4,4,2) = lhs_(4,4,2) - coeff * lhs_(2,4,2)
lhs_(4,5,2) = lhs_(4,5,2) - coeff * lhs_(2,5,2)
lhs_(4,1,3) = lhs_(4,1,3) - coeff * lhs_(2,1,3)
lhs_(4,2,3) = lhs_(4,2,3) - coeff * lhs_(2,2,3)
lhs_(4,3,3) = lhs_(4,3,3) - coeff * lhs_(2,3,3)
lhs_(4,4,3) = lhs_(4,4,3) - coeff * lhs_(2,4,3)
lhs_(4,5,3) = lhs_(4,5,3) - coeff * lhs_(2,5,3)
rhs_(4) = rhs_(4) - coeff * rhs_(2)
coeff = lhs_(5,2,2)
lhs_(5,3,2) = lhs_(5,3,2) - coeff * lhs_(2,3,2)
lhs_(5,4,2) = lhs_(5,4,2) - coeff * lhs_(2,4,2)
lhs_(5,5,2) = lhs_(5,5,2) - coeff * lhs_(2,5,2)
lhs_(5,1,3) = lhs_(5,1,3) - coeff * lhs_(2,1,3)
lhs_(5,2,3) = lhs_(5,2,3) - coeff * lhs_(2,2,3)
lhs_(5,3,3) = lhs_(5,3,3) - coeff * lhs_(2,3,3)
lhs_(5,4,3) = lhs_(5,4,3) - coeff * lhs_(2,4,3)
lhs_(5,5,3) = lhs_(5,5,3) - coeff * lhs_(2,5,3)
rhs_(5) = rhs_(5) - coeff * rhs_(2)
pivot = 1.00d0 / lhs_(3,3,2)
lhs_(3,4,2) = lhs_(3,4,2) * pivot
lhs_(3,5,2) = lhs_(3,5,2) * pivot
lhs_(3,1,3) = lhs_(3,1,3) * pivot
lhs_(3,2,3) = lhs_(3,2,3) * pivot
lhs_(3,3,3) = lhs_(3,3,3) * pivot
lhs_(3,4,3) = lhs_(3,4,3) * pivot
lhs_(3,5,3) = lhs_(3,5,3) * pivot
rhs_(3) = rhs_(3) * pivot
coeff = lhs_(1,3,2)
lhs_(1,4,2) = lhs_(1,4,2) - coeff * lhs_(3,4,2)
lhs_(1,5,2) = lhs_(1,5,2) - coeff * lhs_(3,5,2)
lhs_(1,1,3) = lhs_(1,1,3) - coeff * lhs_(3,1,3)
lhs_(1,2,3) = lhs_(1,2,3) - coeff * lhs_(3,2,3)
lhs_(1,3,3) = lhs_(1,3,3) - coeff * lhs_(3,3,3)
lhs_(1,4,3) = lhs_(1,4,3) - coeff * lhs_(3,4,3)
lhs_(1,5,3) = lhs_(1,5,3) - coeff * lhs_(3,5,3)
rhs_(1) = rhs_(1) - coeff * rhs_(3)
coeff = lhs_(2,3,2)
lhs_(2,4,2) = lhs_(2,4,2) - coeff * lhs_(3,4,2)
lhs_(2,5,2) = lhs_(2,5,2) - coeff * lhs_(3,5,2)
lhs_(2,1,3) = lhs_(2,1,3) - coeff * lhs_(3,1,3)
lhs_(2,2,3) = lhs_(2,2,3) - coeff * lhs_(3,2,3)
lhs_(2,3,3) = lhs_(2,3,3) - coeff * lhs_(3,3,3)
lhs_(2,4,3) = lhs_(2,4,3) - coeff * lhs_(3,4,3)
lhs_(2,5,3) = lhs_(2,5,3) - coeff * lhs_(3,5,3)
rhs_(2) = rhs_(2) - coeff * rhs_(3)
coeff = lhs_(4,3,2)
lhs_(4,4,2) = lhs_(4,4,2) - coeff * lhs_(3,4,2)
lhs_(4,5,2) = lhs_(4,5,2) - coeff * lhs_(3,5,2)
lhs_(4,1,3) = lhs_(4,1,3) - coeff * lhs_(3,1,3)
lhs_(4,2,3) = lhs_(4,2,3) - coeff * lhs_(3,2,3)
lhs_(4,3,3) = lhs_(4,3,3) - coeff * lhs_(3,3,3)
lhs_(4,4,3) = lhs_(4,4,3) - coeff * lhs_(3,4,3)
lhs_(4,5,3) = lhs_(4,5,3) - coeff * lhs_(3,5,3)
rhs_(4) = rhs_(4) - coeff * rhs_(3)
coeff = lhs_(5,3,2)
lhs_(5,4,2) = lhs_(5,4,2) - coeff * lhs_(3,4,2)
lhs_(5,5,2) = lhs_(5,5,2) - coeff * lhs_(3,5,2)
lhs_(5,1,3) = lhs_(5,1,3) - coeff * lhs_(3,1,3)
lhs_(5,2,3) = lhs_(5,2,3) - coeff * lhs_(3,2,3)
lhs_(5,3,3) = lhs_(5,3,3) - coeff * lhs_(3,3,3)
lhs_(5,4,3) = lhs_(5,4,3) - coeff * lhs_(3,4,3)
lhs_(5,5,3) = lhs_(5,5,3) - coeff * lhs_(3,5,3)
rhs_(5) = rhs_(5) - coeff * rhs_(3)
pivot = 1.00d0 / lhs_(4,4,2)
lhs_(4,5,2) = lhs_(4,5,2) * pivot
lhs_(4,1,3) = lhs_(4,1,3) * pivot
lhs_(4,2,3) = lhs_(4,2,3) * pivot
lhs_(4,3,3) = lhs_(4,3,3) * pivot
lhs_(4,4,3) = lhs_(4,4,3) * pivot
lhs_(4,5,3) = lhs_(4,5,3) * pivot
rhs_(4) = rhs_(4) * pivot
coeff = lhs_(1,4,2)
lhs_(1,5,2) = lhs_(1,5,2) - coeff * lhs_(4,5,2)
lhs_(1,1,3) = lhs_(1,1,3) - coeff * lhs_(4,1,3)
lhs_(1,2,3) = lhs_(1,2,3) - coeff * lhs_(4,2,3)
lhs_(1,3,3) = lhs_(1,3,3) - coeff * lhs_(4,3,3)
lhs_(1,4,3) = lhs_(1,4,3) - coeff * lhs_(4,4,3)
lhs_(1,5,3) = lhs_(1,5,3) - coeff * lhs_(4,5,3)
rhs_(1) = rhs_(1) - coeff * rhs_(4)
coeff = lhs_(2,4,2)
lhs_(2,5,2) = lhs_(2,5,2) - coeff * lhs_(4,5,2)
lhs_(2,1,3) = lhs_(2,1,3) - coeff * lhs_(4,1,3)
lhs_(2,2,3) = lhs_(2,2,3) - coeff * lhs_(4,2,3)
lhs_(2,3,3) = lhs_(2,3,3) - coeff * lhs_(4,3,3)
lhs_(2,4,3) = lhs_(2,4,3) - coeff * lhs_(4,4,3)
lhs_(2,5,3) = lhs_(2,5,3) - coeff * lhs_(4,5,3)
rhs_(2) = rhs_(2) - coeff * rhs_(4)
coeff = lhs_(3,4,2)
lhs_(3,5,2) = lhs_(3,5,2) - coeff * lhs_(4,5,2)
lhs_(3,1,3) = lhs_(3,1,3) - coeff * lhs_(4,1,3)
lhs_(3,2,3) = lhs_(3,2,3) - coeff * lhs_(4,2,3)
lhs_(3,3,3) = lhs_(3,3,3) - coeff * lhs_(4,3,3)
lhs_(3,4,3) = lhs_(3,4,3) - coeff * lhs_(4,4,3)
lhs_(3,5,3) = lhs_(3,5,3) - coeff * lhs_(4,5,3)
rhs_(3) = rhs_(3) - coeff * rhs_(4)
coeff = lhs_(5,4,2)
lhs_(5,5,2) = lhs_(5,5,2) - coeff * lhs_(4,5,2)
lhs_(5,1,3) = lhs_(5,1,3) - coeff * lhs_(4,1,3)
lhs_(5,2,3) = lhs_(5,2,3) - coeff * lhs_(4,2,3)
lhs_(5,3,3) = lhs_(5,3,3) - coeff * lhs_(4,3,3)
lhs_(5,4,3) = lhs_(5,4,3) - coeff * lhs_(4,4,3)
lhs_(5,5,3) = lhs_(5,5,3) - coeff * lhs_(4,5,3)
rhs_(5) = rhs_(5) - coeff * rhs_(4)
pivot = 1.00d0 / lhs_(5,5,2)
lhs_(5,1,3) = lhs_(5,1,3) * pivot
lhs_(5,2,3) = lhs_(5,2,3) * pivot
lhs_(5,3,3) = lhs_(5,3,3) * pivot
lhs_(5,4,3) = lhs_(5,4,3) * pivot
lhs_(5,5,3) = lhs_(5,5,3) * pivot
rhs_(5) = rhs_(5) * pivot
coeff = lhs_(1,5,2)
lhs_(1,1,3) = lhs_(1,1,3) - coeff * lhs_(5,1,3)
lhs_(1,2,3) = lhs_(1,2,3) - coeff * lhs_(5,2,3)
lhs_(1,3,3) = lhs_(1,3,3) - coeff * lhs_(5,3,3)
lhs_(1,4,3) = lhs_(1,4,3) - coeff * lhs_(5,4,3)
lhs_(1,5,3) = lhs_(1,5,3) - coeff * lhs_(5,5,3)
rhs_(1) = rhs_(1) - coeff * rhs_(5)
coeff = lhs_(2,5,2)
lhs_(2,1,3) = lhs_(2,1,3) - coeff * lhs_(5,1,3)
lhs_(2,2,3) = lhs_(2,2,3) - coeff * lhs_(5,2,3)
lhs_(2,3,3) = lhs_(2,3,3) - coeff * lhs_(5,3,3)
lhs_(2,4,3) = lhs_(2,4,3) - coeff * lhs_(5,4,3)
lhs_(2,5,3) = lhs_(2,5,3) - coeff * lhs_(5,5,3)
rhs_(2) = rhs_(2) - coeff * rhs_(5)
coeff = lhs_(3,5,2)
lhs_(3,1,3) = lhs_(3,1,3) - coeff * lhs_(5,1,3)
lhs_(3,2,3) = lhs_(3,2,3) - coeff * lhs_(5,2,3)
lhs_(3,3,3) = lhs_(3,3,3) - coeff * lhs_(5,3,3)
lhs_(3,4,3) = lhs_(3,4,3) - coeff * lhs_(5,4,3)
lhs_(3,5,3) = lhs_(3,5,3) - coeff * lhs_(5,5,3)
rhs_(3) = rhs_(3) - coeff * rhs_(5)
coeff = lhs_(4,5,2)
lhs_(4,1,3) = lhs_(4,1,3) - coeff * lhs_(5,1,3)
lhs_(4,2,3) = lhs_(4,2,3) - coeff * lhs_(5,2,3)
lhs_(4,3,3) = lhs_(4,3,3) - coeff * lhs_(5,3,3)
lhs_(4,4,3) = lhs_(4,4,3) - coeff * lhs_(5,4,3)
lhs_(4,5,3) = lhs_(4,5,3) - coeff * lhs_(5,5,3)
rhs_(4) = rhs_(4) - coeff * rhs_(5)
do i__0 = 1,5
lhs__(i__0,1,i,j,k) = lhs_(i__0,1,3)
lhs__(i__0,2,i,j,k) = lhs_(i__0,2,3)
lhs__(i__0,3,i,j,k) = lhs_(i__0,3,3)
lhs__(i__0,4,i,j,k) = lhs_(i__0,4,3)
lhs__(i__0,5,i,j,k) = lhs_(i__0,5,3)
enddo
do m = 1,5
rhs(m,i,j,k) = rhs_(m)
u_(0,m) = u_(1,m)
u_(1,m) = u_(2,m)
enddo
enddo
! else ! ******************* else case *************************
do n = 1,5
lhs_(1,n,1) = 0.0d0
lhs_(1,n,2) = 0.0d0
lhs_(1,n,3) = 0.0d0
lhs_(2,n,1) = 0.0d0
lhs_(2,n,2) = 0.0d0
lhs_(2,n,3) = 0.0d0
lhs_(3,n,1) = 0.0d0
lhs_(3,n,2) = 0.0d0
lhs_(3,n,3) = 0.0d0
lhs_(4,n,1) = 0.0d0
lhs_(4,n,2) = 0.0d0
lhs_(4,n,3) = 0.0d0
lhs_(5,n,1) = 0.0d0
lhs_(5,n,2) = 0.0d0
lhs_(5,n,3) = 0.0d0
enddo
do m = 1,5
lhs_(m,m,2) = 1.0d0
enddo
do m = 1,5
rhs_(m) = rhs(m,i,j,k)
enddo
do i__0 = 1,5
rhs_(i__0) = rhs_(i__0) - lhs_(i__0,1,1) * rhs(1,i - 1,j,
&k) - lhs_(i__0,2,1) * rhs(2,i - 1,j,k) - lhs_(i__0,3,1) * rhs(3,i
&- 1,j,k) - lhs_(i__0,4,1) * rhs(4,i - 1,j,k) - lhs_(i__0,5,1) * rh
&s(5,i - 1,j,k)
enddo
do j__1 = 1,5
lhs_(1,j__1,2) = lhs_(1,j__1,2) - lhs_(1,1,1) * lhs_(1,j_
&_1,3) - lhs_(1,2,1) * lhs_(2,j__1,3) - lhs_(1,3,1) * lhs_(3,j__1,3
&) - lhs_(1,4,1) * lhs_(4,j__1,3) - lhs_(1,5,1) * lhs_(5,j__1,3)
lhs_(2,j__1,2) = lhs_(2,j__1,2) - lhs_(2,1,1) * lhs_(1,j_
&_1,3) - lhs_(2,2,1) * lhs_(2,j__1,3) - lhs_(2,3,1) * lhs_(3,j__1,3
&) - lhs_(2,4,1) * lhs_(4,j__1,3) - lhs_(2,5,1) * lhs_(5,j__1,3)
lhs_(3,j__1,2) = lhs_(3,j__1,2) - lhs_(3,1,1) * lhs_(1,j_
&_1,3) - lhs_(3,2,1) * lhs_(2,j__1,3) - lhs_(3,3,1) * lhs_(3,j__1,3
&) - lhs_(3,4,1) * lhs_(4,j__1,3) - lhs_(3,5,1) * lhs_(5,j__1,3)
lhs_(4,j__1,2) = lhs_(4,j__1,2) - lhs_(4,1,1) * lhs_(1,j_
&_1,3) - lhs_(4,2,1) * lhs_(2,j__1,3) - lhs_(4,3,1) * lhs_(3,j__1,3
&) - lhs_(4,4,1) * lhs_(4,j__1,3) - lhs_(4,5,1) * lhs_(5,j__1,3)
lhs_(5,j__1,2) = lhs_(5,j__1,2) - lhs_(5,1,1) * lhs_(1,j_
&_1,3) - lhs_(5,2,1) * lhs_(2,j__1,3) - lhs_(5,3,1) * lhs_(3,j__1,3
&) - lhs_(5,4,1) * lhs_(4,j__1,3) - lhs_(5,5,1) * lhs_(5,j__1,3)
enddo
!---------------------------------------------------------------------
!
!---------------------------------------------------------------------
pivot__3 = 1.00d0 / lhs_(1,1,2)
lhs_(1,2,2) = lhs_(1,2,2) * pivot__3
lhs_(1,3,2) = lhs_(1,3,2) * pivot__3
lhs_(1,4,2) = lhs_(1,4,2) * pivot__3
lhs_(1,5,2) = lhs_(1,5,2) * pivot__3
rhs_(1) = rhs_(1) * pivot__3
coeff__2 = lhs_(2,1,2)
lhs_(2,2,2) = lhs_(2,2,2) - coeff__2 * lhs_(1,2,2)
lhs_(2,3,2) = lhs_(2,3,2) - coeff__2 * lhs_(1,3,2)
lhs_(2,4,2) = lhs_(2,4,2) - coeff__2 * lhs_(1,4,2)
lhs_(2,5,2) = lhs_(2,5,2) - coeff__2 * lhs_(1,5,2)
rhs_(2) = rhs_(2) - coeff__2 * rhs_(1)
coeff__2 = lhs_(3,1,2)
lhs_(3,2,2) = lhs_(3,2,2) - coeff__2 * lhs_(1,2,2)
lhs_(3,3,2) = lhs_(3,3,2) - coeff__2 * lhs_(1,3,2)
lhs_(3,4,2) = lhs_(3,4,2) - coeff__2 * lhs_(1,4,2)
lhs_(3,5,2) = lhs_(3,5,2) - coeff__2 * lhs_(1,5,2)
rhs_(3) = rhs_(3) - coeff__2 * rhs_(1)
coeff__2 = lhs_(4,1,2)
lhs_(4,2,2) = lhs_(4,2,2) - coeff__2 * lhs_(1,2,2)
lhs_(4,3,2) = lhs_(4,3,2) - coeff__2 * lhs_(1,3,2)
lhs_(4,4,2) = lhs_(4,4,2) - coeff__2 * lhs_(1,4,2)
lhs_(4,5,2) = lhs_(4,5,2) - coeff__2 * lhs_(1,5,2)
rhs_(4) = rhs_(4) - coeff__2 * rhs_(1)
coeff__2 = lhs_(5,1,2)
lhs_(5,2,2) = lhs_(5,2,2) - coeff__2 * lhs_(1,2,2)
lhs_(5,3,2) = lhs_(5,3,2) - coeff__2 * lhs_(1,3,2)
lhs_(5,4,2) = lhs_(5,4,2) - coeff__2 * lhs_(1,4,2)
lhs_(5,5,2) = lhs_(5,5,2) - coeff__2 * lhs_(1,5,2)
rhs_(5) = rhs_(5) - coeff__2 * rhs_(1)
pivot__3 = 1.00d0 / lhs_(2,2,2)
lhs_(2,3,2) = lhs_(2,3,2) * pivot__3
lhs_(2,4,2) = lhs_(2,4,2) * pivot__3
lhs_(2,5,2) = lhs_(2,5,2) * pivot__3
rhs_(2) = rhs_(2) * pivot__3
coeff__2 = lhs_(1,2,2)
lhs_(1,3,2) = lhs_(1,3,2) - coeff__2 * lhs_(2,3,2)
lhs_(1,4,2) = lhs_(1,4,2) - coeff__2 * lhs_(2,4,2)
lhs_(1,5,2) = lhs_(1,5,2) - coeff__2 * lhs_(2,5,2)
rhs_(1) = rhs_(1) - coeff__2 * rhs_(2)
coeff__2 = lhs_(3,2,2)
lhs_(3,3,2) = lhs_(3,3,2) - coeff__2 * lhs_(2,3,2)
lhs_(3,4,2) = lhs_(3,4,2) - coeff__2 * lhs_(2,4,2)
lhs_(3,5,2) = lhs_(3,5,2) - coeff__2 * lhs_(2,5,2)
rhs_(3) = rhs_(3) - coeff__2 * rhs_(2)
coeff__2 = lhs_(4,2,2)
lhs_(4,3,2) = lhs_(4,3,2) - coeff__2 * lhs_(2,3,2)
lhs_(4,4,2) = lhs_(4,4,2) - coeff__2 * lhs_(2,4,2)
lhs_(4,5,2) = lhs_(4,5,2) - coeff__2 * lhs_(2,5,2)
rhs_(4) = rhs_(4) - coeff__2 * rhs_(2)
coeff__2 = lhs_(5,2,2)
lhs_(5,3,2) = lhs_(5,3,2) - coeff__2 * lhs_(2,3,2)
lhs_(5,4,2) = lhs_(5,4,2) - coeff__2 * lhs_(2,4,2)
lhs_(5,5,2) = lhs_(5,5,2) - coeff__2 * lhs_(2,5,2)
rhs_(5) = rhs_(5) - coeff__2 * rhs_(2)
pivot__3 = 1.00d0 / lhs_(3,3,2)
lhs_(3,4,2) = lhs_(3,4,2) * pivot__3
lhs_(3,5,2) = lhs_(3,5,2) * pivot__3
rhs_(3) = rhs_(3) * pivot__3
coeff__2 = lhs_(1,3,2)
lhs_(1,4,2) = lhs_(1,4,2) - coeff__2 * lhs_(3,4,2)
lhs_(1,5,2) = lhs_(1,5,2) - coeff__2 * lhs_(3,5,2)
rhs_(1) = rhs_(1) - coeff__2 * rhs_(3)
coeff__2 = lhs_(2,3,2)
lhs_(2,4,2) = lhs_(2,4,2) - coeff__2 * lhs_(3,4,2)
lhs_(2,5,2) = lhs_(2,5,2) - coeff__2 * lhs_(3,5,2)
rhs_(2) = rhs_(2) - coeff__2 * rhs_(3)
coeff__2 = lhs_(4,3,2)
lhs_(4,4,2) = lhs_(4,4,2) - coeff__2 * lhs_(3,4,2)
lhs_(4,5,2) = lhs_(4,5,2) - coeff__2 * lhs_(3,5,2)
rhs_(4) = rhs_(4) - coeff__2 * rhs_(3)
coeff__2 = lhs_(5,3,2)
lhs_(5,4,2) = lhs_(5,4,2) - coeff__2 * lhs_(3,4,2)
lhs_(5,5,2) = lhs_(5,5,2) - coeff__2 * lhs_(3,5,2)
rhs_(5) = rhs_(5) - coeff__2 * rhs_(3)
pivot__3 = 1.00d0 / lhs_(4,4,2)
lhs_(4,5,2) = lhs_(4,5,2) * pivot__3
rhs_(4) = rhs_(4) * pivot__3
coeff__2 = lhs_(1,4,2)
lhs_(1,5,2) = lhs_(1,5,2) - coeff__2 * lhs_(4,5,2)
rhs_(1) = rhs_(1) - coeff__2 * rhs_(4)
coeff__2 = lhs_(2,4,2)
lhs_(2,5,2) = lhs_(2,5,2) - coeff__2 * lhs_(4,5,2)
rhs_(2) = rhs_(2) - coeff__2 * rhs_(4)
coeff__2 = lhs_(3,4,2)
lhs_(3,5,2) = lhs_(3,5,2) - coeff__2 * lhs_(4,5,2)
rhs_(3) = rhs_(3) - coeff__2 * rhs_(4)
coeff__2 = lhs_(5,4,2)
lhs_(5,5,2) = lhs_(5,5,2) - coeff__2 * lhs_(4,5,2)
rhs_(5) = rhs_(5) - coeff__2 * rhs_(4)
pivot__3 = 1.00d0 / lhs_(5,5,2)
rhs_(5) = rhs_(5) * pivot__3
coeff__2 = lhs_(1,5,2)
rhs_(1) = rhs_(1) - coeff__2 * rhs_(5)
coeff__2 = lhs_(2,5,2)
rhs_(2) = rhs_(2) - coeff__2 * rhs_(5)
coeff__2 = lhs_(3,5,2)
rhs_(3) = rhs_(3) - coeff__2 * rhs_(5)
coeff__2 = lhs_(4,5,2)
rhs_(4) = rhs_(4) - coeff__2 * rhs_(5)
! endif
do m = 1,5
rhs(m,i,j,k) = rhs_(m)
enddo
! enddo
do i = problem_size - 2,0,(-(1))
do m = 1,5
rhs_(m) = rhs(m,i,j,k)
enddo
do m = 1,5
rhs_(m) = rhs_(m) - lhs__(m,1,i,j,k) * rhs(1,i + 1,j,k
&)
rhs_(m) = rhs_(m) - lhs__(m,2,i,j,k) * rhs(2,i + 1,j,k
&)
rhs_(m) = rhs_(m) - lhs__(m,3,i,j,k) * rhs(3,i + 1,j,k
&)
rhs_(m) = rhs_(m) - lhs__(m,4,i,j,k) * rhs(4,i + 1,j,k
&)
rhs_(m) = rhs_(m) - lhs__(m,5,i,j,k) * rhs(5,i + 1,j,k
&)
enddo
do m = 1,5
rhs(m,i,j,k) = rhs_(m)
enddo
enddo
enddo
enddo
!$SPF END PARALLEL_REG
! DVM$ END REGION
return
end