@@ -357,51 +357,27 @@ contains
357357
358358 end subroutine s_initialize_time_steppers_module
359359
360- subroutine s_evolve_q_pb_mv ( index1 , index2 , scaler1 , scaler2 , scaler3 , scaler4 ) !! TODO :: Get a better name for this
360+ subroutine s_evolve_q ( index , scaler1 , scaler2 , scaler3 ) !! TODO :: Get a better name for this
361361
362- integer , intent (in ) :: index1, index2 !! TODO :: I have no idea what index is meant to represent. Rename this.
363- real (wp), intent (in ) :: scaler1, scaler2, scaler3, scale r4
364- integer :: i, j, k, l, q
362+ integer , intent (in ) :: index !! TODO :: I have no idea what index is meant to represent. Rename this.
363+ real (wp), intent (in ) :: scaler1, scaler2, scaler3
364+ integer :: i, j, k, l
365365
366366 !$acc parallel loop collapse(4 ) gang vector default(present)
367367 do i = 1 , sys_size
368368 do l = 0 , p
369369 do k = 0 , n
370370 do j = 0 , m
371- q_cons_ts(index1 )%vf(i)%sf(j, k, l) = &
371+ q_cons_ts(index )%vf(i)%sf(j, k, l) = &
372372 (scaler1 * q_cons_ts(1 )%vf(i)%sf(j, k, l) &
373- + scaler2 * q_cons_ts(index2 )%vf(i)%sf(j, k, l) &
374- + scaler3 * dt * rhs_vf(i)%sf(j, k, l)) / scale r4
373+ + scaler2 * q_cons_ts(2 )%vf(i)%sf(j, k, l) &
374+ + scaler3 * dt * rhs_vf(i)%sf(j, k, l)) / (scaler1 + scaler2)
375375 end do
376376 end do
377377 end do
378378 end do
379379
380- !Evolve pb and mv for non- polytropic qbmm
381- !! TODO :: It really feels like this loop should be separated from the above loop. Consider making two different subroutines
382- if (qbmm .and. (.not. polytropic)) then
383- !$acc parallel loop collapse(5 ) gang vector default(present)
384- do i = 1 , nb
385- do l = 0 , p
386- do k = 0 , n
387- do j = 0 , m
388- do q = 1 , nnode
389- pb_ts(index1)%sf(j, k, l, q, i) = &
390- (scaler1 * pb_ts(1 )%sf(j, k, l, q, i) &
391- + scaler2 * pb_ts(index2)%sf(j, k, l, q, i) &
392- + scaler3 * dt * rhs_pb(j, k, l, q, i)) / scaler4
393- mv_ts(index1)%sf(j, k, l, q, i) = &
394- (scaler1 * mv_ts(1 )%sf(j, k, l, q, i) &
395- + scaler2 * mv_ts(index2)%sf(j, k, l, q, i) &
396- + scaler3 * dt * rhs_mv(j, k, l, q, i)) / scaler4
397- end do
398- end do
399- end do
400- end do
401- end do
402- end if
403-
404- end subroutine s_evolve_q_pb_mv
380+ end subroutine s_evolve_q
405381
406382 !> 1st order TVD RK time- stepping algorithm
407383 !! @param t_step Current time step
@@ -444,7 +420,53 @@ contains
444420 call s_update_lagrange_tdv_rk(stage= 1 )
445421 end if
446422
447- call s_evolve_q_pb_mv(1 , 1 , 1._wp , 1._wp , 1._wp , 1._wp )
423+ !$acc parallel loop collapse(4 ) gang vector default(present)
424+ do i = 1 , sys_size
425+ do l = 0 , p
426+ do k = 0 , n
427+ do j = 0 , m
428+ q_cons_ts(1 )%vf(i)%sf(j, k, l) = &
429+ q_cons_ts(1 )%vf(i)%sf(j, k, l) &
430+ + dt* rhs_vf(i)%sf(j, k, l)
431+ end do
432+ end do
433+ end do
434+ end do
435+
436+ !Evolve pb and mv for non- polytropic qbmm
437+ if (qbmm .and. (.not. polytropic)) then
438+ !$acc parallel loop collapse(5 ) gang vector default(present)
439+ do i = 1 , nb
440+ do l = 0 , p
441+ do k = 0 , n
442+ do j = 0 , m
443+ do q = 1 , nnode
444+ pb_ts(1 )%sf(j, k, l, q, i) = &
445+ pb_ts(1 )%sf(j, k, l, q, i) &
446+ + dt* rhs_pb(j, k, l, q, i)
447+ end do
448+ end do
449+ end do
450+ end do
451+ end do
452+ end if
453+
454+ if (qbmm .and. (.not. polytropic)) then
455+ !$acc parallel loop collapse(5 ) gang vector default(present)
456+ do i = 1 , nb
457+ do l = 0 , p
458+ do k = 0 , n
459+ do j = 0 , m
460+ do q = 1 , nnode
461+ mv_ts(1 )%sf(j, k, l, q, i) = &
462+ mv_ts(1 )%sf(j, k, l, q, i) &
463+ + dt* rhs_mv(j, k, l, q, i)
464+ end do
465+ end do
466+ end do
467+ end do
468+ end do
469+ end if
448470
449471
450472 if (bodyForces) call s_apply_bodyforces(q_cons_ts(1 )%vf, q_prim_vf, rhs_vf, dt)
@@ -692,18 +714,7 @@ contains
692714 call s_update_lagrange_tdv_rk(stage= 1 )
693715 end if
694716
695- !$acc parallel loop collapse(4 ) gang vector default(present)
696- do i = 1 , sys_size
697- do l = 0 , p
698- do k = 0 , n
699- do j = 0 , m
700- q_cons_ts(2 )%vf(i)%sf(j, k, l) = &
701- q_cons_ts(1 )%vf(i)%sf(j, k, l) &
702- + dt* rhs_vf(i)%sf(j, k, l)
703- end do
704- end do
705- end do
706- end do
717+ call s_evolve_q(2 , 1.0_wp , 0.0_wp , 1.0_wp )
707718
708719 !Evolve pb and mv for non- polytropic qbmm
709720 if (qbmm .and. (.not. polytropic)) then
0 commit comments