programmer's documentation
cs_lagr_clogging.h
Go to the documentation of this file.
1 #ifndef __CS_LAGR_CLOGGING_H__
2 #define __CS_LAGR_CLOGGING_H__
3 
4 /*============================================================================
5  * Clogging modeling.
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2016 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 
30 /*----------------------------------------------------------------------------
31  * Local headers
32  *----------------------------------------------------------------------------*/
33 
34 #include "cs_defs.h"
35 #include "cs_lagr_tracking.h"
36 
37 /*----------------------------------------------------------------------------*/
38 
40 
41 /*============================================================================
42  * Type definitions
43  *============================================================================*/
44 
45 typedef struct {
46 
55 
63 
65 
66 /*============================================================================
67  * Public function definitions for Fortran API
68  *============================================================================*/
69 
70 /*----------------------------------------------------------------------------
71  * Clogging initialization.
72  *
73  * - Retrieve various parameters for storing in global structure.
74  * - Compute and store the Debye screening length
75  *----------------------------------------------------------------------------*/
76 
77 void
78 CS_PROCF (cloginit, CLOGINIT)(const cs_real_t *faraday_cst,
79  const cs_real_t *free_space_permit,
80  const cs_real_t *water_permit,
81  const cs_real_t *ionic_strength,
82  const cs_real_t *jamming_limit,
83  const cs_real_t *min_porosity,
84  const cs_real_t temperature[],
85  const cs_real_t *valen,
86  const cs_real_t *phi1,
87  const cs_real_t *phi2,
88  const cs_real_t *cstham,
89  const cs_real_t *dcutof,
90  const cs_real_t *lambwl,
91  const cs_real_t *kboltz
92 );
93 
94 /*============================================================================
95  * Public function definitions
96  *============================================================================*/
97 
98 /*----------------------------------------------------------------------------
99  * Clogging finalization.
100  *
101  * Deallocate the arrays storing temperature and Debye length.
102  *----------------------------------------------------------------------------*/
103 
104 void
106 
107 /*----------------------------------------------------------------------------
108  * Clogging:
109  *
110  * - Compute the number of deposited particles in contact with the depositing
111  * particle
112  * - Re-compute the energy barrier if this number is greater than zero
113  *
114  * parameters:
115  * particle <-- pointer to particle data
116  * attr_map <-- pointer to attribute map
117  * face_id <-- id of face neighboring particle
118  * face_area <-- area of face
119  * energy_barrier <-> energy barrier
120  * surface_coverage <-> surface coverage
121  * limit <-> jamming limit
122  * mporos <-> minimum porosity
123  *
124  * returns:
125  * number of deposited particles in contact with the depositing particle
126  *----------------------------------------------------------------------------*/
127 
128 int
129 cs_lagr_clogging_barrier(const void *particle,
130  const cs_lagr_attribute_map_t *attr_map,
131  cs_lnum_t face_id,
132  cs_real_t face_area,
133  cs_real_t *energy_barrier,
134  cs_real_t *surface_coverage,
135  cs_real_t *limit,
136  cs_real_t *mporos);
137 
138 /*----------------------------------------------------------------------------*/
139 
141 
142 #endif /* __CS_LAGR_CLOGGING_H__ */
143 
void cs_lagr_clogging_finalize(void)
Definition: cs_lagr_clogging.c:189
void cloginit(const cs_real_t *faraday_cst, const cs_real_t *free_space_permit, const cs_real_t *water_permit, const cs_real_t *ionic_strength, const cs_real_t *jamming_limit, const cs_real_t *min_porosity, const cs_real_t temperature[], const cs_real_t *valen, const cs_real_t *phi1, const cs_real_t *phi2, const cs_real_t *cstham, const cs_real_t *dcutof, const cs_real_t *lambwl, const cs_real_t *kboltz)
cs_real_t min_porosity
Definition: cs_lagr_clogging.h:52
double precision, save phi2
Electrokinetic potential of the second solid.
Definition: lagran.f90:1015
cs_real_t kboltz
Definition: cs_lagr_clogging.h:62
double precision kboltz
Boltzmann constant (J/K)
Definition: lagran.f90:1032
double precision, save cstham
Hamaker constant for the particle/fluid/substrate system.
Definition: lagran.f90:1006
cs_real_t valen
Definition: cs_lagr_clogging.h:57
#define BEGIN_C_DECLS
Definition: cs_defs.h:419
int cs_lagr_clogging_barrier(const void *particle, const cs_lagr_attribute_map_t *attr_map, cs_lnum_t face_id, cs_real_t face_area, cs_real_t *energy_barrier, cs_real_t *surface_coverage, cs_real_t *limit, cs_real_t *mporos)
Definition: cs_lagr_clogging.c:217
cs_real_t free_space_permit
Definition: cs_lagr_clogging.h:48
cs_real_t jamming_limit
Definition: cs_lagr_clogging.h:51
double precision, save valen
Valency of ions in the solution (used for EDL forces)
Definition: lagran.f90:1018
cs_real_t lambwl
Definition: cs_lagr_clogging.h:61
double precision, save phi1
Electrokinetic potential of the first solid.
Definition: lagran.f90:1012
cs_real_t ionic_strength
Definition: cs_lagr_clogging.h:50
cs_real_t water_permit
Definition: cs_lagr_clogging.h:49
double precision lambwl
Characteristic retardation wavelength (m) for Hamaker constant.
Definition: lagran.f90:1040
cs_real_t cstham
Definition: cs_lagr_clogging.h:59
double precision, save mporos
Definition: lagran.f90:329
Definition: cs_lagr_clogging.h:45
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:292
#define END_C_DECLS
Definition: cs_defs.h:420
cs_real_t dcutof
Definition: cs_lagr_clogging.h:60
double cs_real_t
Definition: cs_defs.h:296
cs_real_t phi2
Definition: cs_lagr_clogging.h:54
double precision dcutof
Cut-off distance for adhesion forces (assumed to be the Born distance) (m)
Definition: lagran.f90:1036
#define CS_PROCF(x, y)
Definition: cs_defs.h:433
cs_real_t phi1
Definition: cs_lagr_clogging.h:53
cs_real_t * temperature
Definition: cs_lagr_clogging.h:56
cs_real_t * debye_length
Definition: cs_lagr_clogging.h:58
Definition: cs_lagr_tracking.h:125
cs_real_t faraday_cst
Definition: cs_lagr_clogging.h:47