programmer's documentation
cs_lagr_prototypes.h
Go to the documentation of this file.
1 #ifndef __CS_LAGR_PROTOTYPES_H__
2 #define __CS_LAGR_PROTOTYPES_H__
3 
4 /*============================================================================
5  * Prototypes for Fortran functions and subroutines callable from C
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_base.h"
35 #include "cs_mesh.h"
36 #include "cs_mesh_quantities.h"
37 #include "cs_mesh_bad_cells.h"
38 
39 #include "cs_domain.h"
40 
41 #include "cs_lagr.h"
42 #include "cs_lagr_tracking.h"
43 #include "cs_lagr_stat.h"
44 
45 /*----------------------------------------------------------------------------*/
46 
48 
49 /*============================================================================
50  * Lagrangian User function prototypes
51  *============================================================================*/
52 
53 /*----------------------------------------------------------------------------*/
73 /*----------------------------------------------------------------------------*/
74 
75 void
77  const cs_real_t taup[],
78  const cs_real_3_t tlag[],
79  const cs_real_3_t piil[],
80  const cs_real_t bx[],
81  const cs_real_t tsfext[],
82  const cs_real_33_t vagaus[],
83  const cs_real_3_t gradpr[],
84  const cs_real_33_t gradvf[],
85  cs_real_t rho_p[],
86  cs_real_3_t fextla[]);
87 
88 /*----------------------------------------------------------------------------*/
103 /*----------------------------------------------------------------------------*/
104 
105 void
106 cs_user_lagr_in(int time_id,
107  int *injfac,
108  cs_lagr_zone_class_data_t *local_userdata,
109  cs_real_t vislen[] );
110 
111 /*---------------------------------------------------------------------------------*/
112 /* \brief User subroutine of the Lagrangian particle-tracking module
113  *
114  * User subroutine for input of calculation parameters.
115  * This parameters concerns physical, numerical and post-processing options.
116  */
117 /*---------------------------------------------------------------------------------*/
118 
119 void
120 cs_user_lagr_model(void);
121 
122 /*----------------------------------------------------------------------------*/
136 /*----------------------------------------------------------------------------*/
137 
138 void
139 cs_user_lagr_new_p_attr(unsigned char *particle,
140  const cs_lagr_attribute_map_t *p_am,
141  cs_lnum_t face_id,
142  cs_lagr_attribute_t attr_id);
143 
144 /*----------------------------------------------------------------------------*/
152 /*----------------------------------------------------------------------------*/
153 
154 void
156  cs_real_t re_p,
157  cs_real_t uvwr,
158  cs_real_t rho_f,
159  cs_real_t rho_p,
160  cs_real_t nu_f,
161  cs_real_t taup[],
162  const cs_real_t dt[]);
163 
164 /*----------------------------------------------------------------------------*/
172 /*----------------------------------------------------------------------------*/
173 
174 void
176  cs_real_t re_p,
177  cs_real_t uvwr,
178  cs_real_t rho_f,
179  cs_real_t rho_p,
180  cs_real_t nu_f,
181  cs_real_t cp_f,
182  cs_real_t k_f,
183  cs_real_t tauc[],
184  const cs_real_t dt[]);
185 
186 /*----------------------------------------------------------------------------*/
196 /*----------------------------------------------------------------------------*/
197 
198 void
200  const cs_real_t dt,
201  cs_real_3_t disp);
202 
203 /*----------------------------------------------------------------------------*/
211 /*----------------------------------------------------------------------------*/
212 
213 void
215 
216 /*----------------------------------------------------------------------------*/
248 /*----------------------------------------------------------------------------*/
249 
250 void
252  cs_real_t taup[],
253  cs_real_3_t tlag[],
254  cs_real_t tempct[]);
255 
256 /*----------------------------------------------------------------------------*/
261 /*----------------------------------------------------------------------------*/
262 
263 void
264 cs_user_lagr_model(void);
265 
266 /*----------------------------------------------------------------------------*/
279 /* --------------------------------------------------------------------------- */
280 
281 void
283 
284 /*----------------------------------------------------------------------------*/
285 
286 #endif /* __CS_LAGR_PROTOTYPES_H__ */
287 
Definition: cs_lagr.h:401
integer, dimension(:), pointer itypfb
Definition: pointe.f90:122
void cs_user_lagr_extra_operations(const cs_real_t dt[])
User function (non-mandatory intervention)
Definition: cs_user_lagr_particle.c:163
void cs_user_lagr_rt_t(cs_lnum_t id_p, cs_real_t re_p, cs_real_t uvwr, cs_real_t rho_f, cs_real_t rho_p, cs_real_t nu_f, cs_real_t cp_f, cs_real_t k_f, cs_real_t tauc[], const cs_real_t dt[])
Modification of the calculation of the thermal relaxation time of the particles with respect to the c...
Definition: cs_user_lagr_particle.c:333
#define BEGIN_C_DECLS
Definition: cs_defs.h:448
void cs_user_lagr_imposed_motion(const cs_real_3_t coords, const cs_real_t dt, cs_real_3_t disp)
Impose the motion of a particle falgged CS_LAGR_PART_IMPOSED_MOTION.
Definition: cs_user_lagr_particle.c:180
cs_lagr_attribute_t
Definition: cs_lagr_particle.h:51
void cs_user_lagr_ef(cs_real_t dt_p, const cs_real_t taup[], const cs_real_3_t tlag[], const cs_real_3_t piil[], const cs_real_t bx[], const cs_real_t tsfext[], const cs_real_33_t vagaus[], const cs_real_3_t gradpr[], const cs_real_33_t gradvf[], cs_real_t rho_p[], cs_real_3_t fextla[])
User definition of an external force field acting on the particles.
Definition: cs_user_lagr_particle.c:125
void cs_user_lagr_in(int time_id, int *injfac, cs_lagr_zone_class_data_t *local_userdata, cs_real_t vislen[])
User function for the boundary conditions for the particles (inlet and treatment for the other bounda...
Definition: cs_user_lagr_particle.c:207
void cs_user_lagr_boundary_conditions(const int itypfb[])
Define particle boundary conditions.
Definition: cs_user_lagr_bcs.c:77
double cs_real_t
Floating-point value.
Definition: cs_defs.h:296
void cs_user_lagr_rt(cs_lnum_t id_p, cs_real_t re_p, cs_real_t uvwr, cs_real_t rho_f, cs_real_t rho_p, cs_real_t nu_f, cs_real_t taup[], const cs_real_t dt[])
Modification of the calculation of the particle relaxation time with respect to the chosen formulatio...
Definition: cs_user_lagr_particle.c:298
Definition: cs_field_pointer.h:64
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:308
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:292
#define END_C_DECLS
Definition: cs_defs.h:449
void cs_user_lagr_model(void)
User function of the Lagrangian particle-tracking module: User function for input of calculation para...
Definition: cs_user_lagr_model.c:53
cs_real_t cs_real_33_t[3][3]
3x3 matrix of floating-point values
Definition: cs_defs.h:314
void cs_user_lagr_sde(const cs_real_t dt[], cs_real_t taup[], cs_real_3_t tlag[], cs_real_t tempct[])
User function (non-mandatory intervention) Integration of the sde for the user-defined variables...
Definition: cs_user_lagr_particle.c:379
void cs_user_lagr_new_p_attr(unsigned char *particle, const cs_lagr_attribute_map_t *p_am, cs_lnum_t face_id, cs_lagr_attribute_t attr_id)
Prescribe some attributes for newly injected particles.
Definition: cs_user_lagr_particle.c:231
Definition: cs_lagr_particle.h:138