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
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# Interface definition for thorn AHFinderDirect
# $Header$
implements: AHFinderDirect
# thorns from: CactusBase CactusEinstein ................. AEIThorns
inherits: Grid IO ADMBase StaticConformal SpaceMask SphericalSurface
# we use an include file provided by SpaceMask
USES INCLUDE: SpaceMask.h
################################################################################
# we use an aliased function maybe provided by DriftCorrect
SUBROUTINE SetDriftCorrectPosition \
(CCTK_POINTER_TO_CONST IN GH, \
CCTK_REAL IN x, CCTK_REAL IN y, CCTK_REAL IN z)
USES FUNCTION SetDriftCorrectPosition
################################################################################
#
# This thorn provides an aliased-function interface which other thorns
# can use to find out about the horizons. Each function returns a status
# code which is >= 0 for ok, or < 0 for an error.
#
########################################
#
# This function returns the local coordinate origin for a given horizon.
#
CCTK_INT FUNCTION HorizonLocalCoordinateOrigin \
(CCTK_INT IN horizon_number, \
CCTK_REAL OUT origin_x, CCTK_REAL OUT origin_y, CCTK_REAL OUT origin_z)
#
# The following function queries whether or not the specified horizon
# was found the most recent time AHFinderDirect searched for it.
# The return value is:
# 1 if the horizon was found
# 0 if the horizon was not found
# negative for an error
#
CCTK_INT FUNCTION HorizonWasFound(CCTK_INT IN horizon_number)
#
# The following function computes the horizon radius in the
# direction of each (x,y,z) point, or -1.0 if this horizon wasn't found
# the most recent time AHFinderDirect searched for it. More precisely,
# For each (x,y,z), consider the ray from the local coordinate origin
# through (x,y,z). This function computes the Euclidean distance
# between the local coordinate origin and this ray's intersection with
# the horizon, or -1.0 if this horizon wasn't found the most recent time
# AHFinderDirect searched for it.
#
CCTK_INT FUNCTION HorizonRadiusInDirection \
(CCTK_INT IN horizon_number, \
CCTK_INT IN N_points, \
CCTK_REAL IN ARRAY x, CCTK_REAL IN ARRAY y, CCTK_REAL IN ARRAY z, \
CCTK_REAL OUT ARRAY radius)
########################################
# all these functions are in src/driver/aliased_functions.cc
PROVIDES FUNCTION HorizonLocalCoordinateOrigin \
WITH AHFinderDirect_local_coordinate_origin \
LANGUAGE C
PROVIDES FUNCTION HorizonWasFound \
WITH AHFinderDirect_horizon_was_found \
LANGUAGE C
PROVIDES FUNCTION HorizonRadiusInDirection \
WITH AHFinderDirect_radius_in_direction \
LANGUAGE C
################################################################################
|