My Project
programmer's documentation
cs_join.h
Go to the documentation of this file.
1 #ifndef __CS_JOIN_H__
2 #define __CS_JOIN_H__
3 
4 /*============================================================================
5  * Structure and function headers handling with 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  * Local headers
32  *---------------------------------------------------------------------------*/
33 
34 #include "cs_base.h"
35 #include "cs_join_util.h"
36 #include "cs_mesh.h"
37 
38 /*---------------------------------------------------------------------------*/
39 
41 
42 /*=============================================================================
43  * Local Macro definitions
44  *===========================================================================*/
45 
46 /*============================================================================
47  * Type definition
48  *===========================================================================*/
49 
50 /*=============================================================================
51  * Global variables
52  *===========================================================================*/
53 
54 /*=============================================================================
55  * Public function prototypes
56  *===========================================================================*/
57 
58 /*----------------------------------------------------------------------------
59  * Add a cs_join_t structure to the list of pending joinings.
60  *
61  * parameters:
62  * sel_criteria <-- boundary face selection criteria
63  * fraction <-- value of the fraction parameter
64  * plane <-- value of the plane parameter
65  * verbosity <-- level of verbosity required
66  * visualization <-- level of visualization required
67  *
68  * returns:
69  * number (1 to n) associated with new joining
70  *---------------------------------------------------------------------------*/
71 
72 int
73 cs_join_add(const char *sel_criteria,
74  float fraction,
75  float plane,
76  int verbosity,
77  int visualization);
78 
79 /*----------------------------------------------------------------------------
80  * Set advanced parameters for the joining algorithm.
81  *
82  * parameters:
83  * join_num <-> joining operation number
84  * mtf <-- merge tolerance coefficient
85  * pmf <-- pre-merge factor
86  * tcm <-- tolerance computation mode
87  * icm <-- intersection computation mode
88  * max_break <-- max number of equivalences to break (merge step)
89  * max_sub_faces <-- max. possible number of sub-faces by splitting a face
90  * tml <-- tree max level
91  * tmb <-- tree max boxes
92  * tmr <-- tree max ratio
93  * tmr_distrib <-- tree max ratio for distribution
94  *---------------------------------------------------------------------------*/
95 
96 void
97 cs_join_set_advanced_param(int join_num,
98  double mtf,
99  double pmf,
100  int tcm,
101  int icm,
102  int max_break,
103  int max_sub_faces,
104  int tml,
105  int tmb,
106  double tmr,
107  double tmr_distrib);
108 
109 /*----------------------------------------------------------------------------
110  * Apply all the defined joining operations.
111  *
112  * parameters:
113  * preprocess <-- true if we are in the preprocessing stage
114  *---------------------------------------------------------------------------*/
115 
116 void
117 cs_join_all(bool preprocess);
118 
119 /*----------------------------------------------------------------------------
120  * Clear remaining memory for defined joining operations.
121  *---------------------------------------------------------------------------*/
122 
123 void
124 cs_join_finalize(void);
125 
126 /*----------------------------------------------------------------------------
127  * Flag boundary faces that will be selected for joining.
128  *
129  * parameters:
130  * mesh <-- pointer to mesh structure
131  * preprocess <-- true if we are in the preprocessing stage
132  * b_select_flag <-> false for boundary faces not selected for joining,
133  * true for those selected
134  *---------------------------------------------------------------------------*/
135 
136 void
138  bool preprocess,
139  bool b_select_flag[]);
140 
141 /*---------------------------------------------------------------------------*/
142 
144 
145 #endif /* __CS_JOIN_H__ */
cs_join_finalize
void cs_join_finalize(void)
Definition: cs_join.c:1992
cs_join_add
int cs_join_add(const char *sel_criteria, float fraction, float plane, int verbosity, int visualization)
Definition: cs_join.c:1591
END_C_DECLS
#define END_C_DECLS
Definition: cs_defs.h:468
cs_join_mark_selected_faces
void cs_join_mark_selected_faces(const cs_mesh_t *mesh, bool preprocess, bool b_select_flag[])
Definition: cs_join.c:2024
BEGIN_C_DECLS
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
cs_join_util.h
mesh
Definition: mesh.f90:26
cs_mesh.h
cs_join_all
void cs_join_all(bool preprocess)
Definition: cs_join.c:1690
cs_join_set_advanced_param
void cs_join_set_advanced_param(int join_num, double mtf, double pmf, int tcm, int icm, int max_break, int max_sub_faces, int tml, int tmb, double tmr, double tmr_distrib)
Definition: cs_join.c:1636
ppincl::icm
integer, save icm
the intersection computation mode. If its value is:
Definition: ppincl.f90:293
cs_mesh_t
Definition: cs_mesh.h:63
cs_base.h