29char tenseur_pde_ylm_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Tenseur/tenseur_pde_ylm.C,v 1.2 2014/10/13 08:53:42 j_novak Exp $" ;
58void Tenseur::poisson_vect_ylm(
double lambda, Param& para, Tenseur& shift,
59 Tenseur& vecteur, Tenseur& scalaire,
int nylm,
60 double* intvec)
const {
61 assert (lambda != -1) ;
65 assert (shift.get_valence() == 1) ;
66 assert (shift.get_type_indice(0) ==
type_indice(0)) ;
67 assert (vecteur.get_valence() == 1) ;
68 assert (vecteur.get_type_indice(0) ==
type_indice(0)) ;
69 assert (scalaire.get_valence() == 0) ;
70 assert (
etat != ETATNONDEF) ;
75 if (
etat == ETATZERO) {
77 shift.set_etat_zero() ;
79 vecteur.set_etat_qcq() ;
80 for (
int i=0; i<3; i++) {
84 scalaire.set_etat_qcq() ;
91 for (
int i=0 ; i<3 ; i++) {
92 Param* par =
mp->donne_para_poisson_vect(para, i) ;
94 double* intvec2=
new double [nylm];
95 for (
int j=0; j<nylm; j++) {
96 intvec2[j]=intvec[i*nylm+j];
99 (*this)(i).poisson_ylm(*par, vecteur.set(i),nylm,intvec2) ;
106 vecteur.set_triad( *
triad ) ;
111 Param* par =
mp->donne_para_poisson_vect(para, 3) ;
113 double* intvec2=
new double[nylm];
114 for (
int j=0; j<nylm; j++) {
115 intvec2[j]=intvec[3*nylm+j];
118 source_scal().poisson_ylm(*par, scalaire.set(), nylm, intvec2) ;
126 Tenseur dxsi (auxiliaire.gradient()) ;
136 shift.set_etat_qcq() ;
138 for (
int i=0 ; i<3 ; i++)
139 shift.set(i) = (lambda+2)/2/(lambda+1) * vecteur(i)
140 - (lambda/2/(lambda+1)) * (dxsi(i) + dp(i)) ;
142 shift.set_triad( *(vecteur.triad) ) ;
149Tenseur Tenseur::poisson_vect_ylm(
double lambda, Tenseur& vecteur,
150 Tenseur& scalaire,
int nylm,
double* intvec)
const {
154 resu.set_etat_qcq() ;
155 poisson_vect_ylm(lambda, bidon, resu, vecteur, scalaire, nylm, intvec) ;
const Metrique * metric
For tensor densities: the metric defining the conformal factor.
const Map *const mp
Reference mapping.
Tenseur(const Map &map, const Metrique *met=0x0, double weight=0)
Constructor for a scalar field.
const Base_vect * triad
Vectorial basis (triad) with respect to which the tensor components are defined.
Itbl type_indice
Array of size valence contening the type of each index, COV for a covariant one and CON for a contrav...
int etat
Logical state ETATZERO , ETATQCQ or ETATNONDEF.
double poids
For tensor densities: the weight.
friend Tenseur skxk(const Tenseur &)
Contraction of the last index of (*this) with or , depending on the type of S .