16#include <Traitement_particulier_Solide_canal_VDF.h>
17#include <EcrFicCollecteBin.h>
18#include <communications.h>
19#include <Champ_Uniforme.h>
20#include <Champ_Face_VDF.h>
21#include <Probleme_base.h>
22#include <Domaine_Cl_VDF.h>
23#include <Conduction.h>
25#include <Domaine_VDF.h>
61 double tps = mon_equation->inconnue().temps();
66 static double temps_dern_post_inst = -100.;
70 temps_dern_post_inst = tps;
77 static int init_stat_temps = 0;
78 if(init_stat_temps==0)
80 double dt_v = mon_equation->schema_temps().pas_de_temps();
88 static double temps_dern_post_stat = -100.;
93 temps_dern_post_stat = tps;
107 const Domaine_dis_base& zdisbase=mon_equation->inconnue().domaine_dis_base();
114 const DoubleTab& Temp = mon_equation->inconnue().valeurs();
129 for (num_elem=0; num_elem<nb_elems; num_elem++)
132 tmoy[tab_corresp[num_elem]] += Temp[num_elem];
134 trms[tab_corresp[num_elem]] += Temp[num_elem]*Temp[num_elem];
139 IntVect compt_p(tab_compt);
142 DoubleVect tmoy_p(tmoy);
145 DoubleVect trms_p(trms);
150 IntVect compt_tot(tab_compt);
151 DoubleVect tmoy_tot(tmoy);
152 DoubleVect trms_tot(trms);
160 recevoir(compt_p,p,0,p);
163 recevoir(tmoy_p,p,0,p);
166 recevoir(trms_p,p,0,p);
174 tmoy[j] = tmoy_tot[j] / compt_tot[j];
175 trms[j] = trms_tot[j] / compt_tot[j];
177 trms[j] -= tmoy[j]*tmoy[j];
189 double dt_v = mon_equation->schema_temps().pas_de_temps();
203 Nom nom_fic =
"Solid_spat_";
204 double tps = mon_equation->inconnue().temps();
213 fic <<
"# Space Averaged Statistics in the Solid" << finl ;
214 fic <<
"# Y <T> Trms " << finl ;
217 for (
int j=0; j<
N ; j++)
218 fic << tabY[j] <<
" " << Tmoy[j] <<
" " << sqrt(Trms[j]) << finl;
233 Nom nom_fic =
"Solid_temp_";
234 double tps = mon_equation->inconnue().temps();
243 fic <<
"# Time Averaged Statistics in the Solid" << finl ;
244 fic <<
"# Y <T> Trms " << finl ;
247 for (
int j=0; j<
N ; j++)
248 fic << tabY[j] <<
" " << Tmoy[j]/dt <<
" " << sqrt(Trms[j]/dt) << finl;
269 const Domaine_dis_base& zdisbase=mon_equation->inconnue().domaine_dis_base();
272 const DoubleTab& xp = domaine_VDF.
xp();
276 int num_elem,j,indic,trouve;
290 for (num_elem=0; num_elem<nb_elems; num_elem++)
295 for (j=0; j<indic+1; j++)
double xp(int num_elem, int k) const
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
const Domaine & domaine() const
Class defining operators and methods for all reading operation in an input flow (file,...
class Nom Une chaine de caractere pour nommer les objets de TRUST
virtual Entree & readOn(Entree &)
Lecture d'un Objet_U sur un flot d'entree Methode a surcharger.
virtual Sortie & printOn(Sortie &) const
Ecriture de l'objet sur un flot de sortie Methode a surcharger.
static int nproc()
renvoie le nombre de processeurs dans le groupe courant Voir Comm_Group::nproc() et PE_Groups::curren...
static int me()
renvoie mon rang dans le groupe de communication courant.
static int je_suis_maitre()
renvoie 1 si on est sur le processeur maitre du groupe courant (c'est a dire me() == 0),...
Cette classe est a la classe C++ ofstream ce que la classe Sortie est a la classe C++ ostream Elle re...
Sortie & flush() override
Force l'ecriture sur disque des donnees dans le tampon Utilise l'implementation de la classe ofstream...
void precision(int pre) override
Classe de base des flux de sortie.
void ajoute_sans_ech_esp_virt(_SCALAR_TYPE_ alpha, const TRUSTVect &y, Mp_vect_options opt=VECT_REAL_ITEMS)
classe Traitement_particulier_Solide_canal_VDF Cette classe permet de faire les traitements particuli...
void ecriture_fichier_moy_spat_thermo(const DoubleVect &, const DoubleVect &, const DoubleVect &)
void ecriture_fichier_moy_temp_thermo(const DoubleVect &, const DoubleVect &, const DoubleVect &, const double)
void init_calcul_moyenne() override
void calculer_integrales_temporelles(DoubleVect &moy_temp, const DoubleVect &moy_spat)
void calculer_moyennes_spatiales_thermo(DoubleVect &tmoy, DoubleVect &trms, const DoubleVect &Y, IntVect &corresp, IntVect &compt)
Entree & lire(Entree &) override
void post_traitement_particulier() override
classe Traitement_particulier_Solide_canal
Entree & lire(Entree &) override