aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordiener <diener@f69c4107-0314-4c4f-9ad4-17e986b73f4a>2005-01-07 13:18:35 +0000
committerdiener <diener@f69c4107-0314-4c4f-9ad4-17e986b73f4a>2005-01-07 13:18:35 +0000
commit560f8f0004ea1c497bd1d5e42944217c9c835152 (patch)
treee1549df6b610cf5972d29ec4037886510f04c6ba
parent2bd3c3a7d785398654dc3fae9790a0ca33957504 (diff)
6th order interior, 5th order at the boundary finite differences (restricted
full norm). Thanks to José María Martín García for the mathematica notebook that provided the coefficients. Not yot tested extensively, but seems to work. git-svn-id: https://svn.cct.lsu.edu/repos/numrel/LSUThorns/SummationByParts/trunk@17 f69c4107-0314-4c4f-9ad4-17e986b73f4a
-rw-r--r--src/Get_Coeff.F902
-rw-r--r--src/call_derivs.c13
-rw-r--r--src/make.code.defn2
-rw-r--r--src/set_norm_mask.F902
4 files changed, 17 insertions, 2 deletions
diff --git a/src/Get_Coeff.F90 b/src/Get_Coeff.F90
index 7b3fcf5..36c0209 100644
--- a/src/Get_Coeff.F90
+++ b/src/Get_Coeff.F90
@@ -27,6 +27,8 @@ CCTK_REAL function GetCoeff ()
select case (order)
case(4)
GetCoeff = 3.0_wp/11.0_wp
+ case(6)
+ GetCoeff = 30.0_wp/137.0_wp
end select
end if
end function GetCoeff
diff --git a/src/call_derivs.c b/src/call_derivs.c
index 7fe4c76..7bb420c 100644
--- a/src/call_derivs.c
+++ b/src/call_derivs.c
@@ -51,6 +51,15 @@ void DiffGv ( const CCTK_POINTER_TO_CONST cctkGH_, const CCTK_INT dir,
const CCTK_INT *gsize,
const CCTK_REAL *delta,
CCTK_REAL *dvar);
+ void CCTK_FCALL CCTK_FNAME(deriv_gf_6_5)(const CCTK_REAL *var,
+ const CCTK_INT *ni,
+ const CCTK_INT *nj,
+ const CCTK_INT *nk,
+ const CCTK_INT *dir,
+ const CCTK_INT *bb,
+ const CCTK_INT *gsize,
+ const CCTK_REAL *delta,
+ CCTK_REAL *dvar);
void CCTK_FCALL CCTK_FNAME(deriv_gf_8_4)(const CCTK_REAL *var,
const CCTK_INT *ni,
const CCTK_INT *nj,
@@ -114,6 +123,10 @@ void DiffGv ( const CCTK_POINTER_TO_CONST cctkGH_, const CCTK_INT dir,
CCTK_FNAME(deriv_gf_4_3)(var,&ni,&nj,&nk,&dir,bb,&gsize,&delta,dvar);
break;
}
+ case 6: {
+ CCTK_FNAME(deriv_gf_6_5)(var,&ni,&nj,&nk,&dir,bb,&gsize,&delta,dvar);
+ break;
+ }
default:
assert(0);
}
diff --git a/src/make.code.defn b/src/make.code.defn
index 5810dc0..649bbd9 100644
--- a/src/make.code.defn
+++ b/src/make.code.defn
@@ -2,7 +2,7 @@
# $Header$
# Source files in this directory
-SRCS = Derivatives_2_1.F90 Derivatives_4_2.F90 Derivatives_6_3.F90 Derivatives_8_4.F90 call_derivs.c Derivatives_4_3.F90 call_derivs_name.c Get_Coeff.F90 call_norm_mask.c set_norm_mask.F90 CheckGridSizes.F90
+SRCS = Derivatives_2_1.F90 Derivatives_4_2.F90 Derivatives_6_3.F90 Derivatives_8_4.F90 call_derivs.c Derivatives_4_3.F90 Derivatives_6_5.F90 call_derivs_name.c Get_Coeff.F90 call_norm_mask.c set_norm_mask.F90 CheckGridSizes.F90
# Subdirectories containing source files
SUBDIRS =
diff --git a/src/set_norm_mask.F90 b/src/set_norm_mask.F90
index 1c9c2e7..c9b8ffb 100644
--- a/src/set_norm_mask.F90
+++ b/src/set_norm_mask.F90
@@ -73,7 +73,7 @@ subroutine SBP_SetNormMask (CCTK_ARGUMENTS)
np = order
else
select case (order)
- case (4)
+ case (4,6)
bmask(1:3) = bmask_3
np = 3
end select