16#include <Champ_Fonc_Tabule_P0_VDF.h>
17#include <Domaine_VF.h>
28 les_ch_param = les_champs;
34 const Domaine_VF& domaine_VF = le_dom_VF.valeur();
35 const Table& table = la_table.valeur();
36 DoubleTab& mes_valeurs =
valeurs();
37 const int nb_elem = domaine_VF.
nb_elem(), nb_elem_tot = domaine_VF.
nb_elem_tot(), nb_param = les_ch_param.size();
38 DoubleTabs val_params_aux_elems;
39 for (
int i = 0; i < nb_param; i++)
43 val_params_aux_elems.
add(vp);
45 const DoubleTab& centres_de_gravites = domaine_VF.
xp();
46 IntVect les_polys(nb_elem_tot);
47 for (
int elem = 0; elem < nb_elem_tot; elem++)
48 les_polys(elem) = elem;
51 for (
int i = 0; i < nb_param; i++)
52 les_ch_param[i]->
valeur_aux_elems(centres_de_gravites, les_polys, val_params_aux_elems[i]);
56 const int nbcomp = mes_valeurs.
dimension(1);
57 std::vector<double> vals;
58 vals.reserve(nb_param);
59 for (
int num_elem = 0; num_elem < nb_elem; num_elem++)
60 for (
int ncomp = 0; ncomp < nbcomp; ncomp++)
63 for (
int n = 0; n < nb_param; n++)
64 vals.push_back(val_params_aux_elems[n](num_elem, les_ch_param[n]->valeurs().dimension(1) == 1 ? 0 : ncomp));
65 mes_valeurs(num_elem, ncomp) = table.
val(vals, ncomp);
70 table.
valeurs(val_params_aux_elems[0], centres_de_gravites, t, mes_valeurs);
DoubleTab & valeurs() override
Surcharge Champ_base::valeurs() Renvoie le tableau des valeurs.
DoubleTab & valeur_aux_elems(const DoubleTab &positions, const IntVect &polys, DoubleTab &result) const override
provoque une erreur ! doit etre surchargee par les classes derivees
void associer_param(const VECT(OBS_PTR(Champ_base))&, const Table &)
int initialiser(const double temps) override
NE FAIT RIEN.
void mettre_a_jour(double) override
Mise a jour en temps du champ.
VECT(OBS_PTR(Champ_base)) les_ch_param
void mettre_a_jour(double temps) override
Mise a jour en temps du champ.
classe Champ_base Cette classe est la base de la hierarchie des champs.
double xp(int num_elem, int k) const
Class defining operators and methods for all reading operation in an input flow (file,...
const Nom & le_nom() const override
Renvoie le nom du champ.
const Nom & que_suis_je() const
renvoie la chaine identifiant la classe.
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
Classe de base des flux de sortie.
_SIZE_ dimension(int d) const
value_type & add()=delete
double val(const double val_param, int ncomp=0) const
const int & isfonction() const
DoubleTab & valeurs(const DoubleTab &val_param, const DoubleTab &pos, const double tps, DoubleTab &val) const