TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Eq_ODVM.h
1/****************************************************************************
2* Copyright (c) 2019, 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 Eq_ODVM_included
17#define Eq_ODVM_included
18#include <TRUSTTab.h>
19#include <Motcle.h>
20#include <TRUST_Ref.h>
21
22class Milieu_base;
23
24/*! @brief Classe Eq_ODVM Classe resolvant l'equation de temperature moyenne, l'equation de
25 *
26 * fluctuation de temperature et l'equation de variance de temperature
27 * en 1-D
28 *
29 *
30 *
31 */
32class Eq_ODVM : public Objet_U
33{
34 Declare_instanciable(Eq_ODVM);
35
36public :
37
38 void initialiser(int N, double gamma, double dist, double T0,
39 double Tn, double t0, double rat, double f);
40
41 void mailler_fin(double, double) ;
42
43 void calculer_secmem_qb( );
44 void calculer_secmem_qf( );
45 void calculer_dt_stab();
46 void set_U_tau(double u, int j)
47 {
48 if(j) u_tau=u;
49 else u_tau=gamma*u+(1.-gamma)*u_tau;
50 };
51 /* void set_U_tau(double u, int j) { if(j) u_tau=u; else u_tau=u; }; */
52 /* void init_profile_CHT(double T0, double Flux, double alpha, double nu);*/
53 void init_profile_CHT(double Ts, double Tf);
54
55 void aller_au_temps(double tnp1, double Tw_np1, double Tnp1, double diff, double visco_cin, int type_pb);
56
57
58 double get_Tm(int i)
59 {
60 return Tm(i);
61 };
62 double get_Tp(int i)
63 {
64 return Tp(i);
65 };
66 double get_qb(int i)
67 {
68 return qb(i);
69 };
70 double get_qf(int i)
71 {
72 return qf(i);
73 };
74 double get_Y(int i)
75 {
76 return Y(i);
77 };
78 double get_dy_w()
79 {
80 return dy_w;
81 };
82 double get_Q(int i)
83 {
84 return Q(i);
85 };
86
87 void set_F(double f)
88 {
89 for(int i=0 ; i<N ; i++)
90 {
91 F(i) = f;
92 }
93 };
94
95private :
96
97 int N; // Number of grid-points in the 1-D mesh.
98 int compt;
99 double dy, y0, dt, u_tau, nu, alpha, Theta, dy_w;
100 double tn;
101 double gamma; // Temporal filter parameter.
102 double facteur; //stretching factor
103
104 double Tw_m_n, Tw_m_np1; // Values of the filtered wall temperature at times n and (n+1).
105 double Tmles_n, Tmles_np1; // Values of the filtered upper- LES field at times n and (n+1).
106 double Tples_n, Tples_np1; // Values of the upper- LES fluctuation field at times n and (n+1).
107 double Tples2m_n, Tples2m_np1; // Values of the filtered upper- LES variance field at times n and (n+1).
108
109 DoubleVect Y; // Y positions.
110 DoubleVect Tm; // Values of the mean temperature.
111 DoubleVect Tp; // Values of the temperature fluctuations.
112 DoubleVect qb; // Values of the fluctuations given by the variance eqn.
113 // at a given thermal activity ratio K.
114 DoubleVect qf; // Values of the fluctuations given by the variance eqn. for iso-flux BC.
115
116 DoubleVect alpha_tot; // alpha_total = molecular + eddy diffusivity.
117 DoubleVect SEC_MEM; // Right hand-side for time advancement.
118 DoubleVect Q; // Forcing factor for the temperature fluctuations equation.
119
120 DoubleVect eps; // Dissipation = filtered gradient of temperature fluctuations squared.
121 DoubleVect prod; // Production term in variance equation.
122 DoubleVect mol_diff; // Molecular diffusion term in variance equation.
123 DoubleVect tur_diff; // Turbulent diffusion term in variance equation.
124 DoubleVect F; // Terme source production de chaleur
125
126
127};
128
129
130#endif
131
132
133
Classe Eq_ODVM Classe resolvant l'equation de temperature moyenne, l'equation de.
Definition Eq_ODVM.h:33
void calculer_secmem_qf()
Definition Eq_ODVM.cpp:199
void calculer_dt_stab()
Definition Eq_ODVM.cpp:152
double get_qf(int i)
Definition Eq_ODVM.h:70
double get_Tp(int i)
Definition Eq_ODVM.h:62
void mailler_fin(double, double)
Definition Eq_ODVM.cpp:114
double get_dy_w()
Definition Eq_ODVM.h:78
void initialiser(int N, double gamma, double dist, double T0, double Tn, double t0, double rat, double f)
Definition Eq_ODVM.cpp:61
double get_Tm(int i)
Definition Eq_ODVM.h:58
void aller_au_temps(double tnp1, double Tw_np1, double Tnp1, double diff, double visco_cin, int type_pb)
Definition Eq_ODVM.cpp:231
double get_Y(int i)
Definition Eq_ODVM.h:74
double get_Q(int i)
Definition Eq_ODVM.h:82
double get_qb(int i)
Definition Eq_ODVM.h:66
void set_F(double f)
Definition Eq_ODVM.h:87
void init_profile_CHT(double Ts, double Tf)
Definition Eq_ODVM.cpp:55
void set_U_tau(double u, int j)
Definition Eq_ODVM.h:46
void calculer_secmem_qb()
Definition Eq_ODVM.cpp:163
classe Milieu_base Cette classe est la base de la hierarchie des milieux (physiques)
Definition Milieu_base.h:50
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
Definition Objet_U.cpp:55