LORENE
|
Class for cartesian Godunov-type grids. More...
#include <grille_val.h>
Public Member Functions | |
Gval_cart (const double izmin, const double izmax, const int n1, const int fantome=2) | |
Standard 1D constructor. More... | |
Gval_cart (const double ixmin, const double ixmax, const double izmin, const double izmax, const int nx, const int nz, const int type_t, const int fantome=2) | |
Standard 2D constructor. More... | |
Gval_cart (const double iymin, const double iymax, const double ixmin, const double ixmax, const double izmin, const double izmax, const int ny, const int nx, const int nz, const int itype_t, const int itype_p, const int fantome=2) | |
Standard 3D constructor. More... | |
Gval_cart (const Gval_cart &) | |
Copy constructor. More... | |
Gval_cart (FILE *) | |
Constructor from a file (see sauve(FILE*) ) More... | |
virtual | ~Gval_cart () |
Destructor. More... | |
void | operator= (const Gval_cart &) |
Assignment to another Gval_cart. More... | |
double | get_x (const int i) const |
Read-only of a particular value of the coordinate x at the nodes. More... | |
double | get_y (const int i) const |
Read-only of a particular value of the coordinate y at the nodes. More... | |
double | get_xi (const int i) const |
Read-only of a particular value of the coordinate x at the interfaces. More... | |
double | get_yi (const int i) const |
Read-only of a particular value of the coordinate y at the interfaces. More... | |
double | get_xmin () const |
Returns the lower boundary for x. More... | |
double | get_xmax () const |
Returns the higher boundary for x. More... | |
double | get_ymin () const |
Returns the lower boundary for y. More... | |
double | get_ymax () const |
Returns the higher boundary for x. 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 |
Checks if the spectral grid and mapping are compatible with the Grille_val caracteristics for the interpolation to be done. More... | |
virtual Tbl | interpol2 (const Tbl &fdep, const Tbl &rarr, const Tbl &tetarr, const int type_inter) const |
Performs 2D interpolation. More... | |
Tbl | interpol2c (const Tbl &xdep, const Tbl &zdep, const Tbl &fdep, const Tbl &rarr, const Tbl &tetarr, const int type_inter) const |
Same as before, but the coordinates of source points are passed explicitly (xdep, zdep). More... | |
virtual Tbl | interpol3 (const Tbl &fdep, const Tbl &rarr, const Tbl &tetarr, const Tbl &phiarr, const int type_inter) const |
Performs 3D interpolation. More... | |
virtual bool | contenue_dans (const Map &mp, const int lmax, const int lmin=0) const |
Checks if Gval_cart 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... | |
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... | |
Tbl | interpol1 (const Tbl &rdep, const Tbl &rarr, const Tbl &fdep, int flag, const int type_inter) const |
Performs 1D interpolation. More... | |
Public Attributes | |
Tbl * | x |
Arrays containing the values of coordinate x on the nodes. More... | |
Tbl * | xi |
Arrays containing the values of coordinate x on the interfaces. More... | |
Tbl * | y |
Arrays containing the values of coordinate y on the nodes. More... | |
Tbl * | yi |
Arrays containing the values of coordinate y on the interfaces. More... | |
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 | |
virtual ostream & | operator>> (ostream &) const |
Operator >> (virtual function called by the operator <<). More... | |
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 . More... | |
virtual void | somme_spectrale3 (const Scalar &meudon, double *t, int taille) const |
Same as before but for the 3D case. More... | |
Tbl * | fait_grille1D (const double rmin, const double rmax, const int n) |
Auxilliary function used to allocate memory and construct 1D grid. 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... | |
Protected Attributes | |
double * | xmin |
Lower boundary for x dimension. More... | |
double * | xmax |
Higher boundary for x dimension. More... | |
double * | ymin |
Lower boundary for y dimension. More... | |
double * | ymax |
Higher boundary for y dimension. More... | |
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... | |
Class for cartesian Godunov-type grids.
()
Can be used for 1D (only z-coordinate), 2D (x and z) or 3D (y,x and z) grids. The coordinates of the nodes are stored in Tbl
's zr (derived from Grille_val
),x and y. The coordinates of the interfaces are stored in Tbl
's zri (derived from Grille_val
),xi and yi. The standard constructors only allow for equally-spaced nodes.
Definition at line 325 of file grille_val.h.
Lorene::Gval_cart::Gval_cart | ( | const double | izmin, |
const double | izmax, | ||
const int | n1, | ||
const int | fantome = 2 |
||
) |
Standard 1D constructor.
izmin | [input] lower z boundary |
izmax | [input] higher z boundary |
n1 | [input] the number of cells (without the hidden ones) |
fantome | [input] the number of hidden cells on each side |
Definition at line 282 of file grille_val.C.
Lorene::Gval_cart::Gval_cart | ( | const double | ixmin, |
const double | ixmax, | ||
const double | izmin, | ||
const double | izmax, | ||
const int | nx, | ||
const int | nz, | ||
const int | type_t, | ||
const int | fantome = 2 |
||
) |
Standard 2D constructor.
ixmin | [input] lower x boundary |
ixmax | [input] higher x boundary |
izmin | [input] lower z boundary |
izmax | [input] higher z boundary |
nx | [input] the number of cells in x direction (without the hidden ones) |
nz | [input] the number of cells in z direction (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 292 of file grille_val.C.
References Lorene::Grille_val::type_t.
Lorene::Gval_cart::Gval_cart | ( | const double | iymin, |
const double | iymax, | ||
const double | ixmin, | ||
const double | ixmax, | ||
const double | izmin, | ||
const double | izmax, | ||
const int | ny, | ||
const int | nx, | ||
const int | nz, | ||
const int | itype_t, | ||
const int | itype_p, | ||
const int | fantome = 2 |
||
) |
Standard 3D constructor.
iymin | [input] lower y boundary |
iymax | [input] higher y boundary |
ixmin | [input] lower x boundary |
ixmax | [input] higher x boundary |
izmin | [input] lower z boundary |
izmax | [input] higher z boundary |
ny | [input] the number of cells in y direction (without the hidden ones) |
nx | [input] the number of cells in x direction (without the hidden ones) |
nz | [input] the number of cells in z direction (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 315 of file grille_val.C.
References Lorene::Grille_val::type_t.
Lorene::Gval_cart::Gval_cart | ( | const Gval_cart & | titi | ) |
Lorene::Gval_cart::Gval_cart | ( | FILE * | fd | ) |
Constructor from a file (see sauve(FILE*)
)
Definition at line 365 of file grille_val.C.
References Lorene::Grille_val::dim, Lorene::fread_be(), Lorene::Dim_tbl::ndim, x, xi, xmax, xmin, y, yi, ymax, and ymin.
|
virtual |
|
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 Lorene::Grille_val.
Definition at line 103 of file grille_val_interp.C.
References Lorene::Grille_val::dim, Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_type_p(), Lorene::Mg3d::get_type_t(), Lorene::Dim_tbl::ndim, Lorene::Map::r, Lorene::Grille_val::type_p, Lorene::Grille_val::type_t, Lorene::Grille_val::zrmax, and Lorene::Grille_val::zrmin.
|
virtual |
Checks if Gval_cart
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 Lorene::Grille_val.
Definition at line 220 of file grille_val_interp.C.
References Lorene::Grille_val::dim, Lorene::Map::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_type_p(), Lorene::Mg3d::get_type_t(), Lorene::Dim_tbl::ndim, Lorene::Map::r, Lorene::Grille_val::type_p, Lorene::Grille_val::type_t, xmin, Lorene::Grille_val::zrmax, and Lorene::Grille_val::zrmin.
|
protectedinherited |
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().
|
inlineinherited |
Returns the size (without hidden cells)
Definition at line 188 of file grille_val.h.
References Lorene::Grille_val::dim, Lorene::Dim_tbl::dim, and Lorene::Dim_tbl::ndim.
|
inlineinherited |
Returns the Dim_tbl
associated with the grid.
Definition at line 194 of file grille_val.h.
References Lorene::Grille_val::dim.
|
inlineinherited |
Returns the number of hidden cells.
Definition at line 168 of file grille_val.h.
References Lorene::Grille_val::nfantome.
|
inlineinherited |
Returns the number of dimensions.
Definition at line 183 of file grille_val.h.
References Lorene::Grille_val::dim, and Lorene::Dim_tbl::ndim.
|
inlineinherited |
Returns the type of symmetry in .
Definition at line 178 of file grille_val.h.
References Lorene::Grille_val::type_p.
|
inlineinherited |
Returns the type of symmetry in .
Definition at line 173 of file grille_val.h.
References Lorene::Grille_val::type_t.
|
inline |
Read-only of a particular value of the coordinate x at the nodes.
Definition at line 427 of file grille_val.h.
References Lorene::Grille_val::dim, Lorene::Dim_tbl::dim, Lorene::Dim_tbl::ndim, Lorene::Grille_val::nfantome, and x.
|
inline |
Read-only of a particular value of the coordinate x at the interfaces.
Definition at line 445 of file grille_val.h.
References Lorene::Grille_val::dim, Lorene::Dim_tbl::dim, Lorene::Dim_tbl::ndim, Lorene::Grille_val::nfantome, and xi.
|
inline |
|
inline |
|
inline |
Read-only of a particular value of the coordinate y at the nodes.
Definition at line 436 of file grille_val.h.
References Lorene::Grille_val::dim, Lorene::Dim_tbl::dim, Lorene::Dim_tbl::ndim, Lorene::Grille_val::nfantome, and y.
|
inline |
Read-only of a particular value of the coordinate y at the interfaces.
Definition at line 454 of file grille_val.h.
References Lorene::Grille_val::dim, Lorene::Dim_tbl::dim, Lorene::Dim_tbl::ndim, Lorene::Grille_val::nfantome, and yi.
|
inline |
|
inline |
|
inlineinherited |
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 Lorene::Grille_val::dim, Lorene::Dim_tbl::dim, Lorene::Grille_val::nfantome, Lorene::Tbl::t, and Lorene::Grille_val::zr.
|
inlineinherited |
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 Lorene::Grille_val::dim, Lorene::Dim_tbl::dim, Lorene::Grille_val::nfantome, Lorene::Tbl::t, and Lorene::Grille_val::zri.
|
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 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.
|
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 Lorene::Grille_val.
Definition at line 538 of file grille_val_interp.C.
References interpol2c(), x, and Lorene::Grille_val::zr.
Tbl Lorene::Gval_cart::interpol2c | ( | const Tbl & | xdep, |
const Tbl & | zdep, | ||
const Tbl & | fdep, | ||
const Tbl & | rarr, | ||
const Tbl & | tetarr, | ||
const int | type_inter | ||
) | const |
Same as before, but the coordinates of source points are passed explicitly (xdep, zdep).
Definition at line 544 of file grille_val_interp.C.
References Lorene::cos(), Lorene::Tbl::get_dim(), Lorene::Tbl::get_ndim(), Lorene::Grille_val::interpol1(), Lorene::Tbl::set(), Lorene::Tbl::set_etat_qcq(), Lorene::sin(), and x.
|
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 ) |
Implements Lorene::Grille_val.
Definition at line 753 of file grille_val_interp.C.
References Lorene::Tbl::get_dim(), Lorene::Tbl::get_ndim(), interpol2c(), Lorene::Tbl::set(), Lorene::Tbl::set_etat_qcq(), x, y, and Lorene::Grille_val::zr.
void Lorene::Gval_cart::operator= | ( | const Gval_cart & | titi | ) |
|
protectedvirtual |
Operator >> (virtual function called by the operator <<).
Reimplemented from Lorene::Grille_val.
Definition at line 453 of file grille_val.C.
References Lorene::Grille_val::dim, Lorene::Dim_tbl::dim, Lorene::Dim_tbl::ndim, Lorene::Grille_val::nfantome, Lorene::Grille_val::operator>>(), Lorene::Tbl::set(), x, y, and Lorene::Grille_val::zr.
|
virtual |
Save in a file.
Reimplemented from Lorene::Grille_val.
Definition at line 430 of file grille_val.C.
References Lorene::Grille_val::dim, Lorene::fwrite_be(), Lorene::Dim_tbl::ndim, Lorene::Grille_val::sauve(), Lorene::Tbl::sauve(), x, xi, xmax, xmin, y, yi, ymax, and ymin.
|
protectedinherited |
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 Lorene::Grille_val::dim, Lorene::Dim_tbl::dim, Lorene::Tensor::get_mp(), Lorene::Scalar::get_spectral_va(), Lorene::Grille_val::nfantome, Lorene::Tbl::t, Lorene::Map::val_lx(), Lorene::Valeur::val_point_jk(), and Lorene::Grille_val::zr.
|
protectedvirtual |
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 Lorene::Grille_val.
Definition at line 113 of file gval_from_spectral.C.
References Lorene::acos(), Lorene::Grille_val::dim, Lorene::Dim_tbl::dim, Lorene::Tensor::get_mp(), Lorene::Scalar::get_spectral_va(), Lorene::Grille_val::nfantome, Lorene::sqrt(), Lorene::Tbl::t, Lorene::Map::val_lx(), Lorene::Valeur::val_point(), x, and Lorene::Grille_val::zr.
|
protectedvirtual |
Same as before but for the 3D case.
Implements Lorene::Grille_val.
Definition at line 161 of file gval_from_spectral.C.
References Lorene::acos(), Lorene::Grille_val::dim, Lorene::Dim_tbl::dim, Lorene::Tensor::get_mp(), Lorene::Scalar::get_spectral_va(), Lorene::Grille_val::nfantome, Lorene::sqrt(), Lorene::Tbl::t, Lorene::Map::val_lx(), Lorene::Valeur::val_point(), x, and Lorene::Grille_val::zr.
|
friend |
Arrays defined on Godunov-type grids.
Definition at line 327 of file grille_val.h.
|
protectedinherited |
The dimensions of the grid.
Definition at line 102 of file grille_val.h.
|
protectedinherited |
The number of hidden cells (same on each side)
Definition at line 104 of file grille_val.h.
|
protectedinherited |
|
protectedinherited |
Tbl* Lorene::Gval_cart::x |
Arrays containing the values of coordinate x on the nodes.
Definition at line 343 of file grille_val.h.
Tbl* Lorene::Gval_cart::xi |
Arrays containing the values of coordinate x on the interfaces.
Definition at line 345 of file grille_val.h.
|
protected |
Higher boundary for x dimension.
Definition at line 335 of file grille_val.h.
|
protected |
Lower boundary for x dimension.
Definition at line 333 of file grille_val.h.
Tbl* Lorene::Gval_cart::y |
Arrays containing the values of coordinate y on the nodes.
Definition at line 347 of file grille_val.h.
Tbl* Lorene::Gval_cart::yi |
Arrays containing the values of coordinate y on the interfaces.
Definition at line 349 of file grille_val.h.
|
protected |
Higher boundary for y dimension.
Definition at line 339 of file grille_val.h.
|
protected |
Lower boundary for y dimension.
Definition at line 337 of file grille_val.h.
|
inherited |
Arrays containing the values of coordinate z (or r) on the nodes.
Definition at line 124 of file grille_val.h.
|
inherited |
Arrays containing the values of coordinate z (or r) on the interfaces.
Definition at line 126 of file grille_val.h.
|
protectedinherited |
Higher boundary for z (or r ) direction.
Definition at line 120 of file grille_val.h.
|
protectedinherited |
Lower boundary for z (or r ) direction.
Definition at line 117 of file grille_val.h.