16#include <Champ_front_contact_rayo_semi_transp_VEF.h>
17#include <Domaine_VEF.h>
18#include <Schema_Temps_base.h>
19#include <Pb_Couple_rayo_semi_transp.h>
20#include <Pb_rayo_semi_transp.h>
68 const DoubleTab& tab_fl_rad = pb_rayo_semi_transp_->flux_radiatif(
frontiere_dis().
le_nom()).valeurs();
69 for (
int fac_front = 0; fac_front < nb_faces; fac_front++)
84 const Frontiere& la_front = la_frontiere_dis->frontiere();
88 DoubleVect gradient_num_transf_autre_pb(nb_faces);
89 DoubleVect gradient_fro_transf_autre_pb(nb_faces);
90 trace_face_raccord(fr_vf_autre_pb.valeur(), ch_fr_autre_pb->get_gradient_num_transf(), gradient_num_transf_autre_pb);
91 trace_face_raccord(fr_vf_autre_pb.valeur(), ch_fr_autre_pb->get_gradient_fro_transf(), gradient_fro_transf_autre_pb);
93 gradient_num_transf_autre_pb *= signe;
94 gradient_fro_transf_autre_pb *= signe;
100 DoubleVect coeff_amort_num_autre_pb(nb_faces);
101 DoubleVect coeff_amort_denum_autre_pb(nb_faces);
102 trace_face_raccord(fr_vf_autre_pb.valeur(), ch_fr_autre_pb->get_coeff_amort_num(), coeff_amort_num_autre_pb);
103 trace_face_raccord(fr_vf_autre_pb.valeur(), ch_fr_autre_pb->get_coeff_amort_denum(), coeff_amort_denum_autre_pb);
107 for (
int fac_front = 0; fac_front < nb_faces; fac_front++)
112 double e = std::max(coeff_amort_num_autre_pb(fac_front),
coeff_amort_num(fac_front));
114 double omega = dt / (dt + e / (coeff_amort_denum_autre_pb(fac_front) +
coeff_amort_denum(fac_front)));
125 double tab_past = tab(fac_front, 0);
129 tab(fac_front, 0) = omega * tab(fac_front, 0) + (1 - omega) * tab_past;
136 const Frontiere& la_front = la_frontiere_dis->frontiere();
141 for (
int fac_front = 0; fac_front < nb_faces; fac_front++)
146 for (
int fac_front = 0; fac_front < nb_faces; fac_front++)
147 gradient_num_transf_autre_pb(fac_front) = gradient_num_transf_autre_pb(fac_front) +
flux_radiatif_(fac_front);
classe Champ_front_base Classe de base pour la hierarchie des champs aux frontieres.
virtual const Frontiere_dis_base & frontiere_dis() const
Renvoie la frontiere discretisee associee au champ.
virtual DoubleTab & valeurs() override
Renvoie le tableau des valeurs du champ.
DoubleTab & valeurs_au_temps(double temps) override
Renvoie les valeurs au temps desire.
Class defining operators and methods for all reading operation in an input flow (file,...
virtual void fixer_nb_comp(int i)
Fixe le nombre de composantes du champ.
const Nom & le_nom() const override
Renvoie le nom du champ.
int_t nb_faces() const
Renvoie le nombre de faces de la frontiere.
const Frontiere & frontiere() const
Renvoie la frontiere geometrique associee.
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.
const Champ_front_base & flux_radiatif(const Nom &nom_bord) const
double pas_de_temps() const
Renvoie le pas de temps (delta_t) courant.
Classe de base des flux de sortie.
virtual void echange_espace_virtuel(IsExchangeBlocking exchange_type=IsExchangeBlocking::DefaultBlocking, const std::string kernel_name="noname")