blob: 9b3f9805013a8ad0bbdc0461c270eaf7cb8e4276 (
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
|
This directory contains C++ code for the horizon finder's basic
multi-patch infrastructure. This code doesn't know about relativity.
The main classes defined in this directory are as follows:
patch_system
is the top-level class representing a multipatch system.
It stores the actual grid function data, defines the actual
finite differencing operations (both 2nd and 4th order are
provided, presently selected by #ifdef at compile time),
and keeps pointers to all the other objects making up the
patch system.
x_patch, y_patch, z_patch
represent individual patches near the +/- x, +/- y, and +/- z
axes respectively.
patch
is an virtual base class representing a grid patch.
patch_edge
represents the geometry of a single edge of a patch, ie it
represents the conversions between (perpendicular,parallel)
and (rho,sigma) coordinates.
ghost_zone
is a virtual base class representing the ghost zone
along a single edge of a patch.
interpatch_ghost_zone
represents a ghost zone where we get data by interpolating
it from a neighboring patch.
symmetry_ghost_zone
represents a ghost zone where we get data by a discrete
symmetry (eg a reflection or periodic boundary condition).
patch_frontier
is our interface to the interpatch interpolation.
Class patch is in term implemented using the following helper classes:
grid
This class is derived from class grid_arrays , and adds
the floating-point grid-coordinate metadata.
grid_arrays
This class stores the basic integer-array-subscripts metadata
for a 2-D grid.
The implementation also uses the low-level generic helper template
classes defined in ../libutil/ .
All the code makes heavy use of the type fp , defined in fp.hh .
This is the floating-point type, i.e. CCTK_REAL.
There are also a number of test drivers in test_*.cc .
|