32 #include "ope_elementary.h" 39 Tbl _cl_sec_order_r2_pas_prevu (
const Tbl &so) {
41 cout <<
"Linear combination for Sec_order_r2 not implemented..." << endl ;
50 Tbl _cl_sec_order_r2_r_cheb (
const Tbl& source) {
56 for (
int i=0 ; i<n-2 ; i++) {
57 barre.set(i) = ((1+dirac)*source(i)-source(i+2))
63 for (
int i=0 ; i<n-4 ; i++)
64 res.set(i) = barre(i)-barre(i+2) ;
74 Tbl cl_sec_order_r2 (
const Tbl &source,
int base_r) {
77 static Tbl (*cl_sec_order_r2[
MAX_BASE])(
const Tbl &) ;
84 cl_sec_order_r2[i] = _cl_sec_order_r2_pas_prevu ;
87 cl_sec_order_r2[
R_CHEB >>
TRA_R] = _cl_sec_order_r2_r_cheb ;
90 Tbl res(cl_sec_order_r2[base_r](source)) ;
102 Tbl _solp_sec_order_r2_pas_prevu (
const Matrice &,
const Matrice &,
104 cout <<
" Solution particuliere pas prevue in sec_order_r2..... : "<< endl ;
115 Tbl _solp_sec_order_r2_r_cheb (
const Matrice &lap,
const Matrice &nondege,
119 int dege = n-nondege.get_dim(0) ;
122 Tbl source_aux (cl_sec_order_r2 (source,
R_CHEB)) ;
126 for (
int i=0 ; i<n-dege ; i++)
127 so.set(i) = source_aux(i) ;
129 Tbl auxi(nondege.inverse(so)) ;
133 for (
int i=dege ; i<n ; i++)
134 res.set(i) = auxi(i-dege) ;
136 for (
int i=0 ; i<dege ; i++)
157 solp_sec_order_r2[i] = _solp_sec_order_r2_pas_prevu ;
160 solp_sec_order_r2[
R_CHEB >>
TRA_R] = _solp_sec_order_r2_r_cheb ;
double alpha
Parameter of the associated mapping.
Matrice * ope_mat
Pointer on the matrix representation of the operator.
double dsp_minus
Value of the derivative of the particular solution at the inner boundary.
double sp_minus
Value of the particular solution at the inner boundary.
int base_r
Radial basis of decomposition.
double sp_plus
Value of the particular solution at the outer boundary.
#define TRA_R
Translation en R, used for a bitwise shift (in hex)
virtual Tbl get_solp(const Tbl &so) const
Computes the particular solution, given the source so .
double dsp_plus
Value of the derivative of the particular solution at the outer boundary.
virtual void do_non_dege() const
Computes the non-degenerated matrix of the operator.
int get_dim(int i) const
Gives the i-th dimension (ie dim.dim[i])
int get_dim(int i) const
Returns the dimension of the matrix.
#define MAX_BASE
Nombre max. de bases differentes.
Matrice * non_dege
Pointer on the non-degenerated matrix of the operator.
#define R_CHEB
base de Chebychev ordinaire (fin)