Lorene::Sym_tensor_tt Class Reference
Tensorial fields

Transverse and traceless symmetric tensors of rank 2. More...

`#include <sym_tensor.h>`

Inheritance diagram for Lorene::Sym_tensor_tt:

## Public Member Functions

| Sym_tensor_tt (const Map &map, const Base_vect &triad_i, const Metric &met)
| Standard constructor.
| Sym_tensor_tt (const Sym_tensor_tt &)
| Copy constructor.
| Sym_tensor_tt (const Map &map, const Base_vect &triad_i, const Metric &met, FILE *fich)
| Constructor from a file (see `Tensor::sauve(FILE*)` ).
virtual | ~Sym_tensor_tt ()
| Destructor.
virtual void | operator= (const Sym_tensor_tt &a)
| Assignment to another `Sym_tensor_tt`.
virtual void | operator= (const Sym_tensor_trans &a)
| Assignment to a `Sym_tensor_trans`.
virtual void | operator= (const Sym_tensor &a)
| Assignment to a `Sym_tensor`.
virtual void | operator= (const Tensor_sym &a)
| Assignment to a `Tensor_sym`.
virtual void | operator= (const Tensor &a)
| Assignment to a `Tensor`.
void | set_rr_eta_mu (const Scalar &hrr, const Scalar &eta_i, const Scalar &mu_i)
| Sets the component , as well as the angular potentials and (see members `p_eta` and `p_mu` ).
void | set_rr_mu (const Scalar &hrr, const Scalar &mu_i)
| Sets the component , as well as the angular potential (see member `p_mu` ).
void | set_khi_eta_mu (const Scalar &khi_i, const Scalar &eta_i, const Scalar &mu_i)
| Sets the component , as well as the angular potentials and (see members `p_khi` , `p_eta` and `p_mu` ).
void | set_khi_mu (const Scalar &khi_i, const Scalar &mu_i, int dzp=0, Param *par1=0x0, Param *par2=0x0, Param *par3=0x0)
| Sets the component , as well as the angular potential (see member `p_khi` and `p_mu` ).
void | set_A_tildeB (const Scalar &a_in, const Scalar &tb_in, Param *par_bc=0x0, Param *par_mat=0x0)
| Assigns the derived members `A` and .
const Scalar & | khi () const
| Gives the field such that the component .
virtual const Scalar & | eta (Param *par=0x0) const
| Gives the field (see member `p_eta` ).
Sym_tensor_tt | poisson (int dzfin=2) const
| Computes the solution of a tensorial TT Poisson equation with `*this` as a source:
const Metric & | get_met_div () const
| Returns the metric with respect to which the divergence and the trace are defined.
void | set_tt_trace (const Sym_tensor_tt &a, const Scalar &h, Param *par=0x0)
| Assigns the derived members `p_tt` and `p_trace` and updates the components accordingly.
const Scalar & | the_trace () const
| Returns the trace of the tensor with respect to metric `*met_div`.
const Sym_tensor_tt & | tt_part (Param *par=0x0) const
| Returns the transverse traceless part of the tensor, the trace being defined with respect to metric `*met_div`.
void | sol_Dirac_Abound (const Scalar &aaa, Scalar &tilde_mu, Scalar &x_new, Scalar bound_mu, const Param *par_bc)
| Same resolution as sol_Dirac_A, but with inner boundary conditions added.
void | sol_Dirac_A2 (const Scalar &aaa, Scalar &tilde_mu, Scalar &x_new, Scalar bound_mu, const Param *par_bc)
| Same resolution as sol_Dirac_Abound, but here the boundary conditions are the degenerate elliptic conditions encontered when solving the Kerr problem.
void | sol_Dirac_BC2 (const Scalar &bb, const Scalar &cc, const Scalar &hh, Scalar &hrr, Scalar &tilde_eta, Scalar &ww, Scalar bound_eta, double dir, double neum, double rhor, Param *par_bc, Param *par_mat)
| Same resolution as sol_Dirac_tilde_B, but with inner boundary conditions added.
void | sol_Dirac_BC3 (const Scalar &bb, const Scalar &hh, Scalar &hrr, Scalar &tilde_eta, Scalar &ww, Scalar bound_hrr, Scalar bound_eta, Param *par_bc, Param *par_mat)
| Same resolution as sol_Dirac_Abound, but here the boundary conditions are the degenerate elliptic conditions encontered when solving the Kerr problem.
void | sol_Dirac_l01_bound (const Scalar &hh, Scalar &hrr, Scalar &tilde_eta, Scalar &bound_hrr, Scalar &bound_eta, Param *par_mat)
void | sol_Dirac_l01_2 (const Scalar &hh, Scalar &hrr, Scalar &tilde_eta, Param *par_mat)
void | sol_elliptic_ABC (Sym_tensor &source, Scalar aaa, Scalar bbb, Scalar ccc)
| Finds spectral potentials A, B, C of solution of an tensorial TT elliptic equation, given the source.
void | trace_from_det_one (const Sym_tensor_tt &htt, double precis=1.e-14, int it_max=100)
| Assigns the derived member `p_tt` and computes the trace so that `*this` + the flat metric has a determinant equal to 1.
void | set_hrr_mu_det_one (const Scalar &hrr, const Scalar &mu_in, double precis=1.e-14, int it_max=100)
| Assigns the rr component and the derived member .
void | set_tt_part_det_one (const Sym_tensor_tt &hijtt, const Scalar *h_prev=0x0, Param *par_mat=0x0, double precis=1.e-14, int it_max=100)
| Assignes the TT-part of the tensor.
void | set_AtBtt_det_one (const Scalar &a_in, const Scalar &tbtt_in, const Scalar *h_prev=0x0, Param *par_bc=0x0, Param *par_mat=0x0, double precis=1.e-14, int it_max=100)
| Assigns the derived member `A` and computes from its TT-part (see `Sym_tensor::compute_tilde_B_tt()` ).
void | set_AtB_trace (const Scalar &a_in, const Scalar &tb_in, const Scalar &trace, Param *par_bc=0x0, Param *par_mat=0x0)
| Assigns the derived members `A` , and the trace.
Sym_tensor_trans | poisson (const Scalar *h_guess=0x0) const
| Computes the solution of a tensorial transverse Poisson equation with `*this` as a source:
void | set_longit_trans (const Vector &v, const Sym_tensor_trans &a)
| Assigns the derived members `p_longit_pot` and `p_transverse` and updates the components accordingly.
void | set_auxiliary (const Scalar &trr, const Scalar &eta_over_r, const Scalar &mu_over_r, const Scalar &www, const Scalar &xxx, const Scalar &ttt)
| Assigns the component and the derived members `p_eta` , `p_mu` , `p_www`, `p_xxx` and `p_ttt` , fro, their values and , .
virtual void | exponential_filter_r (int lzmin, int lzmax, int p, double alpha=-16.)
| Applies exponential filters to all components (see `Scalar::exponential_filter_r` ).
virtual void | exponential_filter_ylm (int lzmin, int lzmax, int p, double alpha=-16.)
| Applies exponential filters to all components (see `Scalar::exponential_filter_ylm` ).
const Vector & | divergence (const Metric &) const
| Returns the divergence of `this` with respect to a `Metric` .
Sym_tensor | derive_lie (const Vector &v) const
| Computes the Lie derivative of `this` with respect to some vector field `v`.
const Sym_tensor_trans & | transverse (const Metric &gam, Param *par=0x0, int method_poisson=6) const
| Computes the transverse part of the tensor with respect to a given metric, transverse meaning divergence-free with respect to that metric.
const Vector & | longit_pot (const Metric &gam, Param *par=0x0, int method_poisson=6) const
| Computes the vector potential of longitudinal part of the tensor (see documentation of method `transverse()` above).
const Scalar & | mu (Param *par=0x0) const
| Gives the field (see member `p_mu` ).
const Scalar & | www () const
| Gives the field W (see member `p_www` ).
const Scalar & | xxx () const
| Gives the field X (see member `p_xxx` ).
const Scalar & | ttt () const
| Gives the field T (see member `p_ttt` ).
const Scalar & | compute_A (bool output_ylm=true, Param *par=0x0) const
| Gives the field A (see member `p_aaa` ).
const Scalar & | compute_tilde_B (bool output_ylm=true, Param *par=0x0) const
| Gives the field (see member `p_tilde_b` ).
Scalar | compute_tilde_B_tt (bool output_ylm=true, Param *par=0x0) const
| Gives the field (see member `p_tilde_b` ) associated with the TT-part of the `Sym_tensor` .
const Scalar & | compute_tilde_C (bool output_ylm=true, Param *par=0x0) const
| Gives the field (see member `p_tilde_c` ).
int | sym_index1 () const
| Number of the first symmetric index (`0<=` `id_sym1` < `valence` ).
int | sym_index2 () const
| Number of the second symmetric index (`id_sym1` < `id_sym2` < `valence` ).
virtual int | position (const Itbl &ind) const
| Returns the position in the array `cmp` of a component given by its indices.
virtual Itbl | indices (int pos) const
| Returns the indices of a component given by its position in the array `cmp` .
virtual void | sauve (FILE *) const
| Save in a binary file.
const Tensor_sym & | derive_cov (const Metric &gam) const
| Returns the covariant derivative of `this` with respect to some metric .
const Tensor_sym & | derive_con (const Metric &gam) const
| Returns the "contravariant" derivative of `this` with respect to some metric , by raising the last index of the covariant derivative (cf.
virtual void | set_etat_nondef ()
| Sets the logical state of all components to `ETATNONDEF` (undefined state).
virtual void | set_etat_zero ()
| Sets the logical state of all components to `ETATZERO` (zero state).
virtual void | set_etat_qcq ()
| Sets the logical state of all components to `ETATQCQ` (ordinary state).
virtual void | allocate_all ()
| Performs the memory allocation of all the elements, down to the `double` arrays of the `Tbl` s.
virtual void | change_triad (const Base_vect &new_triad)
| Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly.
void | set_triad (const Base_vect &new_triad)
| Assigns a new vectorial basis (triad) of decomposition.
Scalar & | set (const Itbl &ind)
| Returns the value of a component (read/write version).
Scalar & | set (int i1, int i2)
| Returns the value of a component for a tensor of valence 2 (read/write version).
Scalar & | set (int i1, int i2, int i3)
| Returns the value of a component for a tensor of valence 3 (read/write version).
Scalar & | set (int i1, int i2, int i3, int i4)
| Returns the value of a component for a tensor of valence 4 (read/write version).
void | annule_domain (int l)
| Sets the `Tensor` to zero in a given domain.
virtual void | annule (int l_min, int l_max)
| Sets the `Tensor` to zero in several domains.
void | annule_extern_cn (int l_0, int deg)
| Performs a smooth (C^n) transition in a given domain to zero.
virtual void | std_spectral_base ()
| Sets the standard spectal bases of decomposition for each component.
virtual void | std_spectral_base_odd ()
| Sets the standard odd spectal bases of decomposition for each component.
virtual void | dec_dzpuis (int dec=1)
| Decreases by `dec` units the value of `dzpuis` and changes accordingly the values in the compactified external domain (CED).
virtual void | inc_dzpuis (int inc=1)
| Increases by `inc` units the value of `dzpuis` and changes accordingly the values in the compactified external domain (CED).
Tensor | up (int ind, const Metric &gam) const
| Computes a new tensor by raising an index of `*this`.
Tensor | down (int ind, const Metric &gam) const
| Computes a new tensor by lowering an index of `*this`.
Tensor | up_down (const Metric &gam) const
| Computes a new tensor by raising or lowering all the indices of `*this` .
Tensor | trace (int ind1, int ind2) const
| Trace on two different type indices.
Tensor | trace (int ind1, int ind2, const Metric &gam) const
| Trace with respect to a given metric.
Scalar | trace () const
| Trace on two different type indices for a valence 2 tensor.
Scalar | trace (const Metric &gam) const
| Trace with respect to a given metric for a valence 2 tensor.
const Map & | get_mp () const
| Returns the mapping.
const Base_vect * | get_triad () const
| Returns the vectorial basis (triad) on which the components are defined.
int | get_valence () const
| Returns the valence.
int | get_n_comp () const
| Returns the number of stored components.
int | get_index_type (int i) const
| Gives the type (covariant or contravariant) of the index number `i` .
Itbl | get_index_type () const
| Returns the types of all the indices.
int & | set_index_type (int i)
| Sets the type of the index number `i` .
Itbl & | set_index_type ()
| Sets the types of all the indices.
const Scalar & | operator() (const Itbl &ind) const
| Returns the value of a component (read-only version).
const Scalar & | operator() (int i1, int i2) const
| Returns the value of a component for a tensor of valence 2 (read-only version).
const Scalar & | operator() (int i1, int i2, int i3) const
| Returns the value of a component for a tensor of valence 3 (read-only version).
const Scalar & | operator() (int i1, int i2, int i3, int i4) const
| Returns the value of a component for a tensor of valence 4 (read-only version).
void | operator+= (const Tensor &)
| += Tensor
void | operator-= (const Tensor &)
| -= Tensor
virtual void | spectral_display (const char *comment=0x0, double threshold=1.e-7, int precision=4, ostream &ostr=cout) const
| Displays the spectral coefficients and the associated basis functions of each component.

## Protected Member Functions

virtual void | del_deriv () const
| Deletes the derived quantities.
void | set_der_0x0 () const
| Sets the pointers on derived quantities to 0x0.
void | update (int dzp, Param *par1=0x0, Param *par2=0x0)
| Computes the components , , , and , from and the potentials and .
void | sol_Dirac_A (const Scalar &aaa, Scalar &tilde_mu, Scalar &xxx, const Param *par_bc=0x0) const
| Solves a system of two coupled first-order PDEs obtained from the divergence-free condition (Dirac gauge) and the requirement that the potential A (see `Sym_tensor::p_aaa` ) has a given value.
void | sol_Dirac_tilde_B (const Scalar &tilde_b, const Scalar &hh, Scalar &hrr, Scalar &tilde_eta, Scalar &www, Param *par_bc=0x0, Param *par_mat=0x0) const
| Solves a system of three coupled first-order PDEs obtained from divergence-free conditions (Dirac gauge) and the requirement that the potential (see `Sym_tensor::p_tilde_b` ) has a given value.
void | sol_Dirac_l01 (const Scalar &hh, Scalar &hrr, Scalar &tilde_eta, Param *par_mat) const
| Solves the same system as `Sym_tensor_trans::sol_Dirac_tilde_B` but only for .
virtual void | del_derive_met (int i) const
| Logical destructor of the derivatives depending on the i-th element of `met_depend` specific to the class `Sym_tensor` (`p_transverse` , etc...).
void | set_der_met_0x0 (int i) const
| Sets all the i-th components of `met_depend` specific to the class `Sym_tensor` (`p_transverse` , etc...) to 0x0.
Scalar | get_tilde_B_from_TT_trace (const Scalar &tilde_B_tt_in, const Scalar &trace) const
| Computes (see `Sym_tensor::p_tilde_b` ) from its transverse-traceless part and the trace.
Sym_tensor * | inverse () const
| Returns a pointer on the inverse of the `Sym_tensor` (seen as a matrix).
void | set_dependance (const Metric &) const
| To be used to describe the fact that the derivatives members have been calculated with `met` .
int | get_place_met (const Metric &) const
| Returns the position of the pointer on `metre` in the array `met_depend` .
void | compute_derive_lie (const Vector &v, Tensor &resu) const
| Computes the Lie derivative of `this` with respect to some vector field `v` (protected method; the public interface is method `derive_lie` ).

## Protected Attributes

Scalar * | p_khi
| Field such that the component .
const Metric *const | met_div
| Metric with respect to which the divergence and the trace are defined.
Scalar * | p_trace
| Trace with respect to the metric `*met_div`.
Sym_tensor_tt * | p_tt
| Traceless part with respect to the metric `*met_div`.
Sym_tensor_trans * | p_transverse [N_MET_MAX]
| Array of the transverse part of the tensor with respect to various metrics, transverse meaning divergence-free with respect to a metric.
Vector * | p_longit_pot [N_MET_MAX]
| Array of the vector potential of the longitudinal part of the tensor with respect to various metrics (see documentation of member `p_transverse`.
Scalar * | p_eta
| Field such that the components of the tensor are written (has only meaning with spherical components!):
Scalar * | p_mu
| Field such that the components of the tensor are written (has only meaning with spherical components!):
Scalar * | p_www
| Field W such that the components and of the tensor are written (has only meaning with spherical components!):
Scalar * | p_xxx
| Field X such that the components and of the tensor are written (has only meaning with spherical components!):
Scalar * | p_ttt
| Field T defined as .
Scalar * | p_aaa
| Field A defined from X and insensitive to the longitudinal part of the `Sym_tensor` (only for ).
Scalar * | p_tilde_b
| Field defined from and h insensitive to the longitudinal part of the `Sym_tensor`.
Scalar * | p_tilde_c
| Field defined from and h insensitive to the longitudinal part of the `Sym_tensor`.
int | id_sym1
| Number of the first symmetric index (`0<=` `id_sym1` < `valence` ).
int | id_sym2
| Number of the second symmetric index (`id_sym1` < `id_sym2` < `valence` ).
const Map *const | mp
| Mapping on which the numerical values at the grid points are defined.
int | valence
| Valence of the tensor (0 = scalar, 1 = vector, etc...).
const Base_vect * | triad
| Vectorial basis (triad) with respect to which the tensor components are defined.
Itbl | type_indice
| 1D array of integers (class `Itbl` ) of size `valence` containing the type of each index: `COV` for a covariant one and `CON` for a contravariant one.
int | n_comp
| Number of stored components, depending on the symmetry.
Scalar ** | cmp
| Array of size `n_comp` of pointers onto the components.
const Metric * | met_depend [N_MET_MAX]
| Array on the `Metric` 's which were used to compute derived quantities, like `p_derive_cov` , etc... The i-th element of this array is the `Metric` used to compute the i-th element of `p_derive_cov` , etc.
Tensor * | p_derive_cov [N_MET_MAX]
| Array of pointers on the covariant derivatives of `this` with respect to various metrics.
Tensor * | p_derive_con [N_MET_MAX]
| Array of pointers on the contravariant derivatives of `this` with respect to various metrics.
Tensor * | p_divergence [N_MET_MAX]
| Array of pointers on the divergence of `this` with respect to various metrics.

## Detailed Description

Transverse and traceless symmetric tensors of rank 2.

This class is designed to store transverse (divergence-free) and transverse symmetric contravariant tensors of rank 2, with the component expressed in an orthonormal spherical basis .()

Definition at line 938 of file sym_tensor.h.

## Constructor & Destructor Documentation

## Sym_tensor_tt() [1/3]

Lorene::Sym_tensor_tt::Sym_tensor_tt | ( | const Map & | map,
|  | const Base_vect & | triad_i,
|  | const Metric & | met )

Standard constructor.

Parameters

  map | the mapping
  triad_i | vectorial basis (triad) with respect to which the tensor components are defined
  met | the metric with respect to which the divergence is defined

Definition at line 75 of file sym_tensor_tt.C.

References Lorene::Map(), set_der_0x0(), and Lorene::Sym_tensor_trans::Sym_tensor_trans().

## Sym_tensor_tt() [2/3]

Lorene::Sym_tensor_tt::Sym_tensor_tt | ( | const Sym_tensor_tt & | source | ) |

Copy constructor.

Definition at line 85 of file sym_tensor_tt.C.

References p_khi, set_der_0x0(), Lorene::Sym_tensor_trans::Sym_tensor_trans(), and Sym_tensor_tt().

## Sym_tensor_tt() [3/3]

Lorene::Sym_tensor_tt::Sym_tensor_tt | ( | const Map & | map,
|  | const Base_vect & | triad_i,
|  | const Metric & | met,
|  | FILE * | fich )

Constructor from a file (see `Tensor::sauve(FILE*)` ).

Parameters

  map | the mapping
  triad_i | vectorial basis (triad) with respect to which the tensor components are defined. It will be checked that it coincides with the basis saved in the file.
  met | the metric with respect to which the divergence is defined
  fich | file which has been used by the function `sauve(FILE*)` .

Definition at line 97 of file sym_tensor_tt.C.

References Lorene::Map(), set_der_0x0(), and Lorene::Sym_tensor_trans::Sym_tensor_trans().

## ~Sym_tensor_tt()

Lorene::Sym_tensor_tt::~Sym_tensor_tt | ( |  | ) |

virtual

Destructor.

Definition at line 108 of file sym_tensor_tt.C.

References del_deriv().

## Member Function Documentation

## compute_A()

const Scalar & Lorene::Sym_tensor::compute_A | ( | bool | output_ylm = true,
|  | Param * | par = 0x0 ) const

inherited

Gives the field A (see member `p_aaa` ).

Parameters

  output_ylm | a flag to control the spectral decomposition base of the result: if true (default) the spherical harmonics base is used.

Definition at line 316 of file sym_tensor_aux.C.

References Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::div_tant(), Lorene::dsdr(), Lorene::Scalar::dsdt(), Lorene::Scalar::get_dzpuis(), Lorene::Tensor::mp, Lorene::Tensor::operator()(), p_aaa, Lorene::Scalar::poisson_angu(), Lorene::Scalar::stdsdp(), Lorene::Tensor::triad, and xxx().

## compute_tilde_B()

const Scalar & Lorene::Sym_tensor::compute_tilde_B | ( | bool | output_ylm = true,
|  | Param * | par = 0x0 ) const

inherited

Gives the field (see member `p_tilde_b` ).

Parameters

  output_ylm | a flag to control the spectral decomposition base of the result: if true (default) the spherical harmonics base is used.

Definition at line 362 of file sym_tensor_aux.C.

References Lorene::Scalar::annule_hard(), Lorene::Valeur::c_cf, Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::div_tant(), Lorene::Scalar::dsdr(), Lorene::Scalar::dsdt(), Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Scalar::get_spectral_base(), Lorene::Scalar::get_spectral_va(), Lorene::Base_val::give_quant_numbers(), Lorene::Tensor::mp, Lorene::Tensor::operator()(), p_tilde_b, Lorene::Scalar::poisson_angu(), Lorene::Scalar::set_spectral_va(), Lorene::Scalar::stdsdp(), Lorene::Tensor::triad, ttt(), www(), and Lorene::Valeur::ylm().

## compute_tilde_B_tt()

Scalar Lorene::Sym_tensor::compute_tilde_B_tt | ( | bool | output_ylm = true,
|  | Param * | par = 0x0 ) const

inherited

Gives the field (see member `p_tilde_b` ) associated with the TT-part of the `Sym_tensor` .

Parameters

  output_ylm | a flag to control the spectral decomposition base of the result: if true (default) the spherical harmonics base is used.

Definition at line 478 of file sym_tensor_aux.C.

References Lorene::Scalar::annule_hard(), Lorene::Valeur::c, Lorene::Valeur::c_cf, compute_tilde_B(), Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::dsdr(), Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Scalar::get_spectral_base(), Lorene::Scalar::get_spectral_va(), Lorene::Base_val::give_quant_numbers(), Lorene::Tensor::mp, Lorene::Tensor::operator()(), Lorene::Mtbl_cf::set(), Lorene::Scalar::set_dzpuis(), Lorene::Scalar::set_spectral_va(), ttt(), Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().

## compute_tilde_C()

const Scalar & Lorene::Sym_tensor::compute_tilde_C | ( | bool | output_ylm = true,
|  | Param * | par = 0x0 ) const

inherited

Gives the field (see member `p_tilde_c` ).

Parameters

  output_ylm | a flag to control the spectral decomposition base of the result: if true (default) the spherical harmonics base is used.

Definition at line 596 of file sym_tensor_aux.C.

References Lorene::Scalar::annule_hard(), Lorene::Valeur::c_cf, Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::div_tant(), Lorene::Scalar::dsdr(), Lorene::Scalar::dsdt(), Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Scalar::get_spectral_base(), Lorene::Scalar::get_spectral_va(), Lorene::Base_val::give_quant_numbers(), Lorene::Tensor::mp, Lorene::Tensor::operator()(), p_tilde_c, Lorene::Scalar::poisson_angu(), Lorene::Scalar::set_spectral_va(), Lorene::Scalar::stdsdp(), Lorene::Tensor::triad, ttt(), www(), and Lorene::Valeur::ylm().

## del_deriv()

void Lorene::Sym_tensor_tt::del_deriv | ( |  | ) | const

protected virtual

Deletes the derived quantities.

Reimplemented from Lorene::Sym_tensor_trans.

Definition at line 121 of file sym_tensor_tt.C.

References Lorene::Sym_tensor_trans::del_deriv(), p_khi, and set_der_0x0().

## del_derive_met()

void Lorene::Sym_tensor::del_derive_met | ( | int | i | ) | const

protected virtual inherited

Logical destructor of the derivatives depending on the i-th element of `met_depend` specific to the class `Sym_tensor` (`p_transverse` , etc...).

Reimplemented from Lorene::Tensor.

Definition at line 320 of file sym_tensor.C.

References Lorene::Tensor::del_derive_met(), Lorene::Tensor::met_depend, p_longit_pot, p_transverse, and set_der_met_0x0().

## derive_lie()

Sym_tensor Lorene::Sym_tensor::derive_lie | ( | const Vector & | v | ) | const

inherited

Computes the Lie derivative of `this` with respect to some vector field `v`.

Definition at line 360 of file sym_tensor.C.

References Lorene::Tensor::compute_derive_lie(), Lorene::Tensor::mp, Sym_tensor(), Lorene::Tensor::triad, and Lorene::Tensor::type_indice.

## divergence()

const Vector & Lorene::Sym_tensor::divergence | ( | const Metric & | gam | ) | const

inherited

Returns the divergence of `this` with respect to a `Metric` .

The indices are assumed to be contravariant.

Definition at line 349 of file sym_tensor.C.

References Lorene::Tensor::divergence().

## eta()

const Scalar & Lorene::Sym_tensor_tt::eta | ( | Param * | par = 0x0 | ) | const

virtual

Gives the field (see member `p_eta` ).

Reimplemented from Lorene::Sym_tensor.

Definition at line 140 of file sym_tensor_tt_etamu.C.

References Lorene::Scalar::dec_dzpuis(), Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::dsdr(), Lorene::Scalar::get_dzpuis(), Lorene::Tensor::mp, Lorene::Scalar::mult_r_dzpuis(), Lorene::Tensor::operator()(), Lorene::Sym_tensor::p_eta, p_khi, Lorene::Scalar::poisson_angu(), and Lorene::Tensor::triad.

## exponential_filter_r()

void Lorene::Sym_tensor::exponential_filter_r | ( | int | lzmin,
|  | int | lzmax,
|  | int | p,
|  | double | alpha = -16. )

virtual inherited

Applies exponential filters to all components (see `Scalar::exponential_filter_r` ).

Does a loop for Cartesian components, and works in terms of the rr-component, , , `W`, `X`, `T` for spherical components.

Reimplemented from Lorene::Tensor.

Definition at line 446 of file sym_tensor.C.

References Lorene::Tensor::cmp, Lorene::Scalar::div_r(), eta(), Lorene::Scalar::exponential_filter_r(), exponential_filter_r(), Lorene::Tensor::mp, mu(), Lorene::Tensor::n_comp, Lorene::Tensor::operator()(), set_auxiliary(), Lorene::Tensor::triad, ttt(), www(), and xxx().

## exponential_filter_ylm()

void Lorene::Sym_tensor::exponential_filter_ylm | ( | int | lzmin,
|  | int | lzmax,
|  | int | p,
|  | double | alpha = -16. )

virtual inherited

Applies exponential filters to all components (see `Scalar::exponential_filter_ylm` ).

Does a loop for Cartesian components, and works in terms of the r-component, , , `W`, `X`, `T` for spherical components.

Reimplemented from Lorene::Tensor.

Definition at line 471 of file sym_tensor.C.

References Lorene::Tensor::cmp, Lorene::Scalar::div_r(), eta(), Lorene::Scalar::exponential_filter_ylm(), exponential_filter_ylm(), Lorene::Tensor::mp, mu(), Lorene::Tensor::n_comp, Lorene::Tensor::operator()(), set_auxiliary(), Lorene::Tensor::triad, ttt(), www(), and xxx().

## get_met_div()

const Metric & Lorene::Sym_tensor_trans::get_met_div | ( |  | ) | const

inline inherited

Returns the metric with respect to which the divergence and the trace are defined.

Definition at line 669 of file sym_tensor.h.

References met_div.

## get_tilde_B_from_TT_trace()

Scalar Lorene::Sym_tensor::get_tilde_B_from_TT_trace | ( | const Scalar & | tilde_B_tt_in,
|  | const Scalar & | trace ) const

protected inherited

Computes (see `Sym_tensor::p_tilde_b` ) from its transverse-traceless part and the trace.

Definition at line 531 of file sym_tensor_aux.C.

References Lorene::Scalar::annule_hard(), Lorene::Tbl::annule_hard(), Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::dsdr(), Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Scalar::get_spectral_base(), Lorene::Scalar::get_spectral_va(), Lorene::Base_val::give_quant_numbers(), Lorene::Tensor::mp, Lorene::Base_val::mult_x(), Lorene::Tensor::operator()(), Lorene::Mtbl_cf::set(), Lorene::Scalar::set_dzpuis(), Lorene::Scalar::set_spectral_base(), Lorene::Scalar::set_spectral_va(), Lorene::Tensor::triad, and Lorene::Valeur::ylm().

## inverse()

Sym_tensor * Lorene::Sym_tensor::inverse | ( |  | ) | const

protected inherited

Returns a pointer on the inverse of the `Sym_tensor`
(seen as a matrix).

Definition at line 372 of file sym_tensor.C.

References Lorene::Tensor::mp, Lorene::Tensor::operator()(), Lorene::Tensor::set(), Sym_tensor(), Lorene::Tensor::triad, and Lorene::Tensor::type_indice.

## khi()

const Scalar & Lorene::Sym_tensor_tt::khi | ( |  | ) | const

Gives the field such that the component .

Definition at line 116 of file sym_tensor_tt_etamu.C.

References p_khi, and Lorene::Tensor::triad.

## longit_pot()

const Vector & Lorene::Sym_tensor::longit_pot | ( | const Metric & | gam,
|  | Param * | par = 0x0,
|  | int | method_poisson = 6 ) const

inherited

Computes the vector potential of longitudinal part of the tensor (see documentation of method `transverse()` above).

Parameters

  gam | metric with respect to the transverse decomposition is performed
  par | parameters for the vector Poisson equation
  method_poisson | type of method for solving the vector Poisson equation to get the longitudinal part (see method `Vector::poisson`)

Definition at line 143 of file sym_tensor_decomp.C.

References Lorene::Tensor::dec_dzpuis(), Lorene::Tensor::derive_con(), Lorene::diffrel(), divergence(), Lorene::Tensor::divergence(), Lorene::Vector::divergence(), Lorene::Tensor::get_place_met(), Lorene::maxabs(), Lorene::Tensor::mp, p_longit_pot, Lorene::Vector::poisson(), and Lorene::Tensor::set_dependance().

## mu()

const Scalar & Lorene::Sym_tensor::mu | ( | Param * | par = 0x0 | ) | const

inherited

Gives the field (see member `p_mu` ).

Definition at line 151 of file sym_tensor_aux.C.

References Lorene::Scalar::div_tant(), Lorene::Scalar::dsdt(), Lorene::Scalar::get_dzpuis(), Lorene::Tensor::mp, Lorene::Scalar::mult_r_dzpuis(), Lorene::Tensor::operator()(), p_mu, Lorene::Scalar::poisson_angu(), Lorene::Scalar::stdsdp(), and Lorene::Tensor::triad.

## operator=() [1/5]

void Lorene::Sym_tensor_tt::operator= | ( | const Sym_tensor & | a | ) |

virtual

Assignment to a `Sym_tensor`.

Reimplemented from Lorene::Sym_tensor_trans.

Definition at line 163 of file sym_tensor_tt.C.

References del_deriv(), and Lorene::Sym_tensor_trans::operator=().

## operator=() [2/5]

void Lorene::Sym_tensor_tt::operator= | ( | const Sym_tensor_trans & | a | ) |

virtual

Assignment to a `Sym_tensor_trans`.

Reimplemented from Lorene::Sym_tensor_trans.

Definition at line 153 of file sym_tensor_tt.C.

References del_deriv(), Lorene::Sym_tensor_trans::operator=(), and Lorene::Sym_tensor_trans::Sym_tensor_trans().

## operator=() [3/5]

void Lorene::Sym_tensor_tt::operator= | ( | const Sym_tensor_tt & | a | ) |

virtual

Assignment to another `Sym_tensor_tt`.

Definition at line 141 of file sym_tensor_tt.C.

References del_deriv(), Lorene::Sym_tensor_trans::operator=(), p_khi, and Sym_tensor_tt().

## operator=() [4/5]

void Lorene::Sym_tensor_tt::operator= | ( | const Tensor & | a | ) |

virtual

Assignment to a `Tensor`.

Reimplemented from Lorene::Sym_tensor_trans.

Definition at line 181 of file sym_tensor_tt.C.

References del_deriv(), and Lorene::Sym_tensor_trans::operator=().

## operator=() [5/5]

void Lorene::Sym_tensor_tt::operator= | ( | const Tensor_sym & | a | ) |

virtual

Assignment to a `Tensor_sym`.

Reimplemented from Lorene::Sym_tensor_trans.

Definition at line 172 of file sym_tensor_tt.C.

References del_deriv(), and Lorene::Sym_tensor_trans::operator=().

## poisson() [1/2]

Sym_tensor_trans Lorene::Sym_tensor_trans::poisson | ( | const Scalar * | h_guess = 0x0 | ) | const

inherited

Computes the solution of a tensorial transverse Poisson equation with `*this` as a source:

In particular, it makes an iteration on the trace of the result, using `Sym_tensor::set_WX_det_one`.

Parameters

  h_guess | a pointer on a guess for the trace of the result; it is passed to `Sym_tensor::set_WX_det_one`.

Returns
  solution of the above equation with the boundary condition at spatial infinity.

Definition at line 99 of file sym_tensor_trans_pde.C.

References Lorene::Scalar::allocate_all(), Lorene::Tensor::change_triad(), Lorene::Sym_tensor::compute_A(), Lorene::Sym_tensor::compute_tilde_B_tt(), Lorene::Tensor::dec_dzpuis(), Lorene::Sym_tensor::divergence(), Lorene::Map_af::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Scalar::get_dzpuis(), Lorene::Scalar::get_etat(), Lorene::Mg3d::get_non_axi(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Scalar::get_spectral_base(), Lorene::Mg3d::get_type_r(), Lorene::maxabs(), met_div, Lorene::Tensor::mp, Lorene::Tensor::operator()(), poisson(), Lorene::Tensor::set(), set_AtBtt_det_one(), Lorene::Scalar::set_dzpuis(), Lorene::Scalar::set_etat_one(), Lorene::Scalar::set_etat_zero(), Lorene::Scalar::set_grid_point(), Lorene::Scalar::set_spectral_base(), Lorene::Tensor::std_spectral_base(), Lorene::Sym_tensor::Sym_tensor(), Sym_tensor_trans(), Lorene::Tensor::triad, and Lorene::Scalar::val_grid_point().

## poisson() [2/2]

Sym_tensor_tt Lorene::Sym_tensor_tt::poisson | ( | int | dzfin = 2 | ) | const

Computes the solution of a tensorial TT Poisson equation with `*this` as a source:

Parameters

  dzfin | [input] the `dzpuis` for all the components of the result (see the documentation for `Scalar` ).

Returns
  solution of the above equation with the boundary condition at spatial infinity.

Definition at line 62 of file sym_ttt_poisson.C.

References Lorene::Tensor::cmp, Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::div_sint(), Lorene::Scalar::dsdt(), Lorene::Scalar::get_etat(), Lorene::Scalar::inc_dzpuis(), Lorene::Sym_tensor_trans::met_div, Lorene::Tensor::mp, Lorene::Sym_tensor::mu(), Lorene::Scalar::mult_cost(), Lorene::Scalar::mult_r_dzpuis(), Lorene::Scalar::mult_sint(), Lorene::Tensor::operator()(), Lorene::Scalar::poisson(), Lorene::Scalar::poisson_angu(), Lorene::Tensor_sym::position(), Lorene::Itbl::set(), Lorene::Tensor::set(), Lorene::Scalar::set_etat_zero(), Lorene::Param_elliptic::set_poisson_tens_rr(), Lorene::Scalar::set_spectral_va(), Lorene::Scalar::sol_elliptic(), Lorene::Scalar::stdsdp(), Sym_tensor_tt(), Lorene::Tensor::triad, and Lorene::Valeur::ylm_i().

## set_A_tildeB()

void Lorene::Sym_tensor_tt::set_A_tildeB | ( | const Scalar & | a_in,
|  | const Scalar & | tb_in,
|  | Param * | par_bc = 0x0,
|  | Param * | par_mat = 0x0 )

Assigns the derived members `A` and .

Other derived members are deduced from the divergence-and trace-free conditions.

Parameters

  a_in | the `A` potential (see `Sym_tensor::p_aaa` )
  tb_in | the potential (see `Sym_tensor::p_tilde_b` )

Definition at line 487 of file sym_tensor_tt_etamu.C.

References Lorene::Tensor::mp, and Lorene::Sym_tensor_trans::set_AtB_trace().

## set_AtB_trace()

void Lorene::Sym_tensor_trans::set_AtB_trace | ( | const Scalar & | a_in,
|  | const Scalar & | tb_in,
|  | const Scalar & | trace,
|  | Param * | par_bc = 0x0,
|  | Param * | par_mat = 0x0 )

inherited

Assigns the derived members `A` , and the trace.

Other derived members are deduced from the divergence-free condition.

Parameters

  a_in | the `A` potential (see `Sym_tensor::p_aaa` )
  tb_in | the potential (see `Sym_tensor::p_tilde_b` )
  trace | the trace of the `Sym_tensor`.

Definition at line 302 of file sym_tensor_trans_aux.C.

References Lorene::Scalar::check_dzpuis(), Lorene::Tensor::mp, Lorene::Sym_tensor::p_aaa, Lorene::Sym_tensor::p_tilde_b, Lorene::Sym_tensor::set_auxiliary(), sol_Dirac_A(), sol_Dirac_tilde_B(), and Lorene::Tensor::triad.

## set_AtBtt_det_one()

void Lorene::Sym_tensor_trans::set_AtBtt_det_one | ( | const Scalar & | a_in,
|  | const Scalar & | tbtt_in,
|  | const Scalar * | h_prev = 0x0,
|  | Param * | par_bc = 0x0,
|  | Param * | par_mat = 0x0,
|  | double | precis = 1.e-14,
|  | int | it_max = 100 )

inherited

Assigns the derived member `A` and computes from its TT-part (see `Sym_tensor::compute_tilde_B_tt()` ).

Other derived members are deduced from the divergence-free condition. Finally, it computes the trace so that `*this` + the flat metric has a determinant equal to 1. It then updates the components accordingly. This function makes an iteration until the relative difference in the trace between two steps is lower than `precis` .

Parameters

  a_in | the `A` potential (see `Sym_tensor::p_aaa` )
  tbtt_in | the TT-part of potential (see `Sym_tensor::p_tilde_b` and `Sym_tensor::compute_tilde_B_tt()` )
  h_prev | a pointer on a guess for the trace of `*this`; if null, then the iteration starts from 0.
  precis | relative difference in the trace computation to end the iteration.
  it_max | maximal number of iterations.

Definition at line 137 of file sym_tensor_trans_aux.C.

References Lorene::abs(), Lorene::Scalar::check_dzpuis(), Lorene::Scalar::get_spectral_base(), Lorene::Sym_tensor::get_tilde_B_from_TT_trace(), Lorene::max(), met_div, Lorene::Tensor::mp, Lorene::Sym_tensor::p_aaa, Lorene::Sym_tensor::p_tilde_b, p_trace, p_tt, Lorene::Sym_tensor::set_auxiliary(), Lorene::Scalar::set_etat_zero(), Lorene::Scalar::set_spectral_base(), sol_Dirac_A(), sol_Dirac_tilde_B(), Sym_tensor_trans(), and Lorene::Tensor::triad.

## set_auxiliary()

void Lorene::Sym_tensor::set_auxiliary | ( | const Scalar & | trr,
|  | const Scalar & | eta_over_r,
|  | const Scalar & | mu_over_r,
|  | const Scalar & | www,
|  | const Scalar & | xxx,
|  | const Scalar & | ttt )

inherited

Assigns the component and the derived members `p_eta` , `p_mu` , `p_www`, `p_xxx` and `p_ttt` , fro, their values and , .

It updates the other components accordingly.

Definition at line 266 of file sym_tensor_aux.C.

References Lorene::Scalar::check_dzpuis(), del_deriv(), Lorene::Scalar::dsdt(), Lorene::Scalar::get_dzpuis(), Lorene::Scalar::lapang(), p_eta, p_mu, p_ttt, p_www, p_xxx, Lorene::Tensor::set(), Lorene::Scalar::set_spectral_va(), Lorene::Scalar::stdsdp(), Lorene::Tensor::triad, and Lorene::Valeur::ylm_i().

## set_der_0x0()

void Lorene::Sym_tensor_tt::set_der_0x0 | ( |  | ) | const

protected

Sets the pointers on derived quantities to 0x0.

Definition at line 131 of file sym_tensor_tt.C.

References p_khi.

## set_der_met_0x0()

void Lorene::Sym_tensor::set_der_met_0x0 | ( | int | i | ) | const

protected inherited

Sets all the i-th components of `met_depend` specific to the class `Sym_tensor` (`p_transverse` , etc...) to 0x0.

Definition at line 335 of file sym_tensor.C.

References p_longit_pot, and p_transverse.

## set_hrr_mu_det_one()

void Lorene::Sym_tensor_trans::set_hrr_mu_det_one | ( | const Scalar & | hrr,
|  | const Scalar & | mu_in,
|  | double | precis = 1.e-14,
|  | int | it_max = 100 )

inherited

Assigns the rr component and the derived member .

Other derived members are deduced from the divergence-free condition. Finally, it computes `T` (`Sym_tensor::p_ttt` ) so that `*this` + the flat metric has a determinant equal to 1. It then updates the components accordingly. This function makes an iteration until the relative difference in `T` between two steps is lower than `precis` .

Parameters

  hrr | the rr component of the tensor,
  mu_in | the potential,
  precis | relative difference in the trace computation to end the iteration.
  it_max | maximal number of iterations.

Definition at line 117 of file sym_tensor_trans_aux.C.

References Lorene::Scalar::check_dzpuis(), Lorene::dec_dzpuis(), Lorene::Tensor::inc_dzpuis(), met_div, Lorene::Tensor::mp, Lorene::Sym_tensor::p_mu, Lorene::Sym_tensor_tt::set_rr_mu(), trace_from_det_one(), and Lorene::Tensor::triad.

## set_khi_eta_mu()

void Lorene::Sym_tensor_tt::set_khi_eta_mu | ( | const Scalar & | khi_i,
|  | const Scalar & | eta_i,
|  | const Scalar & | mu_i )

Sets the component , as well as the angular potentials and (see members `p_khi` , `p_eta` and `p_mu` ).

The components are updated consistently by a call to the method `update()` .

Parameters

  khi_i | [input] value of
  eta_i | [input] angular potential
  mu_i | [input] angular potential

Definition at line 260 of file sym_tensor_tt_etamu.C.

References Lorene::Scalar::div_r(), Lorene::Scalar::get_dzpuis(), Lorene::Sym_tensor::p_eta, p_khi, Lorene::Sym_tensor::p_mu, Lorene::Tensor::set(), Lorene::Tensor::triad, and update().

## set_khi_mu()

void Lorene::Sym_tensor_tt::set_khi_mu | ( | const Scalar & | khi_i,
|  | const Scalar & | mu_i,
|  | int | dzp = 0,
|  | Param * | par1 = 0x0,
|  | Param * | par2 = 0x0,
|  | Param * | par3 = 0x0 )

Sets the component , as well as the angular potential (see member `p_khi` and `p_mu` ).

The angular potential (member `p_eta` ) is deduced from the divergence free condition. The tensor components are updated consistently by a call to the method `update()` .

Parameters

  khi_i | [input] value of
  mu_i | [input] angular potential
  dzp | [input] `dzpuis` parameter of the resulting tensor components

Definition at line 288 of file sym_tensor_tt_etamu.C.

References Lorene::Scalar::check_dzpuis(), Lorene::Scalar::div_r(), Lorene::Scalar::div_r_dzpuis(), eta(), Lorene::Tensor::mp, p_khi, Lorene::Sym_tensor::p_mu, Lorene::Tensor::set(), Lorene::Tensor::triad, and update().

## set_longit_trans()

void Lorene::Sym_tensor::set_longit_trans | ( | const Vector & | v,
|  | const Sym_tensor_trans & | a )

inherited

Assigns the derived members `p_longit_pot` and `p_transverse` and updates the components accordingly.

(see the documentation of these derived members for details)

Definition at line 88 of file sym_tensor_decomp.C.

References Lorene::dec_dzpuis(), del_deriv(), Lorene::Tensor::get_index_type(), Lorene::Sym_tensor_trans::get_met_div(), Lorene::Tensor::get_place_met(), Lorene::Vector::ope_killing(), p_longit_pot, p_transverse, and Lorene::Tensor::set_dependance().

## set_rr_eta_mu()

void Lorene::Sym_tensor_tt::set_rr_eta_mu | ( | const Scalar & | hrr,
|  | const Scalar & | eta_i,
|  | const Scalar & | mu_i )

Sets the component , as well as the angular potentials and (see members `p_eta` and `p_mu` ).

The other components are updated consistently by a call to the method `update()` .

Parameters

  hrr | [input] value of
  eta_i | [input] angular potential
  mu_i | [input] angular potential

Definition at line 215 of file sym_tensor_tt_etamu.C.

References Lorene::Scalar::get_dzpuis(), Lorene::Sym_tensor::p_eta, Lorene::Sym_tensor::p_mu, Lorene::Tensor::set(), Lorene::Tensor::triad, and update().

## set_rr_mu()

void Lorene::Sym_tensor_tt::set_rr_mu | ( | const Scalar & | hrr,
|  | const Scalar & | mu_i )

Sets the component , as well as the angular potential (see member `p_mu` ).

The angular potential (member `p_eta` ) is deduced from the divergence free condition. The other tensor components are updated consistently by a call to the method `update()` .

Parameters

  hrr | [input] value of
  mu_i | [input] angular potential

Definition at line 238 of file sym_tensor_tt_etamu.C.

References eta(), Lorene::Scalar::get_dzpuis(), Lorene::Sym_tensor::p_mu, Lorene::Tensor::set(), Lorene::Tensor::triad, and update().

## set_tt_part_det_one()

void Lorene::Sym_tensor_trans::set_tt_part_det_one | ( | const Sym_tensor_tt & | hijtt,
|  | const Scalar * | h_prev = 0x0,
|  | Param * | par_mat = 0x0,
|  | double | precis = 1.e-14,
|  | int | it_max = 100 )

inherited

Assignes the TT-part of the tensor.

The trace is deduced from the divergence-free condition, through the Dirac system on , so that `*this` + the flat metric has a determinant equal to 1. It then updates the components accordingly. This function makes an iteration until the relative difference in the trace between two steps is lower than `precis` .

Parameters

  hijtt | the TT part for `this`.
  h_prev | a pointer on a guess for the trace of `*this`; if null, then the iteration starts from 0.
  precis | relative difference in the trace computation to end the iteration.
  it_max | maximal number of iterations.

Definition at line 226 of file sym_tensor_trans_aux.C.

References Lorene::abs(), Lorene::Scalar::div_r(), Lorene::Sym_tensor_tt::eta(), Lorene::Scalar::get_spectral_base(), Lorene::Sym_tensor::get_tilde_B_from_TT_trace(), Lorene::max(), Lorene::Tensor::mp, Lorene::Sym_tensor::mu(), p_trace, p_tt, Lorene::Sym_tensor::set_auxiliary(), Lorene::Scalar::set_etat_zero(), Lorene::Scalar::set_spectral_base(), sol_Dirac_tilde_B(), Sym_tensor_trans(), Lorene::Tensor::triad, Lorene::Sym_tensor::www(), and Lorene::Sym_tensor::xxx().

## set_tt_trace()

void Lorene::Sym_tensor_trans::set_tt_trace | ( | const Sym_tensor_tt & | a,
|  | const Scalar & | h,
|  | Param * | par = 0x0 )

inherited

Assigns the derived members `p_tt` and `p_trace` and updates the components accordingly.

(see the documentation of these derived members for details)

Definition at line 235 of file sym_tensor_trans.C.

References Lorene::Scalar::check_dzpuis(), Lorene::dec_dzpuis(), Lorene::Tensor::dec_dzpuis(), del_deriv(), Lorene::Scalar::derive_con(), get_met_div(), met_div, Lorene::Tensor::mp, p_trace, p_tt, Lorene::Scalar::poisson(), and Lorene::Sym_tensor::Sym_tensor().

## sol_Dirac_A()

void Lorene::Sym_tensor_trans::sol_Dirac_A | ( | const Scalar & | aaa,
|  | Scalar & | tilde_mu,
|  | Scalar & | xxx,
|  | const Param * | par_bc = 0x0 ) const

protected inherited

Solves a system of two coupled first-order PDEs obtained from the divergence-free condition (Dirac gauge) and the requirement that the potential A (see `Sym_tensor::p_aaa` ) has a given value.

The system reads:

Note that this is solved only for and that (see `Sym_tensor::p_mu` ).

Parameters

  aaa | [input] the source A
  tilde_mu | [output] the solution
  xxx | [output] the solution X
  par_bc | [input] `Param` to control the boundary conditions

Definition at line 82 of file sym_tensor_trans_dirac.C.

References Lorene::Tensor::annule_domain(), Lorene::Matrice::annule_hard(), Lorene::Mtbl_cf::annule_hard(), Lorene::Scalar::annule_hard(), Lorene::Tbl::annule_hard(), Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Mtbl_cf::dsdx(), Lorene::Map_af::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Scalar::get_etat(), Lorene::Param::get_int(), Lorene::Diff_dsdx::get_matrice(), Lorene::Diff_id::get_matrice(), Lorene::Diff_sx::get_matrice(), Lorene::Diff_xdsdx::get_matrice(), Lorene::Param::get_n_int(), Lorene::Param::get_n_tbl_mod(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Scalar::get_spectral_base(), Lorene::Scalar::get_spectral_va(), Lorene::Param::get_tbl_mod(), Lorene::Mg3d::get_type_r(), Lorene::Base_val::give_quant_numbers(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, Lorene::Scalar::mult_r(), Lorene::Base_val::mult_x(), R_CHEBP, Lorene::Matrice::set(), Lorene::Mtbl_cf::set(), Lorene::Tbl::set(), Lorene::Valeur::set_etat_cf_qcq(), Lorene::Matrice::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Matrice::set_lu(), Lorene::Scalar::set_spectral_base(), Lorene::Scalar::set_spectral_va(), Lorene::Mtbl_cf::val_in_bound_jk(), Lorene::Mtbl_cf::val_out_bound_jk(), Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().

## sol_Dirac_A2()

void Lorene::Sym_tensor_trans::sol_Dirac_A2 | ( | const Scalar & | aaa,
|  | Scalar & | tilde_mu,
|  | Scalar & | x_new,
|  | Scalar | bound_mu,
|  | const Param * | par_bc )

inherited

Same resolution as sol_Dirac_Abound, but here the boundary conditions are the degenerate elliptic conditions encontered when solving the Kerr problem.

Definition at line 83 of file sym_tensor_trans_dirac_boundfree.C.

References Lorene::Tensor::annule_domain(), Lorene::Matrice::annule_hard(), Lorene::Mtbl_cf::annule_hard(), Lorene::Scalar::annule_hard(), Lorene::Tbl::annule_hard(), Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Mtbl_cf::dsdx(), Lorene::Map_af::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Scalar::get_etat(), Lorene::Param::get_int(), Lorene::Diff_dsdx::get_matrice(), Lorene::Diff_id::get_matrice(), Lorene::Diff_sx::get_matrice(), Lorene::Diff_xdsdx::get_matrice(), Lorene::Param::get_n_int(), Lorene::Param::get_n_tbl_mod(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Scalar::get_spectral_base(), Lorene::Scalar::get_spectral_va(), Lorene::Param::get_tbl_mod(), Lorene::Mg3d::get_type_r(), Lorene::Base_val::give_quant_numbers(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, Lorene::Scalar::mult_r(), Lorene::Base_val::mult_x(), Lorene::Matrice::set(), Lorene::Mtbl_cf::set(), Lorene::Tbl::set(), Lorene::Valeur::set_etat_cf_qcq(), Lorene::Matrice::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Tbl::set_etat_zero(), Lorene::Matrice::set_lu(), Lorene::Scalar::set_spectral_base(), Lorene::Scalar::set_spectral_va(), Lorene::Mtbl_cf::val_in_bound_jk(), Lorene::Mtbl_cf::val_out_bound_jk(), Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().

## sol_Dirac_Abound()

void Lorene::Sym_tensor_trans::sol_Dirac_Abound | ( | const Scalar & | aaa,
|  | Scalar & | tilde_mu,
|  | Scalar & | x_new,
|  | Scalar | bound_mu,
|  | const Param * | par_bc )

inherited

Same resolution as sol_Dirac_A, but with inner boundary conditions added.

For now, only Robyn-type boundary conditions on can be imposed.

Definition at line 81 of file sym_tensor_trans_dirac_bound2.C.

References Lorene::Tensor::annule_domain(), Lorene::Matrice::annule_hard(), Lorene::Mtbl_cf::annule_hard(), Lorene::Scalar::annule_hard(), Lorene::Tbl::annule_hard(), Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Mtbl_cf::dsdx(), Lorene::Map_af::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Scalar::get_etat(), Lorene::Param::get_int(), Lorene::Diff_dsdx::get_matrice(), Lorene::Diff_id::get_matrice(), Lorene::Diff_sx::get_matrice(), Lorene::Diff_xdsdx::get_matrice(), Lorene::Param::get_n_int(), Lorene::Param::get_n_tbl_mod(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Scalar::get_spectral_base(), Lorene::Scalar::get_spectral_va(), Lorene::Param::get_tbl_mod(), Lorene::Mg3d::get_type_r(), Lorene::Base_val::give_quant_numbers(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, Lorene::Scalar::mult_r(), Lorene::Base_val::mult_x(), Lorene::Matrice::set(), Lorene::Mtbl_cf::set(), Lorene::Tbl::set(), Lorene::Valeur::set_etat_cf_qcq(), Lorene::Matrice::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Tbl::set_etat_zero(), Lorene::Matrice::set_lu(), Lorene::Scalar::set_spectral_base(), Lorene::Scalar::set_spectral_va(), Lorene::Mtbl_cf::val_in_bound_jk(), Lorene::Mtbl_cf::val_out_bound_jk(), Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().

## sol_Dirac_BC2()

void Lorene::Sym_tensor_trans::sol_Dirac_BC2 | ( | const Scalar & | bb,
|  | const Scalar & | cc,
|  | const Scalar & | hh,
|  | Scalar & | hrr,
|  | Scalar & | tilde_eta,
|  | Scalar & | ww,
|  | Scalar | bound_eta,
|  | double | dir,
|  | double | neum,
|  | double | rhor,
|  | Param * | par_bc,
|  | Param * | par_mat )

inherited

Same resolution as sol_Dirac_tilde_B, but with inner boundary conditions added.

The difference is here, one has to put B and C values in (and not only ). For now, only Robyn-type boundary conditions on can be imposed.

Definition at line 580 of file sym_tensor_trans_dirac_bound2.C.

References Lorene::Param::add_int_mod(), Lorene::Param::add_itbl_mod(), Lorene::Param::add_matrice_mod(), Lorene::Param::add_tbl_mod(), Lorene::Tensor::annule_domain(), Lorene::Itbl::annule_hard(), Lorene::Matrice::annule_hard(), Lorene::Mtbl_cf::annule_hard(), Lorene::Scalar::annule_hard(), Lorene::Tbl::annule_hard(), Lorene::Scalar::annule_l(), Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Scalar::check_dzpuis(), Lorene::Param::clean_all(), Lorene::Valeur::coef_i(), Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::dsdr(), Lorene::Mtbl_cf::dsdx(), Lorene::Map_af::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Scalar::get_etat(), Lorene::Param::get_int(), Lorene::Param::get_int_mod(), Lorene::Param::get_itbl_mod(), Lorene::Diff_dsdx::get_matrice(), Lorene::Diff_id::get_matrice(), Lorene::Diff_sx::get_matrice(), Lorene::Diff_xdsdx::get_matrice(), Lorene::Param::get_matrice_mod(), Lorene::Param::get_n_int(), Lorene::Param::get_n_int_mod(), Lorene::Param::get_n_itbl_mod(), Lorene::Param::get_n_matrice_mod(), Lorene::Param::get_n_tbl_mod(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Scalar::get_spectral_base(), Lorene::Scalar::get_spectral_va(), Lorene::Param::get_tbl_mod(), Lorene::Mg3d::get_type_p(), Lorene::Mg3d::get_type_r(), Lorene::Mg3d::get_type_t(), Lorene::Base_val::give_lmax(), Lorene::Base_val::give_quant_numbers(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, Lorene::Scalar::mult_r(), Lorene::Scalar::mult_r_dzpuis(), R_CHEBP, Lorene::Itbl::set(), Lorene::Matrice::set(), Lorene::Mtbl_cf::set(), Lorene::Tbl::set(), Lorene::Valeur::set_etat_cf_qcq(), Lorene::Itbl::set_etat_qcq(), Lorene::Matrice::set_etat_qcq(), Lorene::Scalar::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Matrice::set_lu(), Lorene::Scalar::set_spectral_base(), Lorene::Scalar::set_spectral_va(), sol_Dirac_l01(), Lorene::Scalar::std_spectral_base(), Lorene::Mtbl_cf::val_in_bound_jk(), Lorene::Mtbl_cf::val_out_bound_jk(), Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().

## sol_Dirac_BC3()

void Lorene::Sym_tensor_trans::sol_Dirac_BC3 | ( | const Scalar & | bb,
|  | const Scalar & | hh,
|  | Scalar & | hrr,
|  | Scalar & | tilde_eta,
|  | Scalar & | ww,
|  | Scalar | bound_hrr,
|  | Scalar | bound_eta,
|  | Param * | par_bc,
|  | Param * | par_mat )

inherited

Same resolution as sol_Dirac_Abound, but here the boundary conditions are the degenerate elliptic conditions encontered when solving the Kerr problem.

Definition at line 603 of file sym_tensor_trans_dirac_boundfree.C.

References Lorene::Param::add_int_mod(), Lorene::Param::add_itbl_mod(), Lorene::Param::add_matrice_mod(), Lorene::Param::add_tbl_mod(), Lorene::Tensor::annule_domain(), Lorene::Itbl::annule_hard(), Lorene::Matrice::annule_hard(), Lorene::Mtbl_cf::annule_hard(), Lorene::Scalar::annule_hard(), Lorene::Tbl::annule_hard(), Lorene::Scalar::annule_l(), Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Scalar::check_dzpuis(), Lorene::Param::clean_all(), Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::dsdr(), Lorene::Mtbl_cf::dsdx(), Lorene::Map_af::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Scalar::get_etat(), Lorene::Param::get_int(), Lorene::Param::get_int_mod(), Lorene::Param::get_itbl_mod(), Lorene::Diff_dsdx::get_matrice(), Lorene::Diff_id::get_matrice(), Lorene::Diff_sx::get_matrice(), Lorene::Diff_xdsdx::get_matrice(), Lorene::Param::get_matrice_mod(), Lorene::Param::get_n_int(), Lorene::Param::get_n_int_mod(), Lorene::Param::get_n_itbl_mod(), Lorene::Param::get_n_matrice_mod(), Lorene::Param::get_n_tbl_mod(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Scalar::get_spectral_base(), Lorene::Scalar::get_spectral_va(), Lorene::Param::get_tbl_mod(), Lorene::Mg3d::get_type_p(), Lorene::Mg3d::get_type_r(), Lorene::Mg3d::get_type_t(), Lorene::Base_val::give_lmax(), Lorene::Base_val::give_quant_numbers(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, Lorene::Scalar::mult_r(), Lorene::Scalar::mult_r_dzpuis(), R_CHEBP, Lorene::Itbl::set(), Lorene::Matrice::set(), Lorene::Mtbl_cf::set(), Lorene::Tbl::set(), Lorene::Valeur::set_etat_cf_qcq(), Lorene::Itbl::set_etat_qcq(), Lorene::Matrice::set_etat_qcq(), Lorene::Scalar::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Matrice::set_lu(), Lorene::Scalar::set_spectral_base(), Lorene::Scalar::set_spectral_va(), Lorene::Mtbl_cf::val_in_bound_jk(), Lorene::Mtbl_cf::val_out_bound_jk(), Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().

## sol_Dirac_l01()

void Lorene::Sym_tensor_trans::sol_Dirac_l01 | ( | const Scalar & | hh,
|  | Scalar & | hrr,
|  | Scalar & | tilde_eta,
|  | Param * | par_mat ) const

protected inherited

Solves the same system as `Sym_tensor_trans::sol_Dirac_tilde_B` but only for .

In these particular cases, W =0 the system is simpler and homogeneous solutions are different.

Definition at line 1438 of file sym_tensor_trans_dirac.C.

References Lorene::Param::add_matrice_mod(), Lorene::Itbl::annule_hard(), Lorene::Matrice::annule_hard(), Lorene::Mtbl_cf::annule_hard(), Lorene::Scalar::annule_hard(), Lorene::Tbl::annule_hard(), Lorene::Valeur::c_cf, Lorene::Scalar::div_r_dzpuis(), Lorene::Map_af::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Scalar::get_etat(), Lorene::Diff_dsdx::get_matrice(), Lorene::Diff_id::get_matrice(), Lorene::Diff_sx::get_matrice(), Lorene::Diff_xdsdx::get_matrice(), Lorene::Param::get_matrice_mod(), Lorene::Param::get_n_matrice_mod(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Scalar::get_spectral_base(), Lorene::Scalar::get_spectral_va(), Lorene::Mg3d::get_type_r(), Lorene::Base_val::give_lmax(), Lorene::Base_val::give_quant_numbers(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, Lorene::Base_val::mult_x(), R_CHEBP, Lorene::Itbl::set(), Lorene::Matrice::set(), Lorene::Mtbl_cf::set(), Lorene::Tbl::set(), Lorene::Matrice::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Matrice::set_lu(), Lorene::Scalar::set_spectral_va(), Lorene::Mtbl_cf::val_in_bound_jk(), Lorene::Mtbl_cf::val_out_bound_jk(), and Lorene::Valeur::ylm().

## sol_Dirac_l01_2()

void Lorene::Sym_tensor_trans::sol_Dirac_l01_2 | ( | const Scalar & | hh,
|  | Scalar & | hrr,
|  | Scalar & | tilde_eta,
|  | Param * | par_mat )

inherited

Definition at line 1559 of file sym_tensor_trans_dirac_bound2.C.

## sol_Dirac_l01_bound()

void Lorene::Sym_tensor_trans::sol_Dirac_l01_bound | ( | const Scalar & | hh,
|  | Scalar & | hrr,
|  | Scalar & | tilde_eta,
|  | Scalar & | bound_hrr,
|  | Scalar & | bound_eta,
|  | Param * | par_mat )

inherited

Definition at line 1583 of file sym_tensor_trans_dirac_boundfree.C.

## sol_Dirac_tilde_B()

void Lorene::Sym_tensor_trans::sol_Dirac_tilde_B | ( | const Scalar & | tilde_b,
|  | const Scalar & | hh,
|  | Scalar & | hrr,
|  | Scalar & | tilde_eta,
|  | Scalar & | www,
|  | Param * | par_bc = 0x0,
|  | Param * | par_mat = 0x0 ) const

protected inherited

Solves a system of three coupled first-order PDEs obtained from divergence-free conditions (Dirac gauge) and the requirement that the potential (see `Sym_tensor::p_tilde_b` ) has a given value.

The system reads:

Note that (for definitions, see derived members of `Sym_tensor`).

Parameters

  tilde_b | [input] the source
  hh | [input] the trace of the tensor
  hrr | [output] the rr component of the result
  tilde_eta | [output] the solution
  www | [output] the solution W
  par_bc | [input] `Param` to control the boundary conditions
  par_mat | [input/output] `Param` in which the operator matrix is stored.

Definition at line 583 of file sym_tensor_trans_dirac.C.

References Lorene::Param::add_int_mod(), Lorene::Param::add_itbl_mod(), Lorene::Param::add_matrice_mod(), Lorene::Param::add_tbl_mod(), Lorene::Tensor::annule_domain(), Lorene::Itbl::annule_hard(), Lorene::Matrice::annule_hard(), Lorene::Mtbl_cf::annule_hard(), Lorene::Scalar::annule_hard(), Lorene::Tbl::annule_hard(), Lorene::Scalar::annule_l(), Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Scalar::check_dzpuis(), Lorene::Param::clean_all(), Lorene::Scalar::div_r_dzpuis(), Lorene::Scalar::dsdr(), Lorene::Mtbl_cf::dsdx(), Lorene::Map_af::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Scalar::get_etat(), Lorene::Param::get_int(), Lorene::Param::get_int_mod(), Lorene::Param::get_itbl_mod(), Lorene::Diff_dsdx::get_matrice(), Lorene::Diff_id::get_matrice(), Lorene::Diff_sx::get_matrice(), Lorene::Diff_xdsdx::get_matrice(), Lorene::Param::get_matrice_mod(), Lorene::Param::get_n_int(), Lorene::Param::get_n_int_mod(), Lorene::Param::get_n_itbl_mod(), Lorene::Param::get_n_matrice_mod(), Lorene::Param::get_n_tbl_mod(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Scalar::get_spectral_base(), Lorene::Scalar::get_spectral_va(), Lorene::Param::get_tbl_mod(), Lorene::Mg3d::get_type_p(), Lorene::Mg3d::get_type_r(), Lorene::Mg3d::get_type_t(), Lorene::Base_val::give_lmax(), Lorene::Base_val::give_quant_numbers(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, Lorene::Scalar::mult_r(), Lorene::Scalar::mult_r_dzpuis(), Lorene::Base_val::mult_x(), R_CHEBP, Lorene::Itbl::set(), Lorene::Matrice::set(), Lorene::Mtbl_cf::set(), Lorene::Tbl::set(), Lorene::Valeur::set_etat_cf_qcq(), Lorene::Itbl::set_etat_qcq(), Lorene::Matrice::set_etat_qcq(), Lorene::Scalar::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Matrice::set_lu(), Lorene::Scalar::set_spectral_base(), Lorene::Scalar::set_spectral_va(), sol_Dirac_l01(), Lorene::Mtbl_cf::val_in_bound_jk(), Lorene::Mtbl_cf::val_out_bound_jk(), Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().

## sol_elliptic_ABC()

void Lorene::Sym_tensor_trans::sol_elliptic_ABC | ( | Sym_tensor & | source,
|  | Scalar | aaa,
|  | Scalar | bbb,
|  | Scalar | ccc )

inherited

Finds spectral potentials A, B, C of solution of an tensorial TT elliptic equation, given the source.

References Lorene::Sym_tensor::Sym_tensor(), Sym_tensor_trans(), and Lorene::Tensor::trace().

## the_trace()

const Scalar & Lorene::Sym_tensor_trans::the_trace | ( |  | ) | const

inherited

Returns the trace of the tensor with respect to metric `*met_div`.

Definition at line 270 of file sym_tensor_trans.C.

References met_div, p_trace, Lorene::Tensor::trace(), and Lorene::Tensor::type_indice.

## trace_from_det_one()

void Lorene::Sym_tensor_trans::trace_from_det_one | ( | const Sym_tensor_tt & | htt,
|  | double | precis = 1.e-14,
|  | int | it_max = 100 )

inherited

Assigns the derived member `p_tt` and computes the trace so that `*this` + the flat metric has a determinant equal to 1.

It then updates the components accordingly, with a `dzpuis` = 2. This function makes an iteration until the relative difference in the trace between two steps is lower than `precis` .

Parameters

  htt | the transverse traceless part; all components must have dzpuis = 2.
  precis | relative difference in the trace computation to end the iteration.
  it_max | maximal number of iterations.

Definition at line 315 of file sym_tensor_trans.C.

References Lorene::abs(), Lorene::Scalar::check_dzpuis(), Lorene::Tensor::cmp, Lorene::Scalar::dec_dzpuis(), get_met_div(), Lorene::Tensor::get_n_comp(), Lorene::max(), met_div, Lorene::Tensor::mp, Lorene::Scalar::set_etat_zero(), set_tt_trace(), and Sym_tensor_trans().

## transverse()

const Sym_tensor_trans & Lorene::Sym_tensor::transverse | ( | const Metric & | gam,
|  | Param * | par = 0x0,
|  | int | method_poisson = 6 ) const

inherited

Computes the transverse part of the tensor with respect to a given metric, transverse meaning divergence-free with respect to that metric.

Denoting `*this` by , we then have

where denotes the covariant derivative with respect to the given metric and is the vector potential of the longitudinal part of (function `longit_pot()` below)

Parameters

  gam | metric with respect to the transverse decomposition is performed
  par | parameters for the vector Poisson equation
  method_poisson | type of method for solving the vector Poisson equation to get the longitudinal part (see method `Vector::poisson`)

Definition at line 110 of file sym_tensor_decomp.C.

References Lorene::Tensor::cmp, Lorene::Tensor::get_place_met(), Lorene::Tensor::inc_dzpuis(), longit_pot(), Lorene::Tensor::mp, Lorene::Tensor::n_comp, Lorene::Vector::ope_killing(), p_transverse, Lorene::Tensor::set_dependance(), Sym_tensor(), Lorene::Tensor::triad, and Lorene::Tensor::type_indice.

## tt_part()

const Sym_tensor_tt & Lorene::Sym_tensor_trans::tt_part | ( | Param * | par = 0x0 | ) | const

inherited

Returns the transverse traceless part of the tensor, the trace being defined with respect to metric `*met_div`.

Definition at line 284 of file sym_tensor_trans.C.

References Lorene::Tensor::dec_dzpuis(), Lorene::Scalar::derive_con(), Lorene::Scalar::get_dzpuis(), Lorene::Tensor::inc_dzpuis(), met_div, Lorene::Tensor::mp, p_tt, Lorene::Scalar::poisson(), Lorene::Sym_tensor::Sym_tensor(), the_trace(), and Lorene::Tensor::triad.

## ttt()

const Scalar & Lorene::Sym_tensor::ttt | ( |  | ) | const

inherited

Gives the field T (see member `p_ttt` ).

Definition at line 190 of file sym_tensor_aux.C.

References p_ttt, and Lorene::Tensor::triad.

## update()

void Lorene::Sym_tensor_tt::update | ( | int | dzp,
|  | Param * | par1 = 0x0,
|  | Param * | par2 = 0x0 )

protected

Computes the components , , , and , from and the potentials and .

Parameters

  dzp | `dzpuis` parameter of the result, i.e. of the components .

Definition at line 338 of file sym_tensor_tt_etamu.C.

References Lorene::Tensor::cmp, Lorene::Sym_tensor_trans::del_deriv(), Lorene::Scalar::div_sint(), Lorene::Scalar::dsdr(), Lorene::Scalar::dsdt(), Lorene::Tensor::mp, Lorene::Scalar::mult_cost(), Lorene::Scalar::mult_r_dzpuis(), Lorene::Scalar::mult_sint(), Lorene::Tensor::operator()(), Lorene::Sym_tensor::p_eta, Lorene::Sym_tensor::p_mu, Lorene::Scalar::poisson_angu(), Lorene::Tensor_sym::position(), Lorene::Itbl::set(), Lorene::Scalar::stdsdp(), and Lorene::Tensor::triad.

## www()

const Scalar & Lorene::Sym_tensor::www | ( |  | ) | const

inherited

Gives the field W (see member `p_www` ).

Definition at line 209 of file sym_tensor_aux.C.

References Lorene::Scalar::div_tant(), Lorene::Scalar::dsdt(), Lorene::Tensor::operator()(), p_www, Lorene::Scalar::poisson_angu(), Lorene::Scalar::stdsdp(), and Lorene::Tensor::triad.

## xxx()

const Scalar & Lorene::Sym_tensor::xxx | ( |  | ) | const

inherited

Gives the field X (see member `p_xxx` ).

Definition at line 240 of file sym_tensor_aux.C.

References Lorene::Scalar::div_tant(), Lorene::Scalar::dsdt(), Lorene::Tensor::operator()(), p_xxx, Lorene::Scalar::poisson_angu(), Lorene::Scalar::stdsdp(), and Lorene::Tensor::triad.

## Member Data Documentation

## met_div

const Metric* const Lorene::Sym_tensor_trans::met_div

protected inherited

Metric with respect to which the divergence and the trace are defined.

Definition at line 614 of file sym_tensor.h.

## p_aaa

Scalar* Lorene::Sym_tensor::p_aaa

mutable protected inherited

Field A defined from X and insensitive to the longitudinal part of the `Sym_tensor` (only for ).

Its definition reads

Definition at line 322 of file sym_tensor.h.

## p_eta

Scalar* Lorene::Sym_tensor::p_eta

mutable protected inherited

Field such that the components of the tensor are written (has only meaning with spherical components!):

Definition at line 260 of file sym_tensor.h.

## p_khi

Scalar* Lorene::Sym_tensor_tt::p_khi

mutable protected

Field such that the component .

Definition at line 946 of file sym_tensor.h.

## p_longit_pot

Vector* Lorene::Sym_tensor::p_longit_pot[N_MET_MAX]

mutable protected inherited

Array of the vector potential of the longitudinal part of the tensor with respect to various metrics (see documentation of member `p_transverse`.

Definition at line 246 of file sym_tensor.h.

## p_mu

Scalar* Lorene::Sym_tensor::p_mu

mutable protected inherited

Field such that the components of the tensor are written (has only meaning with spherical components!):

Definition at line 274 of file sym_tensor.h.

## p_tilde_b

Scalar* Lorene::Sym_tensor::p_tilde_b

mutable protected inherited

Field defined from and h insensitive to the longitudinal part of the `Sym_tensor`.

It is defined for each multipolar momentum by

Definition at line 334 of file sym_tensor.h.

## p_tilde_c

Scalar* Lorene::Sym_tensor::p_tilde_c

mutable protected inherited

Field defined from and h insensitive to the longitudinal part of the `Sym_tensor`.

It is defined for each multipolar momentum by

Definition at line 346 of file sym_tensor.h.

## p_trace

Scalar* Lorene::Sym_tensor_trans::p_trace

mutable protected inherited

Trace with respect to the metric `*met_div`.

Definition at line 617 of file sym_tensor.h.

## p_transverse

Sym_tensor_trans* Lorene::Sym_tensor::p_transverse[N_MET_MAX]

mutable protected inherited

Array of the transverse part of the tensor with respect to various metrics, transverse meaning divergence-free with respect to a metric.

Denoting `*this` by , we then have

where denotes the covariant derivative with respect to the given metric and is the vector potential of the longitudinal part of (member `p_longit_pot` below)

Definition at line 239 of file sym_tensor.h.

## p_tt

Sym_tensor_tt* Lorene::Sym_tensor_trans::p_tt

mutable protected inherited

Traceless part with respect to the metric `*met_div`.

Definition at line 620 of file sym_tensor.h.

## p_ttt

Scalar* Lorene::Sym_tensor::p_ttt

mutable protected inherited

Field T defined as .

Definition at line 315 of file sym_tensor.h.

## p_www

Scalar* Lorene::Sym_tensor::p_www

mutable protected inherited

Field W such that the components and of the tensor are written (has only meaning with spherical components!):

Definition at line 293 of file sym_tensor.h.

## p_xxx

Scalar* Lorene::Sym_tensor::p_xxx

mutable protected inherited

Field X such that the components and of the tensor are written (has only meaning with spherical components!):

Definition at line 312 of file sym_tensor.h.

The documentation for this class was generated from the following files:

- sym_tensor.h
- sym_tensor_tt.C
- sym_tensor_tt_etamu.C
- sym_ttt_poisson.C