30 char sym_tensor__aux_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Tensor/sym_tensor_aux.C,v 1.15 2014/10/13 08:53:43 j_novak Exp $" ;
120 int dzp_resu = ((dzp == 0) ? 0 : dzp-1) ;
129 if (
dynamic_cast<const Map_af*
>(
mp) != 0x0) {
166 int dzp_resu = ((dzp == 0) ? 0 : dzp-1) ;
171 if (
dynamic_cast<const Map_af*
>(
mp) != 0x0) {
197 p_ttt =
new Scalar(
operator()(2,2) +
operator()(3,3) ) ;
223 source_w += 2*tmp.
stdsdp() ;
255 source_x -= 2*tmp.
stdsdp() ;
273 int dzeta = (dzp == 0 ? 0 : dzp - 1) ;
281 assert(&w_in !=
p_www) ;
282 assert(&x_in !=
p_xxx) ;
283 assert(&t_in !=
p_ttt) ;
296 set(2,2) = 0.5*t_in + ppp ;
297 set(3,3) = 0.5*t_in - ppp ;
324 int dzp_resu = ((dzp == 0) ? 2 : dzp+1) ;
337 if (
dynamic_cast<const Map_af*
>(
mp) != 0x0) {
370 int dzp_resu = ((dzp == 0) ? 2 : dzp+1) ;
384 if (
dynamic_cast<const Map_af*
>(
mp) != 0x0) {
388 assert (par != 0x0) ;
397 Scalar etasr2 = tilde_eta ;
417 if (etasr2.
get_etat() != ETATZERO) {
447 int m_q, l_q, base_r ;
448 for (
int lz=0; lz<nz; lz++) {
452 for (
int k=0; k<np+1; k++)
453 for (
int j=0; j<nt; j++) {
455 if ( (nullite_plm(j, nt, k, np, base) == 1) && (l_q > 1))
457 for (
int i=0; i<nr; i++)
481 if (resu.
get_etat() == ETATZERO)
return resu ;
483 assert(resu.
get_etat() == ETATQCQ) ;
486 int dzp_resu = ((dzp == 0) ? 2 : dzp+1) ;
489 if (hsr.
get_etat() == ETATZERO)
return resu ;
501 int m_q, l_q, base_r ;
502 for (
int lz=0; lz<nz; lz++) {
506 for (
int k=0; k<np+1; k++)
507 for (
int j=0; j<nt; j++) {
509 if ( (nullite_plm(j, nt, k, np, base) == 1) && (l_q > 1))
511 for (
int i=0; i<nr; i++)
539 if (tras.
get_etat() == ETATZERO)
return resu ;
549 int dzp_resu = ((dzp == 0) ? 2 : dzp+1) ;
552 if (hsr.
get_etat() == ETATZERO)
return resu ;
563 int m_q, l_q, base_r ;
564 for (
int lz=0; lz<nz; lz++) {
570 for (
int k=0; k<np+1; k++)
571 for (
int j=0; j<nt; j++) {
573 if ( (nullite_plm(j, nt, k, np, base) == 1) && (l_q > 1))
575 for (
int i=0; i<nr; i++)
604 int dzp_resu = ((dzp == 0) ? 2 : dzp+1) ;
618 if (
dynamic_cast<const Map_af*
>(
mp) != 0x0) {
622 assert (par != 0x0) ;
631 Scalar etasr2 = tilde_eta ;
651 if (etasr2.
get_etat() != ETATZERO) {
681 int m_q, l_q, base_r ;
682 for (
int lz=0; lz<nz; lz++) {
686 for (
int k=0; k<np+1; k++)
687 for (
int j=0; j<nt; j++) {
689 if ( (nullite_plm(j, nt, k, np, base) == 1) && (l_q > 1))
691 for (
int i=0; i<nr; i++)
virtual void poisson_angu(const Scalar &source, Param &par, Scalar &uu, double lambda=0) const =0
Computes the solution of the generalized angular Poisson equation.
Bases of the spectral expansions.
int get_np(int l) const
Returns the number of points in the azimuthal direction ( ) in domain no. l.
void set_etat_cf_qcq()
Sets the logical state to ETATQCQ (ordinary state) for values in the configuration space (Mtbl_cf c_c...
Scalar * p_tilde_c
Field defined from and h insensitive to the longitudinal part of the Sym_tensor.
const Scalar & compute_tilde_B(bool output_ylm=true, Param *par=0x0) const
Gives the field (see member p_tilde_b ).
void set_spectral_base(const Base_val &)
Sets the spectral bases of the Valeur va
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 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.
const Scalar & dsdr() const
Returns of *this .
Mtbl_cf * c_cf
Coefficients of the spectral expansion of the function.
const Scalar & operator()(const Itbl &ind) const
Returns the value of a component (read-only version).
int get_nt(int l) const
Returns the number of points in the co-latitude direction ( ) in domain no. l.
const Scalar & www() const
Gives the field W (see member p_www ).
void annule_hard()
Sets the Tbl to zero in a hard way.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
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_www
Field W such that the components and of the tensor are written (has only meaning with spherical com...
Scalar * p_mu
Field such that the components of the tensor are written (has only meaning with spherical component...
bool check_dzpuis(int dzi) const
Returns false if the last domain is compactified and *this is not zero in this domain and dzpuis is n...
void mult_r_dzpuis(int ced_mult_r)
Multiplication by r everywhere but with the output flag dzpuis set to ced_mult_r .
Tensor field of valence 0 (or component of a tensorial field).
const Scalar & compute_A(bool output_ylm=true, Param *par=0x0) const
Gives the field A (see member p_aaa ).
virtual const Scalar & eta(Param *par=0x0) const
Gives the field (see member p_eta ).
Tbl & set(int l)
Read/write of the Tbl containing the coefficients in a given domain.
Mtbl * c
Values of the function at the points of the multi-grid
const Base_val & get_spectral_base() const
Returns the spectral bases of the Valeur va
void div_tant()
Division by .
Scalar * p_tilde_b
Field defined from and h insensitive to the longitudinal part of the Sym_tensor.
Scalar * p_eta
Field such that the components of the tensor are written (has only meaning with spherical component...
const Valeur & get_spectral_va() const
Returns va (read only version)
Valeur & set_spectral_va()
Returns va (read/write version)
void give_quant_numbers(int, int, int, int &, int &, int &) const
Computes the various quantum numbers and 1d radial base.
Scalar & set(const Itbl &ind)
Returns the value of a component (read/write version).
Scalar * p_ttt
Field T defined as .
void annule_l(int l_min, int l_max, bool ylm_output=false)
Sets all the multipolar components between l_min and l_max to zero.
const Map *const mp
Mapping on which the numerical values at the grid points are defined.
virtual void del_deriv() const
Deletes the derived quantities.
Spherical orthonormal vectorial bases (triads).
void annule_hard()
Sets the Mtbl_cf to zero in a hard way.
Scalar * p_aaa
Field A defined from X and insensitive to the longitudinal part of the Sym_tensor (only for ).
const Scalar & lapang() const
Returns the angular Laplacian of *this , where .
void div_r_dzpuis(int ced_mult_r)
Division by r everywhere but with the output flag dzpuis set to ced_mult_r .
int get_nzone() const
Returns the number of domains.
const Base_vect * triad
Vectorial basis (triad) with respect to which the tensor components are defined.
int get_nr(int l) const
Returns the number of points in the radial direction ( ) in domain no. l.
const Scalar & ttt() const
Gives the field T (see member p_ttt ).
virtual void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
virtual void set_etat_zero()
Sets the logical state to ETATZERO (zero).
void set_dzpuis(int)
Modifies the dzpuis flag.
const Scalar & dsdt() const
Returns of *this .
int get_etat() const
Returns the logical state ETATNONDEF (undefined), ETATZERO (null) or ETATQCQ (ordinary).
const Scalar & mu(Param *par=0x0) const
Gives the field (see member p_mu ).
void mult_x()
The basis is transformed as with a multiplication by .
void annule_hard()
Sets the Scalar to zero in a hard way.
const Scalar & xxx() const
Gives the field X (see member p_xxx ).
const Scalar & compute_tilde_C(bool output_ylm=true, Param *par=0x0) const
Gives the field (see member p_tilde_c ).
Scalar poisson_angu(double lambda=0) const
Solves the (generalized) angular Poisson equation with *this as source.
int get_dzpuis() const
Returns dzpuis.
void ylm()
Computes the coefficients of *this.
const Scalar & stdsdp() const
Returns of *this .
Scalar * p_xxx
Field X such that the components and of the tensor are written (has only meaning with spherical com...
void ylm_i()
Inverse of ylm()