@@ -357,51 +357,27 @@ contains
357
357
358
358
end subroutine s_initialize_time_steppers_module
359
359
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
361
361
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
365
365
366
366
!$acc parallel loop collapse(4 ) gang vector default(present)
367
367
do i = 1 , sys_size
368
368
do l = 0 , p
369
369
do k = 0 , n
370
370
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) = &
372
372
(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)
375
375
end do
376
376
end do
377
377
end do
378
378
end do
379
379
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
405
381
406
382
!> 1st order TVD RK time- stepping algorithm
407
383
!! @param t_step Current time step
@@ -444,7 +420,53 @@ contains
444
420
call s_update_lagrange_tdv_rk(stage= 1 )
445
421
end if
446
422
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
448
470
449
471
450
472
if (bodyForces) call s_apply_bodyforces(q_cons_ts(1 )%vf, q_prim_vf, rhs_vf, dt)
@@ -692,18 +714,7 @@ contains
692
714
call s_update_lagrange_tdv_rk(stage= 1 )
693
715
end if
694
716
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 )
707
718
708
719
!Evolve pb and mv for non- polytropic qbmm
709
720
if (qbmm .and. (.not. polytropic)) then
0 commit comments