8.1
general documentation
cs_vof.h
Go to the documentation of this file.
1 #ifndef __CS_VOF_H__
2 #define __CS_VOF_H__
3 
4 /*============================================================================
5  * Functions associated to VOF model
6  *============================================================================*/
7 
8 /*
9  This file is part of code_saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2023 EDF S.A.
12 
13  This program is free software; you can redistribute it and/or modify it under
14  the terms of the GNU General Public License as published by the Free Software
15  Foundation; either version 2 of the License, or (at your option) any later
16  version.
17 
18  This program is distributed in the hope that it will be useful, but WITHOUT
19  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
20  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
21  details.
22 
23  You should have received a copy of the GNU General Public License along with
24  this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
25  Street, Fifth Floor, Boston, MA 02110-1301, USA.
26 */
27 
28 /*----------------------------------------------------------------------------*/
29 
30 /*----------------------------------------------------------------------------
31  * Standard C library headers
32  *----------------------------------------------------------------------------*/
33 
34 /*----------------------------------------------------------------------------
35  * Local headers
36  *----------------------------------------------------------------------------*/
37 
38 #include "cs_base.h"
39 #include "cs_mesh.h"
40 #include "cs_mesh_quantities.h"
41 
42 /*----------------------------------------------------------------------------*/
43 
45 
46 /*=============================================================================
47  * Macro definitions
48  *============================================================================*/
49 
59 #define CS_VOF_ENABLED (1 << 0)
60 
62 #define CS_VOF_FREE_SURFACE (1 << 1)
63 
65 #define CS_VOF_MERKLE_MASS_TRANSFER (1 << 2)
66 
72 /*============================================================================
73  * Type definitions
74  *============================================================================*/
75 
76 /* VOF model parameters */
77 /*----------------------*/
78 
79 typedef struct {
80 
81  unsigned vof_model; /* VoF model (sum of masks defining Volume of
82  Fluid model and submodels */
83 
84  double rho1; /* density */
85 
86  double rho2;
87 
88  double mu1; /* viscosity */
89 
90  double mu2;
91 
92  double sigma_s; /* surface tension */
93 
94  int idrift; /* drift velocity model */
95 
96  double cdrift; /* C_gamma constante (drift flux factor)*/
97 
98  double kdrift;
99 
101 
102 /* Cavitation parameters */
103 /*-----------------------*/
104 
105 typedef struct {
106 
107  cs_real_t presat; /* reference saturation pressure */
108  cs_real_t uinf; /* reference velocity */
109  cs_real_t linf; /* reference length scale */
110  cs_real_t cdest; /* constant of condensation model (Merkle) */
111  cs_real_t cprod; /* constant of vaporization model (Merkle) */
112  int icvevm; /* eddy-viscosity correction indicator */
113  cs_real_t mcav; /* eddy-viscosity correction cstt (Reboud) */
114  int itscvi; /* eddy-viscosity correction indicator */
115 
117 
118 /*=============================================================================
119  * Global variables
120  *============================================================================*/
121 
122 /* pointer to VOF model parameters structure */
123 
125 
126 /*============================================================================
127  * Public function prototypes
128  *============================================================================*/
129 
130 /*----------------------------------------------------------------------------
131  *!
132  * \brief Provide access to VOF structure.
133  */
134 /*----------------------------------------------------------------------------*/
135 
138 
139 /*----------------------------------------------------------------------------*/
158 /*----------------------------------------------------------------------------*/
159 
160 void
162 
163 /*----------------------------------------------------------------------------*/
195 /*----------------------------------------------------------------------------*/
196 
197 void
199 
200 /*----------------------------------------------------------------------------*/
209 /*----------------------------------------------------------------------------*/
210 
211 void
213  const cs_mesh_quantities_t *mq,
214  cs_real_3_t stf[]);
215 
216 /*----------------------------------------------------------------------------*/
229 /*----------------------------------------------------------------------------*/
230 
231 void
233  const cs_mesh_quantities_t *mq);
234 
235 /*----------------------------------------------------------------------------*/
273 /*----------------------------------------------------------------------------*/
274 
275 void
277  const cs_mesh_quantities_t *mq);
278 
279 /*----------------------------------------------------------------------------*/
311 /*----------------------------------------------------------------------------*/
312 
313 void
315  int nswrgp,
316  int imligp,
317  int iwarnp,
318  cs_real_t epsrgp,
319  cs_real_t climgp,
320  cs_real_t *restrict pvar,
321  const cs_real_t *restrict pvara,
322  cs_real_t *restrict rhs);
323 
324 /*----------------------------------------------------------------------------
325  *!
326  * \brief Provide access to cavitation parameters structure.
327  */
328 /*----------------------------------------------------------------------------*/
329 
332 
333 /*----------------------------------------------------------------------------*/
352 /*----------------------------------------------------------------------------*/
353 
354 void
356  int iterns);
357 
358 /*----------------------------------------------------------------------------*/
359 
361 
362 #endif /* __CS_VOF_H__ */
#define restrict
Definition: cs_defs.h:139
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:334
#define END_C_DECLS
Definition: cs_defs.h:515
@ dt
Definition: cs_field_pointer.h:65
cs_cavitation_parameters_t * cs_get_glob_cavitation_parameters(void)
Definition: cs_vof.c:1435
cs_vof_parameters_t * cs_get_glob_vof_parameters(void)
Definition: cs_vof.c:394
void cs_vof_deshpande_drift_flux(const cs_mesh_t *m, const cs_mesh_quantities_t *mq)
Compute the flux of the drift velocity , by using the flux of the standard velocity following the ap...
Definition: cs_vof.c:1142
void cs_vof_surface_tension(const cs_mesh_t *m, const cs_mesh_quantities_t *mq, cs_real_3_t stf[])
Compute the surface tension momentum source term following the CSF model of Brackbill et al....
Definition: cs_vof.c:925
void cs_vof_solve_void_fraction(cs_real_t dt[], int iterns)
Solve the void fraction for the Volume of Fluid method (and hence for cavitating flows).
void cs_vof_compute_linear_rho_mu(const cs_mesh_t *m)
Compute the mixture density, mixture dynamic viscosity given fluid volume fractions and the reference...
Definition: cs_vof.c:638
void cs_vof_drift_term(int imrgra, int nswrgp, int imligp, int iwarnp, cs_real_t epsrgp, cs_real_t climgp, cs_real_t *restrict pvar, const cs_real_t *restrict pvara, cs_real_t *restrict rhs)
Add the explicit part of the convection/diffusion terms of a standard transport equation of a scalar ...
Definition: cs_vof.c:1246
const cs_vof_parameters_t * cs_glob_vof_parameters
void cs_vof_log_mass_budget(const cs_mesh_t *m, const cs_mesh_quantities_t *mq)
Write in main log the global mixture mass budget:
Definition: cs_vof.c:775
void cs_vof_update_phys_prop(const cs_mesh_t *m)
Compute the mixture density, mixture dynamic viscosity and mixture mass flux given the volumetric flu...
Definition: cs_vof.c:717
int itscvi
Definition: cs_vof.h:114
cs_real_t cprod
Definition: cs_vof.h:111
cs_real_t presat
Definition: cs_vof.h:107
cs_real_t uinf
Definition: cs_vof.h:108
cs_real_t cdest
Definition: cs_vof.h:110
cs_real_t linf
Definition: cs_vof.h:109
cs_real_t mcav
Definition: cs_vof.h:113
int icvevm
Definition: cs_vof.h:112
integer(c_int), pointer, save imrgra
type of gradient reconstruction
Definition: optcal.f90:137
double cdrift
Definition: cs_vof.h:96
double rho2
Definition: cs_vof.h:86
unsigned vof_model
Definition: cs_vof.h:81
double mu2
Definition: cs_vof.h:90
double mu1
Definition: cs_vof.h:88
int idrift
Definition: cs_vof.h:94
double sigma_s
Definition: cs_vof.h:92
double kdrift
Definition: cs_vof.h:98
double rho1
Definition: cs_vof.h:84
Cavitation model parameters.
Definition: cs_vof.h:105
Definition: cs_mesh_quantities.h:92
Definition: cs_mesh.h:85
VOF model parameters. Void fraction variable tracks fluid 2.
Definition: cs_vof.h:79