15#include <Paroi_TBLE_QDM_Scal.h>
16#include <Paroi_TBLE_QDM.h>
17#include <Domaine_dis_base.h>
18#include <EcrFicPartage.h>
20#include <Domaine_VF.h>
22#include <Dirichlet_paroi_fixe.h>
23#include <Probleme_base.h>
24#include <Diffu_totale_hyd_base.h>
25#include <Diffu_totale_scal_base.h>
26#include <Domaine_Cl_dis_base.h>
34 les_mots[1]=
"modele_visco";
35 les_mots[2]=
"facteur";
37 les_mots[4]=
"epsilon";
39 les_mots[6]=
"sonde_tble";
40 les_mots[7]=
"restart";
41 les_mots[8]=
"stationnaire";
42 les_mots[9]=
"Prandtl";
44 int rang=les_mots.
search(mot_lu);
49 Cerr <<
"N = " <<
nb_pts << finl;
53 Cerr <<
"Le modele de viscosite turbulente dans le maillge fin est "
58 Cerr <<
"Raison geometrique du maillage fin : " <<
fac << finl;
69 Cerr <<
"Temps stats TBLE : OK" << finl;
71 Cerr <<
"WARNING !!!!! Temps stats TBLE INCORRECTS" << finl;
75 Cerr <<
"Seuil de convergence pour les equations de couche limites : " <<
epsilon << finl;
79 Cerr <<
"Le maximum d'iterations pour la resolution des equations TBLE est de : " <<
max_it << finl;
88 Cerr <<
"Nom"<<i<<
"=" <<
nom_pts[i] <<finl;
92 Cerr <<
"sonde_tble( "<< i <<
"," << j <<
" ) =" <<
sonde_tble(i,j) << finl;
104 Cerr <<
"Vous devez choisir le nombre maximum d'iterations pour attendre la convergence en temps de TBLE" << finl;
105 Cerr <<
"ainsi que la valeur du critere d'arret" << finl;
106 Cerr <<
"Syntaxe : statio max_it_statio eps_statio" << finl;
115 Cerr << mot_lu <<
" n'est pas un mot compris par Paroi_TBLE_scal" << finl;
116 Cerr <<
"Les mots compris sont : " << les_mots << finl;
150 int compteur_faces_paroi = 0;
153 for (
int n_bord=0; n_bord<domaine_dis.
nb_front_Cl(); n_bord++)
159 compteur_faces_paroi += le_bord.
nb_faces();
162 eq_temp.dimensionner(compteur_faces_paroi);
167 int face=-1,face2=-1;
170 compteur_faces_paroi=0;
171 for (
int n_bord=0; n_bord<domaine_dis.
nb_front_Cl(); n_bord++)
179 for (
int ind_face=0; ind_face<size; ind_face++)
181 int num_face = le_bord.
num_face(ind_face);
192 face=compteur_faces_paroi;
197 compteur_faces_paroi++;
216 for (
int i=0; i<compteur_faces_paroi; i++)
218 eq_temp[i].associer_milieu(
getPbBase().milieu());
237 Cerr <<
"Reprise du champ TBLE T au temps = " << tps_reprise<< finl;
238 int compteur_faces_paroi = 0;
240 Nom nom_fic=
"sauvegarde_tble_scal_";
243 nom_fic+=
Nom(tps_reprise,
getPbBase().reprise_format_temps());
246 if (fic_sauve.
fail())
248 Cerr <<
"Erreur a l'ouverture du fichier " << nom_fic << finl;
249 Cerr <<
"Si vous ne souhaitez pas reprendre les quantites TBLE, utilisez le mot-cle 'restart' dans les options TBLE" << finl;
255 for (
int n_bord=0; n_bord<domaine_dis.
nb_front_Cl(); n_bord++)
263 compteur_faces_paroi+=le_bord.
nb_faces();
269 compteur_faces_paroi=0;
271 for (
int n_bord=0; n_bord<domaine_dis.
nb_front_Cl(); n_bord++)
278 int nfin = ndeb + le_bord.
nb_faces();
279 for (
int num_face=ndeb; num_face<nfin; num_face++)
281 for (
int comp=0; comp<
nb_comp; comp++)
283 for (
int itble=0; itble<
nb_pts+1; itble++)
288 compteur_faces_paroi++;
293 Cerr <<
"Reprise du champ TBLE T OK" << finl;
304 Cerr <<
"Sauvegarde du champ TBLE T au temps = " << tps << finl;
306 Nom nom_fic=
"sauvegarde_tble_scal_";
309 nom_fic+=
Nom(tps,
"%e");
312 int compteur_faces_paroi=0;
313 for (
int n_bord=0; n_bord<domaine_dis.
nb_front_Cl(); n_bord++)
320 int nfin = ndeb + le_bord.
nb_faces();
321 for (
int num_face=ndeb; num_face<nfin; num_face++)
323 for (
int comp=0; comp<
nb_comp; comp++)
325 for (
int itble=0; itble<
nb_pts+1; itble++)
326 fic_sauve << eq_temp[compteur_faces_paroi].get_Unp1(comp,itble) <<
" " ;
329 compteur_faces_paroi++;
354 fic_post <<
"# "<< tps <<
" T T^2 UT VT "<< finl;
355 for(
int i=0; i<
nb_pts+1; i++)
360 fic_post <<
"# "<< tps <<
" T T^2 UT VT WT "<< finl;
361 for(
int i=0; i<
nb_pts+1; i++)
385 for(
int i=0 ; i<
nb_pts+1 ; i++)
406 for(
int i=0 ; i<
nb_pts+1 ; i++)
class Cond_lim Generic class used to represent any class
void associer_mulambda(const MuLambda_TBLE_base &m)
Classe Diffu_totale_hyd_base Classe abstraite calculant la diffusivite totale (somme diffusivite.
void associer_eqn_T(Eq_couch_lim &e)
Classe Diffu_totale_scal_base Classe abstraite calculant la diffusivite totale (somme diffusivite.
void set_visco_tot(Diffu_totale_base &a)
void setPrandtl(double p)
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
const Cond_lim & les_conditions_limites(int) const
Returns the i-th boundary condition.
double xv(int num_face, int k) const
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
File for reading. This class is to the C++ ifstream class what the Entree class is to the.
Sortie & syncfile() override
Triggers writing to disk of the data accumulated on the different processors since the last call to s...
Class defining operators and methods for all reading operation in an input flow (file,...
int num_premiere_face() const
int num_face(const int) const
A character string (Nom) in uppercase.
An array of Motcle objects.
int search(const Motcle &t) const
class Nom: a character string for naming TRUST objects.
VECT(Eq_couch_lim) eq_temp
int reprendre(Entree &, const Domaine_dis_base &, const Domaine_Cl_dis_base &, double tps)
void imprimer_sondes(Sortie &, double, const VECT(DoubleVect)&) const
DoubleTab valeurs_reprises
Entree & lire_donnees(const Motcle &motlu, Entree &s)
virtual const Probleme_base & getPbBase() const =0
virtual Eq_couch_lim & get_eq_couch_lim(int)=0
void init_valeurs_defaut()
virtual MuLambda_TBLE_base & getMuLambda()=0
int sauvegarder(Sortie &, const Domaine_dis_base &, const Domaine_Cl_dis_base &, double tps) const
int init_lois_paroi(const Domaine_VF &, const Domaine_Cl_dis_base &)
void calculer_stat(int j, int i, double u, double v, double w, double T, double dt)
IntTab num_global_faces_post
void imprimer_stat(Sortie &, double) const
static int me()
Returns the rank of the local processor in the current communication group. See Comm_Group::rank() an...
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
Base class for output streams.