176 #include "type_parite.h" 222 Grille3d(
int n_r,
int n_t,
int n_p,
int typer,
int typet,
223 int typep,
int baser) ;
357 Mg3d(
int nz,
int nbr[],
int typr[],
int nbt[],
int typt,
int nbp[],
358 int typp,
int* base_r = 0x0) ;
398 Mg3d(
int nz,
int nbr,
int nbt,
int nbp,
int typt,
int typp,
399 bool compact,
bool legendre=
false) ;
426 Mg3d(
int nz,
int nbr,
int nbt,
int nbp,
int typt,
int typp) ;
432 explicit Mg3d(
const string& filename) ;
439 Mg3d(FILE* fd,
bool read_base=
false) ;
470 assert(l>=0 && l<
nzone) ;
475 assert(l>=0 && l<
nzone) ;
480 assert(l>=0 && l<
nzone) ;
492 assert(l>=0 && l<
nzone) ;
518 assert(l>=0 && l<
nzone) ;
529 assert(l>=0 && l<
nzone) ;
580 void sauve(FILE* fd,
bool save_base=
false)
const ;
630 ostream& operator<<(ostream& ,
const Mg3d & ) ;
636 int std_base_scal_1z(
int type_r,
int type_t,
int type_p) ;
637 int std_base_scal_odd_1z(
int type_r,
int type_t,
int type_p) ;
638 int leg_base_scal_1z(
int type_r,
int type_t,
int type_p) ;
639 int leg_base_scal_odd_1z(
int type_r,
int type_t,
int type_p) ;
640 int jac02_base_scal_1z(
int type_r,
int type_t,
int type_p) ;
641 int jac02_base_scal_odd_1z(
int type_r,
int type_t,
int type_p) ;
void set_deriv_0x0() const
Sets to 0x0 all the pointers on derived quantities (g_radial , g_angu, g_twice, ...
int get_type_p() const
Returns the type of sampling in the direction: SYM : : symmetry with respect to the transformatio...
const Mg3d * get_non_axi() const
Returns the pointer on the grid which has at least 4 points in the direction and at least 5 in the ...
Base_val ** std_base_vect_cart() const
Returns the standard spectral bases for the Cartesian components of a vector.
const Grille3d * get_grille3d(int l) const
Returns a pointer on the 3D mono-grid for domain no. l.
Mg3d * g_non_axi
Pointer on the grid which has at least 4 points in the direction and at least 5 in the direction (f...
int get_np() const
Returns np.
int get_type_r() const
Returns type_r.
int get_np(int l) const
Returns the number of points in the azimuthal direction ( ) in domain no. l.
int type_t
Type of sampling in (SYM,NONSYM)
const int nr
Number of points in r ( )
int type_p
Type of sampling in (SYM, NONSYM)
Mg3d * g_plus_half
Pointer on the grid which has 50% more points in r dimension (for desaliasing).
virtual ~Grille3d()
Destructor.
int * np
Array (size: nzone) of nb. of points in .
double * phi
Array of values of at the np collocation points.
Mg3d * g_angu_1dom
Pointer on the associated angular grid with only one domain.
const Mg3d * get_twice() const
Returns the pointer on the grid which has twice the number of points in each dimension (for desaliasi...
void del_deriv() const
Deletes all the derived quantities (g_radial , g_angu, g_twice, ...)
void operator=(const Grille3d &)
Assignement operator.
int get_type_t() const
Returns the type of sampling in the direction: SYM : : symmetry with respect to the equatorial pl...
const Mg3d * get_radial() const
Returns the pointer on the associated radial grid.
bool operator==(const Mg3d &) const
Comparison operator (egality)
double * x
Array of values of at the nr collocation points.
int get_type_t() const
Returns type_t.
int type_t
Type of sampling in (SYM, NONSYM)
Base_val ** pseudo_base_vect_cart() const
Returns the standard spectral bases for the Cartesian components of a pseudo-vector.
void compute_radial_grid()
Computes the collocation point coordinates in the radial direction.
int get_colloc_r(int l) const
Returns the type of collocation points used in domain no.
Base_val ** pseudo_base_vect_spher() const
Returns the standard spectral bases for the spherical components of a pseudo-vector.
Base_val std_base_scal_odd() const
Returns the standard odd spectral bases for a scalar.
Mg3d * g_plus_half_angu
Pointer on the grid which has 50% more points in and dimension (for desaliasing).
void sauve(FILE *fd, bool save_base=false) const
Saves into a file.
const Mg3d * get_angu() const
Returns the pointer on the associated angular grid.
int type_p
Type of sampling in (SYM,NONSYM)
double * tet
Array of values of at the nt collocation points.
int nzone
Number of domains (zones)
Mg3d * g_angu
Pointer on the associated angular grid.
Base_val ** std_base_vect_spher() const
Returns the standard spectral bases for the spherical components of a vector.
const int np
Number of points in .
int get_nzone() const
Returns the number of domains.
int base_r
Type of radial spectral basis (BASE_CHEB, BASE_LEG, BASE_JAC02 )
int get_base_r() const
Returns base_r.
Mg3d * g_twice
Pointer on the grid which has twice the number of points in each dimension (for desaliasing).
Mg3d * g_radial
Pointer on the associated radial grid.
const Mg3d * plus_half() const
Returns the pointer on the grid which has 50% more points in r dimension (for desaliasing).
Grille3d ** g
Array (size: nzone) of pointers on the Grille3d's.
int * type_r
Array (size: nzone) of type of sampling in r ( ) (RARE,FIN, UNSURR)
int get_nr(int l) const
Returns the number of points in the radial direction ( ) in domain no. l.
int * colloc_r
Array (size: nzone) of type of collocation points in r ( ) and related decompoisition bases (BASE_CHE...
Bases of the spectral expansions.
Base_val std_base_scal() const
Returns the standard spectral bases for a scalar.
int get_type_p() const
Returns type_p.
const Mg3d * plus_half_angu() const
Returns the pointer on the grid which has 50% more points in and dimension (for desaliasing)...
friend ostream & operator<<(ostream &, const Mg3d &)
Display.
int get_nr() const
Returns nr.
int type_r
Type of sampling in r ( ) (RARE,FIN,UNSURR )
int get_nt() const
Returns nt.
int get_nt(int l) const
Returns the number of points in the co-latitude direction ( ) in domain no. l.
bool operator!=(const Mg3d &) const
Operator !=.
int get_type_r(int l) const
Returns the type of sampling in the radial direction in domain no.
Mg3d(int nz, int nbr[], int typr[], int nbt[], int typt, int nbp[], int typp, int *base_r=0x0)
General constructor.
int * nt
Array (size: nzone) of nb. of points in .
const Mg3d * get_angu_1dom() const
Returns the pointer on the associated mono-domain angular grid.
Grille3d(int n_r, int n_t, int n_p, int typer, int typet, int typep, int baser)
Constructor.
void operator=(const Mg3d &)
Assignement operator (private and not implemented to make Mg3d a non-copyable class) ...
3D grid class in one domain.
const int nt
Number of points in .
int * nr
Array (size: nzone) of nb. of points in r ( )