aboutsummaryrefslogtreecommitdiff
path: root/src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/2d.cube.order1.smooth0.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/2d.cube.order1.smooth0.c')
-rw-r--r--src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/2d.cube.order1.smooth0.c59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/2d.cube.order1.smooth0.c b/src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/2d.cube.order1.smooth0.c
new file mode 100644
index 0000000..b45593e
--- /dev/null
+++ b/src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/2d.cube.order1.smooth0.c
@@ -0,0 +1,59 @@
+/* $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_2d_cube10
+#include "../template.h"
+
+#define N_DIMS 2
+#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
+/* n.b. no 2nd derivatives for linear interpolation! */
+
+#define XYZ x, y
+#define FP_XYZ fp x, fp y
+#define STRIDE_IJK stride_i, stride_j
+#define JACOBIAN_MIJK_STRIDE Jacobian_mi_stride, Jacobian_mj_stride
+
+#define DATA_STRUCT data_struct_2d_cube_size2
+#define COEFFS_STRUCT coeffs_struct_2d_cube_size2
+
+#define FETCH_DATA_REAL LocalInterp_fetch_2d_cube2_r
+#define FETCH_DATA_REAL4 LocalInterp_fetch_2d_cube2_r4
+#define FETCH_DATA_REAL8 LocalInterp_fetch_2d_cube2_r8
+#define FETCH_DATA_REAL16 LocalInterp_fetch_2d_cube2_r16
+#define FETCH_DATA_COMPLEX LocalInterp_fetch_2d_cube2_c
+#define FETCH_DATA_COMPLEX8 LocalInterp_fetch_2d_cube2_c8
+#define FETCH_DATA_COMPLEX16 LocalInterp_fetch_2d_cube2_c16
+#define FETCH_DATA_COMPLEX32 LocalInterp_fetch_2d_cube2_c32
+
+#define EVALUATE_MOLECULE LocalInterp_eval_2d_cube2
+
+#define STORE_COEFFS LocalInterp_store_2d_cube2
+
+/* note pathnames are all relative to "../template.c" */
+#define COEFFS_I_COMPUTE_FILE_NAME "Lagrange-tensor-product/2d.coeffs/2d.cube.order1.smooth0/coeffs-I.compute.c"
+#define COEFFS_DX_COMPUTE_FILE_NAME "Lagrange-tensor-product/2d.coeffs/2d.cube.order1.smooth0/coeffs-dx.compute.c"
+#define COEFFS_DY_COMPUTE_FILE_NAME "Lagrange-tensor-product/2d.coeffs/2d.cube.order1.smooth0/coeffs-dy.compute.c"
+
+/* actual code */
+#include "../template.c"