8.3
general documentation
cs_gwf_priv.h
Go to the documentation of this file.
1#ifndef __CS_GWF_PRIV_H__
2#define __CS_GWF_PRIV_H__
3
4/*============================================================================
5 * Structures/types related to the groundwater flow module
6 *============================================================================*/
7
8/*
9 This file is part of code_saturne, a general-purpose CFD tool.
10
11 Copyright (C) 1998-2024 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 * Local headers
30 *----------------------------------------------------------------------------*/
31
32#include "cs_advection_field.h"
33#include "cs_equation.h"
34#include "cs_gwf_param.h"
35
36/*----------------------------------------------------------------------------*/
37
39
40/*============================================================================
41 * Macro definitions
42 *============================================================================*/
43
44/*============================================================================
45 * Type definitions
46 *============================================================================*/
47
49
50/*----------------------------------------------------------------------------*/
62/*----------------------------------------------------------------------------*/
63
64typedef void
66 const cs_cdo_quantities_t *cdoq,
67 cs_real_t t_eval,
68 bool cur2prev,
69 cs_gwf_darcy_flux_t *darcy);
70
77
110
115
118
119};
120
121/*============================================================================
122 * Public function prototypes
123 *============================================================================*/
124
125/*----------------------------------------------------------------------------*/
134/*----------------------------------------------------------------------------*/
135
136void
138 cs_real_t **p_dof_vals,
139 cs_real_t **p_cell_vals);
140
141/*----------------------------------------------------------------------------*/
149/*----------------------------------------------------------------------------*/
150
153
154/*----------------------------------------------------------------------------*/
160/*----------------------------------------------------------------------------*/
161
162void
164
165/*----------------------------------------------------------------------------*/
171/*----------------------------------------------------------------------------*/
172
173void
175
176/*----------------------------------------------------------------------------*/
190/*----------------------------------------------------------------------------*/
191
192void
194 const cs_cdo_quantities_t *quant,
195 cs_param_space_scheme_t space_scheme,
196 void *update_context,
197 cs_gwf_darcy_update_t *update_func,
198 cs_gwf_darcy_flux_t *darcy);
199
200/*----------------------------------------------------------------------------*/
211/*----------------------------------------------------------------------------*/
212
213void
215 const cs_cdo_quantities_t *quant,
216 const cs_equation_param_t *eqp,
217 cs_gwf_darcy_flux_t *darcy);
218
219/*----------------------------------------------------------------------------*/
235/*----------------------------------------------------------------------------*/
236
237void
239 const cs_equation_param_t *eqp,
240 const cs_property_t *diff_pty,
241 const cs_real_t *dof_vals,
242 const cs_real_t *cell_vals,
243 cs_real_t t_eval,
244 cs_adv_field_t *adv);
245
246/*----------------------------------------------------------------------------*/
258/*----------------------------------------------------------------------------*/
259
260void
262 const cs_cdo_quantities_t *cdoq,
263 cs_real_t *cell_vel,
264 cs_adv_field_t *adv);
265
266/*----------------------------------------------------------------------------*/
280/*----------------------------------------------------------------------------*/
281
282void
284 const cs_cdo_quantities_t *cdoq,
285 const cs_equation_t *richards,
286 cs_flag_t option_flag,
287 cs_field_t *pressure_head,
288 cs_real_t head_in_law[],
289 bool cur2prev);
290
291/*----------------------------------------------------------------------------*/
292
294
295#endif /* __CS_GWF_PRIV_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
double cs_real_t
Floating-point value.
Definition: cs_defs.h:342
#define END_C_DECLS
Definition: cs_defs.h:543
unsigned short int cs_flag_t
Definition: cs_defs.h:344
void() cs_gwf_darcy_update_t(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, cs_real_t t_eval, bool cur2prev, cs_gwf_darcy_flux_t *darcy)
Update the advection field/arrays related to the Darcy flux. The context associated to a cs_gwf_darcy...
Definition: cs_gwf_priv.h:65
void cs_gwf_darcy_flux_update_on_boundary_wo_eq(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, cs_real_t *cell_vel, cs_adv_field_t *adv)
Compute the associated Darcy flux over the boundary of the domain for each vertex of a boundary face ...
Definition: cs_gwf_priv.cpp:610
cs_gwf_darcy_flux_t * cs_gwf_darcy_flux_create(cs_flag_t loc_flag)
Allocate and initialize a cs_gwf_darcy_flux_t structure.
Definition: cs_gwf_priv.cpp:207
void cs_gwf_get_value_pointers(const cs_equation_t *eq, cs_real_t **p_dof_vals, cs_real_t **p_cell_vals)
Retrieve the values of (potential) fields needed for the update of the Darcy velocity/fluxes.
Definition: cs_gwf_priv.cpp:164
void cs_gwf_darcy_flux_define(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, cs_param_space_scheme_t space_scheme, void *update_context, cs_gwf_darcy_update_t *update_func, cs_gwf_darcy_flux_t *darcy)
Set the definition of the advection field attached to a cs_gwf_darcy_flux_t structure If the function...
Definition: cs_gwf_priv.cpp:290
void cs_gwf_darcy_flux_free(cs_gwf_darcy_flux_t **p_darcy)
Free a cs_gwf_darcy_flux_t structure.
Definition: cs_gwf_priv.cpp:230
void cs_gwf_darcy_flux_update_on_boundary(const cs_equation_t *eq, const cs_equation_param_t *eqp, const cs_property_t *diff_pty, const cs_real_t *dof_vals, const cs_real_t *cell_vals, cs_real_t t_eval, cs_adv_field_t *adv)
Compute the associated Darcy flux over the boundary of the domain for each vertex of a boundary face.
Definition: cs_gwf_priv.cpp:558
void cs_gwf_darcy_flux_balance(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_equation_param_t *eqp, cs_gwf_darcy_flux_t *darcy)
Operate the balance by zone (relying on the splitting arising from the boundary settings) for the adv...
Definition: cs_gwf_priv.cpp:412
void cs_gwf_darcy_flux_log(cs_gwf_darcy_flux_t *darcy)
Log a cs_gwf_darcy_flux_t structure.
Definition: cs_gwf_priv.cpp:261
void cs_gwf_update_head(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, const cs_equation_t *richards, cs_flag_t option_flag, cs_field_t *pressure_head, cs_real_t head_in_law[], bool cur2prev)
Update head values (pressure head or head values for laws) Up to now, this is only used for single-ph...
Definition: cs_gwf_priv.cpp:666
cs_param_space_scheme_t
Type of numerical scheme for the discretization in space.
Definition: cs_param_types.h:215
Definition: cs_gwf_priv.h:76
cs_real_t * boundary_flux_val
Definition: cs_gwf_priv.h:113
void * update_input
Definition: cs_gwf_priv.h:117
cs_real_t * flux_val
Definition: cs_gwf_priv.h:112
cs_adv_field_t * adv_field
Definition: cs_gwf_priv.h:109
cs_gwf_darcy_update_t * update_func
Definition: cs_gwf_priv.h:116
cs_flag_t flux_location
Definition: cs_gwf_priv.h:111
bool simplified_boundary_update
Definition: cs_gwf_priv.h:114
Definition: cs_advection_field.h:151
Definition: cs_cdo_connect.h:61
Definition: cs_cdo_quantities.h:139
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:131
Structure to handle a Darcy flux.
Structure associated to the definition of a property relying on the cs_xdef_t structure.