TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Transport_K_Omega.h
1/****************************************************************************
2* Copyright (c) 2023, 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 Transport_K_Omega_included
17#define Transport_K_Omega_included
18
19#include <Transport_K_Omega_base.h>
20#include <Operateur_Grad.h>
21
22
23class Motcle;
24
25/*! @brief classe Transport_K_Omega Cette classe represente l'equation de transport de l'energie cinetique
26 *
27 * turbulente K et de dissipation specifique omega (omega) associee au modele
28 * de turbulence (k, omega).
29 * On traite en une seule equation le transport des deux
30 * grandeurs turbulentes. Il s'agit donc d'une equation vectorielle, dont
31 * le champ inconnue possede 2 composantes : K et omega.
32 *
33 * @sa Equation_base
34 */
36{
37 Declare_instanciable(Transport_K_Omega);
38
39public:
40 void set_param(Param& param) const override;
41 int lire_motcle_non_standard(const Motcle&, Entree&) override;
42 inline void associer_Champ_Inconnu(const Champ_Inc_base& );
43
45
46 void completer() override;
47
48 int nombre_d_operateurs() const override;
49 const Operateur& operateur(int) const override;
50 Operateur& operateur(int) override;
51
52 const Motcle& domaine_application() const override;
53
54 DoubleTab& corriger_derivee_impl(DoubleTab& d) override;
55 // Gradient operator for the cross diffusion term
56 inline const Operateur_Grad& gradient_operator_komega() const { return Op_Grad_komega; }
57
58protected :
61
62 OBS_PTR(Champ_Inc_base) inco_eqn_associee;
63 OWN_PTR(Champ_Don_base) Champ_don_nul_; // on y met 0 si on ne veut pas de nu
64
65};
66
67
68/*! @brief Associe un champ de vitesse (transportante) a l'equation.
69 *
70 * @param (Champ_Inc_base& vit) le champ de vitesse a associer a l'equation
71 */
73{
74 inco_eqn_associee = vit;
75}
76
77#endif
classe Champ_Don_base classe de base des Champs donnes (non calcules)
Classe Champ_Inc_base.
Class defining operators and methods for all reading operation in an input flow (file,...
Definition Entree.h:42
Classe Modele_turbulence_hyd_2_eq_base Classe de base des modeles de type RANS a deux equations.
Une chaine de caractere (Nom) en majuscules.
Definition Motcle.h:26
Classe Operateur_Grad Classe generique de la hierarchie des operateurs calculant le gradient.
classe Operateur Classe generique de la hierarchie des operateurs.
Definition Operateur.h:39
Helper class to factorize the readOn method of Objet_U classes.
Definition Param.h:112
Classe Transport_K_Omega_base Classe de base pour les equations.
classe Transport_K_Omega Cette classe represente l'equation de transport de l'energie cinetique
void associer_Champ_Inconnu(const Champ_Inc_base &)
Associe un champ de vitesse (transportante) a l'equation.
OWN_PTR(Champ_Don_base) Champ_don_nul_
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.
const Motcle & domaine_application() const override
Renvoie le nom du domaine d'application de l'equation.
int nombre_d_operateurs() const override
Renvoie le nombre d'operateurs de l'equation.
const Operateur_Grad & gradient_operator_komega() const
void associer_modele_turbulence(const Modele_turbulence_hyd_2_eq_base &) override
Associe un modele de turbulence K-Omega a l'equation.
Operateur_Grad Op_Grad_komega
DoubleTab & corriger_derivee_impl(DoubleTab &d) override
void set_param(Param &param) const override
const Operateur & operateur(int) const override
Renvoie l'operateur specifie par son index: renvoie terme_diffusif si i = 0.
OBS_PTR(Champ_Inc_base) inco_eqn_associee
void completer() override
Methode to associate the gradient operator.