aboutsummaryrefslogtreecommitdiff
path: root/interface.ccl
blob: 833b7e3112b18876d40048b7a3eb225ae897775d (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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Interface definition for thorn SphericalSurface
# $Header$

IMPLEMENTS: SphericalSurface



PUBLIC:

# To be defined by the setting thorn.
# Suggested meanings:
# zero: The surface data are invalid (garbage)
# one:  The surface data are valid in principle, although they may be outdated
CCTK_INT sf_active[nsurfaces] TYPE=scalar

# To be defined by the setting thorn.
# Suggested meanings: 
# zero:     No surface is provided at this time step
# negative: No surface could be found at this time step
# positive: The surface data are valid
CCTK_INT sf_valid[nsurfaces] TYPE=scalar



CCTK_REAL sf_info[nsurfaces] TYPE=scalar
{
  # The following are covariant quantities:
  
  # proper area:
  #    A := int(S) sqrt(q) dS
  #    with q_ij the 2-metric on the surface
  sf_area
  
  
  
  # The following are coordinate-dependent quantities:
  
  # monopole moment (average coordinate radius):
  #    M := int(S) h ds / A
  sf_mean_radius

  # dipole moment:
  #    D^i := int(S) x^i dS / A
  sf_centroid_x sf_centroid_y sf_centroid_z

  # quadrupole moment:
  #    Q^ij := int(S) y^i y^j dS / A   with y^i := x^i - D^i
  sf_quadrupole_xx sf_quadrupole_xy sf_quadrupole_xz
  sf_quadrupole_yy sf_quadrupole_yz sf_quadrupole_zz
  
  
  
  # minimum and maximum coordinate radius
  sf_min_radius sf_max_radius

  # bounding box
  sf_min_x sf_min_y sf_min_z sf_max_x sf_max_y sf_max_z
} "Surface information"



CCTK_REAL sf_radius[nsurfaces] TYPE=array DIM=2 SIZE=maxntheta,maxnphi DISTRIB=constant #TAGS='convergence_power=1'

CCTK_REAL sf_origin[nsurfaces] TYPE=scalar
{
  # these are to be set together with the radius grid array
  sf_origin_x sf_origin_y sf_origin_z
}


  
CCTK_REAL sf_coordinate_descriptors[nsurfaces] TYPE=scalar
{
  # these are set up by this thorn, and should be treated as read-only
  sf_origin_theta sf_origin_phi
  sf_delta_theta sf_delta_phi
} "Surface coordinate descriptors"



CCTK_INT sf_shape_descriptors[nsurfaces] TYPE=scalar
{
  sf_ntheta sf_nphi
  sf_nghoststheta sf_nghostsphi
} "Surface shape descriptors"