9.2
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-2026 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
33#include "cdo/cs_equation.h"
34#include "gwf/cs_gwf_param.h"
35
36#include "gwf/cs_gwf.h"
37
38/*============================================================================
39 * Macro definitions
40 *============================================================================*/
41
42/*============================================================================
43 * Type definitions
44 *============================================================================*/
45
52
85
90
93
94};
95
96/*============================================================================
97 * Public function prototypes
98 *============================================================================*/
99
100/*----------------------------------------------------------------------------*/
109/*----------------------------------------------------------------------------*/
110
111void
113 cs_real_t **p_dof_vals,
114 cs_real_t **p_cell_vals);
115
116/*----------------------------------------------------------------------------*/
124/*----------------------------------------------------------------------------*/
125
128
129/*----------------------------------------------------------------------------*/
135/*----------------------------------------------------------------------------*/
136
137void
139
140/*----------------------------------------------------------------------------*/
146/*----------------------------------------------------------------------------*/
147
148void
150
151/*----------------------------------------------------------------------------*/
165/*----------------------------------------------------------------------------*/
166
167void
169 const cs_cdo_quantities_t *quant,
170 cs_param_space_scheme_t space_scheme,
171 void *update_context,
172 cs_gwf_darcy_update_t *update_func,
173 cs_gwf_darcy_flux_t *darcy);
174
175/*----------------------------------------------------------------------------*/
186/*----------------------------------------------------------------------------*/
187
188void
190 const cs_cdo_quantities_t *quant,
191 const cs_equation_param_t *eqp,
192 cs_gwf_darcy_flux_t *darcy);
193
194/*----------------------------------------------------------------------------*/
210/*----------------------------------------------------------------------------*/
211
212void
214 const cs_equation_param_t *eqp,
215 const cs_property_t *diff_pty,
216 const cs_real_t *dof_vals,
217 const cs_real_t *cell_vals,
218 cs_real_t t_eval,
219 cs_adv_field_t *adv);
220
221/*----------------------------------------------------------------------------*/
233/*----------------------------------------------------------------------------*/
234
235void
237 const cs_cdo_quantities_t *cdoq,
238 cs_real_t *cell_vel,
239 cs_adv_field_t *adv);
240
241/*----------------------------------------------------------------------------*/
255/*----------------------------------------------------------------------------*/
256
257void
259 const cs_cdo_quantities_t *cdoq,
260 const cs_equation_t *richards,
261 cs_flag_t option_flag,
262 cs_field_t *pressure_head,
263 cs_real_t head_in_law[],
264 bool cur2prev);
265
266/*----------------------------------------------------------------------------*/
267
268#endif /* CS_GWF_PRIV_H */
Field descriptor.
Definition: cs_field.h:275
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
unsigned short int cs_flag_t
Definition: cs_defs.h:334
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_hydraulic_model.h:62
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:608
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:205
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:162
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:288
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:228
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:556
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:410
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:259
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:664
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:51
cs_real_t * boundary_flux_val
Definition: cs_gwf_priv.h:88
void * update_input
Definition: cs_gwf_priv.h:92
cs_real_t * flux_val
Definition: cs_gwf_priv.h:87
cs_adv_field_t * adv_field
Definition: cs_gwf_priv.h:84
cs_gwf_darcy_update_t * update_func
Definition: cs_gwf_priv.h:91
cs_flag_t flux_location
Definition: cs_gwf_priv.h:86
bool simplified_boundary_update
Definition: cs_gwf_priv.h:89
Definition: cs_advection_field.h:151
Definition: cs_cdo_connect.h:57
Definition: cs_cdo_quantities.h:142
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
Definition: cs_equation_param.h:190
Main structure to handle the discretization and the resolution of an equation.
Structure to handle a Darcy flux.
Structure associated to the definition of a property relying on the cs_xdef_t structure.