16#include <Entree_fluide_concentration_imposee.h>
17#include <Dirichlet_entree_fluide_leaves.h>
18#include <Dirichlet_paroi_defilante.h>
19#include <Entree_fluide_T_h_imposee.h>
20#include <Neumann_paroi_adiabatique.h>
21#include <Neumann_paroi_flux_nul.h>
22#include <Echange_global_impose.h>
23#include <Echange_externe_impose.h>
24#include <Scalaire_impose_paroi.h>
25#include <Neumann_sortie_libre.h>
26#include <Dirichlet_paroi_fixe.h>
27#include <Domaine_Cl_dis_base.h>
28#include <Frontiere_dis_base.h>
30#include <Neumann_paroi.h>
31#include <Periodique.h>
77 Cerr <<
"The two objects of OWN_PTR(Domaine_Cl_dis_base) type don't have" << finl;
78 Cerr <<
"the same number of boundary conditions." << finl;
82 for (
int num_Cl = 0; num_Cl < nb_Cl; num_Cl++)
94 message_erreur_therm(la_cl_hydr, la_cl_th, num_Cl);
97 else if (sub_type(
Entree_fluide_vitesse_imposee, la_cl_hydr.valeur()) && (la_cl_hydr->que_suis_je() !=
"Frontiere_ouverte_vitesse_imposee_ALE"))
105 message_erreur_therm(la_cl_hydr, la_cl_th, num_Cl);
115 message_erreur_therm(la_cl_hydr, la_cl_th, num_Cl);
124 message_erreur_therm(la_cl_hydr, la_cl_th, num_Cl);
127 else if (sub_type(
Symetrie, la_cl_hydr.valeur()))
134 message_erreur_therm(la_cl_hydr, la_cl_th, num_Cl);
137 else if (sub_type(
Periodique, la_cl_hydr.valeur()))
143 message_erreur_therm(la_cl_hydr, la_cl_th, num_Cl);
157int message_erreur_therm(
const Cond_lim& la_cl_hydr,
const Cond_lim& la_cl_th,
int& num_Cl)
159 Cerr <<
"The hydraulic and thermal boundary conditions are not consitent on border:" << finl;
160 Cerr <<
"Boundary conditions number " << num_Cl <<
" \"" << la_cl_th->frontiere_dis().le_nom() <<
"\" have been assigned to : " << finl;
161 Cerr << la_cl_hydr->que_suis_je() <<
" and " << la_cl_th->que_suis_je() <<
" !! " << finl;
199 Cerr <<
"The two objects of OWN_PTR(Domaine_Cl_dis_base) type don't have" << finl;
200 Cerr <<
"the same number of boundary conditions." << finl;
204 for (
int num_Cl = 0; num_Cl < nb_Cl; num_Cl++)
215 message_erreur_conc(la_cl_hydr, la_cl_co, num_Cl);
222 message_erreur_conc(la_cl_hydr, la_cl_co, num_Cl);
231 message_erreur_conc(la_cl_hydr, la_cl_co, num_Cl);
234 else if (sub_type(
Symetrie, la_cl_hydr.valeur()))
240 message_erreur_conc(la_cl_hydr, la_cl_co, num_Cl);
243 else if (sub_type(
Periodique, la_cl_hydr.valeur()))
249 message_erreur_conc(la_cl_hydr, la_cl_co, num_Cl);
264int message_erreur_conc(
const Cond_lim& la_cl_hydr,
const Cond_lim& la_cl_co,
int& num_Cl)
266 Cerr <<
"The hydraulic and concentration boundary conditions are not consitent on border:" << finl;
267 Cerr <<
"Boundary conditions number " << num_Cl <<
" \"" << la_cl_co->frontiere_dis().le_nom() <<
"\" have been assigned to : " << finl;
268 Cerr << la_cl_hydr->que_suis_je() <<
" and " << la_cl_co->que_suis_je() <<
" !! " << finl;
310 Cerr <<
"The two objects of OWN_PTR(Domaine_Cl_dis_base) type don't have" << finl;
311 Cerr <<
"the same number of boundary conditions." << finl;
315 for (
int num_Cl = 0; num_Cl < nb_Cl; num_Cl++)
326 message_erreur_fraction_massique(la_cl_hydr, la_cl_fm, num_Cl);
335 message_erreur_fraction_massique(la_cl_hydr, la_cl_fm, num_Cl);
343 message_erreur_fraction_massique(la_cl_hydr, la_cl_fm, num_Cl);
353 message_erreur_fraction_massique(la_cl_hydr, la_cl_fm, num_Cl);
356 else if (sub_type(
Symetrie, la_cl_hydr.valeur()))
362 message_erreur_fraction_massique(la_cl_hydr, la_cl_fm, num_Cl);
365 else if (sub_type(
Periodique, la_cl_hydr.valeur()))
371 message_erreur_fraction_massique(la_cl_hydr, la_cl_fm, num_Cl);
385int message_erreur_fraction_massique(
const Cond_lim& la_cl_hydr,
const Cond_lim& la_cl_frac_mass,
int& num_Cl)
387 Cerr <<
"The hydraulic and massic fraction boundary conditions are not consitent on border:" << finl;
388 Cerr <<
"Boundary conditions number " << num_Cl <<
" \"" << la_cl_frac_mass->frontiere_dis().le_nom() <<
"\" have been assigned to : " << finl;
389 Cerr << la_cl_hydr->que_suis_je() <<
" and " << la_cl_frac_mass->que_suis_je() <<
" !! " << finl;
class Cond_lim Generic class used to represent any class
Dirichlet_paroi_defilante Imposes the wall velocity in an equation of type Navier_Stokes.
Dirichlet_paroi_fixe Represents a fixed wall in a Navier-Stokes type equation.
class Domaine_Cl_dis_base Domaine_Cl_dis_base objects represent discretized boundary conditions
int nb_cond_lim() const
Returns the number of boundary conditions.
const Cond_lim & les_conditions_limites(int) const
Returns the i-th boundary condition.
Classe Echange_externe_impose: This class represents the special case of the class.
Classe Echange_global_impose This class represents the special case of the class.
Entree_fluide_temperature_imposee Special case of the Dirichlet_entree_fluide class.
Entree_fluide_temperature_imposee Special case of the class Dirichlet_entree_fluide for imposed tempe...
Entree_fluide_vitesse_imposee_libre Special case of the class Entree_fluide_vitesse_imposee for impos...
Entree_fluide_vitesse_imposee Special case of the class Dirichlet_entree_fluide.
Classe Neumann_paroi_adiabatique This boundary condition corresponds to an adiabatic wall in a.
Classe Neumann_paroi_flux_nul This boundary condition imposes a zero flux at the boundary.
Classe Neumann_paroi This boundary condition corresponds to an imposed flux for the.
Neumann_sortie_libre This class represents an open boundary without imposed velocity.
class Periodique This class represents a periodic boundary condition.
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
Scalaire_impose_paroi Imposes a scalar at the wall in a Convection-Diffusion equation for a scalar.
Symetrie On symmetry faces, the following properties hold: