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
src
fvm
fvm_nodal_append.h
Go to the documentation of this file.
1
#ifndef __FVM_NODAL_APPEND_H__
2
#define __FVM_NODAL_APPEND_H__
3
4
/*============================================================================
5
* Append sections to 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
* Macro definitions
45
*============================================================================*/
46
47
/*============================================================================
48
* Type definitions
49
*============================================================================*/
50
51
/*=============================================================================
52
* Static global variables
53
*============================================================================*/
54
55
/*=============================================================================
56
* Public function prototypes
57
*============================================================================*/
58
59
/*----------------------------------------------------------------------------
60
* Append a new section to an existing fvm_nodal mesh, and transfer
61
* ownership of the given connectivity and optional parent number arrays to
62
* that section.
63
*
64
* parameters:
65
* this_nodal <-> nodal mesh structure
66
* n_elements <-- number of elements to add
67
* type <-- type of elements to add
68
* face_index <-- polyhedron -> faces index (O to n-1)
69
* size: n_elements + 1
70
* face_num <-- polyhedron -> face numbers (1 to n, signed,
71
* > 0 for outwards pointing face normal
72
* < 0 for inwards pointing face normal);
73
* size: face_index[n_elements]
74
* vertex_index <-- polygon face -> vertices index (O to n-1)
75
* size: face_index[n_elements]
76
* vertex_num <-- element -> vertex connectivity
77
* parent_element_num <-- element -> parent element number (1 to n) if non
78
* trivial (i.e. if element definitions correspond
79
* to a subset of the parent mesh), NULL otherwise
80
*----------------------------------------------------------------------------*/
81
82
void
83
fvm_nodal_append_by_transfer
(fvm_nodal_t *this_nodal,
84
cs_lnum_t
n_elements,
85
fvm_element_t
type,
86
cs_lnum_t
face_index[],
87
cs_lnum_t
face_num[],
88
cs_lnum_t
vertex_index[],
89
cs_lnum_t
vertex_num[],
90
cs_lnum_t
parent_element_num[]);
91
92
/*----------------------------------------------------------------------------
93
* Append a new section to an existing fvm_nodal mesh, sharing the given
94
* given connectivity and optional parent number arrays with the caller.
95
*
96
* The caller should not destroy or modify the arrays passed to this
97
* function until the nodal mesh is destroyed.
98
*
99
* parameters:
100
* this_nodal <-> nodal mesh structure
101
* n_elements <-- number of elements to add
102
* type <-- type of elements to add
103
* face_index <-- polyhedron -> faces index (O to n-1)
104
* size: n_elements + 1
105
* face_num <-- polyhedron -> face numbers (1 to n, signed,
106
* > 0 for outwards pointing face normal
107
* < 0 for inwards pointing face normal);
108
* size: face_index[n_elements]
109
* vertex_index <-- polygon face -> vertices index (O to n-1)
110
* size: face_index[n_elements]
111
* vertex_num <-- element -> vertex connectivity
112
* parent_element_num <-- element -> parent element number (1 to n) if non
113
* trivial (i.e. if element definitions correspond
114
* to a subset of the parent mesh), NULL otherwise
115
*----------------------------------------------------------------------------*/
116
117
void
118
fvm_nodal_append_shared
(fvm_nodal_t *this_nodal,
119
cs_lnum_t
n_elements,
120
fvm_element_t
type,
121
cs_lnum_t
face_index[],
122
cs_lnum_t
face_num[],
123
cs_lnum_t
vertex_index[],
124
cs_lnum_t
vertex_num[],
125
cs_lnum_t
parent_element_num[]);
126
127
/*----------------------------------------------------------------------------*/
128
129
END_C_DECLS
130
131
#endif
/* __FVM_NODAL_APPEND_H__ */
Generated on Thu Feb 27 2014 19:21:34 by
1.8.3.1