30char poisson_angu_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Non_class_members/PDE/poisson_angu.C,v 1.9 2014/10/13 08:53:29 j_novak Exp $" ;
78#include "type_parite.h"
86void _poisangu_pas_prevu(Mtbl_cf* mt,
int l,
double) {
87 cout <<
"Unknwon theta basis in the operator Mtbl_cf::poisson_angu() !" << endl ;
88 cout <<
" basis : " << hex << (mt->base).b[l] << endl ;
96void _poisangu_t_leg(Mtbl_cf* mt,
int l,
double lambda)
102 if (tb->get_etat() == ETATZERO) {
108 int nr = mt->get_mg()->get_nr(l) ;
109 int nt = mt->get_mg()->get_nt(l) ;
110 int np = mt->get_mg()->get_np(l) ;
112 int np1 = ( np == 1 ) ? 1 : np+1 ;
114 double* tuu = tb->t ;
118 for (j=0 ; j<nt ; j++) {
120 double xl = - ll*(ll+1) + lambda ;
122 if (fabs(xl) < 1.e-14) {
123 for (i=0 ; i<nr ; i++) {
128 for (i=0 ; i<nr ; i++) {
139 for (k=2 ; k<np1 ; k++) {
142 for (j=m/2 ; j<nt ; j++) {
144 double xl = - ll*(ll+1) + lambda ;
146 if (fabs(xl) < 1.e-14) {
147 for (i=0 ; i<nr ; i++) {
152 for (i=0 ; i<nr ; i++) {
167void _poisangu_t_leg_p(Mtbl_cf* mt,
int l,
double lambda)
173 if (tb->get_etat() == ETATZERO) {
179 int nr = mt->get_mg()->get_nr(l) ;
180 int nt = mt->get_mg()->get_nt(l) ;
181 int np = mt->get_mg()->get_np(l) ;
183 int np1 = ( np == 1 ) ? 1 : np+1 ;
185 double* tuu = tb->t ;
189 for (j=0 ; j<nt ; j++) {
191 double xl = - ll*(ll+1) + lambda ;
193 if (fabs(xl) < 1.e-14) {
194 for (i=0 ; i<nr ; i++) {
199 for (i=0 ; i<nr ; i++) {
210 for (k=2 ; k<np1 ; k++) {
213 for (j=m/2 ; j<nt ; j++) {
214 int ll = 2*j + (m%2) ;
215 double xl = - ll*(ll+1) + lambda ;
217 if (fabs(xl) < 1.e-14) {
218 for (i=0 ; i<nr ; i++) {
223 for (i=0 ; i<nr ; i++) {
238void _poisangu_t_leg_pp(Mtbl_cf* mt,
int l,
double lambda)
244 if (tb->get_etat() == ETATZERO) {
250 int nr = mt->get_mg()->get_nr(l) ;
251 int nt = mt->get_mg()->get_nt(l) ;
252 int np = mt->get_mg()->get_np(l) ;
254 int np1 = ( np == 1 ) ? 1 : np+1 ;
256 double* tuu = tb->t ;
260 for (j=0 ; j<nt ; j++) {
262 double xl = - ll*(ll+1) + lambda ;
264 if (fabs(xl) < 1.e-14) {
265 for (i=0 ; i<nr ; i++) {
270 for (i=0 ; i<nr ; i++) {
281 for (k=2 ; k<np1 ; k++) {
284 for (j=m/2 ; j<nt ; j++) {
286 double xl = - ll*(ll+1) + lambda ;
288 if (fabs(xl) < 1.e-14) {
289 for (i=0 ; i<nr ; i++) {
294 for (i=0 ; i<nr ; i++) {
309void _poisangu_t_leg_i(Mtbl_cf* mt,
int l,
double lambda)
315 if (tb->get_etat() == ETATZERO) {
321 int nr = mt->get_mg()->get_nr(l) ;
322 int nt = mt->get_mg()->get_nt(l) ;
323 int np = mt->get_mg()->get_np(l) ;
325 int np1 = ( np == 1 ) ? 1 : np+1 ;
327 double* tuu = tb->t ;
331 for (j=0 ; j<nt-1 ; j++) {
333 double xl = - ll*(ll+1) + lambda ;
335 if (fabs(xl) < 1.e-14) {
336 for (i=0 ; i<nr ; i++) {
341 for (i=0 ; i<nr ; i++) {
353 for (k=2 ; k<np1 ; k++) {
355 tuu += ((m+1)/2)*nr ;
356 for (j=(m+1)/2 ; j<nt-1 ; j++) {
357 int ll = 2*j + ((m+1)%2) ;
358 double xl = - ll*(ll+1) + lambda ;
360 if (fabs(xl) < 1.e-14) {
361 for (i=0 ; i<nr ; i++) {
366 for (i=0 ; i<nr ; i++) {
382void _poisangu_t_leg_ip(Mtbl_cf* mt,
int l,
double lambda)
388 if (tb->get_etat() == ETATZERO) {
394 int nr = mt->get_mg()->get_nr(l) ;
395 int nt = mt->get_mg()->get_nt(l) ;
396 int np = mt->get_mg()->get_np(l) ;
398 int np1 = ( np == 1 ) ? 1 : np+1 ;
400 double* tuu = tb->t ;
404 for (j=0 ; j<nt-1 ; j++) {
406 double xl = - ll*(ll+1) + lambda ;
408 if (fabs(xl) < 1.e-14) {
409 for (i=0 ; i<nr ; i++) {
414 for (i=0 ; i<nr ; i++) {
426 for (k=2 ; k<np1 ; k++) {
429 for (j=m/2 ; j<nt-1 ; j++) {
431 double xl = - ll*(ll+1) + lambda ;
433 if (fabs(xl) < 1.e-14) {
434 for (i=0 ; i<nr ; i++) {
439 for (i=0 ; i<nr ; i++) {
449 assert (tuu == tb->t + (np+1)*nt*nr) ;
458void _poisangu_t_leg_pi(Mtbl_cf* mt,
int l,
double lambda)
464 if (tb->get_etat() == ETATZERO) {
470 int nr = mt->get_mg()->get_nr(l) ;
471 int nt = mt->get_mg()->get_nt(l) ;
472 int np = mt->get_mg()->get_np(l) ;
474 double* tuu = tb->t ;
479 for (j=0 ; j<nt-1 ; j++) {
481 double xl = - ll*(ll+1) + lambda ;
483 if (fabs(xl) < 1.e-14) {
484 for (i=0 ; i<nr ; i++) {
489 for (i=0 ; i<nr ; i++) {
507 for (j=0 ; j<nt-1 ; j++) {
509 double xl = - ll*(ll+1) + lambda ;
511 if (fabs(xl) < 1.e-14) {
512 for (i=0 ; i<nr ; i++) {
517 for (i=0 ; i<nr ; i++) {
527 for (k=3 ; k<np+1 ; k++) {
528 int m = (k%2 == 0) ? k-1 : k ;
530 for (j=(m-1)/2 ; j<nt-1 ; j++) {
532 double xl = - ll*(ll+1) + lambda ;
534 if (fabs(xl) < 1.e-14) {
535 for (i=0 ; i<nr ; i++) {
540 for (i=0 ; i<nr ; i++) {
550 assert (tuu == tb->t + (np+1)*nt*nr) ;
559void _poisangu_t_leg_ii(Mtbl_cf* mt,
int l,
double lambda)
565 if (tb->get_etat() == ETATZERO) {
571 int nr = mt->get_mg()->get_nr(l) ;
572 int nt = mt->get_mg()->get_nt(l) ;
573 int np = mt->get_mg()->get_np(l) ;
575 double* tuu = tb->t ;
580 for (j=0 ; j<nt-1 ; j++) {
582 double xl = - ll*(ll+1) + lambda ;
584 if (fabs(xl) < 1.e-14) {
585 for (i=0 ; i<nr ; i++) {
590 for (i=0 ; i<nr ; i++) {
608 for (j=0 ; j<nt-1 ; j++) {
610 double xl = - ll*(ll+1) + lambda ;
612 if (fabs(xl) < 1.e-14) {
613 for (i=0 ; i<nr ; i++) {
618 for (i=0 ; i<nr ; i++) {
628 for (k=3 ; k<np+1 ; k++) {
629 int m = (k%2 == 0) ? k-1 : k ;
631 for (j=(m+1)/2 ; j<nt-1 ; j++) {
633 double xl = - ll*(ll+1) + lambda ;
635 if (fabs(xl) < 1.e-14) {
636 for (i=0 ; i<nr ; i++) {
641 for (i=0 ; i<nr ; i++) {
651 assert (tuu == tb->t + (np+1)*nt*nr) ;
660void _poisangu_t_leg_mp(Mtbl_cf* mt,
int l,
double lambda)
666 if (tb->get_etat() == ETATZERO) {
672 int nr = mt->get_mg()->get_nr(l) ;
673 int nt = mt->get_mg()->get_nt(l) ;
674 int np = mt->get_mg()->get_np(l) ;
676 int np1 = ( np == 1 ) ? 1 : np+1 ;
678 double* tuu = tb->t ;
682 for (j=0 ; j<nt ; j++) {
684 double xl = - ll*(ll+1) + lambda ;
686 if (fabs(xl) < 1.e-14) {
687 for (i=0 ; i<nr ; i++) {
692 for (i=0 ; i<nr ; i++) {
703 for (k=2 ; k<np1 ; k++) {
706 for (j=m ; j<nt ; j++) {
708 double xl = - ll*(ll+1) + lambda ;
710 if (fabs(xl) < 1.e-14) {
711 for (i=0 ; i<nr ; i++) {
716 for (i=0 ; i<nr ; i++) {
731void _poisangu_t_leg_mi(Mtbl_cf* mt,
int l,
double lambda)
737 if (tb->get_etat() == ETATZERO) {
743 int nr = mt->get_mg()->get_nr(l) ;
744 int nt = mt->get_mg()->get_nt(l) ;
745 int np = mt->get_mg()->get_np(l) ;
747 int np1 = ( np == 1 ) ? 1 : np+1 ;
749 double* tuu = tb->t ;
753 for (j=0 ; j<nt-1 ; j++) {
755 double xl = - ll*(ll+1) + lambda ;
757 if (fabs(xl) < 1.e-14) {
758 for (i=0 ; i<nr ; i++) {
763 for (i=0 ; i<nr ; i++) {
775 for (k=2 ; k<np1 ; k++) {
776 int m = 2*((k-1)/2) + 1 ;
778 for (j=m ; j<nt-1 ; j++) {
780 double xl = - ll*(ll+1) + lambda ;
782 if (fabs(xl) < 1.e-14) {
783 for (i=0 ; i<nr ; i++) {
788 for (i=0 ; i<nr ; i++) {