aboutsummaryrefslogtreecommitdiff
path: root/src/GeneralizedPolynomial-Uniform/Lagrange-maximum-degree/README
blob: 88f3af703891a822696b0d61a4228a98e6b8321d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
$Header$

This directory contains code for Lagrange polynomial interpolation,
using the maximum-degree 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 somewhat
	cryptic manner:
	   123456789 123456789 123456789 1
	   LocalInterp_U_LagrMD_1dcube_10
	   LocalInterp_U_LagrMD_1dcube_20
	   LocalInterp_U_LagrMD_1dcube_30
	   LocalInterp_U_LagrMD_1dcube_40
	   LocalInterp_U_LagrMD_1dcube_50
	   LocalInterp_U_LagrMD_1dcube_60
	   LocalInterp_U_LagrMD_2dcube_10
	   LocalInterp_U_LagrMD_2dcube_20
	   LocalInterp_U_LagrMD_2dcube_30
	   LocalInterp_U_LagrMD_2dcube_40
	   LocalInterp_U_LagrMD_3dcube_10
	   LocalInterp_U_LagrMD_3dcube_20
	   LocalInterp_U_LagrMD_3dcube_30
	   LocalInterp_U_LagrMD_3dcube_40
	The naming convention is as follows (eg for the last function)
	   LocalInterp	name of this thorn
	   U		these functions are all for the
			CCTK_InterpLocalUniform() API
	   LagrMD	these functions are all for the
			"Lagrange polynomial interpolation (maximum degree)"
			interpolation operator
	   3d		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

all_prototypes.h
	This file contains C prototypes for each of the functions
	in [123]d.cube.order?.smooth0.c.