8.0
general documentation
Loading...
Searching...
No Matches
cs_navsto_coupling.h
Go to the documentation of this file.
1#ifndef __CS_NAVSTO_COUPLING_H__
2#define __CS_NAVSTO_COUPLING_H__
3
4/*============================================================================
5 * Functions to handle structures used as a context when solving the
6 * Navier-Stokes equations. Structures are cast on-the-fly according to the
7 * type of coupling.
8 *============================================================================*/
9
10/*
11 This file is part of code_saturne, a general-purpose CFD tool.
12
13 Copyright (C) 1998-2023 EDF S.A.
14
15 This program is free software; you can redistribute it and/or modify it under
16 the terms of the GNU General Public License as published by the Free Software
17 Foundation; either version 2 of the License, or (at your option) any later
18 version.
19
20 This program is distributed in the hope that it will be useful, but WITHOUT
21 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
23 details.
24
25 You should have received a copy of the GNU General Public License along with
26 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
27 Street, Fifth Floor, Boston, MA 02110-1301, USA.
28*/
29
30/*----------------------------------------------------------------------------
31 * Local headers
32 *----------------------------------------------------------------------------*/
33
34#include "cs_equation.h"
35#include "cs_field.h"
36#include "cs_navsto_param.h"
37
38/*----------------------------------------------------------------------------*/
39
41
42/*============================================================================
43 * Macro definitions
44 *============================================================================*/
45
46/*============================================================================
47 * Type definitions
48 *============================================================================*/
49
50/* Predefined context structures depending on the settings */
51/* ======================================================= */
52
59
71
76
77typedef struct {
78
80
82
89
114
115/*============================================================================
116 * Public function prototypes
117 *============================================================================*/
118
119/*----------------------------------------------------------------------------*/
129/*----------------------------------------------------------------------------*/
130
133 void *context);
134
135/*----------------------------------------------------------------------------*/
145/*----------------------------------------------------------------------------*/
146
147void *
149 cs_navsto_param_t *nsp);
150
151/*----------------------------------------------------------------------------*/
160/*----------------------------------------------------------------------------*/
161
162void *
163cs_navsto_ac_free_context(void *context);
164
165/*----------------------------------------------------------------------------*/
175/*----------------------------------------------------------------------------*/
176
177void
179 cs_adv_field_t *adv_field,
180 void *context);
181
182/*----------------------------------------------------------------------------*/
190/*----------------------------------------------------------------------------*/
191
192void
194 void *context);
195
196/*----------------------------------------------------------------------------*/
205/*----------------------------------------------------------------------------*/
206
208cs_navsto_ac_get_momentum_eq(void *context);
209
210/*----------------------------------------------------------------------------*/
220/*----------------------------------------------------------------------------*/
221
222void *
224 cs_navsto_param_t *nsp);
225
226/*----------------------------------------------------------------------------*/
234/*----------------------------------------------------------------------------*/
235
236void *
238
239/*----------------------------------------------------------------------------*/
249/*----------------------------------------------------------------------------*/
250
251void
253 cs_adv_field_t *adv_field,
254 void *context);
255
256/*----------------------------------------------------------------------------*/
264/*----------------------------------------------------------------------------*/
265
266void
268 void *context);
269/*----------------------------------------------------------------------------*/
278/*----------------------------------------------------------------------------*/
279
282
283/*----------------------------------------------------------------------------*/
294/*----------------------------------------------------------------------------*/
295
296void *
298 cs_navsto_param_t *nsp);
299
300/*----------------------------------------------------------------------------*/
308/*----------------------------------------------------------------------------*/
309
310void *
312
313/*----------------------------------------------------------------------------*/
325/*----------------------------------------------------------------------------*/
326
327void
329 cs_adv_field_t *adv_field,
330 int loc_id,
331 bool has_previous,
332 void *context);
333
334/*----------------------------------------------------------------------------*/
344/*----------------------------------------------------------------------------*/
345
346void
348 const cs_navsto_param_t *nsp,
349 void *context);
350
351/*----------------------------------------------------------------------------*/
360/*----------------------------------------------------------------------------*/
361
364
365/*----------------------------------------------------------------------------*/
366
368
369#endif /* __CS_NAVSTO_COUPLING_H__ */
#define BEGIN_C_DECLS
Definition cs_defs.h:509
double cs_real_t
Floating-point value.
Definition cs_defs.h:319
#define END_C_DECLS
Definition cs_defs.h:510
void cs_navsto_ac_init_setup(const cs_navsto_param_t *nsp, cs_adv_field_t *adv_field, void *context)
Start setting-up the Navier-Stokes equations when an Artificial Compressibility algorithm is used to ...
Definition cs_navsto_coupling.c:236
cs_equation_t * cs_navsto_ac_get_momentum_eq(void *context)
Retrieve the pointer to the cs_equation_t structure related to the momentum equation in case of artif...
Definition cs_navsto_coupling.c:320
void * cs_navsto_projection_create_context(cs_param_bc_type_t bc, cs_navsto_param_t *nsp)
Allocate and initialize a context structure when the Navier-Stokes system is coupled using an increme...
Definition cs_navsto_coupling.c:523
void * cs_navsto_projection_free_context(void *context)
Free the context structure related to a Projection approach.
Definition cs_navsto_coupling.c:595
void cs_navsto_projection_last_setup(const cs_cdo_quantities_t *quant, const cs_navsto_param_t *nsp, void *context)
Finalize the setup for the Navier-Stokes equations when a projection algorithm is used to coupled the...
Definition cs_navsto_coupling.c:693
void * cs_navsto_ac_create_context(cs_param_bc_type_t bc, cs_navsto_param_t *nsp)
Allocate and initialize a context structure when the Navier-Stokes system is coupled using an Artific...
Definition cs_navsto_coupling.c:169
cs_equation_t * cs_navsto_monolithic_get_momentum_eq(void *context)
Retrieve the pointer to the cs_equation_t structure related to the momentum equation in case of a mon...
Definition cs_navsto_coupling.c:499
cs_equation_t * cs_navsto_projection_get_momentum_eq(void *context)
Retrieve the pointer to the cs_equation_t structure related to the momentum equation in case of a pro...
Definition cs_navsto_coupling.c:752
void cs_navsto_monolithic_init_setup(const cs_navsto_param_t *nsp, cs_adv_field_t *adv_field, void *context)
Start setting-up the Navier-Stokes equations when a monolithic algorithm is used to coupled the syste...
Definition cs_navsto_coupling.c:417
void cs_navsto_projection_init_setup(const cs_navsto_param_t *nsp, cs_adv_field_t *adv_field, int loc_id, bool has_previous, void *context)
Start setting-up the Navier-Stokes equations when a projection algorithm is used to coupled the syste...
Definition cs_navsto_coupling.c:622
void cs_navsto_ac_last_setup(const cs_navsto_param_t *nsp, void *context)
Finalize the setup for the Navier-Stokes equations when an Artificial Compressibility algorithm is us...
Definition cs_navsto_coupling.c:283
void * cs_navsto_ac_free_context(void *context)
Free the context structure related to an Artificial Compressibility approach.
Definition cs_navsto_coupling.c:214
void * cs_navsto_monolithic_create_context(cs_param_bc_type_t bc, cs_navsto_param_t *nsp)
Allocate and initialize a context structure when the Navier-Stokes system is coupled using a monolith...
Definition cs_navsto_coupling.c:343
void * cs_navsto_monolithic_free_context(void *context)
Free the context structure related to a monolithic approach.
Definition cs_navsto_coupling.c:395
void cs_navsto_monolithic_last_setup(const cs_navsto_param_t *nsp, void *context)
Finalize the setup for the Navier-Stokes equations when a monolithic algorithm is used to coupled the...
Definition cs_navsto_coupling.c:467
cs_equation_param_t * cs_navsto_coupling_get_momentum_eqp(const cs_navsto_param_t *nsp, void *context)
Retrieve the cs_equation_param_t structure related to the momentum equation according to the type of ...
Definition cs_navsto_coupling.c:115
cs_param_bc_type_t
Definition cs_param_types.h:475
Definition cs_advection_field.h:150
Definition cs_cdo_quantities.h:137
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
Definition cs_equation_param.h:192
Main structure to handle the discretization and the resolution of an equation.
Field descriptor.
Definition cs_field.h:130
Set of parameters specific for solving the Navier-Stokes system with the "artificial compressibility"...
Definition cs_navsto_coupling.h:60
cs_equation_t * momentum
Definition cs_navsto_coupling.h:62
cs_property_t * zeta
Definition cs_navsto_coupling.h:68
Set of parameters specific for solving the Navier-Stokes system with a fully coupled monolithic algor...
Definition cs_navsto_coupling.h:77
cs_equation_t * momentum
Definition cs_navsto_coupling.h:79
Structure storing the parameters related to the resolution of the Navier-Stokes system.
Definition cs_navsto_param.h:611
Set of parameters specific for solving the Navier-Stokes system with an incremental projection algori...
Definition cs_navsto_coupling.h:90
cs_equation_t * correction
Definition cs_navsto_coupling.h:94
cs_field_t * predicted_velocity
Definition cs_navsto_coupling.h:111
cs_real_t * div_st
Definition cs_navsto_coupling.h:100
cs_equation_t * prediction
Definition cs_navsto_coupling.h:92
cs_real_t * bdy_pressure_incr
Definition cs_navsto_coupling.h:105
Structure associated to the definition of a property relying on the cs_xdef_t structure.