smallbPoynET is an Einstein Toolkit thorn for computing the time-component of the fluid four-velocity, \(u^0\), the magnetic field measured by a comoving observer \(b^{\mu }\), and the Poynting vector \(S^i\).
We want to compute the time-component of the fluid four-velocity, \(u^0\), the magnetic field measured by a comoving observer \(b^{\mu }\), and the Poynting vector \(S^i\). We are given the ADMBase and HydroBase gridfunctions.
First, note that the magnetic field measured by a comoving observer, \(b^{\mu }\), is given by (see e.g., [1]) \begin {align} b^{0} &= \frac {1}{\sqrt {4\pi }}\frac {u_{j}B^{j}}{\alpha }\;,\\ b^{i} &= \frac {1}{\sqrt {4\pi }}\frac {B^{i} + \bigl (u_{j}B^{j}\bigr )u^{i}}{\alpha u^{0}}\;, \end {align}
where \(B^{i}\) are the spatial components of the magnetic field, \(u^{\mu }\) is the fluid four-velocity, and \(\alpha \) is the lapse function. Furthermore, the spatial components of the fluid four-velocity are given by \begin {equation} u^{i} = \alpha u^{0}\left (v^{i}-\beta ^{i}/\alpha \right )\;, \end {equation} where \(\beta ^{i}\) is the shift vector and \(v^{i}\) is the Valencia three-velocity. This means that all that we are missing in order to compute \(u^{i}\) and \(b^{\mu }\) is the time-component of the fluid four-velocity, \(u^{0}\).
Consider, thus, the definition of the Lorentz factor \(W\), \begin {equation} W = \frac {1}{\sqrt {1-\gamma _{ij}v^{i}v^{j}}}\;, \end {equation} where \(\gamma _{ij}\) is the physical spatial metric. Furthermore, consider the constraint \(u_{\mu }u^{\mu }=1\), from which we find \begin {equation} \begin {split} -1 &= g_{\mu \nu }u^{\mu }u^{\nu }\\ &= g_{00}u^{0}u^{0} + 2g_{0i}u^{0}u^{i} + g_{ij}u^{i}u^{j}\\ &= \left (-\alpha ^{2}+\beta _{\ell }\beta ^{\ell }\right )\left (u^{0}\right )^{2} + 2u^{0}\beta _{i}\left [\alpha u^{0}\left (v^{i}-\frac {\beta ^{i}}{\alpha }\right )\right ] + \gamma _{ij}\left [\alpha u^{0}\left (v^{i}-\frac {\beta ^{i}}{\alpha }\right )\right ]\left [\alpha u^{0}\left (v^{j}-\frac {\beta ^{j}}{\alpha }\right )\right ]\\ &= -\left (\alpha u^{0}\right )^{2}\left (1 - \gamma _{ij}v^{i}v^{j}\right )\;, \end {split} \end {equation} where we have used the ADM decomposition of the spacetime metric \begin {equation} g_{\mu \nu } = \begin {pmatrix} -\alpha ^{2}+\beta _{\ell }\beta ^{\ell } & \beta _{i}\\ \beta _{j} & \gamma _{ij} \end {pmatrix}\;. \end {equation} Therefore we find that \begin {equation} W^{2} = \frac {1}{1-\gamma _{ij}v^{i}v^{j}} = \left (\alpha u^{0}\right )^{2} \implies u^{0} = W/\alpha \;. \end {equation} Therefore after computing \(W\) using the ADMBase and HydroBase variables, we are able to compute \(u^{0}\) and therefore \(u^{i}\) and \(b^{\mu }\).
The Poynting vector, \(S^{i}\), is computed using Eq. (11) in [2] but adopting the sign convention of [3], i.e., \begin {equation} S^{i} \equiv -\alpha T^{i}_{\rm EM} = -\alpha \left (b^{2}u^{i}u_{0} + \frac {1}{2}b^{2}g^{i}_{\ 0} - b^{i}b_{0}\right )\;, \end {equation} where \(b^{2}\equiv b_{\mu }b^{\mu }\).
In other to use the smallbPoynET thorn, the user must activate it in the parfile and specify the frequency in which the quantities above are computed. Note that by default the frequency is set to zero, which effectively disables the thorn. If you are using thorns that evolves gridfunctions other than those defined by ADMBase or HydroBase, then you must make sure to convert your gridfunctions to the ones used by this thorn when before calling it.
Adding the following lines to your parfile will activate this thorn and trigger the computation of \(u^{0}\), \(b^{\mu }\), and \(S^{i}\) once every 16 time steps.
ActiveThorns = "smallbPoynET" # Configure thorn to compute u^{0}, b^{mu}, and S^{i} every 16 time steps smallbPoynET::smallbPoynET_compute_every = 16
[1] M.D. Duez, Y.T. Liu, S.L. Shapiro, & B.C. Stephens, Relativistic magnetohydrodynamics in dynamical spacetimes: Numerical methods and tests, Physical Review D, 72, 2, 024028 (2005).
[2] B. J. Kelly, J. G. Baker, Z. B. Etienne, B. Giacomazzo, & J. Schnittman, Prompt electromagnetic transients from binary black hole mergers, Physical Review D, 96(12), 123003 (2017).
[3] B. D. Farris, R. Gold, V. Paschalidis, Z. B. Etienne, & S. L. Shapiro, Binary black-hole mergers in magnetized disks: simulations in full general relativity, Physical Review Letters, 109(22), 221102 (2012).
enable_warning | Scope: private | INT |
Description: Warn if regrid_every divided by smallbPoynET_compute_every is not an integer >=
1. You may see AMR artifacts otherwise!
| ||
Range | Default: 1 | |
0:1 | zero (disable) or one (enable)
| |
smallbpoynet_compute_every | Scope: private | INT |
Description: How often to compute smallbPoyn?
| ||
Range | Default: (none) | |
0:100000 | zero (disable computation) or some other number (1 = every iteration)
| |
timelevels | Scope: shared from HYDROBASE | INT |
Implements:
smallbpoynet
Inherits:
grid
hydrobase
admbase
Group Names | Variable Names | Details | |
smallbpoynetgfs | compact | 0 | |
smallbt | dimensions | 3 | |
smallbx | distribution | DEFAULT | |
smallby | group type | GF | |
smallbz | tags | InterpNumTimelevels=1 prolongation=”none” Checkpoint=”no” | |
smallb2 | timelevels | 1 | |
Poynx | variable type | REAL | |
This section lists all the variables which are assigned storage by thorn WVUThorns_Diagnostics/smallbPoynET. 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: | |
smallbPoynETGFs | |
ADMBase::metric[metric_timelevels] ADMBase::curv[metric_timelevels] ADMBase::lapse[lapse_timelevels] ADMBase::shift[shift_timelevels] | |
HydroBase::rho[timelevels] HydroBase::press[timelevels] HydroBase::eps[timelevels] HydroBase::vel[timelevels] HydroBase::Bvec[timelevels] | |
CCTK_ANALYSIS
compute_bi_b2_poyn_fluxet
set bu, b, and poynting flux gridfunctions.
Before: | volumeintegralgroup | |
Language: | c | |
Options: | global-early | |
loop-local | ||
Type: | function | |