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 anciennement utilise pour la thermalisation des solides
150 // a conserver en cas de besoin futur
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
classe Champ_base Cette classe est la base de la hierarchie des champs.
classe Cond_lim Classe generique servant a representer n'importe quelle classe
classe Convection_Diffusion_Chaleur_QC Cas particulier de Convection_Diffusion_Chaleur_Fluide_Dilatab...
classe Convection_Diffusion_Temperature Cas particulier de Convection_Diffusion_std
const Cond_lim & les_conditions_limites(int) const
Renvoie la i-ieme condition aux limites.
virtual const DoubleVect & face_surfaces() const
classe Domaine_dis_base Cette classe est la base de la hierarchie des domaines discretisees.
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
Renvoie le nom de la frontiere geometrique.
virtual const Champ_base & masse_volumique() const
Renvoie la masse volumique du milieu.
Une chaine de caractere (Nom) en majuscules.
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.
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
const Champ_base & get_champ(const Motcle &nom) const override
virtual const Milieu_base & milieu() const
Renvoie le milieu physique associe au probleme.
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)
Calcule la somme de x sur tous les processeurs du groupe courant.
static void exit(int exit_code=-1)
Routine de sortie de TRUST dans une region Kokkos.
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...
Classe de base des flux de sortie.
_SIZE_ dimension(int d) const
classe Traitement_particulier_NS_temperature_VEF Cette classe permet de faire les traitements particu...
void calcul_temperature() override
classe Traitement_particulier_NS_temperature Cette classe permet de faire les traitements particulier...