1
/*============================================================================
3
* This file is part of the Code_Saturne Kernel, element of the
4
* Code_Saturne CFD tool.
6
* Copyright (C) 1998-2009 EDF S.A., France
8
* contact: saturne-support@edf.fr
10
* The Code_Saturne Kernel is free software; you can redistribute it
11
* and/or modify it under the terms of the GNU General Public License
12
* as published by the Free Software Foundation; either version 2 of
13
* the License, or (at your option) any later version.
15
* The Code_Saturne Kernel is distributed in the hope that it will be
16
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
17
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
20
* You should have received a copy of the GNU General Public License
21
* along with the Code_Saturne Kernel; if not, write to the
22
* Free Software Foundation, Inc.,
23
* 51 Franklin St, Fifth Floor,
24
* Boston, MA 02110-1301 USA
26
*============================================================================*/
28
#ifndef __CS_SELECTOR_H__
29
#define __CS_SELECTOR_H__
31
/*============================================================================
32
* Build selection lists for faces or cells
33
*============================================================================*/
37
/*----------------------------------------------------------------------------*/
41
/*============================================================================
42
* Public functions definition for Fortran API
43
*============================================================================*/
45
/*----------------------------------------------------------------------------
46
* Build a list of boundary faces verifying a given selection criteria.
47
*----------------------------------------------------------------------------*/
49
void CS_PROCF(csgfbr, CSGFBR)
51
const char *const fstr, /* <-- Fortran string */
52
cs_int_t *const len, /* <-- String Length */
53
cs_int_t *const n_faces, /* --> number of faces */
54
cs_int_t *const face_list /* --> face list */
58
/*----------------------------------------------------------------------------
59
* Build a list of interior faces verifying a given selection criteria.
60
*----------------------------------------------------------------------------*/
62
void CS_PROCF(csgfac, CSGFAC)
64
const char *const fstr, /* <-- Fortran string */
65
cs_int_t *const len, /* <-- String Length */
66
cs_int_t *const n_faces, /* --> number of faces */
67
cs_int_t *const face_list /* --> face list */
71
/*----------------------------------------------------------------------------
72
* Build a list of cells verifying a given selection criteria.
73
*----------------------------------------------------------------------------*/
75
void CS_PROCF(csgcel, CSGCEL)
77
const char *const fstr, /* <-- Fortran string */
78
cs_int_t *const len, /* <-- String Length */
79
cs_int_t *const n_cells, /* --> number of cells */
80
cs_int_t *const cell_list /* --> cell list */
84
/*=============================================================================
85
* Public function prototypes
86
*============================================================================*/
88
/*----------------------------------------------------------------------------
89
* Fill a list of boundary faces verifying a given selection criteria.
92
* criteria <-- selection criteria string
93
* n_b_faces --> number of selected interior faces
94
* b_face_list --> list of selected boundary faces
95
* (1 to n, preallocated to cs_glob_mesh->n_b_faces)
96
*----------------------------------------------------------------------------*/
99
cs_selector_get_b_face_list(const char *criteria,
100
fvm_lnum_t *n_b_faces,
101
fvm_lnum_t b_face_list[]);
103
/*----------------------------------------------------------------------------
104
* Fill a list of interior faces verifying a given selection criteria.
107
* criteria <-- selection criteria string
108
* n_i_faces --> number of selected interior faces
109
* i_face_list --> list of selected interior faces
110
* (1 to n, preallocated to cs_glob_mesh->n_i_faces)
111
*----------------------------------------------------------------------------*/
114
cs_selector_get_i_face_list(const char *criteria,
115
fvm_lnum_t *n_i_faces,
116
fvm_lnum_t i_face_list[]);
118
/*----------------------------------------------------------------------------
119
* Fill a list of cells verifying a given selection criteria.
122
* criteria <-- selection criteria string
123
* n_cells --> number of selected cells
124
* cell_list --> list of selected cells
125
* (1 to n, preallocated to cs_glob_mesh->n_cells)
126
*----------------------------------------------------------------------------*/
129
cs_selector_get_cell_list(const char *criteria,
131
fvm_lnum_t cell_list[]);
133
/*----------------------------------------------------------------------------*/
137
#endif /* __CS_SELECTOR_H__ */