aboutsummaryrefslogtreecommitdiff
path: root/interface.ccl
blob: e49b5adf0262cda7ab39f1e96b3533733c589cfc (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
# Interface definition for thorn SphericalSurface
# $Header$

IMPLEMENTS: SphericalSurface



PUBLIC:

# to be defined by the setting thorn
CCTK_INT sf_valid[nsurfaces] TYPE=scalar



CCTK_REAL sf_info[nsurfaces] TYPE=scalar
{
  # monopole moment; M := sqrt(A / 4pi)   with A := int(S) r^2 dS
  sf_mean_radius
  sf_min_radius sf_max_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

  # 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"