9.1
general documentation
cs_les_inflow.h
Go to the documentation of this file.
1
2#ifndef __CS_LES_INFLOW_H__
3#define __CS_LES_INFLOW_H__
4
5/*============================================================================
6 * Turbulent inflow generation
7 *============================================================================*/
8
9/*
10 This file is part of code_saturne, a general-purpose CFD tool.
11
12 Copyright (C) 1998-2025 EDF S.A.
13
14 This program is free software; you can redistribute it and/or modify it under
15 the terms of the GNU General Public License as published by the Free Software
16 Foundation; either version 2 of the License, or (at your option) any later
17 version.
18
19 This program is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
21 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
22 details.
23
24 You should have received a copy of the GNU General Public License along with
25 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
26 Street, Fifth Floor, Boston, MA 02110-1301, USA.
27*/
28
29/*----------------------------------------------------------------------------*/
30
31#include "base/cs_defs.h"
32
33/*----------------------------------------------------------------------------
34 * Local headers
35 *----------------------------------------------------------------------------*/
36
37#include "base/cs_base.h"
38#include "base/cs_zone.h"
39
40/*----------------------------------------------------------------------------*/
41
43
44/*============================================================================
45 * Macro definitions
46 *============================================================================*/
47
48/*============================================================================
49 * Type definitions
50 *============================================================================*/
51
52/*----------------------------------------------------------------------------
53 * Type of synthetic turbulence generation
54 *----------------------------------------------------------------------------*/
55
56typedef enum {
57
65
66/*=============================================================================
67 * Local Structure Definitions
68 *============================================================================*/
69
70/* Inlet definition */
71/*------------------*/
72
73typedef struct _cs_inlet_t cs_inlet_t;
74
75typedef struct {
76
82
83/*=============================================================================
84 * Public function prototypes
85 *============================================================================*/
86
87/*----------------------------------------------------------------------------*/
91/*----------------------------------------------------------------------------*/
92
93void
95
96/*----------------------------------------------------------------------------*/
100/*----------------------------------------------------------------------------*/
101
102void
104
105/*----------------------------------------------------------------------------*/
125/*----------------------------------------------------------------------------*/
126
127void
129 bool volume_mode,
130 const cs_zone_t *zone,
131 int n_entities,
132 int verbosity,
133 const cs_real_t *vel_r,
134 cs_real_t k_r,
135 cs_real_t eps_r);
136
137/*----------------------------------------------------------------------------*/
141/*----------------------------------------------------------------------------*/
142
143void
145
146/*----------------------------------------------------------------------------*/
150/*----------------------------------------------------------------------------*/
151
152void
154
155/*----------------------------------------------------------------------------
156 * Read the restart file of les inflow module.
157 *----------------------------------------------------------------------------*/
158
159void
161
162/*----------------------------------------------------------------------------
163 * Write the restart file of les inflow module.
164 *----------------------------------------------------------------------------*/
165
166void
168
169/*----------------------------------------------------------------------------*/
188/*----------------------------------------------------------------------------*/
189
190void
192 const cs_lnum_t elt_ids[],
193 const cs_real_3_t point_coordinates[],
194 const cs_real_t *point_weight,
195 int initialize,
196 int volume_mode,
197 int verbosity,
198 cs_inflow_sem_t *inflow,
199 cs_real_t t_cur,
200 const cs_real_3_t vel_m_l[],
201 const cs_real_6_t rij_l[],
202 const cs_real_t eps_l[],
203 cs_real_3_t fluctuations[]);
204
205/*----------------------------------------------------------------------------*/
218void
220 const cs_real_6_t statistics[],
221 cs_real_3_t fluctuations[]);
222
223/*----------------------------------------------------------------------------*/
233/*----------------------------------------------------------------------------*/
234
235void
237
238/*----------------------------------------------------------------------------*/
245/*----------------------------------------------------------------------------*/
246
247int
249
250/*----------------------------------------------------------------------------*/
259/*----------------------------------------------------------------------------*/
260
261void
262cs_les_inflow_get_restart(bool *allow_read,
263 bool *allow_write);
264
265/*----------------------------------------------------------------------------*/
275/*----------------------------------------------------------------------------*/
276
277void
278cs_les_inflow_set_restart(bool allow_read,
279 bool allow_write);
280
281/*----------------------------------------------------------------------------*/
289/*----------------------------------------------------------------------------*/
290
291/*----------------------------------------------------------------------------*/
295/*----------------------------------------------------------------------------*/
296
297void
299
300/*----------------------------------------------------------------------------*/
309/*----------------------------------------------------------------------------*/
310
311void
313 cs_real_t vel_r[3],
314 cs_real_t *k_r,
315 cs_real_t *eps_r);
316
317/*----------------------------------------------------------------------------*/
346/*----------------------------------------------------------------------------*/
347
348void
350 cs_real_3_t vel_l[],
351 cs_real_6_t rij_l[],
352 cs_real_t eps_l[]);
353
354/*----------------------------------------------------------------------------*/
355
357
358#endif /* __CS_LES_INFLOW_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:554
double cs_real_t
Floating-point value.
Definition: cs_defs.h:357
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:374
cs_real_t cs_real_6_t[6]
vector of 6 floating-point values
Definition: cs_defs.h:376
#define END_C_DECLS
Definition: cs_defs.h:555
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:350
cs_les_inflow_type_t
Definition: cs_les_inflow.h:56
@ CS_INFLOW_BATTEN
Definition: cs_les_inflow.h:60
@ CS_INFLOW_LAMINAR
Definition: cs_les_inflow.h:58
@ CS_INFLOW_SEM
Definition: cs_les_inflow.h:61
@ CS_INFLOW_RANDOM
Definition: cs_les_inflow.h:59
void cs_les_inflow_set_restart(bool allow_read, bool allow_write)
Define behavior of the LES inflow module in case of restart.
Definition: cs_les_inflow.cpp:2270
void cs_les_volume_initialize(void)
General synthetic turbulence volume generation.
Definition: cs_les_inflow.cpp:784
void cs_les_synthetic_eddy_restart_read(void)
Definition: cs_les_inflow.cpp:1147
void cs_user_les_inflow_update(const cs_zone_t *zone, cs_real_t vel_r[3], cs_real_t *k_r, cs_real_t *eps_r)
Update of the characteristics of a given synthetic turbulence inlet.
Definition: cs_user_les_inflow.cpp:87
void cs_les_synthetic_eddy_restart_write(void)
Definition: cs_les_inflow.cpp:1496
void cs_les_inflow_add_inlet(cs_les_inflow_type_t type, bool volume_mode, const cs_zone_t *zone, int n_entities, int verbosity, const cs_real_t *vel_r, cs_real_t k_r, cs_real_t eps_r)
Add an inlet definition for synthetic turbulence inflow generation.
Definition: cs_les_inflow.cpp:645
int cs_les_synthetic_eddy_get_n_restart_structures(void)
Return number of structures used for volume SEM when restarting from another turbulence model.
Definition: cs_les_inflow.cpp:2229
struct _cs_inlet_t cs_inlet_t
Definition: cs_les_inflow.h:73
void cs_les_inflow_get_restart(bool *allow_read, bool *allow_write)
Query behavior of the LES inflow module in case of restart.
Definition: cs_les_inflow.cpp:2246
void cs_les_rescale_fluctuations(cs_lnum_t n_points, const cs_real_6_t statistics[], cs_real_3_t fluctuations[])
Rescale fluctuations by statistics following the Lund method.
Definition: cs_les_inflow.cpp:2157
void cs_les_inflow_initialize(void)
Creation of structures for the LES inflows.
Definition: cs_les_inflow.cpp:483
void cs_les_inflow_finalize(void)
Finalize turbulent inflow generation API.
Definition: cs_les_inflow.cpp:503
void cs_user_les_inflow_define(void)
Define parameters of synthetic turbulence at LES inflow.
Definition: cs_user_les_inflow.cpp:69
void cs_les_synthetic_eddy_method(cs_lnum_t n_elts, const cs_lnum_t elt_ids[], const cs_real_3_t point_coordinates[], const cs_real_t *point_weight, int initialize, int volume_mode, int verbosity, cs_inflow_sem_t *inflow, cs_real_t t_cur, const cs_real_3_t vel_m_l[], const cs_real_6_t rij_l[], const cs_real_t eps_l[], cs_real_3_t fluctuations[])
Generation of synthetic turbulence via the Synthetic Eddy Method (SEM).
Definition: cs_les_inflow.cpp:1710
void cs_les_synthetic_eddy_set_n_restart_structures(int n_structures)
Set number of structures used for volume SEM when restarting from another turbulence model.
Definition: cs_les_inflow.cpp:2214
void cs_user_les_inflow_advanced(const cs_zone_t *zone, cs_real_3_t vel_l[], cs_real_6_t rij_l[], cs_real_t eps_l[])
Definition of mean velocity, Reynolds stresses and dissipation rate for each boundary face of the giv...
Definition: cs_user_les_inflow.cpp:115
void cs_les_inflow_compute(void)
General synthetic turbulence generation.
Definition: cs_les_inflow.cpp:972
Definition: cs_les_inflow.h:75
int n_structures
Definition: cs_les_inflow.h:77
cs_real_3_t * energy
Definition: cs_les_inflow.h:79
cs_real_3_t * position
Definition: cs_les_inflow.h:78
Definition: cs_zone.h:55