Class for spherical Godunov-type grids. More...
#include <grille_val.h>
Public Member Functions | |
| Gval_spher (const double irmin, const double irmax, const int nr, const int fantome=2) | |
| Standard 1D constructor. | |
| Gval_spher (const double irmin, const double irmax, const int nt, const int nr, const int type_t, const int fantome=2) | |
| Standard 2D constructor. | |
| Gval_spher (const double irmin, const double irmax, const int np, const int nt, const int nr, const int itype_t, const int itype_p, const int fantome=2) | |
| Standard 3D constructor. | |
| Gval_spher (const Gval_spher &) | |
| Copy constructor. | |
| Gval_spher (FILE *) | |
Constructor from a file (see sauve(FILE*) ). | |
| virtual | ~Gval_spher () |
| Destructor. | |
| void | operator= (const Gval_spher &) |
| Assignment to another Gval_spher. | |
| double | get_tet (const int i) const |
Read-only of a particular value of the coordinate at the nodes. | |
| double | get_phi (const int i) const |
Read-only of a particular value of the coordinate at the nodes. | |
| double | get_teti (const int i) const |
Read-only of a particular value of coordinate at the interfaces. | |
| double | get_phii (const int i) const |
Read-only of a particular value of coordinate at the interfaces. | |
| virtual void | sauve (FILE *) const |
| Save in a file. | |
| virtual bool | compatible (const Map *mp, const int lmax, const int lmin=0) const |
Checks if the spectral grid and mapping are compatible with the Grille_val caracteristics for the interpolation to be done. | |
| virtual Tbl | interpol2 (const Tbl &fdep, const Tbl &rarr, const Tbl &tetarr, const int type_inter) const |
| Performs 2D interpolation. | |
| virtual Tbl | interpol3 (const Tbl &fdep, const Tbl &rarr, const Tbl &tetarr, const Tbl &phiarr, const int type_inter) const |
| Performs 3D interpolation. | |
| virtual bool | contenue_dans (const Map &mp, const int lmax, const int lmin=0) const |
Checks if Gval_spher is contained inside the spectral grid/mapping within the domains [lmin, lmax[, if the numbers of dimensions are the same (1,2 or 3D), and if the symmetries are compatible. | |
| int | get_fantome () const |
| Returns the number of hidden cells. | |
| int | get_type_t () const |
Returns the type of symmetry in . | |
| int | get_type_p () const |
Returns the type of symmetry in . | |
| int | get_ndim () const |
| Returns the number of dimensions. | |
| int | get_dim (const int i) const |
| Returns the size (without hidden cells). | |
| const Dim_tbl * | get_dim_tbl () const |
Returns the Dim_tbl associated with the grid. | |
| double | get_zr (const int i) const |
| Read-only of a particular value of the coordinate z (or r ) at the nodes. | |
| double | get_zri (const int i) const |
| Read-only of a particular value of the coordinate z (or r ) at the interfaces. | |
| Tbl | interpol1 (const Tbl &rdep, const Tbl &rarr, const Tbl &fdep, int flag, const int type_inter) const |
| Performs 1D interpolation. | |
Public Attributes | |
| Tbl * | tet |
Arrays containing the values of coordinate on the nodes. | |
| Tbl * | teti |
Arrays containing the values of coordinate on the interfaces. | |
| Tbl * | phi |
Arrays containing the values of coordinate on the nodes. | |
| Tbl * | phii |
Arrays containing the values of coordinate on the interfaces. | |
| Tbl * | zr |
| Arrays containing the values of coordinate z (or r) on the nodes. | |
| Tbl * | zri |
| Arrays containing the values of coordinate z (or r) on the interfaces. | |
Protected Member Functions | |
| virtual ostream & | operator>> (ostream &) const |
| Operator >> (virtual function called by the operator <<). | |
| virtual void | somme_spectrale2 (const Scalar &meudon, double *t, int taille) const |
Makes the sommation of the spectral basis functions to know the values of the function described by the Scalar meudon at the points of the 2D Godunov grid this . | |
| double * | somme_spectrale2ri (const Scalar &meudon) const |
| Same as before but at radial grid interfaces. | |
| double * | somme_spectrale2ti (const Scalar &meudon) const |
| Same as before but at angular grid interfaces. | |
| virtual void | somme_spectrale3 (const Scalar &meudon, double *t, int taille) const |
| Same as before but for the 3D case. | |
| void | initialize_spectral_r (const Map &mp, const Base_val &base, int *&idom, double *&chebnri) const |
| void | initialize_spectral_theta (const Map &mp, const Base_val &base, double *&tetlj) const |
| void | initialize_spectral_phi (const Map &mp, const Base_val &base, double *&expmk) const |
| Tbl * | fait_grille1D (const double rmin, const double rmax, const int n) |
| Auxilliary function used to allocate memory and construct 1D grid. | |
| void | somme_spectrale1 (const Scalar &meudon, double *t, int taille) const |
Makes the sommation of the spectral basis functions to know the values of the function described by the Scalar meudon at the points of the 1D Godunov grid this . | |
Protected Attributes | |
| Dim_tbl | dim |
| The dimensions of the grid. | |
| int | nfantome |
| The number of hidden cells (same on each side). | |
| int | type_t |
Type of symmetry in :. | |
| int | type_p |
Type of symmetry in :. | |
| double * | zrmin |
| Lower boundary for z (or r ) direction. | |
| double * | zrmax |
| Higher boundary for z (or r ) direction. | |
Friends | |
| class | Tbl_val |
| Arrays defined on Godunov-type grids. | |
| ostream & | operator<< (ostream &, const Grille_val &) |
| Display. | |
Class for spherical Godunov-type grids.
()
Can be used for 1D (only r-coordinate), 2D (
and r ) or 3D (
,
and r ) grids. The coordinates of the nodes are stored in Tbl 's zr (derived from Grille_val ),tet and phi. The coordinates of the interfaces are stored in Tbl 's zri (derived from Grille_val ),teti and phii. The standard constructors only allow for equally-spaced nodes.
Definition at line 575 of file grille_val.h.
| Gval_spher::Gval_spher | ( | const double | irmin, | |
| const double | irmax, | |||
| const int | nr, | |||
| const int | fantome = 2 | |||
| ) |
Standard 1D constructor.
| irmin | [input] lower r boundary | |
| irmax | [input] higher r boundary | |
| nr | [input] the number of cells (without the hidden ones) | |
| fantome | [input] the number of hidden cells on each side |
Definition at line 528 of file grille_val.C.
| Gval_spher::Gval_spher | ( | const double | irmin, | |
| const double | irmax, | |||
| const int | nt, | |||
| const int | nr, | |||
| const int | type_t, | |||
| const int | fantome = 2 | |||
| ) |
Standard 2D constructor.
| irmin | [input] lower r boundary | |
| irmax | [input] higher r boundary | |
| nt | [input] the number of cells in (without hidden ones) | |
| nr | [input] the number of cells in r(without the hidden ones) | |
| type_t | [input] the type of symmetry in (SYM, NONSYM, see base class documentation) | |
| fantome | [input] the number of hidden cells on each side |
Definition at line 537 of file grille_val.C.
References Grille_val::fait_grille1D(), Grille_val::nfantome, tet, teti, and Grille_val::type_t.
| Gval_spher::Gval_spher | ( | const double | irmin, | |
| const double | irmax, | |||
| const int | np, | |||
| const int | nt, | |||
| const int | nr, | |||
| const int | itype_t, | |||
| const int | itype_p, | |||
| const int | fantome = 2 | |||
| ) |
Standard 3D constructor.
| irmin | [input] lower r boundary | |
| irmax | [input] higher r boundary | |
| np | [input] the number of cells in (without the hidden ones) | |
| nt | [input] the number of cells in (without hidden ones) | |
| nr | [input] the number of cells in r(without the hidden ones) | |
| type_t | [input] the type of symmetry in (SYM, NONSYM, see base class documentation) | |
| type_p | [input] the type of symmetry in (SYM, NONSYM, see base class documentation) | |
| fantome | [input] the number of hidden cells on each side |
Definition at line 558 of file grille_val.C.
References Grille_val::fait_grille1D(), Grille_val::nfantome, phi, phii, tet, teti, Grille_val::type_p, and Grille_val::type_t.
| Gval_spher::Gval_spher | ( | const Gval_spher & | titi | ) |
| Gval_spher::Gval_spher | ( | FILE * | fd | ) |
Constructor from a file (see sauve(FILE*) ).
Definition at line 602 of file grille_val.C.
References Grille_val::dim, Dim_tbl::ndim, phi, phii, tet, and teti.
| Gval_spher::~Gval_spher | ( | ) | [virtual] |
| bool Gval_spher::compatible | ( | const Map * | mp, | |
| const int | lmax, | |||
| const int | lmin = 0 | |||
| ) | const [virtual] |
Checks if the spectral grid and mapping are compatible with the Grille_val caracteristics for the interpolation to be done.
It checks wether the spectral grid is included in the Godunov one, if the numbers of dimensions are the same (1,2 or 3D), and if the spectral collocation points in
and
are well defined across all the domains (see the documentation of Tbl_val .
Implements Grille_val.
Definition at line 164 of file grille_val_interp.C.
References Dim_tbl::dim, Grille_val::dim, Map::get_mg(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_type_p(), Mg3d::get_type_t(), Grille_val::get_zr(), Dim_tbl::ndim, Grille_val::nfantome, Map::r, Grille_val::type_p, and Grille_val::type_t.
| bool Gval_spher::contenue_dans | ( | const Map & | mp, | |
| const int | lmax, | |||
| const int | lmin = 0 | |||
| ) | const [virtual] |
Checks if Gval_spher is contained inside the spectral grid/mapping within the domains [lmin, lmax[, if the numbers of dimensions are the same (1,2 or 3D), and if the symmetries are compatible.
Implements Grille_val.
Definition at line 270 of file grille_val_interp.C.
References Dim_tbl::dim, Grille_val::dim, Map::get_mg(), Mg3d::get_nr(), Mg3d::get_type_p(), Mg3d::get_type_t(), Grille_val::get_zr(), Map::r, Grille_val::type_p, and Grille_val::type_t.
| Tbl * Grille_val::fait_grille1D | ( | const double | rmin, | |
| const double | rmax, | |||
| const int | n | |||
| ) | [protected, inherited] |
Auxilliary function used to allocate memory and construct 1D grid.
Definition at line 71 of file grille_val.C.
References Tbl::set(), and Tbl::set_etat_qcq().
| int Grille_val::get_dim | ( | const int | i | ) | const [inline, inherited] |
Returns the size (without hidden cells).
Definition at line 184 of file grille_val.h.
References Dim_tbl::dim, Grille_val::dim, and Dim_tbl::ndim.
| const Dim_tbl* Grille_val::get_dim_tbl | ( | ) | const [inline, inherited] |
Returns the Dim_tbl associated with the grid.
Definition at line 190 of file grille_val.h.
References Grille_val::dim.
| int Grille_val::get_fantome | ( | ) | const [inline, inherited] |
Returns the number of hidden cells.
Definition at line 164 of file grille_val.h.
References Grille_val::nfantome.
| int Grille_val::get_ndim | ( | ) | const [inline, inherited] |
Returns the number of dimensions.
Definition at line 179 of file grille_val.h.
References Grille_val::dim, and Dim_tbl::ndim.
| double Gval_spher::get_phi | ( | const int | i | ) | const [inline] |
Read-only of a particular value of the coordinate
at the nodes.
Definition at line 664 of file grille_val.h.
References Dim_tbl::dim, Grille_val::dim, Dim_tbl::ndim, Grille_val::nfantome, phi, and Tbl::t.
| double Gval_spher::get_phii | ( | const int | i | ) | const [inline] |
Read-only of a particular value of coordinate
at the interfaces.
Definition at line 682 of file grille_val.h.
References Dim_tbl::dim, Grille_val::dim, Dim_tbl::ndim, Grille_val::nfantome, phii, and Tbl::t.
| double Gval_spher::get_tet | ( | const int | i | ) | const [inline] |
Read-only of a particular value of the coordinate
at the nodes.
Definition at line 655 of file grille_val.h.
References Dim_tbl::dim, Grille_val::dim, Dim_tbl::ndim, Grille_val::nfantome, Tbl::t, and tet.
| double Gval_spher::get_teti | ( | const int | i | ) | const [inline] |
Read-only of a particular value of coordinate
at the interfaces.
Definition at line 673 of file grille_val.h.
References Dim_tbl::dim, Grille_val::dim, Dim_tbl::ndim, Grille_val::nfantome, Tbl::t, and teti.
| int Grille_val::get_type_p | ( | ) | const [inline, inherited] |
Returns the type of symmetry in
.
Definition at line 174 of file grille_val.h.
References Grille_val::type_p.
| int Grille_val::get_type_t | ( | ) | const [inline, inherited] |
Returns the type of symmetry in
.
Definition at line 169 of file grille_val.h.
References Grille_val::type_t.
| double Grille_val::get_zr | ( | const int | i | ) | const [inline, inherited] |
Read-only of a particular value of the coordinate z (or r ) at the nodes.
Definition at line 195 of file grille_val.h.
References Dim_tbl::dim, Grille_val::dim, Grille_val::nfantome, Tbl::t, and Grille_val::zr.
| double Grille_val::get_zri | ( | const int | i | ) | const [inline, inherited] |
Read-only of a particular value of the coordinate z (or r ) at the interfaces.
Definition at line 203 of file grille_val.h.
References Dim_tbl::dim, Grille_val::dim, Grille_val::nfantome, Tbl::t, and Grille_val::zri.
| Tbl Grille_val::interpol1 | ( | const Tbl & | rdep, | |
| const Tbl & | rarr, | |||
| const Tbl & | fdep, | |||
| int | flag, | |||
| const int | type_inter | |||
| ) | const [inherited] |
Performs 1D interpolation.
| rdep | [input] the coordinates r of the source points | |
| rarr | [input] the coordinates r of the destination points | |
| fdep | [input] values of the function at the source points | |
| flag | [input] = 1 used for INSMTS -- ought to disappear | |
| type_inter | [input] type of interpolation (see Tbl_val ) |
Tbl 1D of the same size as rarr, containing the values of the function at destination points Definition at line 308 of file grille_val_interp.C.
References Tbl::dim, Tbl::get_dim(), Tbl::get_ndim(), Tbl::set(), Tbl::set_etat_qcq(), and Tbl::t.
| Tbl Gval_spher::interpol2 | ( | const Tbl & | fdep, | |
| const Tbl & | rarr, | |||
| const Tbl & | tetarr, | |||
| const int | type_inter | |||
| ) | const [virtual] |
Performs 2D interpolation.
| fdep | [input] values of the function at the source points, defined as the nodes of the Godunov grid | |
| rarr | [input] the coordinates r of the destination points | |
| tetarr | [input] the coordinates of the destination points | |
| type_inter | [input] type of interpolation (see Tbl_val ) |
Implements Grille_val.
Definition at line 407 of file grille_val_interp.C.
References Grille_val::dim, Tbl::get_dim(), Tbl::get_ndim(), Grille_val::interpol1(), Dim_tbl::ndim, Tbl::set(), Tbl::set_etat_qcq(), Tbl::t, tet, and Grille_val::zr.
| Tbl Gval_spher::interpol3 | ( | const Tbl & | fdep, | |
| const Tbl & | rarr, | |||
| const Tbl & | tetarr, | |||
| const Tbl & | phiarr, | |||
| const int | type_inter | |||
| ) | const [virtual] |
Performs 3D interpolation.
| fdep | [input] values of the function at the source points defined as the nodes of the Godunov grid this | |
| rarr | [input] the coordinates r of the destination points | |
| tetarr | [input] the coordinates of the destination points | |
| phiarr | [input] the coordinates of the destination points | |
| type_inter | [input] type of interpolation (see Tbl_val ) |
Implements Grille_val.
Definition at line 634 of file grille_val_interp.C.
References Grille_val::dim, Tbl::get_dim(), Tbl::get_ndim(), Grille_val::interpol1(), interpol2(), Dim_tbl::ndim, phi, Tbl::set(), Tbl::set_etat_qcq(), Tbl::t, tet, and Grille_val::zr.
| void Gval_spher::operator= | ( | const Gval_spher & | titi | ) |
Assignment to another Gval_spher.
Reimplemented from Grille_val.
Definition at line 634 of file grille_val.C.
| ostream & Gval_spher::operator>> | ( | ostream & | o | ) | const [protected, virtual] |
Operator >> (virtual function called by the operator <<).
Reimplemented from Grille_val.
Definition at line 705 of file grille_val.C.
References Dim_tbl::dim, Grille_val::dim, Dim_tbl::ndim, Grille_val::nfantome, phi, Tbl::set(), tet, and Grille_val::zr.
| void Gval_spher::sauve | ( | FILE * | fd | ) | const [virtual] |
Save in a file.
Reimplemented from Grille_val.
Definition at line 685 of file grille_val.C.
References Grille_val::dim, Dim_tbl::ndim, phi, phii, Tbl::sauve(), tet, and teti.
| void Grille_val::somme_spectrale1 | ( | const Scalar & | meudon, | |
| double * | t, | |||
| int | taille | |||
| ) | const [protected, inherited] |
Makes the sommation of the spectral basis functions to know the values of the function described by the Scalar meudon at the points of the 1D Godunov grid this .
The result is an array t of size taille of all the values of the function at this grid points.
Definition at line 86 of file gval_from_spectral.C.
References Dim_tbl::dim, Grille_val::dim, Tensor::get_mp(), Scalar::get_spectral_va(), Grille_val::nfantome, Tbl::t, Map::val_lx(), Valeur::val_point_jk(), and Grille_val::zr.
| void Gval_spher::somme_spectrale2 | ( | const Scalar & | meudon, | |
| double * | t, | |||
| int | taille | |||
| ) | const [protected, virtual] |
Makes the sommation of the spectral basis functions to know the values of the function described by the Scalar meudon at the points of the 2D Godunov grid this .
The result is an array t of size taille of all the values of the function at this grid points.
Implements Grille_val.
Definition at line 225 of file gval_from_spectral.C.
References Dim_tbl::dim, Grille_val::dim, Tensor::get_mp(), Scalar::get_spectral_va(), Dim_tbl::ndim, Grille_val::nfantome, Tbl::t, tet, Map::val_lx(), Valeur::val_point(), and Grille_val::zr.
| double * Gval_spher::somme_spectrale2ri | ( | const Scalar & | meudon | ) | const [protected] |
Same as before but at radial grid interfaces.
Definition at line 274 of file gval_from_spectral.C.
References Dim_tbl::dim, Grille_val::dim, Tensor::get_mp(), Scalar::get_spectral_va(), Grille_val::nfantome, Tbl::t, tet, Map::val_lx(), Valeur::val_point(), and Grille_val::zri.
| double * Gval_spher::somme_spectrale2ti | ( | const Scalar & | meudon | ) | const [protected] |
Same as before but at angular grid interfaces.
Definition at line 318 of file gval_from_spectral.C.
References Dim_tbl::dim, Grille_val::dim, Tensor::get_mp(), Scalar::get_spectral_va(), Grille_val::nfantome, Tbl::t, teti, Map::val_lx(), Valeur::val_point(), and Grille_val::zr.
| void Gval_spher::somme_spectrale3 | ( | const Scalar & | meudon, | |
| double * | t, | |||
| int | taille | |||
| ) | const [protected, virtual] |
Same as before but for the 3D case.
Implements Grille_val.
Definition at line 362 of file gval_from_spectral.C.
References Valeur::c_cf, Valeur::coef(), Dim_tbl::dim, Grille_val::dim, Valeur::get_base(), Scalar::get_etat(), Map::get_mg(), Tensor::get_mp(), Mg3d::get_np(), Mg3d::get_nr(), Mg3d::get_nt(), Mg3d::get_nzone(), Scalar::get_spectral_va(), Grille_val::nfantome, and Mtbl_cf::t.
| ostream& operator<< | ( | ostream & | , | |
| const Grille_val & | ||||
| ) | [friend, inherited] |
Display.
friend class Tbl_val [friend] |
Arrays defined on Godunov-type grids.
Reimplemented from Grille_val.
Definition at line 577 of file grille_val.h.
Dim_tbl Grille_val::dim [protected, inherited] |
The dimensions of the grid.
Definition at line 98 of file grille_val.h.
int Grille_val::nfantome [protected, inherited] |
The number of hidden cells (same on each side).
Definition at line 100 of file grille_val.h.
Arrays containing the values of coordinate
on the nodes.
Definition at line 587 of file grille_val.h.
Arrays containing the values of coordinate
on the interfaces.
Definition at line 589 of file grille_val.h.
Arrays containing the values of coordinate
on the nodes.
Definition at line 583 of file grille_val.h.
Arrays containing the values of coordinate
on the interfaces.
Definition at line 585 of file grille_val.h.
int Grille_val::type_p [protected, inherited] |
int Grille_val::type_t [protected, inherited] |
Tbl* Grille_val::zr [inherited] |
Arrays containing the values of coordinate z (or r) on the nodes.
Definition at line 120 of file grille_val.h.
Tbl* Grille_val::zri [inherited] |
Arrays containing the values of coordinate z (or r) on the interfaces.
Definition at line 122 of file grille_val.h.
double* Grille_val::zrmax [protected, inherited] |
Higher boundary for z (or r ) direction.
Definition at line 116 of file grille_val.h.
double* Grille_val::zrmin [protected, inherited] |
Lower boundary for z (or r ) direction.
Definition at line 113 of file grille_val.h.
1.6.1