function declarations for global use of tetrad.c functions More...
Go to the source code of this file.
Functions | |
void | make_tetr (FTYPE *ucon, FTYPE(*econ)[NDIM]) |
int | tetr_func (int inputtype, FTYPE *gcov, FTYPE(*tetr_cov)[NDIM], FTYPE(*tetr_con)[NDIM], FTYPE eigenvalues[]) |
input gcov and get out orthonormal tetrad in covariant and contravariant forms if metrictype, assume gcov is inputted as simplest as user could (e.g. More... | |
int | tetr_func_frommetric (int primcoord, FTYPE(*dxdxp)[NDIM], FTYPE *gcov, FTYPE(*tetrcov)[NDIM], FTYPE(*tetrcon)[NDIM], FTYPE eigenvalues[]) |
find suitable orthonormal tetrad wrapper for tetr_func(). More... | |
int | calc_ORTHOes (int primcoord, struct of_geom *ptrgeom, FTYPE tmuup[][NDIM], FTYPE tmudn[][NDIM]) |
Notes: More... | |
int | calc_generalized_boost_uu (struct of_geom *ptrgeom, FTYPE *wcon, FTYPE *ucon, FTYPE(*lambda)[NDIM]) |
Compute general Lorentz boost for an arbitrary metric and arbitrary 4-velocities see docs/lorentz.ps.gz by Avery Broderick Lambda^[w]_[u] u^ = w^ [Corresponding to boost into fluid frame] Lambda^[w]_[u] w_ = u_ [Corresponding to boost from fluid frame] (iLambda)^[u]_[w] u_ = w_ [Corresponding to boost into fluid frame] (iLambda)^[u]_[w] w^ = u^ [Corresponding to boost from fluid frame] So if going from w->u (i.e. More... | |
int | calc_ortho_boost_uu (FTYPE *wcon, FTYPE *ucon, FTYPE(*lambda)[NDIM]) |
calculate boost assuming in orthonormal basis where g_{}={} = diag(-1,0,0,0) NOTEMARK: Orthonormal does not mean in Cartesian coordinates! If metric was originally in SPC Mink or SPC KS, then final metric is diag(-1,0,0,0) but is still SPC. More... | |
int | transboost_lab2fluid (int lab2orthofluid, int primcoord, struct of_geom *ptrgeom, FTYPE *uconlab, FTYPE(*transboostup)[NDIM], FTYPE(*transboostlo)[NDIM]) |
use lab frame contravariant 4-velocity (uconlab) and get transformation matrix for going to orthonormal basis (same base coordinate system: e.g. More... | |
int | vector_lab2orthofluidorback (int primcoord, int lab2orthofluid, struct of_geom *ptrgeom, int uconcovtype, FTYPE *uconcov, FTYPE v4concovtype, FTYPE *vector4in, FTYPE *vector4out) |
convert 4-vector to/from lab-frame coordinate basis to fluid frame orthonormal basis More... | |
int | tensor_lab2orthofluidorback (int primcoord, int lab2orthofluid, struct of_geom *ptrgeom, int uconcovtype, FTYPE *uconcov, int tconcovtypeA, int tconcovtypeB, FTYPE(*tensor4in)[NDIM], FTYPE(*tensor4out)[NDIM]) |
convert lab frame 4-tensor to fluid frame orthonormal 4-tensor More... | |
void | vecX2vecVortho (int concovtype, struct of_geom *ptrgeom, FTYPE *vec, FTYPE *vecortho) |
Use as, e.g. More... | |
int | vector_harm2orthofluidorback (int whichvector, int harm2orthofluid, struct of_geom *ptrgeom, int uconcovtype, FTYPE *uconcov, FTYPE v4concovtype, FTYPE *vector4in, FTYPE *vector4out) |
Wrapper for vector_lab2orthofluidorback() More... | |
function declarations for global use of tetrad.c functions
Definition in file tetrad.funcdeclare.h.
int calc_generalized_boost_uu | ( | struct of_geom * | ptrgeom, |
FTYPE * | wcon, | ||
FTYPE * | ucon, | ||
FTYPE(*) | lambda[NDIM] | ||
) |
Compute general Lorentz boost for an arbitrary metric and arbitrary 4-velocities see docs/lorentz.ps.gz by Avery Broderick Lambda^[w]_[u] u^ = w^ [Corresponding to boost into fluid frame] Lambda^[w]_[u] w_ = u_ [Corresponding to boost from fluid frame] (iLambda)^[u]_[w] u_ = w_ [Corresponding to boost into fluid frame] (iLambda)^[u]_[w] w^ = u^ [Corresponding to boost from fluid frame] So if going from w->u (i.e.
FF2LAB) frame for vecff^ , then apply (iLambda)^ vecff^nu = veclab^ So if going from u->w (i.e. LAB2FF) frame for veclab^ , then apply Lambda ^ veclab^nu = vecff^ All this assumes iLambda was formed from matrix_inverse() that gives inverse transpose
calculate boost assuming in orthonormal basis where g_{}={} = diag(-1,0,0,0) NOTEMARK: Orthonormal does not mean in Cartesian coordinates! If metric was originally in SPC Mink or SPC KS, then final metric is diag(-1,0,0,0) but is still SPC.
Have to do SPC->Cart conversion (see, e.g., jon_interp stuff) to get to Cartesian.
Definition at line 594 of file tetrad.c.
int calc_ORTHOes | ( | int | primcoord, |
struct of_geom * | ptrgeom, | ||
FTYPE | tmuup[][NDIM], | ||
FTYPE | tmudn[][NDIM] | ||
) |
Notes:
dxdxp = dV^i/dX^k = ^i_k idxdxp = inverse and tranpose of dxdxp = dX^k/dV^i = (iLambda)^k_i Tetrcon_k^j [first index ortho, second index lab] Tetrcov^k_j [first index ortho, second index lab (i.e. not transposed!)]
calculates base vectors and 1-forms of ORTHO to transform lab <–> ORTHO primcoord: 0 = false 1 = true, then probably want to remove known dxdxp that twisted-up the coordinates tmuup : LAB2ORTHO tmudn : ORTHO2LAB
Definition at line 390 of file tetrad.c.
int tensor_lab2orthofluidorback | ( | int | primcoord, |
int | lab2orthofluid, | ||
struct of_geom * | ptrgeom, | ||
int | uconcovtype, | ||
FTYPE * | uconcov, | ||
int | tconcovtypeA, | ||
int | tconcovtypeB, | ||
FTYPE(*) | tensor4in[NDIM], | ||
FTYPE(*) | tensor4out[NDIM] | ||
) |
convert lab frame 4-tensor to fluid frame orthonormal 4-tensor
lab2orthofluid: LAB2FF : lab2orthofluid FF2LAB: orthofluid 2 lab uconcovtype: TYPEUCON=uconcov is ucon or TYPEUCOV=uconcov is ucov for fluid 4-velocity uconcov is in lab-frame as 4-vector of fluid tconcovtypeA: for 1st index of tensor: TYPEUCON=tconcov is con or TYPEUCOV=tconcov is cov tconcovtypeB: for 2nd index of tensor: TYPEUCON=tconcov is con or TYPEUCOV=tconcov is cov tensor4in : input lab-frame as 4-tensor tensor4out is returned orthonormal fluid frame 4-tensor (same tconcovtypeA and tconcovtypeB as tensor4in) NOTEMARK: If insert uconcov as ZAMO, then no boost, so can then use this for just lab2ortho and back
Definition at line 907 of file tetrad.c.
int tetr_func_frommetric | ( | int | primcoord, |
FTYPE(*) | dxdxp[NDIM], | ||
FTYPE * | gcov, | ||
FTYPE(*) | tetrcov[NDIM], | ||
FTYPE(*) | tetrcon[NDIM], | ||
FTYPE | eigenvalues[] | ||
) |
find suitable orthonormal tetrad wrapper for tetr_func().
This converts metric using dxdxp so likely simpler form easier to match mathematica version with
Definition at line 18 of file tetrad.c.
int transboost_lab2fluid | ( | int | lab2orthofluid, |
int | primcoord, | ||
struct of_geom * | ptrgeom, | ||
FTYPE * | uconlab, | ||
FTYPE(*) | transboostup[NDIM], | ||
FTYPE(*) | transboostlo[NDIM] | ||
) |
use lab frame contravariant 4-velocity (uconlab) and get transformation matrix for going to orthonormal basis (same base coordinate system: e.g.
SPC, does not convert to Cartesian) or back NOTEMARK: If set uconlab=uconZAMO, then no boost and just does Xlab2Vortho
Definition at line 626 of file tetrad.c.
int vector_harm2orthofluidorback | ( | int | whichvector, |
int | harm2orthofluid, | ||
struct of_geom * | ptrgeom, | ||
int | uconcovtype, | ||
FTYPE * | uconcov, | ||
FTYPE | v4concovtype, | ||
FTYPE * | vector4in, | ||
FTYPE * | vector4out | ||
) |
Wrapper for vector_lab2orthofluidorback()
Correct for HARM tensor quantities that have implicit component set to (e.g.) t, which makes it ambiguous what frame that was measured in.
whichvector:
TYPEUCOV : T^t_ type, so that T^t_ = -[E_]/(-) = -[- T^] /(-) . So that E_t is negative definite in Minkowski. T^{t} type, so that T^{t} = -[E^]/(-) = -[- T^{}]/(-) . So that E^t is positive definite in Minkowski.
TYPEUCON: B^i = *F^{it} type, so that B^i = *F^{it}[HARMLAB] = -[B^]/(-) = -[ *F^{}]/(-) B_i = *F_i^t type , so that B_i = *F_i^t[HARMLAB] = -[B_]/(-) = -[ *F^] /(-) primcoord=1 assumed because if "harm" then assuming PRIMCOORD coordinates that used dxdxp
Definition at line 764 of file tetrad.c.
int vector_lab2orthofluidorback | ( | int | primcoord, |
int | lab2orthofluid, | ||
struct of_geom * | ptrgeom, | ||
int | uconcovtype, | ||
FTYPE * | uconcov, | ||
FTYPE | v4concovtype, | ||
FTYPE * | vector4in, | ||
FTYPE * | vector4out | ||
) |
convert 4-vector to/from lab-frame coordinate basis to fluid frame orthonormal basis
lab2orthofluid : LAB2FF = then vector4 is lab and vector4out is fluid ortho. FF2LAB = orthofluid 2 lab uconcovtype: TYPEUCON=uconcov is ucon or TYPEUCOV=uconcov is ucov for fluid 4-velocity uconcov is in lab-frame as 4-vector of fluid v4concovtype: TYPEUCON=vector4 is ucon or TYPEUCOV=vector4 is ucov for 4-vector to transform vector4in : inserted 4-vector to transform vector4out : returned orthonormal fluid frame 4-vector (returned as same concov as input vector4in) NOTEMARK: If insert uconcov as ZAMO, then no boost, so can then use this for just lab2ortho and back NOTES: 1) "Lab" corresponds to value of uconcov in = (-,0,0,0) frame. 2) "HARMLAB" corresponds to "frame" used by harm. E.g. = - u^ / E_[harm] = - T^/ [MA or EM or RAD] B^[harm] = + *F^{}/ [i.e. B^i [lab] = *F^{it} is our choice of sign for the magnetic field] [[Note these are without {-g}]]
Definition at line 840 of file tetrad.c.
Use as, e.g.
: FTYPE vecvortho[NDIM]; concovtype=1; // contravariant input in vec[0-3] vecX2vecVortho(concovtype, vecv, vecvortho);
converts contravariant (concovtype=1 using tetrcov) or covariant (concovtype=2 using tetrcon) X-based vector into orthonormal V-based vector no boost here!
Definition at line 1003 of file tetrad.c.