My Project
programmer's documentation
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-2019 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 
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
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 
160 
161 #endif /* __CS_JOIN_POST_H__ */
cs_join_post_after_merge
void cs_join_post_after_merge(cs_join_param_t join_param, const cs_join_select_t *join_select)
Definition: cs_join_post.c:437
END_C_DECLS
#define END_C_DECLS
Definition: cs_defs.h:468
fvm_writer.h
BEGIN_C_DECLS
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
cs_join_post_faces_subset
void cs_join_post_faces_subset(const char *mesh_name, const cs_join_mesh_t *parent_mesh, cs_lnum_t n_select_faces, const cs_lnum_t selected_faces[])
Definition: cs_join_post.c:402
cs_join_util.h
mesh
Definition: mesh.f90:26
cs_mesh.h
cs_join_post_init
void cs_join_post_init(void)
Definition: cs_join_post.c:244
cs_gnum_t
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:286
cs_join_post_dump_mesh
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:685
cs_join_post_mesh
void cs_join_post_mesh(const char *mesh_name, const cs_join_mesh_t *join_mesh)
Definition: cs_join_post.c:274
cs_lnum_t
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:298
cs_join_mesh.h
cs_join_param_t
Definition: cs_join_util.h:115
cs_join_post_after_split
void cs_join_post_after_split(cs_lnum_t n_old_i_faces, cs_lnum_t n_old_b_faces, cs_gnum_t n_g_new_b_faces, cs_lnum_t n_select_faces, const cs_mesh_t *mesh, cs_join_param_t join_param)
Definition: cs_join_post.c:519
cs_join_post_cleaned_faces
void cs_join_post_cleaned_faces(cs_lnum_t n_i_clean_faces, cs_lnum_t i_clean_faces[], cs_lnum_t n_b_clean_faces, cs_lnum_t b_clean_faces[], cs_join_param_t param)
Definition: cs_join_post.c:627
fvm_nodal.h
cs_mesh_t
Definition: cs_mesh.h:63