diff options
author | diener <diener@f69c4107-0314-4c4f-9ad4-17e986b73f4a> | 2005-01-07 13:18:35 +0000 |
---|---|---|
committer | diener <diener@f69c4107-0314-4c4f-9ad4-17e986b73f4a> | 2005-01-07 13:18:35 +0000 |
commit | 560f8f0004ea1c497bd1d5e42944217c9c835152 (patch) | |
tree | e1549df6b610cf5972d29ec4037886510f04c6ba | |
parent | 2bd3c3a7d785398654dc3fae9790a0ca33957504 (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.F90 | 2 | ||||
-rw-r--r-- | src/call_derivs.c | 13 | ||||
-rw-r--r-- | src/make.code.defn | 2 | ||||
-rw-r--r-- | src/set_norm_mask.F90 | 2 |
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 |