My Project
programmer's documentation
cs_ext_neighborhood.h
Go to the documentation of this file.
1 #ifndef __CS_EXT_NEIGHBOR_H__
2 #define __CS_EXT_NEIGHBOR_H__
3 
4 /*============================================================================
5  * Fortran interfaces of functions needing a synchronization of the extended
6  * neighborhood.
7  *============================================================================*/
8 
9 /*
10  This file is part of Code_Saturne, a general-purpose CFD tool.
11 
12  Copyright (C) 1998-2019 EDF S.A.
13 
14  This program is free software; you can redistribute it and/or modify it under
15  the terms of the GNU General Public License as published by the Free Software
16  Foundation; either version 2 of the License, or (at your option) any later
17  version.
18 
19  This program is distributed in the hope that it will be useful, but WITHOUT
20  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
21  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
22  details.
23 
24  You should have received a copy of the GNU General Public License along with
25  this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
26  Street, Fifth Floor, Boston, MA 02110-1301, USA.
27 */
28 
29 /*----------------------------------------------------------------------------*/
30 
31 /*----------------------------------------------------------------------------
32  * Local headers
33  *----------------------------------------------------------------------------*/
34 
35 #include "cs_base.h"
36 #include "cs_mesh.h"
37 #include "cs_mesh_quantities.h"
38 
39 /*----------------------------------------------------------------------------*/
40 
42 
43 /*=============================================================================
44  * Local Macro definitions
45  *============================================================================*/
46 
47 /*============================================================================
48  * Type definition
49  *============================================================================*/
50 
51 /*============================================================================
52  * Public function prototypes for Fortran API
53  *============================================================================*/
54 
55 /*----------------------------------------------------------------------------
56  * Reduce the "cell -> cells" connectivity for the extended neighborhood
57  * using a non-orthogonality criterion.
58  *
59  * Note: Only cells sharing only a vertex or vertices (not a face)
60  * belong to the "cell -> cells" connectivity.
61  *
62  * Fortran Interface :
63  *
64  * SUBROUTINE REDVSE
65  * *****************
66  * & ( ANOMAX )
67  *
68  * parameters:
69  * anomax --> non-orthogonality angle (rad) above which cells
70  * are selected for the extended neighborhood
71  *----------------------------------------------------------------------------*/
72 
73 void
74 CS_PROCF (redvse, REDVSE) (const cs_real_t *anomax);
75 
76 /*----------------------------------------------------------------------------
77  * Reduce the "cell -> cells" connectivity for the extended neighborhood
78  * using a non-orthogonality criterion.
79  *
80  * Note: Only cells sharing only a vertex or vertices (not a face)
81  * belong to the "cell -> cells" connectivity.
82  *
83  * parameters:
84  * mesh <-> pointer to mesh structure
85  * mesh_quantities <-> associated mesh quantities
86  * non_ortho_max <-- non-orthogonality angle (rad) above which cells
87  * are selected for the extended neighborhood
88  *----------------------------------------------------------------------------*/
89 
90 void
92  cs_mesh_quantities_t *mesh_quantities,
93  double non_ortho_max);
94 
95 /*----------------------------------------------------------------------------
96  * Create the "cell -> cells" connectivity.
97  *
98  * parameters:
99  * mesh <-> pointer to a mesh structure
100  *---------------------------------------------------------------------------*/
101 
102 void
104 
105 /*----------------------------------------------------------------------------*/
106 
108 
109 #endif /* __CS_EXT_NEIGHBOR_H__ */
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
cs_mesh_quantities.h
cs_mesh_quantities_t
Definition: cs_mesh_quantities.h:90
optcal::anomax
real(c_double), pointer, save anomax
non orthogonality angle of the faces, in radians. For larger angle values, cells with one node on the...
Definition: optcal.f90:291
mesh
Definition: mesh.f90:26
cs_mesh.h
CS_PROCF
void CS_PROCF(redvse, REDVSE)(const cs_real_t *anomax)
Definition: cs_ext_neighborhood.c:949
cs_ext_neighborhood_define
void cs_ext_neighborhood_define(cs_mesh_t *mesh)
Definition: cs_ext_neighborhood.c:1228
cs_ext_neighborhood_reduce
void cs_ext_neighborhood_reduce(cs_mesh_t *mesh, cs_mesh_quantities_t *mesh_quantities, double non_ortho_max)
Definition: cs_ext_neighborhood.c:975
cs_mesh_t
Definition: cs_mesh.h:63
cs_base.h