26char scalar_exp_filter_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Tensor/Scalar/scalar_exp_filter.C,v 1.5 2014/10/13 08:53:46 j_novak Exp $" ;
65 int nz =
mgrid.get_nzone() ;
76 if ((*
va.
c_cf)(
lz).get_etat() == ETATQCQ)
80 for (
int i=0;
i<nr;
i++) {
101 int nz =
mgrid.get_nzone() ;
111 if ((*
va.
c_cf)(
lz).get_etat() == ETATQCQ)
115 for (
int i=0;
i<nr;
i++) {
130void exp_filter_r_all_domains(
Scalar& ss,
int p,
double alpha ) {
131 int nz = ss.
get_mp().get_mg()->get_nzone() ;
137 int nz =
get_mp().get_mg()->get_nzone() ;
147 int nz =
mgrid.get_nzone() ;
159 if ((*
va.
c_cf)(
lz).get_etat() == ETATQCQ) {
164 for (
int k=0;
k<np;
k++)
165 for (
int j=0;
j<nt;
j++) {
167 if (nullite_plm(
j, nt,
k, np, base) == 1 ) {
170 for (
int i=0;
i<nr;
i++)
187 int nz = ss.
get_mp().get_mg()->get_nzone() ;
Bases of the spectral expansions.
int give_lmax(const Mg3d &mgrid, int lz) const
Returns the highest multipole for a given grid.
void give_quant_numbers(int, int, int, int &, int &, int &) const
Computes the various quantum numbers and 1d radial base.
Time evolution with partial storage (*** under development ***).
Tbl & set(int l)
Read/write of the Tbl containing the coefficients in a given domain.
Tensor field of valence 0 (or component of a tensorial field).
friend Scalar exp(const Scalar &)
Exponential.
virtual void del_deriv() const
Logical destructor of the derivatives.
friend Scalar log(const Scalar &)
Neperian logarithm.
void sarra_filter_r(int lzmin, int lzmax, double p, double alpha=-1E-16)
Applies an exponential filter to the spectral coefficients in the radial direction.
virtual void exponential_filter_ylm(int lzmin, int lzmax, int p, double alpha=-16.)
Applies an exponential filter to the spectral coefficients in the angular directions.
int etat
The logical state ETATNONDEF (undefined), ETATZERO (null), ETATUN (one), or ETATQCQ (ordinary).
friend Scalar pow(const Scalar &, int)
Power .
void sarra_filter_r_all_domains(double p, double alpha=1E-16)
Applies an exponential filter in radial direction in all domains for the case where p is a double (se...
Valeur va
The numerical value of the Scalar
virtual void exponential_filter_r(int lzmin, int lzmax, int p, double alpha=-16.)
Applies an exponential filter to the spectral coefficients in the radial direction.
void ylm()
Computes the coefficients of *this.
Mtbl * c
Values of the function at the points of the multi-grid
Mtbl_cf * c_cf
Coefficients of the spectral expansion of the function.
void coef() const
Computes the coeffcients of *this.
void ylm_i()
Inverse of ylm()
Base_val base
Bases on which the spectral expansion is performed.
void del_deriv()
Logical destructor of the derivatives.
void exp_filter_ylm_all_domains(Scalar &ss, int p, double alpha=-16.)
Applies an exponential filter in angular directions in all domains.
const Map & get_mp() const
Returns the mapping.
const Map *const mp
Mapping on which the numerical values at the grid points are defined.