aboutsummaryrefslogtreecommitdiff
path: root/src/Lagrange-tensor-product/README
diff options
context:
space:
mode:
Diffstat (limited to 'src/Lagrange-tensor-product/README')
-rw-r--r--src/Lagrange-tensor-product/README69
1 files changed, 69 insertions, 0 deletions
diff --git a/src/Lagrange-tensor-product/README b/src/Lagrange-tensor-product/README
new file mode 100644
index 0000000..44cd090
--- /dev/null
+++ b/src/Lagrange-tensor-product/README
@@ -0,0 +1,69 @@
+$Header$
+
+This directory contains code for Lagrange polynomial interpolation,
+using the tensor-product definition for multiple dimensions.
+
+makefile
+ This has targets to create the subdirectories for the
+ Maple-generated coefficient files, and to run Maple to
+ generated those files.
+
+make.code.defn
+ This tells the Cactus build system which files to compile.
+
+[123]d.maple
+ These files contain the Maple code to generate the interpolation
+ coefficients.
+
+fns.maple
+ These files define the interpolation functions, coefficients, etc,
+ for the Maple code in [123]d.maple
+
+[123]d.cube.order?.smooth?.c
+ These files are the individual cases for the interpolation.
+ Each file defines a separate function. Each file just #defines
+ a bunch of macros, then #includes "../template.c" to get the
+ actual interpolation code. Unfortunately, the ISO C standard
+ only guarantees 31 characters for function names (in fact, it
+ doesn't even guarantee that for external names -- they may be
+ limited by a system linker -- but I quietly ignore that and
+ assume I can use 31), so the functions are named in a cryptic
+ manner:
+ 123456789 123456789 123456789 1
+ AEILocalInterp_U_LagTP_1cube_10
+ AEILocalInterp_U_LagTP_1cube_20
+ AEILocalInterp_U_LagTP_1cube_30
+ AEILocalInterp_U_LagTP_1cube_40
+ AEILocalInterp_U_LagTP_1cube_50
+ AEILocalInterp_U_LagTP_1cube_60
+ AEILocalInterp_U_LagTP_2cube_10
+ AEILocalInterp_U_LagTP_2cube_20
+ AEILocalInterp_U_LagTP_2cube_30
+ AEILocalInterp_U_LagTP_2cube_40
+ AEILocalInterp_U_LagTP_3cube_10
+ AEILocalInterp_U_LagTP_3cube_20
+ AEILocalInterp_U_LagTP_3cube_30
+ AEILocalInterp_U_LagTP_3cube_40
+
+ The naming convention is as follows (eg for the last function)
+ AEILocalInterp name of this thorn
+ U these functions are all for the
+ CCTK_InterpLocalUniform() API
+ LagTP these functions are all for the
+ "Lagrange polynomial interpolation (tensor product)"
+ interpolation operator
+ 3 this function does 3-d interpolation
+ cube this function uses a cube-shaped
+ interpolation molecule
+ 4 this function does 4th order interpolation
+ 0 this function does smoothing=0 interpolation
+
+ The same naming convention is used for the other interpolation
+ operators, except that for Hermite the smoothing part is dropped:
+ LagTP "Lagrange polynomial interpolation (tensor product)"
+ LagMD "Lagrange polynomial interpolation (maximum degree)"
+ Herm "Hermite polynomial interpolation"
+
+all_prototypes.h
+ This file contains C prototypes for each of the functions
+ in [123]d.cube.order?.smooth0.c.