1 #ifndef __CS_MESH_COARSEN_H__ 2 #define __CS_MESH_COARSEN_H__ 3 4 /*============================================================================ 5 * Mesh coarsening. 6 *============================================================================*/ 7 8 /* 9 This file is part of Code_Saturne, a general-purpose CFD tool. 10 11 Copyright (C) 1998-2021 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 "cs_base.h" 35 #include "cs_mesh.h" 36 37 /*----------------------------------------------------------------------------*/ 38 39 BEGIN_C_DECLS 40 41 /*============================================================================ 42 * Macro definitions 43 *============================================================================*/ 44 45 /*============================================================================ 46 * Type definitions 47 *============================================================================*/ 48 49 /*============================================================================= 50 * Public function prototypes 51 *============================================================================*/ 52 53 /*----------------------------------------------------------------------------*/ 54 /*! 55 * \brief Coarsen flagged mesh cells. 56 * 57 * \param[in, out] m mesh 58 * \param[in] cell_flag coarsening flag for each cell 59 * (0: do not coarsen; 1: coarsen) 60 */ 61 /*----------------------------------------------------------------------------*/ 62 63 void 64 cs_mesh_coarsen_simple(cs_mesh_t *m, 65 const int cell_flag[]); 66 67 /*----------------------------------------------------------------------------*/ 68 /*! 69 * \brief Coarsen selected mesh cells. 70 * 71 * \param[in, out] m mesh 72 * \param[in] n_cells number of selected cells 73 * \param[in] cells list of selected cells (0 to n-1) 74 * or NULL if no indirection is needed 75 */ 76 /*----------------------------------------------------------------------------*/ 77 78 void 79 cs_mesh_coarsen_simple_selected(cs_mesh_t *m, 80 cs_lnum_t n_cells, 81 const cs_lnum_t cells[]); 82 83 /*----------------------------------------------------------------------------*/ 84 85 END_C_DECLS 86 87 #endif /* __CS_MESH_COARSEN_H__ */ 88