Spheroidal 2-surfaces embedded in a time-slice of the 3+1 formalism. More...
#include <spheroid.h>
Public Member Functions | |
| Spheroid (const Map_af &map, double radius) | |
| The delta tensorial fields linked to Christoffel symbols. | |
| Spheroid (const Scalar &h_in, const Metric &gamij, const Sym_tensor &Kij) | |
Constructor of a spheroid embedded in a 3-slice (Time_slice ) of 3+1 formalism. | |
| Spheroid (const Spheroid &) | |
| Copy constructor. | |
| Spheroid (FILE *) | |
Constructor from a file (see sauve(FILE*) ). | |
| virtual | ~Spheroid () |
| Destructor. | |
| void | operator= (const Spheroid &) |
| Assignment to another Spheroid. | |
| void | set_ephi (const Scalar &) |
| Assigns the conformal Killing vector field to phi. | |
| const Scalar & | get_hsurf () const |
Returns the field h_surf. | |
| const Metric & | get_qab () const |
Returns the metric . | |
| const Scalar & | get_ricci () const |
Returns the 2-ricci scalar . | |
| const Sym_tensor & | get_hh () const |
Returns the symmetric tensor . | |
| const Sym_tensor & | get_qq () const |
returns the 3-d degenerate 2-metric | |
| const Tensor & | get_proj () const |
returns the 3-d projector on 2-surface | |
| const Tensor & | get_jac2d () const |
returns the 2-d jacobian of coordinate transformation | |
| const Scalar & | get_trk () const |
Returns the trace K on the 2-surface. | |
| const Vector & | get_ll () const |
Returns the vector . | |
| const Vector & | get_ss () const |
Returns the vector . | |
| const Vector & | get_ephi () const |
| Returns the conformal Killing symmetry vector on the 2-surface. | |
| const Sym_tensor & | get_jj () const |
Returns the symmetric tensor . | |
| const Scalar & | get_fff () const |
Returns the normalization scalar F. | |
| const Scalar & | get_ggg () const |
Returns the normalization scalar G. | |
| bool | get_issphere () const |
| Returns the flag saying whether or not the horizon is geometrically round. | |
| Scalar & | set_hsurf () |
Sets the field h_surf. | |
| Metric & | set_qab () |
Sets the modified metric (non degenerated) . | |
| Scalar & | set_ricci () |
Sets the 2-Ricci scalar . | |
| Sym_tensor & | set_qq () |
Sets the degenerated metric . | |
| Tensor & | set_proj () |
Sets the projector . | |
| Sym_tensor & | set_hh () |
Sets the symmetric tensor . | |
| Scalar & | set_trk () |
Sets the trace K on the 2-surface. | |
| Vector & | set_ll () |
Sets the vector . | |
| Vector & | set_ss () |
Sets the vector . | |
| Sym_tensor & | set_jj () |
Sets the symmetric tensor . | |
| Scalar & | set_fff () |
Sets the normalization factor F. | |
| Scalar & | set_ggg () |
Sets the normalization factor G. | |
| bool | set_issphere () |
| Sets the boolean linked to geometrical shape of the horizon. | |
| void | update_from_tslice (const Metric &gamij, const Sym_tensor &Kij) |
| Updates from the 3-slice data. | |
| const Scalar & | sqrt_q () const |
| Computes the normal vector field to the 2-surface. | |
| double | area () const |
| Computes the area of the 2-surface. | |
| double | angu_mom () const |
| Computes the angular momentum with respect to a divergence-free vector field tangent to the 2-surface. | |
| double | mass () const |
Computes the mass as defined from the calculus of angular momentum, done with respect to a divergence free tangent vector field . | |
| double | multipole_mass (const int order) const |
| Computes the mass multipole of a given order for the spheroid, assumed to be spherical. | |
| double | multipole_angu (const int order) const |
| Computes the angular multipole of a given order for the spheroid, assumed to be spherical. | |
| double | epsilon_A_minus_one () const |
| Computation of the refined Penrose parameter for axisymmetric spacetimes, and its difference wrt one. | |
| double | epsilon_P_minus_one () const |
| Computation of the classical Penrose parameter, and its difference wrt one. | |
| const Scalar & | theta_plus () const |
Computes the outgoing null expansion . | |
| const Scalar & | theta_minus () const |
Computes the ingoing null expansion . | |
| const Sym_tensor & | shear () const |
Computes the shear of the 2-surface . | |
| Tensor | derive_cov2dflat (const Tensor &uu) const |
| Computes the round covariant derivative on the spheroid. | |
| const Tensor & | delta () const |
| Computes the delta coefficients for covariant derivative. | |
| Tensor | derive_cov2d (const Tensor &uu) const |
| Computes the total covariant derivative on the spheroid. | |
| virtual void | sauve (FILE *) const |
| Save in a file. | |
Protected Member Functions | |
| virtual void | del_deriv () const |
| Deletes all the derived quantities. | |
| void | set_der_0x0 () const |
Sets to 0x0 all the pointers on derived quantities. | |
Protected Attributes | |
| Scalar | h_surf |
The location of the 2-surface as r = h_surf. | |
| Tensor | jac2d |
| The jacobian of the adaptation of coordinates (contravariant/covariant representation). | |
| Tensor | proj |
| The 3-d projector on the 2-surface (contravariant-covariant form). | |
| Sym_tensor | |
| The 3-d covariant degenerated 2-metric on the surface. | |
| Vector | ss |
| The adapted normal vector field to spheroid in the 3-slice. | |
| Vector | ephi |
The conformal Killing vector field on the 2-surface (set to by default to the axial vector associated with coordinate ). | |
| Metric | qab |
| Scalar | ricci |
Induced metric on the 2-surface . | |
| Sym_tensor | hh |
| The ricci scalar on the 2-surface. | |
| Scalar | trk |
| Trace K of the extrinsic curvature of the 3-slice. | |
| Vector | ll |
| Normal-tangent component of the extrinsic curvature of the 3-slice. | |
| Sym_tensor | jj |
| Tangent components of the extrinsic curvature of the 3-slice. | |
| Scalar | fff |
| Normalization function for the outgoing null vector l. | |
| Scalar | ggg |
| Normalization function for the ingoing null vector k. | |
| Scalar | zeta |
| bool | issphere |
| Flag to know whether the horizon is geometrically round or distorted. | |
| Scalar * | p_sqrt_q |
Surface element . | |
| double * | p_area |
| The area of the 2-surface. | |
| double * | p_angu_mom |
| The angular momentum. | |
| double * | p_mass |
| Mass defined from angular momentum. | |
| double * | p_multipole_mass |
| Mass multipole for the spheroid. | |
| double * | p_multipole_angu |
| Angular momentum multipole for the spheroid. | |
| double * | p_epsilon_A_minus_one |
| double * | p_epsilon_P_minus_one |
| Refined Penrose parameter, difference wrt one. | |
| Scalar * | p_theta_plus |
| Classical Penrose parameter, difference wrt one. | |
| Scalar * | p_theta_minus |
| Null ingoing expansion. | |
| Sym_tensor * | p_shear |
| The shear tensor. | |
| Tensor * | p_delta |
Friends | |
| ostream & | operator<< (ostream &, const Spheroid &) |
| Display. | |
Spheroidal 2-surfaces embedded in a time-slice of the 3+1 formalism.
()
Definition at line 80 of file spheroid.h.
| Spheroid::Spheroid | ( | const Map_af & | map, | |
| double | radius | |||
| ) |
The delta tensorial fields linked to Christoffel symbols.
Standard constructor. The input mapping must be defined on a mono-domain angular grid (see Mg3d::get_angu_mono_domain() for details).
Definition at line 90 of file spheroid.C.
References ephi, fff, Map::get_mg(), Mg3d::get_nr(), Mg3d::get_nzone(), Mg3d::get_type_r(), ggg, h_surf, hh, jac2d, jj, ll, proj, Tensor::set(), set_der_0x0(), Scalar::set_etat_zero(), Tensor::set_etat_zero(), Tensor::set_index_type(), ss, and trk.
| Spheroid::Spheroid | ( | const Scalar & | h_in, | |
| const Metric & | gamij, | |||
| const Sym_tensor & | Kij | |||
| ) |
Constructor of a spheroid embedded in a 3-slice (Time_slice ) of 3+1 formalism.
This is done from the Time_slice data.
| h_in | : the location of the surface r = h_in (WARNING:must be defined on a mono-domain angular grid) | |
| gamij | : the 3-metric on the 3-slice | |
| Kij | : the extrinsic curvature of the 3-slice (covariant representation) |
Definition at line 146 of file spheroid.C.
References Tensor::allocate_all(), Scalar::allocate_all(), Tensor::annule_domain(), area(), Valeur::c_cf, Valeur::coef(), Metric::con(), contract(), Metric::cov(), Scalar::dec_dzpuis(), del_deriv(), Scalar::derive_con(), Scalar::derive_cov(), Tensor::down(), ephi, fff, Mg3d::get_angu_1dom(), Map::get_bvect_spher(), Map::get_mg(), Metric::get_mp(), Tensor::get_mp(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Scalar::get_spectral_base(), Scalar::get_spectral_va(), ggg, Base_val::give_quant_numbers(), h_surf, hh, jac2d, jj, ll, Scalar::mult_cost(), proj, qq, Map::r, ricci, Metric::ricci(), Vector::set(), Tensor::set(), Itbl::set(), set_der_0x0(), Scalar::set_grid_point(), Tensor::set_index_type(), Scalar::set_spectral_va(), sqrt(), sqrt_q(), Scalar::srdsdt(), Scalar::srstdsdp(), ss, Vector::std_spectral_base(), Tensor::std_spectral_base(), Scalar::std_spectral_base(), Tensor::trace(), trk, Tensor::up(), Scalar::val_grid_point(), Map_radial::val_lx_jk(), Valeur::val_point_jk(), and Valeur::ylm().
| Spheroid::Spheroid | ( | const Spheroid & | sph_in | ) |
| Spheroid::Spheroid | ( | FILE * | ) |
Constructor from a file (see sauve(FILE*) ).
| Spheroid::~Spheroid | ( | ) | [virtual] |
| double Spheroid::angu_mom | ( | ) | const |
Computes the angular momentum with respect to a divergence-free vector field tangent to the 2-surface.
This is defined as
| phi | : the divergence-free vector field |
Definition at line 717 of file spheroid.C.
References contract(), Map::get_bvect_spher(), get_ephi(), Tensor::get_mp(), h_surf, Map_af::integrale_surface(), jac2d, ll, p_angu_mom, and sqrt_q().
| double Spheroid::area | ( | ) | const |
Computes the area of the 2-surface.
This is defined as
Definition at line 704 of file spheroid.C.
References Tensor::get_mp(), h_surf, Map_af::integrale_surface(), p_area, and sqrt_q().
| void Spheroid::del_deriv | ( | ) | const [protected, virtual] |
Deletes all the derived quantities.
Definition at line 646 of file spheroid.C.
References p_angu_mom, p_area, p_epsilon_P_minus_one, p_mass, p_multipole_angu, p_multipole_mass, p_shear, p_sqrt_q, p_theta_minus, p_theta_plus, and set_der_0x0().
| const Tensor & Spheroid::delta | ( | ) | const |
Computes the delta coefficients for covariant derivative.
Definition at line 1199 of file spheroid.C.
References Metric::con(), Metric::cov(), derive_cov2dflat(), Map::get_bvect_spher(), Metric::get_mp(), Tensor::set(), and Tensor::set_index_type().
Computes the total covariant derivative on the spheroid.
Definition at line 1236 of file spheroid.C.
References contract(), delta(), derive_cov2dflat(), Tensor::get_index_type(), and Tensor::get_valence().
Computes the round covariant derivative on the spheroid.
Definition at line 950 of file spheroid.C.
References Map::get_bvect_spher(), Tensor::get_index_type(), Tensor::get_mp(), Tensor::get_n_comp(), Tensor::get_triad(), Tensor::get_valence(), Tensor::indices(), Tensor::set(), Itbl::set(), Tensor_sym::sym_index1(), and Tensor_sym::sym_index2().
| double Spheroid::epsilon_A_minus_one | ( | ) | const |
Computation of the refined Penrose parameter for axisymmetric spacetimes, and its difference wrt one.
Definition at line 860 of file spheroid.C.
References angu_mom(), area(), mass(), pow(), and sqrt().
| double Spheroid::epsilon_P_minus_one | ( | ) | const |
Computation of the classical Penrose parameter, and its difference wrt one.
To use in replacement of epsilon_A_minus_one when the computed spacetime is not axisymmetric.
Definition at line 872 of file spheroid.C.
References angu_mom(), area(), mass(), p_epsilon_P_minus_one, and pow().
| const Vector& Spheroid::get_ephi | ( | ) | const [inline] |
Returns the conformal Killing symmetry vector on the 2-surface.
Definition at line 249 of file spheroid.h.
References ephi.
| const Scalar& Spheroid::get_fff | ( | ) | const [inline] |
| const Scalar& Spheroid::get_ggg | ( | ) | const [inline] |
| const Sym_tensor& Spheroid::get_hh | ( | ) | const [inline] |
| const Scalar& Spheroid::get_hsurf | ( | ) | const [inline] |
| bool Spheroid::get_issphere | ( | ) | const [inline] |
Returns the flag saying whether or not the horizon is geometrically round.
Definition at line 261 of file spheroid.h.
References issphere.
| const Tensor& Spheroid::get_jac2d | ( | ) | const [inline] |
returns the 2-d jacobian of coordinate transformation
Definition at line 237 of file spheroid.h.
References jac2d.
| const Sym_tensor& Spheroid::get_jj | ( | ) | const [inline] |
| const Vector& Spheroid::get_ll | ( | ) | const [inline] |
| const Tensor& Spheroid::get_proj | ( | ) | const [inline] |
| const Metric& Spheroid::get_qab | ( | ) | const [inline] |
Returns the metric
.
Definition at line 222 of file spheroid.h.
| const Sym_tensor& Spheroid::get_qq | ( | ) | const [inline] |
| const Scalar& Spheroid::get_ricci | ( | ) | const [inline] |
| const Vector& Spheroid::get_ss | ( | ) | const [inline] |
| const Scalar& Spheroid::get_trk | ( | ) | const [inline] |
| double Spheroid::mass | ( | ) | const |
Computes the mass as defined from the calculus of angular momentum, done with respect to a divergence free tangent vector field
.
Spheroid has to be a real sphere (flag issphere true), of constant radius
. defined as
Definition at line 732 of file spheroid.C.
References angu_mom(), area(), p_mass, and sqrt().
| double Spheroid::multipole_angu | ( | const int | order | ) | const |
Computes the angular multipole of a given order for the spheroid, assumed to be spherical.
is a divergence free tangent vector field. WARNING:order has to be strictly higher than zero (no topological defects here...), and an odd number for technical reasons.
Definition at line 797 of file spheroid.C.
References area(), contract(), Map::get_bvect_spher(), get_ephi(), Tensor::get_mp(), h_surf, Map_af::integrale_surface(), jac2d, ll, p_multipole_angu, Scalar::set_spectral_va(), sqrt(), sqrt_q(), Scalar::std_spectral_base(), and Valeur::ylm().
| double Spheroid::multipole_mass | ( | const int | order | ) | const |
Computes the mass multipole of a given order for the spheroid, assumed to be spherical.
WARNING: For technical reasons, only even orders are supported by the code.
Definition at line 744 of file spheroid.C.
References area(), Tensor::get_mp(), get_ricci(), h_surf, Map_af::integrale_surface(), mass(), p_multipole_mass, Scalar::set_spectral_va(), sqrt(), sqrt_q(), Scalar::std_spectral_base(), and Valeur::ylm().
| void Spheroid::operator= | ( | const Spheroid & | sph_in | ) |
| void Spheroid::sauve | ( | FILE * | ) | const [virtual] |
Save in a file.
Definition at line 1182 of file spheroid.C.
| void Spheroid::set_der_0x0 | ( | ) | const [protected] |
Sets to 0x0 all the pointers on derived quantities.
Definition at line 662 of file spheroid.C.
References p_angu_mom, p_area, p_epsilon_P_minus_one, p_mass, p_multipole_angu, p_multipole_mass, p_shear, p_sqrt_q, p_theta_minus, and p_theta_plus.
| void Spheroid::set_ephi | ( | const Scalar & | ) |
Assigns the conformal Killing vector field to phi.
| Scalar& Spheroid::set_fff | ( | ) | [inline] |
Sets the normalization factor F.
Definition at line 294 of file spheroid.h.
References del_deriv(), and fff.
| Scalar& Spheroid::set_ggg | ( | ) | [inline] |
Sets the normalization factor G.
Definition at line 297 of file spheroid.h.
References del_deriv(), and ggg.
| Sym_tensor& Spheroid::set_hh | ( | ) | [inline] |
Sets the symmetric tensor
.
Definition at line 279 of file spheroid.h.
References del_deriv(), and hh.
| Scalar& Spheroid::set_hsurf | ( | ) | [inline] |
Sets the field h_surf.
Definition at line 264 of file spheroid.h.
References del_deriv(), and h_surf.
| bool Spheroid::set_issphere | ( | ) | [inline] |
Sets the boolean linked to geometrical shape of the horizon.
Definition at line 300 of file spheroid.h.
References del_deriv(), and issphere.
| Sym_tensor& Spheroid::set_jj | ( | ) | [inline] |
Sets the symmetric tensor
.
Definition at line 291 of file spheroid.h.
References del_deriv(), and jj.
| Vector& Spheroid::set_ll | ( | ) | [inline] |
| Tensor& Spheroid::set_proj | ( | ) | [inline] |
| Metric& Spheroid::set_qab | ( | ) | [inline] |
Sets the modified metric (non degenerated)
.
Definition at line 267 of file spheroid.h.
References del_deriv().
| Sym_tensor& Spheroid::set_qq | ( | ) | [inline] |
Sets the degenerated metric
.
Definition at line 273 of file spheroid.h.
References del_deriv(), and qq.
| Scalar& Spheroid::set_ricci | ( | ) | [inline] |
Sets the 2-Ricci scalar
.
Definition at line 270 of file spheroid.h.
References del_deriv(), and ricci.
| Vector& Spheroid::set_ss | ( | ) | [inline] |
| Scalar& Spheroid::set_trk | ( | ) | [inline] |
Sets the trace K on the 2-surface.
Definition at line 282 of file spheroid.h.
References del_deriv(), and trk.
| const Sym_tensor & Spheroid::shear | ( | ) | const |
Computes the shear of the 2-surface
.
Definition at line 921 of file spheroid.C.
References Metric::cov(), fff, hh, jj, p_shear, Tensor::std_spectral_base(), and Tensor::trace().
| const Scalar & Spheroid::sqrt_q | ( | ) | const |
Computes the normal vector field to the 2-surface.
Computes the square root of the determinant of
.
Definition at line 689 of file spheroid.C.
References get_qq(), p_sqrt_q, sqrt(), and Scalar::std_spectral_base().
| const Scalar & Spheroid::theta_minus | ( | ) | const |
Computes the ingoing null expansion
.
Definition at line 905 of file spheroid.C.
References ggg, hh, jj, p_theta_minus, Scalar::std_spectral_base(), and Tensor::trace().
| const Scalar & Spheroid::theta_plus | ( | ) | const |
Computes the outgoing null expansion
.
Definition at line 885 of file spheroid.C.
References fff, hh, jj, p_theta_plus, Scalar::set_spectral_va(), Scalar::std_spectral_base(), Tensor::trace(), and Valeur::ylm().
| void Spheroid::update_from_tslice | ( | const Metric & | gamij, | |
| const Sym_tensor & | Kij | |||
| ) |
Updates from the 3-slice data.
| ostream& operator<< | ( | ostream & | , | |
| const Spheroid & | ||||
| ) | [friend] |
Display.
Vector Spheroid::ephi [protected] |
The conformal Killing vector field on the 2-surface (set to by default to the axial vector associated with coordinate
).
Definition at line 109 of file spheroid.h.
Scalar Spheroid::fff [protected] |
Normalization function for the outgoing null vector l.
Definition at line 134 of file spheroid.h.
Scalar Spheroid::ggg [protected] |
Normalization function for the ingoing null vector k.
Definition at line 139 of file spheroid.h.
Scalar Spheroid::h_surf [protected] |
The location of the 2-surface as r = h_surf. 
Definition at line 87 of file spheroid.h.
Sym_tensor Spheroid::hh [protected] |
The ricci scalar on the 2-surface.
Extrinsic curvature of the 2-surface in the 3-slice.
(covariant representation)
Definition at line 118 of file spheroid.h.
bool Spheroid::issphere [protected] |
Flag to know whether the horizon is geometrically round or distorted.
Definition at line 147 of file spheroid.h.
Tensor Spheroid::jac2d [protected] |
The jacobian of the adaptation of coordinates (contravariant/covariant representation).
Definition at line 92 of file spheroid.h.
Sym_tensor Spheroid::jj [protected] |
Tangent components of the extrinsic curvature of the 3-slice.
(covariant representation)
Definition at line 130 of file spheroid.h.
Vector Spheroid::ll [protected] |
Normal-tangent component of the extrinsic curvature of the 3-slice.
(covariant representation)
Definition at line 125 of file spheroid.h.
double* Spheroid::p_angu_mom [mutable, protected] |
The angular momentum.
Definition at line 155 of file spheroid.h.
double* Spheroid::p_area [mutable, protected] |
The area of the 2-surface.
Definition at line 154 of file spheroid.h.
double* Spheroid::p_epsilon_P_minus_one [mutable, protected] |
Refined Penrose parameter, difference wrt one.
Definition at line 160 of file spheroid.h.
double* Spheroid::p_mass [mutable, protected] |
Mass defined from angular momentum.
Definition at line 156 of file spheroid.h.
double* Spheroid::p_multipole_angu [mutable, protected] |
Angular momentum multipole for the spheroid.
Definition at line 158 of file spheroid.h.
double* Spheroid::p_multipole_mass [mutable, protected] |
Mass multipole for the spheroid.
Definition at line 157 of file spheroid.h.
Sym_tensor* Spheroid::p_shear [mutable, protected] |
The shear tensor.
Definition at line 163 of file spheroid.h.
Scalar* Spheroid::p_sqrt_q [mutable, protected] |
Surface element
.
Definition at line 153 of file spheroid.h.
Scalar* Spheroid::p_theta_minus [mutable, protected] |
Null ingoing expansion.
Definition at line 162 of file spheroid.h.
Scalar* Spheroid::p_theta_plus [mutable, protected] |
Classical Penrose parameter, difference wrt one.
Null outgoing expansion
Definition at line 161 of file spheroid.h.
Tensor Spheroid::proj [protected] |
The 3-d projector on the 2-surface (contravariant-covariant form).
Definition at line 96 of file spheroid.h.
Sym_tensor Spheroid::qq [protected] |
The 3-d covariant degenerated 2-metric on the surface.
Definition at line 100 of file spheroid.h.
Scalar Spheroid::ricci [protected] |
Induced metric on the 2-surface
.
Definition at line 113 of file spheroid.h.
Vector Spheroid::ss [protected] |
The adapted normal vector field to spheroid in the 3-slice.
Definition at line 104 of file spheroid.h.
Scalar Spheroid::trk [protected] |
Trace K of the extrinsic curvature of the 3-slice.
Definition at line 120 of file spheroid.h.
1.6.1