Calculate quasi-local measures such as masses, momenta, or angular momenta and related quantities on closed two-dimentional surfaces, including on horizons.
The module QuasiLocalMeasures implements the calculation of mass and spin multipoles from the isolated and dynamical horizon formalism [1, 2], as well as a number of other proposed formulæ for quasilocal mass, linear momentum and angular momentum that have been advanced over the years [3]. Even though there are only a few rigorous proofs that establish the properties of these latter quantities, they have been demonstrated to be surprisingly helpful in numerical simulations (see, e.g., [4]), and are therefore an indispensable tool in numerical relativity. QuasiLocalMeasures takes as input a horizon surface, or any other surface that the user specifies (like a large coordinate sphere) and can calculate useful quantities such as the Weyl or Ricci scalars or the three-volume element of the horizon world tube in addition to physical observables such as mass and momenta.
The Weyl tensor \(C_{\alpha \beta \gamma \delta }\) is defined as the traceless part of the Riemann tensor \(R_{\alpha \beta \gamma \delta }\)
where \({\Gamma ^{\alpha }}_{\beta \gamma }\), \({R^\beta }_\delta \) and \(R\) are the Christoffel symbols, Ricci tensor and Riemann scalar respectively [6]. Its self-dual is \begin {equation} \tilde C_{\alpha \beta \gamma \delta } = C_{\alpha \beta \gamma \delta } + (i/2)\epsilon _{\alpha \beta \mu \nu } {C^{\mu \nu }}_{\gamma \delta }. \end {equation}
The curvature invariants \(\mathcal {I}\) (qlm_i) and \(\mathcal {J}\) (qlm_j) are defined in terms of the self-dual of the Weyl tensor [5] \begin {equation} \mathcal {I} = \tilde C_{\alpha \beta \gamma \delta } \tilde C^{\alpha \beta \gamma \delta } \qquad \mbox {and}\qquad \mathcal {J} = \tilde C_{\alpha \beta \gamma \delta } {\tilde C^{\gamma \delta }}_{\mu \nu } \tilde C^{\mu \nu \alpha \beta }. \end {equation}
[NOTE: Ignore the stuff below. You can do that much easier.]
The papers about dynamical horizons contain integrals over the 3D horizon world tube, expressed e.g. as
where \(X\) is some quantity that lives on the horizon. These integrals have to be transformed into a \(2+1\) form so that they can be conveniently evaluated, e.g. as
where \(d^2S\) is the area element on the horizon cross section contained in \(\Sigma \), and \(dt\) is the coordinate time differential. The factor \(A\) should contain the extra terms due to this coordinate transformation.
Starting from the \(3\)-volume element \(d^3V\), let us first decompose it into the \(2\)-volume element \(d^2S\) and a “time” coordinate on the horizon, which we call \(\sigma \). Note that \(\sigma \) will generally be a spacelike coordinate for dynamical horizons. Let \(\mathbf {Q}\) be the induced \(3\)-metric on the horizon, and \(\mathbf {q}\) be the induced \(2\)-metric on the cross section. Then it is
because \(d^2S = \sqrt {\det q}\, d\theta \, d\phi \).
The coordinate time differential \(dt\) and the differential \(d\sigma \) will in general not be aligned because the horizon world tube will in general not have a static coordinate shape. It is
where \(s\) is a radial coordinate perpendicular to the horizon and also perpendicular to \(t\), and \(\tau \) is perpendicular to \(\sigma \) and lies in the plan spanned by \(t\) and \(s\). \(\tau \) and \(\sigma \) are depend on \(t\) and \(s\) via a Lorentz boost. Thus we have
Putting everything together we arrive at
Starting from
we find, since the radius \(R\) changes only in the \(\sigma \) direction,
If we assume \(\partial _\tau R = 0\) and write \(\partial _t R = \dot R\), and use the relations between \(\sigma \) and \(t\) from above, we get
[NOTE: but \(\partial _t \alpha \ne 0\).] and therefore
Additionally we have \(g^{\sigma \sigma } = g^{ab} \sigma _a \sigma _b = g_{ab} \sigma ^a \sigma ^b\) where \(\sigma ^a\) is the unit vector in the \(\sigma \) direction, i.e.
In order to use the QuasiLocalMeasures thorn on existing data (postprocessing), the following procedure is necessary.
Computing time-independent quantities.
The 3-metric and the extrinsic curvature must be available in HDF5 files.
Set up a parameter file for a grid structure that contains the region around the horizon. The refinement level structure and grid spacing etc. needs to be the same as in the HDF5 files, but the grids can be much smaller. You can also leave out some finer grids, i.e., reduce the number of levels. However, the coarse grid spacing must remain the same. The symmetries must also be the same.
Use the file reader and thorn AEIThorns/IDFileADM to read in the ADM variables from the files. The parameter file does not need to activate BSSN_MoL or any time evolution mechanism. IDFileADM acts as provider for initial data, so you don’t need any other initial data either.
Set up your parameter file so that the AH finder runs, stores the horizon shape in
SphericalSurface, and QuasiLocalMeasures accesses these data.
This gives you the time-independent variables on the horizon, i.e., mostly the spin. It also allows you to look for apparent horizons if you don’t know where they are.
Computing time-independent quantities, e.g. 3-determinant of the horizon
Performing some time steps is necessary. Either read in lapse and shift from files, or set them arbitrarily (e.g. lapse one, shift zero).
Activate a time evolution thorn, i.e., BSSN_MoL, MoL, Time, etc. In order to fill the past time levels, just choose MoL::initial_data_is_crap. If you have hydrodynamics, read in the hydro variables as well.
Only two time steps are required. Remember that the output of QuasiLocalMeasures for iteration 0 and 1 are incorrect or very inaccurate, since the past time levels are not correct, and hence the time derivatives that QuasiLocalMeasures calculates are wrong. However, iteration 2 should be good. (One could also perform 5 iterations and cross-check.)
If data for the extrinsic curvature is not available, but those for the 3-metric, lapse, and shift for consecutive time steps are (that is, if you have data suitable for finding event horizons), then one needs to reconstruct the extrinsic curvature first. There is a thorn AEIThorns/CalcK that helps with that. It reads the data for the 4-metric timestep after timestep, calculates the time derivative of the 3-metric through finite differencing in time, and then determines the extrinsic curvature from that, and writes it to a file. Once you have it, you can go on as above. CalcK has a small shell script that tells you what to do.
In general, things become more interesting if a static conformal factor is involved (since more variables are present), especially if it is output only once (since it is static), which means that one has to mix variables from different time steps.
The thorns involved in this procedure have some examples. In general, this is NOT a “just do it” action; you have to know what you are doing, since you have to put the pieces together in your parameter file and make sure that everything is consistent. We may have a vision that you just call a script in a directory that contains output files and the script figures out everything else, but we’re not there yet. All the ingredients are there, but you’ll have to put them together in the right way. Think Lego.
2D output is given on a rectangular grid. This grid has coordinates which are regular and have a constant spacing in the \(\theta \) and \(\phi \) directions. Cactus output has only grid point indices, but does not contain the coordinates \(\theta \) and \(\phi \) themselves.
In gnuplot, one can define functions to convert indices to coordinates:
where \(g\theta \) and \(g\phi \) is the number of ghost points in the corresponding direction, and \(n\theta \) and \(n\phi \) the number of interior points. Here are the same equations in gnuplot syntax:
theta(i) = (i - nghosts + 0.5) * pi / ntheta phi(j) = (j - nghosts) * 2*pi / nphi
Usually, nghosts=2, ntheta=35, and nphi=72. i and j are is the integer grid point indices. Note that ntheta and nphi in the parameter file include ghost zones, while their definitions here do not include them. In general, nphi is even and ntheta is odd, because the points are staggered about the poles.
A test plot shows whether the plot is symmetric about \(\pi /2\) in the \(\theta \) and \(\pi \) in the \(\phi \) direction. Also, plotting something axisymmetric with bitant symmetry vs. \(\theta \) and vs. \(\pi -\theta \), and vs. \(\phi \) and \(2\pi -\phi \), should lie exactly on top of each other.
There are also scalars origin/delta_theta/phi which one can use in the above equations. Then the equations read
theta(i) = (i + origin_theta) * delta_theta phi(j) = (j + origin_phi) * delta_phi
but, of course, these four quantities are all irrational and don’t look nice.
[1] O. Dreyer, B. Krishnan, D. Shoemaker and E. Schnetter, Phys. Rev. D 67, 024018 (2003) doi:10.1103/PhysRevD.67.024018 [gr-qc/0206008].
[2] E. Schnetter, B. Krishnan and F. Beyer, Phys. Rev. D 74, 024028 (2006) doi:10.1103/PhysRevD.74.024028 [gr-qc/0604015].
[3] L. B. Szabados, Living Rev. Rel. 7, 4 (2004).
[4] G. Lovelace et al., Phys. Rev. D 82, 064031 (2010) doi:10.1103/PhysRevD.82.064031 [arXiv:0907.0869 [gr-qc]].
[5] J. G. Baker, M. Campanelli and C. O. Lousto, Phys. Rev. D 65, 044001 (2002) doi:10.1103/PhysRevD.65.044001 [gr-qc/0104063].
[6] C. W. Misner, K. S. Thorne and J. A. Wheeler, San Francisco 1973, 1279p
begin_qlm_calculations_after | Scope: private | REAL |
Description: when should we start calculations?
| ||
Range | Default: 0.0 | |
*:* | at/after this time (inclusively)
| |
coordsystem | Scope: private | STRING |
Description: The coordinate system to use
| ||
Range | Default: cart3d | |
must be a registered coordinate system
| ||
interpolator | Scope: private | STRING |
Description: The interpolator to use
| ||
Range | Default: Lagrange polynomial interpolation | |
must be a registered interpolator
| ||
interpolator_options | Scope: private | STRING |
Description: Options for the interpolator
| ||
Range | Default: order=2 | |
must be a valid options specification
| ||
killing_vector_method | Scope: private | KEYWORD |
Description: Method for finding the Killing vector field
| ||
Range | Default: eigenvector | |
axial | Assume that d/dphi is a Killing vector
| |
eigenvector | Solve the Killing vector equation as eigenvector equation
| |
gradient | Calculate the normal to the gradient of a scalar
| |
killing_vector_normalisation | Scope: private | KEYWORD |
Description: Method for normalising the Killing vector field
| ||
Range | Default: average | |
average | Average several integral lines
| |
median | Use the median integral line
| |
num_surfaces | Scope: private | INT |
Description: Number of surfaces
| ||
Range | Default: 1 | |
0:100 | ||
output_vtk_every | Scope: private | INT |
Description: Output a VTK file with the main 2D
| ||
Range | Default: (none) | |
don’t output VTK file
| ||
1:* | output every so many iterations
| |
spatial_order | Scope: private | INT |
Description: Order of spatial differencing
| ||
Range | Default: 2 | |
2 | second order
| |
4 | fourth order
| |
surface_index | Scope: private | INT |
Description: Spherical surface that contains the surface shape
| ||
Range | Default: -1 | |
-1 | do not calculate
| |
0:* | surface index
| |
surface_name | Scope: private | STRING |
Description: Spherical surface that contains the surface shape
| ||
Range | Default: (none) | |
use surface_index
| ||
.* | surface name
| |
verbose | Scope: private | BOOLEAN |
Description: Produce log output while running
| ||
Default: no | ||
veryverbose | Scope: private | BOOLEAN |
Description: Produce much log output while running
| ||
Default: no | ||
auto_res | Scope: shared from SPHERICALSURFACE | BOOLEAN |
maxnphi | Scope: shared from SPHERICALSURFACE | INT |
maxntheta | Scope: shared from SPHERICALSURFACE | INT |
nghostsphi | Scope: shared from SPHERICALSURFACE | INT |
nghoststheta | Scope: shared from SPHERICALSURFACE | INT |
nphi | Scope: shared from SPHERICALSURFACE | INT |
nsurfaces | Scope: shared from SPHERICALSURFACE | INT |
ntheta | Scope: shared from SPHERICALSURFACE | INT |
symmetric_x | Scope: shared from SPHERICALSURFACE | BOOLEAN |
symmetric_y | Scope: shared from SPHERICALSURFACE | BOOLEAN |
symmetric_z | Scope: shared from SPHERICALSURFACE | BOOLEAN |
Implements:
quasilocalmeasures
Inherits:
admbase
sphericalsurface
tmunubase
Group Names | Variable Names | Details | |
qlm_state | compact | 0 | |
qlm_calc_error | description | Status information | |
qlm_have_valid_data | dimensions | 0 | |
qlm_have_killing_vector | distribution | CONSTANT | |
qlm_timederiv_order | group type | SCALAR | |
qlm_iteration | timelevels | 1 | |
vararray_size | num_surfaces | ||
variable type | INT | ||
qlm_state_p | compact | 0 | |
qlm_have_valid_data_p | description | Previous status information | |
qlm_have_valid_data_p_p | dimensions | 0 | |
qlm_have_killing_vector_p | distribution | CONSTANT | |
qlm_have_killing_vector_p_p | group type | SCALAR | |
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | INT | ||
qlm_grid_int | compact | 0 | |
qlm_nghoststheta | description | Grid description | |
qlm_nghostsphi | dimensions | 0 | |
qlm_ntheta | distribution | CONSTANT | |
qlm_nphi | group type | SCALAR | |
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | INT | ||
qlm_grid_real | compact | 0 | |
qlm_origin_x | description | Grid description | |
qlm_origin_y | dimensions | 0 | |
qlm_origin_z | distribution | CONSTANT | |
qlm_origin_theta | group type | SCALAR | |
qlm_origin_phi | timelevels | 1 | |
qlm_delta_theta | vararray_size | num_surfaces | |
qlm_delta_phi | variable type | REAL | |
qlm_grid_real_p | compact | 0 | |
qlm_origin_x_p | description | Previous grid description | |
qlm_origin_y_p | dimensions | 0 | |
qlm_origin_z_p | distribution | CONSTANT | |
qlm_origin_x_p_p | group type | SCALAR | |
qlm_origin_y_p_p | timelevels | 1 | |
qlm_origin_z_p_p | vararray_size | num_surfaces | |
variable type | REAL | ||
qlm_shapes | compact | 0 | |
qlm_shape | description | Shape of the surface | |
dimensions | 2 | ||
distribution | CONSTANT | ||
group type | ARRAY | ||
size | SPHERICALSURFACE::MAXNTHETA | ||
size | SPHERICALSURFACE::MAXNPHI | ||
tags | convergence_power=1 | ||
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
Group Names | Variable Names | Details | |
qlm_shapes_p | compact | 0 | |
qlm_shape_p | description | Previous shapes of the surface | |
qlm_shape_p_p | dimensions | 2 | |
distribution | CONSTANT | ||
group type | ARRAY | ||
size | SPHERICALSURFACE::MAXNTHETA | ||
size | SPHERICALSURFACE::MAXNPHI | ||
tags | convergence_power=1 | ||
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
qlm_coordinates | compact | 0 | |
qlm_x | description | Cartesian coordinates of the grid points on the surface | |
qlm_y | dimensions | 2 | |
qlm_z | distribution | CONSTANT | |
group type | ARRAY | ||
size | SPHERICALSURFACE::MAXNTHETA | ||
size | SPHERICALSURFACE::MAXNPHI | ||
tags | convergence_power=1 | ||
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
qlm_coordinates_p | compact | 0 | |
qlm_x_p | description | Past Cartesian coordinates of the grid points on the surface | |
qlm_y_p | dimensions | 2 | |
qlm_z_p | distribution | CONSTANT | |
qlm_x_p_p | group type | ARRAY | |
qlm_y_p_p | size | SPHERICALSURFACE::MAXNTHETA | |
size | SPHERICALSURFACE::MAXNPHI | ||
qlm_z_p_p | tags | convergence_power=1 | |
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
qlm_tetrad_l | compact | 0 | |
qlm_l0 | description | Tetrad vector lu | |
qlm_l1 | dimensions | 2 | |
qlm_l2 | distribution | CONSTANT | |
qlm_l3 | group type | ARRAY | |
size | SPHERICALSURFACE::MAXNTHETA | ||
size | SPHERICALSURFACE::MAXNPHI | ||
tags | convergence_power=1 | ||
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
qlm_tetrad_n | compact | 0 | |
qlm_n0 | description | Tetrad vector nu | |
qlm_n1 | dimensions | 2 | |
qlm_n2 | distribution | CONSTANT | |
qlm_n3 | group type | ARRAY | |
size | SPHERICALSURFACE::MAXNTHETA | ||
size | SPHERICALSURFACE::MAXNPHI | ||
tags | convergence_power=1 | ||
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
qlm_tetrad_m | compact | 0 | |
qlm_m0 | description | Tetrad vector mu | |
qlm_m1 | dimensions | 2 | |
qlm_m2 | distribution | CONSTANT | |
qlm_m3 | group type | ARRAY | |
size | SPHERICALSURFACE::MAXNTHETA | ||
size | SPHERICALSURFACE::MAXNPHI | ||
tags | convergence_power=1 | ||
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | COMPLEX | ||
Group Names | Variable Names | Details | |
qlm_newman_penrose | compact | 0 | |
qlm_npkappa | description | Newman-Penrose quantities | |
qlm_nptau | dimensions | 2 | |
qlm_npsigma | distribution | CONSTANT | |
qlm_nprho | group type | ARRAY | |
qlm_npepsilon | size | SPHERICALSURFACE::MAXNTHETA | |
size | SPHERICALSURFACE::MAXNPHI | ||
qlm_npgamma | tags | Checkpoint=”no” | |
tags | convergence_power=1 | ||
qlm_npbeta | timelevels | 1 | |
qlm_npalpha | vararray_size | num_surfaces | |
qlm_nppi | variable type | COMPLEX | |
qlm_weyl_scalars | compact | 0 | |
qlm_psi0 | description | Weyl scalars (aka Newman-Penrose spin coefficients) | |
qlm_psi1 | dimensions | 2 | |
qlm_psi2 | distribution | CONSTANT | |
qlm_psi3 | group type | ARRAY | |
qlm_psi4 | size | SPHERICALSURFACE::MAXNTHETA | |
size | SPHERICALSURFACE::MAXNPHI | ||
qlm_i | tags | Checkpoint=”no” | |
tags | convergence_power=1 | ||
qlm_j | timelevels | 1 | |
qlm_s | vararray_size | num_surfaces | |
qlm_sdiff | variable type | COMPLEX | |
qlm_ricci_scalars | compact | 0 | |
qlm_phi00 | description | Ricci scalars | |
qlm_phi11 | dimensions | 2 | |
qlm_phi01 | distribution | CONSTANT | |
qlm_phi12 | group type | ARRAY | |
qlm_phi10 | size | SPHERICALSURFACE::MAXNTHETA | |
size | SPHERICALSURFACE::MAXNPHI | ||
qlm_phi21 | tags | Checkpoint=”no” | |
tags | convergence_power=1 | ||
qlm_phi02 | timelevels | 1 | |
qlm_phi22 | vararray_size | num_surfaces | |
qlm_phi20 | variable type | REAL | |
qlm_twometric | compact | 0 | |
qlm_qtt | description | 2-metric | |
qlm_qtp | dimensions | 2 | |
qlm_qpp | distribution | CONSTANT | |
qlm_rsc | group type | ARRAY | |
size | SPHERICALSURFACE::MAXNTHETA | ||
size | SPHERICALSURFACE::MAXNPHI | ||
tags | Checkpoint=”no” | ||
tags | convergence_power=1 | ||
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
qlm_killing_vector | compact | 0 | |
qlm_xi_t | description | Killing vector field | |
qlm_xi_p | dimensions | 2 | |
qlm_chi | distribution | CONSTANT | |
group type | ARRAY | ||
size | SPHERICALSURFACE::MAXNTHETA | ||
size | SPHERICALSURFACE::MAXNPHI | ||
tags | convergence_power=1 | ||
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
qlm_killed_twometric | compact | 0 | |
qlm_lqtt | description | Lie derivative of the 2-metric along the Killing vector field | |
qlm_lqtp | dimensions | 2 | |
qlm_lqpp | distribution | CONSTANT | |
group type | ARRAY | ||
size | SPHERICALSURFACE::MAXNTHETA | ||
size | SPHERICALSURFACE::MAXNPHI | ||
tags | Checkpoint=”no” | ||
tags | convergence_power=1 | ||
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
Group Names | Variable Names | Details | |
qlm_invariant_coordinates | compact | 0 | |
qlm_inv_z | description | Invariant coordinates on the surface | |
description | assuming axisymmetry | ||
dimensions | 2 | ||
distribution | CONSTANT | ||
group type | ARRAY | ||
size | SPHERICALSURFACE::MAXNTHETA | ||
size | SPHERICALSURFACE::MAXNPHI | ||
tags | Checkpoint=”no” | ||
tags | convergence_power=1 | ||
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
qlm_multipole_moments | compact | 0 | |
qlm_mp_m0 | description | Mass and spin multipole moments | |
qlm_mp_m1 | dimensions | 0 | |
qlm_mp_m2 | distribution | CONSTANT | |
qlm_mp_m3 | group type | SCALAR | |
qlm_mp_m4 | tags | Checkpoint=”no” | |
qlm_mp_m5 | timelevels | 1 | |
qlm_mp_m6 | vararray_size | num_surfaces | |
qlm_mp_m7 | variable type | REAL | |
qlm_3determinant | compact | 0 | |
qlm_3det | description | 3-Determinant of H for a special choice of the triad | |
dimensions | 2 | ||
distribution | CONSTANT | ||
group type | ARRAY | ||
size | SPHERICALSURFACE::MAXNTHETA | ||
size | SPHERICALSURFACE::MAXNPHI | ||
tags | Checkpoint=”no” | ||
tags | convergence_power=1 | ||
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
qlm_scalars | compact | 0 | |
qlm_time | description | Scalar quantities on the surface | |
qlm_equatorial_circumference | dimensions | 0 | |
qlm_polar_circumference_0 | distribution | CONSTANT | |
qlm_polar_circumference_pi_2 | group type | SCALAR | |
qlm_area | timelevels | 1 | |
qlm_irreducible_mass | vararray_size | num_surfaces | |
qlm_radius | variable type | REAL | |
qlm_scalars_p | compact | 0 | |
qlm_time_p | description | Some scalar quantities on the surface at previous times | |
qlm_time_p_p | dimensions | 0 | |
qlm_radius_p | distribution | CONSTANT | |
qlm_radius_p_p | group type | SCALAR | |
timelevels | 1 | ||
vararray_size | num_surfaces | ||
variable type | REAL | ||
This section lists all the variables which are assigned storage by thorn EinsteinAnalysis/QuasiLocalMeasures. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.
Always: | |
qlm_state qlm_scalars | |
qlm_state_p qlm_scalars_p | |
qlm_grid_int qlm_grid_real qlm_grid_real_p | |
qlm_shapes qlm_tetrad_l qlm_tetrad_n qlm_tetrad_m | |
qlm_shapes_p | |
qlm_killing_vector | |
qlm_coordinates qlm_coordinates_p | |
qlm_newman_penrose qlm_weyl_scalars | |
qlm_ricci_scalars qlm_twometric qlm_killed_twometric | |
qlm_invariant_coordinates qlm_multipole_moments qlm_3determinant | |
CCTK_PARAMCHECK
qlm_paramcheck
check quasi-local parameter settings
Language: | fortran | |
Options: | global | |
Type: | function | |
CCTK_INITIAL
qlm_init
initialise quasi-local calculations
Language: | fortran | |
Options: | global | |
Type: | function | |
CCTK_ANALYSIS
qlm_calculate
calculate quasi-local quantities
After: | sphericalsurface_hasbeenset | |
settmunu | ||
Language: | fortran | |
Options: | global | |
Storage: | qlm_coordinates | |
qlm_coordinates_p | ||
qlm_newman_penrose | ||
qlm_weyl_scalars | ||
qlm_ricci_scalars | ||
qlm_twometric | ||
qlm_killed_twometric | ||
qlm_invariant_coordinates | ||
qlm_multipole_moments | ||
qlm_3determinant | ||
Triggers: | qlm_state | |
qlm_grid_int | ||
qlm_grid_real | ||
qlm_shapes | ||
qlm_tetrad_l | ||
qlm_tetrad_n | ||
qlm_tetrad_m | ||
qlm_coordinates | ||
qlm_newman_penrose | ||
qlm_weyl_scalars | ||
qlm_ricci_scalars | ||
qlm_twometric | ||
qlm_killing_vector | ||
qlm_killed_twometric | ||
qlm_invariant_coordinates | ||
qlm_multipole_moments | ||
qlm_3determinant | ||
qlm_scalars | ||
Type: | function | |