20 #include "headcpp.hpp"
21 #include "polar_periodic.hpp"
23 #include "array_math.hpp"
25 #include "tensor_impl.hpp"
42 if ((pos(2)==0) || (pos(2)==
nbr_coefs(2)-1))
46 cerr <<
"Unknow time basis in Domain_polar_polar_nucleus::nbr_conditions_val_domain" << endl ;
65 if ((pos(1)==0) || (pos(1)==
nbr_coefs(1)-1))
75 cerr <<
"Unknow theta basis in Domain_polar_periodic_nucleus::nbr_conditions_val_domain" << endl ;
84 if ((pos(0)==0) && (lquant>llim))
89 if ((pos(0)==0) && (lquant>llim))
94 if (((pos(0)==0) && (lquant>llim)) || (pos(0) ==
nbr_coefs(0)-1))
99 if (((pos(0)==0) && (lquant>llim)) || (pos(0) ==
nbr_coefs(0)-1))
104 cerr <<
"Unknown base in Domain_polar_periodic_nucleus::nbr_conditions_val_domain" << endl ;
119 cerr <<
"Unknown case in Domain_polar_periodic_nucleus_nbr_conditions" << endl ;
137 int size = (n_cmp==-1) ? tt.
get_n_comp() : n_cmp ;
150 else for (
int i=0 ; i<n_cmp ; i++) {
151 if ((*p_cmp[i])(0)==1)
153 if ((*p_cmp[i])(0)==2)
155 if ((*p_cmp[i])(0)==3)
169 else for (
int i=0 ; i<n_cmp ; i++) {
170 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==1))
172 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==2))
174 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==3))
176 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==2))
178 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==3))
180 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==3))
197 else for (
int i=0 ; i<n_cmp ; i++) {
198 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==1))
200 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==2))
202 if (((*p_cmp[i])(0)==1) && ((*p_cmp[i])(1)==3))
204 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==1))
206 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==2))
208 if (((*p_cmp[i])(0)==2) && ((*p_cmp[i])(1)==3))
210 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==1))
212 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==2))
214 if (((*p_cmp[i])(0)==3) && ((*p_cmp[i])(1)==3))
220 cerr <<
"Valence " << val <<
" not implemented in Domain_polar_periodic_nucleus::nbr_conditions" << endl ;
reference set(const Index &pos)
Read/write of an element.
Bases_container bases_1d
Arrays containing the various basis of decomposition.
virtual Array< int > nbr_conditions(const Tensor &, int, int, int n_cmp=-1, Array< int > **p_cmp=0x0) const
Computes number of discretized equations associated with a given tensorial equation in the bulk.
int nbr_conditions_val_domain(const Val_domain &so, int llim, int order) const
Computes number of discretized equations associated with a given tensorial equation in the bulk.
Dim_array nbr_coefs
Number of coefficients.
Class that gives the position inside a multi-dimensional Array.
bool inc(int increm, int var=0)
Increments the position of the Index.
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...
const Base_spectral & get_base() const
Returns the basis of decomposition.