Skip to content

Commit

Permalink
bugs
Browse files Browse the repository at this point in the history
  • Loading branch information
Anand authored and Anand committed Mar 9, 2025
1 parent 3f9c5ea commit 8a745ae
Show file tree
Hide file tree
Showing 3 changed files with 129 additions and 95 deletions.
36 changes: 18 additions & 18 deletions src/simulation/m_igr.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -424,8 +424,8 @@ contains
if(p == 0) then
!$acc parallel loop collapse(3) gang vector default(present) private(F_L,vel_L,rho_L,vel_sf)
do l = 0, p
do k = -buff_size+2, n+buff_size-3
do j = -buff_size+2, m+buff_size-3
do k = 0, n
do j = 0, m

F_L = (1._wp/60._wp) * (-3._wp * jac(j-1, k, l) + &
27._wp * jac(j, k, l) + &
Expand Down Expand Up @@ -493,9 +493,9 @@ contains
end do
else
!$acc parallel loop collapse(3) gang vector default(present) private(F_L, vel_L,rho_L,vel_sf)
do l = -buff_size+2, p+buff_size-3
do k = -buff_size+2, n+buff_size-3
do j = -buff_size+2, m+buff_size-3
do l = 0, p
do k = 0, n
do j = 0, m

F_L = (1._wp/60._wp) * (-3._wp * jac(j-1, k, l) + &
27._wp * jac(j, k, l) + &
Expand Down Expand Up @@ -586,8 +586,8 @@ contains
if(p == 0) then
!$acc parallel loop collapse(3) gang vector default(present) private(rho_L,gamma_L,pi_inf_L,mu_L,a_L,vel_L,vel_R, pres_L,alpha_L,alpha_rho_L,cfl,dvel1,dvel2,pres_sf,vel_sf,F_L)
do l = 0, p
do k = -buff_size+2, n+buff_size-3
do j = -buff_size+2, m+buff_size-3
do k = 0, n
do j = 0, m

!$acc loop seq
do i = 1, num_fluids
Expand Down Expand Up @@ -994,9 +994,9 @@ contains
end do
else
!$acc parallel loop collapse(3) gang vector default(present) private(rho_L,gamma_L,pi_inf_L,mu_L,a_L,vel_L,vel_R, pres_L,alpha_L,alpha_rho_L,cfl,dvel1,dvel2,pres_sf,vel_sf,F_L)
do l = -buff_size+2,p+buff_size-3
do k = -buff_size+2, n+buff_size-3
do j = -buff_size+2, m+buff_size-3
do l = 0, p
do k = 0, n
do j = 0, m

!$acc loop seq
do i = 1, num_fluids
Expand Down Expand Up @@ -1604,8 +1604,8 @@ contains
if(p == 0) then
!$acc parallel loop collapse(3) gang vector default(present) private(rho_L,gamma_L,pi_inf_L,mu_L,a_L,vel_L,vel_R, pres_L,alpha_L,alpha_rho_L,cfl,dvel1,dvel2,F_L,pres_sf,vel_sf)
do l = 0, p
do k = -buff_size+2, n+buff_size-3
do j = -buff_size+2, m+buff_size-3
do k = 0, n
do j = 0, m

!$acc loop seq
do i = 1, num_fluids
Expand Down Expand Up @@ -2023,9 +2023,9 @@ contains
end do
else
!$acc parallel loop collapse(3) gang vector default(present) private(rho_L,gamma_L,pi_inf_L,mu_L,a_L,vel_L,vel_R, pres_L,alpha_L,alpha_rho_L,cfl,dvel1,dvel2,F_L,pres_sf,vel_sf)
do l = -buff_size+2,p+buff_size-3
do k = -buff_size+2, n+buff_size-3
do j = -buff_size+2, m+buff_size-3
do l = 0, p
do k = 0, n
do j = 0, m

!$acc loop seq
do i = 1, num_fluids
Expand Down Expand Up @@ -2623,9 +2623,9 @@ contains
end if
elseif (idir == 3) then
!$acc parallel loop collapse(3) gang vector default(present) private(rho_L,gamma_L,pi_inf_L,mu_L,a_L,vel_L,vel_R, pres_L,alpha_L,alpha_rho_L,cfl,dvel1,dvel2,F_L,pres_sf,vel_sf)
do l = -buff_size+2,p+buff_size-3
do k = -buff_size+2, n+buff_size-3
do j = -buff_size+2, m+buff_size-3
do l = 0, p
do k = 0, n
do j = 0, m

!$acc loop seq
do i = 1, num_fluids
Expand Down
24 changes: 17 additions & 7 deletions src/simulation/m_sim_helpers.f90
Original file line number Diff line number Diff line change
Expand Up @@ -62,20 +62,30 @@ subroutine s_compute_enthalpy(q_prim_vf, pres, rho, gamma, pi_inf, Re, H, alpha,
call s_convert_species_to_mixture_variables_acc(rho, gamma, pi_inf, qv, alpha, alpha_rho, Re, j, k, l)
end if

!$acc loop seq
do i = 1, num_dims
vel(i) = q_prim_vf(contxe + i)%sf(j, k, l)
end do
if(igr) then
!$acc loop seq
do i = 1, num_dims
vel(i) = q_prim_vf(contxe + i)%sf(j, k, l) / q_prim_vf(i)%sf(j, k, l)
end do
else
!$acc loop seq
do i = 1, num_dims
vel(i) = q_prim_vf(contxe + i)%sf(j, k, l)
end do
end if

vel_sum = 0._wp
!$acc loop seq
do i = 1, num_dims
vel_sum = vel_sum + vel(i)**2._wp
end do

pres = q_prim_vf(E_idx)%sf(j, k, l)

E = gamma*pres + pi_inf + 5e-1_wp*rho*vel_sum + qv
if(igr) then
E = q_prim_vf(E_idx)%sf(j, k, l)
else
pres = q_prim_vf(E_idx)%sf(j, k, l)
E = gamma*pres + pi_inf + 5e-1_wp*rho*vel_sum + qv
end if

! ENERGY ADJUSTMENTS FOR HYPERELASTIC ENERGY
if (hyperelasticity) then
Expand Down
164 changes: 94 additions & 70 deletions src/simulation/m_time_steppers.fpp
Original file line number Diff line number Diff line change
Expand Up @@ -202,71 +202,71 @@ contains
idwbuff(3)%beg:idwbuff(3)%end))
@:ACC_SETUP_SFs(q_T_sf)
end if
end if

@:ALLOCATE(pb_ts(1:2))
!Initialize bubble variables pb and mv at all quadrature nodes for all R0 bins
if (qbmm .and. (.not. polytropic)) then
@:ALLOCATE(pb_ts(1)%sf(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(pb_ts(1))

@:ALLOCATE(pb_ts(2)%sf(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(pb_ts(2))

@:ALLOCATE(rhs_pb(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))
else if (qbmm .and. polytropic) then
@:ALLOCATE(pb_ts(1)%sf(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(pb_ts(1))

@:ALLOCATE(pb_ts(2)%sf(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(pb_ts(2))

@:ALLOCATE(rhs_pb(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
end if

@:ALLOCATE(mv_ts(1:2))

if (qbmm .and. (.not. polytropic)) then
@:ALLOCATE(mv_ts(1)%sf(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(mv_ts(1))
@:ALLOCATE(pb_ts(1:2))
!Initialize bubble variables pb and mv at all quadrature nodes for all R0 bins
if (qbmm .and. (.not. polytropic)) then
@:ALLOCATE(pb_ts(1)%sf(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(pb_ts(1))

@:ALLOCATE(pb_ts(2)%sf(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(pb_ts(2))

@:ALLOCATE(rhs_pb(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))
else if (qbmm .and. polytropic) then
@:ALLOCATE(pb_ts(1)%sf(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(pb_ts(1))

@:ALLOCATE(pb_ts(2)%sf(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(pb_ts(2))

@:ALLOCATE(rhs_pb(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
end if

@:ALLOCATE(mv_ts(2)%sf(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(mv_ts(2))
@:ALLOCATE(mv_ts(1:2))

@:ALLOCATE(rhs_mv(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))

else if (qbmm .and. polytropic) then
@:ALLOCATE(mv_ts(1)%sf(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(mv_ts(1))

@:ALLOCATE(mv_ts(2)%sf(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(mv_ts(2))

@:ALLOCATE(rhs_mv(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
end if
if (qbmm .and. (.not. polytropic)) then
@:ALLOCATE(mv_ts(1)%sf(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(mv_ts(1))

@:ALLOCATE(mv_ts(2)%sf(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(mv_ts(2))

@:ALLOCATE(rhs_mv(idwbuff(1)%beg:idwbuff(1)%end, &
idwbuff(2)%beg:idwbuff(2)%end, &
idwbuff(3)%beg:idwbuff(3)%end, 1:nnode, 1:nb))

else if (qbmm .and. polytropic) then
@:ALLOCATE(mv_ts(1)%sf(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(mv_ts(1))

@:ALLOCATE(mv_ts(2)%sf(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
@:ACC_SETUP_SFs(mv_ts(2))

@:ALLOCATE(rhs_mv(idwbuff(1)%beg:idwbuff(1)%beg + 1, &
idwbuff(2)%beg:idwbuff(2)%beg + 1, &
idwbuff(3)%beg:idwbuff(3)%beg + 1, 1:nnode, 1:nb))
end if

! Allocating the cell-average RHS time-stages for adaptive RKCK stepper
Expand All @@ -285,10 +285,18 @@ contains
! Allocating the cell-average RHS variables
@:ALLOCATE(rhs_vf(1:sys_size))

do i = 1, sys_size
@:ALLOCATE(rhs_vf(i)%sf(0:m, 0:n, 0:p))
@:ACC_SETUP_SFs(rhs_vf(i))
end do
if(.not. igr) then
do i = 1, sys_size
@:ALLOCATE(rhs_vf(i)%sf(0:m, 0:n, 0:p))
@:ACC_SETUP_SFs(rhs_vf(i))
end do
else
do i = 1, sys_size
@:ALLOCATE(rhs_vf(i)%sf(idwbuff(1)%beg:idwbuff(1)%end &
, idwbuff(2)%beg:idwbuff(2)%end, idwbuff(3)%beg:idwbuff(3)%end))
@:ACC_SETUP_SFs(rhs_vf(i))
end do
end if
end if

! Opening and writing the header of the run-time information file
Expand Down Expand Up @@ -321,7 +329,11 @@ contains
#endif

if (run_time_info) then
call s_write_run_time_information(q_prim_vf, t_step)
if(igr) then
call s_write_run_time_information(q_cons_ts(1)%vf, t_step)
else
call s_write_run_time_information(q_prim_vf, t_step)
end if
end if

#ifdef DEBUG
Expand Down Expand Up @@ -430,7 +442,11 @@ contains
call s_compute_rhs(q_cons_ts(1)%vf, q_T_sf, q_prim_vf, rhs_vf, pb_ts(1)%sf, rhs_pb, mv_ts(1)%sf, rhs_mv, t_step, time_avg)

if (run_time_info) then
call s_write_run_time_information(q_prim_vf, t_step)
if(igr) then
call s_write_run_time_information(q_cons_ts(1)%vf, t_step)
else
call s_write_run_time_information(q_prim_vf, t_step)
end if
end if

if (probe_wrt) then
Expand Down Expand Up @@ -618,7 +634,11 @@ contains
call s_compute_rhs(q_cons_ts(1)%vf, q_T_sf, q_prim_vf, rhs_vf, pb_ts(1)%sf, rhs_pb, mv_ts(1)%sf, rhs_mv, t_step, time_avg)

if (run_time_info) then
call s_write_run_time_information(q_prim_vf, t_step)
if(igr) then
call s_write_run_time_information(q_cons_ts(1)%vf, t_step)
else
call s_write_run_time_information(q_prim_vf, t_step)
end if
end if

if (probe_wrt) then
Expand Down Expand Up @@ -1180,7 +1200,11 @@ contains
end if

if (run_time_info) then
call s_write_run_time_information(q_prim_vf, t_step)
if(igr) then
call s_write_run_time_information(q_cons_ts(1)%vf, t_step)
else
call s_write_run_time_information(q_prim_vf, t_step)
end if
end if

end subroutine s_4th_5th_order_rkck
Expand Down

0 comments on commit 8a745ae

Please sign in to comment.