src/fvm/fvm_nodal_extrude.h Source File

| programmer's documentation

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
fvm_nodal_extrude.h
Go to the documentation of this file.
1 #ifndef __FVM_NODAL_EXTRUDE_H__
2 #define __FVM_NODAL_EXTRUDE_H__
3
4 /*============================================================================
5 * Extrusion of a nodal representation associated with a mesh
6 *============================================================================*/
7
8 /*
9 This file is part of Code_Saturne, a general-purpose CFD tool.
10
11 Copyright (C) 1998-2013 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 #include "cs_defs.h"
31
32 /*----------------------------------------------------------------------------
33 * Local headers
34 *----------------------------------------------------------------------------*/
35
36 #include "fvm_defs.h"
37 #include "fvm_nodal.h"
38
39 /*----------------------------------------------------------------------------*/
40
41 BEGIN_C_DECLS
42
43 /*=============================================================================
44 * Public function prototypes
45 *============================================================================*/
46
47 /*----------------------------------------------------------------------------
48 * Extrude nodal mesh.
49 *
50 * Vertex and element parent numbering is removed if present.
51
52 * Note: layout of new elements in memory is such that the definitions
53 * of all elements extruded from a same ancestor are contiguous.
54 * that is, {e_1, e_2, ..., e_n} leads to
55 * {e_1_layer_1, ..., e_1_layer_m, e_2_layer_1, ... e_n_layer_m}
56 *
57 * parameters:
58 * this_section <-> pointer to structure that should be extruded
59 * n_layers <-> number of extruded layers
60 * extrusion_vectors <-> length and direction of extrusion for each vertex;
61 * size: mesh_spatial_dim . n_vertices
62 * distribution <-> optional distribution of resulting vertices
63 * along each extrusion vector (size: n_layers + 1)
64 * with values ranging from 0 to 1, or NULL for
65 * a regular distribution.
66 *----------------------------------------------------------------------------*/
67
68 void
69 fvm_nodal_extrude(fvm_nodal_t *this_nodal,
70 const cs_lnum_t n_layers,
71 const cs_coord_t extrusion_vectors[],
72 const cs_coord_t distribution[]);
73
74 /*----------------------------------------------------------------------------*/
75
76 END_C_DECLS
77
78 #endif /* __FVM_NODAL_EXTRUDE_H__ */