8.3
general 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-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 * 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
72int
73cs_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
96void
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
116void
117cs_join_all(bool preprocess);
118
119/*----------------------------------------------------------------------------
120 * Clear remaining memory for defined joining operations.
121 *---------------------------------------------------------------------------*/
122
123void
124cs_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
136void
138 bool preprocess,
139 bool b_select_flag[]);
140
141/*---------------------------------------------------------------------------*/
142
144
145#endif /* __CS_JOIN_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
#define END_C_DECLS
Definition: cs_defs.h:543
int cs_join_add(const char *sel_criteria, float fraction, float plane, int verbosity, int visualization)
Definition: cs_join.cpp:1589
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)
Set advanced parameters for the joining algorithm.
Definition: cs_join.cpp:1685
void cs_join_all(bool preprocess)
Definition: cs_join.cpp:1739
void cs_join_mark_selected_faces(const cs_mesh_t *mesh, bool preprocess, bool b_select_flag[])
Definition: cs_join.cpp:2073
void cs_join_finalize(void)
Definition: cs_join.cpp:2041
integer, save icm
the intersection computation mode. If its value is:
Definition: coincl.f90:230
Definition: mesh.f90:26
Definition: cs_mesh.h:85