27 #ifndef __SYM_TENSOR_H_ 28 #define __SYM_TENSOR_H_ 205 class Sym_tensor_trans ;
206 class Sym_tensor_tt ;
464 double alpha= -16.) ;
472 double alpha= -16.) ;
507 int method_poisson = 6)
const ;
520 int method_poisson = 6)
const ;
649 const Metric& met, FILE* fich) ;
698 const Scalar& the_trace()
const ;
723 const Param* par_bc = 0x0)
const ;
754 Param* par_mat=0x0)
const ;
761 Param* par_mat)
const ;
836 double precis = 1.e-14,
int it_max = 100) ;
852 void set_hrr_mu_det_one(
const Scalar& hrr,
const Scalar& mu_in,
853 double precis = 1.e-14,
int it_max = 100) ;
871 double precis = 1.e-14,
int it_max = 100) ;
891 void set_AtBtt_det_one(
const Scalar& a_in,
const Scalar& tbtt_in,
893 Param* par_mat = 0x0,
double precis = 1.e-14,
903 void set_AtB_trace(
const Scalar& a_in,
const Scalar& tb_in,
const 976 const Metric& met, FILE* fich) ;
1020 void set_rr_eta_mu(
const Scalar& hrr,
const Scalar& eta_i,
1034 void set_rr_mu(
const Scalar& hrr,
const Scalar& mu_i) ;
1048 void set_khi_eta_mu(
const Scalar& khi_i,
const Scalar& eta_i,
1064 void set_khi_mu(
const Scalar& khi_i,
const Scalar& mu_i,
int dzp = 0,
1066 Param* par3 = 0x0) ;
1076 Param* par_mat = 0x0) ;
1085 const Scalar& khi()
const ;
1097 void update(
int dzp,
Param* par1 = 0x0,
Param* par2 = 0x0) ;
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 )...
Scalar * p_mu
Field such that the components of the tensor are written (has only meaning with spherical component...
Metric for tensor calculation.
const Scalar & mu(Param *par=0x0) const
Gives the field (see member p_mu ).
Scalar * p_tilde_b
Field defined from and h insensitive to the longitudinal part of the Sym_tensor.
const Metric *const met_div
Metric with respect to which the divergence and the trace are defined.
Sym_tensor * inverse() const
Returns a pointer on the inverse of the Sym_tensor (seen as a matrix).
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 del_derive_met(int i) const
Logical destructor of the derivatives depending on the i-th element of met_depend specific to the cla...
Tensor field of valence 0 (or component of a tensorial field).
const Scalar & xxx() const
Gives the field X (see member p_xxx ).
Base class for coordinate mappings.
Basic integer array class.
Scalar * p_trace
Trace with respect to the metric *met_div.
Scalar * p_www
Field W such that the components and of the tensor are written (has only meaning with spherical com...
const Scalar & compute_tilde_C(bool output_ylm=true, Param *par=0x0) const
Gives the field (see member p_tilde_c ).
virtual void operator=(const Sym_tensor &a)
Assignment to another Sym_tensor.
Tensor field of valence 1.
Vectorial bases (triads) with respect to which the tensorial components are defined.
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(const Map &map, const Itbl &tipe, const Base_vect &triad_i)
Standard constructor.
const Scalar & ttt() const
Gives the field T (see member p_ttt ).
Scalar trace() const
Trace on two different type indices for a valence 2 tensor.
void set_der_0x0() const
Sets the pointers on derived quantities to 0x0.
Scalar * p_eta
Field such that the components of the tensor are written (has only meaning with spherical component...
Scalar * p_aaa
Field A defined from X and insensitive to the longitudinal part of the Sym_tensor (only for )...
const Scalar & www() const
Gives the field W (see member p_www ).
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 diverg...
Sym_tensor_tt * p_tt
Traceless part with respect to the metric *met_div.
const Vector & divergence(const Metric &) const
Returns the divergence of this with respect to a Metric .
virtual void del_deriv() const
Deletes the derived quantities.
virtual ~Sym_tensor()
Destructor.
const Scalar & compute_A(bool output_ylm=true, Param *par=0x0) const
Gives the field A (see member p_aaa ).
Scalar * p_xxx
Field X such that the components and of the tensor are written (has only meaning with spherical com...
const Scalar & compute_tilde_B(bool output_ylm=true, Param *par=0x0) const
Gives the field (see member p_tilde_b ).
Vector * p_longit_pot[N_MET_MAX]
Array of the vector potential of the longitudinal part of the tensor with respect to various metrics ...
const Metric & get_met_div() const
Returns the metric with respect to which the divergence and the trace are defined.
Scalar * p_tilde_c
Field defined from and h insensitive to the longitudinal part of the Sym_tensor.
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 ...
Transverse symmetric tensors of rank 2.
virtual const Scalar & eta(Param *par=0x0) const
Gives the field (see member p_eta ).
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 ...
Scalar * p_ttt
Field T defined as .
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...
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 ...
Scalar * p_khi
Field such that the component .
Symmetric tensors (with respect to two of their arguments).
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 transv...
Sym_tensor derive_lie(const Vector &v) const
Computes the Lie derivative of this with respect to some vector field v.
Class intended to describe valence-2 symmetric tensors.
Transverse and traceless symmetric tensors of rank 2.
Sym_tensor_trans * p_transverse[N_MET_MAX]
Array of the transverse part of the tensor with respect to various metrics, transverse meaning diver...