aboutsummaryrefslogtreecommitdiff
path: root/src/call_derivs.c
diff options
context:
space:
mode:
authordiener <diener@f69c4107-0314-4c4f-9ad4-17e986b73f4a>2004-10-11 20:16:00 +0000
committerdiener <diener@f69c4107-0314-4c4f-9ad4-17e986b73f4a>2004-10-11 20:16:00 +0000
commit785d14d7d111a1120b9595385c38dde6267ade95 (patch)
tree87b09dee9a4dff8e3520a02fb188f185690a27c4 /src/call_derivs.c
parent820cf085c7fba79fa34163a535e5d7a37f1a2697 (diff)
Added 4-3 Full restricted norm operators. Added parameter to choose the type
of differences (diagonal, full restricted). Added routine to return the coefficient of the norm at the boundary. Added routine to return the mask for the norm calculation. git-svn-id: https://svn.cct.lsu.edu/repos/numrel/LSUThorns/SummationByParts/trunk@10 f69c4107-0314-4c4f-9ad4-17e986b73f4a
Diffstat (limited to 'src/call_derivs.c')
-rw-r--r--src/call_derivs.c58
1 files changed, 39 insertions, 19 deletions
diff --git a/src/call_derivs.c b/src/call_derivs.c
index e8c051a..f8807c2 100644
--- a/src/call_derivs.c
+++ b/src/call_derivs.c
@@ -33,6 +33,15 @@ void DiffGv ( const CCTK_POINTER cctkGH_, const CCTK_INT dir,
const CCTK_INT *gsize,
const CCTK_REAL *delta,
CCTK_REAL *dvar);
+ void CCTK_FCALL CCTK_FNAME(deriv_gf_4_3)(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_6_3)(const CCTK_REAL *var,
const CCTK_INT *ni,
const CCTK_INT *nj,
@@ -78,24 +87,35 @@ void DiffGv ( const CCTK_POINTER cctkGH_, const CCTK_INT dir,
assert(0);
}
- switch(order) {
- case 2: {
- CCTK_FNAME(deriv_gf_2_1)(var,&ni,&nj,&nk,&dir,bb,&gsize,&delta,dvar);
- break;
- }
- case 4: {
- CCTK_FNAME(deriv_gf_4_2)(var,&ni,&nj,&nk,&dir,bb,&gsize,&delta,dvar);
- break;
- }
- case 6: {
- CCTK_FNAME(deriv_gf_6_3)(var,&ni,&nj,&nk,&dir,bb,&gsize,&delta,dvar);
- break;
- }
- case 8: {
- CCTK_FNAME(deriv_gf_8_4)(var,&ni,&nj,&nk,&dir,bb,&gsize,&delta,dvar);
- break;
- }
- default:
- assert(0);
+ if ( CCTK_Equals(norm_type,"Diagonal") ) {
+ switch(order) {
+ case 2: {
+ CCTK_FNAME(deriv_gf_2_1)(var,&ni,&nj,&nk,&dir,bb,&gsize,&delta,dvar);
+ break;
+ }
+ case 4: {
+ CCTK_FNAME(deriv_gf_4_2)(var,&ni,&nj,&nk,&dir,bb,&gsize,&delta,dvar);
+ break;
+ }
+ case 6: {
+ CCTK_FNAME(deriv_gf_6_3)(var,&ni,&nj,&nk,&dir,bb,&gsize,&delta,dvar);
+ break;
+ }
+ case 8: {
+ CCTK_FNAME(deriv_gf_8_4)(var,&ni,&nj,&nk,&dir,bb,&gsize,&delta,dvar);
+ break;
+ }
+ default:
+ assert(0);
+ }
+ } else {
+ switch(order) {
+ case 4: {
+ CCTK_FNAME(deriv_gf_4_3)(var,&ni,&nj,&nk,&dir,bb,&gsize,&delta,dvar);
+ break;
+ }
+ default:
+ assert(0);
+ }
}
}