My Project
programmer's documentation
cs_join_split.h
Go to the documentation of this file.
1 #ifndef __CS_JOIN_SPLIT_H__
2 #define __CS_JOIN_SPLIT_H__
3 
4 /*============================================================================
5  * Set of subroutines for cutting faces during face joining.
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  * Local headers
32  *---------------------------------------------------------------------------*/
33 
34 #include "cs_base.h"
35 #include "cs_join_mesh.h"
36 #include "cs_join_set.h"
37 #include "cs_join_util.h"
38 
39 /*---------------------------------------------------------------------------*/
40 
42 
43 /*============================================================================
44  * Macro and type definitions
45  *===========================================================================*/
46 
47 /*============================================================================
48  * Public function prototypes
49  *===========================================================================*/
50 
51 /*----------------------------------------------------------------------------
52  * Build new faces after the vertex fusion operation. Split initial faces into
53  * subfaces and keep the historic between initial/final faces.
54  *
55  * parameters:
56  * param <-- set of user-defined parameters
57  * face_normal <-- array of normal vector on each face
58  * edges <-- list of edges
59  * work <-> pointer to a cs_join_mesh_t structure
60  * old2new_history <-> relation between new faces and old one:
61  * old global face -> new local face
62  *---------------------------------------------------------------------------*/
63 
64 void
66  const cs_real_t face_normal[],
67  const cs_join_edges_t *edges,
68  cs_join_mesh_t **work,
69  cs_join_gset_t **old2new_history);
70 
71 /*----------------------------------------------------------------------------
72  * Update after face splitting of the local join mesh structure.
73  * Send back to the original rank the new face description.
74  *
75  * parameters:
76  * param <-- set of user-defined parameters
77  * work_mesh <-- distributed mesh on faces to join
78  * gnum_rank_index <-- index on ranks for the old global face numbering
79  * o2n_hist <-> old global face -> new local face numbering
80  * local_mesh <-> mesh on local selected faces to be joined
81  *---------------------------------------------------------------------------*/
82 
83 void
85  const cs_join_mesh_t *work_mesh,
86  const cs_gnum_t gnum_rank_index[],
87  cs_join_gset_t **o2n_hist,
88  cs_join_mesh_t **local_mesh);
89 
90 /*---------------------------------------------------------------------------*/
91 
93 
94 #endif /* __CS_JOIN_SPLIT_H__ */
cs_join_split_faces
void cs_join_split_faces(cs_join_param_t param, const cs_real_t face_normal[], const cs_join_edges_t *edges, cs_join_mesh_t **work, cs_join_gset_t **old2new_history)
Definition: cs_join_split.c:1842
END_C_DECLS
#define END_C_DECLS
Definition: cs_defs.h:468
cs_real_t
double cs_real_t
Floating-point value.
Definition: cs_defs.h:302
BEGIN_C_DECLS
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
cs_join_util.h
cs_gnum_t
unsigned long cs_gnum_t
global mesh entity number
Definition: cs_defs.h:286
cs_join_mesh.h
cs_join_param_t
Definition: cs_join_util.h:115
cs_join_set.h
cs_join_split_update_struct
void cs_join_split_update_struct(const cs_join_param_t param, const cs_join_mesh_t *work_mesh, const cs_gnum_t gnum_rank_index[], cs_join_gset_t **o2n_hist, cs_join_mesh_t **local_mesh)
Definition: cs_join_split.c:2256
cs_base.h