Remove bnd_rest() since it is not used anymore.
This commit is contained in:
parent
7e43396302
commit
405d962804
@ -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
|
! bnd_prol: subroutine copies the prolongated interior of the neighbor to update
|
||||||
! the boundaries the of current block
|
! the boundaries the of current block
|
||||||
!
|
!
|
||||||
|
Loading…
x
Reference in New Issue
Block a user