16#include <Traitement_particulier_NS_temperature_VEF.h>
17#include <Domaine_VEF.h>
18#include <Champ_P1NC.h>
19#include <Champ_Uniforme.h>
21#include <EcrFicPartage.h>
22#include <Convection_Diffusion_Temperature.h>
23#include <Convection_Diffusion_Chaleur_QC.h>
24#include <Probleme_base.h>
25#include <Fluide_Incompressible.h>
26#include <Navier_Stokes_std.h>
54 const Domaine_dis_base& zdisbase=mon_equation->inconnue().domaine_dis_base();
80 Cerr <<
"Error : none equation for temperature was found...!" << finl;
81 Cerr <<
"User can not ask for Traitement_particulier_NS_temperature_VEF" << finl;
82 Cerr <<
"if code does not solve a heat equation." << finl;
86 const DoubleTab& tab_temperature = mon_equation_NRJ->inconnue().valeurs();
90 const DoubleTab& rho = rho_.
valeurs();
92 const double temps = mon_equation->inconnue().temps();
95 for (
int n_bord=0; n_bord<nb_front; n_bord++)
100 int num2 = num1 + le_bord.
nb_faces();
109 for (
int iface=num1; iface<num2; iface++)
111 if (taille_rho==1) tmp = rho(0,0) *vitesse(iface,
dir)*domaine_VEF.
face_surfaces(iface);
113 Tmoyen += tmp*tab_temperature(iface);
115 if(tab_temperature(iface)>Tmax) Tmax=tab_temperature(iface);
116 if(tab_temperature(iface)<Tmin) Tmin=tab_temperature(iface);
130 Cerr <<
"rhoUS=0..." << finl;
131 Cerr <<
"May be the direction of Traitement_particulier { temperature is wrong..." << finl;
135 Nom nom_fic1(
"Tmoyen_");
136 nom_fic1 += le_bord.
le_nom();
138 fic1 << temps <<
" " << Tmoyen <<
" " << Tmin <<
" " << Tmax << finl;
140 Nom nom_fic2(
"RhoU_");
141 nom_fic2 += le_bord.
le_nom();
143 fic2 << temps <<
" " << rhoUS << finl;
149 // PQ : 04/08/08 formerly used for solid thermalization
150 // to be kept for future use
153 if (sub_type(Dirichlet_paroi_fixe,la_cl.valeur()))
155 Nom fichier1 = "temp_face_paroi_";
156 fichier1+=le_bord.le_nom();
158 EcrFicPartage fic1 (fichier1);
160 fic1<<le_bord.nb_faces()<<finl;
163 for (int num_face=num1; num_face<num2; num_face++)
165 fic1<<xv(num_face,0)<<" "<<xv(num_face,1)<<" "<<temperature(num_face)<<finl;
167 else if(dimension==3)
168 for (int num_face=num1; num_face<num2; num_face++)
170 fic1<<xv(num_face,0)<<" "<<xv(num_face,1)<<" "<<xv(num_face,2)<<" "<<temperature(num_face)<<finl;
virtual DoubleTab & valeurs()=0
class Champ_base This class is the base of the fields hierarchy.
class Cond_lim Generic class used to represent any class
Particular case of Convection_Diffusion_Chaleur_Fluide_Dilatable_base for a quasi-compressible fluid,...
Convection_Diffusion_Temperature Special case of Convection_Diffusion_std.
const Cond_lim & les_conditions_limites(int) const
Returns the i-th boundary condition.
virtual const DoubleVect & face_surfaces() const
class Domaine_dis_base This class is the base of the hierarchy of discretized domains.
Class defining operators and methods for all reading operation in an input flow (file,...
int num_premiere_face() const
const Nom & le_nom() const override
Returns the name of the geometric boundary.
virtual const Champ_base & masse_volumique() const
Returns the mass density of the medium (const version).
A character string (Nom) in uppercase.
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.
class Probleme_base It is a Probleme_U that is not a coupling.
const Champ_base & get_champ(const Motcle &nom) const override
virtual const Milieu_base & milieu() const
Returns the physical medium associated with the problem (const version).
virtual int nombre_d_equations() const =0
virtual const Equation_base & equation(int) const =0
static double mp_min(double)
static double mp_max(double)
static double mp_sum(double)
Computes the sum of x over all processors in the current group.
static void exit(int exit_code=-1)
Exit routine for TRUST within a Kokkos region.
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.
Base class for output streams.
_SIZE_ dimension(int d) const
class Traitement_particulier_NS_temperature_VEF This class performs special post-processing
void calcul_temperature() override
Traitement_particulier_NS_temperature This class performs specific post-processing treatments.