My Project
programmer's documentation
cs_join_update.h
Go to the documentation of this file.
1 #ifndef __CS_JOIN_UPDATE_H__
2 #define __CS_JOIN_UPDATE_H__
3 
4 /*============================================================================
5  * Structure and function headers handling with mesh update during
6  * the joining operation
7  *===========================================================================*/
8 
9 /*
10  This file is part of Code_Saturne, a general-purpose CFD tool.
11 
12  Copyright (C) 1998-2019 EDF S.A.
13 
14  This program is free software; you can redistribute it and/or modify it under
15  the terms of the GNU General Public License as published by the Free Software
16  Foundation; either version 2 of the License, or (at your option) any later
17  version.
18 
19  This program is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
21  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
22  details.
23 
24  You should have received a copy of the GNU General Public License along with
25  this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
26  Street, Fifth Floor, Boston, MA 02110-1301, USA.
27 */
28 
29 /*----------------------------------------------------------------------------*/
30 
31 /*----------------------------------------------------------------------------
32  * Local headers
33  *---------------------------------------------------------------------------*/
34 
35 #include "cs_base.h"
36 #include "cs_join_mesh.h"
37 #include "cs_join_set.h"
38 #include "cs_join_util.h"
39 #include "cs_mesh.h"
40 
41 /*---------------------------------------------------------------------------*/
42 
44 
45 /*=============================================================================
46  * Local Macro definitions
47  *===========================================================================*/
48 
49 /*============================================================================
50  * Type definition
51  *===========================================================================*/
52 
53 /*=============================================================================
54  * Global variables
55  *===========================================================================*/
56 
57 /*============================================================================
58  * Public function header for Fortran API
59  *===========================================================================*/
60 
61 /*=============================================================================
62  * Public function prototypes
63  *===========================================================================*/
64 
65 /*----------------------------------------------------------------------------
66  * Update mesh structure (vertices + faces) after the fusion step.
67  *
68  * parameters:
69  * join_param <-- set of parameters for the joining operation
70  * join_select <-- list of all implied entities in the joining op.
71  * o2n_vtx_gnum <-> in : array on blocks on the new global vertex
72  * out: local array on the new global vertex
73  * join_mesh <-> pointer to the local cs_join_mesh_t structure
74  * mesh <-> pointer of pointer to cs_mesh_t structure
75  *---------------------------------------------------------------------------*/
76 
77 void
79  cs_join_select_t *join_select,
80  cs_gnum_t o2n_vtx_gnum[],
81  cs_join_mesh_t *join_mesh,
82  cs_mesh_t *mesh);
83 
84 /*----------------------------------------------------------------------------
85  * Update mesh structure (vertices + faces) after the face split step.
86  *
87  * parameters:
88  * join_param <-- set of parameters for the joining operation
89  * join_select <-- list of all implied entities in the joining op.
90  * o2n_face_hist <-- relation between faces before/after the joining
91  * join_mesh <-> pointer to the local cs_join_mesh_t structure
92  * mesh <-> pointer of pointer to cs_mesh_t structure
93  * mesh_builder <-> pointer of pointer to cs_mesh__builder_t structure
94  *---------------------------------------------------------------------------*/
95 
96 void
98  const cs_join_select_t *join_select,
99  const cs_join_gset_t *o2n_face_hist,
100  cs_join_mesh_t *join_mesh,
101  cs_mesh_t *mesh,
102  cs_mesh_builder_t *mesh_builder);
103 
104 /*----------------------------------------------------------------------------
105  * Clean a cs_mesh_t struct.
106  * Delete redundant and empty edge definitions.
107  *
108  * parameters:
109  * para <-- set of parameters for the joining operation
110  * mesh <-> pointer to a cs_mesh_t structure
111  *---------------------------------------------------------------------------*/
112 
113 void
115  cs_mesh_t *mesh);
116 
117 /*---------------------------------------------------------------------------*/
118 
120 
121 #endif /* __CS_JOIN_UPDATE_H__ */
cs_mesh_builder_t
Definition: cs_mesh_builder.h:57
END_C_DECLS
#define END_C_DECLS
Definition: cs_defs.h:468
cs_join_update_mesh_after_split
void cs_join_update_mesh_after_split(cs_join_param_t join_param, const cs_join_select_t *join_select, const cs_join_gset_t *o2n_face_hist, cs_join_mesh_t *join_mesh, cs_mesh_t *mesh, cs_mesh_builder_t *mesh_builder)
Definition: cs_join_update.c:4241
BEGIN_C_DECLS
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
cs_join_update_mesh_after_merge
void cs_join_update_mesh_after_merge(cs_join_param_t join_param, cs_join_select_t *join_select, cs_gnum_t o2n_vtx_gnum[], cs_join_mesh_t *join_mesh, cs_mesh_t *mesh)
Definition: cs_join_update.c:4014
cs_join_util.h
mesh
Definition: mesh.f90:26
cs_mesh.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_update_mesh_clean
void cs_join_update_mesh_clean(cs_join_param_t param, cs_mesh_t *mesh)
Definition: cs_join_update.c:4562
cs_join_set.h
cs_mesh_t
Definition: cs_mesh.h:63
cs_base.h