20 #include "headcpp.hpp"
22 #include "val_domain.hpp"
23 #include "array_math.hpp"
25 int mult_cos_1d (
int, Array<double>&) ;
26 int mult_sin_1d (
int, Array<double>&) ;
27 int div_sin_1d (
int, Array<double>&) ;
28 int div_xm1_1d (
int, Array<double>&) ;
29 int mult_xm1_1d (
int, Array<double>&) ;
30 int div_xp1_1d (
int, Array<double>&) ;
151 for (
int i=0 ; i<3 ; i++) {
170 double facttheta = M_PI ;
175 res += facttheta * (1./double(i+1) - 1./double(i-1)) *cf(i,0) ;
180 res += facttheta*2*cf(0,0) ;
184 cerr <<
"Case not yet implemented in Domain_polar_compact::integrale" << endl ;
191 double facttheta = 2./double(2*j+1) ;
196 res += facttheta * (1./
double(i+1) - 1./double(i-1)) *cf(i,j) ;
200 res += facttheta*2*cf(0,j) ;
204 cerr <<
"Case not yet implemented in Domain_polar_compact::integrale" << endl ;
211 cerr <<
"Case not yet implemented in Domain_polar_compact::integrale" << endl ;
Bases_container bases_1d
Arrays containing the various basis of decomposition.
Array< double > ope_1d(int(*function)(int, Array< double > &), int var, const Array< double > &so, Base_spectral &base) const
One-dimensional operator acting in the coefficient space.
virtual Val_domain mult_sin_theta(const Val_domain &) const
Multiplication by .
virtual void set_val_inf(Val_domain &so, double xx) const
Sets the value at infinity of a Val_domain : not implemented for this type of Domain.
virtual double integ_volume(const Val_domain &) const
Volume integral.
virtual Val_domain div_r(const Val_domain &) const
Division by .
virtual Val_domain laplacian(const Val_domain &, int) const
Computes the ordinary flat Laplacian for a scalar field with an harmonic index m.
virtual Val_domain der_r_rtwo(const Val_domain &) const
Compute the radial derivative multiplied by of a scalar field.
double alpha
Relates the numerical to the physical radii.
virtual double integrale(const Val_domain &) const
Volume integral.
virtual Val_domain mult_cos_theta(const Val_domain &) const
Multiplication by .
virtual Val_domain div_xp1(const Val_domain &) const
Division by .
virtual Val_domain div_sin_theta(const Val_domain &) const
Division by .
virtual Val_domain div_xm1(const Val_domain &) const
Division by .
virtual Val_domain laplacian2(const Val_domain &, int) const
Computes the ordinary flat 2dè- Laplacian for a scalar field with an harmonic index m.
virtual Val_domain dt(const Val_domain &) const
Compute the derivative with respect to of a scalar field.
virtual Val_domain mult_r(const Val_domain &) const
Multiplication by .
virtual Val_domain mult_xm1(const Val_domain &) const
Multiplication by .
virtual Val_domain der_r(const Val_domain &) const
Compute the radial derivative of a scalar field.
Dim_array nbr_coefs
Number of coefficients.
Class for storing the basis of decompositions of a field and its values on both the configuration and...
Base_spectral base
Spectral basis of the field.
Val_domain div_xm1() const
Division by .
Array< double > * cf
Pointer on the Array of the values in the coefficients space.
void coef_i() const
Computes the values in the configuration space.
Val_domain div_sin_theta() const
Division by .
Val_domain mult_cos_theta() const
Multiplication by .
Val_domain mult_xm1() const
Multiplication by .
bool in_coef
Is the field known in the coefficient space ?
void coef() const
Computes the coefficients.
Val_domain der_var(int i) const
Computes the derivative with respect to a numerical coordinate.
Array< double > get_coef() const
const Base_spectral & get_base() const
Returns the basis of decomposition.