65 void multxpun_1d(
int,
double**,
int) ;
66 void mult2_xp1_1d(
int,
double**,
int) ;
108 for (indice =0; indice<
max_points; indice++) {
109 if (nr_done[indice] ==
npoints) {
113 if (nr_done[indice] == -1)
118 cerr <<
"Diff_x3dsdx2::get_matrice() : no space left!!" <<
'\n' 119 <<
"The value of Diff.max_points must be increased..." << endl ;
127 double* vect =
new double[
npoints] ;
128 double* cres =
new double[
npoints] ;
129 for (
int i=0; i<
npoints; i++) {
135 mult_xm1_1d_cheb(
npoints, vect, cres) ;
136 mult2_xm1_1d_cheb(
npoints, cres, vect) ;
138 resu.
set(j,i) = vect[j] ;
144 resu.
set(j,i) = vect[j] ;
150 resu.
set(j,i) = vect[j] ;
161 ost <<
" x^3 d2 / dx2 " << endl ;
Base (abstract) class for 1D spectral differential operators in one domain.
static const int max_points
Maximal number of matrices stored per base.
#define R_JACO02
base de Jacobi(0,2) ordinaire (finjac)
int npoints
Number of coefficients.
#define TRA_R
Translation en R, used for a bitwise shift (in hex)
#define R_CHEBI
base de Cheb. impaire (rare) seulement
#define R_CHEBP
base de Cheb. paire (rare) seulement
void initialize()
Initializes arrays.
int base
Base in radial direction.
void operator=(const Diff &)
Assignment to another Diff.
virtual const Matrice & get_matrice() const
Returns the matrix associated with the operator.
virtual ~Diff_x3dsdx2()
Destructor.
double & set(int j, int i)
Read/write of a particuliar element.
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
void operator=(const Diff_x3dsdx2 &)
Assignment to another Diff_x3dsdx2.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
Class for the elementary differential operator (see the base class Diff ).
Diff_x3dsdx2(int base_r, int nr)
Standard constructor.
#define R_CHEBU
base de Chebychev ordinaire (fin), dev. en 1/r
#define MAX_BASE
Nombre max. de bases differentes.