8.3
general documentation
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-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_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/*----------------------------------------------------------------------------*/
119/*----------------------------------------------------------------------------*/
120
121void
123 cs_lnum_t n_points,
124 cs_lnum_t *n_cells,
125 cs_lnum_t **cell_ids,
126 cs_real_t **seg_c_len,
127 cs_real_3_t **seg_c_cen);
128
129/*----------------------------------------------------------------------------*/
160/*----------------------------------------------------------------------------*/
161
162void
164 cs_lnum_t *n_elts,
165 cs_real_3_t **coords,
166 cs_real_t **s);
167
168/*----------------------------------------------------------------------------*/
180/*----------------------------------------------------------------------------*/
181
182void
184 cs_lnum_t *n_elts,
185 cs_real_3_t **coords,
186 cs_real_t **s);
187
188/*----------------------------------------------------------------------------*/
199/*----------------------------------------------------------------------------*/
200
202cs_post_turbomachinery_head(const char *criteria_in,
203 cs_mesh_location_type_t location_in,
204 const char *criteria_out,
205 cs_mesh_location_type_t location_out);
206
207/*----------------------------------------------------------------------------*/
218/*----------------------------------------------------------------------------*/
219
222 const cs_lnum_t b_face_ids[],
223 cs_real_t axis[3]);
224
225/*----------------------------------------------------------------------------*/
234/*----------------------------------------------------------------------------*/
235
236void
238 const cs_lnum_t b_face_ids[],
239 cs_real_3_t stress[]);
240
241/*----------------------------------------------------------------------------*/
249/*----------------------------------------------------------------------------*/
250
251void
253 const cs_lnum_t b_face_ids[],
254 cs_real_t pres[]);
255
256/*----------------------------------------------------------------------------*/
264/*----------------------------------------------------------------------------*/
265
266void
268 const cs_lnum_t b_face_ids[],
269 cs_real_t pres[]);
270
271/*----------------------------------------------------------------------------*/
284/*----------------------------------------------------------------------------*/
285
286void
288 cs_lnum_t n_cells,
289 const cs_lnum_t cell_ids[],
290 const cs_real_3_t *coords,
291 cs_real_6_t *rst);
292
293/*----------------------------------------------------------------------------*/
304/*----------------------------------------------------------------------------*/
305
306void
308 const cs_lnum_t cell_ids[],
309 const cs_real_t coords[][3],
310 cs_real_t inv[][2]);
311
312/*----------------------------------------------------------------------------*/
323/*----------------------------------------------------------------------------*/
324
325void
326cs_post_boundary_flux(const char *scalar_name,
327 cs_lnum_t n_loc_b_faces,
328 const cs_lnum_t b_face_ids[],
329 cs_real_t b_face_flux[]);
330
331/*----------------------------------------------------------------------------*/
344/*----------------------------------------------------------------------------*/
345
346void
348 cs_lnum_t n_loc_b_faces,
349 const cs_lnum_t b_face_ids[],
350 cs_real_t *b_val);
351
352/*----------------------------------------------------------------------------*/
363/*----------------------------------------------------------------------------*/
364
367 const cs_lnum_t n_loc_b_faces,
368 const cs_lnum_t b_face_ids[]);
369
370/*----------------------------------------------------------------------------*/
381/*----------------------------------------------------------------------------*/
382
385 const cs_lnum_t n_loc_b_faces,
386 const cs_lnum_t b_face_ids[]);
387
388/*----------------------------------------------------------------------------*/
400/*----------------------------------------------------------------------------*/
401
403cs_post_scalar_boundary_mean(const cs_real_t *scalar_vals,
404 const cs_lnum_t n_loc_b_faces,
405 const cs_lnum_t b_face_ids[]);
406
407/*----------------------------------------------------------------------------*/
419/*----------------------------------------------------------------------------*/
420
423 const cs_lnum_t n_loc_b_faces,
424 const cs_lnum_t b_face_ids[]);
425
426/*----------------------------------------------------------------------------*/
436/*----------------------------------------------------------------------------*/
437
440 const cs_real_t *scalar_vals);
441
442/*----------------------------------------------------------------------------*/
452/*----------------------------------------------------------------------------*/
453
456 const cs_real_t *scalar_vals);
457
458/*----------------------------------------------------------------------------*/
469/*----------------------------------------------------------------------------*/
470
473 const cs_real_t *scalar_vals);
474
475/*----------------------------------------------------------------------------*/
486/*----------------------------------------------------------------------------*/
487
490 const cs_real_t *scalar_vals);
491
492/*----------------------------------------------------------------------------*/
493
495
496#endif /* __CS_POST_UTIL_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
double cs_real_t
Floating-point value.
Definition: cs_defs.h:342
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:359
cs_real_t cs_real_6_t[6]
vector of 6 floating-point values
Definition: cs_defs.h:361
#define END_C_DECLS
Definition: cs_defs.h:543
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:335
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.cpp:1203
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.cpp:850
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.cpp:1246
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.cpp:1106
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.cpp:259
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.cpp:512
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.cpp:1224
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.cpp:378
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.cpp:706
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.cpp:328
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.cpp:1017
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, cs_real_3_t **seg_c_cen)
Select cells cut by a line composed of segments.
Definition: cs_post_util.cpp:210
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.cpp:1276
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.cpp:1061
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.cpp:663
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.cpp:1156
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.cpp:588
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.cpp: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.cpp:899
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.cpp:550
Field descriptor.
Definition: cs_field.h:131
Definition: cs_zone.h:55