diff options
Diffstat (limited to 'src/All_Coeffs_mod.F90')
-rw-r--r-- | src/All_Coeffs_mod.F90 | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/src/All_Coeffs_mod.F90 b/src/All_Coeffs_mod.F90 index 1886497..55a76ab 100644 --- a/src/All_Coeffs_mod.F90 +++ b/src/All_Coeffs_mod.F90 @@ -28,6 +28,17 @@ module All_Coeffs_mod end subroutine coeffs_1_2_1 + subroutine coeffs_1_2 ( a, q ) + + CCTK_REAL, dimension(1), intent(OUT) :: a + CCTK_REAL, dimension(1,1), intent(OUT) :: q + + a(1) = 1.0_wp/2.0_wp + + q(1,1) = zero + + end subroutine coeffs_1_2 + subroutine coeffs_up_2_1 ( a1, q1, a2, q2 ) CCTK_REAL, dimension(-1:1), intent(OUT) :: a1, a2 @@ -161,6 +172,24 @@ module All_Coeffs_mod end subroutine coeffs_1_4_2 + subroutine coeffs_1_4 ( a, q ) + + CCTK_REAL, dimension(2), intent(OUT) :: a + CCTK_REAL, dimension(3,2), intent(OUT) :: q + + a(1) = 2.0_wp/3.0_wp + a(2) = -1.0_wp/12.0_wp + + q(1,1) = zero + q(2,1) = zero + q(3,1) = zero + + q(1,2) = -1.0_wp/2.0_wp + q(2,2) = zero + q(3,2) = 1.0_wp/2.0_wp + + end subroutine coeffs_1_4 + subroutine coeffs_up_4_2 ( a1, q1, a2, q2 ) CCTK_REAL, dimension(-2:2), intent(OUT) :: a1, a2 @@ -526,6 +555,35 @@ module All_Coeffs_mod end subroutine coeffs_1_6_3_opt + subroutine coeffs_1_6 ( a, q ) + + CCTK_REAL, dimension(3), intent(OUT) :: a + CCTK_REAL, dimension(5,3), intent(OUT) :: q + + a(1) = 3.0_wp/4.0_wp + a(2) = -3.0_wp/20.0_wp + a(3) = 1.0_wp/60.0_wp + + q(1,1) = zero + q(2,1) = zero + q(3,1) = zero + q(4,1) = zero + q(5,1) = zero + + q(1,2) = -1.0_wp/2.0_wp + q(2,2) = zero + q(3,2) = 1.0_wp/2.0_wp + q(4,2) = zero + q(5,2) = zero + + q(1,3) = 1.0_wp/12.0_wp + q(2,3) = -2.0_wp/3.0_wp + q(3,3) = zero + q(4,3) = 2.0_wp/3.0_wp + q(5,3) = -1.0_wp/12.0_wp + + end subroutine coeffs_1_6 + subroutine coeffs_up_6_3_opt ( a1, q1, a2, q2 ) CCTK_REAL, dimension(-3:3), intent(OUT) :: a1, a2 @@ -1129,6 +1187,50 @@ module All_Coeffs_mod end subroutine coeffs_1_8_4_opt + subroutine coeffs_1_8 ( a, q ) + + CCTK_REAL, dimension(4), intent(OUT) :: a + CCTK_REAL, dimension(7,4), intent(OUT) :: q + + a(1) = 4.0_wp/5.0_wp + a(2) = -1.0_wp/5.0_wp + a(3) = 4.0_wp/105.0_wp + a(4) = -1.0_wp/280.0_wp + + q(1,1) = zero + q(2,1) = zero + q(3,1) = zero + q(4,1) = zero + q(5,1) = zero + q(6,1) = zero + q(7,1) = zero + + q(1,2) = -1.0_wp/2.0_wp + q(2,2) = zero + q(3,2) = 1.0_wp/2.0_wp + q(4,2) = zero + q(5,2) = zero + q(6,2) = zero + q(7,1) = zero + + q(1,3) = 1.0_wp/12.0_wp + q(2,3) = -2.0_wp/3.0_wp + q(3,3) = zero + q(4,3) = 2.0_wp/3.0_wp + q(5,3) = -1.0_wp/12.0_wp + q(6,3) = zero + q(7,3) = zero + + q(1,4) = -1.0_wp/60.0_wp + q(2,4) = 3.0_wp/20.0_wp + q(3,4) = -3.0_wp/4.0_wp + q(4,4) = zero + q(5,4) = 3.0_wp/4.0_wp + q(6,4) = -3.0_wp/20.0_wp + q(7,4) = 1.0_wp/60.0_wp + + end subroutine coeffs_1_8 + subroutine coeffs_up_8_4_opt ( a1, q1, a2, q2 ) CCTK_REAL, dimension(-4:4), intent(OUT) :: a1, a2 |