16#include <Champ_Q4_implementation.h>
17#include <Champ_base.h>
24 const DoubleTab& ch = cha.
valeurs();
30 for (j = 0; j < nb_som_elem; j++)
33 val(0) += ch(num_som);
35 val(0) /= nb_som_elem;
39 for (ncomp = 0; ncomp < nb_compo_; ncomp++)
41 for (j = 0; j < nb_som_elem; j++)
44 val(ncomp) += ch(num_som, ncomp);
46 val(ncomp) /= nb_som_elem;
56 const DoubleTab& ch = cha.
valeurs();
63 for (j = 0; j < nb_som_elem; j++)
72 for (j = 0; j < nb_som_elem; j++)
75 val += ch(num_som, ncomp);
87 const DoubleTab& ch = cha.
valeurs();
94 for (ielem = 0; ielem < nb_elems; ielem++)
96 num_elem = les_elems(ielem);
97 for (j = 0; j < nb_som_elem; j++)
100 val(ielem, 0) += ch(num_som);
102 val(ielem, 0) /= nb_som_elem;
107 for (ielem = 0; ielem < nb_elems; ielem++)
109 num_elem = les_elems(ielem);
110 for (ncomp = 0; ncomp < nb_compo_; ncomp++)
112 for (j = 0; j < nb_som_elem; j++)
115 val(ielem, ncomp) += ch(num_som, ncomp);
117 val(ielem, ncomp) /= nb_som_elem;
129 const DoubleTab& ch = cha.
valeurs();
137 for (ielem = 0; ielem < nb_elems; ielem++)
139 num_elem = les_elems(ielem);
140 for (j = 0; j < nb_som_elem; j++)
143 val(ielem) += ch(num_som);
145 val(ielem) /= nb_som_elem;
150 for (ielem = 0; ielem < nb_elems; ielem++)
152 num_elem = les_elems(ielem);
153 for (j = 0; j < nb_som_elem; j++)
156 val(ielem) += ch(num_som, ncomp);
158 val(ielem) /= nb_som_elem;
168 const DoubleTab& ch = cha.
valeurs();
174 int isom, nbsom = ch.
size();
175 for (isom = 0; isom < nbsom; isom++)
177 val(isom, 0) = ch(isom);
182 int isom, nbsom = ch.
size();
183 for (
int ncomp = 0; ncomp < nb_compo_; ncomp++)
185 for (isom = 0; isom < nbsom; isom++)
187 val(isom, ncomp) = ch(isom, ncomp);
196 const DoubleTab& ch = cha.
valeurs();
202 int isom, nbsom = ch.
size();
203 for (isom = 0; isom < nbsom; isom++)
205 val(isom) = ch(isom);
210 int isom, nbsom = ch.
size();
211 for (isom = 0; isom < nbsom; isom++)
213 val(isom) = ch(isom, ncomp);
222 positions = coordsom;
228 Cerr <<
"Champ_Q4_implementation::remplir_coord_noeuds_et_polys not implemented" << finl;
233 for (
int i = 0; i < nb_elem; i++)
244 const DoubleTab& val = cha.
valeurs();
248 os << nb_som_tot << finl;
249 for (som = 0; som < nb_som_tot; som++)
252 os << pos_som(som, 0) <<
" " << pos_som(som, 1) <<
" " << pos_som(som, 2) <<
" ";
254 os << pos_som(som, 0) <<
" " << pos_som(som, 1) <<
" ";
256 os << val(som) << finl;
258 os << val(som, ncomp) << finl;
261 Cout <<
"Champ_Q4_implementation::imprime_Q4 END >>>>>>>>>> " << finl;
virtual DoubleTab & valeurs()=0
DoubleTab & valeur_aux_sommets(const Domaine &, DoubleTab &) const override
DoubleVect & valeur_aux_elems_compo(const DoubleTab &positions, const IntVect &les_polys, DoubleVect &valeurs, int ncomp) const override
double valeur_a_elem_compo(const DoubleVect &position, int le_poly, int ncomp) const override
int imprime_Q4(Sortie &, int) const
DoubleTab & valeur_aux_elems(const DoubleTab &positions, const IntVect &les_polys, DoubleTab &valeurs) const override
int remplir_coord_noeuds_et_polys(DoubleTab &positions, IntVect &polys) const override
DoubleVect & valeur_a_elem(const DoubleVect &position, DoubleVect &val, int le_poly) const override
DoubleVect & valeur_aux_sommets_compo(const Domaine &, DoubleVect &, int) const override
DoubleTab & remplir_coord_noeuds(DoubleTab &positions) const override
classe Champ_base Cette classe est la base de la hierarchie des champs.
const Domaine & get_domaine_geom() const
virtual Champ_base & le_champ()=0
int nb_som_elem() const
Renvoie le nombre de sommets des elements geometriques constituants le domaine.
const DoubleTab_t & coord_sommets() const
int_t nb_som_tot() const
Renvoie le nombre total de sommets du domaine i.e. le nombre de sommets reels et virtuels sur le proc...
int_t sommet_elem(int_t i, int j) const
Renvoie le numero (global) du j-ieme sommet du i-ieme element.
virtual int nb_comp() const
Classe de base des flux de sortie.
_SIZE_ size_totale() const
void resize(_SIZE_, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)