9.0
general documentation
Loading...
Searching...
No Matches
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-2025 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 "base/cs_base.h"
35#include "base/cs_field.h"
36#include "base/cs_halo.h"
37#include "mesh/cs_mesh.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
99void
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 *var_iprime);
110
111/*----------------------------------------------------------------------------*/
136/*----------------------------------------------------------------------------*/
137
138void
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 *var_iprime);
148
149/*----------------------------------------------------------------------------*/
150
152
153#ifdef __cplusplus
154
155/*============================================================================
156 * Public C++ function definitions
157 *============================================================================*/
158
159/*----------------------------------------------------------------------------*/
196/*----------------------------------------------------------------------------*/
197
198template <cs_lnum_t stride>
199void
200cs_gradient_boundary_iprime_lsq_strided
201 (const cs_mesh_t *m,
202 const cs_mesh_quantities_t *fvq,
203 cs_lnum_t n_faces,
204 const cs_lnum_t *face_ids,
205 cs_halo_type_t halo_type,
206 double b_clip_coeff,
207 cs_real_t *df_limiter,
208 const cs_field_bc_coeffs_t *bc_coeffs,
209 const cs_real_t c_weight[],
210 const cs_real_t var[][stride],
211 cs_real_t var_iprime[][stride],
212 cs_real_t var_iprime_lim[][stride]);
213
214#endif /* cplusplus */
215
216#endif /* __CS_GRADIENT_BOUNDARY__ */
#define BEGIN_C_DECLS
Definition cs_defs.h:542
double cs_real_t
Floating-point value.
Definition cs_defs.h:342
#define END_C_DECLS
Definition cs_defs.h:543
int cs_lnum_t
local mesh entity id
Definition cs_defs.h:335
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 *var_iprime)
Compute the values of a scalar at boundary face I' positions using least-squares interpolation.
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 *var_iprime)
Compute the values of a scalar at boundary face I' positions using least-squares interpolation with a...
cs_halo_type_t
Definition cs_halo.h:56
Field boundary condition descriptor (for variables)
Definition cs_field.h:121
Definition cs_mesh_quantities.h:92
Definition cs_mesh.h:85