20 #include "headcpp.hpp"
22 #include "spheric.hpp"
24 #include "tensor_impl.hpp"
50 pos_galerkin = pos_cf ;
51 pos_galerkin.
set(1) = 0 ;
65 pos_galerkin = pos_cf ;
66 pos_galerkin.
set(1) = 0 ;
79 pos_galerkin = pos_cf ;
80 pos_galerkin.
set(1) = 1 ;
93 pos_galerkin = pos_cf ;
94 pos_galerkin.
set(1) = 0 ;
102 cerr <<
"Unknow theta basis in Domain_shell::export_tau_val_domain_boundary_mquant" << endl ;
115 int kmin = 2*mlim + 2 ;
135 pos_galerkin = pos_cf ;
136 pos_galerkin.
set(1) = 0 ;
150 pos_galerkin = pos_cf ;
151 pos_galerkin.
set(1) = 0 ;
165 pos_galerkin = pos_cf ;
166 pos_galerkin.
set(1) = 1 ;
182 pos_galerkin = pos_cf ;
183 pos_galerkin.
set(1) = 0 ;
192 cerr <<
"Unknow theta basis in Domain_shell::export_tau_val_domain_boundary" << endl ;
204 if ((bound!=INNER_BC) && (bound!=OUTER_BC)) {
205 cerr <<
"Unknown boundary in Domain_shell::export_tau_boundary" << endl ;
232 else for (
int i=0 ; i<n_cmp ; i++) {
233 if ((*p_cmp[i])(0)==1)
235 if ((*p_cmp[i])(0)==2)
237 if ((*p_cmp[i])(0)==3)
249 else for (
int i=0 ; i<n_cmp ; i++) {
250 if ((*p_cmp[i])(0)==1)
252 if ((*p_cmp[i])(0)==2)
254 if ((*p_cmp[i])(0)==3)
265 else for (
int i=0 ; i<n_cmp ; i++) {
266 if ((*p_cmp[i])(0)==1)
268 if ((*p_cmp[i])(0)==2)
270 if ((*p_cmp[i])(0)==3)
276 cerr <<
"Unknown type of vector Domain_shell::export_tau_boundary" << endl ;
293 else for (
int i=0 ; i<n_cmp ; i++) {
294 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==1))
296 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==2))
298 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==3))
300 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==2))
302 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==3))
304 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==3))
323 else for (
int i=0 ; i<n_cmp ; i++) {
324 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==1))
326 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==2))
328 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==3))
330 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==1))
332 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==2))
334 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==3))
336 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==1))
338 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==2))
340 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==3))
355 else for (
int i=0 ; i<n_cmp ; i++) {
356 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==1))
358 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==2))
360 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==3))
362 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==2))
364 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==3))
366 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==3))
384 else for (
int i=0 ; i<n_cmp ; i++) {
385 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==1))
387 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==2))
389 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==3))
391 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==1))
393 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==2))
395 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==3))
397 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==1))
399 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==2))
401 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==3))
416 else for (
int i=0 ; i<n_cmp ; i++) {
417 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==1))
419 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==2))
421 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==3))
423 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==2))
425 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==3))
427 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==3))
445 else for (
int i=0 ; i<n_cmp ; i++) {
446 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==1))
448 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==2))
450 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==3))
452 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==1))
454 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==2))
456 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==3))
458 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==1))
460 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==2))
462 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==3))
468 cerr <<
"Unknown type of 2-tensor Domain_shell::export_tau_boundary" << endl ;
474 cerr <<
"Valence " << val <<
" not implemented in Domain_shell::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.
void export_tau_val_domain_boundary_mquant(const Val_domain &eq, int mquant, 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 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 mlim, 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.
int get_m_order() const
Returns .
int get_m_quant() const
Returns .
bool is_m_order_affected() const
Checks whether the additional parameter order is affected (not very used).
const Param_tensor & get_parameters() const
Returns a pointer on the possible additional parameter.
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.
bool is_m_quant_affected() const
Checks whether the additional parameter is affected (used for boson stars for instance).
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.