My Project
programmer's documentation
Loading...
Searching...
No Matches
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
73void
74CS_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
90void
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
102void
104
105/*----------------------------------------------------------------------------*/
106
108
109#endif /* __CS_EXT_NEIGHBOR_H__ */
#define BEGIN_C_DECLS
Definition cs_defs.h:467
double cs_real_t
Floating-point value.
Definition cs_defs.h:302
#define CS_PROCF(x, y)
Definition cs_defs.h:481
#define END_C_DECLS
Definition cs_defs.h:468
void redvse(const cs_real_t *anomax)
Definition cs_ext_neighborhood.c:949
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
void cs_ext_neighborhood_define(cs_mesh_t *mesh)
Definition cs_ext_neighborhood.c:1228
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
Definition mesh.f90:26
Definition cs_mesh_quantities.h:90
Definition cs_mesh.h:63