1 /*============================================================================
2 * Lagrangian boundary condition types and injection definitions.
3 *============================================================================*/
4
5 /* VERS */
6
7 /*
8 This file is part of Code_Saturne, a general-purpose CFD tool.
9
10 Copyright (C) 1998-2021 EDF S.A.
11
12 This program is free software; you can redistribute it and/or modify it under
13 the terms of the GNU General Public License as published by the Free Software
14 Foundation; either version 2 of the License, or (at your option) any later
15 version.
16
17 This program is distributed in the hope that it will be useful, but WITHOUT
18 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
19 FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
20 details.
21
22 You should have received a copy of the GNU General Public License along with
23 this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
24 Street, Fifth Floor, Boston, MA 02110-1301, USA.
25 */
26
27 /*----------------------------------------------------------------------------*/
28
29 #include "cs_defs.h"
30
31 /*----------------------------------------------------------------------------
32 * Standard C library headers
33 *----------------------------------------------------------------------------*/
34
35 #include <stdio.h>
36 #include <stdlib.h>
37 #include <string.h>
38 #include <assert.h>
39
40 /*----------------------------------------------------------------------------
41 * Local headers
42 *----------------------------------------------------------------------------*/
43
44 #include "cs_headers.h"
45
46 /*----------------------------------------------------------------------------*/
47
48 BEGIN_C_DECLS
49
50 /*============================================================================
51 * User function definitions
52 *============================================================================*/
53
54 /*----------------------------------------------------------------------------*/
55 /*!
56 * \brief Define particle boundary conditions.
57 *
58 * This is used for the definition of inlet and other boundaries,
59 * based on predefined boundary zones (\ref cs_zone_t).
60 *
61 * \param[in] bc_type type of the boundary faces
62 */
63 /*----------------------------------------------------------------------------*/
64
65 #pragma weak cs_user_lagr_boundary_conditions
66 void
cs_user_lagr_boundary_conditions(const int bc_type[])67 cs_user_lagr_boundary_conditions(const int bc_type[])
68 {
69
70 }
71
72 /*----------------------------------------------------------------------------*/
73 /*!
74 * \brief Handling of a particle interaction with a boundary of type
75 * \ref CS_LAGR_BC_USER.
76 *
77 * \param[in, out] particles pointer to particle set
78 * \param[in] p_id particle id
79 * \param[in] face_id boundary face id
80 * \param[in] face_norm unit face (or face subdivision) normal
81 * \param[in] c_intersect coordinates of intersection with the face
82 * \param[in] t_intersect relative distance (in [0, 1]) of the
83 * intersection point with the face relative
84 * to the initial trajectory segment
85 * \param[in] b_zone_id boundary zone id of the matching face
86 * \param[in, out] event_flag event flag in case events are available
87 * \param[in, out] tracking_state particle tracking state
88 */
89 /*----------------------------------------------------------------------------*/
90
91 #pragma weak cs_lagr_user_boundary_interaction
92 void
cs_lagr_user_boundary_interaction(cs_lagr_particle_set_t * particles,cs_lnum_t p_id,cs_lnum_t face_id,const cs_real_t face_norm[3],const cs_real_t c_intersect[3],cs_real_t t_intersect,int b_zone_id,int * event_flag,cs_lagr_tracking_state_t * tracking_state)93 cs_lagr_user_boundary_interaction(cs_lagr_particle_set_t *particles,
94 cs_lnum_t p_id,
95 cs_lnum_t face_id,
96 const cs_real_t face_norm[3],
97 const cs_real_t c_intersect[3],
98 cs_real_t t_intersect,
99 int b_zone_id,
100 int *event_flag,
101 cs_lagr_tracking_state_t *tracking_state)
102 {
103
104 }
105
106 /*----------------------------------------------------------------------------*/
107
108 END_C_DECLS
109