57#include "type_parite.h"
65 const Tbl &,
double,
double) {
66 cout <<
" Solution homogene pas prevue ..... : "<< endl ;
79 const Tbl &source,
double alpha,
double beta) {
82 int dege = n-nondege.get_dim(0) ;
85 Tbl source_aux(source*alpha*alpha) ;
87 Tbl xxso(source_aux) ;
88 multx_1d(n, &xso.t,
R_CHEB) ;
89 multx_1d(n, &xxso.t,
R_CHEB) ;
90 multx_1d(n, &xxso.t,
R_CHEB) ;
91 source_aux = beta*beta/alpha/alpha*source_aux+2*beta/alpha*xso+xxso ;
93 source_aux = cl_helmholtz_plus (source_aux,
R_CHEB) ;
97 for (
int i=0 ; i<n-dege ; i++)
98 so.set(i) = source_aux(i) ;
100 Tbl auxi(nondege.inverse(so)) ;
104 for (
int i=dege ; i<n ; i++)
105 res.set(i) = auxi(i-dege) ;
107 for (
int i=0 ; i<dege ; i++)
116 const Tbl &source,
double alpha,
double) {
119 int dege = n-nondege.get_dim(0) ;
122 Tbl source_aux(source*alpha*alpha) ;
123 source_aux = cl_helmholtz_plus (source_aux,
R_CHEBP) ;
127 for (
int i=0 ; i<n-dege ; i++)
128 so.set(i) = source_aux(i) ;
130 Tbl auxi(nondege.inverse(so)) ;
134 for (
int i=dege ; i<n ; i++)
135 res.set(i) = auxi(i-dege) ;
137 for (
int i=0 ; i<dege ; i++)
147 const Tbl &source,
double alpha,
double beta,
152 const Tbl&, double, double) ;
159 solp_helmholtz_plus[i] = _solp_helmholtz_plus_pas_prevu ;
162 solp_helmholtz_plus[
R_CHEB >>
TRA_R] = _solp_helmholtz_plus_r_cheb ;
163 solp_helmholtz_plus[
R_CHEBP >>
TRA_R] = _solp_helmholtz_plus_r_chebp ;
166 Tbl res(solp_helmholtz_plus[base_r] (lap, nondege, source, alpha, beta)) ;
int get_dim(int i) const
Gives the i-th dimension (ie dim.dim[i]).
#define MAX_BASE
Nombre max. de bases differentes.
#define TRA_R
Translation en R, used for a bitwise shift (in hex).
#define R_CHEB
base de Chebychev ordinaire (fin)
#define R_CHEBP
base de Cheb. paire (rare) seulement