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.
|