16#include <Champ_front_debit_QC.h>
17#include <Probleme_base.h>
18#include <Equation_base.h>
19#include <Fluide_Quasi_Compressible.h>
21#include <Domaine_VDF.h>
22#include <Interprete.h>
46 os << tab.
size() <<
" ";
47 for(
int i=0; i<tab.
size(); i++)
65 Cerr<<
"Champ_front_debit_QC_VDF usage : dim { val1 .. valdim } [ moyen ] nom_pb"<<finl;
73 if (motlu != les_mots[0])
75 Cerr <<
"Erreur a la lecture d'un Champ_front_debit_QC" << finl;
76 Cerr <<
"On attendait { a la place de " << motlu << finl;
81 for(
int i=0; i<dim; i++)
84 if (motlu != les_mots[1])
86 Cerr <<
"Erreur a la lecture d'un Champ_front_debit_QC" << finl;
87 Cerr <<
"On attendait } a la place de " << finl;
100 const Probleme_base& pb=ref_cast(Probleme_base,ob1);
101 fluide=ref_cast(Fluide_Quasi_Compressible,pb.
equation(0).
milieu());
124 const Frontiere& front=la_frontiere_dis->frontiere();
132 int nfin = ndeb + nb_faces;
133 const DoubleTab& tab_rhonp1P0 =fluide->loi_etat()->rho_np1();
136 for (
int num_face=ndeb; num_face<nfin; num_face++)
138 int n0 = face_voisins(num_face, 0);
141 n0 = face_voisins(num_face, 1);
142 for (
int ori=0; ori<dim; ori++)
143 tab(num_face-ndeb,ori)=
Debit(ori)/tab_rhonp1P0(n0);
148 double rho_moy=0,S=0,s;
150 for ( num_face=ndeb; num_face<nfin; num_face++)
152 int n0 = face_voisins(num_face, 0);
155 n0 = face_voisins(num_face, 1);
158 rho_moy+=s*tab_rhonp1P0(n0);
163 for ( num_face=ndeb; num_face<nfin; num_face++)
164 for (
int ori=0; ori<dim; ori++)
165 tab(num_face-ndeb,ori)=
Debit(ori)/rho_moy;
classe Ch_front_var_instationnaire_indep Cette classe abstraite represente un champ sur une frontiere...
classe Champ_front_base Classe de base pour la hierarchie des champs aux frontieres.
virtual const Domaine_dis_base & domaine_dis() const
virtual DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ.
classe Champ_front_debit_QC Classe derivee de Champ_front_base qui represente les
void mettre_a_jour(double temps) override
Mise a jour du temps et retirage aleatoire des valeurs du bruit.
Champ_front_base & affecter_(const Champ_front_base &ch) override
Pas code !!
virtual const DoubleVect & face_surfaces() const
int face_voisins(int num_face, int i) const
renvoie l'element voisin de numface dans la direction i.
Class defining operators and methods for all reading operation in an input flow (file,...
virtual const Milieu_base & milieu() const =0
virtual void fixer_nb_comp(int i)
Fixe le nombre de composantes du champ.
virtual int nb_comp() const
int num_premiere_face() const
int_t nb_faces() const
Renvoie le nombre de faces de la frontiere.
static Objet_U & objet(const Nom &)
Voir Interprete_bloc::objet_global() BM: la classe Interprete n'est pas le meilleur endroit pour cett...
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
virtual const Equation_base & equation(int) const =0
static void mp_sum_for_each(T &arg1, T &arg2)
C++14 compatible mp_sum_for_each: combine multiple mp_sum calls into one collective operation Usage: ...
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.