Remove bnd_rest() since it is not used anymore.

This commit is contained in:
Grzegorz Kowal 2011-05-17 11:43:31 -03:00
parent 7e43396302
commit 405d962804

View File

@ -2088,270 +2088,6 @@ module boundaries
!
!===============================================================================
!
! bnd_rest: subroutine copies the restricted interior of the neighbor to update
! the boundaries of the current block
!
!===============================================================================
!
subroutine bnd_rest(pdata, u, idir, iside, iface)
use blocks , only : block_data
use config , only : ng, in, im, ih, ib, ibl, ibu, ie, iel, ieu &
, nd, jn, jm, jh, jb, jbl, jbu, je, jel, jeu &
, nh, kn, km, kh, kb, kbl, kbu, ke, kel, keu
use variables, only : nqt, nfl
#ifdef MHD
use variables, only : ibx, iby, ibz
#ifdef GLM
use variables, only : iph
#endif /* GLM */
#endif /* MHD */
implicit none
! arguments
!
type(block_data), pointer , intent(inout) :: pdata
real , dimension(nqt,im,jm,km), intent(in) :: u
integer , intent(in) :: idir, iside, iface
! local variables
!
integer :: if, jf, kf, ip, jp, kp
integer :: il, jl, kl, iu, ju, ku
integer :: is, js, ks, it, jt, kt
!
!-------------------------------------------------------------------------------
!
#if NDIMS == 2
! prepare temporary indices
!
kl = 1
ku = 1
ks = 1
kt = 1
#endif /* NDIMS == 2 */
! prepare indices
!
select case(idir)
case(1)
if = iside - 1
jf = mod(iface - 1, 2)
#if NDIMS == 3
kf = (iface - 1) / 2
#endif /* NDIMS == 3 */
! indices of the source and destination arrays
!
if (if .eq. 0) then
il = ie - nd + 1
iu = ie
is = 1
it = ibl
else
il = ib
iu = ib + nd - 1
is = ie + 1
it = im
end if
ip = il + 1
if (jf .eq. 0) then
jl = 1
ju = je
js = jb - nh
jt = jh
else
jl = jb
ju = jm
js = jh + 1
jt = je + nh
end if
jp = jl + 1
#if NDIMS == 3
if (kf .eq. 0) then
kl = 1
ku = ke
ks = kb - nh
kt = kh
else
kl = kb
ku = km
ks = kh + 1
kt = ke + nh
end if
kp = kl + 1
#endif /* NDIMS == 3 */
case(2)
if = mod(iface - 1, 2)
jf = iside - 1
#if NDIMS == 3
kf = (iface - 1) / 2
#endif /* NDIMS == 3 */
! indices of the source and destination arrays
!
if (if .eq. 0) then
il = 1
iu = ie
is = ib - nh
it = ih
else
il = ib
iu = im
is = ih + 1
it = ie + nh
end if
ip = il + 1
if (jf .eq. 0) then
jl = je - nd + 1
ju = je
js = 1
jt = jbl
else
jl = jb
ju = jb + nd - 1
js = jeu
jt = jm
end if
jp = jl + 1
#if NDIMS == 3
if (kf .eq. 0) then
kl = 1
ku = ke
ks = kb - nh
kt = kh
else
kl = kb
ku = km
ks = kh + 1
kt = ke + nh
end if
kp = kl + 1
#endif /* NDIMS == 3 */
#if NDIMS == 3
case(3)
if = mod(iface - 1, 2)
jf = (iface - 1) / 2
kf = iside - 1
! indices of the source and destination arrays
!
if (if .eq. 0) then
il = 1
iu = ie
is = ib - nh
it = ih
else
il = ib
iu = im
is = ih + 1
it = ie + nh
end if
ip = il + 1
if (jf .eq. 0) then
jl = 1
ju = je
js = jb - nh
jt = jh
else
jl = jb
ju = jm
js = jh + 1
jt = je + nh
end if
jp = jl + 1
if (kf .eq. 0) then
kl = ke - nd + 1
ku = ke
ks = 1
kt = kbl
else
kl = kb
ku = kb + nd - 1
ks = keu
kt = km
end if
kp = kl + 1
#endif /* NDIMS == 3 */
end select
! update field variable boundaries
!
#if NDIMS == 2
pdata%u(1:nfl,is:it,js:jt,1) = 0.25 * (u(1:nfl,il:iu:2,jl:ju:2,1) &
+ u(1:nfl,ip:iu:2,jl:ju:2,1) &
+ u(1:nfl,il:iu:2,jp:ju:2,1) &
+ u(1:nfl,ip:iu:2,jp:ju:2,1))
#endif /* NDIMS == 2 */
#if NDIMS == 3
pdata%u(1:nfl,is:it,js:jt,ks:kt) = &
0.125 * (u(1:nfl,il:iu:2,jl:ju:2,kl:ku:2) &
+ u(1:nfl,ip:iu:2,jl:ju:2,kl:ku:2) &
+ u(1:nfl,il:iu:2,jp:ju:2,kl:ku:2) &
+ u(1:nfl,ip:iu:2,jp:ju:2,kl:ku:2) &
+ u(1:nfl,il:iu:2,jl:ju:2,kp:ku:2) &
+ u(1:nfl,ip:iu:2,jl:ju:2,kp:ku:2) &
+ u(1:nfl,il:iu:2,jp:ju:2,kp:ku:2) &
+ u(1:nfl,ip:iu:2,jp:ju:2,kp:ku:2))
#endif /* NDIMS == 3 */
#ifdef MHD
! update magnetic field components
!
#if NDIMS == 2
pdata%u(ibx:ibz,is:it,js:jt,1) = 0.25d0 * (u(ibx:ibz,il:iu:2,jl:ju:2,1) &
+ u(ibx:ibz,ip:iu:2,jl:ju:2,1) &
+ u(ibx:ibz,il:iu:2,jp:ju:2,1) &
+ u(ibx:ibz,ip:iu:2,jp:ju:2,1))
#endif /* NDIMS == 2 */
#if NDIMS == 3
pdata%u(ibx:ibz,is:it,js:jt,ks:kt) = &
0.125d0 * (u(ibx:ibz,il:iu:2,jl:ju:2,kl:ku:2) &
+ u(ibx:ibz,ip:iu:2,jl:ju:2,kl:ku:2) &
+ u(ibx:ibz,il:iu:2,jp:ju:2,kl:ku:2) &
+ u(ibx:ibz,ip:iu:2,jp:ju:2,kl:ku:2) &
+ u(ibx:ibz,il:iu:2,jl:ju:2,kp:ku:2) &
+ u(ibx:ibz,ip:iu:2,jl:ju:2,kp:ku:2) &
+ u(ibx:ibz,il:iu:2,jp:ju:2,kp:ku:2) &
+ u(ibx:ibz,ip:iu:2,jp:ju:2,kp:ku:2))
#endif /* NDIMS == 3 */
#ifdef GLM
! update the scalar potential
!
#if NDIMS == 2
pdata%u(iph,is:it,js:jt,1) = 0.25d0 * (u(iph,il:iu:2,jl:ju:2,1) &
+ u(iph,ip:iu:2,jl:ju:2,1) &
+ u(iph,il:iu:2,jp:ju:2,1) &
+ u(iph,ip:iu:2,jp:ju:2,1))
#endif /* NDIMS == 2 */
#if NDIMS == 3
pdata%u(iph,is:it,js:jt,ks:kt) = 0.125d0 * (u(iph,il:iu:2,jl:ju:2,kl:ku:2) &
+ u(iph,ip:iu:2,jl:ju:2,kl:ku:2) &
+ u(iph,il:iu:2,jp:ju:2,kl:ku:2) &
+ u(iph,ip:iu:2,jp:ju:2,kl:ku:2) &
+ u(iph,il:iu:2,jl:ju:2,kp:ku:2) &
+ u(iph,ip:iu:2,jl:ju:2,kp:ku:2) &
+ u(iph,il:iu:2,jp:ju:2,kp:ku:2) &
+ u(iph,ip:iu:2,jp:ju:2,kp:ku:2))
#endif /* NDIMS == 3 */
#endif /* GLM */
#endif /* MHD */
!
!-------------------------------------------------------------------------------
!
end subroutine bnd_rest
!
!===============================================================================
!
! bnd_prol: subroutine copies the prolongated interior of the neighbor to update
! the boundaries the of current block
!