TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Modele_turbulence_hyd_K_Eps_2_Couches.h
1/****************************************************************************
2* Copyright (c) 2015 - 2016, 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 Modele_turbulence_hyd_K_Eps_2_Couches_included
17#define Modele_turbulence_hyd_K_Eps_2_Couches_included
18
19#include <Transport_K_KEps.h>
20
21/*! @brief Classe Modele_turbulence_hyd_K_Eps_2_Couches Cette classe represente le modele de turbulence (k,eps) pour les
22 *
23 * equations de Navier-Stokes.
24 *
25 * @sa Modele_turbulence_hyd_base Modele_turbulence_hyd_LES_base
26 */
28{
29 Declare_instanciable(Modele_turbulence_hyd_K_Eps_2_Couches);
30public:
31
32 void completer() override;
33 int preparer_calcul() override;
34 bool initTimeStep(double dt) override;
35 void mettre_a_jour(double) override;
36 inline int get_nbcouches() const;
37 inline int get_yswitch() const;
38 inline int get_nutswitch() const;
39 inline int get_switch() const;
40 inline int get_impr() const;
41 void controler() override;
42 inline Transport_K_KEps& get_set_eq_transport() override;
43 inline const Transport_K_KEps& get_eq_transport() const override;
44
46
47private:
48 void fill_turbulent_viscosity_tab(const int , const DoubleTab&, DoubleTab& );
49};
50
52{
53 Transport_K_KEps& eq_transport = ref_cast(Transport_K_KEps,ptr_eq_transport_.valeur());
54 return eq_transport;
55}
56
58{
59 const Transport_K_KEps& eq_transport = ref_cast(Transport_K_KEps,ptr_eq_transport_.valeur());
60 return eq_transport;
61}
62
63/*! @brief Renvoie le nombre couches utilises pour les lois de paroi Ce nombre est porte par l'equation de transport K_K-eps.
64 *
65 * @return (int) le nombre de couches
66 */
71
72/*! @brief Renvoie le y* de switch entre les deux couches pour le modele a deux couches.
73 *
74 * (version const)
75 *
76 * @return (int) le nombre de couches
77 */
82
83/*! @brief Renvoie 0 si on choisit le switch par y*, 1 par nu_t.
84 *
85 * (version const)
86 *
87 * @return (int)
88 */
93
94/*! @brief Renvoie la valeur de nut/nu qui delimite les deux couches.
95 *
96 * (version const)
97 *
98 * @return (int) valeur limite de nu_t/nu
99 */
104
105/*! @brief indique si on doit ecrire le domaine des 2 couches dans le .
106 *
107 * out. (version const)
108 *
109 * @return (int) 1 si on imprime , 0 sinon.
110 */
115
116#endif /* Modele_turbulence_hyd_K_Eps_2_Couches_included */
classe Champ_Fonc_base Classe de base des champs qui sont fonction d'une grandeur calculee
Classe Modele_turbulence_hyd_K_Eps_2_Couches Cette classe represente le modele de turbulence (k,...
int get_nutswitch() const
Renvoie la valeur de nut/nu qui delimite les deux couches.
int get_impr() const
indique si on doit ecrire le domaine des 2 couches dans le .
Champ_Fonc_base & calculer_viscosite_turbulente(double temps)
Calcule la viscosite turbulente au temps demande.
const Transport_K_KEps & get_eq_transport() const override
int get_nbcouches() const
Renvoie le nombre couches utilises pour les lois de paroi Ce nombre est porte par l'equation de trans...
void completer() override
Simple appel a Transport_K_Eps::completer().
int get_switch() const
Renvoie 0 si on choisit le switch par y*, 1 par nu_t.
int get_yswitch() const
Renvoie le y* de switch entre les deux couches pour le modele a deux couches.
void mettre_a_jour(double) override
Effectue une mise a jour en temps du modele de turbulence.
Classe Modele_turbulence_hyd_RANS_K_Eps_base Classe de base des modeles de type RANS_keps.
classe Transport_K_KEps Cette classe represente l'equation de transport de l'energie cinetique
int get_nutswitch() const
Renvoie la valeur de nut/nu qui delimite les deux couches.
bool get_impr() const
indique si on doit ecrire le domaine des 2 couches dans le .
int get_yswitch() const
Renvoie le y* de switch entre les deux couches pour le modele a deux couches.
int get_switch() const
Renvoie 0 si on choisit le switch par y*, 0 par nu_t.
int get_nbcouches() const
Renvoie le nombre de couches utilisees pour le modele 1-equation.