diff options
Diffstat (limited to 'src/All_Coeffs_mod.F90')
-rw-r--r-- | src/All_Coeffs_mod.F90 | 273 |
1 files changed, 273 insertions, 0 deletions
diff --git a/src/All_Coeffs_mod.F90 b/src/All_Coeffs_mod.F90 index 539e46e..1886497 100644 --- a/src/All_Coeffs_mod.F90 +++ b/src/All_Coeffs_mod.F90 @@ -59,6 +59,41 @@ module All_Coeffs_mod end subroutine coeffs_up_2_1 + subroutine coeffs_up_2 ( a1, q1, a2, q2 ) + + CCTK_REAL, dimension(-2:2), intent(OUT) :: a1, a2 + CCTK_REAL, dimension(3,2), intent(OUT) :: q1, q2 + + a1(-2) = 0.5_wp + a1(-1) = -2.0_wp + a1(0) = 1.5_wp + a1(1) = zero + a1(2) = zero + + q1(1,1) = zero + q1(2,1) = zero + q1(3,1) = zero + + q1(1,2) = -1.0_wp + q1(2,2) = 1.0_wp + q1(3,2) = zero + + a2(-2) = zero + a2(-1) = zero + a2(0) = -1.5_wp + a2(1) = 2.0_wp + a2(2) = -0.5_wp + + q2(1,1) = zero + q2(2,1) = zero + q2(3,1) = zero + + q2(1,2) = zero + q2(2,2) = -1.0_wp + q2(3,2) = 1.0_wp + + end subroutine coeffs_up_2 + subroutine coeffs_2_2_1 ( a, q ) CCTK_REAL, dimension(2), intent(OUT) :: a @@ -201,6 +236,59 @@ module All_Coeffs_mod end subroutine coeffs_up_4_2 + subroutine coeffs_up_4 ( a1, q1, a2, q2 ) + + CCTK_REAL, dimension(-3:3), intent(OUT) :: a1, a2 + CCTK_REAL, dimension(4,3), intent(OUT) :: q1, q2 + + a1(-3) = -0.08333333333333333333333333333333333333333_wp + a1(-2) = 0.5_wp + a1(-1) = -1.5_wp + a1(0) = 0.8333333333333333333333333333333333333333_wp + a1(1) = 0.25_wp + a1(2) = zero + a1(3) = zero + + q1(1,1) = zero + q1(2,1) = zero + q1(3,1) = zero + q1(4,1) = zero + + q1(1,2) = -1.0_wp + q1(2,2) = 1.0_wp + q1(3,2) = zero + q1(4,2) = zero + + q1(1,3) = 0.5_wp + q1(2,3) = -2.0_wp + q1(3,3) = 1.5_wp + q1(4,3) = zero + + a2(-3) = zero + a2(-2) = zero + a2(-1) = -0.25_wp + a2(0) = -0.8333333333333333333333333333333333333333_wp + a2(1) = 1.5_wp + a2(2) = -0.5_wp + a2(3) = 0.08333333333333333333333333333333333333333_wp + + q2(1,1) = zero + q2(2,1) = zero + q2(3,1) = zero + q2(4,1) = zero + + q2(1,2) = zero + q2(2,2) = zero + q2(3,2) = -1.0_wp + q2(4,2) = 1.0_wp + + q2(1,3) = zero + q2(2,3) = -1.5_wp + q2(3,3) = 2.0_wp + q2(4,3) = -0.5_wp + + end subroutine coeffs_up_4 + subroutine coeffs_2_4_2 ( a, q ) CCTK_REAL, dimension(3), intent(OUT) :: a @@ -581,6 +669,81 @@ module All_Coeffs_mod end subroutine coeffs_up_6_3_opt + subroutine coeffs_up_6 ( a1, q1, a2, q2 ) + + CCTK_REAL, dimension(-4:4), intent(OUT) :: a1, a2 + CCTK_REAL, dimension(5,4), intent(OUT) :: q1, q2 + + a1(-4) = 0.01666666666666666666666666666666666666667_wp + a1(-3) = -0.1333333333333333333333333333333333333333_wp + a1(-2) = 0.5_wp + a1(-1) = -1.333333333333333333333333333333333333333_wp + a1(0) = 0.5833333333333333333333333333333333333333_wp + a1(1) = 0.4_wp + a1(2) = -0.03333333333333333333333333333333333333333_wp + a1(3) = zero + a1(4) = zero + + q1(1,1) = zero + q1(2,1) = zero + q1(3,1) = zero + q1(4,1) = zero + q1(5,1) = zero + + q1(1,2) = -1.0_wp + q1(2,2) = 1.0_wp + q1(3,2) = zero + q1(4,2) = zero + q1(5,2) = zero + + q1(1,3) = 0.5_wp + q1(2,3) = -2.0_wp + q1(3,3) = 1.5_wp + q1(4,3) = zero + q1(5,3) = zero + + q1(1,4) = -0.08333333333333333333333333333333333333333_wp + q1(2,4) = 0.5_wp + q1(3,4) = -1.5_wp + q1(4,4) = 0.8333333333333333333333333333333333333333_wp + q1(5,4) = 0.25_wp + + a2(-4) = zero + a2(-3) = zero + a2(-2) = 0.03333333333333333333333333333333333333333_wp + a2(-1) = -0.4_wp + a2(0) = -0.5833333333333333333333333333333333333333_wp + a2(1) = 1.333333333333333333333333333333333333333_wp + a2(2) = -0.5_wp + a2(3) = 0.1333333333333333333333333333333333333333_wp + a2(4) = -0.01666666666666666666666666666666666666667_wp + + q2(1,1) = zero + q2(2,1) = zero + q2(3,1) = zero + q2(4,1) = zero + q2(5,1) = zero + + q2(1,2) = zero + q2(2,2) = zero + q2(3,2) = zero + q2(4,2) = -1.0_wp + q2(5,2) = 1.0_wp + + q2(1,3) = zero + q2(2,3) = zero + q2(3,3) = -1.5_wp + q2(4,3) = 2.0_wp + q2(5,3) = -0.5_wp + + q2(1,4) = -0.25_wp + q2(2,4) = -0.8333333333333333333333333333333333333333_wp + q2(3,4) = 1.5_wp + q2(4,4) = -0.5_wp + q2(5,4) = 0.08333333333333333333333333333333333333333_wp + + end subroutine coeffs_up_6 + subroutine coeffs_2_6_3 ( a, q ) CCTK_REAL, dimension(4), intent(OUT) :: a @@ -1201,6 +1364,116 @@ module All_Coeffs_mod end subroutine coeffs_up_8_4_opt + subroutine coeffs_up_8 ( a1, q1, a2, q2 ) + + CCTK_REAL, dimension(-5:5), intent(OUT) :: a1, a2 + CCTK_REAL, dimension(7,5), intent(OUT) :: q1, q2 + + a1(-5) = -0.003571428571428571428571428571428571428571_wp + a1(-4) = 0.03571428571428571428571428571428571428571_wp + a1(-3) = -0.1666666666666666666666666666666666666667_wp + a1(-2) = 0.5_wp + a1(-1) = -1.25_wp + a1(0) = 0.45_wp + a1(1) = 0.5_wp + a1(2) = -0.07142857142857142857142857142857142857143_wp + a1(3) = 0.005952380952380952380952380952380952380952_wp + a1(4) = zero + a1(5) = zero + + q1(2,1) = zero + q1(3,1) = zero + q1(4,1) = zero + q1(5,1) = zero + q1(6,1) = zero + q1(7,1) = zero + + q1(1,2) = -1.0_wp + q1(2,2) = 1.0_wp + q1(3,2) = zero + q1(4,2) = zero + q1(5,2) = zero + q1(6,2) = zero + q1(7,2) = zero + + q1(1,3) = 0.5_wp + q1(2,3) = -2.0_wp + q1(3,3) = 1.5_wp + q1(4,3) = zero + q1(5,3) = zero + q1(6,3) = zero + q1(7,3) = zero + + q1(1,4) = -0.08333333333333333333333333333333333333333_wp + q1(2,4) = 0.5_wp + q1(3,4) = -1.5_wp + q1(4,4) = 0.8333333333333333333333333333333333333333_wp + q1(5,4) = 0.25_wp + q1(6,4) = zero + q1(7,4) = zero + + q1(1,5) = 0.01666666666666666666666666666666666666667_wp + q1(2,5) = -0.1333333333333333333333333333333333333333_wp + q1(3,5) = 0.5_wp + q1(4,5) = -1.333333333333333333333333333333333333333_wp + q1(5,5) = 0.5833333333333333333333333333333333333333_wp + q1(6,5) = 0.4_wp + q1(7,5) = -0.03333333333333333333333333333333333333333_wp + + a2(-5) = zero + a2(-4) = zero + a2(-3) = -0.005952380952380952380952380952380952380952_wp + a2(-2) = 0.07142857142857142857142857142857142857143_wp + a2(-1) = -0.5_wp + a2(0) = -0.45_wp + a2(1) = 1.25_wp + a2(2) = -0.5_wp + a2(3) = 0.1666666666666666666666666666666666666667_wp + a2(4) = -0.03571428571428571428571428571428571428571_wp + a2(5) = 0.003571428571428571428571428571428571428571_wp + + q2(1,1) = zero + q2(2,1) = zero + q2(3,1) = zero + q2(4,1) = zero + q2(5,1) = zero + q2(6,1) = zero + q2(7,1) = zero + + q2(1,2) = zero + q2(2,2) = zero + q2(3,2) = zero + q2(4,2) = zero + q2(5,2) = zero + q2(6,2) = -1.0_wp + q2(7,2) = 1.0_wp + + q2(1,3) = zero + q2(2,3) = zero + q2(3,3) = zero + q2(4,3) = zero + q2(5,3) = -1.5_wp + q2(6,3) = 2.0_wp + q2(7,3) = -0.5_wp + + q2(1,4) = zero + q2(2,4) = zero + q2(3,4) = -0.25_wp + q2(4,4) = -0.8333333333333333333333333333333333333333_wp + q2(5,4) = 1.5_wp + q2(6,4) = -0.5_wp + q2(7,4) = 0.08333333333333333333333333333333333333333_wp + + q2(1,5) = 0.03333333333333333333333333333333333333333_wp + q2(2,5) = -0.4_wp + q2(3,5) = -0.5833333333333333333333333333333333333333_wp + q2(4,5) = 1.333333333333333333333333333333333333333_wp + q2(5,5) = -0.5_wp + q2(6,5) = 0.1333333333333333333333333333333333333333_wp + q2(7,5) = -0.01666666666666666666666666666666666666667_wp + + end subroutine coeffs_up_8 + subroutine coeffs_2_8_4 ( a, q ) CCTK_REAL, dimension(5), intent(OUT) :: a |