16#include <Convection_Diffusion_Temperature.h>
17#include <Modele_turbulence_scal_base.h>
18#include <Domaine_Cl_dis_base.h>
19#include <Champ_front_calc.h>
20#include <Probleme_base.h>
21#include <Milieu_base.h>
22#include <Domaine_VDF.h>
34 if (
app_domains.size() == 0)
app_domains = { Motcle(
"Thermique"), Motcle(
"Neutronique"), Motcle(
"fraction_massique"), Motcle(
"indetermine") };
37 le_champ_front.typer(
"Champ_front_calc");
41void PlaqThVDF::mettre_a_jour(
double )
43 const Equation_base& eqn = mon_dom_cl_dis->equation();
44 const Domaine_VDF& le_dom_VDF=ref_cast(Domaine_VDF, eqn.
domaine_dis());
51 const RefObjU& modele_turbulence = eqn.
get_modele(TURBULENCE);
52 if (modele_turbulence && sub_type(Modele_turbulence_scal_base,modele_turbulence.
valeur()))
54 const Modele_turbulence_scal_base& modele = ref_cast(Modele_turbulence_scal_base,modele_turbulence.
valeur());
55 const Turbulence_paroi_scal_base& loipar = modele.
loi_paroi();
56 Champ_front_calc& ch=ref_cast(Champ_front_calc,
T_ext());
59 h_imp_.typer(
"Champ_front_uniforme");
60 DoubleTab& tab = h_imp_->valeurs();
61 h_imp_->fixer_nb_comp(1);
64 int boundary_index=-1;
66 for (
int n_bord=0; n_bord<nb_boundaries; n_bord++)
69 boundary_index=n_bord;
71 for(
int face=0; face < nbfs2; face++)
79 tab(face,0) = tab(nbfs2+face,0) =
84 else if (sub_type(Convection_Diffusion_Temperature,eqn))
86 Champ_front_calc& ch = ref_cast(Champ_front_calc,
T_ext());
90 h_imp_.typer(
"Champ_front_uniforme");
91 DoubleTab& tab= h_imp_->valeurs();
93 h_imp_->fixer_nb_comp(1);
96 tab(0,0) = 2./(1./
h+e1/le_milieu.
diffusivite().valeurs()(0,0)
107 int derniere = premiere + nbfs2;
108 for(face=premiere; face < derniere; face++)
110 int num=face-premiere;
113 tab(num+nbfs2,0)=tab(num,0)=(Temp(el1)+Temp(el2))*0.5;
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.
virtual DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ.
void creer(const Nom &, const Nom &, const Motcle &)
Cree l'objet Champ_front_calc representant la trace d'un champ inconnue sur une frontiere a partir de...
std::vector< Motcle > app_domains
virtual Frontiere_dis_base & frontiere_dis()
Renvoie la frontiere discretisee a laquelle les conditions aux limites s'appliquent.
double dist_norm_bord(int num_face) const override
int face_voisins(int num_face, int i) const
renvoie l'element voisin de numface dans la direction i.
const Front_VF & front_VF(int i) const
const Domaine & domaine() const
Classe Echange_global_impose Cette classe represente le cas particulier de la classe.
virtual Champ_front_base & T_ext()
Renvoie le champ T_ext de temperature imposee a la frontiere.
Class defining operators and methods for all reading operation in an input flow (file,...
virtual const RefObjU & get_modele(Type_modele type) const
virtual const Champ_Inc_base & inconnue() const =0
Probleme_base & probleme()
Renvoie le probleme associe a l'equation.
Domaine_dis_base & domaine_dis()
Renvoie le domaine discretise associe a l'equation.
const Nom & le_nom() const override
Renvoie le nom du champ.
int num_local_face(const int) const
int num_premiere_face() const
const Nom & le_nom() const override
Renvoie le nom de la frontiere geometrique.
virtual const Champ_Don_base & capacite_calorifique() const
Renvoie la capacite calorifique du milieu.
virtual const Champ_Don_base & diffusivite() const
Renvoie la diffusivite du milieu.
virtual const Champ_base & masse_volumique() const
Renvoie la masse volumique du milieu.
const Turbulence_paroi_scal_base & loi_paroi() const
Renvoie la loi de turbulence sur la paroi (version 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.
const Nom & le_nom() const override
Donne le nom de l'Objet_U Methode a surcharger : renvoie "neant" dans cette implementation.
virtual const Milieu_base & milieu() const
Renvoie le milieu physique associe au probleme.
Classe de base des flux de sortie.
void resize(_SIZE_ n, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)
const Objet_U & valeur() const
const DoubleVects & equivalent_distance() const