8.3
general documentation
cs_mesh_extrude.h
Go to the documentation of this file.
1#ifndef __CS_MESH_EXTRUDE_H__
2#define __CS_MESH_EXTRUDE_H__
3
4/*============================================================================
5 * Mesh extrusion.
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_mesh.h"
36
37/*----------------------------------------------------------------------------*/
38
40
41/*============================================================================
42 * Macro definitions
43 *============================================================================*/
44
45/*============================================================================
46 * Type definitions
47 *============================================================================*/
48
54typedef struct {
55
71
78typedef struct {
79
87 float *distribution;
93
94/*=============================================================================
95 * Public function prototypes
96 *============================================================================*/
97
98/*----------------------------------------------------------------------------*/
112/*----------------------------------------------------------------------------*/
113
114void
117 bool interior_gc);
118
119/*----------------------------------------------------------------------------*/
135/*----------------------------------------------------------------------------*/
136
137void
139 bool interior_gc,
140 cs_lnum_t n_layers,
141 double thickness,
142 double expansion_factor,
143 cs_lnum_t n_faces,
144 const cs_lnum_t faces[]);
145
146/*----------------------------------------------------------------------------*/
154/*----------------------------------------------------------------------------*/
155
158
159/*----------------------------------------------------------------------------*/
165/*----------------------------------------------------------------------------*/
166
167void
169
170/*----------------------------------------------------------------------------*/
183/*----------------------------------------------------------------------------*/
184
185void
187 int n_layers,
188 double distance,
189 float expansion_factor,
190 const cs_lnum_t n_faces,
191 const cs_lnum_t face_ids[]);
192
193/*----------------------------------------------------------------------------*/
205/*----------------------------------------------------------------------------*/
206
209
210/*----------------------------------------------------------------------------*/
217/*----------------------------------------------------------------------------*/
218
219void
221
222/*----------------------------------------------------------------------------*/
223
225
226#endif /* __CS_MESH_EXTRUDE_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
double cs_real_t
Floating-point value.
Definition: cs_defs.h:342
cs_coord_t cs_coord_3_t[3]
Definition: cs_defs.h:355
#define END_C_DECLS
Definition: cs_defs.h:543
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:335
void cs_mesh_extrude_face_info_destroy(cs_mesh_extrude_face_info_t **efi)
Destroy a mesh extrusion face information structure.
Definition: cs_mesh_extrude.cpp:2283
void cs_mesh_extrude_vectors_destroy(cs_mesh_extrude_vectors_t **e)
Destroy a mesh extrusion vectors definition.
Definition: cs_mesh_extrude.cpp:2392
cs_mesh_extrude_vectors_t * cs_mesh_extrude_vectors_create(const cs_mesh_extrude_face_info_t *efi)
Create and build a mesh extrusion vectors definition.
Definition: cs_mesh_extrude.cpp:2361
void cs_mesh_extrude(cs_mesh_t *m, const cs_mesh_extrude_vectors_t *e, bool interior_gc)
Extrude mesh boundary faces in the normal direction.
Definition: cs_mesh_extrude.cpp:1975
cs_mesh_extrude_face_info_t * cs_mesh_extrude_face_info_create(const cs_mesh_t *m)
Create a mesh extrusion face information structure.
Definition: cs_mesh_extrude.cpp:2249
void cs_mesh_extrude_set_info_by_zone(cs_mesh_extrude_face_info_t *efi, int n_layers, double distance, float expansion_factor, const cs_lnum_t n_faces, const cs_lnum_t face_ids[])
Set face extrusion information by zone.
Definition: cs_mesh_extrude.cpp:2314
void cs_mesh_extrude_constant(cs_mesh_t *m, bool interior_gc, cs_lnum_t n_layers, double thickness, double expansion_factor, cs_lnum_t n_faces, const cs_lnum_t faces[])
Extrude mesh boundary faces in the normal direction by a constant thickness.
Definition: cs_mesh_extrude.cpp:2206
Definition: cs_mesh_extrude.h:54
cs_lnum_t * n_layers
Definition: cs_mesh_extrude.h:56
cs_real_t * thickness_e
Definition: cs_mesh_extrude.h:67
cs_real_t * thickness_s
Definition: cs_mesh_extrude.h:65
float * expansion_factor
Definition: cs_mesh_extrude.h:63
cs_real_t * distance
Definition: cs_mesh_extrude.h:59
Definition: cs_mesh_extrude.h:78
cs_lnum_t * n_layers
Definition: cs_mesh_extrude.h:84
float * distribution
Definition: cs_mesh_extrude.h:87
cs_lnum_t * face_ids
Definition: cs_mesh_extrude.h:82
cs_lnum_t n_faces
Definition: cs_mesh_extrude.h:80
cs_lnum_t * distribution_idx
Definition: cs_mesh_extrude.h:86
cs_lnum_t * vertex_ids
Definition: cs_mesh_extrude.h:83
cs_lnum_t n_vertices
Definition: cs_mesh_extrude.h:81
cs_coord_3_t * coord_shift
Definition: cs_mesh_extrude.h:85
Definition: cs_mesh.h:85