16#include <Echange_interne_impose.h>
17#include <Equation_base.h>
18#include <Champ_front_calc_interne.h>
19#include <Probleme_base.h>
20#include <Frontiere_dis_base.h>
21#include <Domaine_Cl_dis_base.h>
22#include <Domaine_VDF.h>
24#include <Milieu_base.h>
25#include <Champ_front_uniforme.h>
45 if (
app_domains.size() == 0)
app_domains = { Motcle(
"Thermique"), Motcle(
"Neutronique"), Motcle(
"fraction_massique"), Motcle(
"indetermine") };
48 Motcle motcle(
"h_gap");
55 Cerr <<
"Error when reading boundary condition with type Echange_interne_impose " << finl;
56 Cerr <<
"We expected " << motcle <<
" instead of " << motlu << finl;
67 le_champ_front.typer(
"Champ_front_calc_interne");
68 EChaine e(
"Champ_front_fonc_xyz 1 1e-10");
82 h_gap_->set_temps_defaut(temps);
88 h_gap_->fixer_nb_valeurs_temporelles(nb_cases);
95 h_gap_->changer_temps_futur(temps,i);
101 h_gap_->avancer(temps);
108 h_gap_->reculer(temps);
114 h_gap_->associer_fr_dis_base(fr);
127 t_ext.
creer(nom_pb, nom_bord,
"temperature");
137 return 1./(1./h_gap + invLambda);
152 DoubleTab& lambdas = lambda_ref_->valeurs();
155 for (
int numf=0; numf < fvf.
nb_faces(); numf++)
159 int elem = (vois0 != -1) ? vois0 : zon.
face_voisins(facei, 1);
168 h_gap_->mettre_a_jour(tps);
174 DoubleTab& h_impose = h_imp_->valeurs();
175 DoubleTab& h_gap = h_gap_->valeurs();
181 const IntVect& face_map = t_ext.
face_map();
184 for (
int numf=0; numf < fvf.
nb_faces(); numf++)
186 int opp_face = face_map(numf);
196 h_impose = h_gap(0,0);
classe Champ_front_calc_interne Classe derivee de Champ_front_calc qui represente
const IntVect & face_map() const
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...
Domaine_Cl_dis_base & domaine_Cl_dis()
Renvoie le domaine des conditions aux limites discretisee dont l'objet fait partie.
virtual void completer()
NE FAIT RIEN A surcharger dans les classes derivees.
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.
Une entree dont la source est une chaine de caracteres.
Classe Echange_externe_impose: Cette classe represente le cas particulier de la classe.
int avancer(double temps) override
Tourne la roue de la CL.
int initialiser(double temps) override
Initialisation en debut de calcul.
void fixer_nb_valeurs_temporelles(int nb_cases) override
Appele par Conds_lim::completer Appel cha_front_base::fixer_nb_valeurs_temporelles.
void set_temps_defaut(double temps) override
Change le i-eme temps futur de la cl.
void associer_fr_dis_base(const Frontiere_dis_base &) override
Associe la frontiere a l'objet.
virtual Champ_front_base & T_ext()
Renvoie le champ T_ext de temperature imposee a la frontiere.
int reculer(double temps) override
Tourne la roue de la CL.
void mettre_a_jour(double) override
Effectue une mise a jour en temps des conditions aux limites.
void changer_temps_futur(double temps, int i) override
Change le i-eme temps futur de la CL.
Classe Echange_interne_impose: Cette classe represente le cas particulier de la classe.
void fixer_nb_valeurs_temporelles(int nb_cases) override
Appele par Conds_lim::completer Appel cha_front_base::fixer_nb_valeurs_temporelles.
void mettre_a_jour(double tps) override
Effectue une mise a jour en temps des conditions aux limites.
int avancer(double temps) override
Tourne la roue de la CL.
int reculer(double temps) override
Tourne la roue de la CL.
int initialiser(double temps) override
Initialisation en debut de calcul.
virtual void update_inv_lambda()
void associer_fr_dis_base(const Frontiere_dis_base &fr) override
Associe la frontiere a l'objet.
void set_temps_defaut(double temps) override
Change le i-eme temps futur de la cl.
void completer() override
NE FAIT RIEN A surcharger dans les classes derivees.
void changer_temps_futur(double temps, int i) override
Change le i-eme temps futur de la CL.
virtual double calcul_h_imp(const double h_gap, const double invLambda) const
void verifie_ch_init_nb_comp() const override
Appel la verification du champ lu par l intermediaire de l equation pour laquelle on considere la con...
Class defining operators and methods for all reading operation in an input flow (file,...
Probleme_base & probleme()
Renvoie le probleme associe a l'equation.
int num_face(const int) const
classe Frontiere_dis_base Classe representant une frontiere discretisee.
virtual const Champ_Don_base & conductivite() const
Renvoie la conductivite du milieu.
const Equation_base & equation() const
Renvoie la reference sur l'equation pointe par MorEqn::mon_equation.
class Nom Une chaine de caractere pour nommer les objets de TRUST
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.
virtual const Milieu_base & milieu() const
Renvoie le milieu physique associe au probleme.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
Classe de base des flux de sortie.