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