aboutsummaryrefslogtreecommitdiff
path: root/src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/3d.cube.order1.smooth0.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/3d.cube.order1.smooth0.c')
-rw-r--r--src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/3d.cube.order1.smooth0.c61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/3d.cube.order1.smooth0.c b/src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/3d.cube.order1.smooth0.c
new file mode 100644
index 0000000..a31a491
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/3d.cube.order1.smooth0.c
@@ -0,0 +1,61 @@
+/* $Header$ */
+
+#include <math.h>
+#include <limits.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+#include "util_ErrorCodes.h"
+#include "cctk.h"
+#include "../InterpLocalUniform.h"
+#include "../common/structs.h"
+#include "../common/fetch.h"
+#include "../common/evaluate.h"
+#include "../common/store.h"
+
+/* function prototype */
+#define FUNCTION_NAME LocalInterp_U_LagrTP_3d_cube10
+#include "../template.h"
+
+#define N_DIMS 3
+#define MOLECULE_MIN_M 0
+#define MOLECULE_MAX_M 1
+#define MOLECULE_SIZE 2
+
+/* which derivative ops do we support? */
+#define HAVE_OP_I
+#define HAVE_OP_DX
+#define HAVE_OP_DY
+#define HAVE_OP_DZ
+/* n.b. no 2nd derivatives for linear interpolation! */
+
+#define XYZ x, y, z
+#define FP_XYZ fp x, fp y, fp z
+#define STRIDE_IJK stride_i, stride_j, stride_k
+#define JACOBIAN_MIJK_STRIDE Jacobian_mi_stride, Jacobian_mj_stride, Jacobian_mk_stride
+
+#define DATA_STRUCT data_struct_3d_cube_size2
+#define COEFFS_STRUCT coeffs_struct_3d_cube_size2
+
+#define FETCH_DATA_REAL LocalInterp_fetch_3d_cube2_r
+#define FETCH_DATA_REAL4 LocalInterp_fetch_3d_cube2_r4
+#define FETCH_DATA_REAL8 LocalInterp_fetch_3d_cube2_r8
+#define FETCH_DATA_REAL16 LocalInterp_fetch_3d_cube2_r16
+#define FETCH_DATA_COMPLEX LocalInterp_fetch_3d_cube2_c
+#define FETCH_DATA_COMPLEX8 LocalInterp_fetch_3d_cube2_c8
+#define FETCH_DATA_COMPLEX16 LocalInterp_fetch_3d_cube2_c16
+#define FETCH_DATA_COMPLEX32 LocalInterp_fetch_3d_cube2_c32
+
+#define EVALUATE_MOLECULE LocalInterp_eval_3d_cube2
+
+#define STORE_COEFFS LocalInterp_store_3d_cube2
+
+/* note pathnames are all relative to "../template.c" */
+#define COEFFS_I_COMPUTE_FILE_NAME "Lagrange-tensor-product/3d.coeffs/3d.cube.order1.smooth0/coeffs-I.compute.c"
+#define COEFFS_DX_COMPUTE_FILE_NAME "Lagrange-tensor-product/3d.coeffs/3d.cube.order1.smooth0/coeffs-dx.compute.c"
+#define COEFFS_DY_COMPUTE_FILE_NAME "Lagrange-tensor-product/3d.coeffs/3d.cube.order1.smooth0/coeffs-dy.compute.c"
+#define COEFFS_DZ_COMPUTE_FILE_NAME "Lagrange-tensor-product/3d.coeffs/3d.cube.order1.smooth0/coeffs-dz.compute.c"
+
+/* actual code */
+#include "../template.c"