8.3
general 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-2024 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
61void
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
72void
73cs_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
86void
87cs_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
100void
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
117void
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 ids (ordered on exit)
131 * n_b_clean_faces <-- number of border faces cleaned
132 * b_clean_faces <-> list of border face ids (ordered on exit)
133 * param <-- set of parameters for the joining operation
134 *---------------------------------------------------------------------------*/
135
136void
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
152void
153cs_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__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
uint64_t cs_gnum_t
global mesh entity number
Definition: cs_defs.h:325
#define END_C_DECLS
Definition: cs_defs.h:543
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:335
void cs_join_post_init(void)
Definition: cs_join_post.cpp:244
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.cpp:646
void cs_join_post_dump_mesh(const char *basename, const cs_join_mesh_t *mesh, cs_join_param_t param)
Definition: cs_join_post.cpp:704
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.cpp:538
void cs_join_post_mesh(const char *mesh_name, const cs_join_mesh_t *join_mesh)
Definition: cs_join_post.cpp:274
void cs_join_post_after_merge(cs_join_param_t join_param, const cs_join_select_t *join_select)
Definition: cs_join_post.cpp:438
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.cpp:403
Definition: mesh.f90:26
Definition: cs_join_util.h:115
Definition: cs_mesh.h:85