8.1
general documentation
cs_gradient_boundary.h
Go to the documentation of this file.
1 #ifndef __CS_GRADIENT_BOUNDARY_H__
2 #define __CS_GRADIENT_BOUNDARY_H__
3 
4 /*============================================================================
5  * Gradient reconstruction at boundaries.
6  *============================================================================*/
7 
8 /*
9  This file is part of code_saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2023 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_halo.h"
36 #include "cs_mesh.h"
37 #include "cs_mesh_quantities.h"
38 
39 /*----------------------------------------------------------------------------*/
40 
42 
43 /*=============================================================================
44  * Local Macro definitions
45  *============================================================================*/
46 
47 /*============================================================================
48  * Type definition
49  *============================================================================*/
50 
51 /*============================================================================
52  * Global variables
53  *============================================================================*/
54 
55 /*============================================================================
56  * Public function prototypes
57  *============================================================================*/
58 
59 /*----------------------------------------------------------------------------*/
97 /*----------------------------------------------------------------------------*/
98 
99 void
101  const cs_mesh_quantities_t *fvq,
102  cs_lnum_t n_faces,
103  const cs_lnum_t *face_ids,
104  cs_halo_type_t halo_type,
105  double clip_coeff,
106  const cs_real_t *bc_coeff_a,
107  const cs_real_t *bc_coeff_b,
108  const cs_real_t c_weight[],
109  const cs_real_t var[],
110  cs_real_t *restrict var_iprime);
111 
112 /*----------------------------------------------------------------------------*/
138 /*----------------------------------------------------------------------------*/
139 
140 void
142  const cs_mesh_quantities_t *fvq,
143  cs_lnum_t n_faces,
144  const cs_lnum_t *face_ids,
145  double clip_coeff,
146  const cs_real_t *bc_coeff_a,
147  const cs_real_t *bc_coeff_b,
148  const cs_real_t c_weight[][6],
149  const cs_real_t var[],
150  cs_real_t *restrict var_iprime);
151 
152 /*----------------------------------------------------------------------------*/
190 /*----------------------------------------------------------------------------*/
191 
192 void
194  const cs_mesh_quantities_t *fvq,
195  cs_lnum_t n_faces,
196  const cs_lnum_t *face_ids,
197  cs_halo_type_t halo_type,
198  double clip_coeff,
199  const cs_real_t bc_coeff_a[][3],
200  const cs_real_t bc_coeff_b[][3][3],
201  const cs_real_t c_weight[],
202  const cs_real_t var[][3],
203  cs_real_t var_iprime[restrict][3]);
204 
205 /*----------------------------------------------------------------------------*/
243 /*----------------------------------------------------------------------------*/
244 
245 void
247  const cs_mesh_quantities_t *fvq,
248  cs_lnum_t n_faces,
249  const cs_lnum_t *face_ids,
250  cs_halo_type_t halo_type,
251  double clip_coeff,
252  const cs_real_t bc_coeff_a[][6],
253  const cs_real_t bc_coeff_b[][6][6],
254  const cs_real_t c_weight[],
255  const cs_real_t var[][6],
256  cs_real_t var_iprime[restrict][6]);
257 
258 /*----------------------------------------------------------------------------*/
259 
261 
262 #endif /* __CS_GRADIENT_BOUNDARY__ */
#define restrict
Definition: cs_defs.h:139
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
#define END_C_DECLS
Definition: cs_defs.h:515
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
void cs_gradient_boundary_iprime_lsq_s_ani(const cs_mesh_t *m, const cs_mesh_quantities_t *fvq, cs_lnum_t n_faces, const cs_lnum_t *face_ids, double clip_coeff, const cs_real_t *bc_coeff_a, const cs_real_t *bc_coeff_b, const cs_real_t c_weight[][6], const cs_real_t var[], cs_real_t *restrict var_iprime)
Compute the values of a scalar at boundary face I' positions using least-squares interpolation with a...
Definition: cs_gradient_boundary.c:1098
void cs_gradient_boundary_iprime_lsq_v(const cs_mesh_t *m, const cs_mesh_quantities_t *fvq, cs_lnum_t n_faces, const cs_lnum_t *face_ids, cs_halo_type_t halo_type, double clip_coeff, const cs_real_t bc_coeff_a[][3], const cs_real_t bc_coeff_b[][3][3], const cs_real_t c_weight[], const cs_real_t var[][3], cs_real_t var_iprime[restrict][3])
Compute the values of a vector at boundary face I' positions using least-squares interpolation.
Definition: cs_gradient_boundary.c:1364
void cs_gradient_boundary_iprime_lsq_t(const cs_mesh_t *m, const cs_mesh_quantities_t *fvq, cs_lnum_t n_faces, const cs_lnum_t *face_ids, cs_halo_type_t halo_type, double clip_coeff, const cs_real_t bc_coeff_a[][6], const cs_real_t bc_coeff_b[][6][6], const cs_real_t c_weight[], const cs_real_t var[][6], cs_real_t var_iprime[restrict][6])
Compute the values of a symmetric tensor at boundary face I' positions using least-squares interpolat...
Definition: cs_gradient_boundary.c:1431
void cs_gradient_boundary_iprime_lsq_s(const cs_mesh_t *m, const cs_mesh_quantities_t *fvq, cs_lnum_t n_faces, const cs_lnum_t *face_ids, cs_halo_type_t halo_type, double clip_coeff, const cs_real_t *bc_coeff_a, const cs_real_t *bc_coeff_b, const cs_real_t c_weight[], const cs_real_t var[], cs_real_t *restrict var_iprime)
Compute the values of a scalar at boundary face I' positions using least-squares interpolation.
Definition: cs_gradient_boundary.c:821
cs_halo_type_t
Definition: cs_halo.h:56
Definition: cs_mesh_quantities.h:92
Definition: cs_mesh.h:85