8.2
general documentation
Loading...
Searching...
No Matches
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-2024 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
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
77void
79
80/*----------------------------------------------------------------------------*/
87/*----------------------------------------------------------------------------*/
88
89void
91
92/*----------------------------------------------------------------------------*/
101/*----------------------------------------------------------------------------*/
102
103void
105 cs_property_type_t perm_type);
106
107/*----------------------------------------------------------------------------*/
116/*----------------------------------------------------------------------------*/
117
118void
120 cs_gwf_tpf_t *tpf);
121
122/*----------------------------------------------------------------------------*/
132/*----------------------------------------------------------------------------*/
133
134void
136 const cs_cdo_quantities_t *cdoq,
137 cs_flag_t flag,
138 cs_gwf_tpf_t *tpf);
139
140/*----------------------------------------------------------------------------*/
149/*----------------------------------------------------------------------------*/
150
151void
153 const cs_cdo_quantities_t *cdoq,
154 cs_gwf_tpf_t *tpf);
155
156/*----------------------------------------------------------------------------*/
168/*----------------------------------------------------------------------------*/
169
170void
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
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
215void
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
239void
240cs_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:528
double cs_real_t
Floating-point value.
Definition cs_defs.h:332
#define END_C_DECLS
Definition cs_defs.h:529
int cs_lnum_t
local mesh entity id
Definition cs_defs.h:325
unsigned short int cs_flag_t
Definition cs_defs.h:334
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
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_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
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