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);
class Champ_front_calc_interne Derived class of Champ_front_calc representing
const IntVect & face_map() const
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...
Domaine_Cl_dis_base & domaine_Cl_dis()
Returns the domain of discretized boundary conditions to which the object belongs.
virtual void completer()
DOES NOTHING must be overridden in derived classes.
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.
An input stream whose source is a character string.
Classe Echange_externe_impose: This class represents the special case of the class.
int avancer(double temps) override
Rotates the wheel of the BC.
int initialiser(double temps) override
Initialization at the beginning of the calculation.
void fixer_nb_valeurs_temporelles(int nb_cases) override
Called by Conds_lim::completer. Calls cha_front_base::fixer_nb_valeurs_temporelles.
void set_temps_defaut(double temps) override
Changes the i-th future time of the BC.
void associer_fr_dis_base(const Frontiere_dis_base &) override
Associates the boundary with the object.
virtual Champ_front_base & T_ext()
Returns the T_ext field of temperature imposed at the boundary.
int reculer(double temps) override
Rotates the wheel of the BC.
void mettre_a_jour(double) override
Performs a time update of the boundary conditions.
void changer_temps_futur(double temps, int i) override
Changes the i-th future time of the BC.
class Echange_interne_impose
void fixer_nb_valeurs_temporelles(int nb_cases) override
Called by Conds_lim::completer. Calls cha_front_base::fixer_nb_valeurs_temporelles.
void mettre_a_jour(double tps) override
Performs a time update of the boundary conditions.
int avancer(double temps) override
Rotates the wheel of the BC.
int reculer(double temps) override
Rotates the wheel of the BC.
int initialiser(double temps) override
Initialization at the beginning of the calculation.
virtual void update_inv_lambda()
void associer_fr_dis_base(const Frontiere_dis_base &fr) override
Associates the boundary with the object.
void set_temps_defaut(double temps) override
Changes the i-th future time of the BC.
void completer() override
DOES NOTHING must be overridden in derived classes.
void changer_temps_futur(double temps, int i) override
Changes the i-th future time of the BC.
virtual double calcul_h_imp(const double h_gap, const double invLambda) const
void verifie_ch_init_nb_comp() const override
Calls the verification of the field read through the equation for which the boundary condition is con...
Class defining operators and methods for all reading operation in an input flow (file,...
Probleme_base & probleme()
Returns the problem associated with the equation.
int num_face(const int) const
class Frontiere_dis_base Class representing a discretized boundary.
virtual const Champ_Don_base & conductivite() const
Returns the conductivity of the medium (const version).
const Equation_base & equation() const
Returns the reference to the equation pointed to by MorEqn::mon_equation.
class Nom: a character string for naming TRUST objects.
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.
virtual const Milieu_base & milieu() const
Returns the physical medium associated with the problem (const version).
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
Base class for output streams.