@@ -57,11 +57,10 @@ module m_rhs
5757 !! primitive variables. The cell- average of the first- order spatial derivatives may be found in the variables dq_prim_ds_qp,
5858 !! where s = x, y or z.
5959 !> @{
60- type(vector_field), allocatable, dimension (:) :: dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n
61- type(vector_field), allocatable, dimension (:) :: dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n
60+ type(dq_prim_dir_t) :: dqL_prim_n, dqR_prim_n
6261#if defined(MFC_OpenACC)
63- $:GPU_DECLARE(create= ' [dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n ]' )
64- $:GPU_DECLARE(create= ' [dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n ]' )
62+ $:GPU_DECLARE(create= ' [dqL_prim_n%x, dqL_prim_n%y, dqL_prim_n%z ]' )
63+ $:GPU_DECLARE(create= ' [dqR_prim_n%x, dqR_prim_n%y, dqR_prim_n%z ]' )
6564#endif
6665 !> @}
6766
@@ -264,12 +263,12 @@ contains
264263 @:ALLOCATE(qL_prim(1 :num_dims))
265264 @:ALLOCATE(qR_prim(1 :num_dims))
266265
267- @:ALLOCATE(dqL_prim_dx_n (1 :num_dims))
268- @:ALLOCATE(dqL_prim_dy_n (1 :num_dims))
269- @:ALLOCATE(dqL_prim_dz_n (1 :num_dims))
270- @:ALLOCATE(dqR_prim_dx_n (1 :num_dims))
271- @:ALLOCATE(dqR_prim_dy_n (1 :num_dims))
272- @:ALLOCATE(dqR_prim_dz_n (1 :num_dims))
266+ @:ALLOCATE(dqL_prim_n%x (1 :num_dims))
267+ @:ALLOCATE(dqL_prim_n%y (1 :num_dims))
268+ @:ALLOCATE(dqL_prim_n%z (1 :num_dims))
269+ @:ALLOCATE(dqR_prim_n%x (1 :num_dims))
270+ @:ALLOCATE(dqR_prim_n%y (1 :num_dims))
271+ @:ALLOCATE(dqR_prim_n%z (1 :num_dims))
273272
274273 do i = 1 , num_dims
275274 @:ALLOCATE(qL_prim(i)%vf(1 :sys_size))
@@ -290,23 +289,23 @@ contains
290289
291290 if (.not. viscous) then
292291 do i = 1 , num_dims
293- @:ALLOCATE(dqL_prim_dx_n (i)%vf(1 :sys_size))
294- @:ALLOCATE(dqL_prim_dy_n (i)%vf(1 :sys_size))
295- @:ALLOCATE(dqL_prim_dz_n (i)%vf(1 :sys_size))
296- @:ALLOCATE(dqR_prim_dx_n (i)%vf(1 :sys_size))
297- @:ALLOCATE(dqR_prim_dy_n (i)%vf(1 :sys_size))
298- @:ALLOCATE(dqR_prim_dz_n (i)%vf(1 :sys_size))
292+ @:ALLOCATE(dqL_prim_n%x (i)%vf(1 :sys_size))
293+ @:ALLOCATE(dqL_prim_n%y (i)%vf(1 :sys_size))
294+ @:ALLOCATE(dqL_prim_n%z (i)%vf(1 :sys_size))
295+ @:ALLOCATE(dqR_prim_n%x (i)%vf(1 :sys_size))
296+ @:ALLOCATE(dqR_prim_n%y (i)%vf(1 :sys_size))
297+ @:ALLOCATE(dqR_prim_n%z (i)%vf(1 :sys_size))
299298
300299 do l = eqn_idx%mom%beg, eqn_idx%mom%end
301- @:ALLOCATE(dqL_prim_dx_n (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
302- @:ALLOCATE(dqL_prim_dy_n (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
303- @:ALLOCATE(dqL_prim_dz_n (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
304- @:ALLOCATE(dqR_prim_dx_n (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
305- @:ALLOCATE(dqR_prim_dy_n (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
306- @:ALLOCATE(dqR_prim_dz_n (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
300+ @:ALLOCATE(dqL_prim_n%x (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
301+ @:ALLOCATE(dqL_prim_n%y (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
302+ @:ALLOCATE(dqL_prim_n%z (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
303+ @:ALLOCATE(dqR_prim_n%x (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
304+ @:ALLOCATE(dqR_prim_n%y (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
305+ @:ALLOCATE(dqR_prim_n%z (i)%vf(l)%sf(1 :1 , 1 :1 , 1 :1 ))
307306 end do
308- @:ACC_SETUP_VFs(dqL_prim_dx_n (i), dqL_prim_dy_n (i), dqL_prim_dz_n (i))
309- @:ACC_SETUP_VFs(dqR_prim_dx_n (i), dqR_prim_dy_n (i), dqR_prim_dz_n (i))
307+ @:ACC_SETUP_VFs(dqL_prim_n%x (i), dqL_prim_n%y (i), dqL_prim_n%z (i))
308+ @:ACC_SETUP_VFs(dqR_prim_n%x (i), dqR_prim_n%y (i), dqR_prim_n%z (i))
310309 end do
311310 end if
312311
@@ -350,42 +349,42 @@ contains
350349 end if
351350
352351 do i = 1 , num_dims
353- @:ALLOCATE(dqL_prim_dx_n (i)%vf(1 :sys_size))
354- @:ALLOCATE(dqL_prim_dy_n (i)%vf(1 :sys_size))
355- @:ALLOCATE(dqL_prim_dz_n (i)%vf(1 :sys_size))
356- @:ALLOCATE(dqR_prim_dx_n (i)%vf(1 :sys_size))
357- @:ALLOCATE(dqR_prim_dy_n (i)%vf(1 :sys_size))
358- @:ALLOCATE(dqR_prim_dz_n (i)%vf(1 :sys_size))
352+ @:ALLOCATE(dqL_prim_n%x (i)%vf(1 :sys_size))
353+ @:ALLOCATE(dqL_prim_n%y (i)%vf(1 :sys_size))
354+ @:ALLOCATE(dqL_prim_n%z (i)%vf(1 :sys_size))
355+ @:ALLOCATE(dqR_prim_n%x (i)%vf(1 :sys_size))
356+ @:ALLOCATE(dqR_prim_n%y (i)%vf(1 :sys_size))
357+ @:ALLOCATE(dqR_prim_n%z (i)%vf(1 :sys_size))
359358 end do
360359
361360 do i = 1 , num_dims
362361 do l = eqn_idx%mom%beg, eqn_idx%mom%end
363- @:ALLOCATE(dqL_prim_dx_n (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
362+ @:ALLOCATE(dqL_prim_n%x (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
364363 & idwbuff(3 )%beg:idwbuff(3 )%end))
365- @:ALLOCATE(dqR_prim_dx_n (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
364+ @:ALLOCATE(dqR_prim_n%x (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
366365 & idwbuff(3 )%beg:idwbuff(3 )%end))
367366 end do
368367
369368 if (n > 0 ) then
370369 do l = eqn_idx%mom%beg, eqn_idx%mom%end
371- @:ALLOCATE(dqL_prim_dy_n (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
370+ @:ALLOCATE(dqL_prim_n%y (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
372371 & idwbuff(3 )%beg:idwbuff(3 )%end))
373- @:ALLOCATE(dqR_prim_dy_n (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
372+ @:ALLOCATE(dqR_prim_n%y (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
374373 & idwbuff(3 )%beg:idwbuff(3 )%end))
375374 end do
376375 end if
377376
378377 if (p > 0 ) then
379378 do l = eqn_idx%mom%beg, eqn_idx%mom%end
380- @:ALLOCATE(dqL_prim_dz_n (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
379+ @:ALLOCATE(dqL_prim_n%z (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
381380 & idwbuff(3 )%beg:idwbuff(3 )%end))
382- @:ALLOCATE(dqR_prim_dz_n (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
381+ @:ALLOCATE(dqR_prim_n%z (i)%vf(l)%sf(idwbuff(1 )%beg:idwbuff(1 )%end, idwbuff(2 )%beg:idwbuff(2 )%end, &
383382 & idwbuff(3 )%beg:idwbuff(3 )%end))
384383 end do
385384 end if
386385
387- @:ACC_SETUP_VFs(dqL_prim_dx_n (i), dqL_prim_dy_n (i), dqL_prim_dz_n (i))
388- @:ACC_SETUP_VFs(dqR_prim_dx_n (i), dqR_prim_dy_n (i), dqR_prim_dz_n (i))
386+ @:ACC_SETUP_VFs(dqL_prim_n%x (i), dqL_prim_n%y (i), dqL_prim_n%z (i))
387+ @:ACC_SETUP_VFs(dqR_prim_n%x (i), dqR_prim_n%y (i), dqR_prim_n%z (i))
389388 end do
390389
391390 if (weno_Re_flux) then
@@ -557,8 +556,8 @@ contains
557556
558557 if ((viscous .and. .not. igr)) then
559558 call nvtxStartRange("RHS-VISCOUS")
560- call s_get_viscous(qL_rsx_vf, dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n , qL_prim, qR_rsx_vf, dqR_prim_dx_n , &
561- & dqR_prim_dy_n, dqR_prim_dz_n , qR_prim, q_prim_qp, dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp, &
559+ call s_get_viscous(qL_rsx_vf, dqL_prim_n%x, dqL_prim_n%y, dqL_prim_n%z , qL_prim, qR_rsx_vf, dqR_prim_n%x , &
560+ & dqR_prim_n%y, dqR_prim_n%z , qR_prim, q_prim_qp, dq_prim_dx_qp, dq_prim_dy_qp, dq_prim_dz_qp, &
562561 & idwbuff(1), idwbuff(2), idwbuff(3))
563562 call nvtxEndRange
564563 end if
@@ -687,15 +686,15 @@ contains
687686 if (weno_Re_flux) then
688687 iv%beg = eqn_idx%mom%beg; iv%end = eqn_idx%mom%end
689688 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dx_qp(1)%vf(iv%beg:iv%end), dqL_rsx_vf, &
690- & dqR_rsx_vf, id, dqL_prim_dx_n (id)%vf(iv%beg:iv%end), dqR_prim_dx_n (id)%vf(iv%beg:iv%end), idwbuff(1), &
689+ & dqR_rsx_vf, id, dqL_prim_n%x (id)%vf(iv%beg:iv%end), dqR_prim_n%x (id)%vf(iv%beg:iv%end), idwbuff(1), &
691690 & idwbuff(2), idwbuff(3))
692691 if (n > 0) then
693692 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dy_qp(1)%vf(iv%beg:iv%end), dqL_rsx_vf, &
694- & dqR_rsx_vf, id, dqL_prim_dy_n (id)%vf(iv%beg:iv%end), dqR_prim_dy_n (id)%vf(iv%beg:iv%end), &
695- & idwbuff(1), idwbuff( 2), idwbuff(3))
693+ & dqR_rsx_vf, id, dqL_prim_n%y (id)%vf(iv%beg:iv%end), dqR_prim_n%y (id)%vf(iv%beg:iv%end), idwbuff(1 ), &
694+ & idwbuff(2), idwbuff(3))
696695 if (p > 0) then
697696 call s_reconstruct_cell_boundary_values_visc_deriv(dq_prim_dz_qp(1)%vf(iv%beg:iv%end), dqL_rsx_vf, &
698- & dqR_rsx_vf, id, dqL_prim_dz_n (id)%vf(iv%beg:iv%end), dqR_prim_dz_n (id)%vf(iv%beg:iv%end), &
697+ & dqR_rsx_vf, id, dqL_prim_n%z (id)%vf(iv%beg:iv%end), dqR_prim_n%z (id)%vf(iv%beg:iv%end), &
699698 & idwbuff(1), idwbuff(2), idwbuff(3))
700699 end if
701700 end if
@@ -715,10 +714,9 @@ contains
715714
716715 ! Computing Riemann Solver Flux and Source Flux
717716 call nvtxStartRange("RHS-RIEMANN-SOLVER")
718- call s_riemann_solver(qR_rsx_vf, dqR_prim_dx_n(id)%vf, dqR_prim_dy_n(id)%vf, dqR_prim_dz_n(id)%vf, &
719- & qR_prim(id)%vf, qL_rsx_vf, dqL_prim_dx_n(id)%vf, dqL_prim_dy_n(id)%vf, &
720- & dqL_prim_dz_n(id)%vf, qL_prim(id)%vf, q_prim_qp%vf, flux_n(id)%vf, flux_src_n(id)%vf, &
721- & flux_gsrc_n(id)%vf, id, irx, iry, irz)
717+ call s_riemann_solver(qR_rsx_vf, dqR_prim_n%x(id)%vf, dqR_prim_n%y(id)%vf, dqR_prim_n%z(id)%vf, qR_prim(id)%vf, &
718+ & qL_rsx_vf, dqL_prim_n%x(id)%vf, dqL_prim_n%y(id)%vf, dqL_prim_n%z(id)%vf, qL_prim(id)%vf, &
719+ & q_prim_qp%vf, flux_n(id)%vf, flux_src_n(id)%vf, flux_gsrc_n(id)%vf, id, irx, iry, irz)
722720 call nvtxEndRange
723721
724722 ! Additional physics and source terms RHS addition for advection source
@@ -1762,30 +1760,30 @@ contains
17621760
17631761 do i = num_dims, 1, -1
17641762 do l = eqn_idx%mom%beg, eqn_idx%mom%end
1765- @:DEALLOCATE(dqL_prim_dx_n (i)%vf(l)%sf)
1766- @:DEALLOCATE(dqR_prim_dx_n (i)%vf(l)%sf)
1763+ @:DEALLOCATE(dqL_prim_n%x (i)%vf(l)%sf)
1764+ @:DEALLOCATE(dqR_prim_n%x (i)%vf(l)%sf)
17671765 end do
17681766
17691767 if (n > 0) then
17701768 do l = eqn_idx%mom%beg, eqn_idx%mom%end
1771- @:DEALLOCATE(dqL_prim_dy_n (i)%vf(l)%sf)
1772- @:DEALLOCATE(dqR_prim_dy_n (i)%vf(l)%sf)
1769+ @:DEALLOCATE(dqL_prim_n%y (i)%vf(l)%sf)
1770+ @:DEALLOCATE(dqR_prim_n%y (i)%vf(l)%sf)
17731771 end do
17741772 end if
17751773
17761774 if (p > 0) then
17771775 do l = eqn_idx%mom%beg, eqn_idx%mom%end
1778- @:DEALLOCATE(dqL_prim_dz_n (i)%vf(l)%sf)
1779- @:DEALLOCATE(dqR_prim_dz_n (i)%vf(l)%sf)
1776+ @:DEALLOCATE(dqL_prim_n%z (i)%vf(l)%sf)
1777+ @:DEALLOCATE(dqR_prim_n%z (i)%vf(l)%sf)
17801778 end do
17811779 end if
17821780
1783- @:DEALLOCATE(dqL_prim_dx_n (i)%vf)
1784- @:DEALLOCATE(dqL_prim_dy_n (i)%vf)
1785- @:DEALLOCATE(dqL_prim_dz_n (i)%vf)
1786- @:DEALLOCATE(dqR_prim_dx_n (i)%vf)
1787- @:DEALLOCATE(dqR_prim_dy_n (i)%vf)
1788- @:DEALLOCATE(dqR_prim_dz_n (i)%vf)
1781+ @:DEALLOCATE(dqL_prim_n%x (i)%vf)
1782+ @:DEALLOCATE(dqL_prim_n%y (i)%vf)
1783+ @:DEALLOCATE(dqL_prim_n%z (i)%vf)
1784+ @:DEALLOCATE(dqR_prim_n%x (i)%vf)
1785+ @:DEALLOCATE(dqR_prim_n%y (i)%vf)
1786+ @:DEALLOCATE(dqR_prim_n%z (i)%vf)
17891787 end do
17901788
17911789 if (weno_Re_flux) then
@@ -1798,8 +1796,8 @@ contains
17981796 @:DEALLOCATE(tau_Re_vf(eqn_idx%E)%sf)
17991797 @:DEALLOCATE(tau_Re_vf)
18001798 end if
1801- @:DEALLOCATE(dqL_prim_dx_n, dqL_prim_dy_n, dqL_prim_dz_n )
1802- @:DEALLOCATE(dqR_prim_dx_n, dqR_prim_dy_n, dqR_prim_dz_n )
1799+ @:DEALLOCATE(dqL_prim_n%x, dqL_prim_n%y, dqL_prim_n%z )
1800+ @:DEALLOCATE(dqR_prim_n%x, dqR_prim_n%y, dqR_prim_n%z )
18031801 end if
18041802
18051803 if (mpp_lim .and. bubbles_euler) then
0 commit comments