BOUNDARIES: Convert arguments in a vector in block_edge_restict().
Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
This commit is contained in:
parent
d82c04e5de
commit
99535b97f0
@ -3074,12 +3074,12 @@ module boundaries
|
|||||||
! data block
|
! data block
|
||||||
!
|
!
|
||||||
#if NDIMS == 2
|
#if NDIMS == 2
|
||||||
call block_edge_restrict(idir, i, j, k &
|
call block_edge_restrict(idir, (/ i, j, k /) &
|
||||||
, pneigh%data%q(1:nv, : , : , : ) &
|
, pneigh%data%q(1:nv, : , : , : ) &
|
||||||
, pmeta%data%q(1:nv,il:iu,jl:ju, : ))
|
, pmeta%data%q(1:nv,il:iu,jl:ju, : ))
|
||||||
#endif /* NDIMS == 2 */
|
#endif /* NDIMS == 2 */
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
call block_edge_restrict(idir, i, j, k &
|
call block_edge_restrict(idir, (/ i, j, k /) &
|
||||||
, pneigh%data%q(1:nv, : , : , : ) &
|
, pneigh%data%q(1:nv, : , : , : ) &
|
||||||
, pmeta%data%q(1:nv,il:iu,jl:ju,kl:ku))
|
, pmeta%data%q(1:nv,il:iu,jl:ju,kl:ku))
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
@ -3205,29 +3205,29 @@ module boundaries
|
|||||||
select case(idir)
|
select case(idir)
|
||||||
case(1)
|
case(1)
|
||||||
#if NDIMS == 2
|
#if NDIMS == 2
|
||||||
call block_edge_restrict(idir, i, j, k &
|
call block_edge_restrict(idir, (/ i, j, k /) &
|
||||||
, pneigh%data%q(1:nv, : , : , : ) &
|
, pneigh%data%q(1:nv, : , : , : ) &
|
||||||
, sbuf(l,1:nv,1:nh,1:ng, : ))
|
, sbuf(l,1:nv,1:nh,1:ng, : ))
|
||||||
#endif /* NDIMS == 2 */
|
#endif /* NDIMS == 2 */
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
call block_edge_restrict(idir, i, j, k &
|
call block_edge_restrict(idir, (/ i, j, k /) &
|
||||||
, pneigh%data%q(1:nv, : , : , : ) &
|
, pneigh%data%q(1:nv, : , : , : ) &
|
||||||
, sbuf(l,1:nv,1:nh,1:ng,1:ng))
|
, sbuf(l,1:nv,1:nh,1:ng,1:ng))
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
case(2)
|
case(2)
|
||||||
#if NDIMS == 2
|
#if NDIMS == 2
|
||||||
call block_edge_restrict(idir, i, j, k &
|
call block_edge_restrict(idir, (/ i, j, k /) &
|
||||||
, pneigh%data%q(1:nv, : , : , : ) &
|
, pneigh%data%q(1:nv, : , : , : ) &
|
||||||
, sbuf(l,1:nv,1:ng,1:nh, : ))
|
, sbuf(l,1:nv,1:ng,1:nh, : ))
|
||||||
#endif /* NDIMS == 2 */
|
#endif /* NDIMS == 2 */
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
call block_edge_restrict(idir, i, j, k &
|
call block_edge_restrict(idir, (/ i, j, k /) &
|
||||||
, pneigh%data%q(1:nv, : , : , : ) &
|
, pneigh%data%q(1:nv, : , : , : ) &
|
||||||
, sbuf(l,1:nv,1:ng,1:nh,1:ng))
|
, sbuf(l,1:nv,1:ng,1:nh,1:ng))
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
case(3)
|
case(3)
|
||||||
call block_edge_restrict(idir, i, j, k &
|
call block_edge_restrict(idir, (/ i, j, k /) &
|
||||||
, pneigh%data%q(1:nv, : , : , : ) &
|
, pneigh%data%q(1:nv, : , : , : ) &
|
||||||
, sbuf(l,1:nv,1:ng,1:ng,1:nh))
|
, sbuf(l,1:nv,1:ng,1:ng,1:nh))
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
@ -5888,14 +5888,14 @@ module boundaries
|
|||||||
!
|
!
|
||||||
! Arguments:
|
! Arguments:
|
||||||
!
|
!
|
||||||
! nc - the edge direction;
|
! dir - the edge direction;
|
||||||
! ic, jc, kc - the corner position;
|
! pos - the edge position;
|
||||||
! qn - the input neighbor variable array;
|
! qn - the input neighbor variable array;
|
||||||
! qb - the output edge boundary array;
|
! qb - the output edge boundary array;
|
||||||
!
|
!
|
||||||
!===============================================================================
|
!===============================================================================
|
||||||
!
|
!
|
||||||
subroutine block_edge_restrict(nc, ic, jc, kc, qn, qb)
|
subroutine block_edge_restrict(dir, pos, qn, qb)
|
||||||
|
|
||||||
! import external procedures and variables
|
! import external procedures and variables
|
||||||
!
|
!
|
||||||
@ -5909,7 +5909,8 @@ module boundaries
|
|||||||
|
|
||||||
! subroutine arguments
|
! subroutine arguments
|
||||||
!
|
!
|
||||||
integer , intent(in) :: nc, ic, jc, kc
|
integer , intent(in) :: dir
|
||||||
|
integer , dimension(3) , intent(in) :: pos
|
||||||
real(kind=8), dimension(:,:,:,:), intent(in) :: qn
|
real(kind=8), dimension(:,:,:,:), intent(in) :: qn
|
||||||
real(kind=8), dimension(:,:,:,:), intent(out) :: qb
|
real(kind=8), dimension(:,:,:,:), intent(out) :: qb
|
||||||
|
|
||||||
@ -5926,28 +5927,28 @@ module boundaries
|
|||||||
! prepare indices for the edge region
|
! prepare indices for the edge region
|
||||||
!
|
!
|
||||||
#if NDIMS == 2
|
#if NDIMS == 2
|
||||||
il = edges_dr(ic,jc,nc)%l(1)
|
il = edges_dr(pos(1),pos(2),dir)%l(1)
|
||||||
jl = edges_dr(ic,jc,nc)%l(2)
|
jl = edges_dr(pos(1),pos(2),dir)%l(2)
|
||||||
ip = il + 1
|
ip = il + 1
|
||||||
jp = jl + 1
|
jp = jl + 1
|
||||||
iu = edges_dr(ic,jc,nc)%u(1)
|
iu = edges_dr(pos(1),pos(2),dir)%u(1)
|
||||||
ju = edges_dr(ic,jc,nc)%u(2)
|
ju = edges_dr(pos(1),pos(2),dir)%u(2)
|
||||||
#endif /* NDIMS == 2 */
|
#endif /* NDIMS == 2 */
|
||||||
#if NDIMS == 3
|
#if NDIMS == 3
|
||||||
il = edges_dr(ic,jc,kc,nc)%l(1)
|
il = edges_dr(pos(1),pos(2),pos(3),dir)%l(1)
|
||||||
jl = edges_dr(ic,jc,kc,nc)%l(2)
|
jl = edges_dr(pos(1),pos(2),pos(3),dir)%l(2)
|
||||||
kl = edges_dr(ic,jc,kc,nc)%l(3)
|
kl = edges_dr(pos(1),pos(2),pos(3),dir)%l(3)
|
||||||
ip = il + 1
|
ip = il + 1
|
||||||
jp = jl + 1
|
jp = jl + 1
|
||||||
kp = kl + 1
|
kp = kl + 1
|
||||||
iu = edges_dr(ic,jc,kc,nc)%u(1)
|
iu = edges_dr(pos(1),pos(2),pos(3),dir)%u(1)
|
||||||
ju = edges_dr(ic,jc,kc,nc)%u(2)
|
ju = edges_dr(pos(1),pos(2),pos(3),dir)%u(2)
|
||||||
ku = edges_dr(ic,jc,kc,nc)%u(3)
|
ku = edges_dr(pos(1),pos(2),pos(3),dir)%u(3)
|
||||||
#endif /* NDIMS == 3 */
|
#endif /* NDIMS == 3 */
|
||||||
|
|
||||||
! process depending on the direction
|
! process depending on the direction
|
||||||
!
|
!
|
||||||
select case(nc)
|
select case(dir)
|
||||||
case(1)
|
case(1)
|
||||||
|
|
||||||
! restrict the edge region to the output array
|
! restrict the edge region to the output array
|
||||||
|
Loading…
x
Reference in New Issue
Block a user