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. | |
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_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. | |
Tensor field of valence 0 (or component of a tensorial field).
()
Constructor from mapping.
Definition at line 204 of file scalar.C.
References Lorene::Tensor::cmp, and set_der_0x0().
Constructor from a Tensor (must be of valence 0)
Definition at line 215 of file scalar.C.
References Lorene::Tensor::cmp, and set_der_0x0().
Copy constructor.
Definition at line 228 of file scalar.C.
References Lorene::Tensor::cmp, and set_der_0x0().
Constructor by conversion of a Cmp.
Definition at line 238 of file scalar.C.
References Lorene::Tensor::cmp, and set_der_0x0().
Constructor from a file (see sauve(FILE*)
)
Definition at line 248 of file scalar.C.
References Lorene::Tensor::cmp, dzpuis, etat, Lorene::fread_be(), and set_der_0x0().
|
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 365 of file scalar.C.
References Lorene::Valeur::c, Lorene::Valeur::set_etat_c_qcq(), set_etat_qcq(), and va.
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 391 of file scalar.C.
References Lorene::Valeur::annule(), annule(), etat, Lorene::Valeur::mg, 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 380 of file scalar.C.
References Lorene::Valeur::annule_hard(), del_deriv(), etat, and va.
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 111 of file scalar_manip.C.
References Lorene::Valeur::base, Lorene::Valeur::c, Lorene::Valeur::c_cf, etat, get_etat(), Lorene::Base_val::give_quant_numbers(), Lorene::Tensor::mp, set_etat_zero(), va, Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().
Asymptotic expansion at r = infinity.
Determines the coefficients
of *this
when
n | order of the expansion |
flag | : output |
n
+1 Valeur
s on mg->angu
Definition at line 63 of file scalar_asymptot.C.
References 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(), and Lorene::Tensor::mp.
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 217 of file scalar_pde.C.
References Lorene::Tensor::mp.
Sets a new vectorial basis (triad) of decomposition and modifies the components accordingly.
Reimplemented from Lorene::Tensor.
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 873 of file scalar.C.
References dz_nonzero(), and dzpuis.
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 418 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 287 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 |
Logical destructor.
Definition at line 279 of file scalar.C.
References del_deriv(), Lorene::Valeur::del_t(), Lorene::Valeur::set_etat_nondef(), and va.
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().
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().
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(), and Lorene::Tensor::mp.
void Lorene::Scalar::div_cost | ( | ) |
Division by
Definition at line 70 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 133 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 196 of file scalar_r_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
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 147 of file scalar_r_manip.C.
References annule(), Lorene::Valeur::base, dec_dzpuis(), del_deriv(), div_r(), domain(), dzpuis, etat, Lorene::Valeur::get_base(), inc_dzpuis(), Lorene::Tensor::mp, set_domain(), set_etat_qcq(), set_spectral_base(), and va.
void Lorene::Scalar::div_rsint | ( | ) |
Division by dzpuis
is not changed.
Definition at line 348 of file scalar_r_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
Division by dzpuis
set to ced_mult_r
.
ced_mult_r | [input] value of dzpuis of the result. |
Definition at line 362 of file scalar_r_manip.C.
References annule(), Lorene::Valeur::base, del_deriv(), div_rsint(), domain(), dzpuis, etat, Lorene::Valeur::get_base(), Lorene::Tensor::mp, set_domain(), set_etat_qcq(), set_spectral_base(), and va.
void Lorene::Scalar::div_sint | ( | ) |
Division by
Definition at line 98 of file scalar_th_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
void Lorene::Scalar::div_tant | ( | ) |
Division by
Definition at line 111 of file scalar_th_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
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, set_dzpuis(), and set_etat_zero().
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, set_dzpuis(), and set_etat_zero().
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, Lorene::Tensor::mp, p_dsdrho, set_dzpuis(), set_etat_zero(), and srdsdt().
Returns *this
.
Definition at line 208 of file scalar_deriv.C.
References dzpuis, etat, Lorene::Tensor::mp, p_dsdt, set_dzpuis(), and set_etat_zero().
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, set_dzpuis(), set_etat_zero(), srdsdt(), and srstdsdp().
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, set_dzpuis(), set_etat_zero(), srdsdt(), and srstdsdp().
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, set_dzpuis(), set_etat_zero(), 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 814 of file scalar.C.
References Lorene::Valeur::c, Lorene::Valeur::c_cf, etat, Lorene::Valeur::etat, Lorene::Mg3d::get_nzone(), Lorene::Mg3d::get_type_r(), Lorene::Tensor::mp, and va.
Applies an exponential filter in radial direction in all domains.
(see Scalar:exponential_filter_r
). Note that this may cause regularity problems at the origin if applied in a nucleus.
|
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 60 of file scalar_exp_filter.C.
References Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), Lorene::Valeur::del_deriv(), del_deriv(), etat, exp, log, Lorene::Tensor::mp, pow, Lorene::Mtbl_cf::set(), 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 142 of file scalar_exp_filter.C.
References Lorene::Valeur::base, Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Valeur::del_deriv(), del_deriv(), etat, exp, Lorene::Base_val::give_lmax(), Lorene::Base_val::give_quant_numbers(), log, Lorene::Tensor::mp, pow, Lorene::Mtbl_cf::set(), va, Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().
Sets the n
lasts coefficients in r to 0 in the external domain.
Definition at line 151 of file scalar_manip.C.
References Lorene::Valeur::c_cf, Lorene::Valeur::coef(), del_deriv(), etat, Lorene::Tensor::mp, Lorene::Mtbl_cf::set(), Lorene::Valeur::set_etat_cf_qcq(), and va.
Sets the n
lasts coefficients in zone
.
Definition at line 249 of file scalar_manip.C.
References Lorene::Valeur::c_cf, Lorene::Valeur::coef(), del_deriv(), etat, Lorene::Tensor::mp, Lorene::Mtbl_cf::set(), Lorene::Valeur::set_etat_cf_qcq(), and va.
Sets the n
lasts coefficients in r to 0 in all domains.
Definition at line 180 of file scalar_manip.C.
References Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), del_deriv(), etat, Lorene::Tensor::mp, Lorene::Mtbl_cf::set(), Lorene::Valeur::set_etat_cf_qcq(), and va.
Sets the n
last coefficients in r to 0 in the domain nzone
.
Definition at line 218 of file scalar_manip.C.
References Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), del_deriv(), etat, Lorene::Tensor::mp, Lorene::Mtbl_cf::set(), Lorene::Valeur::set_etat_cf_qcq(), and va.
Sets the n
lasts coefficients in nz1
to nz2
when expressed in spherical harmonics.
Definition at line 270 of file scalar_manip.C.
References Lorene::Valeur::filtre_tp(), and va.
Substracts all the components behaving like puis
, so that *this
decreases at least like
Definition at line 346 of file scalar_manip.C.
References Lorene::Valeur::c_cf, Lorene::Valeur::coef(), cos, dzpuis, Lorene::Map_af::get_alpha(), Lorene::Tensor::mp, pow, R_CHEBU, Lorene::Mtbl_cf::set(), Lorene::Valeur::set_etat_cf_qcq(), and va.
|
inline |
|
inline |
Returns the spectral bases of the Valeur
va
Definition at line 1294 of file scalar.h.
References Lorene::Valeur::base, and va.
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 68 of file scalar_import.C.
References Lorene::Tensor::mp.
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 80 of file scalar_import.C.
References import_align(), import_anti(), import_gal(), and Lorene::Tensor::mp.
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 532 of file scalar_import.C.
References annule(), Lorene::Valeur::c, del_t(), Lorene::Tensor::mp, set_dzpuis(), Lorene::Valeur::set_etat_c_qcq(), set_etat_one(), Lorene::Mtbl::set_etat_qcq(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, and va.
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 378 of file scalar_import_asymy.C.
References annule(), Lorene::Valeur::c, del_t(), Lorene::Tensor::mp, set_dzpuis(), Lorene::Valeur::set_etat_c_qcq(), set_etat_one(), Lorene::Mtbl::set_etat_qcq(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, and va.
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 349 of file scalar_import_symy.C.
References annule(), Lorene::Valeur::c, del_t(), Lorene::Tensor::mp, set_dzpuis(), Lorene::Valeur::set_etat_c_qcq(), set_etat_one(), Lorene::Mtbl::set_etat_qcq(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, and va.
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 335 of file scalar_import.C.
References annule(), Lorene::Valeur::c, del_t(), Lorene::Tensor::mp, set_dzpuis(), Lorene::Valeur::set_etat_c_qcq(), set_etat_one(), Lorene::Mtbl::set_etat_qcq(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, and va.
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 131 of file scalar_import_asymy.C.
References annule(), Lorene::Valeur::c, del_t(), Lorene::Tensor::mp, set_dzpuis(), Lorene::Valeur::set_etat_c_qcq(), set_etat_one(), Lorene::Mtbl::set_etat_qcq(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, and va.
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 131 of file scalar_import_symy.C.
References annule(), Lorene::Valeur::c, del_t(), Lorene::Tensor::mp, set_dzpuis(), Lorene::Valeur::set_etat_c_qcq(), set_etat_one(), Lorene::Mtbl::set_etat_qcq(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, and va.
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 72 of file scalar_import_asymy.C.
References import_asymy(), and Lorene::Tensor::mp.
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 84 of file scalar_import_asymy.C.
References import_align_asymy(), import_anti_asymy(), and Lorene::Tensor::mp.
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 131 of file scalar_import.C.
References annule(), Lorene::Valeur::c, del_t(), Lorene::Tensor::mp, set_dzpuis(), Lorene::Valeur::set_etat_c_qcq(), set_etat_one(), Lorene::Mtbl::set_etat_qcq(), set_etat_qcq(), set_etat_zero(), sqrt, Lorene::Mtbl::t, and va.
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 72 of file scalar_import_symy.C.
References import_symy(), and Lorene::Tensor::mp.
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 84 of file scalar_import_symy.C.
References import_align_symy(), import_anti_symy(), and Lorene::Tensor::mp.
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 470 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 61 of file scalar_integ.C.
References integrale_domains(), and Lorene::Tensor::mp.
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 79 of file scalar_integ.C.
References etat, Lorene::Tensor::mp, and p_integ.
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 1008 of file scalar.C.
References Lorene::Valeur::c, Lorene::Valeur::c_cf, etat, Lorene::Mtbl::get_etat(), Lorene::Mtbl_cf::get_etat(), Lorene::Tensor::mp, and va.
Returns the angular Laplacian *this
, where
Definition at line 461 of file scalar_deriv.C.
References dzpuis, etat, Lorene::Tensor::mp, p_lapang, set_dzpuis(), and set_etat_zero().
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, and p_lap.
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.
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 66 of file scalar_match_tau.C.
References annule_hard(), Lorene::Tbl::annule_hard(), Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), etat, Lorene::Map_af::get_alpha(), Lorene::Tbl::get_etat(), Lorene::Map::get_mg(), get_spectral_base(), Lorene::Base_val::give_quant_numbers(), Lorene::Tensor::mp, R_CHEBI, R_CHEBP, Lorene::Mtbl_cf::set(), va, and Lorene::Valeur::ylm().
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.
void Lorene::Scalar::mult_cost | ( | ) |
Multiplication by
Definition at line 58 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 208 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 269 of file scalar_r_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
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 221 of file scalar_r_manip.C.
References annule(), Lorene::Valeur::base, dec_dzpuis(), del_deriv(), domain(), dzpuis, etat, Lorene::Valeur::get_base(), inc_dzpuis(), Lorene::Tensor::mp, mult_r(), set_domain(), set_etat_qcq(), set_spectral_base(), and va.
void Lorene::Scalar::mult_rsint | ( | ) |
Multiplication by dzpuis
is not changed.
Definition at line 281 of file scalar_r_manip.C.
References del_deriv(), and Lorene::Tensor::mp.
Multiplication by dzpuis
set to ced_mult_r
.
ced_mult_r | [input] value of dzpuis of the result. |
Definition at line 294 of file scalar_r_manip.C.
References annule(), Lorene::Valeur::base, del_deriv(), domain(), dzpuis, etat, Lorene::Valeur::get_base(), Lorene::Tensor::mp, mult_rsint(), set_domain(), set_etat_qcq(), set_spectral_base(), and va.
void Lorene::Scalar::mult_sint | ( | ) |
Multiplication by
Definition at line 84 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 956 of file scalar.C.
References etat, Lorene::Mg3d::get_np(), Lorene::Mg3d::get_nr(), Lorene::Mg3d::get_nt(), Lorene::Mg3d::get_nzone(), Lorene::Tensor::mp, and va.
Lorene::Scalar::operator Cmp | ( | ) | const |
*= Scalar
Definition at line 937 of file scalar_arithm.C.
References del_deriv(), dzpuis, etat, Lorene::Tensor::mp, operator=(), set_etat_nondef(), set_etat_zero(), and va.
+= Scalar
Definition at line 833 of file scalar_arithm.C.
References del_deriv(), dz_nonzero(), dzpuis, etat, Lorene::Tensor::mp, set_dzpuis(), set_etat_nondef(), and va.
-= Scalar
Definition at line 886 of file scalar_arithm.C.
References del_deriv(), dz_nonzero(), dzpuis, etat, Lorene::Tensor::mp, set_dzpuis(), set_etat_nondef(), and va.
Assignment to a Cmp
.
Definition at line 499 of file scalar.C.
References del_deriv(), Lorene::Valeur::del_t(), dzpuis, Lorene::Tensor::mp, set_etat_nondef(), set_etat_qcq(), set_etat_zero(), and va.
Assignment to a Mtbl
.
Definition at line 592 of file scalar.C.
References Lorene::Valeur::c, del_deriv(), Lorene::Valeur::del_t(), set_etat_qcq(), set_etat_zero(), and va.
Assignment to another Scalar
defined on the same mapping.
Definition at line 446 of file scalar.C.
References del_deriv(), Lorene::Valeur::del_t(), dzpuis, Lorene::Tensor::mp, Lorene::Valeur::set_base(), set_etat_nondef(), set_etat_one(), set_etat_qcq(), set_etat_zero(), and va.
Assignment to a Tensor
(of valence 0)
Reimplemented from Lorene::Tensor.
Definition at line 436 of file scalar.C.
References operator=().
Assignment to a Valeur
.
Definition at line 549 of file scalar.C.
References del_deriv(), Lorene::Valeur::del_t(), set_etat_qcq(), set_etat_zero(), and va.
Assignment to a double
.
Definition at line 632 of file scalar.C.
References del_deriv(), dzpuis, set_etat_one(), set_etat_qcq(), set_etat_zero(), and va.
Assignment to an int
.
Definition at line 653 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 136 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 152 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 200 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 80 of file scalar_pde_frontiere.C.
References Lorene::Tensor::mp.
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 64 of file scalar_pde_frontiere.C.
References Lorene::Tensor::mp.
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 115 of file scalar_pde_frontiere.C.
References Lorene::Tensor::mp.
Idem as Scalar::poisson_dirichlet
, the boundary condition being on the radial derivative of the solution.
Definition at line 98 of file scalar_pde_frontiere.C.
References Lorene::Tensor::mp.
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 62 of file scalar_poisson_regu.C.
References Lorene::Tensor::mp.
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 169 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 184 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 101 of file scalar_integ.C.
References Lorene::Tensor::mp.
Performs the
Definition at line 62 of file scalar_raccord.C.
References Lorene::Tbl::annule_hard(), Lorene::Valeur::base, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), etat, Lorene::Tensor::mp, R_CHEBI, R_CHEBP, Lorene::Mtbl_cf::set(), Lorene::Valeur::set_etat_cf_qcq(), Lorene::Mtbl_cf::t, va, Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().
Performs the
Definition at line 77 of file scalar_raccord_zec.C.
References Lorene::Tbl::annule_hard(), Lorene::Valeur::base, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), cos, etat, Lorene::Map_af::get_alpha(), Lorene::Map::get_mg(), Lorene::Tensor::mp, pow, R_CHEB, Lorene::Tbl::set(), Lorene::Mtbl_cf::set(), set_dzpuis(), Lorene::Valeur::set_etat_cf_qcq(), Lorene::Tbl::set_etat_qcq(), Lorene::Mtbl_cf::t, va, Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().
Matching of the external domain with the outermost shell.
Definition at line 66 of file scalar_raccord_externe.C.
References Lorene::Valeur::base, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), cos, Lorene::Map_af::get_alpha(), Lorene::Map_af::get_beta(), Lorene::Tensor::mp, pow, Lorene::Tbl::set(), Lorene::Mtbl_cf::set(), set_dzpuis(), Lorene::Valeur::set_etat_cf_qcq(), Lorene::Mtbl_cf::set_etat_qcq(), Lorene::Tbl::set_etat_qcq(), sqrt, Lorene::Mtbl_cf::t, va, Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().
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 96 of file scalar_exp_filter.C.
References Lorene::Valeur::c, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), Lorene::Valeur::del_deriv(), del_deriv(), etat, exp, Lorene::Tensor::mp, pow, Lorene::Mtbl_cf::set(), and va.
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 136 of file scalar_exp_filter.C.
References Lorene::Tensor::get_mp(), and sarra_filter_r().
Save in a file.
Reimplemented from Lorene::Tensor.
Definition at line 686 of file scalar.C.
References dzpuis, etat, Lorene::fwrite_be(), Lorene::Valeur::sauve(), and va.
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 467 of file scalar_manip.C.
References Lorene::Valeur::base, Lorene::Valeur::c_cf, Lorene::Valeur::coef(), etat, Lorene::Base_val::get_base_t(), Lorene::Tensor::mp, Lorene::Base_val::set_base_t(), va, Lorene::Mtbl_cf::val_out_bound_jk(), and Lorene::Valeur::ylm().
|
protected |
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 615 of file scalar.h.
References del_deriv(), etat, Lorene::Valeur::set(), and va.
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 808 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 324 of file scalar.C.
References del_deriv(), etat, Lorene::Valeur::set_etat_zero(), and va.
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 ( ![]() |
Definition at line 684 of file scalar.h.
References etat, Lorene::Valeur::set(), and va.
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 283 of file scalar_manip.C.
References annule_hard(), Lorene::Valeur::coef_i(), del_deriv(), etat, Lorene::Tensor::mp, Lorene::Valeur::set(), Lorene::Valeur::set_etat_c_qcq(), and va.
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 315 of file scalar_manip.C.
References annule_hard(), Lorene::Valeur::coef_i(), del_deriv(), etat, Lorene::Tensor::mp, Lorene::Valeur::set(), Lorene::Valeur::set_etat_c_qcq(), and va.
Sets the spectral bases of the Valeur
va
Definition at line 797 of file scalar.C.
References Lorene::Valeur::set_base(), and va.
|
inline |
Performs a
Definition at line 213 of file scalar_raccord_zec.C.
References Lorene::Valeur::c, Lorene::Valeur::c_cf, etat, Lorene::Valeur::get_base(), Lorene::Valeur::get_etat(), Lorene::Tensor::mp, pow, Lorene::Mtbl_cf::t, va, Lorene::Valeur::ylm(), and Lorene::Valeur::ylm_i().
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 68 of file scalar_sol_div.C.
References check_dzpuis(), etat, Lorene::Diff_sx::get_matrice(), 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::Tensor::mp, pow, R_CHEB, R_CHEBI, R_CHEBP, R_CHEBU, and va.
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 234 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 409 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 256 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 282 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 386 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 314 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 341 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 430 of file scalar_pde.C.
References Lorene::Tensor::mp.
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 363 of file scalar_pde.C.
References Lorene::Tensor::mp.
|
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.
Definition at line 741 of file scalar.C.
References Lorene::Valeur::display_coef(), dzpuis, etat, and va.
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, set_dzpuis(), and set_etat_zero().
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, set_dzpuis(), and set_etat_zero().
|
virtual |
Sets the spectral bases of the Valeur
va
to the standard ones for a scalar field.
Reimplemented from Lorene::Tensor.
Definition at line 784 of file scalar.C.
References Lorene::Valeur::std_base_scal(), and 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 791 of file scalar.C.
References Lorene::Valeur::std_base_scal_odd(), and va.
Returns *this
.
Definition at line 238 of file scalar_deriv.C.
References dzpuis, etat, Lorene::Tensor::mp, p_stdsdp, set_dzpuis(), and set_etat_zero().
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 448 of file scalar_manip.C.
References Lorene::Valeur::c_cf, Lorene::Valeur::coef(), etat, Lorene::Tensor::mp, va, Lorene::Mtbl_cf::val_in_bound_jk(), and Lorene::Valeur::ylm().
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 430 of file scalar_manip.C.
References Lorene::Valeur::c_cf, Lorene::Valeur::coef(), etat, Lorene::Tensor::mp, va, Lorene::Mtbl_cf::val_out_bound_jk(), and Lorene::Valeur::ylm().
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 60 of file scalar_test_poisson.C.
References abs, check_dzpuis(), dzpuis, max, and Lorene::Tensor::mp.
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 890 of file scalar.C.
References dzpuis, etat, Lorene::Tensor::mp, va, and Lorene::Valeur::val_point().
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 342 of file scalar_visu.C.
References Lorene::Valeur::c_cf, check_dzpuis(), Lorene::Valeur::coef(), dzpuis, and Lorene::Tensor::mp.
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 78 of file scalar_visu.C.
References 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 156 of file scalar_visu.C.
References Lorene::Valeur::c_cf, Lorene::Valeur::coef(), Lorene::Tensor::mp, and va.
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 535 of file scalar_visu.C.
References visu_section().
Absolute value.
Definition at line 523 of file scalar_math.C.
Arccosine.
Definition at line 199 of file scalar_math.C.
Arcsine.
Definition at line 167 of file scalar_math.C.
Arctangent.
Definition at line 231 of file scalar_math.C.
Cosine.
Definition at line 104 of file scalar_math.C.
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 695 of file scalar_math.C.
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 730 of file scalar_math.C.
Exponential.
Definition at line 323 of file scalar_math.C.
Heaviside function.
Definition at line 355 of file scalar_math.C.
Neperian logarithm.
Definition at line 385 of file scalar_math.C.
Basis 10 logarithm.
Definition at line 418 of file scalar_math.C.
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 611 of file scalar_math.C.
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 639 of file scalar_math.C.
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 667 of file scalar_math.C.
Scalar * Scalar with desaliasing.
Definition at line 457 of file scalar_arithm.C.
Definition at line 527 of file scalar_arithm.C.
Definition at line 423 of file scalar_arithm.C.
double * Scalar
Definition at line 568 of file scalar_arithm.C.
Scalar + Mbtl.
Definition at line 163 of file scalar_arithm.C.
Definition at line 113 of file scalar_arithm.C.
Scalar + double.
Definition at line 207 of file scalar_arithm.C.
-
Scalar
Definition at line 90 of file scalar_arithm.C.
Scalar - Mbtl.
Definition at line 320 of file scalar_arithm.C.
Definition at line 270 of file scalar_arithm.C.
Scalar - double.
Definition at line 360 of file scalar_arithm.C.
Definition at line 707 of file scalar_arithm.C.
Definition at line 675 of file scalar_arithm.C.
Definition at line 637 of file scalar_arithm.C.
Scalar / double.
Definition at line 741 of file scalar_arithm.C.
double / Scalar
Definition at line 775 of file scalar_arithm.C.
Scalar * Scalar with desaliasing only in r.
Definition at line 491 of file scalar_arithm.C.
Power
Definition at line 487 of file scalar_math.C.
Power
Definition at line 451 of file scalar_math.C.
Cube root.
Definition at line 293 of file scalar_math.C.
Sine.
Definition at line 72 of file scalar_math.C.
Square root.
Definition at line 263 of file scalar_math.C.
Tangent.
Definition at line 136 of file scalar_math.C.
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 553 of file scalar_math.C.
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 582 of file scalar_math.C.
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |