TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
PDF_model.h
1/****************************************************************************
2* Copyright (c) 2025, 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 PDF_model_included
17#define PDF_model_included
18#include <Ecrire_MED.h>
19
20#include <TRUSTTabs_forward.h>
21
22#include <Parser_U.h>
23#include <Domaine_VF.h>
24#include <Probleme_base.h>
25#include <Motcle.h>
26
28
29/*! @brief : class PDF_model
30 *
31 * <Description of class PDF_model>
32 */
33class PDF_model : public Objet_U
34{
35 Declare_instanciable(PDF_model) ;
36public :
37 double get_variable_imposee(ArrOfDouble&,int);
38 void affecter_variable_imposee(Domaine_VF&, const DoubleTab&);
39 void affecter_vitesse_shape_IBM(Domaine_VF&, const DoubleTab&, double);
40 double eta() const { return eta_; }
41 int pdf_bilan() const { return pdf_bilan_; }
42 bool get_PDF_mobile() const { return PDF_mobile_; }
44 inline void set_PDF_mobile(bool the_flag) { PDF_mobile_ = the_flag; }
46 inline const DoubleTab& get_vitesse_shape_IBM() const { return vitesse_shape_IBM_->valeurs(); }
47 inline void set_vitesse_shape_IBM(DoubleTab& it) { vitesse_shape_IBM_->valeurs() = it; }
48 inline int is_vitesse_PDF_donnee( ) const { return vitesse_PDF_donnee_; }
49 double raid() const { return raid_; }
50
51protected :
52 int lire_motcle_non_standard(const Motcle&, Entree&) override;
53 OWN_PTR(Champ_Don_base) variable_imposee_lu_;
54 OWN_PTR(Champ_Don_base) variable_imposee_;
56 double eta_ = -100.;
57 double coefku_= -100.;
58 double temps_relax_=1.0e+12;
59 double echelle_relax_=5.0e-2;
62 bool local_ = false;
63 int pdf_bilan_ = 0; // 0: terme pdf; 1: termes pdf + temps; 2: termes pdf + temps + conv
64 bool PDF_mobile_ = false;
67 OWN_PTR(Champ_Don_base) vitesse_shape_IBM_;
68 double raid_ = 0.;
69
70 friend class Source_PDF_base;
71 friend class Source_PDF_EF;
72 friend class Source_PDF_VEF;
73 friend class Source_PDF_VDF;
74
75private:
76 VECT(Parser_U) parsers_;
77 VECT(Parser_U) parsers_vitesse_shape_;
78
79 Ecrire_MED ecr_med_vitesse_shape_IBM_;
80};
81
82#endif /* PDF_model */
classe Champ_Don_base classe de base des Champs donnes (non calcules)
class Domaine_VF
Definition Domaine_VF.h:44
Class defining operators and methods for all reading operation in an input flow (file,...
Definition Entree.h:42
Une chaine de caractere (Nom) en majuscules.
Definition Motcle.h:26
Objet_U()
Constructeur par defaut : attribue un numero d'identifiant unique a l'objet (object_id_),...
Definition Objet_U.cpp:55
: class PDF_model
Definition PDF_model.h:34
int pdf_bilan_
Definition PDF_model.h:63
int pdf_bilan() const
Definition PDF_model.h:41
int vitesse_PDF_donnee_
Definition PDF_model.h:66
bool PDF_mobile_
Definition PDF_model.h:64
double eta() const
Definition PDF_model.h:40
int dim_variable_
Definition PDF_model.h:55
bool get_use_pseudo_level_set_moving_PDF() const
Definition PDF_model.h:43
double echelle_relax_
Definition PDF_model.h:59
friend class Source_PDF_EF
Definition PDF_model.h:71
OWN_PTR(Champ_Don_base) vitesse_shape_IBM_
friend class Source_PDF_VDF
Definition PDF_model.h:73
void set_PDF_mobile(bool the_flag)
Definition PDF_model.h:44
double get_variable_imposee(ArrOfDouble &, int)
void affecter_vitesse_shape_IBM(Domaine_VF &, const DoubleTab &, double)
double eta_
Definition PDF_model.h:56
const DoubleTab & get_vitesse_shape_IBM() const
Definition PDF_model.h:46
bool local_
Definition PDF_model.h:62
friend class Source_PDF_base
Definition PDF_model.h:70
bool get_PDF_mobile() const
Definition PDF_model.h:42
bool use_pseudo_level_set_moving_PDF_
Definition PDF_model.h:65
void discretiser_vitesse_shape_IBM(const Probleme_base &)
friend class Source_PDF_VEF
Definition PDF_model.h:72
OWN_PTR(Champ_Don_base) variable_imposee_lu_
int type_variable_imposee_
Definition PDF_model.h:61
double raid() const
Definition PDF_model.h:49
double coefku_
Definition PDF_model.h:57
void set_vitesse_shape_IBM(DoubleTab &it)
Definition PDF_model.h:47
void affecter_variable_imposee(Domaine_VF &, const DoubleTab &)
OWN_PTR(Champ_Don_base) variable_imposee_
double raid_
Definition PDF_model.h:68
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.
Definition PDF_model.cpp:73
int is_vitesse_PDF_donnee() const
Definition PDF_model.h:48
double temps_relax_
Definition PDF_model.h:58
double regul_coeff_PDF_
Definition PDF_model.h:60
classe Parser_U Version de la classe Parser, derivant de Objet_U.
Definition Parser_U.h:32
classe Probleme_base C'est un Probleme_U qui n'est pas un couplage.
class Schema_Temps_base