aboutsummaryrefslogtreecommitdiff
path: root/src/GeneralizedPolynomial-Uniform/Lagrange/README
blob: 56f5d1a125791baff1c01a99d38cb76763573937 (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
$Header$

This directory contains code for Lagrange polynomial interpolation.

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_ULagrange_1dcube_10
	   LocalInterp_ULagrange_1dcube_20
	   LocalInterp_ULagrange_1dcube_30
	   LocalInterp_ULagrange_1dcube_40
	   LocalInterp_ULagrange_1dcube_50
	   LocalInterp_ULagrange_1dcube_60
	   LocalInterp_ULagrange_2dcube_10
	   LocalInterp_ULagrange_2dcube_20
	   LocalInterp_ULagrange_2dcube_30
	   LocalInterp_ULagrange_2dcube_40
	   LocalInterp_ULagrange_3dcube_10
	   LocalInterp_ULagrange_3dcube_20
	   LocalInterp_ULagrange_3dcube_30
	   LocalInterp_ULagrange_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
	   Lagrange		these functions are all for the
				"Lagrange polynomial interpolation"
				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.