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
Overrides Champ_base::valeurs() Returns the array of values.
DoubleTab & valeurs() override
Returns the array of field values at the current time.
virtual DoubleTab & valeurs() override
Returns the array of field values.
void creer(const Nom &, const Nom &, const Motcle &)
Create the Champ_front_calc object representing the trace of an unknown field on a boundary from name...
std::vector< Motcle > app_domains
virtual Frontiere_dis_base & frontiere_dis()
Returns the discretized boundary to which the boundary conditions apply.
double dist_norm_bord(int num_face) const override
Returns the normal distance for a boundary face (Cartesian coordinates).
int face_voisins(int num_face, int i) const
Returns the neighbouring element of num_face in direction i.
const Front_VF & front_VF(int i) const
const Domaine & domaine() const
Classe Echange_global_impose This class represents the special case of the class.
virtual Champ_front_base & T_ext()
Returns the T_ext field of temperature imposed at the boundary.
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()
Returns the problem associated with the equation.
Domaine_dis_base & domaine_dis()
Returns the discretized domain associated with the equation.
const Nom & le_nom() const override
Returns the name of the field.
int num_local_face(const int) const
int num_premiere_face() const
const Nom & le_nom() const override
Returns the name of the geometric boundary.
virtual const Champ_Don_base & capacite_calorifique() const
Returns the heat capacity of the medium (const version).
virtual const Champ_Don_base & diffusivite() const
Returns the diffusivity of the medium (const version).
virtual const Champ_base & masse_volumique() const
Returns the mass density of the medium (const version).
const Turbulence_paroi_scal_base & loi_paroi() const
Returns the scalar wall-law turbulence model (const version).
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual const Nom & le_nom() const
Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
const Nom & le_nom() const override
Returns the name of the Objet_U. Virtual method to override: returns "neant" in this implementation.
virtual const Milieu_base & milieu() const
Returns the physical medium associated with the problem (const version).
Base class for output streams.
void resize(_SIZE_ n, RESIZE_OPTIONS opt=RESIZE_OPTIONS::COPY_INIT)
const Objet_U & valeur() const
const DoubleVects & equivalent_distance() const