20 #include "headcpp.hpp"
21 #include "utilities.hpp"
22 #include "homothetic.hpp"
24 #include "array_math.hpp"
25 #include "val_domain.hpp"
27 #include "tensor_impl.hpp"
30 void coef_1d (
int, Array<double>&) ;
31 void coef_i_1d (
int, Array<double>&) ;
32 int der_1d (
int, Array<double>&) ;
69 auxi.
cf->
set(pos_cf) = 1 ;
90 *new_outer_radius.
cf = 0 ;
95 new_outer_radius.
cf->
set(pos_cf) -= xx(pos) ;
113 auxi.
cf->
set(pos_cf) = xx(pos) ;
124 o <<
"Adapted homothetic shell on the outside boundary" << endl ;
125 o <<
"Center = " <<
center << endl ;
128 o <<
"Outer radius " << (*outer_radius)(pos) << endl ;
reference set(const Index &pos)
Read/write of an element.
Class for storing the dimensions of an array.
Class for a spherical-like domain, having a symmetry with respect to the plane .
Term_eq * outer_radius_term_eq
Pointer on the outer boundary , as a Term_eq.
Point center
Absolute coordinates of the center.
void update() const
Updates all the quantities that depend on the inner radius (like the normal vectors).
Val_domain * outer_radius
Pointer on the outer boundary , as a Val_domain.
virtual void update_variable(const Val_domain &, const Scalar &, Scalar &) const
Update the value of a scalar, after the shape of the Domain has been changed by the system.
double inner_radius
The inner radius .
const Space & sp
The corresponding Space ; required for updating fields whene the mapping changes.
Class for a spherical-like domain, having a symmetry with respect to the plane .
virtual void xx_to_vars_from_adapted(Val_domain &, const Array< double > &, int &) const
Computes the new boundary of a Domain from a set of values.
virtual void update_constante(const Val_domain &, const Scalar &, Scalar &) const
Update the value of a scalar, after the shape of the Domain has been changed by the system.
virtual ~Domain_shell_outer_homothetic()
Destructor.
virtual int nbr_unknowns_from_adapted() const
Gives the number of unknowns coming from the variable shape of the domain.
Domain_shell_outer_homothetic(const Space &sp, int num, int ttype, double rin, double rout, const Point &cr, const Dim_array &nbr)
Constructor :
virtual void affecte_coef(int &, int, bool &) const
The variation of the functions describing the shape of the Domain are affected from the unknowns of t...
virtual ostream & print(ostream &o) const
Delegate function to virtualize the << operator.
virtual void xx_to_ders_from_adapted(const Array< double > &, int &) const
Affects the derivative part of variable a Domain from a set of values.
int num_dom
Number of the current domain (used by the Space)
Dim_array nbr_coefs
Number of coefficients.
Dim_array nbr_points
Number of colocation points.
Class that gives the position inside a multi-dimensional Array.
int & set(int i)
Read/write of the position in a given dimension.
The class Point is used to store the coordinates of a point.
The class Scalar does not really implements scalars in the mathematical sense but rather tensorial co...
Val_domain & set_domain(int)
Read/write of a particular Val_domain.
The Space class is an ensemble of domains describing the whole space of the computation.
void set_der_t(Tensor)
Sets the tensorial variation (only the values in the pertinent Domain are copied).
void set_der_zero()
Sets the variation of the approriate type to zero.
Class for storing the basis of decompositions of a field and its values on both the configuration and...
void set_in_coef()
Destroys the values in the configuration space.
void allocate_coef()
Allocates the values in the coefficient space and destroys the values in the configuration space.
Array< double > * cf
Pointer on the Array of the values in the coefficients space.
void std_base()
Sets the standard basis of decomposition.
Base_spectral & set_base()
Sets the basis of decomposition.
const Base_spectral & get_base() const
Returns the basis of decomposition.