23 char cmp_raccord_zec_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Cmp/cmp_raccord_zec.C,v 1.4 2014/10/13 08:52:48 j_novak Exp $" ;
87 assert (
etat != ETATNONDEF) ;
94 cout <<
"Le mapping doit etre affine" << endl ;
104 double r_cont = -1./2./alpha ;
107 Tbl coef (nbre+2*lmax, nr) ;
110 int* deg =
new int[3] ;
111 deg[0] = 1 ; deg[1] = 1 ; deg[2] = nr ;
112 double* auxi =
new double[nr] ;
114 for (
int conte=0 ; conte<nbre+2*lmax ; conte++) {
115 for (
int i=0 ; i<nr ; i++)
116 auxi[i] =
pow(-1-
cos(M_PI*i/(nr-1)), (conte+puis)) ;
118 cfrcheb(deg, deg, auxi, deg, auxi) ;
119 for (
int i=0 ; i<nr ; i++)
120 coef.
set(conte, i) = auxi[i]*
pow (alpha, conte+puis) ;
125 Tbl valeurs (nbre, nt, np+1) ;
128 Cmp courant (*
this) ;
129 double* res_val =
new double[1] ;
131 for (
int conte=0 ; conte<nbre ; conte++) {
138 for (
int k=0 ; k<np+1 ; k++)
139 for (
int j=0 ; j<nt ; j++)
140 if (nullite_plm(j, nt, k, np, courant.
va.
base) == 1) {
142 for (
int i=0 ; i<nr ; i++)
143 auxi[i] = (*courant.
va.
c_cf)(nz-2, k, j, i) ;
147 som_r_cheb (auxi, nr, 1, 1, 1, res_val) ;
150 cout <<
"Cas non prevu dans raccord_zec" << endl ;
154 valeurs.
set(conte, k, j) = res_val[0] ;
156 Cmp copie (courant) ;
158 courant = copie.
dsdr() ;
172 int base_r, l_quant, m_quant ;
173 for (
int k=0 ; k<np+1 ; k++)
174 for (
int j=0 ; j<nt ; j++)
175 if (nullite_plm(j, nt, k, np,
va.
base) == 1) {
177 donne_lm (nz, nz-1, j, k, base, m_quant, l_quant, base_r) ;
184 for (
int col=0 ; col<nbre ; col++)
185 for (
int lig=0 ; lig<nbre ; lig++) {
187 int facteur = (lig%2==0) ? 1 : -1 ;
188 for (
int conte=0 ; conte<lig ; conte++)
189 facteur *= puis+col+conte+2*l_quant ;
190 systeme.
set(lig, col) = facteur/
pow(r_cont, puis+col+lig+2*l_quant) ;
196 Tbl sec_membre (nbre) ;
198 for (
int conte=0 ; conte<nbre ; conte++)
199 sec_membre.
set(conte) = valeurs(conte, k, j) ;
203 for (
int conte=0 ; conte<nbre ; conte++)
204 for (
int i=0 ; i<nr ; i++)
206 inv(conte)*coef(conte+2*l_quant, i) ;
208 else for (
int i=0 ; i<nr ; i++)