1 #ifndef __CS_JOIN_POST_H__ 2 #define __CS_JOIN_POST_H__ 3 4 /*============================================================================ 5 * Subroutines to manage post-treatment for joining operation 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 * Standard C library headers 32 *----------------------------------------------------------------------------*/ 33 34 /*---------------------------------------------------------------------------- 35 * Local headers 36 *----------------------------------------------------------------------------*/ 37 38 #include "fvm_nodal.h" 39 #include "fvm_writer.h" 40 41 #include "cs_join_mesh.h" 42 #include "cs_join_util.h" 43 #include "cs_mesh.h" 44 45 /*----------------------------------------------------------------------------*/ 46 47 BEGIN_C_DECLS 48 49 /*============================================================================ 50 * Macro and type definitions 51 *============================================================================*/ 52 53 /*============================================================================ 54 * Public function prototypes 55 *============================================================================*/ 56 57 /*---------------------------------------------------------------------------- 58 * Create and define a writer to make post-treatment for the joining operation 59 *---------------------------------------------------------------------------*/ 60 61 void 62 cs_join_post_init(void); 63 64 /*---------------------------------------------------------------------------- 65 * Post-treatment of a cs_join_mesh_t structure. 66 * 67 * parameters: 68 * mesh_name <-- name of the mesh for the post-processing 69 * mesh <-- pointer to a cs_join_mesh_t structure to post 70 *---------------------------------------------------------------------------*/ 71 72 void 73 cs_join_post_mesh(const char *mesh_name, 74 const cs_join_mesh_t *join_mesh); 75 76 /*---------------------------------------------------------------------------- 77 * Post-process a subset of faces of a cs_join_mesh_t structure. 78 * 79 * parameters: 80 * mesh_name <-- name of the sub-set mesh 81 * mesh <-- pointer to the parent cs_join_mesh_t structure 82 * n_selected_faces <-- number of selected faces (size of the sub-set) 83 * selected_faces <-- list of local number in parent mesh 84 *---------------------------------------------------------------------------*/ 85 86 void 87 cs_join_post_faces_subset(const char *mesh_name, 88 const cs_join_mesh_t *parent_mesh, 89 cs_lnum_t n_select_faces, 90 const cs_lnum_t selected_faces[]); 91 92 /*---------------------------------------------------------------------------- 93 * Post-process mesh after the update following the fusion operation. 94 * 95 * parameters: 96 * join_param <-- set of parameters for the joining operation 97 * join_select <-- list of all implied entities in the joining operation 98 *---------------------------------------------------------------------------*/ 99 100 void 101 cs_join_post_after_merge(cs_join_param_t join_param, 102 const cs_join_select_t *join_select); 103 104 105 /*---------------------------------------------------------------------------- 106 * Post-process mesh after the update following the split operation. 107 * 108 * parameters: 109 * n_old_i_faces <-- initial number of interior faces 110 * n_old_b_faces <-- initial number of border faces 111 * n_g_new_b_faces <-- global number of new border faces 112 * n_select_faces <-- number of selected faces 113 * mesh <-- pointer to a cs_mesh_t structure 114 * join_param <-- set of parameters for the joining operation 115 *---------------------------------------------------------------------------*/ 116 117 void 118 cs_join_post_after_split(cs_lnum_t n_old_i_faces, 119 cs_lnum_t n_old_b_faces, 120 cs_gnum_t n_g_new_b_faces, 121 cs_lnum_t n_select_faces, 122 const cs_mesh_t *mesh, 123 cs_join_param_t join_param); 124 125 /*---------------------------------------------------------------------------- 126 * Post-process mesh after the update following the split operation. 127 * 128 * parameters: 129 * n_i_clean_faces <-- number of interior faces cleaned 130 * i_clean_faces <-> list of interior face numbers (ordered on exit) 131 * n_b_clean_faces <-- number of border faces cleaned 132 * b_clean_faces <-> list of border face numbers (ordered on exit) 133 * param <-- set of parameters for the joining operation 134 *---------------------------------------------------------------------------*/ 135 136 void 137 cs_join_post_cleaned_faces(cs_lnum_t n_i_clean_faces, 138 cs_lnum_t i_clean_faces[], 139 cs_lnum_t n_b_clean_faces, 140 cs_lnum_t b_clean_faces[], 141 cs_join_param_t param); 142 143 /*---------------------------------------------------------------------------- 144 * Post and dump a cs_join_mesh_t according to the verbosity level. 145 * 146 * parameters: 147 * basename <-- generic name for the mesh to post 148 * mesh <-- fvm_join_mesh_t structure to post 149 * param <-- fvm_join_param_t structure 150 *---------------------------------------------------------------------------*/ 151 152 void 153 cs_join_post_dump_mesh(const char *basename, 154 const cs_join_mesh_t *mesh, 155 cs_join_param_t param); 156 157 /*----------------------------------------------------------------------------*/ 158 159 END_C_DECLS 160 161 #endif /* __CS_JOIN_POST_H__ */ 162