320       m_x, m_y, m_z, E, p, u, v, w, Ax, &
 
  321       coef, gs, h, c_avisc_low, rk_scheme, dt)
 
  322    type(
field_t), 
intent(inout) :: rho_field, m_x, m_y, m_z, E
 
  323    type(
field_t), 
intent(in) :: p, u, v, w, h
 
  324    class(
ax_t), 
intent(inout) :: Ax
 
  325    type(
coef_t), 
intent(inout) :: coef
 
  326    type(
gs_t), 
intent(inout) :: gs
 
  327    real(kind=
rp) :: c_avisc_low
 
  329    real(kind=
rp), 
intent(in) :: dt
 
  330    integer :: n, s, i, j, k
 
  331    real(kind=
rp) :: t, c
 
  332    type(
field_t), 
pointer :: k_rho_1, k_rho_2, k_rho_3, k_rho_4, &
 
  333         k_m_x_1, k_m_x_2, k_m_x_3, k_m_x_4, &
 
  334         k_m_y_1, k_m_y_2, k_m_y_3, k_m_y_4, &
 
  335         k_m_z_1, k_m_z_2, k_m_z_3, k_m_z_4, &
 
  336         k_e_1, k_e_2, k_e_3, k_e_4, &
 
  337         temp_rho, temp_m_x, temp_m_y, temp_m_z, temp_e
 
  338    integer :: temp_indices(25)
 
  370    call k_rho%assign(1, k_rho_1)
 
  371    call k_rho%assign(2, k_rho_2)
 
  372    call k_rho%assign(3, k_rho_3)
 
  373    call k_rho%assign(4, k_rho_4)
 
  375    call k_m_x%assign(1, k_m_x_1)
 
  376    call k_m_x%assign(2, k_m_x_2)
 
  377    call k_m_x%assign(3, k_m_x_3)
 
  378    call k_m_x%assign(4, k_m_x_4)
 
  380    call k_m_y%assign(1, k_m_y_1)
 
  381    call k_m_y%assign(2, k_m_y_2)
 
  382    call k_m_y%assign(3, k_m_y_3)
 
  383    call k_m_y%assign(4, k_m_y_4)
 
  385    call k_m_z%assign(1, k_m_z_1)
 
  386    call k_m_z%assign(2, k_m_z_2)
 
  387    call k_m_z%assign(3, k_m_z_3)
 
  388    call k_m_z%assign(4, k_m_z_4)
 
  390    call k_e%assign(1, k_e_1)
 
  391    call k_e%assign(2, k_e_2)
 
  392    call k_e%assign(3, k_e_3)
 
  393    call k_e%assign(4, k_e_4)
 
  406               temp_m_z%x_d, temp_e%x_d, &
 
  407               k_rho%items(j)%ptr%x_d, k_m_x%items(j)%ptr%x_d, k_m_y%items(j)%ptr%x_d, &
 
  408               k_m_z%items(j)%ptr%x_d, k_e%items(j)%ptr%x_d, &
 
  409               dt, rk_scheme%coeffs_A(i, j), n)
 
  412               temp_m_z%x_d, temp_e%x_d, &
 
  413               k_rho%items(j)%ptr%x_d, k_m_x%items(j)%ptr%x_d, k_m_y%items(j)%ptr%x_d, &
 
  414               k_m_z%items(j)%ptr%x_d, k_e%items(j)%ptr%x_d, &
 
  415               dt, rk_scheme%coeffs_A(i, j), n)
 
  418               temp_m_z%x_d, temp_e%x_d, &
 
  419               k_rho%items(j)%ptr%x_d, k_m_x%items(j)%ptr%x_d, k_m_y%items(j)%ptr%x_d, &
 
  420               k_m_z%items(j)%ptr%x_d, k_e%items(j)%ptr%x_d, &
 
  421               dt, rk_scheme%coeffs_A(i, j), n)
 
  427            k_m_y%items(i)%ptr, k_m_z%items(i)%ptr, k_e%items(i)%ptr, &
 
  428            temp_rho, temp_m_x, temp_m_y, temp_m_z, temp_e, &
 
  430            coef, gs, h, c_avisc_low)
 
  437            m_x%x_d, m_y%x_d, m_z%x_d, e%x_d, &
 
  438            k_rho%items(i)%ptr%x_d, k_m_x%items(i)%ptr%x_d, k_m_y%items(i)%ptr%x_d, &
 
  439            k_m_z%items(i)%ptr%x_d, k_e%items(i)%ptr%x_d, &
 
  440            dt, rk_scheme%coeffs_b(i), n)
 
  443            m_x%x_d, m_y%x_d, m_z%x_d, e%x_d, &
 
  444            k_rho%items(i)%ptr%x_d, k_m_x%items(i)%ptr%x_d, k_m_y%items(i)%ptr%x_d, &
 
  445            k_m_z%items(i)%ptr%x_d, k_e%items(i)%ptr%x_d, &
 
  446            dt, rk_scheme%coeffs_b(i), n)
 
  449            m_x%x_d, m_y%x_d, m_z%x_d, e%x_d, &
 
  450            k_rho%items(i)%ptr%x_d, k_m_x%items(i)%ptr%x_d, k_m_y%items(i)%ptr%x_d, &
 
  451            k_m_z%items(i)%ptr%x_d, k_e%items(i)%ptr%x_d, &
 
  452            dt, rk_scheme%coeffs_b(i), n)
 
 
  460       rhs_m_z, rhs_E, rho_field, &
 
  461       m_x, m_y, m_z, E, p, u, v, w, Ax, &
 
  462       coef, gs, h, c_avisc_low)
 
  463    type(
field_t), 
intent(inout) :: rhs_rho_field, rhs_m_x, rhs_m_y, rhs_m_z, rhs_E
 
  464    type(
field_t), 
intent(inout) :: rho_field, m_x, m_y, m_z, E
 
  465    type(
field_t), 
intent(in) :: p, u, v, w, h
 
  466    class(
ax_t), 
intent(inout) :: Ax
 
  467    type(
coef_t), 
intent(inout) :: coef
 
  468    type(
gs_t), 
intent(inout) :: gs
 
  469    real(kind=
rp) :: c_avisc_low
 
  471    type(
field_t), 
pointer :: temp, f_x, f_y, f_z, &
 
  472         visc_rho, visc_m_x, visc_m_y, visc_m_z, visc_E
 
  473    integer :: temp_indices(9)
 
  482    call div(rhs_rho_field%x, m_x%x, m_y%x, m_z%x, coef)
 
  488         m_x%x_d, m_y%x_d, m_z%x_d, rho_field%x_d, p%x_d, n)
 
  491         m_x%x_d, m_y%x_d, m_z%x_d, rho_field%x_d, p%x_d, n)
 
  494         m_x%x_d, m_y%x_d, m_z%x_d, rho_field%x_d, p%x_d, n)
 
  496    call div(rhs_m_x%x, f_x%x, f_y%x, f_z%x, coef)
 
  500         m_x%x_d, m_y%x_d, m_z%x_d, &
 
  501         rho_field%x_d, p%x_d, n)
 
  504         m_x%x_d, m_y%x_d, m_z%x_d, &
 
  505         rho_field%x_d, p%x_d, n)
 
  508         m_x%x_d, m_y%x_d, m_z%x_d, &
 
  509         rho_field%x_d, p%x_d, n)
 
  511    call div(rhs_m_y%x, f_x%x, f_y%x, f_z%x, coef)
 
  515         m_x%x_d, m_y%x_d, m_z%x_d, &
 
  516         rho_field%x_d, p%x_d, n)
 
  519         m_x%x_d, m_y%x_d, m_z%x_d, &
 
  520         rho_field%x_d, p%x_d, n)
 
  523         m_x%x_d, m_y%x_d, m_z%x_d, &
 
  524         rho_field%x_d, p%x_d, n)
 
  526    call div(rhs_m_z%x, f_x%x, f_y%x, f_z%x, coef)
 
  531         m_x%x_d, m_y%x_d, m_z%x_d, &
 
  532         rho_field%x_d, p%x_d, e%x_d, n)
 
  534    call euler_res_part_e_flux_cuda(f_x%x_d, f_y%x_d, f_z%x_d, &
 
  535         m_x%x_d, m_y%x_d, m_z%x_d, &
 
  536         rho_field%x_d, p%x_d, e%x_d, n)
 
  538    call euler_res_part_e_flux_opencl(f_x%x_d, f_y%x_d, f_z%x_d, &
 
  539         m_x%x_d, m_y%x_d, m_z%x_d, &
 
  540         rho_field%x_d, p%x_d, e%x_d, n)
 
  542    call div(rhs_e%x, f_x%x, f_y%x, f_z%x, coef)
 
  544    call gs%op(rhs_rho_field, gs_op_add)
 
  545    call gs%op(rhs_m_x, gs_op_add)
 
  546    call gs%op(rhs_m_y, gs_op_add)
 
  547    call gs%op(rhs_m_z, gs_op_add)
 
  548    call gs%op(rhs_e, gs_op_add)
 
  552         rhs_m_y%x_d, rhs_m_z%x_d, &
 
  553         rhs_e%x_d, coef%mult_d, n)
 
  556         rhs_m_y%x_d, rhs_m_z%x_d, &
 
  557         rhs_e%x_d, coef%mult_d, n)
 
  560         rhs_m_y%x_d, rhs_m_z%x_d, &
 
  561         rhs_e%x_d, coef%mult_d, n)
 
  571    call ax%compute(visc_rho%x, rho_field%x, coef, p%msh, p%Xh)
 
  572    call ax%compute(visc_m_x%x, m_x%x, coef, p%msh, p%Xh)
 
  573    call ax%compute(visc_m_y%x, m_y%x, coef, p%msh, p%Xh)
 
  574    call ax%compute(visc_m_z%x, m_z%x, coef, p%msh, p%Xh)
 
  575    call ax%compute(visc_e%x, e%x, coef, p%msh, p%Xh)
 
  577    call gs%op(visc_rho, gs_op_add)
 
  578    call gs%op(visc_m_x, gs_op_add)
 
  579    call gs%op(visc_m_y, gs_op_add)
 
  580    call gs%op(visc_m_z, gs_op_add)
 
  581    call gs%op(visc_e, gs_op_add)
 
  585         visc_rho%x_d, h%x_d, c_avisc_low, n)
 
  587         visc_m_x%x_d, h%x_d, c_avisc_low, n)
 
  589         visc_m_y%x_d, h%x_d, c_avisc_low, n)
 
  591         visc_m_z%x_d, h%x_d, c_avisc_low, n)
 
  593         visc_e%x_d, h%x_d, c_avisc_low, n)
 
  596         visc_rho%x_d, h%x_d, c_avisc_low, n)
 
  598         visc_m_x%x_d, h%x_d, c_avisc_low, n)
 
  600         visc_m_y%x_d, h%x_d, c_avisc_low, n)
 
  602         visc_m_z%x_d, h%x_d, c_avisc_low, n)
 
  604         visc_e%x_d, h%x_d, c_avisc_low, n)
 
  607         visc_rho%x_d, h%x_d, c_avisc_low, n)
 
  609         visc_m_x%x_d, h%x_d, c_avisc_low, n)
 
  611         visc_m_y%x_d, h%x_d, c_avisc_low, n)
 
  613         visc_m_z%x_d, h%x_d, c_avisc_low, n)
 
  615         visc_e%x_d, h%x_d, c_avisc_low, n)