8.2
general documentation
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
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-2024 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_field.h"
36 #include "cs_halo.h"
37 #include "cs_mesh.h"
38 #include "cs_mesh_quantities.h"
39 
40 /*----------------------------------------------------------------------------*/
41 
43 
44 /*=============================================================================
45  * Local Macro definitions
46  *============================================================================*/
47 
48 /*============================================================================
49  * Type definition
50  *============================================================================*/
51 
52 /*============================================================================
53  * Global variables
54  *============================================================================*/
55 
56 /*============================================================================
57  * Public function prototypes
58  *============================================================================*/
59 
60 /*----------------------------------------------------------------------------*/
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_field_bc_coeffs_t *bc_coeffs,
107  const cs_real_t c_weight[],
108  const cs_real_t var[],
109  cs_real_t *restrict var_iprime);
110 
111 /*----------------------------------------------------------------------------*/
136 /*----------------------------------------------------------------------------*/
137 
138 void
140  const cs_mesh_quantities_t *fvq,
141  cs_lnum_t n_faces,
142  const cs_lnum_t *face_ids,
143  double clip_coeff,
144  const cs_field_bc_coeffs_t *bc_coeffs,
145  const cs_real_t c_weight[][6],
146  const cs_real_t var[],
147  cs_real_t *restrict var_iprime);
148 
149 /*----------------------------------------------------------------------------*/
186 /*----------------------------------------------------------------------------*/
187 
188 void
190  const cs_mesh_quantities_t *fvq,
191  cs_lnum_t n_faces,
192  const cs_lnum_t *face_ids,
193  cs_halo_type_t halo_type,
194  double clip_coeff,
195  const cs_field_bc_coeffs_t *bc_coeffs_v,
196  const cs_real_t c_weight[],
197  const cs_real_t var[][3],
198  cs_real_t var_iprime[restrict][3]);
199 
200 /*----------------------------------------------------------------------------*/
237 /*----------------------------------------------------------------------------*/
238 
239 void
241  const cs_mesh_quantities_t *fvq,
242  cs_lnum_t n_faces,
243  const cs_lnum_t *face_ids,
244  cs_halo_type_t halo_type,
245  double clip_coeff,
246  const cs_field_bc_coeffs_t *bc_coeffs_ts,
247  const cs_real_t c_weight[],
248  const cs_real_t var[][6],
249  cs_real_t var_iprime[restrict][6]);
250 
251 /*----------------------------------------------------------------------------*/
252 
254 
255 #endif /* __CS_GRADIENT_BOUNDARY__ */
#define restrict
Definition: cs_defs.h:141
#define BEGIN_C_DECLS
Definition: cs_defs.h:528
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
#define END_C_DECLS
Definition: cs_defs.h:529
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:325
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_field_bc_coeffs_t *bc_coeffs, 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:1096
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_field_bc_coeffs_t *bc_coeffs, 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
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_field_bc_coeffs_t *bc_coeffs_ts, 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:1427
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_field_bc_coeffs_t *bc_coeffs_v, 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:1363
cs_halo_type_t
Definition: cs_halo.h:56
Field boundary condition descriptor (for variables)
Definition: cs_field.h:104
Definition: cs_mesh_quantities.h:92
Definition: cs_mesh.h:85