aboutsummaryrefslogtreecommitdiff
path: root/src/call_derivs2.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/call_derivs2.c')
-rw-r--r--src/call_derivs2.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/call_derivs2.c b/src/call_derivs2.c
index cf193c6..5ec2100 100644
--- a/src/call_derivs2.c
+++ b/src/call_derivs2.c
@@ -9,15 +9,15 @@
-void DiffGv2 ( const CCTK_POINTER_TO_CONST cctkGH_, const CCTK_INT dir,
- const CCTK_REAL *var, CCTK_REAL *dvar2,
+void DiffGv2 ( const CCTK_POINTER_TO_CONST cctkGH_, const CCTK_INT dir1,
+ const CCTK_INT dir2, const CCTK_REAL *var, CCTK_REAL *dvar2,
const CCTK_INT table_handle )
{
cGH const * restrict const cctkGH = cctkGH_;
DECLARE_CCTK_PARAMETERS
DECLARE_CCTK_ARGUMENTS
- CCTK_INT ni, nj, nk, gsize, loc_order;
+ CCTK_INT ni, nj, nk, gsize, loc_order, dir;
CCTK_REAL delta;
CCTK_INT bb[2];
int onesided[6];
@@ -50,10 +50,26 @@ void DiffGv2 ( const CCTK_POINTER_TO_CONST cctkGH_, const CCTK_INT dir,
const CCTK_INT *gsize,
const CCTK_REAL *delta,
CCTK_REAL *dvar2);
+ void CCTK_FCALL CCTK_FNAME(deriv2_mixed)(const CCTK_POINTER_TO_CONST *cctkGH,
+ const CCTK_INT *dir1,
+ const CCTK_INT *dir2,
+ const CCTK_REAL *var,
+ const CCTK_INT *ni,
+ const CCTK_INT *nj,
+ const CCTK_INT *nk,
+ CCTK_REAL *dvar2,
+ const CCTK_INT *table_handle);
ni = cctk_lsh[0]; nj = cctk_lsh[1]; nk = cctk_lsh[2];
+ if ( dir1 != dir2 ) {
+ CCTK_FNAME(deriv2_mixed)(&cctkGH_,&dir1,&dir2,var,&ni,&nk,&nk,dvar2,&table_handle);
+ return;
+ } else {
+ dir = dir1;
+ }
+
if ( table_handle >=0 ) {
nelements = Util_TableGetInt ( table_handle, &loc_order, "order" );
if ( nelements == UTIL_ERROR_TABLE_NO_SUCH_KEY ) {