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
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
const Domaine & domaine() const
Class defining operators and methods for all reading operation in an input flow (file,...
class Nom: a character string for naming TRUST objects.
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.
static int nproc()
Returns the number of processors in the current group. See Comm_Group::nproc() and PE_Groups::current...
static int me()
Returns the rank of the local processor in the current communication group. See Comm_Group::rank() an...
static int je_suis_maitre()
Returns 1 if on the master processor of the current group (i.e. me() == 0), 0 otherwise.
SFichier is to the C++ ofstream class what Sortie is to the C++ ostream class.
Sortie & flush() override
Forces the data in the buffer to be written to disk. Uses the ofstream class implementation.
void precision(int pre) override
Base class for output streams.
void ajoute_sans_ech_esp_virt(_SCALAR_TYPE_ alpha, const TRUSTVect &y, Mp_vect_options opt=VECT_REAL_ITEMS)
Traitement_particulier_Solide_canal_VDF class This class performs special post-processing operations.
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
Special post-processing treatment for solid channel configurations.
Entree & lire(Entree &) override