8.1
general documentation
cs_gwf_tpf.h
Go to the documentation of this file.
1 #ifndef __CS_GWF_TPF_H__
2 #define __CS_GWF_TPF_H__
3 
4 /*============================================================================
5  * Main functions dedicated to the modelling of two-phase flows in a porous
6  * media. This media is always considered as unsaturated. Two sub-models are
7  * considered: miscible (MTPF) or immiscible (ITPF)
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 
32 /*----------------------------------------------------------------------------
33  * Local headers
34  *----------------------------------------------------------------------------*/
35 
36 #include "cs_gwf_hydraulic_model.h"
37 
38 /*----------------------------------------------------------------------------*/
39 
41 
42 /*============================================================================
43  * Macro definitions
44  *============================================================================*/
45 
46 /*============================================================================
47  * Type definitions
48  *============================================================================*/
49 
50 /*============================================================================
51  * Public function prototypes
52  *============================================================================*/
53 
54 /*----------------------------------------------------------------------------*/
63 /*----------------------------------------------------------------------------*/
64 
67 
68 /*----------------------------------------------------------------------------*/
75 /*----------------------------------------------------------------------------*/
76 
77 void
79 
80 /*----------------------------------------------------------------------------*/
87 /*----------------------------------------------------------------------------*/
88 
89 void
91 
92 /*----------------------------------------------------------------------------*/
101 /*----------------------------------------------------------------------------*/
102 
103 void
105  cs_property_type_t perm_type);
106 
107 /*----------------------------------------------------------------------------*/
116 /*----------------------------------------------------------------------------*/
117 
118 void
120  cs_gwf_tpf_t *tpf);
121 
122 /*----------------------------------------------------------------------------*/
132 /*----------------------------------------------------------------------------*/
133 
134 void
136  const cs_cdo_quantities_t *cdoq,
137  cs_flag_t flag,
138  cs_gwf_tpf_t *tpf);
139 
140 /*----------------------------------------------------------------------------*/
149 /*----------------------------------------------------------------------------*/
150 
151 void
153  const cs_cdo_quantities_t *cdoq,
154  cs_gwf_tpf_t *tpf);
155 
156 /*----------------------------------------------------------------------------*/
168 /*----------------------------------------------------------------------------*/
169 
170 void
172  const cs_cdo_connect_t *connect,
173  const cs_cdo_quantities_t *cdoq,
174  const cs_time_step_t *time_step,
175  cs_flag_t option_flag,
176  cs_gwf_tpf_t *tpf);
177 
178 /*----------------------------------------------------------------------------*/
191 /*----------------------------------------------------------------------------*/
192 
193 cs_real_t
195  const cs_cdo_connect_t *connect,
196  const cs_cdo_quantities_t *cdoq,
197  const cs_time_step_t *ts,
198  cs_flag_t update_flag,
199  cs_flag_t option_flag,
200  cs_gwf_tpf_t *tpf);
201 
202 /*----------------------------------------------------------------------------*/
213 /*----------------------------------------------------------------------------*/
214 
215 void
217  const cs_cdo_quantities_t *cdoq,
218  const cs_time_step_t *ts,
219  cs_flag_t post_flag,
220  cs_gwf_tpf_t *tpf);
221 
222 /*----------------------------------------------------------------------------*/
237 /*----------------------------------------------------------------------------*/
238 
239 void
240 cs_gwf_tpf_extra_post(int mesh_id,
241  cs_lnum_t n_cells,
242  const cs_lnum_t cell_ids[],
243  cs_flag_t post_flag,
244  const cs_property_t *abs_perm,
245  const cs_gwf_tpf_t *tpf,
246  const cs_cdo_connect_t *connect,
247  const cs_cdo_quantities_t *cdoq,
248  const cs_time_step_t *time_step);
249 
250 /*----------------------------------------------------------------------------*/
251 
253 
254 #endif /* __CS_GWF_TPF_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
#define END_C_DECLS
Definition: cs_defs.h:515
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
unsigned short int cs_flag_t
Definition: cs_defs.h:321
cs_gwf_model_type_t
Type of system of equation(s) to consider for the physical modelling.
Definition: cs_gwf_param.h:126
void cs_gwf_tpf_finalize_setup(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, cs_flag_t flag, cs_gwf_tpf_t *tpf)
Last setup stage in the case of two-phase flows in a porous media (miscible or immiscible case)
Definition: cs_gwf_tpf.c:3425
void cs_gwf_tpf_free(cs_gwf_tpf_t **p_tpf)
Free the context structure associated to the modelling of two-phase flows in a porous media.
Definition: cs_gwf_tpf.c:2952
cs_gwf_tpf_t * cs_gwf_tpf_create(cs_gwf_model_type_t model)
Allocate and initialize the model context structure for two-phase flows in a porous media.
Definition: cs_gwf_tpf.c:2812
void cs_gwf_tpf_extra_post(int mesh_id, cs_lnum_t n_cells, const cs_lnum_t cell_ids[], cs_flag_t post_flag, const cs_property_t *abs_perm, const cs_gwf_tpf_t *tpf, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, const cs_time_step_t *time_step)
Predefined post-processing output for the groundwater flow module in case of saturated two-phase flow...
Definition: cs_gwf_tpf.c:3999
void cs_gwf_tpf_compute(const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, const cs_time_step_t *time_step, cs_flag_t option_flag, cs_gwf_tpf_t *tpf)
Compute the new state for the groundwater flows module. Case of two-phase flows in porous media.
Definition: cs_gwf_tpf.c:3630
void cs_gwf_tpf_init_values(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, cs_gwf_tpf_t *tpf)
Last setup stage in the case of two-phase flows in a porous media (miscible or immiscible case)
Definition: cs_gwf_tpf.c:3548
void cs_gwf_tpf_init_setup(cs_flag_t post_flag, cs_gwf_tpf_t *tpf)
Initial setup stage for two-phase flows in porous media. At this stage, all soils have been defined a...
Definition: cs_gwf_tpf.c:3231
cs_real_t cs_gwf_tpf_update(const cs_mesh_t *mesh, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, const cs_time_step_t *ts, cs_flag_t update_flag, cs_flag_t option_flag, cs_gwf_tpf_t *tpf)
Perform the update step in the case of a two-phase flow model in porous media (miscible or immiscible...
Definition: cs_gwf_tpf.c:3716
void cs_gwf_tpf_extra_op(const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, const cs_time_step_t *ts, cs_flag_t post_flag, cs_gwf_tpf_t *tpf)
Predefined extra-operations for the groundwater flow module in case of miscible or immiscible two-pha...
Definition: cs_gwf_tpf.c:3859
void cs_gwf_tpf_init(cs_gwf_tpf_t *tpf, cs_property_type_t perm_type)
Initialize the model context according to the settings done inside the function cs_user_model() Case ...
Definition: cs_gwf_tpf.c:3132
void cs_gwf_tpf_log_setup(cs_gwf_tpf_t *tpf)
Log the setup related to the model context of two-phase flows. Common to the different sub-models rel...
Definition: cs_gwf_tpf.c:2992
cs_flag_t cs_property_type_t
Definition: cs_property.h:123
Definition: mesh.f90:26
Definition: cs_cdo_connect.h:61
Definition: cs_cdo_quantities.h:137
Structure to handle the modelling of miscible or immiscible two-phase flows in a porous media.
Definition: cs_gwf_hydraulic_model.h:315
Definition: cs_mesh.h:85
Structure associated to the definition of a property relying on the cs_xdef_t structure.
time step descriptor
Definition: cs_time_step.h:64