17#include <Paroi_UTAU_IMP_VDF.h>
18#include <Champ_Uniforme.h>
19#include <Domaine_Cl_VDF.h>
20#include <Dirichlet_paroi_fixe.h>
21#include <Dirichlet_paroi_defilante.h>
22#include <Fluide_Dilatable_base.h>
23#include <Equation_base.h>
24#include <Modele_turbulence_hyd_base.h>
64 const IntVect& orientation = domaine_VDF.
orientation();
66 const Equation_base& eqn_hydr = mon_modele_turb_hyd->equation();
68 const DoubleTab& xv=domaine_VDF.
xv() ;
73 const DoubleTab& tab_visco = ch_visco_cin.
valeurs();
79 visco = std::max(tab_visco(0,0),DMINFLOAT);
87 Cerr <<
"In Paroi_UTAU_IMP_VDF::calculer_hyd_BiK : visco = " << tab_visco.
local_min_vect() <<
" <= 0 ? " << finl;
102 for (
int n_bord=0; n_bord<domaine_VDF.
nb_front_Cl(); n_bord++)
109 const Cond_lim& la_cl = le_dom_Cl_dis_->les_conditions_limites(n_bord);
122 for (
int face=ndeb; face<nfin; face++)
124 vitesse_imposee_face_bord(face-ndeb,k) = cl_diri.
val_imp(face-ndeb,k);
129 for (
int num_face=ndeb; num_face<nfin; num_face++)
133 int rang = num_face-ndeb;
135 vit_paroi[k]=vitesse_imposee_face_bord(rang,k);
137 ori = orientation(num_face);
138 if ( (elem =face_voisins(num_face,0)) != -1)
140 norm_v=norm_vit(vit,elem,ori,domaine_VDF,vit_paroi,val);
145 elem = face_voisins(num_face,1);
147 norm_v=norm_vit(vit,elem,ori,domaine_VDF,vit_paroi,val);
154 d_visco = tab_visco[elem];
158 pos[i]=xv(num_face,i);
165 double vit_frot = ustar*ustar;
218 const IntVect& orientation = domaine_VDF.
orientation();
219 const IntTab& face_voisins = domaine_VDF.
face_voisins();
220 const Equation_base& eqn_hydr = mon_modele_turb_hyd->equation();
222 const DoubleTab& xv=domaine_VDF.
xv() ;
227 const DoubleTab& tab_visco = ch_visco_cin.
valeurs();
233 visco = std::max(tab_visco(0,0),DMINFLOAT);
241 Cerr <<
"In Paroi_UTAU_IMP_VDF::calculer_hyd : visco = " << tab_visco.
local_min_vect() <<
" <= 0 ? " << finl;
256 for (
int n_bord=0; n_bord<domaine_VDF.
nb_front_Cl(); n_bord++)
263 const Cond_lim& la_cl = le_dom_Cl_dis_->les_conditions_limites(n_bord);
276 for (
int face=ndeb; face<nfin; face++)
278 vitesse_imposee_face_bord(face-ndeb,k) = cl_diri.
val_imp(face-ndeb,k);
283 for (
int num_face=ndeb; num_face<nfin; num_face++)
287 int rang = num_face-ndeb;
289 vit_paroi[k]=vitesse_imposee_face_bord(rang,k);
291 ori = orientation(num_face);
292 if ( (elem =face_voisins(num_face,0)) != -1)
294 norm_v=norm_vit(vit,elem,ori,domaine_VDF,vit_paroi,val);
299 elem = face_voisins(num_face,1);
301 norm_v=norm_vit(vit,elem,ori,domaine_VDF,vit_paroi,val);
308 d_visco = tab_visco[elem];
312 pos[i]=xv(num_face,i);
319 double vit_frot = ustar*ustar;
classe Champ_Don_base classe de base des Champs donnes (non calcules)
DoubleTab & valeurs() override
Surcharge Champ_base::valeurs() Renvoie le tableau des valeurs.
DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ au temps courant.
classe Cond_lim Classe generique servant a representer n'importe quelle classe
classe Dirichlet_paroi_defilante Impose la vitesse de paroi dnas une equation de type Navier_Stokes.
classe Dirichlet_paroi_fixe Represente une paroi immobile dans une equation de type Navier_Stokes.
virtual double val_imp(int i) const
Renvoie la valeur imposee sur la i-eme composante du champ a la frontiere au temps par defaut du cham...
int orientation(int) const override
inline DoubleVect& Domaine_VDF::porosite_face() {
double xv(int num_face, int k) 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,...
classe Equation_base Le role d'une equation est le calcul d'un ou plusieurs champs....
virtual const Milieu_base & milieu() const =0
virtual const Champ_Inc_base & inconnue() const =0
classe Fluide_base Cette classe represente un d'un fluide incompressible ainsi que
const Champ_Don_base & viscosite_cinematique() const
int num_premiere_face() const
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 const Nom & le_nom() const
Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
Entree & lire_donnees(Entree &s)
double calculer_utau(const DoubleVect &pos, double norm_v, double d_visco)
CLASS: Paroi_UTAU_IMP_VDF.
int init_lois_paroi() override
int calculer_hyd(DoubleTab &) override
int calculer_hyd_BiK(DoubleTab &, DoubleTab &) override
Classe de base des flux de sortie.
_TYPE_ local_min_vect(Mp_vect_options opt=VECT_REAL_ITEMS) const
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")
DoubleTab Cisaillement_paroi_