Lorene::Grille_val Class Referenceabstract
Grid wedding

Base class for Godunov-type grids. More...

`#include <grille_val.h>`

Inheritance diagram for Lorene::Grille_val:

## Public Member Functions

void | operator= (const Grille_val &)
| Assignment to another Grille_val.
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.
virtual void | sauve (FILE *) const
| Save in a file.
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.
Tbl | interpol1 (const Tbl &rdep, const Tbl &rarr, const Tbl &fdep, int flag, const int type_inter) const
| Performs 1D interpolation.
virtual Tbl | interpol2 (const Tbl &fdep, const Tbl &rarr, const Tbl &tetarr, const int type_inter) const =0
| Performs 2D interpolation.
virtual Tbl | interpol3 (const Tbl &fdep, const Tbl &rarr, const Tbl &tetarr, const Tbl &phiarr, const int type_inter) const =0
| Performs 3D interpolation.
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.

## Public Attributes

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

Tbl * | fait_grille1D (const double rmin, const double rmax, const int n)
| Auxilliary function used to allocate memory and construct 1D grid.
| 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).
| 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).
| 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).
| Grille_val (const Grille_val &)
| Copy constructor.
| Grille_val (FILE *)
| Constructor from a file (see `sauve(FILE*)` ).
virtual | ~Grille_val ()
| Destructor.
virtual ostream & | operator>> (ostream &) const
| Operator >> (virtual function called by the operator <<).
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` .
virtual void | somme_spectrale2 (const Scalar &meudon, double *t, int taille) const =0
| Same as before but for the 2D case.
virtual void | somme_spectrale3 (const Scalar &meudon, double *t, int taille) const =0
| Same as before but for the 3D case.

## 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 &o, const Grille_val &titi)
| Display.

## Detailed Description

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.

## Constructor & Destructor Documentation

## Grille_val() [1/5]

Lorene::Grille_val::Grille_val | ( | const double | izrmin,
|  | const double | izrmax,
|  | const int | n1,
|  | const int | fantome = 2 )

protected

Standard 1D constructor (the size is to be given without hidden cells).

Definition at line 87 of file grille_val.C.

References dim, fait_grille1D(), nfantome, type_p, type_t, zr, zri, zrmax, and zrmin.

## Grille_val() [2/5]

Lorene::Grille_val::Grille_val | ( | const double | izrmin,
|  | const double | izrmax,
|  | const int | n2,
|  | const int | n1,
|  | const int | itype_t,
|  | const int | fantome = 2 )

protected

Standard 2D constructor (the sizes are to be given without hidden cells).

Definition at line 105 of file grille_val.C.

References dim, fait_grille1D(), nfantome, type_p, type_t, zr, zri, zrmax, and zrmin.

## Grille_val() [3/5]

Lorene::Grille_val::Grille_val | ( | const double | izrmin,
|  | const double | izrmax,
|  | const int | n3,
|  | const int | n2,
|  | const int | n1,
|  | const int | itype_t,
|  | const int | itype_p,
|  | const int | fantome = 2 )

protected

Standard 3D constructor (the sizes are to be given without hidden cells).

Definition at line 125 of file grille_val.C.

References dim, fait_grille1D(), nfantome, type_p, type_t, zr, zri, zrmax, and zrmin.

## Grille_val() [4/5]

Lorene::Grille_val::Grille_val | ( | const Grille_val & | titi | ) |

protected

Copy constructor.

Definition at line 145 of file grille_val.C.

References dim, Grille_val(), nfantome, type_p, type_t, zr, zri, zrmax, and zrmin.

## Grille_val() [5/5]

Lorene::Grille_val::Grille_val | ( | FILE * | fd | ) |

protected

Constructor from a file (see `sauve(FILE*)` ).

Definition at line 160 of file grille_val.C.

References dim, Lorene::fread_be(), nfantome, type_p, type_t, zr, zri, zrmax, and zrmin.

## ~Grille_val()

Lorene::Grille_val::~Grille_val | ( |  | ) |

protected virtual

Destructor.

Definition at line 181 of file grille_val.C.

References zr, zri, zrmax, and zrmin.

## Member Function Documentation

## compatible()

virtual bool Lorene::Grille_val::compatible | ( | const Map * | mp,
|  | const int | lmax,
|  | const int | lmin = 0 ) const

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_cart, and Lorene::Gval_spher.

References Lorene::Map().

## contenue_dans()

virtual bool Lorene::Grille_val::contenue_dans | ( | const Map & | mp,
|  | const int | lmax,
|  | const int | lmin = 0 ) const

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_cart, and Lorene::Gval_spher.

References Lorene::Map().

## fait_grille1D()

Tbl * Lorene::Grille_val::fait_grille1D | ( | const double | rmin,
|  | const double | rmax,
|  | const int | n )

protected

Auxilliary function used to allocate memory and construct 1D grid.

Definition at line 75 of file grille_val.C.

References Lorene::Tbl::set(), and Lorene::Tbl::set_etat_qcq().

## get_dim()

int Lorene::Grille_val::get_dim | ( | const int | i | ) | const

inline

Returns the size (without hidden cells).

Definition at line 188 of file grille_val.h.

References dim.

## get_dim_tbl()

const Dim_tbl * Lorene::Grille_val::get_dim_tbl | ( |  | ) | const

inline

Returns the `Dim_tbl` associated with the grid.

Definition at line 194 of file grille_val.h.

References dim.

## get_fantome()

int Lorene::Grille_val::get_fantome | ( |  | ) | const

inline

Returns the number of hidden cells.

Definition at line 168 of file grille_val.h.

References nfantome.

## get_ndim()

int Lorene::Grille_val::get_ndim | ( |  | ) | const

inline

Returns the number of dimensions.

Definition at line 183 of file grille_val.h.

References dim.

## get_type_p()

int Lorene::Grille_val::get_type_p | ( |  | ) | const

inline

Returns the type of symmetry in .

Definition at line 178 of file grille_val.h.

References type_p.

## get_type_t()

int Lorene::Grille_val::get_type_t | ( |  | ) | const

inline

Returns the type of symmetry in .

Definition at line 173 of file grille_val.h.

References type_t.

## get_zr()

double Lorene::Grille_val::get_zr | ( | const int | i | ) | const

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, nfantome, and zr.

## get_zri()

double Lorene::Grille_val::get_zri | ( | const int | i | ) | const

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, nfantome, and zri.

## interpol1()

Tbl Lorene::Grille_val::interpol1 | ( | const Tbl & | rdep,
|  | const Tbl & | rarr,
|  | const Tbl & | fdep,
|  | int | flag,
|  | const int | type_inter ) const

Performs 1D interpolation.

Parameters

  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` )

