20 #ifndef __fourD_PERIODIC_HPP_
21 #define __fourD_PERIODIC_HPP_
88 virtual void save (FILE*)
const ;
96 virtual bool is_in(
const Point&xx,
double prec=1e-13)
const ;
122 virtual ostream&
print (ostream& o)
const ;
190 virtual void save (FILE*)
const ;
196 virtual void do_cart ()
const ;
205 virtual bool is_in(
const Point&xx,
double prec=1e-13)
const ;
232 virtual ostream&
print (ostream& o)
const ;
252 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 spherical nucleus.
virtual void save(FILE *) const
Saving function.
double maxt
Upper bound of which is or .
virtual Val_domain mult_cos_phi(const Val_domain &) const
Multiplication by .
virtual ostream & print(ostream &o) const
Delegate function to virtualize the << operator.
virtual bool is_in(const Point &xx, double prec=1e-13) const
Check whether a point lies inside Domain.
Val_domain translate(const Val_domain &so) const
Generates a Val_domain, from another one assumed to be on a Polar_periodic_nucleus.
double get_ome() const
Returns omega.
virtual Val_domain mult_sin_phi(const Val_domain &) const
Multiplication by .
virtual void do_absol() const
Computes the absolute coordinates.
Domain_fourD_periodic_nucleus(int num, int ttype, double radius, double ome, const Dim_array &nbr)
Standard constructor :
virtual void do_radius() const
Computes the generalized radius.
double alpha
Relates the numerical radius to the physical one.
virtual Val_domain div_x(const Val_domain &) const
Division by .
virtual const Point absol_to_num(const Point &) const
Computes the numerical coordinates from the physical ones.
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.
int type_time
Gives the type of time periodicity.
virtual Val_domain div_sin_theta(const Val_domain &) const
Division by .
virtual Base_spectral mult(const Base_spectral &, const Base_spectral &) const
Method for the multiplication of two Base_spectral.
virtual Val_domain mult_cos_theta(const Val_domain &) const
Multiplication by .
virtual Val_domain mult_sin_theta(const Val_domain &) const
Multiplication by .
virtual Tensor change_basis_spher_to_cart(int dd, const Tensor &) const
Changes the tensorial basis from spherical to Cartesian in a given domain.
Class for a spherical shell.
virtual Base_spectral mult(const Base_spectral &, const Base_spectral &) const
Method for the multiplication of two Base_spectral.
double beta
Relates the numerical radius to the physical one.
Domain_fourD_periodic_shell(int num, int ttype, double rin, double rout, double ome, const Dim_array &nbr)
Standard constructor :
virtual bool is_in(const Point &xx, double prec=1e-13) const
Check whether a point lies inside Domain.
virtual const Point absol_to_num(const Point &) const
Computes the numerical coordinates from the physical ones.
virtual void do_cart() const
Computes the Cartesian coordinates.
virtual ostream & print(ostream &o) const
Delegate function to virtualize the << operator.
virtual void do_absol() const
Computes the absolute coordinates.
virtual void save(FILE *) const
Saving function.
virtual void set_legendre_base_y_cart(Base_spectral &so) const
Gives the base using Legendre polynomials, for the component of a vector.
virtual void do_coloc()
Computes the colocation points.
virtual void do_radius() const
Computes the generalized radius.
virtual Tensor change_basis_spher_to_cart(int dd, const Tensor &) const
Changes the tensorial basis from spherical to Cartesian in a given domain.
virtual void set_cheb_base_y_cart(Base_spectral &so) const
Gives the base using Chebyshev polynomials, for the component of a vector.
virtual Val_domain mult_cos_phi(const Val_domain &) const
Multiplication by .
virtual Val_domain mult_cos_theta(const Val_domain &) const
Multiplication by .
double maxt
Upper bound of which is or .
virtual Val_domain div_sin_theta(const Val_domain &) const
Division by .
int type_time
Gives the type of time periodicity.
virtual Val_domain div_xm1(const Val_domain &) const
Division by .
double alpha
Relates the numerical radius to the physical one.
virtual Val_domain mult_sin_phi(const Val_domain &) const
Multiplication by .
virtual void set_cheb_base_x_cart(Base_spectral &so) const
Gives the base using Chebyshev polynomials, for the component of a vector.
virtual void set_legendre_base_x_cart(Base_spectral &so) const
Gives the base using Legendre polynomials, for the component of a vector.
virtual Val_domain mult_sin_theta(const Val_domain &) const
Multiplication by .
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...
Val_domain translate(const Val_domain &so) const
Generates a Val_domain, from another one assumed to be on a Polar_periodic_nucleus.
Array< double > integ_outer_boundary(const Val_domain &so) const
Computes the surface integral, at the outer boundary.
Abstract class that implements the fonctionnalities common to all the type of domains.
Val_domain * radius
The generalized radius.
The class Point is used to store the coordinates of a point.
The Space_fourD_periodic class fills the space with one 4d nucleus and several 4d shells,...
double get_omega() const
Returns omega.
virtual void save(FILE *) const
Saving function.
Space_fourD_periodic(int tt, double omega, const Dim_array &nbr, const Array< double > &bounds)
Standard constructor.
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...