23 char map_log_fait_C[] =
"$Header: /cvsroot/Lorene/C++/Source/Map/map_log_fait.C,v 1.3 2014/10/13 08:53:05 j_novak Exp $" ;
74 for (
int l=0 ; l<nz ; l++) {
79 Tbl* tb = (mti->
t)[l] ;
83 switch (type_var(l)) {
88 for (k=0 ; k<ip ; k++) {
89 for (j=0 ; j<it ; j++) {
90 for (i=0 ; i<ir ; i++) {
91 *p_r = alpha(l) * (g->
x)[i] + beta(l) ;
99 for (k=0 ; k<ip ; k++) {
100 for (j=0 ; j<it ; j++) {
101 for (i=0 ; i<ir ; i++) {
102 *p_r = 1./(alpha(l) * (g->
x)[i] + beta(l)) ;
110 cout <<
"Map_log_fait_r: unknown type_r !\n" ;
121 for (k=0 ; k<ip ; k++) {
122 for (j=0 ; j<it ; j++) {
123 for (i=0 ; i<ir ; i++) {
124 *p_r =
exp(alpha(l) * (g->
x)[i] + beta(l)) ;
131 cout <<
"Map_log_fait_r: unknown type_r !\n" ;
139 cout <<
"Map_log_fait_r: unknown type_r !\n" ;
155 Mtbl* map_log_fait_tet(
const Map* cvi) {
167 for (
int l=0 ; l<nz ; l++) {
172 Tbl* tb = (mti->
t)[l] ;
174 double* p_r = tb->
t ;
175 for (k=0 ; k<ip ; k++) {
176 for (j=0 ; j<it ; j++) {
177 for (i=0 ; i<ir ; i++) {
193 Mtbl* map_log_fait_phi(
const Map* cvi) {
205 for (
int l=0 ; l<nz ; l++) {
210 Tbl* tb = (mti->
t)[l] ;
212 double* p_r = tb->
t ;
213 for (k=0 ; k<ip ; k++) {
214 for (j=0 ; j<it ; j++) {
215 for (i=0 ; i<ir ; i++) {
231 Mtbl* map_log_fait_x(
const Map* cvi) {
239 *mti = (cvi->
r) * (cvi->
sint) * (cvi->
cosp) ;
249 Mtbl* map_log_fait_y(
const Map* cvi) {
257 *mti = (cvi->
r) * (cvi->
sint) * (cvi->
sinp) ;
267 Mtbl* map_log_fait_z(
const Map* cvi) {
275 *mti = (cvi->
r) * (cvi->
cost) ;
285 Mtbl* map_log_fait_xa(
const Map* cvi) {
296 if ( fabs(r_phi) < 1.e-14 ) {
297 *mti = (cvi->
x) + t_x ;
299 else if ( fabs(r_phi - M_PI) < 1.e-14 ) {
300 *mti = - (cvi->
x) + t_x ;
304 *mti = (cvi->
r) * (cvi->
sint) *
cos(phi) + t_x ;
315 Mtbl* map_log_fait_ya(
const Map* cvi) {
326 if ( fabs(r_phi) < 1.e-14 ) {
327 *mti = (cvi->
y) + t_y ;
329 else if ( fabs(r_phi - M_PI) < 1.e-14 ) {
330 *mti = - (cvi->
y) + t_y ;
334 *mti = (cvi->
r) * (cvi->
sint) *
sin(phi) + t_y ;
345 Mtbl* map_log_fait_za(
const Map* cvi) {
355 *mti = (cvi->
r) * (cvi->
cost) + t_z ;
365 Mtbl* map_log_fait_sint(
const Map* cvi) {
377 for (
int l=0 ; l<nz ; l++) {
382 Tbl* tb = (mti->
t)[l] ;
384 double* p_r = tb->
t ;
385 for (k=0 ; k<ip ; k++) {
386 for (j=0 ; j<it ; j++) {
387 for (i=0 ; i<ir ; i++) {
399 Mtbl* map_log_fait_cost(
const Map* cvi) {
411 for (
int l=0 ; l<nz ; l++) {
416 Tbl* tb = (mti->
t)[l] ;
418 double* p_r = tb->
t ;
419 for (k=0 ; k<ip ; k++) {
420 for (j=0 ; j<it ; j++) {
421 for (i=0 ; i<ir ; i++) {
433 Mtbl* map_log_fait_sinp(
const Map* cvi) {
445 for (
int l=0 ; l<nz ; l++) {
450 Tbl* tb = (mti->
t)[l] ;
452 double* p_r = tb->
t ;
453 for (k=0 ; k<ip ; k++) {
454 for (j=0 ; j<it ; j++) {
455 for (i=0 ; i<ir ; i++) {
467 Mtbl* map_log_fait_cosp(
const Map* cvi) {
479 for (
int l=0 ; l<nz ; l++) {
484 Tbl* tb = (mti->
t)[l] ;
486 double* p_r = tb->
t ;
487 for (k=0 ; k<ip ; k++) {
488 for (j=0 ; j<it ; j++) {
489 for (i=0 ; i<ir ; i++) {
507 Mtbl* map_log_fait_xsr(
const Map* cvi) {
524 for (
int l=0 ; l<nz ; l++) {
529 Tbl* tb = (mti->
t)[l] ;
531 double* p_r = tb->
t ;
533 switch (type_var(l)) {
539 for (k=0 ; k<ip ; k++) {
540 for (j=0 ; j<it ; j++) {
541 for (i=0 ; i<ir ; i++) {
542 *p_r = 1. / alpha(l) ;
550 for (k=0 ; k<ip ; k++) {
551 for (j=0 ; j<it ; j++) {
552 for (i=0 ; i<ir ; i++) {
553 *p_r = 1. / ( alpha(l) * (g->
x)[i] + beta(l) ) ;
561 for (k=0 ; k<ip ; k++) {
562 for (j=0 ; j<it ; j++) {
563 for (i=0 ; i<ir ; i++) {
564 *p_r = 1. / alpha(l) ;
572 cout <<
"map_log_fait_xsr: unknown type_r !" << endl ;
582 for (k=0 ; k<ip ; k++) {
583 for (j=0 ; j<it ; j++) {
584 for (i=0 ; i<ir ; i++) {
585 *p_r = 1. /
exp( alpha(l) * (g->
x)[i] + beta(l) ) ;
593 cout <<
"map_log_fait_xsr: unknown type_r !" << endl ;
601 cout <<
"map_log_fait_xsr: unknown type_r !" << endl ;
616 Mtbl* map_log_fait_dxdr(
const Map* cvi) {
633 for (
int l=0 ; l<nz ; l++) {
638 Tbl* tb = (mti->
t)[l] ;
640 double* p_r = tb->
t ;
642 switch (type_var(l)) {
647 for (k=0 ; k<ip ; k++) {
648 for (j=0 ; j<it ; j++) {
649 for (i=0 ; i<ir ; i++) {
650 *p_r = 1. / alpha(l) ;
659 for (k=0 ; k<ip ; k++) {
660 for (j=0 ; j<it ; j++) {
661 for (i=0 ; i<ir ; i++) {
662 *p_r = - 1. / alpha(l) ;
670 cout <<
"map_log_fait_dxdr: unknown type_r !" << endl ;
679 for (k=0 ; k<ip ; k++) {
680 for (j=0 ; j<it ; j++) {
681 for (i=0 ; i<ir ; i++) {
682 *p_r = 1./ (alpha(l) *
exp(alpha(l) * (g->
x)[i] + beta(l))) ;
690 cout <<
"map_log_fait_dxdr: unknown type_r !" << endl ;
697 cout <<
"map_log_fait_dxdr: unknown type_r !" << endl ;
714 Mtbl* map_log_fait_drdt(
const Map* cvi) {
732 Mtbl* map_log_fait_stdrdp(
const Map* cvi) {
750 Mtbl* map_log_fait_srdrdt(
const Map* cvi) {
768 Mtbl* map_log_fait_srstdrdp(
const Map* cvi) {
786 Mtbl* map_log_fait_sr2drdt(
const Map* cvi) {
804 Mtbl* map_log_fait_sr2stdrdp(
const Map* cvi) {
822 Mtbl* map_log_fait_d2rdx2(
const Map* cvi) {
838 for (
int l=0 ; l<nz ; l++) {
843 Tbl* tb = (mti->
t)[l] ;
845 double* p_r = tb->
t ;
847 switch (type_var(l)) {
851 case RARE:
case FIN :
case UNSURR:
852 for (k=0 ; k<ip ; k++) {
853 for (j=0 ; j<it ; j++) {
854 for (i=0 ; i<ir ; i++) {
863 cout <<
"map_log_fait_d2rdx2: unknown type_r !" << endl ;
872 for (k=0 ; k<ip ; k++) {
873 for (j=0 ; j<it ; j++) {
874 for (i=0 ; i<ir ; i++) {
875 *p_r =
exp (alpha(l) * (g->
x)[i] + beta(l)) *
884 cout <<
"map_log_fait_d2rdx2: unknown type_r !" << endl ;
890 cout <<
"map_log_fait_d2rdx2: unknown type_r !" << endl ;
905 Mtbl* map_log_fait_lapr_tp(
const Map* cvi) {
923 Mtbl* map_log_fait_d2rdtdx(
const Map* cvi) {
941 Mtbl* map_log_fait_sstd2rdpdx(
const Map* cvi) {
959 Mtbl* map_log_fait_sr2d2rdt2(
const Map* cvi) {
977 Mtbl* map_log_fait_dxdlnr(
const Map* cvi) {
994 for (
int l=0 ; l<nz ; l++) {
998 Tbl* tb = (mti->
t)[l] ;
1000 double* p_r = tb->
t ;
1002 switch (type_var(l)) {
1006 case RARE:
case FIN:
1007 for (k=0 ; k<ip ; k++) {
1008 for (j=0 ; j<it ; j++) {
1009 for (i=0 ; i<ir ; i++) {
1010 *p_r = 1. / alpha(l) ;
1019 for (k=0 ; k<ip ; k++) {
1020 for (j=0 ; j<it ; j++) {
1021 for (i=0 ; i<ir ; i++) {
1022 *p_r = - 1. / alpha(l) ;
1030 cout <<
"map_log_fait_dxdr: unknown type_r !" << endl ;
1039 for (k=0 ; k<ip ; k++) {
1040 for (j=0 ; j<it ; j++) {
1041 for (i=0 ; i<ir ; i++) {
1042 *p_r = 1./ alpha(l) ;
1050 cout <<
"map_log_fait_dxdr: unknown type_r !" << endl ;
1057 cout <<
"map_log_fait_dxdr: unknown type_r !" << endl ;
Tbl beta
Array (size: mg->nzone ) of the values of in each domain.
const Grille3d * get_grille3d(int l) const
Returns a pointer on the 3D mono-grid for domain no. l.
Cmp exp(const Cmp &)
Exponential.
int get_np(int l) const
Returns the number of points in the azimuthal direction ( ) in domain no. l.
double get_ori_y() const
Returns the y coordinate of the origin.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
double * phi
Array of values of at the np collocation points.
Base class for coordinate mappings.
double get_ori_x() const
Returns the x coordinate of the origin.
Basic integer array class.
double get_rot_phi() const
Returns the angle between the x –axis and X –axis.
double * x
Array of values of at the nr collocation points.
Itbl type_var
Array (size: mg->nzone ) of the type of variable in each domain.
Cmp cos(const Cmp &)
Cosine.
Coord phi
coordinate centered on the grid
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
void set_etat_zero()
Sets the logical state to ETATZERO (zero).
Logarithmic radial mapping.
double * t
The array of double.
double * tet
Array of values of at the nt collocation points.
Tbl alpha
Array (size: mg->nzone ) of the values of in each domain.
int get_nzone() const
Returns the number of domains.
void set_etat_qcq()
Sets the logical state to ETATQCQ (ordinary state).
int get_nr(int l) const
Returns the number of points in the radial direction ( ) in domain no. l.
Coord y
y coordinate centered on the grid
Coord x
x coordinate centered on the grid
double get_ori_z() const
Returns the z coordinate of the origin.
Cmp sin(const Cmp &)
Sine.
int get_nt(int l) const
Returns the number of points in the co-latitude direction ( ) in domain no. l.
int get_type_r(int l) const
Returns the type of sampling in the radial direction in domain no.
Tbl ** t
Array (size nzone ) of pointers on the Tbl 's.
3D grid class in one domain.
Coord r
r coordinate centered on the grid