70 "Map_radial::reevaluate : the mapping mp_prev does not belong"
72 cout <<
" to the class Map_radial !" << endl ;
76 int nz = mg->get_nzone() ;
80 assert(uu.
get_mp() ==
this) ;
82 assert(uu.
get_etat() != ETATNONDEF) ;
83 assert(mp_prev->mg == mg) ;
101 (uu.
va).set_etat_c_qcq() ;
105 Mtbl& va_c = *((uu.
va).c) ;
114 if (
r.c == 0x0 )
r.fait() ;
115 const Mtbl& rc = *(
r.c) ;
121 double precis = 1.e-15 ;
130 for (
int l=0; l<nzet; l++) {
131 int nr = mg->get_nr(l) ;
132 int nt = mg->get_nt(l) ;
133 int np = mg->get_np(l) ;
138 double* ptx = (va_c.
t[l])->t ;
140 double* pr = (rc.
t[l])->t ;
144 for (
int k=0; k<np; k++) {
145 for (
int j=0; j<nt; j++) {
146 for (
int i=0; i<nr; i++) {
153 mp_prev->
val_lx_jk(*pr, j, k, par, l0, xi0) ;
183 if (mp_prev == 0x0) {
185 "Map_radial::reevaluate : the mapping mp_prev does not belong"
187 cout <<
" to the class Map_radial !" << endl ;
191 int nz = mg->get_nzone() ;
195 assert(uu.
get_mp() == *
this) ;
197 assert(uu.
get_etat() != ETATNONDEF) ;
198 assert(mp_prev->mg == mg) ;
229 if (
r.c == 0x0 )
r.fait() ;
230 const Mtbl& rc = *(
r.c) ;
236 double precis = 1.e-15 ;
245 for (
int l=0; l<nzet; l++) {
246 int nr = mg->get_nr(l) ;
247 int nt = mg->get_nt(l) ;
248 int np = mg->get_np(l) ;
253 double* ptx = (va_c.
t[l])->t ;
255 double* pr = (rc.
t[l])->t ;
259 for (
int k=0; k<np; k++) {
260 for (
int j=0; j<nt; j++) {
261 for (
int i=0; i<nr; i++) {
268 mp_prev->
val_lx_jk(*pr, j, k, par, l0, xi0) ;
Component of a tensorial field *** DEPRECATED : use class Scalar instead ***.
int get_etat() const
Returns the logical state.
Valeur va
The numerical value of the Cmp.
void annule(int l)
Sets the Cmp to zero in a given domain.
int get_dzpuis() const
Returns dzpuis.
const Map * get_mp() const
Returns the mapping.
virtual void reevaluate(const Map *mp_prev, int nzet, Cmp &uu) const
Recomputes the values of a Cmp at the collocation points after a change in the mapping.
virtual void val_lx_jk(double rr, int j, int k, const Param &par, int &l, double &xi) const =0
Computes the domain index l and the value of corresponding to a point of arbitrary r but collocation...
Map_radial(const Mg3d &mgrid)
Constructor from a grid (protected to make Map_radial an abstract class).
Coefficients storage for the multi-domain spectral method.
double val_point_jk(int l, double x, int j, int k) const
Computes the value of the field represented by *this at an arbitrary point in , but collocation point...
Tbl ** t
Array (size nzone ) of pointers on the Tbl 's.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
void add_double(const double &x, int position=0)
Adds the the address of a new double to the list.
void add_int_mod(int &n, int position=0)
Adds the address of a new modifiable int to the list.
void add_int(const int &n, int position=0)
Adds the address of a new int to the list.
Tensor field of valence 0 (or component of a tensorial field).
int get_dzpuis() const
Returns dzpuis.
virtual void annule(int l_min, int l_max)
Sets the Scalar to zero in several domains.
Valeur & set_spectral_va()
Returns va (read/write version).
int get_etat() const
Returns the logical state ETATNONDEF (undefined), ETATZERO (null) or ETATQCQ (ordinary).
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
void set_etat_c_qcq()
Sets the logical state to ETATQCQ (ordinary state) for values in the configuration space (Mtbl c ).
void coef() const
Computes the coeffcients of *this.
const Map & get_mp() const
Returns the mapping.
Map(const Mg3d &)
Constructor from a multi-domain 3D grid.
Coord r
r coordinate centered on the grid