src/mesh/cs_join_post.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_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-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 /*----------------------------------------------------------------------------
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__ */