21char ope_helmholtz_minus_pseudo_1d_cl_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Ope_elementary/Ope_helmholtz_minus_pseudo_1d/ope_helmholtz_minus_pseudo_1d_cl.C,v 1.3 2014/10/13 08:53:33 j_novak Exp $" ;
32#include "ope_elementary.h"
36Matrice _cl_helmholtz_minus_pseudo_1d_pas_prevu (
const Matrice & source,
int) {
37 cout <<
"Combinaison lineaire pas prevue..." << endl ;
48Matrice _cl_helmholtz_minus_pseudo_1d_r_chebu_deux (
const Matrice&) ;
51Matrice _cl_helmholtz_minus_pseudo_1d_r_chebu (
const Matrice &source,
int puis) {
53 assert (n == source.get_dim(1)) ;
60 res = _cl_helmholtz_minus_pseudo_1d_r_chebu_deux(source) ;
72Matrice _cl_helmholtz_minus_pseudo_1d_r_chebu_deux (
const Matrice &source) {
75 assert (n == source.get_dim(1)) ;
77 Matrice barre(source) ;
79 for (
int i=0 ; i<n-2 ; i++) {
80 for (
int j=0 ; j<n ; j++)
81 barre.set(i, j) = ((1+dirac)*source(i, j)-source(i+2, j)) ;
85 Matrice tilde(barre) ;
86 for (
int i=0 ; i<n-4 ; i++)
87 for (
int j=0 ; j<n ; j++)
88 tilde.set(i, j) = (barre(i, j)-barre(i+2, j)) ;
91 for (
int i=0 ; i<n-4 ; i++)
92 for (
int j=0 ; j<n ; j++)
93 bis.set(i, j) = (tilde(i, j)+tilde(i+1, j)) ;
96 for (
int i=0 ; i<n-4 ; i++)
97 for (
int j=0 ; j<n ; j++)
98 res.set(i, j) = (bis(i, j)-bis(i+1, j)) ;
120 cl_helmholtz_minus_pseudo_1d[
i] = _cl_helmholtz_minus_pseudo_1d_pas_prevu ;
123 cl_helmholtz_minus_pseudo_1d[
R_CHEBU >>
TRA_R] = _cl_helmholtz_minus_pseudo_1d_r_chebu ;
Time evolution with partial storage (*** under development ***).
int get_dim(int i) const
Returns the dimension of the matrix.
Matrice * ope_mat
Pointer on the matrix representation of the operator.
int base_r
Radial basis of decomposition.
Matrice * ope_cl
Pointer on the banded-matrix of the operator.
virtual void do_ope_cl() const
Computes the banded-matrix of the operator.
virtual void do_ope_mat() const
Computes the matrix of the operator.
int dzpuis
the associated dzpuis, if in the compactified domain.
#define MAX_BASE
Nombre max. de bases differentes.
#define R_CHEBU
base de Chebychev ordinaire (fin), dev. en 1/r
#define TRA_R
Translation en R, used for a bitwise shift (in hex)