My Project
programmer's documentation
Loading...
Searching...
No Matches
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
68void
69CS_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
87void
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
102void
103cs_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
117void
118cs_mesh_warping_get_defaults(double *max_warp_angle,
119 int *postprocess);
120
121/*----------------------------------------------------------------------------*/
122
124
125#endif /* __CS_MESH_WARPING_H__ */
#define BEGIN_C_DECLS
Definition cs_defs.h:467
double cs_real_t
Floating-point value.
Definition cs_defs.h:302
int cs_int_t
Fortran-compatible integer.
Definition cs_defs.h:301
#define CS_PROCF(x, y)
Definition cs_defs.h:481
#define END_C_DECLS
Definition cs_defs.h:468
void cs_mesh_warping_cut_faces(cs_mesh_t *mesh, double max_warp_angle, bool post_flag)
Definition cs_mesh_warping.c:1097
void cs_mesh_warping_get_defaults(double *max_warp_angle, int *postprocess)
Definition cs_mesh_warping.c:1329
void cs_mesh_warping_set_defaults(double max_warp_angle, int postprocess)
Definition cs_mesh_warping.c:1305
void setcwf(const cs_int_t *cwfpst, const cs_real_t *cwfthr)
Definition cs_mesh_warping.c:1074
Definition mesh.f90:26
Definition cs_mesh.h:63