28 char diff_sxdsdx_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Diff/diff_sxdsdx.C,v 1.4 2014/10/13 08:52:51 j_novak Exp $" ;
59 void sxpundsdx_1d(
int,
double** ,
int);
84 tab[j*max_points+i] = 0x0 ;
101 for (indice =0; indice<
max_points; indice++) {
102 if (nr_done[indice] ==
npoints) {
103 if (tab[
base*max_points + indice] != 0x0) done = true ;
106 if (nr_done[indice] == -1)
110 if (indice == max_points) {
111 cerr <<
"Diff_sxdsdx::get_matrice() : no space left!!" <<
'\n' 112 <<
"The value of Diff.max_points must be increased..." << endl ;
120 double* vect =
new double[
npoints] ;
121 for (
int i=0; i<
npoints; i++) {
126 sxpundsdx_1d(npoints, &vect,
base <<
TRA_R) ;
128 resu.
set(j,i) = vect[j] ;
131 sxdsdx_1d(npoints, &vect,
base <<
TRA_R) ;
133 resu.
set(j,i) = vect[j] ;
139 return *tab[
base*max_points + indice] ;
144 ost <<
" 1/x d / dx " << 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)
virtual ~Diff_sxdsdx()
Destructor.
int base
Base in radial direction.
void initialize()
Initializes arrays.
void operator=(const Diff_sxdsdx &)
Assignment to another Diff_sxdsdx.
Diff_sxdsdx(int base_r, int nr)
Standard constructor.
void operator=(const Diff &)
Assignment to another Diff.
virtual const Matrice & get_matrice() const
Returns the matrix associated with the operator.
Class for the elementary differential operator (see the base class Diff ).
double & set(int j, int i)
Read/write of a particuliar element.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
#define MAX_BASE
Nombre max. de bases differentes.
virtual ostream & operator>>(ostream &) const
Operator >> (virtual function called by the operator <<).
#define R_CHEB
base de Chebychev ordinaire (fin)