16#include <Champ_Fonc_Tabule_Morceaux_Interp.h>
17#include <TRUSTTab_parts.h>
18#include <Domaine_VF.h>
41 std::vector<std::array<std::string, 3>> v_pb_ch(
s_pb_ch.begin(),
s_pb_ch.end());
44 for (
int i = 0; i < (int)v_pb_ch.size(); i++)
46 Nom ch_int =
Nom(
"{ pb_loc ") + ref_pb->
le_nom() +
" pb_dist " +
Nom(v_pb_ch[i][0]) +
" nom_champ " +
Nom(v_pb_ch[i][1]) +
" nature " +
Nom(v_pb_ch[i][2]) +
" }";
54 for (
int i = 0; i < (int)
m_pb_ch.size(); i++)
55 for (
auto && pb_ch :
m_pb_ch[i])
56 morceaux[i].i_ch.push_back((
int)(std::lower_bound(v_pb_ch.begin(), v_pb_ch.end(), pb_ch) - v_pb_ch.begin()));
68 std::vector<const DoubleTab* > pval;
69 std::vector<bool> is_multi;
73 pch.mettre_a_jour(time);
74 pval.push_back(&pch.valeurs());
75 is_multi.push_back(pval.back()->dimension(1) > 1);
78 for (
int e = 0; e < mon_domaine->nb_elem(); e++)
84 else for (
int n = 0, m; n < N; n++)
86 for (vals.clear(), m = 0; m < M; m++) vals.push_back((*pval[mor.
i_ch[m]])(e, n * is_multi[mor.
i_ch[m]]));
DoubleTab & valeurs() override
Surcharge Champ_base::valeurs() Renvoie le tableau des valeurs.
classe Champ_Fonc_Tabule_Morceaux_Interp Cette classe represente un champ prenant par morceaux des va...
std::vector< Champ_Fonc_Interp > ch_param_interp
int initialiser(const double temps) override
NE FAIT RIEN.
void mettre_a_jour(double temps) override
Mise a jour en temps.
classe Champ_Fonc_Tabule_Morceaux Cette classe represente un champ prenant par morceaux des valuers f...
std::set< ArrStr > s_pb_ch
std::vector< std::vector< ArrStr > > m_pb_ch
std::vector< CHTAB > morceaux
Une entree dont la source est une chaine de caracteres.
Class defining operators and methods for all reading operation in an input flow (file,...
class Nom Une chaine de caractere pour nommer les objets de TRUST
const Nom & le_nom() const override
Renvoie *this;.
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.
bool read_pb_instead_of_domain
int initialiser(const double temps) override
NE FAIT RIEN.
_SIZE_ dimension(int d) const
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")
double val_simple(double vals_param) const
double val(const double val_param, int ncomp=0) const