TRUST 1.9.8
HPC thermohydraulic platform
Loading...
Searching...
No Matches
Echange_contact_Correlation_VEF.h
1/****************************************************************************
2* Copyright (c) 2026, CEA
3* All rights reserved.
4*
5* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
6* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
7* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
9*
10* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
11* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
12* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
13*
14*****************************************************************************/
15
16#ifndef Echange_contact_Correlation_VEF_included
17#define Echange_contact_Correlation_VEF_included
18
19#include <Temperature_imposee_paroi.h>
20#include <Conduction.h>
21#include <Parser_U.h>
22
23class Front_VF;
24class Domaine_VEF;
25#include <Domaine_forward.h>
26class Param;
27
29{
30 Declare_instanciable(Echange_contact_Correlation_VEF);
31public:
32 void mettre_a_jour(double) override;
33 void completer() override;
34 virtual void imprimer(double) const;
35 virtual int limpr(double, double) const;
36
37 // Elle se charge de renvoyer la valeur du coefficient d'echange sur la maille i.
38 virtual double calculer_coefficient_echange(int i);
39
40 // Renvoie U et T et les proprietes physiques sur la maille 1D i
41 inline double getU(int i) const { return U(i); }
42 inline double getT(int i) const { return T(i); }
43 inline double getMu(int i) const { return mu(i); }
44 inline double getLambda(int i) const { return lambda(i); }
45 inline double getRho(int i) const { return rho(i); }
46 inline double getCp() const { return Cp; }
47 inline double getDh(int i) const { return diam(i); }
48 inline double getQh() const { return debit; }
49
50protected:
51 void set_param(Param& param) const override;
52 int lire_motcle_non_standard(const Motcle&, Entree&) override;
53
54 void calculer_CL();
55 void calculer_Q();
57 void init();
58 void calculer_Vitesse();
59 void calculer_Tfluide();
60 void calculer_h_solide(DoubleTab&);
61 double pdt_scalSqrt(const Domaine_VEF&, int, int, int, int, double);
62 double pdt_scal(const Domaine_VEF&, int, int, int, int, double);
63 double surfacesVEF(const Domaine_VEF&, int, int);
64 void init_tab_echange();
65
67 DoubleTab autre_h;
68 bool Reprise_temperature = false;
69
70 double T_CL0 = -100., T_CL1 = -100.; // CL sur le domaine. En seq. = Tinf et Tsup ; En parallele = Tvoisin
71 double Tinf = -100., Tsup = -100.; // Temperature entree, sortie
72 int dir = -1; // Direction du cylindre
79 double dt_impr = -100.;
80 double Cp = -100.;
81 double debit = -100.;
82 double xinf = -100., xsup = -100.;
83
84 DoubleVect vol; // volumes des tranches Sdz du volume suivant la direction de l'ecoulement
85 DoubleVect coord; // coordonnees des points de discretisation 1D
86
87 int N = -1; // nb de points du maillage 1D pour la vitesse et la temperature
88 DoubleVect U, T; // inconnues fluides vitesse et temperature
89 DoubleVect Qvol; // puissance volumique dans le fluide 1D
90 DoubleVect rho, mu, lambda, diam; // tableau des proprietes physiques du fluide a un instant donne
91 DoubleVect h_correlation; // le coeff d'echange par correlation
92 DoubleTab h_solide; // le coeff d'echange par correlation
93 DoubleVect flux_radiatif; // le flux radiatif entre patch
94
95private:
96 int avec_rayo = -1;
97 double emissivite = -100.;
98 IntTab patches_rayo;
99 IntVect nb_faces_patch;
100 IntVect correspondance_face_patch;
101 IntTab correspondance_fluide_patch;
102
103};
104
105#endif
class Domaine_VEF
Definition Domaine_VEF.h:54
int lire_motcle_non_standard(const Motcle &, Entree &) override
Lecture des parametres de type non simple d'un objet_U a partir d'un flot d'entree.
double pdt_scalSqrt(const Domaine_VEF &, int, int, int, int, double)
double pdt_scal(const Domaine_VEF &, int, int, int, int, double)
void set_param(Param &param) const override
double surfacesVEF(const Domaine_VEF &, int, int)
Class defining operators and methods for all reading operation in an input flow (file,...
Definition Entree.h:42
class Front_VF
Definition Front_VF.h:36
Une chaine de caractere (Nom) en majuscules.
Definition Motcle.h:26
Helper class to factorize the readOn method of Objet_U classes.
Definition Param.h:112
classe Parser_U Version de la classe Parser, derivant de Objet_U.
Definition Parser_U.h:32
classe Temperature_imposee_paroi Impose la temperature de la paroi dans une equation de type Convecti...