programmer's documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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-2014 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 
37 /*---------------------------------------------------------------------------*/
38 
40 
41 /*=============================================================================
42  * Local Macro definitions
43  *===========================================================================*/
44 
45 /*============================================================================
46  * Type definition
47  *===========================================================================*/
48 
49 /*=============================================================================
50  * Global variables
51  *===========================================================================*/
52 
53 /*=============================================================================
54  * Public function prototypes
55  *===========================================================================*/
56 
57 /*----------------------------------------------------------------------------
58  * Add a cs_join_t structure to the list of pending joinings.
59  *
60  * parameters:
61  * sel_criteria <-- boundary face selection criteria
62  * fraction <-- value of the fraction parameter
63  * plane <-- value of the plane parameter
64  * verbosity <-- level of verbosity required
65  * visualization <-- level of visualization required
66  *
67  * returns:
68  * number (1 to n) associated with new joining
69  *---------------------------------------------------------------------------*/
70 
71 int
72 cs_join_add(const char *sel_criteria,
73  float fraction,
74  float plane,
75  int verbosity,
76  int visualization);
77 
78 /*----------------------------------------------------------------------------
79  * Set advanced parameters for the joining algorithm.
80  *
81  * parameters:
82  * join_num <-> joining operation number
83  * mtf <-- merge tolerance coefficient
84  * pmf <-- pre-merge factor
85  * tcm <-- tolerance computation mode
86  * icm <-- intersection computation mode
87  * max_break <-- max number of equivalences to break (merge step)
88  * max_sub_faces <-- max. possible number of sub-faces by splitting a face
89  * tml <-- tree max level
90  * tmb <-- tree max boxes
91  * tmr <-- tree max ratio
92  * tmr_distrib <-- tree max ratio for distribution
93  *---------------------------------------------------------------------------*/
94 
95 void
96 cs_join_set_advanced_param(int join_num,
97  double mtf,
98  double pmf,
99  int tcm,
100  int icm,
101  int max_break,
102  int max_sub_faces,
103  int tml,
104  int tmb,
105  double tmr,
106  double tmr_distrib);
107 
108 /*----------------------------------------------------------------------------
109  * Apply all the defined joining operations.
110  *
111  * parameters:
112  * preprocess <-- true if we are in the preprocessing stage
113  *---------------------------------------------------------------------------*/
114 
115 void
116 cs_join_all(bool preprocess);
117 
118 /*----------------------------------------------------------------------------
119  * Clear remaining memory for defined joining operations.
120  *---------------------------------------------------------------------------*/
121 
122 void
123 cs_join_finalize(void);
124 
125 /*---------------------------------------------------------------------------*/
126 
128 
129 #endif /* __CS_JOIN_H__ */
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:1498
#define BEGIN_C_DECLS
Definition: cs_defs.h:405
void cs_join_all(bool preprocess)
Definition: cs_join.c:1552
void cs_join_finalize(void)
Definition: cs_join.c:1845
#define END_C_DECLS
Definition: cs_defs.h:406
int cs_join_add(const char *sel_criteria, float fraction, float plane, int verbosity, int visualization)
Definition: cs_join.c:1453