16#include <Terme_Source_Th_TdivU_VEF_Face.h>
17#include <Convection_Diffusion_std.h>
18#include <Op_Conv_Muscl_VEF_Face.h>
19#include <Echange_impose_base.h>
20#include <Domaine_Cl_dis_base.h>
21#include <Dirichlet_homogene.h>
22#include <Navier_Stokes_std.h>
23#include <Neumann_homogene.h>
24#include <Neumann_val_ext.h>
25#include <Probleme_base.h>
26#include <Milieu_base.h>
27#include <Periodique.h>
53 for (
int i=0; i<nb_eqn; i++)
69 Cerr <<
"Hydraulic equation not found" << finl;
75 Cerr <<
"Thermal equation not found" << finl;
99 mon_domcl_=eqn_t->domaine_Cl_dis();
100 domainecl_sa=eqn_t->domaine_Cl_dis();
101 Conds_lim& condlims=mon_domcl_->les_conditions_limites();
102 Conds_lim& condlims_sa=domainecl_sa->les_conditions_limites();
103 int nb=condlims.size();
105 for (
int i=0; i<nb*0; i++)
107 condlims[i]= condlims_sa[i];
110 for (
int i=0; i<nb; i++)
122 new_cl=
"Frontiere_ouverte T_ext Champ_front_uniforme 1 1";
127 new_cl=
"Frontiere_ouverte_temperature_imposee Champ_front_uniforme 1 1";
131 Cerr<<
"override of boundary condition "<<la_cl.
que_suis_je()<<
" not coded in "<<__FILE__<<finl;
136 EChaine cons(
"Frontiere_ouverte T_ext Champ_front_uniforme 1 1");
157 Cerr <<
"The source term Source_Th_TdivU_VEF_P1NC is only dedicated to thermal equation" << finl;
164 DoubleTab temp(temperature);
165 DoubleTab TdivU(resu);
171 DoubleTab flux_bords_backup = optype.
flux_bords();
174 for(
int face=0; face<nb_faces; face++)
176 TdivU[face]*=temperature(face);
178 if (mp_max_vect(TdivU)==0)
181 Cerr <<
"******* Warning *******" << finl;
182 Cerr <<
"You are using source term TdivU into one transport equation." << finl;
183 Cerr <<
"It seems useless cause TdivU=0" << finl;
184 Cerr <<
"May be the advection operator is calculated with the non-conservative formulation." << finl;
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()=0
class Cond_lim_base Base class for the hierarchy of classes that represent the different boundary con...
virtual void associer_fr_dis_base(const Frontiere_dis_base &)
Associates the boundary with the object.
virtual void completer()
DOES NOTHING must be overridden in derived classes.
class Conds_lim This class represents a vector of boundary conditions.
Convection_Diffusion_std This class is the base for equations modelling the transport.
Classe Dirichlet_homogene This class is the base class of the hierarchy of homogeneous Dirichlet-type...
Dirichlet This class is the base class of the hierarchy of Dirichlet-type boundary conditions.
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
An input stream whose source is a character string.
Echange_impose_base: This boundary condition is used only for the energy equation.
Class defining operators and methods for all reading operation in an input flow (file,...
class Equation_base The role of an equation is the calculation of one or more fields....
virtual const Milieu_base & milieu() const =0
virtual const Champ_Inc_base & inconnue() const =0
virtual const Operateur & operateur(int) const =0
class Frontiere_dis_base Class representing a discretized boundary.
virtual const Champ_Don_base & capacite_calorifique() const
Returns the heat capacity of the medium (const version).
virtual const Champ_base & masse_volumique() const
Returns the mass density of the medium (const version).
const Equation_base & equation() const
Returns the reference to the equation pointed to by MorEqn::mon_equation.
Navier_Stokes_std This class carries the terms of the momentum equation.
Classe Neumann_homogene This class is the base class of the hierarchy of homogeneous Neumann-type bou...
Classe Neumann_val_ext This class is the base class of the hierarchy of.
Classe Neumann This class is the base class of the hierarchy of Neumann-type boundary conditions.
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 Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
class Operateur_base This class is the base of the hierarchy of objects representing an
virtual void associer_domaine_cl_dis(const Domaine_Cl_dis_base &)
class Operateur Generic class of the operator hierarchy.
virtual Operateur_base & l_op_base()=0
virtual DoubleTab & ajouter(const DoubleTab &, DoubleTab &) const =0
class Periodique This class represents a periodic boundary condition.
class Probleme_base It is a Probleme_U that is not a coupling.
virtual int nombre_d_equations() const =0
virtual const Equation_base & equation(int) const =0
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
Base class for output streams.
Source_base A Source_base object is a term appearing on the right-hand side of an.
virtual void completer()
Updates internal references of the Source_base object.
Symetrie On symmetry faces, the following properties hold:
_SIZE_ dimension_tot(int) const override
class Terme_Source_Th_TdivU_VEF_Face
void modifier_domaine_cl()
DoubleTab & ajouter(DoubleTab &) const override
void completer() override
Updates internal references of the Source_base object.
void mettre_a_jour(double) override
DOES NOTHING - to override in derived classes.
void associer_domaines(const Domaine_dis_base &, const Domaine_Cl_dis_base &) override
DoubleTab & calculer(DoubleTab &) const override
void associer_pb(const Probleme_base &) override