20 #ifndef __SPHERIC_TIME_HPP_
21 #define __SPHERIC_TIME_HPP_
72 virtual void save (FILE*)
const ;
84 virtual bool is_in(
const Point&xx,
double prec=1e-13)
const ;
178 virtual ostream&
print (ostream& o)
const ;
228 virtual void save (FILE*)
const ;
240 virtual bool is_in(
const Point& xx,
double prec=1e-13)
const ;
333 virtual ostream&
print (ostream& o)
const ;
381 virtual void save (FILE*)
const ;
393 virtual bool is_in(
const Point& xx,
double prec=1e-13)
const ;
488 virtual ostream&
print (ostream& o)
const ;
515 virtual void save(FILE*)
const ;
Class for storing the basis of decompositions of a field.
Class for storing the dimensions of an array.
Class for a 2-dimensional compactified spherical domain and a symetry with respect to the plane .
virtual void affecte_tau(Tensor &, int, const Array< double > &, int &) const
Affects some coefficients to a Tensor.
virtual Val_domain der_normal(const Val_domain &, int) const
Normal derivative with respect to a given surface.
virtual const Point absol_to_num(const Point &) const
Computes the numerical coordinates from the physical ones.
virtual Val_domain div_r(const Val_domain &) const
Division by .
double alpha
Relates the numerical to the physical radii.
virtual void do_absol() const
Computes the absolute coordinates.
virtual void set_cheb_base(Base_spectral &) const
Gives the standard base for Chebyshev polynomials.
Domain_spheric_time_compact(int num, int ttype, double tmmin, double tmmax, double r_int, const Dim_array &nbr)
Standard constructor :
virtual Val_domain div_xm1(const Val_domain &) const
Division by .
virtual void affecte_tau_one_coef(Tensor &, int, int, int &) const
Sets at most one coefficient of a Tensor to 1.
virtual bool is_in(const Point &xx, double prec=1e-13) const
Check whether a point lies inside Domain.
virtual int nbr_unknowns(const Tensor &, int) const
Computes the number of true unknowns of a Tensor, in a given domain.
int nbr_conditions_val_domain_boundary_array(const Val_domain &eq, int bound, const Array< int > &order) const
Computes number of discretized equations associated with a given equation on a boundary.
virtual void export_tau_boundary_array(const Tensor &, int, int, const Array< int > &, Array< double > &, int &, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Exports all the residual equations corresponding to one tensorial one on a given boundary It makes us...
double tmin
Initial time .
virtual void do_der_abs_from_der_var(const Val_domain *const *const der_var, Val_domain **const der_abs) const
Computes the derivative with respect to the absolute Cartesian coordinates from the derivative with r...
virtual void do_coloc()
Computes the colocation points.
virtual void save(FILE *) const
Saving function.
void affecte_tau_val_domain(Val_domain &so, const Array< double > &cf, int &pos_cf) const
Affects some coefficients to a Val_domain.
virtual Array< int > nbr_conditions_array(const Tensor &, int, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Computes number of discretized equations associated with a given tensorial equation in the bulk.
virtual void export_tau_array(const Tensor &, int, const Array< int > &, Array< double > &, int &, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Exports all the residual equations corresponding to one tensorial one in the bulk.
void export_tau_val_domain_boundary_array(const Val_domain &eq, int bound, const Array< int > &order, Array< double > &res, int &pos_res, int ncond) const
Exports all the residual equations corresponding to a tensorial one on a given boundary It makes use ...
virtual void find_other_dom(int, int, int &, int &) const
Gives the informations corresponding the a touching neighboring domain.
virtual ostream & print(ostream &o) const
Delegate function to virtualize the << operator.
void export_tau_val_domain_array(const Val_domain &eq, const Array< int > &order, Array< double > &res, int &pos_res, int ncond) const
Exports a residual equation in the bulk.
virtual Val_domain dt(const Val_domain &) const
Compute the derivative with respect to of a scalar field.
virtual void do_radius() const
Computes the generalized radius.
virtual Val_domain laplacian(const Val_domain &, int) const
Computes the ordinary flat Laplacian for a scalar field with an harmonic index m.
virtual void set_legendre_base(Base_spectral &) const
Gives the standard base for Legendre polynomials.
virtual Array< int > nbr_conditions_boundary_array(const Tensor &, int, int, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Computes number of discretized equations associated with a given tensorial equation on a boundary.
virtual double val_boundary(int, const Val_domain &, const Index &) const
Computes the value of a field at a boundary.
virtual Val_domain mult_xm1(const Val_domain &) const
Multiplication by .
int nbr_unknowns_val_domain(const Val_domain &so) const
Computes the number of true unknowns of a Val_domain.
void affecte_tau_one_coef_val_domain(Val_domain &so, int cc, int &pos_cf) const
Sets at most one coefficient of a Val_domain to 1.
virtual Val_domain ddt(const Val_domain &) const
Compute the second derivative with respect to of a scalar field.
virtual Val_domain der_r(const Val_domain &) const
Compute the radial derivative of a scalar field.
virtual Val_domain mult_r(const Val_domain &) const
Multiplication by .
virtual Base_spectral mult(const Base_spectral &, const Base_spectral &) const
Method for the multiplication of two Base_spectral.
int nbr_conditions_val_domain_array(const Val_domain &so, const Array< int > &order) const
Computes number of discretized equations associated with a given tensorial equation in the bulk.
Class for a 2-dimensional spherical domain containing the origin and a symetry with respect to the pl...
void affecte_tau_val_domain(Val_domain &so, const Array< double > &cf, int &pos_cf) const
Affects some coefficients to a Val_domain.
virtual void affecte_tau_one_coef(Tensor &, int, int, int &) const
Sets at most one coefficient of a Tensor to 1.
virtual ostream & print(ostream &o) const
Delegate function to virtualize the << operator.
virtual const Point absol_to_num(const Point &) const
Computes the numerical coordinates from the physical ones.
Domain_spheric_time_nucleus(int num, int ttype, double tmmin, double tmmax, double radius, const Dim_array &nbr)
Standard constructor :
virtual Val_domain dt(const Val_domain &) const
Compute the derivative with respect to of a scalar field.
virtual bool is_in(const Point &xx, double prec=1e-13) const
Check whether a point lies inside Domain.
virtual Val_domain ddt(const Val_domain &) const
Compute the second derivative with respect to of a scalar field.
virtual void do_absol() const
Computes the absolute coordinates.
virtual void set_legendre_base(Base_spectral &) const
Gives the standard base for Legendre polynomials.
void export_tau_val_domain_boundary_array(const Val_domain &eq, int bound, const Array< int > &order, Array< double > &res, int &pos_res, int ncond) const
Exports all the residual equations corresponding to a tensorial one on a given boundary It makes use ...
virtual int nbr_unknowns(const Tensor &, int) const
Computes the number of true unknowns of a Tensor, in a given domain.
virtual Val_domain div_x(const Val_domain &) const
Division by .
virtual void set_cheb_base(Base_spectral &) const
Gives the standard base for Chebyshev polynomials.
virtual Base_spectral mult(const Base_spectral &, const Base_spectral &) const
Method for the multiplication of two Base_spectral.
virtual void export_tau_array(const Tensor &, int, const Array< int > &, Array< double > &, int &, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Exports all the residual equations corresponding to one tensorial one in the bulk.
virtual void affecte_tau(Tensor &, int, const Array< double > &, int &) const
Affects some coefficients to a Tensor.
virtual Array< int > nbr_conditions_array(const Tensor &, int, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Computes number of discretized equations associated with a given tensorial equation in the bulk.
virtual void find_other_dom(int, int, int &, int &) const
Gives the informations corresponding the a touching neighboring domain.
virtual Val_domain srdr(const Val_domain &) const
Compute the of a scalar field .
virtual Array< int > nbr_conditions_boundary_array(const Tensor &, int, int, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Computes number of discretized equations associated with a given tensorial equation on a boundary.
virtual void export_tau_boundary_array(const Tensor &, int, int, const Array< int > &, Array< double > &, int &, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Exports all the residual equations corresponding to one tensorial one on a given boundary It makes us...
double alpha
Relates the numerical to the physical radii.
int nbr_conditions_val_domain_array(const Val_domain &so, const Array< int > &order) const
Computes number of discretized equations associated with a given tensorial equation in the bulk.
virtual void do_coloc()
Computes the colocation points.
virtual double val_boundary(int, const Val_domain &, const Index &) const
Computes the value of a field at a boundary.
int nbr_unknowns_val_domain(const Val_domain &so) const
Computes the number of true unknowns of a Val_domain.
virtual void do_der_abs_from_der_var(const Val_domain *const *const der_var, Val_domain **const der_abs) const
Computes the derivative with respect to the absolute Cartesian coordinates from the derivative with r...
void affecte_tau_one_coef_val_domain(Val_domain &so, int cc, int &pos_cf) const
Sets at most one coefficient of a Val_domain to 1.
virtual void save(FILE *) const
Saving function.
virtual Val_domain der_r(const Val_domain &) const
Compute the radial derivative of a scalar field.
double tmin
Initial time .
virtual Val_domain mult_r(const Val_domain &) const
Multiplication by .
virtual Val_domain div_r(const Val_domain &) const
Division by .
virtual Val_domain laplacian(const Val_domain &, int) const
Computes the ordinary flat Laplacian for a scalar field with an harmonic index m.
virtual Val_domain der_normal(const Val_domain &, int) const
Normal derivative with respect to a given surface.
int nbr_conditions_val_domain_boundary_array(const Val_domain &eq, int bound, const Array< int > &order) const
Computes number of discretized equations associated with a given equation on a boundary.
void export_tau_val_domain_array(const Val_domain &eq, const Array< int > &order, Array< double > &res, int &pos_res, int ncond) const
Exports a residual equation in the bulk.
virtual void do_radius() const
Computes the generalized radius.
Class for a 2-dimensional spherical domain bounded between two finite radii and a symetry with respec...
virtual void do_der_abs_from_der_var(const Val_domain *const *const der_var, Val_domain **const der_abs) const
Computes the derivative with respect to the absolute Cartesian coordinates from the derivative with r...
Domain_spheric_time_shell(int num, int ttype, double tmmin, double tmmax, double r_int, double r_ext, const Dim_array &nbr)
Standard constructor :
virtual void set_legendre_base(Base_spectral &) const
Gives the standard base for Legendre polynomials.
int nbr_conditions_val_domain_array(const Val_domain &so, const Array< int > &order) const
Computes number of discretized equations associated with a given tensorial equation in the bulk.
double beta
Relates the numerical to the physical radii.
virtual int nbr_unknowns(const Tensor &, int) const
Computes the number of true unknowns of a Tensor, in a given domain.
int nbr_unknowns_val_domain(const Val_domain &so) const
Computes the number of true unknowns of a Val_domain.
virtual Val_domain ddt(const Val_domain &) const
Compute the second derivative with respect to of a scalar field.
virtual void do_radius() const
Computes the generalized radius.
virtual void export_tau_array(const Tensor &, int, const Array< int > &, Array< double > &, int &, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Exports all the residual equations corresponding to one tensorial one in the bulk.
virtual Val_domain der_r(const Val_domain &) const
Compute the radial derivative of a scalar field.
void export_tau_val_domain_array(const Val_domain &eq, const Array< int > &order, Array< double > &res, int &pos_res, int ncond) const
Exports a residual equation in the bulk.
double alpha
Relates the numerical to the physical radii.
int nbr_conditions_val_domain_boundary_array(const Val_domain &eq, int bound, const Array< int > &order) const
Computes number of discretized equations associated with a given equation on a boundary.
virtual Val_domain div_r(const Val_domain &) const
Division by .
virtual void do_coloc()
Computes the colocation points.
void affecte_tau_val_domain(Val_domain &so, const Array< double > &cf, int &pos_cf) const
Affects some coefficients to a Val_domain.
virtual void find_other_dom(int, int, int &, int &) const
Gives the informations corresponding the a touching neighboring domain.
virtual Val_domain der_normal(const Val_domain &, int) const
Normal derivative with respect to a given surface.
virtual void export_tau_boundary_array(const Tensor &, int, int, const Array< int > &, Array< double > &, int &, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Exports all the residual equations corresponding to one tensorial one on a given boundary It makes us...
virtual Val_domain mult_r(const Val_domain &) const
Multiplication by .
virtual Val_domain laplacian(const Val_domain &, int) const
Computes the ordinary flat Laplacian for a scalar field with an harmonic index m.
virtual const Point absol_to_num(const Point &) const
Computes the numerical coordinates from the physical ones.
virtual void save(FILE *) const
Saving function.
virtual void affecte_tau(Tensor &, int, const Array< double > &, int &) const
Affects some coefficients to a Tensor.
virtual Val_domain dt(const Val_domain &) const
Compute the derivative with respect to of a scalar field.
void affecte_tau_one_coef_val_domain(Val_domain &so, int cc, int &pos_cf) const
Sets at most one coefficient of a Val_domain to 1.
virtual double val_boundary(int, const Val_domain &, const Index &) const
Computes the value of a field at a boundary.
virtual bool is_in(const Point &xx, double prec=1e-13) const
Check whether a point lies inside Domain.
virtual void affecte_tau_one_coef(Tensor &, int, int, int &) const
Sets at most one coefficient of a Tensor to 1.
void export_tau_val_domain_boundary_array(const Val_domain &eq, int bound, const Array< int > &order, Array< double > &res, int &pos_res, int ncond) const
Exports all the residual equations corresponding to a tensorial one on a given boundary It makes use ...
virtual void do_absol() const
Computes the absolute coordinates.
virtual Base_spectral mult(const Base_spectral &, const Base_spectral &) const
Method for the multiplication of two Base_spectral.
virtual ostream & print(ostream &o) const
Delegate function to virtualize the << operator.
virtual Array< int > nbr_conditions_boundary_array(const Tensor &, int, int, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Computes number of discretized equations associated with a given tensorial equation on a boundary.
double tmin
Initial time .
virtual void set_cheb_base(Base_spectral &) const
Gives the standard base for Chebyshev polynomials.
virtual Array< int > nbr_conditions_array(const Tensor &, int, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Computes number of discretized equations associated with a given tensorial equation in the bulk.
Abstract class that implements the fonctionnalities common to all the type of domains.
Val_domain * radius
The generalized radius.
Class that gives the position inside a multi-dimensional Array.
The class Point is used to store the coordinates of a point.
The Space_oned class fills the space with 2-dimensioanl domains : spherically symmetric and time depe...
double get_tmax() const
Returns the final time.
bool withcompact
Indicator of the presence of a compactified Domain.
Space_spheric_time(int ttype, const Dim_array &nbr, const Array< double > &bounds, double tmmin, double tmmax, bool wc=false)
Standard constructor.
double get_tmin() const
Returns the initial time.
double tmin
Initial time .
virtual void save(FILE *) const
Saving function.
The Space class is an ensemble of domains describing the whole space of the computation.
Class for storing the basis of decompositions of a field and its values on both the configuration and...