8.0
general documentation
Loading...
Searching...
No Matches
cs_post_util.h
Go to the documentation of this file.
1#ifndef __CS_POST_UTIL_H__
2#define __CS_POST_UTIL_H__
3
4/*============================================================================
5 * Postprocessing utility functions.
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_defs.h"
35#include "cs_mesh_location.h"
36#include "cs_field_operator.h"
37
38/*----------------------------------------------------------------------------*/
39
41
42/*=============================================================================
43 * Type Definitions
44 *============================================================================*/
45
46/*============================================================================
47 * Global variables
48 *============================================================================*/
49
50/*============================================================================
51 * Public function prototypes
52 *============================================================================*/
53
54/*----------------------------------------------------------------------------*/
81/*----------------------------------------------------------------------------*/
82
83void
85 cs_lnum_t *n_cells,
86 cs_lnum_t **cell_ids);
87
88/*----------------------------------------------------------------------------*/
117/*----------------------------------------------------------------------------*/
118
119void
121 cs_lnum_t n_points,
122 cs_lnum_t *n_cells,
123 cs_lnum_t **cell_ids,
124 cs_real_t **seg_c_len);
125
126/*----------------------------------------------------------------------------*/
157/*----------------------------------------------------------------------------*/
158
159void
161 cs_lnum_t *n_elts,
162 cs_real_3_t **coords,
163 cs_real_t **s);
164
165/*----------------------------------------------------------------------------*/
177/*----------------------------------------------------------------------------*/
178
179void
181 cs_lnum_t *n_elts,
182 cs_real_3_t **coords,
183 cs_real_t **s);
184
185/*----------------------------------------------------------------------------*/
196/*----------------------------------------------------------------------------*/
197
199cs_post_turbomachinery_head(const char *criteria_in,
200 cs_mesh_location_type_t location_in,
201 const char *criteria_out,
202 cs_mesh_location_type_t location_out);
203
204/*----------------------------------------------------------------------------*/
215/*----------------------------------------------------------------------------*/
216
219 const cs_lnum_t b_face_ids[],
220 cs_real_t axis[3]);
221
222/*----------------------------------------------------------------------------*/
231/*----------------------------------------------------------------------------*/
232
233void
235 const cs_lnum_t b_face_ids[],
236 cs_real_3_t stress[]);
237
238/*----------------------------------------------------------------------------*/
246/*----------------------------------------------------------------------------*/
247
248void
250 const cs_lnum_t b_face_ids[],
251 cs_real_t pres[]);
252
253/*----------------------------------------------------------------------------*/
261/*----------------------------------------------------------------------------*/
262
263void
265 const cs_lnum_t b_face_ids[],
266 cs_real_t pres[]);
267
268/*----------------------------------------------------------------------------*/
281/*----------------------------------------------------------------------------*/
282
283void
285 cs_lnum_t n_cells,
286 const cs_lnum_t cell_ids[],
287 const cs_real_3_t *coords,
288 cs_real_6_t *rst);
289
290/*----------------------------------------------------------------------------*/
301/*----------------------------------------------------------------------------*/
302
303void
305 const cs_lnum_t cell_ids[],
306 const cs_real_t coords[][3],
307 cs_real_t inv[][2]);
308
309/*----------------------------------------------------------------------------*/
320/*----------------------------------------------------------------------------*/
321
322void
323cs_post_boundary_flux(const char *scalar_name,
324 cs_lnum_t n_loc_b_faces,
325 const cs_lnum_t b_face_ids[],
326 cs_real_t b_face_flux[]);
327
328/*----------------------------------------------------------------------------*/
341/*----------------------------------------------------------------------------*/
342
343void
345 cs_lnum_t n_loc_b_faces,
346 const cs_lnum_t b_face_ids[],
347 cs_real_t *b_val);
348
349/*----------------------------------------------------------------------------*/
360/*----------------------------------------------------------------------------*/
361
364 const cs_lnum_t n_loc_b_faces,
365 const cs_lnum_t b_face_ids[]);
366
367/*----------------------------------------------------------------------------*/
378/*----------------------------------------------------------------------------*/
379
382 const cs_lnum_t n_loc_b_faces,
383 const cs_lnum_t b_face_ids[]);
384
385/*----------------------------------------------------------------------------*/
397/*----------------------------------------------------------------------------*/
398
400cs_post_scalar_boundary_mean(const cs_real_t *scalar_vals,
401 const cs_lnum_t n_loc_b_faces,
402 const cs_lnum_t b_face_ids[]);
403
404/*----------------------------------------------------------------------------*/
416/*----------------------------------------------------------------------------*/
417
420 const cs_lnum_t n_loc_b_faces,
421 const cs_lnum_t b_face_ids[]);
422
423/*----------------------------------------------------------------------------*/
433/*----------------------------------------------------------------------------*/
434
437 const cs_real_t *scalar_vals);
438
439/*----------------------------------------------------------------------------*/
449/*----------------------------------------------------------------------------*/
450
453 const cs_real_t *scalar_vals);
454
455/*----------------------------------------------------------------------------*/
466/*----------------------------------------------------------------------------*/
467
470 const cs_real_t *scalar_vals);
471
472/*----------------------------------------------------------------------------*/
483/*----------------------------------------------------------------------------*/
484
487 const cs_real_t *scalar_vals);
488
489/*----------------------------------------------------------------------------*/
490
492
493#endif /* __CS_POST_UTIL_H__ */
#define BEGIN_C_DECLS
Definition cs_defs.h:509
double cs_real_t
Floating-point value.
Definition cs_defs.h:319
cs_real_t cs_real_6_t[6]
vector of 6 floating-point values
Definition cs_defs.h:334
#define END_C_DECLS
Definition cs_defs.h:510
int cs_lnum_t
local mesh entity id
Definition cs_defs.h:313
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition cs_defs.h:332
cs_field_interpolate_t
Definition cs_field_operator.h:54
cs_mesh_location_type_t
Definition cs_mesh_location.h:60
cs_real_t cs_post_scalar_b_zone_integral(const cs_zone_t *z, const cs_real_t *scalar_vals)
Compute the surface integral of a scalar array of values located on boundary faces over a boundary zo...
Definition cs_post_util.c:1193
void cs_post_boundary_flux(const char *scalar_name, cs_lnum_t n_loc_b_faces, const cs_lnum_t b_face_ids[], cs_real_t b_face_flux[])
Compute scalar flux on a specific boundary region.
Definition cs_post_util.c:839
cs_real_t cs_post_scalar_b_zone_mean(const cs_zone_t *z, const cs_real_t *scalar_vals)
Compute the surface mean of a scalar array of values located on boundary faces over a boundary zone....
Definition cs_post_util.c:1236
cs_real_t cs_post_scalar_boundary_mean(const cs_real_t *scalar_vals, const cs_lnum_t n_loc_b_faces, const cs_lnum_t b_face_ids[])
Compute the surface mean of a scalar array of values located on boundary faces over a selection of bo...
Definition cs_post_util.c:1096
void cs_cell_polyline_intersect_select(void *input, cs_lnum_t n_points, cs_lnum_t *n_cells, cs_lnum_t **cell_ids, cs_real_t **seg_c_len)
Select cells cut by a line composed of segments.
Definition cs_post_util.c:208
void cs_cell_segment_intersect_probes_define(void *input, cs_lnum_t *n_elts, cs_real_3_t **coords, cs_real_t **s)
Define probes based on the centers of cells intersected by a given segment.
Definition cs_post_util.c:255
cs_real_t cs_post_moment_of_force(cs_lnum_t n_b_faces, const cs_lnum_t b_face_ids[], cs_real_t axis[3])
Compute the magnitude of a moment of force torque) given an axis and the stress on a specific boundar...
Definition cs_post_util.c:501
void cs_post_anisotropy_invariant(cs_lnum_t n_cells, const cs_lnum_t cell_ids[], const cs_real_t coords[][3], cs_real_t inv[][2])
Compute the invariant of the anisotropy tensor.
cs_real_t cs_post_bnd_scalar_b_zone_integral(const cs_zone_t *z, const cs_real_t *scalar_vals)
Compute the surface integral of a scalar over a boundary zone faces, for an array of values located o...
Definition cs_post_util.c:1214
cs_real_t cs_post_turbomachinery_head(const char *criteria_in, cs_mesh_location_type_t location_in, const char *criteria_out, cs_mesh_location_type_t location_out)
Compute the head of a turbomachinery (total pressure increase)
Definition cs_post_util.c:367
void cs_post_evm_reynolds_stresses(cs_field_interpolate_t interpolation_type, cs_lnum_t n_cells, const cs_lnum_t cell_ids[], const cs_real_3_t *coords, cs_real_6_t *rst)
Compute Reynolds stresses in case of Eddy Viscosity Models.
Definition cs_post_util.c:695
void cs_b_face_criterion_probes_define(void *input, cs_lnum_t *n_elts, cs_real_3_t **coords, cs_real_t **s)
Define a profile based on centers of faces defined by a given criterion.
Definition cs_post_util.c:317
cs_real_t cs_post_scalar_boundary_integral(const cs_real_t *scalar_vals, const cs_lnum_t n_loc_b_faces, const cs_lnum_t b_face_ids[])
Compute the surface integral of a scalar array of values located on boundary faces over a selection o...
Definition cs_post_util.c:1007
cs_real_t cs_post_bnd_scalar_b_zone_mean(const cs_zone_t *z, const cs_real_t *scalar_vals)
Compute the surface mean of a scalar over a boundary zone faces, for an array of values located on th...
Definition cs_post_util.c:1266
cs_real_t cs_post_bnd_scalar_boundary_integral(const cs_real_t *scalar_vals, const cs_lnum_t n_loc_b_faces, const cs_lnum_t b_face_ids[])
Compute the surface integral over a selection of boundary faces for a scalar array of values located ...
Definition cs_post_util.c:1051
void cs_post_b_total_pressure(cs_lnum_t n_b_faces, const cs_lnum_t b_face_ids[], cs_real_t pres[])
Compute total pressure on a specific boundary region.
Definition cs_post_util.c:652
cs_real_t cs_post_bnd_scalar_boundary_mean(const cs_real_t *scalar_vals, const cs_lnum_t n_loc_b_faces, const cs_lnum_t b_face_ids[])
Compute the surface mean over a selection of boundary faces for a scalar array of values located over...
Definition cs_post_util.c:1146
void cs_post_b_pressure(cs_lnum_t n_b_faces, const cs_lnum_t b_face_ids[], cs_real_t pres[])
Compute pressure on a specific boundary region.
Definition cs_post_util.c:577
void cs_cell_segment_intersect_select(void *input, cs_lnum_t *n_cells, cs_lnum_t **cell_ids)
Select cells cut by a given segment.
Definition cs_post_util.c:167
void cs_post_field_cell_to_b_face_values(const cs_field_t *f, cs_lnum_t n_loc_b_faces, const cs_lnum_t b_face_ids[], cs_real_t *b_val)
Compute values at a selection of boundary faces of a given field located on cells.
Definition cs_post_util.c:888
void cs_post_stress_tangential(cs_lnum_t n_b_faces, const cs_lnum_t b_face_ids[], cs_real_3_t stress[])
Compute tangential stress on a specific boundary.
Definition cs_post_util.c:539
Field descriptor.
Definition cs_field.h:130
Definition cs_zone.h:55