src/base/cs_selector.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
cs_selector.h
Go to the documentation of this file.
1 #ifndef __CS_SELECTOR_H__
2 #define __CS_SELECTOR_H__
3
4 /*============================================================================
5 * Build selection lists for faces or cells
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_base.h"
31
32 /*----------------------------------------------------------------------------*/
33
34 BEGIN_C_DECLS
35
36 /*============================================================================
37 * Public function prototypes for Fortran API
38 *============================================================================*/
39
40 /*----------------------------------------------------------------------------
41 * Build a list of boundary faces verifying a given selection criteria.
42 *----------------------------------------------------------------------------*/
43
44 void CS_PROCF(csgfbr, CSGFBR)
45 (
46 const char *const fstr, /* <-- Fortran string */
47 cs_int_t *const len, /* <-- String Length */
48 cs_int_t *const n_faces, /* --> number of faces */
49 cs_int_t *const face_list /* --> face list */
50 CS_ARGF_SUPP_CHAINE
51 );
52
53 /*----------------------------------------------------------------------------
54 * Build a list of interior faces verifying a given selection criteria.
55 *----------------------------------------------------------------------------*/
56
57 void CS_PROCF(csgfac, CSGFAC)
58 (
59 const char *const fstr, /* <-- Fortran string */
60 cs_int_t *const len, /* <-- String Length */
61 cs_int_t *const n_faces, /* --> number of faces */
62 cs_int_t *const face_list /* --> face list */
63 CS_ARGF_SUPP_CHAINE
64 );
65
66 /*----------------------------------------------------------------------------
67 * Build a list of cells verifying a given selection criteria.
68 *----------------------------------------------------------------------------*/
69
70 void CS_PROCF(csgcel, CSGCEL)
71 (
72 const char *const fstr, /* <-- Fortran string */
73 cs_int_t *const len, /* <-- String Length */
74 cs_int_t *const n_cells, /* --> number of cells */
75 cs_int_t *const cell_list /* --> cell list */
76 CS_ARGF_SUPP_CHAINE
77 );
78
79 /*----------------------------------------------------------------------------
80 * Build a list of cells verifying a given selection criteria.
81 *----------------------------------------------------------------------------*/
82
83 void CS_PROCF(csgceb, CSGCEB)
84 (
85 const char *const fstr, /* <-- Fortran string */
86 cs_int_t *const len, /* <-- String Length */
87 cs_int_t *const n_i_faces, /* --> number of interior faces */
88 cs_int_t *const n_b_faces, /* --> number of boundary faces */
89 cs_int_t *const i_face_list, /* --> interior face list */
90 cs_int_t *const b_face_list /* --> boundary face list */
91 CS_ARGF_SUPP_CHAINE
92 );
93
94 /*----------------------------------------------------------------------------
95 * Build a list of interior faces belonging to a given periodicity.
96 *----------------------------------------------------------------------------*/
97
98 void CS_PROCF(getfpe, GETFPE)
99 (
100 cs_int_t *const perio_num, /* <-- Periodicity number */
101 cs_int_t *const n_faces, /* --> number of faces */
102 cs_int_t *const face_list /* --> face list */
103 CS_ARGF_SUPP_CHAINE
104 );
105
106 /*----------------------------------------------------------------------------
107 * Build a list of families verifying a given selection criteria.
108 *----------------------------------------------------------------------------*/
109
110 void CS_PROCF(csgfam, CSGFAM)
111 (
112 const char *const fstr, /* <-- Fortran string */
113 cs_int_t *const len, /* <-- String Length */
114 cs_int_t *const n_families, /* --> number of families */
115 cs_int_t *const family_list /* --> family list */
116 CS_ARGF_SUPP_CHAINE
117 );
118
119 /*=============================================================================
120 * Public function prototypes
121 *============================================================================*/
122
123 /*----------------------------------------------------------------------------
124 * Fill a list of boundary faces verifying a given selection criteria.
125 *
126 * parameters:
127 * criteria <-- selection criteria string
128 * n_b_faces --> number of selected interior faces
129 * b_face_list --> list of selected boundary faces
130 * (1 to n, preallocated to cs_glob_mesh->n_b_faces)
131 *----------------------------------------------------------------------------*/
132
133 void
134 cs_selector_get_b_face_list(const char *criteria,
135 cs_lnum_t *n_b_faces,
136 cs_lnum_t b_face_list[]);
137
138 /*----------------------------------------------------------------------------
139 * Fill a list of interior faces verifying a given selection criteria.
140 *
141 * parameters:
142 * criteria <-- selection criteria string
143 * n_i_faces --> number of selected interior faces
144 * i_face_list --> list of selected interior faces
145 * (1 to n, preallocated to cs_glob_mesh->n_i_faces)
146 *----------------------------------------------------------------------------*/
147
148 void
149 cs_selector_get_i_face_list(const char *criteria,
150 cs_lnum_t *n_i_faces,
151 cs_lnum_t i_face_list[]);
152
153 /*----------------------------------------------------------------------------
154 * Fill a list of cells verifying a given selection criteria.
155 *
156 * parameters:
157 * criteria <-- selection criteria string
158 * n_cells --> number of selected cells
159 * cell_list --> list of selected cells
160 * (1 to n, preallocated to cs_glob_mesh->n_cells)
161 *----------------------------------------------------------------------------*/
162
163 void
164 cs_selector_get_cell_list(const char *criteria,
165 cs_lnum_t *n_cells,
166 cs_lnum_t cell_list[]);
167
168 /*----------------------------------------------------------------------------
169 * Fill lists of faces at the boundary of a set of cells verifying a given
170 * selection criteria.
171 *
172 * parameters:
173 * criteria <-- selection criteria string
174 * n_i_faces --> number of selected interior faces
175 * n_b_faces --> number of selected interior faces
176 * i_face_list --> list of selected interior faces
177 * (1 to n, preallocated to cs_glob_mesh->n_i_faces)
178 * b_face_list --> list of selected boundary faces
179 * (1 to n, preallocated to cs_glob_mesh->n_b_faces)
180 *----------------------------------------------------------------------------*/
181
182 void
183 cs_selector_get_cells_boundary(const char *criteria,
184 cs_lnum_t *n_i_faces,
185 cs_lnum_t *n_b_faces,
186 cs_lnum_t i_face_list[],
187 cs_lnum_t b_face_list[]);
188
189 /*----------------------------------------------------------------------------
190 * Fill a list of interior faces belonging to a given periodicity.
191 *
192 * parameters:
193 * perio_num <-- periodicity number
194 * n_i_faces --> number of selected interior faces
195 * i_face_list --> list of selected interior faces
196 * (1 to n, preallocated to cs_glob_mesh->n_i_faces)
197 *----------------------------------------------------------------------------*/
198
199 void
200 cs_selector_get_perio_face_list(int perio_num,
201 cs_lnum_t *n_i_faces,
202 cs_lnum_t i_face_list[]);
203
204 /*----------------------------------------------------------------------------
205 * Fill a list of families verifying a given selection criteria.
206 *
207 * parameters:
208 * criteria <-- selection criteria string
209 * n_families --> number of selected families
210 * family_list --> list of selected families
211 * (0 to n, preallocated to cs_glob_mesh->n_families + 1)
212 *----------------------------------------------------------------------------*/
213
214 void
215 cs_selector_get_family_list(const char *criteria,
216 cs_lnum_t *n_families,
217 cs_int_t family_list[]);
218
219 /*----------------------------------------------------------------------------*/
220
221 END_C_DECLS
222
223 #endif /* __CS_SELECTOR_H__ */