@@ -1166,7 +1166,8 @@ contains
11661166
11671167 lag_largestep = 0._wp
11681168 remove_id = 0
1169- !$acc parallel loop gang vector default(present) reduction(+ : lag_largestep) reduction(MAX: remove_id) private(k) copyin(RKstep)
1169+ !$acc parallel loop gang vector default(present) reduction(+ :lag_largestep) &
1170+ !$acc reduction(MAX: remove_id) copyin(RKstep) copy(lag_largestep, remove_id)
11701171 do k = 1 , nBubs
11711172
11721173 radiusOld = intfc_rad(k, 2 )
@@ -1238,7 +1239,7 @@ contains
12381239 integer :: i, j, k
12391240
12401241 rkck_errmax = 0._wp
1241- !$acc parallel loop gang vector default(present) reduction(MAX: rkck_errmax) private(k )
1242+ !$acc parallel loop gang vector default(present) reduction(MAX: rkck_errmax) copy(rkck_errmax )
12421243 do k = 1 , nBubs
12431244 errb = 0._wp
12441245
@@ -1662,15 +1663,12 @@ contains
16621663 lag_void_avg = 0._wp
16631664 lag_vol = 0._wp
16641665 !$acc parallel loop collapse(3 ) gang vector default(present) reduction(+ :lag_vol,lag_void_avg) &
1665- !$acc reduction(MAX:lag_void_max) private(cell )
1666- do i = 0 , m
1666+ !$acc reduction(MAX:lag_void_max) copy(lag_vol, lag_void_avg, lag_void_max )
1667+ do k = 0 , p
16671668 do j = 0 , n
1668- do k = 0 , p
1669+ do i = 0 , m
16691670 lag_void_max = max (lag_void_max, 1._wp - q_beta%vf(1 )%sf(i, j, k))
1670- cell(1 ) = i
1671- cell(2 ) = j
1672- cell(3 ) = k
1673- call s_get_char_vol(cell(1 ), cell(2 ), cell(3 ), volcell)
1671+ call s_get_char_vol(i, j, k, volcell)
16741672 if ((1._wp - q_beta%vf(1 )%sf(i, j, k)) > 5.0d-11 ) then
16751673 lag_void_avg = lag_void_avg + (1._wp - q_beta%vf(1 )%sf(i, j, k))* volcell
16761674 lag_vol = lag_vol + volcell
@@ -1848,7 +1846,8 @@ contains
18481846
18491847 integer :: k
18501848
1851- !$acc parallel loop gang vector default(present) reduction(MAX: Rmax_glb) reduction(MIN: Rmin_glb) private(k)
1849+ !$acc parallel loop gang vector default(present) reduction(MAX:Rmax_glb) &
1850+ !$acc reduction(MIN: Rmin_glb) copy(Rmax_glb, Rmin_glb)
18521851 do k = 1 , nBubs
18531852 Rmax_glb = max (Rmax_glb, intfc_rad(k, 1 )/ bub_R0(k))
18541853 Rmin_glb = min (Rmin_glb, intfc_rad(k, 1 )/ bub_R0(k))
0 commit comments