TrioCFD 1.9.8
TrioCFD documentation
Loading...
Searching...
No Matches
Navier_Stokes_FT_Disc_interne.h
1/****************************************************************************
2* Copyright (c) 2024, 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 Navier_Stokes_FT_Disc_interne_included
17#define Navier_Stokes_FT_Disc_interne_included
18
19
21{
22public:
24 terme_gravite_(GRAVITE_GRAD_I), // Par defaut terme gravite ft sans courants parasites
25 type_interpol_indic_pour_dI_dt_(INTERP_STANDARD), // Default is the historical interpolation
26 OutletCorrection_pour_dI_dt_(NO_CORRECTION), // Default is the historical
27 is_penalized(0), // Par defaut, pas de penalisation L2 du forcage
28 eta(1.0), // Par defaut, coefficient de penalisation L2 = 1.
29 p_ref_pena(-1.e40), // Par defaut, pas de penalisation L2 de la pression sinon valeur reference
30 is_pfl_flottant(0), // Traitement local Dirichlet pression si les CL pression sont toutes en Neumann homogene
31 x_pfl_imp(-1.e40), // Par defaut, x, y, z du point de modification de la pression fluide
32 y_pfl_imp(-1.e40), z_pfl_imp(-1.e40)
33 { }
34
35 // Par defaut, pas de prise en compte de la courbure pour corriger le champ etendu delta_vitesse
37
38 // Par defaut, mpoint cree un saut de vitesse
39 bool mpoint_inactif = false;
40 // Par defaut, mpointv cree un saut de vitesse
41 bool mpointv_inactif = false;
42
43 OWN_PTR(Champ_Fonc_base) second_membre_projection;
44 OWN_PTR(Champ_Fonc_base) second_membre_projection_jump_;
45 OWN_PTR(Champ_Fonc_base) derivee_u_etoile;
46 OWN_PTR(Champ_Fonc_base) gradient_pression;
47 OWN_PTR(Champ_Fonc_base) terme_diffusion;
48 OWN_PTR(Champ_Fonc_base) terme_convection;
49 OWN_PTR(Champ_Fonc_base) terme_source;
50 OWN_PTR(Champ_Fonc_base) terme_source_interfaces;
51 OWN_PTR(Champ_Fonc_base) indicatrice_p1b;
52 OWN_PTR(Champ_Fonc_base) gradient_indicatrice;
53 OWN_PTR(Champ_Fonc_base) potentiel_faces;
54 OWN_PTR(Champ_Fonc_base) potentiel_elements;
55 // delta_u_interface = la partie "saut de vitesse" du champ de vitesse a l'interface
56 OWN_PTR(Champ_Inc_base) delta_u_interface;
60 // Variation temporelle indicatrice de phase
61 OWN_PTR(Champ_Fonc_base) derivee_temporelle_indicatrice;
62 OWN_PTR(Champ_Fonc_base) ai; // Eulerian interfacial area.
63 OWN_PTR(Champ_Inc_base) vitesse_jump0_; // Extended Velocity of phase 0.
64 OWN_PTR(Champ_Inc_base) vitesse_jump1_; // Extended Velocity of phase 1.
65
66 OWN_PTR(Champ_Fonc_base) contact_force_source_term; // for fpi module, solid-solid collision source term
67
68 LIST(OBS_PTR(Champ_base)) liste_champs_compris;
69
70 // Si matrice_pression_invariante != 0,
71 // on ne recalcule pas la matrice de pression a chaque pas de temps.
72 // Par defaut, recalculer la matrice pression
74
75 // Si on veut ajouter une interface a vitesse imposee :
76 // reference a l'equation de transport correspondante :
77 VECT(OBS_PTR(Transport_Interfaces_FT_Disc)) ref_eq_interf_vitesse_imposee;
78
79 // Si le fluide est diphasique, c'est l'indicatrice de l'equation suivante
80 // qui est utilisee pour determiner les proprietes du fluide:
81 // (masse volumique, viscosite, tension superficielle, ...)
82 OBS_PTR(Transport_Interfaces_FT_Disc) ref_eq_interf_proprietes_fluide;
83
84 // Si le fluide est diphasique, la reference au fluide:
85 OBS_PTR(Fluide_Diphasique) ref_fluide_diphasique;
86
89
90 // Valeur maximale de courbure autorisee pour calculer le
91 // terme source de tension de surface (clipping si valeur superieur)
92 // Par defaut, pas de clipping
94
101
102 // Si is_explicite != 0,
103 // on calcul vpoint de facon explicite dans l etape de prediction des vitesses.
104 // Par defaut, calcul explicite de vpoint etape predicition
105 bool is_explicite = true;
106
107 // Si is_boussinesq_ != 0, on calcul une force par le modele de boussinesq
108 // Par defaut, l'hypothese de Boussinesq n'est pas utilisee pour la flottabilite dans les phases.
109 bool is_boussinesq_ = false;
110
111 // Flag pour la method du saut de vitesse :
112 // Par defaut, on utilise la methode historique pour imposer le saut de vitesse du changement de phase.
113 bool new_mass_source_ = false;
114
115 // Flag if to shift second member 2 due to phase change:
116 // Par defaut, secmem2 is located at interface cells
117 bool shift_secmem2_ = false;
118
124
130
131 // Si is_penalized != 0,
132 // on penalise L2 le terme de forcage.
134
135 // Valeur de l'inverse du coefficient de penalisation L2 du terme de forcage.
136 double eta;
137
138 // Valeur pour la penalisation L2 de la pression.
140
141 // Point de penalisation L2 de la pression du fluide
142 int is_pfl_flottant; // Traitement local Dirichlet pression si les CL pression sont toutes en Neumann homogene
143 double x_pfl_imp;
144 double y_pfl_imp;
145 double z_pfl_imp;
146
147};
148
149#endif /* Navier_Stokes_FT_Disc_interne_included */
classe Champ_Fonc_base Classe de base des champs qui sont fonction d'une grandeur calculee
Classe Champ_Inc_base.
classe Champ_base Cette classe est la base de la hierarchie des champs.
Definition Champ_base.h:43
OWN_PTR(Champ_Fonc_base) potentiel_faces
OWN_PTR(Champ_Fonc_base) derivee_u_etoile
OWN_PTR(Champ_Inc_base) delta_u_interface
OBS_PTR(Convection_Diffusion_Temperature_FT_Disc) ref_equation_mpoint_vap_
OWN_PTR(Champ_Fonc_base) mpoint
OWN_PTR(Champ_Fonc_base) terme_convection
OBS_PTR(Convection_Diffusion_Temperature_FT_Disc) ref_equation_mpoint_
OWN_PTR(Champ_Fonc_base) mpoint_vap
OWN_PTR(Champ_Fonc_base) terme_source
OWN_PTR(Champ_Fonc_base) second_membre_projection
VECT(OBS_PTR(Transport_Interfaces_FT_Disc)) ref_eq_interf_vitesse_imposee
OWN_PTR(Champ_Fonc_base) laplacien_d
LIST(OBS_PTR(Champ_base)) liste_champs_compris
OWN_PTR(Champ_Fonc_base) terme_source_interfaces
OWN_PTR(Champ_Fonc_base) derivee_temporelle_indicatrice
OWN_PTR(Champ_Fonc_base) indicatrice_p1b
OBS_PTR(Fluide_Diphasique) ref_fluide_diphasique
OWN_PTR(Champ_Inc_base) vitesse_jump1_
OWN_PTR(Champ_Fonc_base) contact_force_source_term
OBS_PTR(Transport_Interfaces_FT_Disc) ref_eq_interf_proprietes_fluide
OWN_PTR(Champ_Fonc_base) ai
OWN_PTR(Champ_Inc_base) vitesse_jump0_
OWN_PTR(Champ_Fonc_base) second_membre_projection_jump_
Type_interpol_indic_pour_dI_dt type_interpol_indic_pour_dI_dt_
OutletCorrection_pour_dI_dt OutletCorrection_pour_dI_dt_
OWN_PTR(Champ_Fonc_base) potentiel_elements
OWN_PTR(Champ_Fonc_base) gradient_indicatrice
OWN_PTR(Champ_Fonc_base) gradient_pression
OWN_PTR(Champ_Fonc_base) terme_diffusion
Un tableau de chaine de caracteres (VECT(Nom)).
Definition Noms.h:26