|
LORENE
|
Tensor field of valence 0 (or component of a tensorial field). More...
#include <scalar.h>
Public Member Functions | |
| Scalar (const Map &mpi) | |
| Constructor from mapping. | |
| Scalar (const Tensor &a) | |
| Constructor from a Tensor (must be of valence 0). | |
| Scalar (const Scalar &a) | |
| Copy constructor. | |
| Scalar (const Cmp &a) | |
| Constructor by conversion of a Cmp. | |
| Scalar (const Map &, const Mg3d &, FILE *) | |
Constructor from a file (see sauve(FILE*) ). | |
| virtual | ~Scalar () |
| Destructor. | |
| virtual void | set_etat_nondef () |
Sets the logical state to ETATNONDEF (undefined). | |
| virtual void | set_etat_zero () |
Sets the logical state to ETATZERO (zero). | |
| virtual void | set_etat_qcq () |
Sets the logical state to ETATQCQ (ordinary state). | |
| void | set_etat_one () |
Sets the logical state to ETATUN (one). | |
| virtual void | allocate_all () |
Sets the logical state to ETATQCQ (ordinary state) and performs the memory allocation of all the elements, down to the double arrays of the Tbl s. | |
| void | annule_hard () |
Sets the Scalar to zero in a hard way. | |
| int | get_etat () const |
Returns the logical state ETATNONDEF (undefined), ETATZERO (null) or ETATQCQ (ordinary). | |
| int | get_dzpuis () const |
Returns dzpuis. | |
| bool | dz_nonzero () const |
Returns true if the last domain is compactified and *this is not zero in this domain. | |
| bool | check_dzpuis (int dzi) const |
Returns false if the last domain is compactified and *this is not zero in this domain and dzpuis is not equal to dzi , otherwise return true. | |
| bool | is_nan (bool verbose=false) const |
| Looks for NaNs (not a number) in the scalar field. | |
| void | operator= (const Scalar &a) |
Assignment to another Scalar defined on the same mapping. | |
| virtual void | operator= (const Tensor &a) |
Assignment to a Tensor (of valence 0). | |
| void | operator= (const Cmp &a) |
Assignment to a Cmp. | |
| void | operator= (const Valeur &a) |
Assignment to a Valeur. | |
| void | operator= (const Mtbl &a) |
Assignment to a Mtbl. | |
| void | operator= (double) |
Assignment to a double. | |
| void | operator= (int) |
Assignment to an int. | |
| operator Cmp () const | |
Conversion to a Cmp. | |
| const Valeur & | get_spectral_va () const |
Returns va (read only version). | |
| Valeur & | set_spectral_va () |
Returns va (read/write version). | |
| Tbl & | set_domain (int l) |
| Read/write of the value in a given domain. | |
| const Tbl & | domain (int l) const |
| Read-only of the value in a given domain. | |
| double | val_grid_point (int l, int k, int j, int i) const |
| Returns the value of the field at a specified grid point. | |
| double | val_point (double r, double theta, double phi) const |
Computes the value of the field at an arbitrary point ![]() | |
| double & | set_grid_point (int l, int k, int j, int i) |
| Setting the value of the field at a given grid point. | |
| virtual void | annule (int l_min, int l_max) |
Sets the Scalar to zero in several domains. | |
| void | set_inner_boundary (int l, double x) |
Sets the value of the Scalar at the inner boundary of a given domain. | |
| void | set_outer_boundary (int l, double x) |
Sets the value of the Scalar at the outer boundary of a given domain. | |
| Tbl | multipole_spectrum () const |
| Gives the spectrum in terms of multipolar modes l . | |
| Tbl | tbl_out_bound (int l_dom, bool leave_ylm=false) |
Returns the Tbl containing the values of angular coefficients at the outer boundary. | |
| Tbl | tbl_in_bound (int n, bool leave_ylm=false) |
Returns the Tbl containing the values of angular coefficients at the inner boundary. | |
| Scalar | scalar_out_bound (int n, bool leave_ylm=false) |
Returns the Scalar containing the values of angular coefficients at the outer boundary. | |
| const Scalar & | dsdr () const |
Returns ![]() *this . | |
| const Scalar & | srdsdt () const |
Returns ![]() *this . | |
| const Scalar & | srstdsdp () const |
Returns ![]() *this . | |
| const Scalar & | dsdt () const |
Returns ![]() *this . | |
| const Scalar & | dsdradial () const |
Returns ![]() *this if the mapping is affine (class Map_af) and ![]() *this if the mapping is logarithmic (class Map_log). | |
| const Scalar & | dsdrho () const |
Returns ![]() *this . | |
| const Scalar & | stdsdp () const |
Returns ![]() *this . | |
| const Scalar & | dsdx () const |
Returns ![]() *this , where ![]() | |
| const Scalar & | dsdy () const |
Returns ![]() *this , where ![]() | |
| const Scalar & | dsdz () const |
Returns ![]() *this , where ![]() | |
| const Scalar & | deriv (int i) const |
Returns ![]() *this , where ![]() | |
| const Vector & | derive_cov (const Metric &gam) const |
Returns the gradient (1-form = covariant vector) of *this. | |
| const Vector & | derive_con (const Metric &gam) const |
Returns the "contravariant" derivative of *this with respect to some metric ![]() | |
| Scalar | derive_lie (const Vector &v) const |
Computes the derivative of this along a vector field v. | |
| const Scalar & | laplacian (int ced_mult_r=4) const |
Returns the Laplacian of *this. | |
| const Scalar & | lapang () const |
Returns the angular Laplacian ![]() *this , where ![]() | |
| void | div_r () |
Division by r everywhere; dzpuis is not changed. | |
| void | div_r_dzpuis (int ced_mult_r) |
Division by r everywhere but with the output flag dzpuis set to ced_mult_r . | |
| void | div_r_ced () |
Division by r in the compactified external domain (CED), the dzpuis flag is not changed. | |
| void | mult_r () |
Multiplication by r everywhere; dzpuis is not changed. | |
| void | mult_r_dzpuis (int ced_mult_r) |
Multiplication by r everywhere but with the output flag dzpuis set to ced_mult_r . | |
| void | mult_r_ced () |
Multiplication by r in the compactified external domain (CED), the dzpuis flag is not changed. | |
| void | mult_rsint () |
Multiplication by ![]() dzpuis is not changed. | |
| void | mult_rsint_dzpuis (int ced_mult_r) |
Multiplication by ![]() dzpuis set to ced_mult_r . | |
| void | div_rsint () |
Division by ![]() dzpuis is not changed. | |
| void | div_rsint_dzpuis (int ced_mult_r) |
Division by ![]() dzpuis set to ced_mult_r . | |
| void | mult_cost () |
Multiplication by ![]() | |
| void | div_cost () |
Division by ![]() | |
| void | mult_sint () |
Multiplication by ![]() | |
| void | div_sint () |
Division by ![]() | |
| void | div_tant () |
Division by ![]() | |
| Scalar | primr (bool null_infty=true) const |
Computes the radial primitive which vanishes for ![]() | |
| double | integrale () const |
Computes the integral over all space of *this . | |
| const Tbl & | integrale_domains () const |
Computes the integral in each domain of *this . | |
| virtual void | dec_dzpuis (int dec=1) |
Decreases by dec units the value of dzpuis and changes accordingly the values of the Scalar in the compactified external domain (CED). | |
| virtual void | inc_dzpuis (int inc=1) |
Increases by inc units the value of dzpuis and changes accordingly the values of the Scalar in the compactified external domain (CED). | |
| virtual void | change_triad (const Base_vect &new_triad) |
| Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly. | |
| void | filtre (int n) |
Sets the n lasts coefficients in r to 0 in the external domain. | |
| void | filtre_r (int *nn) |
Sets the n lasts coefficients in r to 0 in all domains. | |
| void | filtre_r (int n, int nzone) |
Sets the n last coefficients in r to 0 in the domain nzone . | |
| virtual void | exponential_filter_r (int lzmin, int lzmax, int p, double alpha=-16.) |
| Applies an exponential filter to the spectral coefficients in the radial direction. | |
| void | sarra_filter_r (int lzmin, int lzmax, double p, double alpha=-1E-16) |
| Applies an exponential filter to the spectral coefficients in the radial direction. | |
| void | exp_filter_r_all_domains (Scalar &ss, int p, double alpha=-16.) |
| Applies an exponential filter in radial direction in all domains. | |
| void | sarra_filter_r_all_domains (double p, double alpha=1E-16) |
Applies an exponential filter in radial direction in all domains for the case where p is a double (see Scalar:sarra_filter_r ). | |
| virtual void | exponential_filter_ylm (int lzmin, int lzmax, int p, double alpha=-16.) |
| Applies an exponential filter to the spectral coefficients in the angular directions. | |
| virtual void | exponential_filter_ylm_phi (int lzmin, int lzmax, int p_r, int p_tet, int p_phi, double alpha=-16.) |
| Applies an exponential filter to the spectral coefficients in the angular directions. | |
| void | annule_l (int l_min, int l_max, bool ylm_output=false) |
Sets all the multipolar components between l_min and l_max to zero. | |
| void | filtre_phi (int n, int zone) |
Sets the n lasts coefficients in ![]() zone . | |
| void | filtre_tp (int nn, int nz1, int nz2) |
Sets the n lasts coefficients in ![]() nz1 to nz2 when expressed in spherical harmonics. | |
| void | fixe_decroissance (int puis) |
Substracts all the components behaving like ![]() puis , so that *this decreases at least like ![]() | |
| void | smooth_decay (int k, int n) |
Performs a ![]() ![]() ![]() | |
| void | raccord (int n) |
Performs the ![]() | |
| void | raccord_c1_zec (int puis, int nbre, int lmax) |
Performs the ![]() ![]() ![]() ![]() | |
| void | raccord_externe (int puis, int nbre, int lmax) |
| Matching of the external domain with the outermost shell. | |
| void | match_tau (Param &par_bc, Param *par_mat=0x0) |
| Method for matching accross domains and imposing boundary condition. | |
| void | match_tau_star (Param &par_bc, Param *par_mat=0x0) |
| Method for matching accross domains and imposing boundary condition. | |
| void | match_tau_shell (Param &par_bc, Param *par_mat=0x0) |
| Method for matching accross domains and imposing boundary condition. | |
| void | match_collocation (Param &par_bc, Param *par_mat=0x0) |
| Method for matching accross domains and imposing boundary condition. | |
| virtual void | sauve (FILE *) const |
| Save in a file. | |
| virtual void | spectral_display (const char *comment=0x0, double threshold=1.e-7, int precision=4, ostream &ostr=cout) const |
| Displays the spectral coefficients and the associated basis functions. | |
| void | visu_section (const char section_type, double aa, double umin, double umax, double vmin, double vmax, const char *title=0x0, const char *filename=0x0, bool start_dx=true, int nu=200, int nv=200) const |
| 3D visualization via a plane section. | |
| void | visu_section (const Tbl &plane, double umin, double umax, double vmin, double vmax, const char *title=0x0, const char *filename=0x0, bool start_dx=true, int nu=200, int nv=200) const |
| 3D visualization via a plane section. | |
| void | visu_section_anim (const char section_type, double aa, double umin, double umax, double vmin, double vmax, int jtime, double ttime, int jgraph=1, const char *title=0x0, const char *filename_root=0x0, bool start_dx=false, int nu=200, int nv=200) const |
| 3D visualization via time evolving plane section (animation). | |
| void | visu_box (double xmin, double xmax, double ymin, double ymax, double zmin, double zmax, const char *title0=0x0, const char *filename0=0x0, bool start_dx=true, int nx=40, int ny=40, int nz=40) const |
| 3D visualization (volume rendering) via OpenDX. | |
| void | operator+= (const Scalar &) |
| += Scalar | |
| void | operator-= (const Scalar &) |
| -= Scalar | |
| void | operator*= (const Scalar &) |
| *= Scalar | |
| virtual void | std_spectral_base () |
Sets the spectral bases of the Valeur va to the standard ones for a scalar field. | |
| virtual void | std_spectral_base_odd () |
Sets the spectral bases of the Valeur va to the standard odd ones for a scalar field. | |
| void | set_spectral_base (const Base_val &) |
Sets the spectral bases of the Valeur va. | |
| const Base_val & | get_spectral_base () const |
Returns the spectral bases of the Valeur va. | |
| void | set_dzpuis (int) |
Modifies the dzpuis flag. | |
| Valeur ** | asymptot (int n, const int flag=0) const |
| Asymptotic expansion at r = infinity. | |
| Scalar | poisson () const |
Solves the scalar Poisson equation with *this as a source. | |
| void | poisson (Param &par, Scalar &uu) const |
Solves the scalar Poisson equation with *this as a source (version with parameters to control the resolution). | |
| Scalar | poisson_tau () const |
Solves the scalar Poisson equation with *this as a source using a real Tau method The source ![]() ![]() Scalar *this . | |
| void | poisson_tau (Param &par, Scalar &uu) const |
Solves the scalar Poisson equation with *this as a source using a real Tau method (version with parameters to control the resolution) The source ![]() ![]() Scalar *this . | |
| Scalar | poisson_dirichlet (const Valeur &limite, int num) const |
Is identicall to Scalar::poisson() . | |
| Scalar | poisson_neumann (const Valeur &, int) const |
Idem as Scalar::poisson_dirichlet , the boundary condition being on the radial derivative of the solution. | |
| Scalar | poisson_dir_neu (const Valeur &limite, int num, double fact_dir, double fact_neu) const |
Is identicall to Scalar::poisson() . | |
| Scalar | poisson_frontiere_double (const Valeur &, const Valeur &, int) const |
Idem as Scalar::poisson_dirichlet , the boundary condition being on both the function and its radial derivative. | |
| void | poisson_regular (int k_div, int nzet, double unsgam1, Param &par, Scalar &uu, Scalar &uu_regu, Scalar &uu_div, Tensor &duu_div, Scalar &source_regu, Scalar &source_div) const |
Solves the scalar Poisson equation with *this as a source (version with parameters to control the resolution). | |
| Tbl | test_poisson (const Scalar &uu, ostream &ostr, bool detail=false) const |
Checks if a Poisson equation with *this as a source has been correctly solved. | |
| Scalar | poisson_angu (double lambda=0) const |
Solves the (generalized) angular Poisson equation with *this as source. | |
| Scalar | avance_dalembert (Param &par, const Scalar &fJm1, const Scalar &source) const |
Performs one time-step integration (from ![]() *this being the value of the function f at time J . | |
| Scalar | sol_elliptic (Param_elliptic ¶ms) const |
| Resolution of a general elliptic equation, putting zero at infinity. | |
| Scalar | sol_elliptic_boundary (Param_elliptic ¶ms, const Mtbl_cf &bound, double fact_dir, double fact_neu) const |
| Resolution of a general elliptic equation, putting zero at infinity and with inner boundary conditions. | |
| Scalar | sol_elliptic_boundary (Param_elliptic ¶ms, const Scalar &bound, double fact_dir, double fact_neu) const |
| Resolution of general elliptic equation, with inner boundary conditions as Scalars on mono-domain angulare grids. | |
| Scalar | sol_elliptic_2d (Param_elliptic &) const |
Solves the scalar 2-dimensional elliptic equation with *this as a source. | |
| Scalar | sol_elliptic_pseudo_1d (Param_elliptic &) const |
Solves a pseudo-1d elliptic equation with *this as a source. | |
| Scalar | sol_elliptic_no_zec (Param_elliptic ¶ms, double val=0) const |
| Resolution of a general elliptic equation, putting a given value at the outermost shell and not solving in the compactified domain. | |
| Scalar | sol_elliptic_only_zec (Param_elliptic ¶ms, double val) const |
| Resolution of a general elliptic equation solving in the compactified domain and putting a given value at the inner boundary. | |
| Scalar | sol_elliptic_sin_zec (Param_elliptic ¶ms, double *coefs, double *phases) const |
| General elliptic solver. | |
| Scalar | sol_elliptic_fixe_der_zero (double val, Param_elliptic ¶ms) const |
| Resolution of a general elliptic equation fixing the dericative at the origin and relaxing one continuity condition. | |
| Scalar | sol_divergence (int n) const |
| Resolution of a divergence-like equation. | |
| void | import (const Scalar &ci) |
Assignment to another Scalar defined on a different mapping. | |
| void | import_symy (const Scalar &ci) |
Assignment to another Scalar defined on a different mapping. | |
| void | import_asymy (const Scalar &ci) |
Assignment to another Scalar defined on a different mapping. | |
| void | import (int nzet, const Scalar &ci) |
Assignment to another Scalar defined on a different mapping. | |
| void | import_symy (int nzet, const Scalar &ci) |
Assignment to another Scalar defined on a different mapping. | |
| void | import_asymy (int nzet, const Scalar &ci) |
Assignment to another Scalar defined on a different mapping. | |
| void | set_triad (const Base_vect &new_triad) |
| Assigns a new vectorial basis (triad) of decomposition. | |
| Scalar & | set (const Itbl &ind) |
| Returns the value of a component (read/write version). | |
| Scalar & | set (int i1, int i2) |
| Returns the value of a component for a tensor of valence 2 (read/write version). | |
| Scalar & | set (int i1, int i2, int i3) |
| Returns the value of a component for a tensor of valence 3 (read/write version). | |
| Scalar & | set (int i1, int i2, int i3, int i4) |
| Returns the value of a component for a tensor of valence 4 (read/write version). | |
| void | annule_domain (int l) |
Sets the Tensor to zero in a given domain. | |
| void | annule_extern_cn (int l_0, int deg) |
| Performs a smooth (C^n) transition in a given domain to zero. | |
| const Tensor & | divergence (const Metric &gam) const |
Computes the divergence of this with respect to some metric ![]() | |
| Tensor | up (int ind, const Metric &gam) const |
Computes a new tensor by raising an index of *this. | |
| Tensor | down (int ind, const Metric &gam) const |
Computes a new tensor by lowering an index of *this. | |
| Tensor | up_down (const Metric &gam) const |
Computes a new tensor by raising or lowering all the indices of *this . | |
| Tensor | trace (int ind1, int ind2) const |
| Trace on two different type indices. | |
| Tensor | trace (int ind1, int ind2, const Metric &gam) const |
| Trace with respect to a given metric. | |
| Scalar | trace () const |
| Trace on two different type indices for a valence 2 tensor. | |
| Scalar | trace (const Metric &gam) const |
| Trace with respect to a given metric for a valence 2 tensor. | |
| virtual int | position (const Itbl &ind) const |
Returns the position in the array cmp of a component given by its indices. | |
| virtual Itbl | indices (int pos) const |
Returns the indices of a component given by its position in the array cmp . | |
| const Map & | get_mp () const |
| Returns the mapping. | |
| const Base_vect * | get_triad () const |
| Returns the vectorial basis (triad) on which the components are defined. | |
| int | get_valence () const |
| Returns the valence. | |
| int | get_n_comp () const |
| Returns the number of stored components. | |
| int | get_index_type (int i) const |
Gives the type (covariant or contravariant) of the index number i . | |
| Itbl | get_index_type () const |
| Returns the types of all the indices. | |
| int & | set_index_type (int i) |
Sets the type of the index number i . | |
| Itbl & | set_index_type () |
| Sets the types of all the indices. | |
| const Scalar & | operator() (const Itbl &ind) const |
| Returns the value of a component (read-only version). | |
| const Scalar & | operator() (int i1, int i2) const |
| Returns the value of a component for a tensor of valence 2 (read-only version). | |
| const Scalar & | operator() (int i1, int i2, int i3) const |
| Returns the value of a component for a tensor of valence 3 (read-only version). | |
| const Scalar & | operator() (int i1, int i2, int i3, int i4) const |
| Returns the value of a component for a tensor of valence 4 (read-only version). | |
| void | operator+= (const Tensor &) |
| += Tensor | |
| void | operator-= (const Tensor &) |
| -= Tensor | |
Protected Member Functions | |
| void | del_t () |
| Logical destructor. | |
| virtual void | del_deriv () const |
| Logical destructor of the derivatives. | |
| void | set_der_0x0 () const |
| Sets the pointers for derivatives to 0x0. | |
| void | import_gal (int nzet, const Scalar &ci) |
Assignment to another Scalar defined on a different mapping, when the two mappings do not have a particular relative orientation. | |
| void | import_align (int nzet, const Scalar &ci) |
Assignment to another Scalar defined on a different mapping, when the two mappings have aligned Cartesian axis. | |
| void | import_anti (int nzet, const Scalar &ci) |
Assignment to another Scalar defined on a different mapping, when the two mappings have anti-aligned Cartesian axis (i.e. | |
| void | import_align_symy (int nzet, const Scalar &ci) |
Assignment to another Scalar defined on a different mapping, when the two mappings have aligned Cartesian axis. | |
| void | import_anti_symy (int nzet, const Scalar &ci) |
Assignment to another Scalar defined on a different mapping, when the two mappings have anti-aligned Cartesian axis (i.e. | |
| void | import_align_asymy (int nzet, const Scalar &ci) |
Assignment to another Scalar defined on a different mapping, when the two mappings have aligned Cartesian axis. | |
| void | import_anti_asymy (int nzet, const Scalar &ci) |
Assignment to another Scalar defined on a different mapping, when the two mappings have anti-aligned Cartesian axis (i.e. | |
| virtual void | del_derive_met (int) const |
Logical destructor of the derivatives depending on the i-th element of met_depend . | |
| void | set_der_met_0x0 (int) const |
Sets all the i-th components of met_depend , p_derive_cov , etc... to 0x0. | |
| void | set_dependance (const Metric &) const |
To be used to describe the fact that the derivatives members have been calculated with met . | |
| int | get_place_met (const Metric &) const |
Returns the position of the pointer on metre in the array met_depend . | |
| void | compute_derive_lie (const Vector &v, Tensor &resu) const |
Computes the Lie derivative of this with respect to some vector field v (protected method; the public interface is method derive_lie ). | |
Protected Attributes | |
| int | etat |
The logical state ETATNONDEF (undefined), ETATZERO (null), ETATUN (one), or ETATQCQ (ordinary). | |
| int | dzpuis |
Power of r by which the quantity represented by this must be divided in the compactified external domain (CED) in order to get the correct physical values. | |
| Valeur | va |
The numerical value of the Scalar. | |
| Scalar * | p_dsdr |
Pointer on ![]() *this (0x0 if not up to date). | |
| Scalar * | p_srdsdt |
Pointer on ![]() *this (0x0 if not up to date). | |
| Scalar * | p_srstdsdp |
Pointer on ![]() *this (0x0 if not up to date). | |
| Scalar * | p_dsdt |
Pointer on ![]() *this (0x0 if not up to date). | |
| Scalar * | p_stdsdp |
Pointer on ![]() *this (0x0 if not up to date). | |
| Scalar * | p_dsdx |
Pointer on ![]() *this , where ![]() | |
| Scalar * | p_dsdy |
Pointer on ![]() *this , where ![]() | |
| Scalar * | p_dsdz |
Pointer on ![]() *this , where ![]() | |
| Scalar * | p_lap |
Pointer on the Laplacian of *this (0x0 if not up to date). | |
| Scalar * | p_lapang |
Pointer on the Laplacian of *this (0x0 if not up to date). | |
| Scalar * | p_dsdradial |
Pointer on ![]() *this. | |
| Scalar * | p_dsdrho |
Pointer on ![]() *this. | |
| int | ind_lap |
| Power of r by which the last computed Laplacian has been multiplied in the compactified external domain. | |
| Tbl * | p_integ |
Pointer on the space integral of *this (values in each domain) (0x0 if not up to date). | |
| const Map *const | mp |
| Mapping on which the numerical values at the grid points are defined. | |
| int | valence |
| Valence of the tensor (0 = scalar, 1 = vector, etc...). | |
| const Base_vect * | triad |
| Vectorial basis (triad) with respect to which the tensor components are defined. | |
| Itbl | type_indice |
1D array of integers (class Itbl ) of size valence containing the type of each index: COV for a covariant one and CON for a contravariant one. | |
| int | n_comp |
| Number of stored components, depending on the symmetry. | |
| Scalar ** | cmp |
Array of size n_comp of pointers onto the components. | |
| const Metric * | met_depend [N_MET_MAX] |
Array on the Metric 's which were used to compute derived quantities, like p_derive_cov , etc... The i-th element of this array is the Metric used to compute the i-th element of p_derive_cov , etc. | |
| Tensor * | p_derive_cov [N_MET_MAX] |
Array of pointers on the covariant derivatives of this with respect to various metrics. | |
| Tensor * | p_derive_con [N_MET_MAX] |
Array of pointers on the contravariant derivatives of this with respect to various metrics. | |
| Tensor * | p_divergence [N_MET_MAX] |
Array of pointers on the divergence of this with respect to various metrics. | |
Friends | |
| ostream & | operator<< (ostream &ost, const Scalar &ci) |
| Display. | |
| Scalar | operator- (const Scalar &ci) |
- Scalar | |
| Scalar | operator+ (const Scalar &c1, const Scalar &c2) |
| Scalar + Scalar. | |
| Scalar | operator+ (const Scalar &c1, const Mtbl &mi) |
| Scalar + Mbtl. | |
| Scalar | operator+ (const Scalar &t1, double x) |
| Scalar + double. | |
| Scalar | operator- (const Scalar &c1, const Scalar &c2) |
| Scalar - Scalar. | |
| Scalar | operator- (const Scalar &t1, const Mtbl &mi) |
| Scalar - Mbtl. | |
| Scalar | operator- (const Scalar &t1, double x) |
| Scalar - double. | |
| Scalar | operator* (const Scalar &c1, const Scalar &c2) |
| Scalar * Scalar. | |
| Scalar | operator% (const Scalar &c1, const Scalar &c2) |
| Scalar * Scalar with desaliasing. | |
| Scalar | operator| (const Scalar &c1, const Scalar &c2) |
| Scalar * Scalar with desaliasing only in r. | |
| Scalar | operator* (const Mtbl &mi, const Scalar &c1) |
| Mtbl * Scalar. | |
| Scalar | operator* (double a, const Scalar &c1) |
| double * Scalar | |
| Scalar | operator/ (const Scalar &c1, const Scalar &c2) |
| Scalar / Scalar. | |
| Scalar | operator/ (const Scalar &c1, const Mtbl &mi) |
| Scalar / Mtbl. | |
| Scalar | operator/ (const Mtbl &mi, const Scalar &c2) |
| Mtbl / Scalar. | |
| Scalar | operator/ (const Scalar &c1, double x) |
| Scalar / double. | |
| Scalar | operator/ (double x, const Scalar &c2) |
| double / Scalar | |
| Scalar | sin (const Scalar &ci) |
| Sine. | |
| Scalar | cos (const Scalar &ci) |
| Cosine. | |
| Scalar | tan (const Scalar &ci) |
| Tangent. | |
| Scalar | asin (const Scalar &ci) |
| Arcsine. | |
| Scalar | acos (const Scalar &ci) |
| Arccosine. | |
| Scalar | atan (const Scalar &ci) |
| Arctangent. | |
| Scalar | exp (const Scalar &ci) |
| Exponential. | |
| Scalar | Heaviside (const Scalar &ci) |
| Heaviside function. | |
| Scalar | log (const Scalar &ci) |
| Neperian logarithm. | |
| Scalar | log10 (const Scalar &ci) |
| Basis 10 logarithm. | |
| Scalar | sqrt (const Scalar &ci) |
| Square root. | |
| Scalar | racine_cubique (const Scalar &ci) |
| Cube root. | |
| Scalar | pow (const Scalar &ci, int n) |
Power ![]() | |
| Scalar | pow (const Scalar &ci, double x) |
Power ![]() | |
| Scalar | abs (const Scalar &ci) |
| Absolute value. | |
| double | totalmax (const Scalar &ci) |
Maximum values of a Scalar in each domain. | |
| double | totalmin (const Scalar &ci) |
Minimum values of a Scalar in each domain. | |
| Tbl | max (const Scalar &ci) |
Maximum values of a Scalar in each domain. | |
| Tbl | min (const Scalar &ci) |
Minimum values of a Scalar in each domain. | |
| Tbl | norme (const Scalar &ci) |
Sums of the absolute values of all the values of the Scalar in each domain. | |
| Tbl | diffrel (const Scalar &a, const Scalar &b) |
Relative difference between two Scalar (norme version). | |
| Tbl | diffrelmax (const Scalar &a, const Scalar &b) |
Relative difference between two Scalar (max version). | |
Tensor field of valence 0 (or component of a tensorial field).
()
|
explicit |
Constructor from mapping.
Definition at line 210 of file scalar.C.
References Lorene::Tensor::cmp, dzpuis, etat, Lorene::get_mg(), Lorene::Map(), set_der_0x0(), Lorene::Tensor::Tensor(), and va.
| Lorene::Scalar::Scalar | ( | const Tensor & | a | ) |
Constructor from a Tensor (must be of valence 0).
Definition at line 221 of file scalar.C.
References Lorene::Tensor::cmp, dzpuis, etat, Lorene::Tensor::mp, set_der_0x0(), Lorene::Tensor::Tensor(), va, and Lorene::Tensor::valence.
| Lorene::Scalar::Scalar | ( | const Scalar & | a | ) |
Copy constructor.
Definition at line 234 of file scalar.C.
References Lorene::Tensor::cmp, dzpuis, etat, Lorene::Tensor::mp, Scalar(), set_der_0x0(), Lorene::Tensor::Tensor(), and va.
| Lorene::Scalar::Scalar | ( | const Cmp & | a | ) |
Constructor by conversion of a Cmp.
Definition at line 244 of file scalar.C.
References Lorene::Tensor::cmp, dzpuis, etat, get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), set_der_0x0(), Lorene::Tensor::Tensor(), and va.
Constructor from a file (see sauve(FILE*) ).
Definition at line 254 of file scalar.C.
References Lorene::Tensor::cmp, dzpuis, etat, Lorene::fread_be(), Lorene::Map(), set_der_0x0(), Lorene::Tensor::Tensor(), and va.
|
virtual |
|
virtual |
Sets the logical state to ETATQCQ (ordinary state) and performs the memory allocation of all the elements, down to the double arrays of the Tbl s.
This function performs in fact recursive calls to set_etat_qcq() on each element of the chain Scalar -> Valeur -> Mtbl -> Tbl .
Reimplemented from Lorene::Tensor.
Definition at line 371 of file scalar.C.
References Lorene::Mtbl::get_nzone(), Lorene::Mtbl::set_etat_qcq(), set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Mtbl::t, and va.
|
virtual |
Sets the Scalar to zero in several domains.
| l_min | [input] The Scalar will be set (logically) to zero in the domains whose indices are in the range [l_min,l_max] . |
| l_max | [input] see the comments for l_min . |
Note that annule(0,va.mg->get_nzone()-1) is equivalent to set_etat_zero() .
Reimplemented from Lorene::Tensor.
Definition at line 397 of file scalar.C.
References etat, p_dsdr, p_dsdradial, p_dsdt, p_dsdx, p_dsdy, p_dsdz, p_integ, p_lap, p_lapang, p_srdsdt, p_srstdsdp, p_stdsdp, set_etat_zero(), and va.
| void Lorene::Scalar::annule_hard | ( | ) |
Sets the Scalar to zero in a hard way.
1/ Sets the logical state to ETATQCQ , i.e. to an ordinary state. 2/ Fills the Valeur va with zeros. NB: this function must be used for debugging purposes only. For other operations, the functions set_etat_zero() or annule(int,int) must be perferred.
Definition at line 386 of file scalar.C.
References del_deriv(), etat, and va.
| void Lorene::Scalar::annule_l | ( | int | l_min, |
| int | l_max, | ||
| bool | ylm_output = false ) |
Sets all the multipolar components between l_min and l_max to zero.
This is done for [ l_min , l_max ] and all relevant m in the spherical harmonics expansion basis. If ylm_output is set to true , then the spectral expansion basis of this is left to be that of spherical harmonics.
Definition at line 117 of file scalar_manip.C.
References etat, get_etat(), Lorene::Base_val::give_quant_numbers(), Lorene::Tensor::mp, Lorene::Mtbl_cf::set(), set_etat_zero(), and va.
| Valeur ** Lorene::Scalar::asymptot | ( | int | n, |
| const int | flag = 0 ) const |
Asymptotic expansion at r = infinity.
Determines the coefficients 
![\[ \sum_{k=0}^n {a_k(\theta, \phi) \over r^k}
\]](form_757.png)
of *this when 
| n | order of the expansion |
| flag | : output |
n +1 Valeur s on mg->angu 
Definition at line 66 of file scalar_asymptot.C.
References Lorene::Valeur::base, Lorene::Valeur::c, dzpuis, Lorene::Mg3d::get_angu(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Mg3d::get_type_r(), Lorene::Tensor::mp, mult_r_ced(), Scalar(), Lorene::Valeur::set(), Lorene::Valeur::set_base(), Lorene::Valeur::set_etat_c_qcq(), Lorene::Mtbl::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Tbl::set_etat_zero(), Lorene::Valeur::set_etat_zero(), set_grid_point(), Lorene::Mtbl::t, va, and val_grid_point().
| Scalar Lorene::Scalar::avance_dalembert | ( | Param & | par, |
| const Scalar & | fJm1, | ||
| const Scalar & | source ) const |
Performs one time-step integration (from 
*this being the value of the function f at time J .
Works only with an affine mapping (class Map_af ) and, if the last domain is a compactified one, it simply copies the value of the field in this last domain at the time-step J to the last domain of the returned solution.
| par | [input/output] possible parameters to control the resolution of the d'Alembert equation:
|
| fJm1 | [input] solution ![]() |
| source | [input] source ![]() ![]() |

par.get_int(0) . Definition at line 220 of file scalar_pde.C.
References Lorene::Tensor::mp, and Scalar().
|
virtual |
Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly.
Reimplemented from Lorene::Tensor.
| bool Lorene::Scalar::check_dzpuis | ( | int | dzi | ) | const |
Returns false if the last domain is compactified and *this is not zero in this domain and dzpuis is not equal to dzi , otherwise return true.
Definition at line 879 of file scalar.C.
References dz_nonzero(), and dzpuis.
|
virtual |
Decreases by dec units the value of dzpuis and changes accordingly the values of the Scalar in the compactified external domain (CED).
Reimplemented from Lorene::Tensor.
Definition at line 421 of file scalar_r_manip.C.
References del_deriv(), etat, and Lorene::Tensor::mp.
|
protectedvirtual |
Logical destructor of the derivatives.
Reimplemented from Lorene::Tensor.
Definition at line 293 of file scalar.C.
References Lorene::Tensor::del_deriv(), p_dsdr, p_dsdradial, p_dsdrho, p_dsdt, p_dsdx, p_dsdy, p_dsdz, p_integ, p_lap, p_lapang, p_srdsdt, p_srstdsdp, p_stdsdp, and set_der_0x0().
|
protected |
| const Scalar & Lorene::Scalar::deriv | ( | int | i | ) | const |
| const Vector & Lorene::Scalar::derive_con | ( | const Metric & | gam | ) | const |
Returns the "contravariant" derivative of *this with respect to some metric 
method derive_cov() ) with 
Definition at line 402 of file scalar_deriv.C.
References Lorene::Tensor::derive_con().
| const Vector & Lorene::Scalar::derive_cov | ( | const Metric & | gam | ) | const |
Returns the gradient (1-form = covariant vector) of *this.
| gam | metric components only used to get the triad with respect to which the components of the result are defined |
Definition at line 390 of file scalar_deriv.C.
References Lorene::Tensor::derive_cov().
| Scalar Lorene::Scalar::derive_lie | ( | const Vector & | v | ) | const |
Computes the derivative of this along a vector field v.
Definition at line 419 of file scalar_deriv.C.
References Lorene::Tensor::compute_derive_lie(), Lorene::Tensor::mp, and Scalar().
| void Lorene::Scalar::div_cost | ( | ) |
Division by 
Definition at line 73 of file scalar_th_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
| void Lorene::Scalar::div_r | ( | ) |
Division by r everywhere; dzpuis is not changed.
Definition at line 136 of file scalar_r_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
| void Lorene::Scalar::div_r_ced | ( | ) |
Division by r in the compactified external domain (CED), the dzpuis flag is not changed.
Definition at line 199 of file scalar_r_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
| void Lorene::Scalar::div_r_dzpuis | ( | int | ced_mult_r | ) |
Division by r everywhere but with the output flag dzpuis
set to ced_mult_r .
| ced_mult_r | [input] value of dzpuis of the result. |
Definition at line 150 of file scalar_r_manip.C.
References allocate_all(), annule(), dec_dzpuis(), del_deriv(), div_r(), domain(), dzpuis, etat, inc_dzpuis(), Lorene::Tensor::mp, Scalar(), set_domain(), set_etat_qcq(), set_spectral_base(), Lorene::Base_val::sx(), and va.
| void Lorene::Scalar::div_rsint | ( | ) |
Division by 
dzpuis is not changed.
Definition at line 351 of file scalar_r_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
| void Lorene::Scalar::div_rsint_dzpuis | ( | int | ced_mult_r | ) |
Division by 
dzpuis set to ced_mult_r .
| ced_mult_r | [input] value of dzpuis of the result. |
Definition at line 365 of file scalar_r_manip.C.
References allocate_all(), annule(), dec_dzpuis(), del_deriv(), div_rsint(), div_sint(), domain(), dzpuis, etat, inc_dzpuis(), Lorene::Tensor::mp, Scalar(), set_domain(), set_dzpuis(), set_etat_qcq(), set_spectral_base(), Lorene::Base_val::ssint(), Lorene::Base_val::sx(), and va.
| void Lorene::Scalar::div_sint | ( | ) |
Division by 
Definition at line 101 of file scalar_th_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
| void Lorene::Scalar::div_tant | ( | ) |
Division by 
Definition at line 114 of file scalar_th_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
|
inline |
| const Scalar & Lorene::Scalar::dsdr | ( | ) | const |
Returns 
*this .
If dzpuis is zero, then the returned Scalar has dzpuis = 2. It is increased by 1 otherwise.
Definition at line 113 of file scalar_deriv.C.
References dzpuis, etat, Lorene::Tensor::mp, p_dsdr, and Scalar().
| const Scalar & Lorene::Scalar::dsdradial | ( | ) | const |
Returns 
*this if the mapping is affine (class Map_af) and 
*this if the mapping is logarithmic (class Map_log).
If dzpuis is zero, then the returned Scalar has dzpuis = 2. It is increased by 1 otherwise.
Definition at line 491 of file scalar_deriv.C.
References dzpuis, etat, Lorene::Tensor::mp, p_dsdradial, and Scalar().
| const Scalar & Lorene::Scalar::dsdrho | ( | ) | const |
Returns 
*this .
If dzpuis is zero, then the returned Scalar has dzpuis = 2. It is increased by 1 otherwise.
Definition at line 522 of file scalar_deriv.C.
References dsdr(), dzpuis, etat, get_spectral_va(), Lorene::Tensor::mp, Lorene::Valeur::mult_ct(), Lorene::Valeur::mult_st(), p_dsdrho, Scalar(), and srdsdt().
| const Scalar & Lorene::Scalar::dsdt | ( | ) | const |
Returns 
*this .
Definition at line 208 of file scalar_deriv.C.
References dzpuis, etat, Lorene::Tensor::mp, p_dsdt, and Scalar().
| const Scalar & Lorene::Scalar::dsdx | ( | ) | const |
Returns 
*this , where 
If dzpuis is zero, then the returned Scalar has dzpuis = 2. It is increased by 1 otherwise.
Definition at line 266 of file scalar_deriv.C.
References dsdr(), dzpuis, etat, Lorene::Tensor::mp, p_dsdx, Scalar(), srdsdt(), and srstdsdp().
| const Scalar & Lorene::Scalar::dsdy | ( | ) | const |
Returns 
*this , where 
If dzpuis is zero, then the returned Scalar has dzpuis = 2. It is increased by 1 otherwise.
Definition at line 297 of file scalar_deriv.C.
References dsdr(), dzpuis, etat, Lorene::Tensor::mp, p_dsdy, Scalar(), srdsdt(), and srstdsdp().
| const Scalar & Lorene::Scalar::dsdz | ( | ) | const |
Returns 
*this , where 
If dzpuis is zero, then the returned Scalar has dzpuis = 2. It is increased by 1 otherwise.
Definition at line 328 of file scalar_deriv.C.
References dsdr(), dzpuis, etat, Lorene::Tensor::mp, p_dsdz, Scalar(), and srdsdt().
| bool Lorene::Scalar::dz_nonzero | ( | ) | const |
Returns true if the last domain is compactified and *this is not zero in this domain.
Definition at line 820 of file scalar.C.
References etat, Lorene::Mg3d::get_nzone(), Lorene::Mg3d::get_type_r(), Lorene::Tensor::mp, and va.
| void Lorene::Scalar::exp_filter_r_all_domains | ( | Scalar & | ss, |
| int | p, | ||
| double | alpha = -16. ) |
|
virtual |
Applies an exponential filter to the spectral coefficients in the radial direction.
The filter is of the type: 

| lzmin,lzmax | [input] the indices of the domain where the filter is applied (in [lzmin , lzmax ]) |
| p | [input] the order of the filter |
| alpha | [input] ![]() |
Reimplemented from Lorene::Tensor.
Definition at line 72 of file scalar_exp_filter.C.
References del_deriv(), etat, exp, Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), log, Lorene::Tensor::mp, pow, and va.
|
virtual |
Applies an exponential filter to the spectral coefficients in the angular directions.
The filter is of the type: 

Scalar::exponential_filter_r and 
Reimplemented from Lorene::Tensor.
Definition at line 154 of file scalar_exp_filter.C.
References del_deriv(), etat, exp, Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Base_val::give_lmax(), Lorene::Base_val::give_quant_numbers(), log, Lorene::Tensor::mp, pow, and va.
|
virtual |
Applies an exponential filter to the spectral coefficients in the angular directions.
The filter is of the type: 

Scalar::exponential_filter_r and 
Reimplemented from Lorene::Tensor.
Definition at line 198 of file scalar_exp_filter.C.
References abs, del_deriv(), etat, exp, Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Base_val::give_lmax(), Lorene::Base_val::give_quant_numbers(), log, Lorene::Tensor::mp, pow, and va.
| void Lorene::Scalar::filtre | ( | int | n | ) |
Sets the n lasts coefficients in r to 0 in the external domain.
Definition at line 157 of file scalar_manip.C.
References del_deriv(), etat, Lorene::Tensor::mp, and va.
| void Lorene::Scalar::filtre_phi | ( | int | n, |
| int | zone ) |
Sets the n lasts coefficients in 
zone .
Definition at line 255 of file scalar_manip.C.
References del_deriv(), etat, Lorene::Tensor::mp, and va.
| void Lorene::Scalar::filtre_r | ( | int * | nn | ) |
Sets the n lasts coefficients in r to 0 in all domains.
Definition at line 186 of file scalar_manip.C.
References del_deriv(), etat, Lorene::Tensor::mp, and va.
| void Lorene::Scalar::filtre_r | ( | int | n, |
| int | nzone ) |
Sets the n last coefficients in r to 0 in the domain nzone .
Definition at line 224 of file scalar_manip.C.
References del_deriv(), etat, Lorene::Tensor::mp, and va.
| void Lorene::Scalar::filtre_tp | ( | int | nn, |
| int | nz1, | ||
| int | nz2 ) |
Sets the n lasts coefficients in 
nz1 to nz2 when expressed in spherical harmonics.
Definition at line 276 of file scalar_manip.C.
References va.
| void Lorene::Scalar::fixe_decroissance | ( | int | puis | ) |
Substracts all the components behaving like 
puis , so that *this
decreases at least like 
Definition at line 352 of file scalar_manip.C.
References Lorene::Valeur::base, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), cos, dzpuis, Lorene::Map_af::get_alpha(), Lorene::Base_val::get_base_r(), Lorene::Tensor::mp, mult_r_ced(), pow, R_CHEBU, Scalar(), Lorene::Mtbl_cf::set(), Lorene::Valeur::set_etat_cf_qcq(), and va.
|
inline |
|
inline |
|
inline |
|
inline |
| void Lorene::Scalar::import | ( | const Scalar & | ci | ) |
Assignment to another Scalar defined on a different mapping.
This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| ci | [input] Scalar to be imported. |
Definition at line 71 of file scalar_import.C.
References Lorene::Tensor::mp, and Scalar().
| void Lorene::Scalar::import | ( | int | nzet, |
| const Scalar & | ci ) |
Assignment to another Scalar defined on a different mapping.
This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| nzet | [input] Number of domains of the destination mapping (i.e. this->mp ) where the importation is performed: the assignment is done for the domains whose indices are between 0 and nzet-1 . In the other domains, *this is set to zero. |
| ci | [input] Scalar to be imported. |
Definition at line 83 of file scalar_import.C.
References Lorene::Tensor::get_mp(), import_align(), import_anti(), import_gal(), Lorene::Map(), Lorene::Tensor::mp, and Scalar().
|
protected |
Assignment to another Scalar defined on a different mapping, when the two mappings have aligned Cartesian axis.
This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| nzet | [input] Number of domains of the destination mapping (i.e. this->mp ) where the importation is performed: the assignment is done for the domains whose indices are between 0 and nzet-1 . In the other domains, *this is set to zero. |
| ci | [input] Scalar to be imported. |
Definition at line 535 of file scalar_import.C.
References Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), annule(), Lorene::Valeur::c_cf, Lorene::Valeur::coef(), del_t(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), get_spectral_va(), Lorene::Map(), Lorene::Tensor::mp, Lorene::r, Scalar(), set_dzpuis(), set_etat_one(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, Lorene::Tbl::t, va, and Lorene::Mtbl_cf::val_point().
|
protected |
Assignment to another Scalar defined on a different mapping, when the two mappings have aligned Cartesian axis.
Case where the Scalar is antisymmetric with respect to the plane y=0.
This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| nzet | [input] Number of domains of the destination mapping (i.e. this->mp ) where the importation is performed: the assignment is done for the domains whose indices are between 0 and nzet-1 . In the other domains, *this is set to zero. |
| ci | [input] Scalar to be imported. |
Definition at line 381 of file scalar_import_asymy.C.
References Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), annule(), Lorene::Valeur::c_cf, Lorene::Valeur::coef(), del_t(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), get_spectral_va(), Lorene::Mg3d::get_type_p(), Lorene::Map(), Lorene::Tensor::mp, Lorene::r, Scalar(), set_dzpuis(), set_etat_one(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, Lorene::Tbl::t, va, and Lorene::Mtbl_cf::val_point_asymy().
|
protected |
Assignment to another Scalar defined on a different mapping, when the two mappings have aligned Cartesian axis.
Case where the Scalar is symmetric with respect to the plane y=0.
This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| nzet | [input] Number of domains of the destination mapping (i.e. this->mp ) where the importation is performed: the assignment is done for the domains whose indices are between 0 and nzet-1 . In the other domains, *this is set to zero. |
| ci | [input] Scalar to be imported. |
Definition at line 352 of file scalar_import_symy.C.
References Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), annule(), Lorene::Valeur::c_cf, Lorene::Valeur::coef(), del_t(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), get_spectral_va(), Lorene::Mg3d::get_type_p(), Lorene::Map(), Lorene::Tensor::mp, Lorene::r, Scalar(), set_dzpuis(), set_etat_one(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, Lorene::Tbl::t, va, and Lorene::Mtbl_cf::val_point_symy().
|
protected |
Assignment to another Scalar defined on a different mapping, when the two mappings have anti-aligned Cartesian axis (i.e.



This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| nzet | [input] Number of domains of the destination mapping (i.e. this->mp ) where the importation is performed: the assignment is done for the domains whose indices are between 0 and nzet-1 . In the other domains, *this is set to zero. |
| ci | [input] Scalar to be imported. |
Definition at line 338 of file scalar_import.C.
References Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), annule(), Lorene::Valeur::c_cf, Lorene::Valeur::coef(), del_t(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), get_spectral_va(), Lorene::Map(), Lorene::Tensor::mp, Lorene::r, Scalar(), set_dzpuis(), set_etat_one(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, Lorene::Tbl::t, va, and Lorene::Mtbl_cf::val_point().
|
protected |
Assignment to another Scalar defined on a different mapping, when the two mappings have anti-aligned Cartesian axis (i.e.



Scalar is antisymmetric with respect to the plane y=0.
This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| nzet | [input] Number of domains of the destination mapping (i.e. this->mp ) where the importation is performed: the assignment is done for the domains whose indices are between 0 and nzet-1 . In the other domains, *this is set to zero. |
| ci | [input] Scalar to be imported. |
Definition at line 134 of file scalar_import_asymy.C.
References Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), annule(), Lorene::Valeur::c_cf, Lorene::Valeur::coef(), del_t(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), get_spectral_va(), Lorene::Mg3d::get_type_p(), Lorene::Map(), Lorene::Tensor::mp, Lorene::r, Scalar(), set_dzpuis(), set_etat_one(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, Lorene::Tbl::t, va, and Lorene::Mtbl_cf::val_point_asymy().
|
protected |
Assignment to another Scalar defined on a different mapping, when the two mappings have anti-aligned Cartesian axis (i.e.



Scalar is symmetric with respect to the plane y=0.
This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| nzet | [input] Number of domains of the destination mapping (i.e. this->mp ) where the importation is performed: the assignment is done for the domains whose indices are between 0 and nzet-1 . In the other domains, *this is set to zero. |
| ci | [input] Scalar to be imported. |
Definition at line 134 of file scalar_import_symy.C.
References Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), annule(), Lorene::Valeur::c_cf, Lorene::Valeur::coef(), del_t(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), get_spectral_va(), Lorene::Mg3d::get_type_p(), Lorene::Map(), Lorene::Tensor::mp, Lorene::r, Scalar(), set_dzpuis(), set_etat_one(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, Lorene::Tbl::t, va, and Lorene::Mtbl_cf::val_point_symy().
| void Lorene::Scalar::import_asymy | ( | const Scalar & | ci | ) |
Assignment to another Scalar defined on a different mapping.
Case where the Scalar is antisymmetric with respect to the plane y=0. This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| ci | [input] Scalar to be imported. |
Definition at line 75 of file scalar_import_asymy.C.
References import_asymy(), Lorene::Tensor::mp, and Scalar().
| void Lorene::Scalar::import_asymy | ( | int | nzet, |
| const Scalar & | ci ) |
Assignment to another Scalar defined on a different mapping.
Case where the Scalar is antisymmetric with respect to the plane y=0. This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| nzet | [input] Number of domains of the destination mapping (i.e. this->mp ) where the importation is performed: the assignment is done for the domains whose indices are between 0 and nzet-1 . In the other domains, *this is set to zero. |
| ci | [input] Scalar to be imported. |
Definition at line 87 of file scalar_import_asymy.C.
References Lorene::Tensor::get_mp(), import_align_asymy(), import_anti_asymy(), Lorene::Map(), Lorene::Tensor::mp, and Scalar().
|
protected |
Assignment to another Scalar defined on a different mapping, when the two mappings do not have a particular relative orientation.
This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| nzet | [input] Number of domains of the destination mapping (i.e. this->mp ) where the importation is performed: the assignment is done for the domains whose indices are between 0 and nzet-1 . In the other domains, *this is set to zero. |
| ci | [input] Scalar to be imported. |
Definition at line 134 of file scalar_import.C.
References Lorene::Param::add_double(), Lorene::Param::add_int(), Lorene::Param::add_int_mod(), annule(), Lorene::Valeur::c_cf, Lorene::Valeur::coef(), del_t(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), get_spectral_va(), Lorene::Map(), Lorene::Tensor::mp, Lorene::r, Scalar(), set_dzpuis(), set_etat_one(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, Lorene::Tbl::t, va, and Lorene::Mtbl_cf::val_point().
| void Lorene::Scalar::import_symy | ( | const Scalar & | ci | ) |
Assignment to another Scalar defined on a different mapping.
Case where the Scalar is symmetric with respect to the plane y=0. This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| ci | [input] Scalar to be imported. |
Definition at line 75 of file scalar_import_symy.C.
References import_symy(), Lorene::Tensor::mp, and Scalar().
| void Lorene::Scalar::import_symy | ( | int | nzet, |
| const Scalar & | ci ) |
Assignment to another Scalar defined on a different mapping.
Case where the Scalar is symmetric with respect to the plane y=0. This assignment is performed point to point by means of the spectral expansion of the original Scalar.
| nzet | [input] Number of domains of the destination mapping (i.e. this->mp ) where the importation is performed: the assignment is done for the domains whose indices are between 0 and nzet-1 . In the other domains, *this is set to zero. |
| ci | [input] Scalar to be imported. |
Definition at line 87 of file scalar_import_symy.C.
References Lorene::Tensor::get_mp(), import_align_symy(), import_anti_symy(), Lorene::Map(), Lorene::Tensor::mp, and Scalar().
|
virtual |
Increases by inc units the value of dzpuis and changes accordingly the values of the Scalar in the compactified external domain (CED).
Reimplemented from Lorene::Tensor.
Definition at line 473 of file scalar_r_manip.C.
References del_deriv(), etat, and Lorene::Tensor::mp.
| double Lorene::Scalar::integrale | ( | ) | const |
Computes the integral over all space of *this .
The computed quantity is (u being the field represented by *this ) 
dzpuis
must be 4 for the computation to take place.
Definition at line 64 of file scalar_integ.C.
References integrale_domains(), and Lorene::Tensor::mp.
| const Tbl & Lorene::Scalar::integrale_domains | ( | ) | const |
Computes the integral in each domain of *this .
The computed quantity is (u being the field represented by *this ) 
Tbl on the various domains. Note that in the compactified external domain (CED), dzpuis
must be 4 for the computation to take place.
Definition at line 82 of file scalar_integ.C.
References etat, Lorene::Tensor::mp, and p_integ.
| bool Lorene::Scalar::is_nan | ( | bool | verbose = false | ) | const |
Looks for NaNs (not a number) in the scalar field.
If at least one NaN is found, it returns true. If the flag verbose is set to true, it outputs to the standard output the indices where NaNs have been found.
Definition at line 1014 of file scalar.C.
References etat, Lorene::Tensor::mp, and va.
| const Scalar & Lorene::Scalar::lapang | ( | ) | const |
Returns the angular Laplacian 
*this , where 
Definition at line 461 of file scalar_deriv.C.
References dzpuis, etat, Lorene::Tensor::mp, p_lapang, and Scalar().
| const Scalar & Lorene::Scalar::laplacian | ( | int | ced_mult_r = 4 | ) | const |
Returns the Laplacian of *this.
| ced_mult_r | [input] Determines the quantity computed in the compactified external domain (CED) (u in the field represented by *this ) :
|
Definition at line 436 of file scalar_deriv.C.
References etat, ind_lap, Lorene::Tensor::mp, p_lap, and Scalar().
Method for matching accross domains and imposing boundary condition.
Matching of the field represented by this accross domains and imposition of the boundary condition using the collocation method.
| par_bc | [input] Param to control the boundary conditions |
| par_mat | [input/output] optional Param in which the matching matrices are stored (together with their LU decomposition). |
References Scalar().
Method for matching accross domains and imposing boundary condition.
Matching of the field represented by this accross domains and imposition of the boundary condition using the tau method.
| par_bc | [input] Param to control the boundary conditions par_bc must contain (at a minimum) a modifiable Tbl which specifies a physical boundary two integers, one specifying the domain that has the boundary the other specifying the number of conditions 1 -> Dirichlet 2 -> Robin (which may reduce to von Neumann, see below) two doubles, specifying the Robin BC parameters. If the first is zero, we see that Robin will reduce to von Neumann |
| par_mat | [input/output] optional Param in which the matching matrices are stored (together with their LU decomposition). |
Definition at line 69 of file scalar_match_tau.C.
References Lorene::Param::add_matrice_mod(), Lorene::Matrice::annule_hard(), annule_hard(), Lorene::Tbl::annule_hard(), etat, Lorene::Map_af::get_alpha(), Lorene::Param::get_double_mod(), Lorene::Tbl::get_etat(), Lorene::Param::get_int(), Lorene::Param::get_matrice_mod(), Lorene::Param::get_n_double_mod(), Lorene::Param::get_n_int(), Lorene::Param::get_n_matrice_mod(), Lorene::Param::get_n_tbl_mod(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), get_spectral_base(), Lorene::Param::get_tbl_mod(), Lorene::Mg3d::get_type_r(), Lorene::Base_val::give_quant_numbers(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, R_CHEBI, R_CHEBP, Lorene::Matrice::set(), Lorene::Mtbl_cf::set(), Lorene::Tbl::set(), Lorene::Matrice::set_lu(), and va.
Method for matching accross domains and imposing boundary condition.
Matching of the field represented by this accross domains and imposition of the boundary condition using the tau method.
Method for matching accross domains and imposing boundary condition.
Matching of the field represented by this accross domains and imposition of the boundary condition using the tau method for a grid with Map_star mapping.
| par_bc | [input] Param to control the boundary conditions par_bc must contain (at a minimum) a modifiable Tbl which specifies a physical boundary two integers, one specifying the domain that has the boundary the other specifying the number of conditions 1 -> Dirichlet 2 -> Robin (which may reduce to von Neumann, see below) two doubles, specifying the Robin BC parameters. If the first is zero, we see that Robin will reduce to von Neumann |
| par_mat | [input/output] optional Param in which the matching matrices are stored (together with their LU decomposition). |
| void Lorene::Scalar::mult_cost | ( | ) |
Multiplication by 
Definition at line 61 of file scalar_th_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
| void Lorene::Scalar::mult_r | ( | ) |
Multiplication by r everywhere; dzpuis is not changed.
Definition at line 211 of file scalar_r_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
| void Lorene::Scalar::mult_r_ced | ( | ) |
Multiplication by r in the compactified external domain (CED), the dzpuis flag is not changed.
Definition at line 272 of file scalar_r_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
| void Lorene::Scalar::mult_r_dzpuis | ( | int | ced_mult_r | ) |
Multiplication by r everywhere but with the output flag dzpuis
set to ced_mult_r .
| ced_mult_r | [input] value of dzpuis of the result. |
Definition at line 224 of file scalar_r_manip.C.
References allocate_all(), annule(), dec_dzpuis(), del_deriv(), domain(), dzpuis, etat, inc_dzpuis(), Lorene::Tensor::mp, mult_r(), Lorene::Base_val::mult_x(), Scalar(), set_domain(), set_etat_qcq(), set_spectral_base(), and va.
| void Lorene::Scalar::mult_rsint | ( | ) |
Multiplication by 
dzpuis is not changed.
Definition at line 284 of file scalar_r_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
| void Lorene::Scalar::mult_rsint_dzpuis | ( | int | ced_mult_r | ) |
Multiplication by 
dzpuis set to ced_mult_r .
| ced_mult_r | [input] value of dzpuis of the result. |
Definition at line 297 of file scalar_r_manip.C.
References allocate_all(), annule(), dec_dzpuis(), del_deriv(), domain(), dzpuis, etat, inc_dzpuis(), Lorene::Tensor::mp, mult_rsint(), Lorene::Base_val::mult_sint(), mult_sint(), Lorene::Base_val::mult_x(), Scalar(), set_domain(), set_dzpuis(), set_etat_qcq(), set_spectral_base(), and va.
| void Lorene::Scalar::mult_sint | ( | ) |
Multiplication by 
Definition at line 87 of file scalar_th_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
| Tbl Lorene::Scalar::multipole_spectrum | ( | ) | const |
Gives the spectrum in terms of multipolar modes l .
Tbl of size (nzone, lmax), where lmax is the maximal multipolar momentum over all domains. The l -th element contains the L1 norm of the l -th multipole (i.e. a sum over all m of the norms (coefficient space) of the component of a given 
Definition at line 962 of file scalar.C.
References Lorene::Tbl::annule_hard(), Lorene::Mtbl_cf::base, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), etat, Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Tensor::mp, Lorene::Tbl::set(), Lorene::Tbl::set_etat_zero(), va, and Lorene::Valeur::ylm().
| Lorene::Scalar::operator Cmp | ( | ) | const |
Conversion to a Cmp.
Definition at line 680 of file scalar.C.
References dzpuis, Lorene::Tensor::mp, Lorene::Cmp::set_dzpuis(), and va.
| void Lorene::Scalar::operator*= | ( | const Scalar & | ci | ) |
*= Scalar
Definition at line 940 of file scalar_arithm.C.
References del_deriv(), dzpuis, etat, get_etat(), Lorene::Tensor::get_mp(), Lorene::Tensor::mp, operator=(), Scalar(), set_etat_nondef(), set_etat_zero(), and va.
| void Lorene::Scalar::operator+= | ( | const Scalar & | ci | ) |
+= Scalar
Definition at line 836 of file scalar_arithm.C.
References del_deriv(), dz_nonzero(), dzpuis, etat, get_etat(), Lorene::Tensor::get_mp(), Lorene::Tensor::mp, Scalar(), set_dzpuis(), set_etat_nondef(), and va.
| void Lorene::Scalar::operator-= | ( | const Scalar & | ci | ) |
-= Scalar
Definition at line 889 of file scalar_arithm.C.
References del_deriv(), dz_nonzero(), dzpuis, etat, get_etat(), Lorene::Tensor::get_mp(), Lorene::Tensor::mp, Scalar(), set_dzpuis(), set_etat_nondef(), and va.
| void Lorene::Scalar::operator= | ( | const Cmp & | a | ) |
Assignment to a Cmp.
Definition at line 505 of file scalar.C.
References del_deriv(), dzpuis, Lorene::Cmp::get_dzpuis(), Lorene::Cmp::get_etat(), Lorene::Cmp::get_mp(), Lorene::Tensor::mp, set_etat_nondef(), set_etat_qcq(), set_etat_zero(), Lorene::Cmp::va, and va.
| void Lorene::Scalar::operator= | ( | const Mtbl & | a | ) |
Assignment to a Mtbl.
Definition at line 598 of file scalar.C.
References del_deriv(), Lorene::Mtbl::get_etat(), set_etat_qcq(), set_etat_zero(), and va.
| void Lorene::Scalar::operator= | ( | const Scalar & | a | ) |
Assignment to another Scalar defined on the same mapping.
Definition at line 452 of file scalar.C.
References del_deriv(), dzpuis, etat, Lorene::Valeur::get_base(), Lorene::Tensor::mp, Scalar(), set_etat_nondef(), set_etat_one(), set_etat_qcq(), set_etat_zero(), and va.
|
virtual |
Assignment to a Tensor (of valence 0).
Reimplemented from Lorene::Tensor.
Definition at line 442 of file scalar.C.
References Lorene::Tensor::cmp, operator=(), Lorene::Tensor::Tensor(), and Lorene::Tensor::valence.
| void Lorene::Scalar::operator= | ( | const Valeur & | a | ) |
Assignment to a Valeur.
Definition at line 555 of file scalar.C.
References del_deriv(), Lorene::Valeur::get_etat(), set_etat_qcq(), set_etat_zero(), and va.
| void Lorene::Scalar::operator= | ( | double | x | ) |
Assignment to a double.
Definition at line 638 of file scalar.C.
References del_deriv(), dzpuis, set_etat_one(), set_etat_qcq(), set_etat_zero(), va, and Lorene::x.
| void Lorene::Scalar::operator= | ( | int | n | ) |
Assignment to an int.
Definition at line 659 of file scalar.C.
References del_deriv(), dzpuis, set_etat_one(), set_etat_qcq(), set_etat_zero(), and va.
| Scalar Lorene::Scalar::poisson | ( | ) | const |
Solves the scalar Poisson equation with *this as a source.
The source 

Scalar *this . Note that dzpuis must be equal to 2 or 4, i.e. that the quantity stored in *this is in fact 

Scalar.
Definition at line 139 of file scalar_pde.C.
References Lorene::Tensor::mp, and Scalar().
Solves the scalar Poisson equation with *this as a source (version with parameters to control the resolution).
The source 

Scalar *this . Note that dzpuis must be equal to 2 or 4, i.e. that the quantity stored in *this is in fact 

| par | [input/output] possible parameters |
| uu | [input/output] solution u with the boundary condition u =0 at spatial infinity. |
Definition at line 155 of file scalar_pde.C.
References Lorene::Tensor::mp, and Scalar().
| Scalar Lorene::Scalar::poisson_angu | ( | double | lambda = 0 | ) | const |
Solves the (generalized) angular Poisson equation with *this
as source.
The generalized angular Poisson equation is 

@param lambda [input] coefficient \f$\lambda\f$ in the above equation
(default value = 0)
Definition at line 203 of file scalar_pde.C.
References Lorene::Tensor::mp, and Scalar().
| Scalar Lorene::Scalar::poisson_dir_neu | ( | const Valeur & | limite, |
| int | num, | ||
| double | fact_dir, | ||
| double | fact_neu ) const |
Is identicall to Scalar::poisson() .
The regularity condition at the origin is replace by a mixed boundary condition (Dirichlet + Neumann).
| limite | [input] : angular function. The boundary condition is given by limite[num] . |
| num | [input] : index of the boudary at which the condition is to be fullfilled. |
| fact_dir | [input] : double in front of ![]() ![]() |
| fact_neu | [input] : double in front of the radial derivative of ![]() |
More precisely we impose 
num and num+1 (the latter one being a shell).
Definition at line 83 of file scalar_pde_frontiere.C.
References Lorene::Tensor::mp, Scalar(), Lorene::Cmp::set_dzpuis(), and Lorene::Cmp::va.
Is identicall to Scalar::poisson() .
The regularity condition at the origin is replace by a boundary condition of the Dirichlet type.
| limite | [input] : angular function. The boundary condition is given by limite[num] . |
| num | [input] : index of the boudary at which the condition is to be fullfilled. |
More precisely we impose the solution is equal to limite[num] at the boundary between the domains num and num+1 (the latter one being a shell).
Definition at line 67 of file scalar_pde_frontiere.C.
References Lorene::Tensor::mp, Scalar(), Lorene::Cmp::set_dzpuis(), and Lorene::Cmp::va.
| Scalar Lorene::Scalar::poisson_frontiere_double | ( | const Valeur & | lim_func, |
| const Valeur & | lim_der, | ||
| int | num_zone ) const |
Idem as Scalar::poisson_dirichlet , the boundary condition being on both the function and its radial derivative.
The boundary condition at infinity is relaxed.
Definition at line 118 of file scalar_pde_frontiere.C.
References Lorene::Tensor::mp, and Scalar().
Idem as Scalar::poisson_dirichlet , the boundary condition being on the radial derivative of the solution.
Definition at line 101 of file scalar_pde_frontiere.C.
References Lorene::Tensor::mp, Scalar(), Lorene::Cmp::set_dzpuis(), and Lorene::Cmp::va.
| void Lorene::Scalar::poisson_regular | ( | int | k_div, |
| int | nzet, | ||
| double | unsgam1, | ||
| Param & | par, | ||
| Scalar & | uu, | ||
| Scalar & | uu_regu, | ||
| Scalar & | uu_div, | ||
| Tensor & | duu_div, | ||
| Scalar & | source_regu, | ||
| Scalar & | source_div ) const |
Solves the scalar Poisson equation with *this as a source (version with parameters to control the resolution).
The source 

Scalar *this . The regularized source 
dzpuis must be equal to 2 or 4, i.e. that the quantity stored in *this is in fact 

| k_div | [input] regularization degree of the procedure |
| nzet | [input] number of domains covering the star |
| unsgam1 | [input] parameter ![]() ![]() |
| par | [input/output] possible parameters |
| uu | [input/output] solution |
| uu_regu | [output] solution of the regular part of the source. |
| uu_div | [output] solution of the diverging part of the source. |
| duu_div | [output] derivative of the diverging potential. |
| source_regu | [output] regularized source |
| source_div | [output] diverging part of the source |
Definition at line 65 of file scalar_poisson_regu.C.
References Lorene::Tensor::get_triad(), Lorene::Tensor::mp, Scalar(), Lorene::Itbl::set(), Lorene::Tenseur::set(), Lorene::Tensor::set(), Lorene::Itbl::set_etat_qcq(), Lorene::Tenseur::set_etat_qcq(), and Lorene::Tensor::Tensor().
| Scalar Lorene::Scalar::poisson_tau | ( | ) | const |
Solves the scalar Poisson equation with *this as a source using a real Tau method The source 

Scalar *this .
Note that dzpuis must be equal to 2, 3 or 4, i.e. that the quantity stored in *this is in fact 


Scalar.
Definition at line 172 of file scalar_pde.C.
References Lorene::Tensor::mp, and Scalar().
Solves the scalar Poisson equation with *this as a source using a real Tau method (version with parameters to control the resolution) The source 

Scalar *this .
Note that dzpuis must be equal to 2, 3 or 4, i.e. that the quantity stored in *this is in fact 


Scalar.
Definition at line 187 of file scalar_pde.C.
References Lorene::Tensor::mp, and Scalar().
| Scalar Lorene::Scalar::primr | ( | bool | null_infty = true | ) | const |
Computes the radial primitive which vanishes for 
i.e. the function 
*this (and must have a dzpuis = 2).
| null_infty | if true (default), the primitive is null at infinity (or on the grid boundary). F is null at the center otherwise |
Definition at line 104 of file scalar_integ.C.
References Lorene::Tensor::mp, and Scalar().
| void Lorene::Scalar::raccord | ( | int | n | ) |
Performs the 
Definition at line 65 of file scalar_raccord.C.
References Lorene::Tbl::annule_hard(), etat, Lorene::Map_af::get_alpha(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, R_CHEBI, R_CHEBP, Lorene::Tbl::set(), and va.
| void Lorene::Scalar::raccord_c1_zec | ( | int | puis, |
| int | nbre, | ||
| int | lmax ) |
Performs the 



Definition at line 80 of file scalar_raccord_zec.C.
References Lorene::Tbl::annule_hard(), Lorene::Valeur::base, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), cos, dec_dzpuis(), dsdr(), etat, Lorene::Map_af::get_alpha(), Lorene::Base_val::get_base_r(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, pow, R_CHEB, Scalar(), Lorene::Matrice::set(), Lorene::Tbl::set(), Lorene::Matrice::set_band(), set_dzpuis(), Lorene::Matrice::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Matrice::set_lu(), Lorene::Mtbl_cf::t, va, and Lorene::Valeur::ylm().
| void Lorene::Scalar::raccord_externe | ( | int | puis, |
| int | nbre, | ||
| int | lmax ) |
Matching of the external domain with the outermost shell.
Definition at line 69 of file scalar_raccord_externe.C.
References Lorene::Tbl::annule_hard(), cos, Lorene::Map_af::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Tensor::mp, pow, Lorene::Matrice::set(), Lorene::Tbl::set(), set_dzpuis(), Lorene::Matrice::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), sqrt, and va.
| void Lorene::Scalar::sarra_filter_r | ( | int | lzmin, |
| int | lzmax, | ||
| double | p, | ||
| double | alpha = -1E-16 ) |
Applies an exponential filter to the spectral coefficients in the radial direction.
The filter is of the type: 

| lzmin,lzmax | [input] the indices of the domain where the filter is applied (in [lzmin , lzmax ]) |
| p | [input] the order of the filter |
| alpha | [input] ![]() |
Definition at line 108 of file scalar_exp_filter.C.
References del_deriv(), etat, exp, Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Tensor::mp, pow, and va.
| void Lorene::Scalar::sarra_filter_r_all_domains | ( | double | p, |
| double | alpha = 1E-16 ) |
Applies an exponential filter in radial direction in all domains for the case where p is a double (see Scalar:sarra_filter_r ).
Note that this may cause regularity problems at the origin if applied in a nucleus.
Definition at line 148 of file scalar_exp_filter.C.
References Lorene::Tensor::get_mp(), and sarra_filter_r().
|
virtual |
Save in a file.
Reimplemented from Lorene::Tensor.
Definition at line 692 of file scalar.C.
References dzpuis, etat, Lorene::fwrite_be(), and va.
| Scalar Lorene::Scalar::scalar_out_bound | ( | int | n, |
| bool | leave_ylm = false ) |
Returns the Scalar containing the values of angular coefficients at the outer boundary.
| l_dom | [input] domain index |
| leave_ylm | [input] flag to decide whether the coefficients are expressed in spherical harmonics or Fourier base |
Definition at line 473 of file scalar_manip.C.
References annule_hard(), Lorene::Valeur::c, Lorene::Valeur::c_cf, etat, get_spectral_base(), Lorene::Tensor::mp, Scalar(), Lorene::Mtbl_cf::set(), Lorene::Base_val::set_base_t(), set_etat_zero(), set_spectral_base(), set_spectral_va(), std_spectral_base(), and va.
|
protected |
|
inline |
Read/write of the value in a given domain.
This method should be used only to set the value in a given domain (it performs a call to del_deriv); for reading the value in a domain without changing it, the method domain(int ) is preferable.
| l | [input] domain index |
Tbl containing the value of the field in domain l . Definition at line 621 of file scalar.h.
References del_deriv(), etat, and va.
| void Lorene::Scalar::set_dzpuis | ( | int | dzi | ) |
Modifies the dzpuis flag.
NB: this method does not change the field values stored in the compactified external domain (use methods dec_dzpuis() , etc... for this purpose).
Definition at line 814 of file scalar.C.
References dzpuis.
|
virtual |
| void Lorene::Scalar::set_etat_one | ( | ) |
|
virtual |
Sets the logical state to ETATQCQ (ordinary state).
If the state is already ETATQCQ , this function does nothing. Otherwise, it calls the logical destructor of the Valeur va and deallocates the memory occupied by all the derivatives.
Reimplemented from Lorene::Tensor.
|
virtual |
Sets the logical state to ETATZERO (zero).
Calls the logical destructor of the Valeur va and deallocates the memory occupied by all the derivatives.
Reimplemented from Lorene::Tensor.
Definition at line 330 of file scalar.C.
References del_deriv(), etat, and va.
|
inline |
Setting the value of the field at a given grid point.
CAUTION: to gain in efficiency (especially when this method is invoqued inside a loop), the method del_deriv() (to delete the derived members) is not called by set_grid_point . It must thus be invoqued by the user, after all the calls to set_grid_point have been performed.
| l | [input] domain index |
| k | [input] ![]() |
| j | [input] ![]() |
| i | [input] r ( ![]() |
| void Lorene::Scalar::set_inner_boundary | ( | int | l, |
| double | x ) |
Sets the value of the Scalar at the inner boundary of a given domain.
| l | [input] domain index |
| x | [input] (constant) value at the inner boundary of domain no. l |
Definition at line 289 of file scalar_manip.C.
References annule_hard(), del_deriv(), etat, Lorene::Tensor::mp, and va.
| void Lorene::Scalar::set_outer_boundary | ( | int | l, |
| double | x ) |
Sets the value of the Scalar at the outer boundary of a given domain.
| l | [input] domain index |
| x | [input] (constant) value at the outer boundary of domain no. l |
Definition at line 321 of file scalar_manip.C.
References annule_hard(), del_deriv(), etat, Lorene::Tensor::mp, and va.
| void Lorene::Scalar::set_spectral_base | ( | const Base_val & | bi | ) |
|
inline |
| void Lorene::Scalar::smooth_decay | ( | int | k, |
| int | n ) |
Performs a 


Definition at line 216 of file scalar_raccord_zec.C.
References Lorene::Valeur::c_cf, Lorene::Valeur::coef(), dsdr(), etat, Lorene::Map_af::get_alpha(), Lorene::Valeur::get_base(), Lorene::Map_af::get_beta(), get_dzpuis(), get_etat(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Mg3d::get_type_r(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, pow, Lorene::r, Scalar(), Lorene::Matrice::set(), Lorene::Tbl::set(), Lorene::Matrice::set_band(), Lorene::Valeur::set_base(), Lorene::Valeur::set_base_r(), Lorene::Valeur::set_etat_cf_qcq(), Lorene::Matrice::set_etat_qcq(), Lorene::Mtbl_cf::set_etat_qcq(), set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Tbl::set_etat_zero(), Lorene::Matrice::set_lu(), std_spectral_base(), Lorene::Mtbl_cf::t, va, and val_grid_point().
| Scalar Lorene::Scalar::sol_divergence | ( | int | n | ) | const |
Resolution of a divergence-like equation.
The equation solved reads: 


this.
| n | [input] the coefficient in front of the 1/r term. |
Definition at line 71 of file scalar_sol_div.C.
References Lorene::Mtbl_cf::annule_hard(), Lorene::Tbl::annule_hard(), Lorene::Valeur::c_cf, check_dzpuis(), etat, Lorene::Map_af::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Diff_dsdx::get_matrice(), Lorene::Diff_sx::get_matrice(), Lorene::Diff_xdsdx::get_matrice(), Lorene::Mtbl_cf::get_mg(), Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), get_spectral_base(), Lorene::Mg3d::get_type_r(), Lorene::Base_val::give_quant_numbers(), Lorene::Matrice::inverse(), Lorene::Tensor::mp, Lorene::Base_val::mult_x(), pow, R_CHEB, R_CHEBI, R_CHEBP, R_CHEBU, Scalar(), Lorene::Matrice::set(), Lorene::Mtbl_cf::set(), Lorene::Tbl::set(), Lorene::Valeur::set_etat_cf_qcq(), Lorene::Matrice::set_etat_qcq(), set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), set_etat_zero(), Lorene::Matrice::set_lu(), set_spectral_base(), set_spectral_va(), Lorene::Tbl::t, va, and Lorene::Valeur::ylm_i().
| Scalar Lorene::Scalar::sol_elliptic | ( | Param_elliptic & | params | ) | const |
Resolution of a general elliptic equation, putting zero at infinity.
| params | [input] the operators and variables to be used. |
Definition at line 237 of file scalar_pde.C.
References Lorene::Tensor::mp, Scalar(), set_etat_qcq(), Lorene::Map_af::sol_elliptic(), and Lorene::Map_log::sol_elliptic().
| Scalar Lorene::Scalar::sol_elliptic_2d | ( | Param_elliptic & | ope_var | ) | const |
Solves the scalar 2-dimensional elliptic equation with *this as a source.
Note that dzpuis must be equal to 2, 3 or 4, i.e. The solution u with the boundary condition u =0 at spatial infinity is the returned Scalar.
Definition at line 412 of file scalar_pde.C.
References Lorene::Tensor::mp, Scalar(), set_etat_qcq(), and Lorene::Map_af::sol_elliptic_2d().
| Scalar Lorene::Scalar::sol_elliptic_boundary | ( | Param_elliptic & | params, |
| const Mtbl_cf & | bound, | ||
| double | fact_dir, | ||
| double | fact_neu ) const |
Resolution of a general elliptic equation, putting zero at infinity and with inner boundary conditions.
| params | [input] the operators and variables to be used. |
| bound | [input] : the boundary condition |
| fact_dir | : 1 Dirchlet condition, 0 Neumann condition |
| fact_neu | : 0 Dirchlet condition, 1 Neumann condition |
Definition at line 259 of file scalar_pde.C.
References Lorene::Tensor::mp, Scalar(), set_etat_qcq(), Lorene::Map_af::sol_elliptic_boundary(), and Lorene::Map_log::sol_elliptic_boundary().
| Scalar Lorene::Scalar::sol_elliptic_boundary | ( | Param_elliptic & | params, |
| const Scalar & | bound, | ||
| double | fact_dir, | ||
| double | fact_neu ) const |
Resolution of general elliptic equation, with inner boundary conditions as Scalars on mono-domain angulare grids.
Definition at line 285 of file scalar_pde.C.
References Lorene::Tensor::mp, Scalar(), set_etat_qcq(), Lorene::Map_af::sol_elliptic_boundary(), and Lorene::Map_log::sol_elliptic_boundary().
| Scalar Lorene::Scalar::sol_elliptic_fixe_der_zero | ( | double | val, |
| Param_elliptic & | params ) const |
Resolution of a general elliptic equation fixing the dericative at the origin and relaxing one continuity condition.
| val | [input] value of the derivative. |
| params | [input] the operators and variables to be used. |
Definition at line 389 of file scalar_pde.C.
References Lorene::Tensor::mp, Scalar(), set_etat_qcq(), and Lorene::Map_af::sol_elliptic_fixe_der_zero().
| Scalar Lorene::Scalar::sol_elliptic_no_zec | ( | Param_elliptic & | params, |
| double | val = 0 ) const |
Resolution of a general elliptic equation, putting a given value at the outermost shell and not solving in the compactified domain.
| params | [input] the operators and variables to be used. |
| val | [input] value at the last shell. |
Definition at line 317 of file scalar_pde.C.
References Lorene::Tensor::mp, Scalar(), set_etat_qcq(), Lorene::Map_af::sol_elliptic_no_zec(), and Lorene::Map_log::sol_elliptic_no_zec().
| Scalar Lorene::Scalar::sol_elliptic_only_zec | ( | Param_elliptic & | params, |
| double | val ) const |
Resolution of a general elliptic equation solving in the compactified domain and putting a given value at the inner boundary.
| params | [input] the operators and variables to be used. |
| val | [input] value at the inner boundary of the external domain. |
Definition at line 344 of file scalar_pde.C.
References Lorene::Tensor::mp, Scalar(), set_etat_qcq(), and Lorene::Map_af::sol_elliptic_only_zec().
| Scalar Lorene::Scalar::sol_elliptic_pseudo_1d | ( | Param_elliptic & | ope_var | ) | const |
Solves a pseudo-1d elliptic equation with *this as a source.
Definition at line 433 of file scalar_pde.C.
References Lorene::Tensor::mp, Scalar(), set_etat_qcq(), and Lorene::Map_af::sol_elliptic_pseudo_1d().
| Scalar Lorene::Scalar::sol_elliptic_sin_zec | ( | Param_elliptic & | params, |
| double * | coefs, | ||
| double * | phases ) const |
General elliptic solver.
The equation is not solved in the compactified domain and the matching is done with an homogeneous solution.
| params | [input] the operators and variables to be used. |
| coef | [output] : coefficient of the oscillatory solution in the external domain. |
| phases | [output] : phases (i.e. choice of the homogeneous solution to match with). |
Definition at line 366 of file scalar_pde.C.
References Lorene::Tensor::mp, Scalar(), set_etat_qcq(), and Lorene::Map_af::sol_elliptic_sin_zec().
|
virtual |
Displays the spectral coefficients and the associated basis functions.
This function shows only the values greater than a given threshold.
| comment | comment to be printed at top of the display (default: 0x0 = nothing printed) |
| threshold | [input] Value above which a coefficient is printed (default: 1.e-7) |
| precision | [input] Number of printed digits (default: 4) |
| ostr | [input] Output stream used for the printing (default: cout) |
Reimplemented from Lorene::Tensor.
| const Scalar & Lorene::Scalar::srdsdt | ( | ) | const |
Returns 
*this .
If dzpuis is zero, then the returned Scalar has dzpuis = 2. It is increased by 1 otherwise.
Definition at line 145 of file scalar_deriv.C.
References dzpuis, etat, Lorene::Tensor::mp, p_srdsdt, and Scalar().
| const Scalar & Lorene::Scalar::srstdsdp | ( | ) | const |
Returns 
*this .
If dzpuis is zero, then the returned Scalar has dzpuis = 2. It is increased by 1 otherwise.
Definition at line 177 of file scalar_deriv.C.
References dzpuis, etat, Lorene::Tensor::mp, p_srstdsdp, and Scalar().
|
virtual |
Sets the spectral bases of the Valeur va to the standard ones for a scalar field.
Reimplemented from Lorene::Tensor.
Definition at line 790 of file scalar.C.
References va.
|
virtual |
Sets the spectral bases of the Valeur va to the standard odd ones for a scalar field.
Reimplemented from Lorene::Tensor.
Definition at line 797 of file scalar.C.
References va.
| const Scalar & Lorene::Scalar::stdsdp | ( | ) | const |
Returns 
*this .
Definition at line 238 of file scalar_deriv.C.
References dzpuis, etat, Lorene::Tensor::mp, p_stdsdp, and Scalar().
| Tbl Lorene::Scalar::tbl_in_bound | ( | int | n, |
| bool | leave_ylm = false ) |
Returns the Tbl containing the values of angular coefficients at the inner boundary.
| l_dom | [input] domain index |
| leave_ylm | [input] flag to decide whether the coefficients are expressed in spherical harmonics or Fourier base |
Definition at line 454 of file scalar_manip.C.
References etat, Lorene::Tensor::mp, Lorene::Tbl::set(), Lorene::Tbl::set_etat_qcq(), Lorene::Tbl::set_etat_zero(), and va.
| Tbl Lorene::Scalar::tbl_out_bound | ( | int | l_dom, |
| bool | leave_ylm = false ) |
Returns the Tbl containing the values of angular coefficients at the outer boundary.
| l_dom | [input] domain index |
| leave_ylm | [input] flag to decide whether the coefficients are expressed in spherical harmonics or Fourier base |
Definition at line 436 of file scalar_manip.C.
References etat, Lorene::Tensor::mp, Lorene::Tbl::set(), Lorene::Tbl::set_etat_qcq(), Lorene::Tbl::set_etat_zero(), and va.
Checks if a Poisson equation with *this as a source has been correctly solved.
| uu | [input] Solution u of the Poisson equation ![]() ![]() Scalar *this . |
| ostr | [input/output] Output stream used for displaying err . |
| detail | [input]
|
Tbl err decribing the errors in each domain: err(0,l) : Relative error in domain no. l , defined as the maximum value of 

dzpuis = 0 or 
dzpuis != 0 and 
err(1,l) : Maximum value of the absolute error 
l err(2,l) : Maximum value of 
l Definition at line 63 of file scalar_test_poisson.C.
References abs, check_dzpuis(), dzpuis, Lorene::Tensor::get_mp(), laplacian(), max, Lorene::Tensor::mp, Scalar(), Lorene::Tbl::set(), and Lorene::Tbl::set_etat_qcq().
|
inline |
| double Lorene::Scalar::val_point | ( | double | r, |
| double | theta, | ||
| double | phi ) const |
Computes the value of the field at an arbitrary point 
NB: if 
val_grid_point is to be preferred, being much more efficient.
| r | [input] value of the coordinate r |
| theta | [input] value of the coordinate ![]() |
| phi | [input] value of the coordinate ![]() |

*this . NB: in the compactified external domain, the returned value is the actual value of the field, i.e. the stored value divided by 
Definition at line 896 of file scalar.C.
References dzpuis, etat, Lorene::Tensor::mp, Lorene::phi, Lorene::r, and va.
| void Lorene::Scalar::visu_box | ( | double | xmin, |
| double | xmax, | ||
| double | ymin, | ||
| double | ymax, | ||
| double | zmin, | ||
| double | zmax, | ||
| const char * | title0 = 0x0, | ||
| const char * | filename0 = 0x0, | ||
| bool | start_dx = true, | ||
| int | nx = 40, | ||
| int | ny = 40, | ||
| int | nz = 40 ) const |
3D visualization (volume rendering) via OpenDX.
Prepares files for visualization by OpenDX of the values of the field in some rectangular box.
| xmin | [input] defines with xmax the x range of the visualization box |
| xmax | [input] defines with xmin the x range of the visualization box |
| ymin | [input] defines with ymax the y range of the visualization box |
| ymax | [input] defines with ymin the y range of the visualization box |
| zmin | [input] defines with zmax the z range of the visualization box |
| zmax | [input] defines with zmin the z range of the visualization box |
| title | [input] title for the graph (for OpenDX legend) |
| filename | [input] name for the file which will be the input for OpenDX; the default 0x0 is transformed into "scalar_box" |
| start_dx | [input] determines whether OpenDX must be launched (as a subprocess) to view the field; if set to false , only input files for future usage of OpenDX are created |
| nx | [input] number of points in the x direction (uniform sampling) |
| ny | [input] number of points in the y direction (uniform sampling) |
| nz | [input] number of points in the z direction (uniform sampling) |
Definition at line 345 of file scalar_visu.C.
References Lorene::Valeur::c_cf, check_dzpuis(), Lorene::Valeur::coef(), dec_dzpuis(), dzpuis, Lorene::Tensor::mp, Scalar(), va, and Lorene::Mtbl_cf::val_point().
| void Lorene::Scalar::visu_section | ( | const char | section_type, |
| double | aa, | ||
| double | umin, | ||
| double | umax, | ||
| double | vmin, | ||
| double | vmax, | ||
| const char * | title = 0x0, | ||
| const char * | filename = 0x0, | ||
| bool | start_dx = true, | ||
| int | nu = 200, | ||
| int | nv = 200 ) const |
3D visualization via a plane section.
Prepares files for visualization by OpenDX of the values of the field in a plane x=const, y=const or z=const
| section_type | [input] defines the type of section :
|
| aa | [input] constant a defining the section plane |
| umin | [input] defines with umax the range of the plane coordinate u |
| umax | [input] defines with umin the range of the plane coordinate u |
| vmin | [input] defines with vmax the range of the plane coordinate v |
| vmax | [input] defines with vmin the range of the plane coordinate v |
| title | [input] title for the graph (for OpenDX legend) |
| filename | [input] name for the file which will be the input for OpenDX; the default 0x0 is transformed into "scalar_section" |
| start_dx | [input] determines whether OpenDX must be launched (as a subprocess) to view the field; if set to false , only input files for future usage of OpenDX are created |
| nu | [input] number of points in the u direction (uniform sampling) |
| nv | [input] number of points in the v direction (uniform sampling) |
Definition at line 81 of file scalar_visu.C.
References Lorene::Tbl::set(), Lorene::Tbl::set_etat_qcq(), and visu_section().
| void Lorene::Scalar::visu_section | ( | const Tbl & | plane, |
| double | umin, | ||
| double | umax, | ||
| double | vmin, | ||
| double | vmax, | ||
| const char * | title = 0x0, | ||
| const char * | filename = 0x0, | ||
| bool | start_dx = true, | ||
| int | nu = 200, | ||
| int | nv = 200 ) const |
3D visualization via a plane section.
Prepares files for visualization by OpenDX of the values of the field in any given plane.
| plane | [input] : 2D Tbl defining the section plane: plane must of dimension 3x3 with the following content:
|
| umin | [input] defines with umax the range of the plane coordinate u |
| umax | [input] defines with umin the range of the plane coordinate u |
| vmin | [input] defines with vmax the range of the plane coordinate v |
| vmax | [input] defines with vmin the range of the plane coordinate v |
| title | [input] title for the graph (for OpenDX legend) |
| filename | [input] name for the file which will be the input for OpenDX; the default 0x0 is transformed into "scalar_section" |
| start_dx | [input] determines whether OpenDX must be launched (as a subprocess) to view the field; if set to false , only input files for future usage of OpenDX are created |
| nu | [input] number of points in the u direction (uniform sampling) |
| nv | [input] number of points in the v direction (uniform sampling) |
Definition at line 159 of file scalar_visu.C.
References Lorene::Tensor::mp, va, Lorene::Mtbl_cf::val_point(), Lorene::xa, Lorene::ya, and Lorene::za.
| void Lorene::Scalar::visu_section_anim | ( | const char | section_type, |
| double | aa, | ||
| double | umin, | ||
| double | umax, | ||
| double | vmin, | ||
| double | vmax, | ||
| int | jtime, | ||
| double | ttime, | ||
| int | jgraph = 1, | ||
| const char * | title = 0x0, | ||
| const char * | filename_root = 0x0, | ||
| bool | start_dx = false, | ||
| int | nu = 200, | ||
| int | nv = 200 ) const |
3D visualization via time evolving plane section (animation).
Prepares files for visualization by OpenDX of the values of the field in a plane x=const, y=const or z=const at successive time steps
| section_type | [input] defines the type of section :
|
| aa | [input] constant a defining the section plane |
| umin | [input] defines with umax the range of the plane coordinate u |
| umax | [input] defines with umin the range of the plane coordinate u |
| vmin | [input] defines with vmax the range of the plane coordinate v |
| vmax | [input] defines with vmin the range of the plane coordinate v |
| jtime | [input] time step label |
| ttime | [input] time t corresponding to jtime |
| jgraph | [input] number of time steps between two graphs: the graph will be generated only if jtime is a multiple of jgraph |
| title | [input] title for the graph (for OpenDX legend) |
| filename_root | [input] beginning of the names for the files which will be the input for OpenDX (the end of names will be automatically generated from the time steps); the default 0x0 is transformed into "anim" |
| start_dx | [input] determines whether OpenDX must be launched (as a subprocess) to view the field; if set to false , only input files for future usage of OpenDX are created |
| nu | [input] number of points in the u direction (uniform sampling) |
| nv | [input] number of points in the v direction (uniform sampling) |
Definition at line 538 of file scalar_visu.C.
References visu_section().
Absolute value.
Definition at line 526 of file scalar_math.C.
References Lorene::abs(), get_etat(), Lorene::Tensor::get_mp(), Scalar(), set_etat_qcq(), and va.
Arccosine.
Definition at line 202 of file scalar_math.C.
References Lorene::acos(), get_etat(), Lorene::Tensor::get_mp(), Scalar(), set_etat_qcq(), set_etat_zero(), and va.
Arcsine.
Definition at line 170 of file scalar_math.C.
References Lorene::asin(), get_etat(), Lorene::Tensor::get_mp(), Scalar(), set_etat_qcq(), and va.
Arctangent.
Definition at line 234 of file scalar_math.C.
References Lorene::atan(), get_etat(), Lorene::Tensor::get_mp(), Scalar(), set_etat_qcq(), and va.
Cosine.
Definition at line 107 of file scalar_math.C.
References Lorene::cos(), get_etat(), Lorene::Tensor::get_mp(), Scalar(), set_etat_qcq(), and va.
Relative difference between two Scalar (norme version).
Tbl of size the number of domains, the elements of which are norme[a(l)-b(l)]/norme[b(l)] if b(l)!=0 and norme[a(l)-b(l)] if b(l)=0 , where a(l) and b(l) denote symbolically the values of a and b l . Definition at line 698 of file scalar_math.C.
References get_etat(), Lorene::Tbl::get_etat(), Lorene::Tensor::get_mp(), Lorene::norme(), Scalar(), Lorene::Tbl::set(), and Lorene::Tbl::set_etat_qcq().
Relative difference between two Scalar (max version).
Tbl of size the number of domains, the elements of which are max[abs(a(l)-b(l))]/max[abs(b(l))] if b(l)!=0 and max[abs(a(l)-b(l))] if b(l)=0 , where a(l) and b(l) denote symbolically the values of a and b l . Definition at line 733 of file scalar_math.C.
References Lorene::abs(), get_etat(), Lorene::Tbl::get_etat(), Lorene::Tensor::get_mp(), Lorene::max(), Scalar(), Lorene::Tbl::set(), and Lorene::Tbl::set_etat_qcq().
Exponential.
Definition at line 326 of file scalar_math.C.
References Lorene::exp(), get_etat(), Lorene::Tensor::get_mp(), Scalar(), set_etat_one(), set_etat_qcq(), and va.
Heaviside function.
Definition at line 358 of file scalar_math.C.
References get_etat(), Lorene::Tensor::get_mp(), Lorene::Heaviside(), Scalar(), set_etat_one(), set_etat_qcq(), set_etat_zero(), and va.
Neperian logarithm.
Definition at line 388 of file scalar_math.C.
References get_etat(), Lorene::Tensor::get_mp(), Lorene::log(), Scalar(), set_etat_qcq(), set_etat_zero(), and va.
Basis 10 logarithm.
Definition at line 421 of file scalar_math.C.
References get_etat(), Lorene::Tensor::get_mp(), Lorene::log10(), Scalar(), set_etat_qcq(), set_etat_zero(), and va.
Maximum values of a Scalar in each domain.
Tbl of size the number of domains, the elements of which are the set of the maximum values in each domain. Definition at line 614 of file scalar_math.C.
References Lorene::Tbl::annule_hard(), get_etat(), Lorene::Tensor::get_mp(), Lorene::max(), Scalar(), and va.
Minimum values of a Scalar in each domain.
Tbl of size the number of domains, the elements of which are the set of the minimum values in each domain. Definition at line 642 of file scalar_math.C.
References Lorene::Tbl::annule_hard(), get_etat(), Lorene::Tensor::get_mp(), Lorene::min(), Scalar(), and va.
Sums of the absolute values of all the values of the Scalar in each domain.
Tbl of size the number of domains, the elements of which are the set of the sums of the absolute values in each domain. Definition at line 670 of file scalar_math.C.
References Lorene::Tbl::annule_hard(), get_etat(), Lorene::Tensor::get_mp(), Lorene::norme(), Scalar(), and va.
Scalar * Scalar with desaliasing.
Definition at line 460 of file scalar_arithm.C.
References get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::r, Scalar(), and va.
Definition at line 530 of file scalar_arithm.C.
References get_dzpuis(), Lorene::Mtbl::get_etat(), get_etat(), Lorene::Tensor::get_mp(), Lorene::r, Scalar(), and va.
Definition at line 426 of file scalar_arithm.C.
References get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::r, Scalar(), and va.
double * Scalar
Definition at line 571 of file scalar_arithm.C.
References Lorene::Valeur::get_base(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), get_spectral_va(), Lorene::r, Scalar(), and va.
Scalar + Mbtl.
Definition at line 166 of file scalar_arithm.C.
References check_dzpuis(), Lorene::Mtbl::get_etat(), get_etat(), Scalar(), set_dzpuis(), and va.
Definition at line 116 of file scalar_arithm.C.
References dz_nonzero(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::r, Scalar(), and va.
Scalar + double.
Definition at line 210 of file scalar_arithm.C.
References check_dzpuis(), get_etat(), Scalar(), set_dzpuis(), va, and Lorene::x.
Definition at line 273 of file scalar_arithm.C.
References dz_nonzero(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::r, Scalar(), and va.
- Scalar
Definition at line 93 of file scalar_arithm.C.
References get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::r, Scalar(), and va.
Scalar - Mbtl.
Definition at line 323 of file scalar_arithm.C.
References check_dzpuis(), Lorene::Mtbl::get_etat(), get_etat(), Scalar(), set_dzpuis(), and va.
Scalar - double.
Definition at line 363 of file scalar_arithm.C.
References check_dzpuis(), get_etat(), Scalar(), set_dzpuis(), va, and Lorene::x.
Definition at line 710 of file scalar_arithm.C.
References get_dzpuis(), Lorene::Mtbl::get_etat(), get_etat(), Lorene::Tensor::get_mp(), Lorene::r, Scalar(), and va.
Definition at line 678 of file scalar_arithm.C.
References get_dzpuis(), Lorene::Mtbl::get_etat(), get_etat(), Lorene::Tensor::get_mp(), Lorene::r, Scalar(), and va.
Definition at line 640 of file scalar_arithm.C.
References get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::r, Scalar(), and va.
Scalar / double.
Definition at line 744 of file scalar_arithm.C.
References Lorene::Valeur::get_base(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), get_spectral_va(), Lorene::r, Scalar(), va, and Lorene::x.
double / Scalar
Definition at line 778 of file scalar_arithm.C.
References Lorene::Valeur::get_base(), get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), get_spectral_va(), Lorene::r, Scalar(), va, and Lorene::x.
|
friend |
Display.
Definition at line 708 of file scalar.C.
References etat, get_dzpuis(), operator<<, Scalar(), and va.
Scalar * Scalar with desaliasing only in r.
Definition at line 494 of file scalar_arithm.C.
References get_dzpuis(), get_etat(), Lorene::Tensor::get_mp(), Lorene::r, Scalar(), and va.
Power 
Definition at line 490 of file scalar_math.C.
References get_etat(), Lorene::Tensor::get_mp(), Lorene::pow(), Scalar(), set_etat_qcq(), va, and Lorene::x.
Power 
Definition at line 454 of file scalar_math.C.
References get_etat(), Lorene::Tensor::get_mp(), Lorene::pow(), Scalar(), set_etat_qcq(), and va.
Cube root.
Definition at line 296 of file scalar_math.C.
References get_etat(), Lorene::Tensor::get_mp(), Lorene::racine_cubique(), Scalar(), set_etat_qcq(), and va.
Sine.
Definition at line 75 of file scalar_math.C.
References get_etat(), Lorene::Tensor::get_mp(), Scalar(), set_etat_qcq(), Lorene::sin(), and va.
Square root.
Definition at line 266 of file scalar_math.C.
References get_etat(), Lorene::Tensor::get_mp(), Scalar(), set_etat_qcq(), Lorene::sqrt(), and va.
Tangent.
Definition at line 139 of file scalar_math.C.
References get_etat(), Lorene::Tensor::get_mp(), Scalar(), set_etat_qcq(), Lorene::tan(), and va.
|
friend |
Maximum values of a Scalar in each domain.
Tbl of size the number of domains, the elements of which are the set of the maximum values in each domain. Definition at line 556 of file scalar_math.C.
References get_etat(), Scalar(), Lorene::totalmax(), and va.
|
friend |
Minimum values of a Scalar in each domain.
Tbl of size the number of domains, the elements of which are the set of the minimum values in each domain. Definition at line 585 of file scalar_math.C.
References get_etat(), Scalar(), Lorene::totalmin(), and va.
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |