@@ -487,7 +487,7 @@ contains
487487 else ! WENO7
488488 ! Note: WENO7 only supports uniform grid
489489 if (.not. teno) then
490- ! (Balsara & Shu, 2000 ) Page 415 Section III.a
490+ ! (Balsara & Shu, 2000 ) Page 11 Section III.a
491491 d_cbL_${XYZ}$ (0 , :) = 4d0 / 35d0
492492 d_cbL_${XYZ}$ (1 , :) = 18d0 / 35d0
493493 d_cbL_${XYZ}$ (2 , :) = 12d0 / 35d0
@@ -499,12 +499,12 @@ contains
499499 d_cbR_${XYZ}$ (3 , :) = 4d0 / 35d0
500500
501501 else ! TENO
502- ! (Fu, et al., 2016 ) Table 2
502+ ! (Fu, et al., 2016 ) Table 2 (for right flux)
503503 d_cbL_${XYZ}$ (0 , :) = 18d0 / 35d0
504- d_cbL_${XYZ}$ (1 , :) = 9d0 / 35d0
505- d_cbL_${XYZ}$ (2 , :) = 3d0 / 35d0
506- d_cbL_${XYZ}$ (3 , :) = 4d0 / 35d0
507- d_cbL_${XYZ}$ (4 , :) = 1d0 / 35d0
504+ d_cbL_${XYZ}$ (1 , :) = 3d0 / 35d0
505+ d_cbL_${XYZ}$ (2 , :) = 9d0 / 35d0
506+ d_cbL_${XYZ}$ (3 , :) = 1d0 / 35d0
507+ d_cbL_${XYZ}$ (4 , :) = 4d0 / 35d0
508508
509509 d_cbR_${XYZ}$ (0 , :) = 18d0 / 35d0
510510 d_cbR_${XYZ}$ (1 , :) = 9d0 / 35d0
@@ -817,7 +817,7 @@ contains
817817 do i = 1 , v_size
818818
819819 if (.not. teno) then
820- ! (Balsara & Shu, 2000 ) Page 415 Table I
820+ ! (Balsara & Shu, 2000 ) Page 11 Table I
821821 poly(0 ) = ( 1d0 * v_rs_ws_${XYZ}$ (j-3 , k, l, i) - 5d0 * v_rs_ws_${XYZ}$ (j-2 , k, l, i) & !&
822822 + 13d0 * v_rs_ws_${XYZ}$ (j-1 , k, l, i) + 3d0 * v_rs_ws_${XYZ}$ (j , k, l, i)) / 12d0 !&
823823 poly(1 ) = ( - 1d0 * v_rs_ws_${XYZ}$ (j-2 , k, l, i) + 7d0 * v_rs_ws_${XYZ}$ (j-1 , k, l, i) & !&
@@ -828,19 +828,19 @@ contains
828828 + 13d0 * v_rs_ws_${XYZ}$ (j+2 , k, l, i) - 3d0 * v_rs_ws_${XYZ}$ (j+3 , k, l, i)) / 12d0 !&
829829 else
830830 ! (Fu, et al., 2016 ) Table 1
831- ! Note: Unlike TENO5, TENO7 stencils differ from WENO7 stencils.
832- ! See Figure 2 (right) in Fu et al. ( 2016 ).
833- ! Flip the weights with respect to the x = i point, but keep the stencil order to obtain left - sided flux (at i -1 / 2 ).
834- ! It is easier to first consider the right - sided flux (at i +1 / 2 ) later in the code.
831+ ! Note: Unlike TENO5, TENO7 stencils differ from WENO7 stencils
832+ ! See Figure 2 (right) for right - sided flux (at i +1 / 2 )
833+ ! Here we need the left - sided flux, so we flip the weights with respect to the x = i point
834+ ! But we need to keep the stencil order to reuse the beta coefficients
835835 poly(0 ) = ( 2d0 * v_rs_ws_${XYZ}$ (j-1 , k, l, i) + 5d0 * v_rs_ws_${XYZ}$ (j , k, l, i) - 1d0 * v_rs_ws_${XYZ}$ (j+1 , k, l, i)) / 6d0 !&
836836 poly(1 ) = (11d0 * v_rs_ws_${XYZ}$ (j , k, l, i) - 7d0 * v_rs_ws_${XYZ}$ (j+1 , k, l, i) + 2d0 * v_rs_ws_${XYZ}$ (j+2 , k, l, i)) / 6d0 !&
837837 poly(2 ) = (- 1d0 * v_rs_ws_${XYZ}$ (j-2 , k, l, i) + 5d0 * v_rs_ws_${XYZ}$ (j-1 , k, l, i) + 2d0 * v_rs_ws_${XYZ}$ (j , k, l, i)) / 6d0 !&
838- poly(3 ) = (25d0 * v_rs_ws_${XYZ}$ (j , k, l, i) - 23d0 * v_rs_ws_${XYZ}$ (j+1 , k, l, i) + 13d0 * v_rs_ws_${XYZ}$ (j+2 , k, l, i) - 3d0 * v_rs_ws_${XYZ}$ (j+3 , k, l, i)) / 12d0 !&
839- poly(4 ) = ( 1d0 * v_rs_ws_${XYZ}$ (j-3 , k, l, i) - 5d0 * v_rs_ws_${XYZ}$ (j-2 , k, l, i) + 13d0 * v_rs_ws_${XYZ}$ (j-1 , k, l, i) + 3d0 * v_rs_ws_${XYZ}$ (j , k, l, i)) / 12d0 !&
838+ poly(3 ) = (25d0 * v_rs_ws_${XYZ}$ (j , k, l, i) - 23d0 * v_rs_ws_${XYZ}$ (j+1 , k, l, i) + 13d0 * v_rs_ws_${XYZ}$ (j+2 , k, l, i) - 3d0 * v_rs_ws_${XYZ}$ (j+3 , k, l, i)) / 12d0 !&
839+ poly(4 ) = ( 1d0 * v_rs_ws_${XYZ}$ (j-3 , k, l, i) - 5d0 * v_rs_ws_${XYZ}$ (j-2 , k, l, i) + 13d0 * v_rs_ws_${XYZ}$ (j-1 , k, l, i) + 3d0 * v_rs_ws_${XYZ}$ (j , k, l, i)) / 12d0 !&
840840 end if
841841
842842 if (.not. teno) then
843- ! (Balsara & Shu, 2000 ) Page 415 Section III.a
843+ ! (Balsara & Shu, 2000 ) Page 11 Section III.a
844844 beta(0 ) = ( v_rs_ws_${XYZ}$ (j - 3 , k, l, i)* ( 547d0 * v_rs_ws_${XYZ}$ (j - 3 , k, l, i) & !&
845845 - 3882d0 * v_rs_ws_${XYZ}$ (j - 2 , k, l, i) & !&
846846 + 4642d0 * v_rs_ws_${XYZ}$ (j - 1 , k, l, i) & !&
@@ -892,14 +892,14 @@ contains
892892 else ! TENO
893893 ! High- Order Low- Dissipation Targeted ENO Schemes for Ideal Magnetohydrodynamics (Fu & Tang, 2019 ) Section 3.2
894894 beta(0 ) = 13d0 / 12d0 * (v_rs_ws_${XYZ}$ (j - 1 , k, l, i) - 2d0 * v_rs_ws_${XYZ}$ (j, k, l, i) + v_rs_ws_${XYZ}$ (j + 1 , k, l, i))** 2d0 &
895- + 1d0 / 4d0 * (v_rs_ws_${XYZ}$ (j - 1 , k, l, i) - v_rs_ws_${XYZ}$ (j + 1 , k, l, i))** 2d0 &
896- + weno_eps
895+ + 1d0 / 4d0 * (v_rs_ws_${XYZ}$ (j - 1 , k, l, i) - v_rs_ws_${XYZ}$ (j + 1 , k, l, i))** 2d0 &
896+ + weno_eps
897897 beta(1 ) = 13d0 / 12d0 * (v_rs_ws_${XYZ}$ (j, k, l, i) - 2d0 * v_rs_ws_${XYZ}$ (j + 1 , k, l, i) + v_rs_ws_${XYZ}$ (j + 2 , k, l, i))** 2d0 &
898- + 1d0 / 4d0 * (3d0 * v_rs_ws_${XYZ}$ (j, k, l, i) - 4d0 * v_rs_ws_${XYZ}$ (j + 1 , k, l, i) + v_rs_ws_${XYZ}$ (j + 2 , k, l, i))** 2d0 &
899- + weno_eps
898+ + 1d0 / 4d0 * (3d0 * v_rs_ws_${XYZ}$ (j, k, l, i) - 4d0 * v_rs_ws_${XYZ}$ (j + 1 , k, l, i) + v_rs_ws_${XYZ}$ (j + 2 , k, l, i))** 2d0 &
899+ + weno_eps
900900 beta(2 ) = 13d0 / 12d0 * (v_rs_ws_${XYZ}$ (j - 2 , k, l, i) - 2d0 * v_rs_ws_${XYZ}$ (j - 1 , k, l, i) + v_rs_ws_${XYZ}$ (j, k, l, i))** 2d0 &
901- + 1d0 / 4d0 * (v_rs_ws_${XYZ}$ (j - 2 , k, l, i) - 4d0 * v_rs_ws_${XYZ}$ (j - 1 , k, l, i) + 3d0 * v_rs_ws_${XYZ}$ (j, k, l, i))** 2d0 &
902- + weno_eps
901+ + 1d0 / 4d0 * (v_rs_ws_${XYZ}$ (j - 2 , k, l, i) - 4d0 * v_rs_ws_${XYZ}$ (j - 1 , k, l, i) + 3d0 * v_rs_ws_${XYZ}$ (j, k, l, i))** 2d0 &
902+ + weno_eps
903903 beta(3 ) = ( v_rs_ws_${XYZ}$ (j , k, l, i)* ( 2107d0 * v_rs_ws_${XYZ}$ (j , k, l, i) & !&
904904 - 9402d0 * v_rs_ws_${XYZ}$ (j + 1 , k, l, i) & !&
905905 + 7042d0 * v_rs_ws_${XYZ}$ (j + 2 , k, l, i) & !&
0 commit comments