Skip to content

Commit 483d116

Browse files
mohdsaid497566Malmahrouqi3
authored andcommitted
corrected pointer implementation in s_populate_riemann_states_variables_buffers
1 parent f51210b commit 483d116

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

src/simulation/m_riemann_solvers.fpp

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2986,45 +2986,53 @@ contains
29862986
qR_prim_vf, &
29872987
norm_dir, ix, iy, iz)
29882988

2989-
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) :: qL_prim_rsx_vf, qL_prim_rsy_vf, qL_prim_rsz_vf, qR_prim_rsx_vf, qR_prim_rsy_vf, qR_prim_rsz_vf
2989+
real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), target, intent(inout) :: qL_prim_rsx_vf, qL_prim_rsy_vf, qL_prim_rsz_vf, qR_prim_rsx_vf, qR_prim_rsy_vf, qR_prim_rsz_vf
2990+
real(wp), dimension(:,:,:,:), pointer :: qL_prim_rs_vf, qR_prim_rs_vf
29902991

29912992
type(scalar_field), &
29922993
allocatable, dimension(:), &
2993-
intent(inout) :: dqL_prim_dx_vf, dqR_prim_dx_vf, &
2994+
target, intent(inout) :: dqL_prim_dx_vf, dqR_prim_dx_vf, &
29942995
dqL_prim_dy_vf, dqR_prim_dy_vf, &
29952996
dqL_prim_dz_vf, dqR_prim_dz_vf, &
29962997
qL_prim_vf, qR_prim_vf
2998+
type(scalar_field), &
2999+
dimension(:), &
3000+
pointer :: dqL_prim_d_vf, dqR_prim_d_vf
3001+
3002+
integer :: end_val, bc_beg, bc_end
29973003

29983004
integer, intent(in) :: norm_dir
29993005
type(int_bounds_info), intent(in) :: ix, iy, iz
30003006

30013007
integer :: i, j, k, l !< Generic loop iterator
30023008

3003-
pointer :: qL_prim_rs_vf, dqL_prim_d_vf
3004-
pointer :: qR_prim_rs_vf, dqR_prim_d_vf
3005-
integer :: end_val, bc_beg, bc_end
3006-
30073009
if (norm_dir == 1) then
30083010
is1 = ix; is2 = iy; is3 = iz
30093011
dir_idx = (/1, 2, 3/); dir_flg = (/1._wp, 0._wp, 0._wp/)
30103012
bc_beg = bc_x%beg; bc_end = bc_x%end
30113013
end_val = m
3012-
qL_prim_rs_vf => qL_prim_rsx_vf; qR_prim_rs_vf => qR_prim_rsx_vf
3013-
dqL_prim_d_vf => dqL_prim_dx_vf; dqR_prim_d_vf => dqR_prim_dx_vf
3014-
elseif (norm_dir == 2) then
3014+
qL_prim_rs_vf => qL_prim_rsx_vf
3015+
qR_prim_rs_vf => qR_prim_rsx_vf
3016+
dqL_prim_d_vf => dqL_prim_dx_vf
3017+
dqR_prim_d_vf => dqR_prim_dx_vf
3018+
else if (norm_dir == 2) then
30153019
is1 = iy; is2 = ix; is3 = iz
30163020
dir_idx = (/2, 1, 3/); dir_flg = (/0._wp, 1._wp, 0._wp/)
30173021
bc_beg = bc_y%beg; bc_end = bc_y%end
3018-
qL_prim_rs_vf => qL_prim_rsy_vf; qR_prim_rs_vf => qR_prim_rsy_vf
3019-
dqL_prim_d_vf => dqL_prim_dy_vf; dqR_prim_d_vf => dqR_prim_dy_vf
30203022
end_val = n
3023+
qL_prim_rs_vf => qL_prim_rsy_vf
3024+
qR_prim_rs_vf => qR_prim_rsy_vf
3025+
dqL_prim_d_vf => dqL_prim_dy_vf
3026+
dqR_prim_d_vf => dqR_prim_dy_vf
30213027
else
30223028
is1 = iz; is2 = iy; is3 = ix
30233029
dir_idx = (/3, 1, 2/); dir_flg = (/0._wp, 0._wp, 1._wp/)
30243030
bc_beg = bc_z%beg; bc_end = bc_z%end
3025-
qL_prim_rs_vf => qL_prim_rsz_vf; qR_prim_rs_vf => qR_prim_rsz_vf
3026-
dqL_prim_d_vf => dqL_prim_dz_vf; dqR_prim_d_vf => dqR_prim_dz_vf
30273031
end_val = p
3032+
qL_prim_rs_vf => qL_prim_rsz_vf
3033+
qR_prim_rs_vf => qR_prim_rsz_vf
3034+
dqL_prim_d_vf => dqL_prim_dz_vf
3035+
dqR_prim_d_vf => dqR_prim_dz_vf
30283036
end if
30293037

30303038
!$acc update device(is1, is2, is3)

0 commit comments

Comments
 (0)