20 #include "headcpp.hpp"
22 #include "spheric.hpp"
24 #include "tensor_impl.hpp"
31 const Param& par,
int type_exception,
const Val_domain& exception)
const {
38 assert ((type_exception>=1) && (type_exception <=4)) ;
59 switch (type_exception) {
64 sec.
set(pos_sec) = 0 ;
70 sec.
set(pos_sec) = 0 ;
73 cerr <<
"bad value for type_exception" << endl ;
83 pos_galerkin = pos_cf ;
84 pos_galerkin.
set(1) = 0 ;
86 switch (type_exception) {
91 sec.
set(pos_sec) = 0 ;
97 sec.
set(pos_sec) = 0 ;
100 cerr <<
"bad value for type_exception" << endl ;
115 switch (type_exception) {
120 sec.
set(pos_sec) = 0 ;
126 sec.
set(pos_sec) = 0 ;
129 cerr <<
"bad value for type_exception" << endl ;
139 pos_galerkin = pos_cf ;
140 pos_galerkin.
set(1) = 0 ;
142 switch (type_exception) {
147 sec.
set(pos_sec) = 0 ;
153 sec.
set(pos_sec) = 0 ;
156 cerr <<
"bad value for type_exception" << endl ;
170 switch (type_exception) {
175 sec.
set(pos_sec) = 0 ;
181 sec.
set(pos_sec) = 0 ;
184 cerr <<
"bad value for type_exception" << endl ;
194 pos_galerkin = pos_cf ;
195 pos_galerkin.
set(1) = 1 ;
197 switch (type_exception) {
202 sec.
set(pos_sec) = 0 ;
208 sec.
set(pos_sec) = 0 ;
211 cerr <<
"bad value for type_exception" << endl ;
226 switch (type_exception) {
231 sec.
set(pos_sec) = 0 ;
237 sec.
set(pos_sec) = 0 ;
240 cerr <<
"bad value for type_exception" << endl ;
250 pos_galerkin = pos_cf ;
251 pos_galerkin.
set(1) = 0 ;
253 switch (type_exception) {
258 sec.
set(pos_sec) = 0 ;
264 sec.
set(pos_sec) = 0 ;
267 cerr <<
"bad value for type_exception" << endl ;
280 cerr <<
"Unknow theta basis in Domain_shell::export_tau_val_domain_boundary_exception" << endl ;
288 const Param& par,
int type_exception,
const Val_domain& exception)
const {
296 assert ((type_exception>=1) && (type_exception <=4)) ;
305 int kmin = 2*mlim + 2 ;
320 if ((k==ktarget) && (j==jtarget)) {
321 switch (type_exception) {
326 sec.
set(pos_sec) = 0 ;
332 sec.
set(pos_sec) = 0 ;
335 cerr <<
"bad value for type_exception" << endl ;
345 pos_galerkin = pos_cf ;
346 pos_galerkin.
set(1) = 0 ;
347 if ((k==ktarget) && (j==jtarget)) {
348 switch (type_exception) {
353 sec.
set(pos_sec) = 0 ;
359 sec.
set(pos_sec) = 0 ;
362 cerr <<
"bad value for type_exception" << endl ;
376 if ((k==ktarget) && (j==jtarget)) {
377 switch (type_exception) {
382 sec.
set(pos_sec) = 0 ;
388 sec.
set(pos_sec) = 0 ;
391 cerr <<
"bad value for type_exception" << endl ;
401 pos_galerkin = pos_cf ;
402 pos_galerkin.
set(1) = 0 ;
403 if ((k==ktarget) && (j==jtarget)) {
404 switch (type_exception) {
409 sec.
set(pos_sec) = 0 ;
415 sec.
set(pos_sec) = 0 ;
418 cerr <<
"bad value for type_exception" << endl ;
431 if ((k==ktarget) && (j==jtarget)) {
432 switch (type_exception) {
437 sec.
set(pos_sec) = 0 ;
443 sec.
set(pos_sec) = 0 ;
446 cerr <<
"bad value for type_exception" << endl ;
456 pos_galerkin = pos_cf ;
457 pos_galerkin.
set(1) = 1 ;
458 if ((k==ktarget) && (j==jtarget)) {
459 switch (type_exception) {
464 sec.
set(pos_sec) = 0 ;
470 sec.
set(pos_sec) = 0 ;
473 cerr <<
"bad value for type_exception" << endl ;
487 if ((k==ktarget) && (j==jtarget)) {
488 switch (type_exception) {
493 sec.
set(pos_sec) = 0 ;
499 sec.
set(pos_sec) = 0 ;
502 cerr <<
"bad value for type_exception" << endl ;
512 pos_galerkin = pos_cf ;
513 pos_galerkin.
set(1) = 0 ;
514 if ((k==ktarget) && (j==jtarget)) {
515 switch (type_exception) {
520 sec.
set(pos_sec) = 0 ;
526 sec.
set(pos_sec) = 0 ;
529 cerr <<
"bad value for type_exception" << endl ;
542 cerr <<
"Unknow theta basis in Domain_shell::export_tau_val_domain_boundary_exception" << endl ;
551 const Param& par,
int type_exception,
const Tensor& exception,
554 if ((bound!=INNER_BC) && (bound!=OUTER_BC)) {
555 cerr <<
"Unknown boundary_exception in Domain_shell::export_tau_boundary_exception" << endl ;
570 cerr <<
"Valence " << val <<
" not implemented in Domain_shell::export_tau_boundary_exception" << endl ;
reference set(const Index &pos)
Read/write of an element.
Bases_container bases_1d
Arrays containing the various basis of decomposition.
void export_tau_val_domain_boundary_exception(const Val_domain &eq, int mlim, int bound, Array< double > &res, int &pos_res, int ncond, const Param ¶m, int type_exception, const Val_domain &exception) const
Exports all the residual equations corresponding to one tensorial one on a given boundary,...
virtual void export_tau_boundary_exception(const Tensor &, int, int, Array< double > &, int &, const Array< int > &, const Param &, int, const Tensor &, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Exports all the residual equations corresponding to one tensorial one on a given boundary,...
void export_tau_val_domain_boundary_exception_mquant(const Val_domain &eq, int mquant, int bound, Array< double > &res, int &pos_res, int ncond, const Param ¶m, int type_exception, const Val_domain &exception) const
Exports all the residual equations corresponding to one tensorial one on a given boundary,...
virtual double val_boundary(int, const Val_domain &, const Index &) const
Computes the value of a field at a boundary.
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_quant() const
Returns .
const double & get_double(int position=0) const
Returns the reference of a double stored in the list.
const int & get_int(int position=0) const
Returns the reference of a int stored in the list.
const Param_tensor & get_parameters() const
Returns a pointer on the possible additional parameter.
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.