Returns
  `Tbl` 1D of the same size as rarr, containing the values of the function at destination points

Definition at line 312 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.

## interpol2()

virtual Tbl Lorene::Grille_val::interpol2 | ( | const Tbl & | fdep,
|  | const Tbl & | rarr,
|  | const Tbl & | tetarr,
|  | const int | type_inter ) const

pure virtual

Performs 2D interpolation.

Parameters

  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` )

Returns
  Tbl 2D size1:that of rarr, size2: that of tetarr, containing the values of the function at destination points.

Implemented in Lorene::Gval_cart, and Lorene::Gval_spher.

## interpol3()

virtual Tbl Lorene::Grille_val::interpol3 | ( | const Tbl & | fdep,
|  | const Tbl & | rarr,
|  | const Tbl & | tetarr,
|  | const Tbl & | phiarr,
|  | const int | type_inter ) const

pure virtual

Performs 3D interpolation.

Parameters

  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` )

Returns
  Tbl 3D size1:that of rarr, size2: that of tetarr, size3: that of phiarr, containing the values of the function at destination points.

Implemented in Lorene::Gval_cart, and Lorene::Gval_spher.

## operator=()

void Lorene::Grille_val::operator= | ( | const Grille_val & | titi | ) |

Assignment to another Grille_val.

Definition at line 199 of file grille_val.C.

References dim, Grille_val(), nfantome, Lorene::Tbl::t, type_p, type_t, zr, zri, zrmax, and zrmin.

## operator>>()

ostream & Lorene::Grille_val::operator>> | ( | ostream & | o | ) | const

protected virtual

Operator >> (virtual function called by the operator <<).

Reimplemented in Lorene::Gval_cart, and Lorene::Gval_spher.

Definition at line 248 of file grille_val.C.

References dim, and nfantome.

## sauve()

void Lorene::Grille_val::sauve | ( | FILE * | fd | ) | const

virtual

Save in a file.

Reimplemented in Lorene::Gval_cart, and Lorene::Gval_spher.

Definition at line 224 of file grille_val.C.

References dim, Lorene::fwrite_be(), nfantome, type_p, type_t, zr, zri, zrmax, and zrmin.

## somme_spectrale1()

void Lorene::Grille_val::somme_spectrale1 | ( | const Scalar & | meudon,
|  | double * | t,
|  | int | taille ) const

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 90 of file gval_from_spectral.C.

References dim, Lorene::Tensor::get_mp(), Lorene::Scalar::get_spectral_va(), Lorene::Map(), nfantome, Lorene::Valeur::val_point_jk(), and zr.

## somme_spectrale2()

virtual void Lorene::Grille_val::somme_spectrale2 | ( | const Scalar & | meudon,
|  | double * | t,
|  | int | taille ) const

protected pure virtual

Same as before but for the 2D case.

Implemented in Lorene::Gval_cart, and Lorene::Gval_spher.

## somme_spectrale3()

virtual void Lorene::Grille_val::somme_spectrale3 | ( | const Scalar & | meudon,
|  | double * | t,
|  | int | taille ) const

protected pure virtual

Same as before but for the 3D case.

Implemented in Lorene::Gval_cart, and Lorene::Gval_spher.

## Friends And Related Symbol Documentation

## operator<<

ostream & operator<< | ( | ostream & | o,
|  | const Grille_val & | titi )

friend

Display.

Definition at line 243 of file grille_val.C.

References Grille_val(), and operator<<.

## Tbl_val

friend class Tbl_val

friend

Arrays defined on Godunov-type grids.

Definition at line 96 of file grille_val.h.

References Tbl_val.

## Member Data Documentation

## dim

Dim_tbl Lorene::Grille_val::dim

protected

The dimensions of the grid.

Definition at line 102 of file grille_val.h.

## nfantome

int Lorene::Grille_val::nfantome

protected

The number of hidden cells (same on each side).

Definition at line 104 of file grille_val.h.

## type_p

int Lorene::Grille_val::type_p

protected

Type of symmetry in :

- `SYM` ->
- `NONSYM` no symmetry

Definition at line 114 of file grille_val.h.

## type_t

int Lorene::Grille_val::type_t

protected

Type of symmetry in :

- `SYM` ->
- `NONSYM` no symmetry

Definition at line 109 of file grille_val.h.

## zr

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.

## zri

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.

## zrmax

double* Lorene::Grille_val::zrmax

protected

Higher boundary for z (or r ) direction.

Definition at line 120 of file grille_val.h.

## zrmin

double* Lorene::Grille_val::zrmin

protected

Lower boundary for z (or r ) direction.

Definition at line 117 of file grille_val.h.

The documentation for this class was generated from the following files:

- grille_val.h
- grille_val.C
- grille_val_interp.C
- gval_from_spectral.C