Code_Saturne
CFD tool
src
fvm
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-2012 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 "
fvm_defs.h
"
35
#include "
fvm_nodal.h
"
36
37
/*----------------------------------------------------------------------------*/
38
39
#ifdef __cplusplus
40
extern
"C"
{
41
#if 0
42
}
/* Fake brace to force back Emacs auto-indentation back to column 0 */
43
#endif
44
#endif
/* __cplusplus */
45
46
/*=============================================================================
47
* Public function prototypes
48
*============================================================================*/
49
50
/*----------------------------------------------------------------------------
51
* Extrude nodal mesh.
52
*
53
* Vertex and element parent numbering is removed if present.
54
55
* Note: layout of new elements in memory is such that the definitions
56
* of all elements extruded from a same ancestor are contiguous.
57
* that is, {e_1, e_2, ..., e_n} leads to
58
* {e_1_layer_1, ..., e_1_layer_m, e_2_layer_1, ... e_n_layer_m}
59
*
60
* parameters:
61
* this_section <-> pointer to structure that should be extruded
62
* n_layers <-> number of extruded layers
63
* extrusion_vectors <-> length and direction of extrusion for each vertex;
64
* size: mesh_spatial_dim . n_vertices
65
* distribution <-> optional distribution of resulting vertices
66
* along each extrusion vector (size: n_layers + 1)
67
* with values ranging from 0 to 1, or NULL for
68
* a regular distribution.
69
*----------------------------------------------------------------------------*/
70
71
void
72
fvm_nodal_extrude
(
fvm_nodal_t
*this_nodal,
73
const
cs_lnum_t
n_layers,
74
const
cs_coord_t
extrusion_vectors[],
75
const
cs_coord_t
distribution[]);
76
77
/*----------------------------------------------------------------------------*/
78
79
#ifdef __cplusplus
80
}
81
#endif
/* __cplusplus */
82
83
#endif
/* __FVM_NODAL_EXTRUDE_H__ */
_fvm_nodal_t
Definition:
fvm_nodal_priv.h:152
cs_coord_t
double cs_coord_t
Definition:
cs_defs.h:261
fvm_nodal.h
cs_lnum_t
int cs_lnum_t
Definition:
cs_defs.h:260
fvm_defs.h
fvm_nodal_extrude
void fvm_nodal_extrude(fvm_nodal_t *this_nodal, const cs_lnum_t n_layers, const cs_coord_t extrusion_vectors[], const cs_coord_t distribution[])
Definition:
fvm_nodal_extrude.c:221
Generated on Thu Apr 27 2017 21:01:02 for Code_Saturne by
1.8.13