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;
classe Cond_lim Classe generique servant a representer n'importe quelle classe
classe Dirichlet_paroi_defilante Impose la vitesse de paroi dnas une equation de type Navier_Stokes.
classe Dirichlet_paroi_fixe Represente une paroi immobile dans une equation de type Navier_Stokes.
classe Domaine_Cl_dis_base Les objets Domaine_Cl_dis_base representent les conditions aux limites
int nb_cond_lim() const
Renvoie le nombre de conditions aux limites.
const Cond_lim & les_conditions_limites(int) const
Renvoie la i-ieme condition aux limites.
Classe Echange_externe_impose: Cette classe represente le cas particulier de la classe.
Classe Echange_global_impose Cette classe represente le cas particulier de la classe.
classe Entree_fluide_temperature_imposee Cas particulier de la classe Dirichlet_entree_fluide
classe Entree_fluide_temperature_imposee Cas particulier de la classe Dirichlet_entree_fluide pour la...
classe Entree_fluide_vitesse_imposee_libre Cas particulier de la classe Entree_fluide_vitesse_imposee...
classe Entree_fluide_vitesse_imposee Cas particulier de la classe Dirichlet_entree_fluide
Classe Neumann_paroi_adiabatique Cette condition limite correspond a une paroi adiabatique dans une.
Classe Neumann_paroi_flux_nul Cette condition limite flux nul a la frontiere.
Classe Neumann_paroi Cette condition limite correspond a un flux impose pour l'equation de.
classe Neumann_sortie_libre Cette classe represente une frontiere ouverte sans vitesse imposee
classe Periodique Cette classe represente une condition aux limites periodique.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
classe Scalaire_impose_paroi Impose un scalaire a la paroi dans une equation de type Convection-Difus...
classe Symetrie Sur les faces de symetrie on a les proprietes suivantes: