My Project
programmer's documentation
cs_mesh_warping.h
Go to the documentation of this file.
1 #ifndef __CS_MESH_WARPING_H__
2 #define __CS_MESH_WARPING_H__
3 
4 /*============================================================================
5  * Cut warped faces in serial or parallel with/without periodicity.
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_mesh.h"
36 
37 /*----------------------------------------------------------------------------*/
38 
40 
41 /*============================================================================
42  * Macro definitions
43  *============================================================================*/
44 
45 /*============================================================================
46  * Type definitions
47  *============================================================================*/
48 
49 /*============================================================================
50  * Public function prototypes for Fortran API
51  *============================================================================*/
52 
53 /*----------------------------------------------------------------------------
54  * Set the threshold to cut warped faces.
55  *
56  * Fortran interface :
57  *
58  * subroutine setcwf (cwfthr)
59  * *****************
60  *
61  * integer cwfpst : <-> : if 1, activate postprocessing when
62  * cutting warped faces (default 0)
63  * double precision cwfthr : <-> : threshold angle (in degrees) if
64  * positive, do not cut warped faces
65  * if negative (default -1)
66  *----------------------------------------------------------------------------*/
67 
68 void
69 CS_PROCF (setcwf, SETCWF) (const cs_int_t *cwfpst,
70  const cs_real_t *cwfthr);
71 
72 /*=============================================================================
73  * Public function prototypes
74  *============================================================================*/
75 
76 /*----------------------------------------------------------------------------
77  * Cut warped faces.
78  *
79  * Updates border face connectivity and associated mesh quantities.
80  *
81  * parameters:
82  * mesh <-> pointer to mesh structure.
83  * max_warp_angle <-- criterion to know which face to cut
84  * post_flag <-- 1 if we have to post-process cut faces, 0 otherwise
85  *----------------------------------------------------------------------------*/
86 
87 void
89  double max_warp_angle,
90  bool post_flag);
91 
92 /*----------------------------------------------------------------------------
93  * Set defaults for cutting of warped faces.
94  *
95  * parameters:
96  * max_warp_angle <-- maximum warp angle (in degrees) over which faces will
97  * be cut; negative (-1) if faces should not be cut
98  * postprocess <-- 1 if postprocessing should be activated when cutting
99  * warped faces, 0 otherwise
100  *----------------------------------------------------------------------------*/
101 
102 void
103 cs_mesh_warping_set_defaults(double max_warp_angle,
104  int postprocess);
105 
106 /*----------------------------------------------------------------------------
107  * Get defaults for cutting of warped faces.
108  *
109  * parameters:
110  * max_warp_angle --> if non NULL, returns maximum warp angle (in degrees)
111  * over which faces will be cut, or -1 if faces should
112  * not be cut
113  * postprocess --> if non NULL, returns 1 if postprocessing should be
114  * activated when cutting warped faces, 0 otherwise
115  *----------------------------------------------------------------------------*/
116 
117 void
118 cs_mesh_warping_get_defaults(double *max_warp_angle,
119  int *postprocess);
120 
121 /*----------------------------------------------------------------------------*/
122 
124 
125 #endif /* __CS_MESH_WARPING_H__ */
CS_PROCF
void CS_PROCF(setcwf, SETCWF)(const cs_int_t *cwfpst
cs_mesh_warping_get_defaults
void cs_mesh_warping_get_defaults(double *max_warp_angle, int *postprocess)
Definition: cs_mesh_warping.c:1329
cs_mesh_warping_cut_faces
void cs_mesh_warping_cut_faces(cs_mesh_t *mesh, double max_warp_angle, bool post_flag)
Definition: cs_mesh_warping.c:1097
cwfthr
void const cs_real_t * cwfthr
Definition: cs_mesh_warping.h:70
cs_mesh_warping_set_defaults
void cs_mesh_warping_set_defaults(double max_warp_angle, int postprocess)
Definition: cs_mesh_warping.c:1305
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
mesh
Definition: mesh.f90:26
cs_mesh.h
cs_int_t
int cs_int_t
Fortran-compatible integer.
Definition: cs_defs.h:301
cs_mesh_t
Definition: cs_mesh.h:63
cs_base.h