20 #include "headcpp.hpp"
21 #include "spheric_symphi.hpp"
22 #include "array_math.hpp"
24 #include "tensor_impl.hpp"
58 cerr <<
"Unknow phi basis in Domain_compact_symphi::export_tau_val_domain" << endl ;
63 for (
int k=kmin ; k<=kmax ; k++) {
85 cerr <<
"Unknow phi basis in Domain_compact_symphi::export_tau_val_domain" << endl ;
99 pos_galerkin = pos_cf ;
100 pos_galerkin.
set(1) = 0 ;
114 pos_galerkin = pos_cf ;
115 pos_galerkin.
set(1) = 0 ;
130 pos_galerkin = pos_cf ;
131 pos_galerkin.
set(1) = 1 ;
146 pos_galerkin = pos_cf ;
147 pos_galerkin.
set(1) = 0 ;
154 cerr <<
"Unknow theta basis in Domain_compact_symphi::export_tau_val_domain_boundary" << endl ;
166 if ((bound!=OUTER_BC) && (bound!=INNER_BC)) {
167 cerr <<
"Unknown boundary in Domain_compact_symphi::export_tau_boundary" << endl ;
185 else for (
int i=0 ; i<n_cmp ; i++) {
186 if ((*p_cmp[i])(0)==1)
188 if ((*p_cmp[i])(0)==2)
190 if ((*p_cmp[i])(0)==3)
197 cerr <<
"Unknown type of vector Domain_compact_symphi::export_tau_boundary" << endl ;
214 else for (
int i=0 ; i<n_cmp ; i++) {
215 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==1))
217 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==2))
219 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==3))
221 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==2))
223 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==3))
225 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==3))
244 else for (
int i=0 ; i<n_cmp ; i++) {
245 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==1))
247 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==2))
249 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==3))
251 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==1))
253 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==2))
255 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==3))
257 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==1))
259 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==2))
261 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==3))
267 cerr <<
"Unknown type of 2-tensor Domain_compact_symphi::export_tau_boundary" << endl ;
273 cerr <<
"Valence " << val <<
" not implemented in Domain_compact_symphi::export_tau_boundary" << endl ;
reference set(const Index &pos)
Read/write of an element.
Bases_container bases_1d
Arrays containing the various basis of decomposition.
int get_basis(int nd) const
Read only the basis in a given domain.
virtual double val_boundary(int, const Val_domain &, const Index &) const
Computes the value of a field at a boundary.
void export_tau_val_domain_boundary(const Val_domain &eq, int bound, 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 export_tau_boundary(const Tensor &, int, int, Array< double > &, int &, const Array< int > &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Exports all the residual equations corresponding to a tensorial one on a given boundary It makes use ...
Dim_array nbr_coefs
Number of coefficients.
Class that gives the position inside a multi-dimensional Array.
int & set(int i)
Read/write of the position in a given dimension.
const Base_tensor & get_basis() const
Returns the vectorial basis (triad) on which the components are defined.
int get_n_comp() const
Returns the number of stored components.
int get_valence() const
Returns the valence.
Class for storing the basis of decompositions of a field and its values on both the configuration and...
bool check_if_zero() const
Check whether the logical state is zero or not.
void coef() const
Computes the coefficients.
const Base_spectral & get_base() const
Returns the basis of decomposition.