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