39 assert( l<mg->get_nzone() ) ;
57 cout <<
"Map_star::val_r : Compactified domain not allowed !" << endl;
63 cout <<
"Map_star::val_r: unknown type_r ! " << endl ;
75 void Map_star::val_lx(
double rr,
double theta,
double pphi,
int& lz,
double& xi)
const {
82 for (
int l=0; l<nz; l++) {
94 if ((rr - rmin >= -1.e-14*fabs(rmin)) && ( rr <= rmax )) {
102 cout.setf(ios::showpoint);
103 cout <<
"Map_star::val_lx: the domain containing r = " << rr <<
104 " has not been found ! " 126 cout <<
"Map_star::val_lx : Compactified domain not allowed !" << endl;
132 cout <<
"Map_star::val_lx: unknown type_r ! " << endl ;
141 int& lz,
double& xi)
const {
143 val_lx(rr, theta, pphi, lz, xi) ;
156 assert( l<mg->get_nzone() ) ;
168 resu =
alpha(l, k, j, 0) * xi ;
173 resu =
alpha(l, k, j, 0)*xi + beta(l, k, j, 0) ;
178 cout <<
"Map_star::val_r : Compactified domain not allowed !" << endl;
184 cout <<
"Map_star::val_r: unknown type_r ! " << endl ;
197 int& lz,
double& xi)
const {
209 for (
int l=0; l<nz; l++) {
215 rmax =
alpha(l,k, j, 0) ;
218 rmin = beta(l, k, j, 0) -
alpha(l, k, j, 0) ;
219 rmax = beta(l, k, j, 0) +
alpha(l, k, j, 0) ;
221 if ((rr - rmin >= -1.e-14*fabs(rmin)) && ( rr <= rmax )) {
229 cout.setf(ios::showpoint);
230 cout <<
"Map_star::val_lx: the domain containing r = " << rr <<
231 " has not been found ! " 233 for (
int l=0; l<nz; l++) {
234 double rmin = beta(l, k, j, 0) -
alpha(l, k, j, 0) ;
236 cout <<
"domain " << l <<
" : r_min = " << rmin ;
237 double rmax = beta(l, k, j, 0) +
alpha(l, k, j, 0) ;;
238 cout <<
" : r_max = " << rmax << endl ;
249 xi = rr /
alpha(lz, k, j, 0) ;
254 xi = (rr - beta(lz, k, j, 0)) /
alpha(lz, k, j, 0) ;
259 cout <<
"Map_star::val_lx : Compactified domain not allowed !" << endl;
264 cout <<
"Map_star::val_lx: unknown type_r ! " << endl ;
virtual void val_lx_jk(double rr, int j, int k, const Param &par, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point of arbitrary r but collocation...
Mtbl * c
The coordinate values at each grid point.
Coord tet
coordinate centered on the grid
Coord phi
coordinate centered on the grid
virtual void val_lx(double rr, double theta, double pphi, int &l, double &xi) const
Computes the domain index l and the value of corresponding to a point given by its physical coordina...
double val_point(int l, double x, double theta, double phi) const
Computes the value of the field represented by *this at an arbitrary point, by means of the spectral ...
int get_nzone() const
Returns the number of domains.
void fait() const
Computes, at each point of the grid, the value of the coordinate or mapping derivative represented by...
const Mg3d * mg
Pointer on the multi-grid Mgd3 on which this is defined.
virtual double val_r(int l, double xi, double theta, double pphi) const
Returns the value of the radial coordinate r for a given in a given domain.
virtual double val_r_jk(int l, double xi, int j, int k) const
Returns the value of the radial coordinate r for a given and a given collocation point in in a give...
int get_type_r(int l) const
Returns the type of sampling in the radial direction in domain no.
Valeur alpha
Array (size: mg->nzone*Nt*Np ) of the values of in each domain.