LORENE
|
Base class for Godunov-type grids. More...
#include <grille_val.h>
Public Member Functions | |
void | operator= (const Grille_val &) |
Assignment to another Grille_val. More... | |
int | get_fantome () const |
Returns the number of hidden cells. More... | |
int | get_type_t () const |
Returns the type of symmetry in . More... | |
int | get_type_p () const |
Returns the type of symmetry in . More... | |
int | get_ndim () const |
Returns the number of dimensions. More... | |
int | get_dim (const int i) const |
Returns the size (without hidden cells) More... | |
const Dim_tbl * | get_dim_tbl () const |
Returns the Dim_tbl associated with the grid. More... | |
double | get_zr (const int i) const |
Read-only of a particular value of the coordinate z (or r ) at the nodes. More... | |
double | get_zri (const int i) const |
Read-only of a particular value of the coordinate z (or r ) at the interfaces. More... | |
virtual void | sauve (FILE *) const |
Save in a file. More... | |
virtual bool | compatible (const Map *mp, const int lmax, const int lmin=0) const =0 |
Checks if the spectral grid and mapping are compatible with the Grille_val caracteristics for the interpolation to be done. More... | |
Tbl | interpol1 (const Tbl &rdep, const Tbl &rarr, const Tbl &fdep, int flag, const int type_inter) const |
Performs 1D interpolation. More... | |
virtual Tbl | interpol2 (const Tbl &fdep, const Tbl &rarr, const Tbl &tetarr, const int type_inter) const =0 |
Performs 2D interpolation. More... | |
virtual Tbl | interpol3 (const Tbl &fdep, const Tbl &rarr, const Tbl &tetarr, const Tbl &phiarr, const int type_inter) const =0 |
Performs 3D interpolation. More... | |
virtual bool | contenue_dans (const Map &mp, const int lmax, const int lmin=0) const =0 |
Checks if Grille_val 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. More... | |
Public Attributes | |
Tbl * | zr |
Arrays containing the values of coordinate z (or r) on the nodes. More... | |
Tbl * | zri |
Arrays containing the values of coordinate z (or r) on the interfaces. More... | |
Protected Member Functions | |
Tbl * | fait_grille1D (const double rmin, const double rmax, const int n) |
Auxilliary function used to allocate memory and construct 1D grid. More... | |
Grille_val (const double, const double, const int n1, const int fantome=2) | |
Standard 1D constructor (the size is to be given without hidden cells) More... | |
Grille_val (const double, const double, const int n2, const int n1, const int itype_t, const int fantome=2) | |
Standard 2D constructor (the sizes are to be given without hidden cells) More... | |
Grille_val (const double, const double, const int n3, const int n2, const int n1, const int itype_t, const int itype_p, const int fantome=2) | |
Standard 3D constructor (the sizes are to be given without hidden cells) More... | |
Grille_val (const Grille_val &) | |
Copy constructor. More... | |
Grille_val (FILE *) | |
Constructor from a file (see sauve(FILE*) ) More... | |
virtual | ~Grille_val () |
Destructor. More... | |
virtual ostream & | operator>> (ostream &) const |
Operator >> (virtual function called by the operator <<). More... | |
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 . More... | |
virtual void | somme_spectrale2 (const Scalar &meudon, double *t, int taille) const =0 |
Same as before but for the 2D case. More... | |
virtual void | somme_spectrale3 (const Scalar &meudon, double *t, int taille) const =0 |
Same as before but for the 3D case. More... | |
Protected Attributes | |
Dim_tbl | dim |
The dimensions of the grid. More... | |
int | nfantome |
The number of hidden cells (same on each side) More... | |
int | type_t |
Type of symmetry in : More... | |
int | type_p |
Type of symmetry in : More... | |
double * | zrmin |
Lower boundary for z (or r ) direction. More... | |
double * | zrmax |
Higher boundary for z (or r ) direction. More... | |
Friends | |
class | Tbl_val |
Arrays defined on Godunov-type grids. More... | |
ostream & | operator<< (ostream &, const Grille_val &) |
Display. More... | |
Base class for Godunov-type grids.
()
Takes into account hidden cells and interfaces between cells, in 1,2 or 3D. The derived classes stand for spherical and cartesian grids. this base class settles quantities for 1D grid, which is minimal and independent from the geometry (cartesian or spherical). Therefore, the coordinates z and r are identified.
This is an abstract class (cannot be instanciated).
Definition at line 94 of file grille_val.h.
|
protected |
Standard 1D constructor (the size is to be given without hidden cells)
Definition at line 90 of file grille_val.C.
|
protected |
Standard 2D constructor (the sizes are to be given without hidden cells)
Definition at line 108 of file grille_val.C.
|
protected |
Standard 3D constructor (the sizes are to be given without hidden cells)
Definition at line 128 of file grille_val.C.
References fait_grille1D(), nfantome, zr, zri, zrmax, and zrmin.
|
protected |
|
protected |
Constructor from a file (see sauve(FILE*)
)
Definition at line 163 of file grille_val.C.
References Lorene::fread_be(), nfantome, type_p, type_t, zr, zri, zrmax, and zrmin.
|
protectedvirtual |
|
pure 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
).
Implemented in Lorene::Gval_spher, and Lorene::Gval_cart.
|
pure virtual |
Checks if Grille_val
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.
Implemented in Lorene::Gval_spher, and Lorene::Gval_cart.
|
protected |
Auxilliary function used to allocate memory and construct 1D grid.
Definition at line 78 of file grille_val.C.
References Lorene::Tbl::set(), and Lorene::Tbl::set_etat_qcq().
|
inline |
Returns the size (without hidden cells)
Definition at line 188 of file grille_val.h.
References dim, Lorene::Dim_tbl::dim, and Lorene::Dim_tbl::ndim.
|
inline |
Returns the Dim_tbl
associated with the grid.
Definition at line 194 of file grille_val.h.
References dim.
|
inline |
Returns the number of hidden cells.
Definition at line 168 of file grille_val.h.
References nfantome.
|
inline |
Returns the number of dimensions.
Definition at line 183 of file grille_val.h.
References dim, and Lorene::Dim_tbl::ndim.
|
inline |
|
inline |
|
inline |
Read-only of a particular value of the coordinate z (or r ) at the nodes.
Definition at line 199 of file grille_val.h.
References dim, Lorene::Dim_tbl::dim, nfantome, Lorene::Tbl::t, and zr.
|
inline |
Read-only of a particular value of the coordinate z (or r ) at the interfaces.
Definition at line 207 of file grille_val.h.
References dim, Lorene::Dim_tbl::dim, nfantome, Lorene::Tbl::t, and zri.
Tbl Lorene::Grille_val::interpol1 | ( | const Tbl & | rdep, |
const Tbl & | rarr, | ||
const Tbl & | fdep, | ||
int | flag, | ||
const int | type_inter | ||
) | const |
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 318 of file grille_val_interp.C.
References Lorene::Tbl::dim, Lorene::Tbl::get_dim(), Lorene::Tbl::get_ndim(), Lorene::Tbl::set(), Lorene::Tbl::set_etat_qcq(), and Lorene::Tbl::t.
|
pure virtual |
Performs 2D interpolation.
fdep | [input] values of the function at the source points |
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 ) |
Implemented in Lorene::Gval_spher, and Lorene::Gval_cart.
|
pure virtual |
Performs 3D interpolation.
fdep | [input] values of the function at the source points |
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 ) |
Implemented in Lorene::Gval_spher, and Lorene::Gval_cart.
void Lorene::Grille_val::operator= | ( | const Grille_val & | titi | ) |
Assignment to another Grille_val.
Definition at line 202 of file grille_val.C.
References dim, Lorene::Dim_tbl::dim, nfantome, Lorene::Tbl::t, type_p, type_t, zr, zri, zrmax, and zrmin.
|
protectedvirtual |
Operator >> (virtual function called by the operator <<).
Reimplemented in Lorene::Gval_spher, and Lorene::Gval_cart.
Definition at line 251 of file grille_val.C.
References dim, Lorene::Dim_tbl::dim, Lorene::Dim_tbl::ndim, and nfantome.
|
virtual |
Save in a file.
Reimplemented in Lorene::Gval_spher, and Lorene::Gval_cart.
Definition at line 227 of file grille_val.C.
References dim, Lorene::fwrite_be(), nfantome, Lorene::Dim_tbl::sauve(), Lorene::Tbl::sauve(), type_p, type_t, zr, zri, zrmax, and zrmin.
|
protected |
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 93 of file gval_from_spectral.C.
References dim, Lorene::Dim_tbl::dim, Lorene::Tensor::get_mp(), Lorene::Scalar::get_spectral_va(), nfantome, Lorene::Tbl::t, Lorene::Map::val_lx(), Lorene::Valeur::val_point_jk(), and zr.
|
protectedpure virtual |
Same as before but for the 2D case.
Implemented in Lorene::Gval_spher, and Lorene::Gval_cart.
|
protectedpure virtual |
Same as before but for the 3D case.
Implemented in Lorene::Gval_spher, and Lorene::Gval_cart.
|
friend |
Display.
Definition at line 246 of file grille_val.C.
|
friend |
Arrays defined on Godunov-type grids.
Definition at line 96 of file grille_val.h.
|
protected |
The dimensions of the grid.
Definition at line 102 of file grille_val.h.
|
protected |
The number of hidden cells (same on each side)
Definition at line 104 of file grille_val.h.
|
protected |
|
protected |
Tbl* Lorene::Grille_val::zr |
Arrays containing the values of coordinate z (or r) on the nodes.
Definition at line 124 of file grille_val.h.
Tbl* Lorene::Grille_val::zri |
Arrays containing the values of coordinate z (or r) on the interfaces.
Definition at line 126 of file grille_val.h.
|
protected |
Higher boundary for z (or r ) direction.
Definition at line 120 of file grille_val.h.
|
protected |
Lower boundary for z (or r ) direction.
Definition at line 117 of file grille_val.h.