1
/*============================================================================
3
* This file is part of the Code_Saturne Kernel, element of the
4
* Code_Saturne CFD tool.
6
* Copyright (C) 1998-2009 EDF S.A., France
8
* contact: saturne-support@edf.fr
10
* The Code_Saturne Kernel is free software; you can redistribute it
11
* and/or modify it under the terms of the GNU General Public License
12
* as published by the Free Software Foundation; either version 2 of
13
* the License, or (at your option) any later version.
15
* The Code_Saturne Kernel is distributed in the hope that it will be
16
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
17
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
20
* You should have received a copy of the GNU General Public License
21
* along with the Code_Saturne Kernel; if not, write to the
22
* Free Software Foundation, Inc.,
23
* 51 Franklin St, Fifth Floor,
24
* Boston, MA 02110-1301 USA
26
*============================================================================*/
28
#ifndef __CS_EXT_NEIGHBOR_H__
29
#define __CS_EXT_NEIGHBOR_H__
31
/*============================================================================
32
* Fortran interfaces of functions needing a synchronization of the extended
34
*============================================================================*/
36
/*----------------------------------------------------------------------------
38
*----------------------------------------------------------------------------*/
43
/*----------------------------------------------------------------------------*/
47
/*=============================================================================
48
* Local Macro definitions
49
*============================================================================*/
51
/*============================================================================
53
*============================================================================*/
55
/*============================================================================
56
* Public function definitions for Fortran API
57
*============================================================================*/
59
/*----------------------------------------------------------------------------
60
* Define a new "cell -> cells" connectivity for the extended neighborhood
61
* in case of computation of gradient whith the least square algorithm
63
* The "cell -> cells" connectivity is clipped by a non-orthogonality
66
* Warning : Only cells sharing a vertex or vertices
67
* (not a face => mesh->face_cells) belong to the
68
* "cell -> cells" connectivity.
77
* anomax --> non-orthogonality angle (rad) above which cells
78
* are selected for the extended neighborhood
79
*----------------------------------------------------------------------------*/
82
CS_PROCF (redvse, REDVSE) (const cs_real_t *anomax);
84
/*----------------------------------------------------------------------------
85
* Compute filters for dynamic models. This function deals with the standard
86
* or extended neighborhood.
90
* SUBROUTINE CFILTR (VAR, F_VAR, WBUF1, WBUF2)
93
* DOUBLE PRECISION(*) var[] --> array of variables to filter
94
* DOUBLE PRECISION(*) f_var[] --> filtered variable array
95
* DOUBLE PRECISION(*) wbuf1[] --> working buffer
96
* DOUBLE PRECISION(*) wbuf2[] --> working buffer
97
*----------------------------------------------------------------------------*/
100
CS_PROCF (cfiltr, CFILTR)(cs_real_t var[],
105
/*----------------------------------------------------------------------------
106
* Create the "cell -> cells" connectivity
109
* mesh <-> pointer to a mesh structure.
110
*---------------------------------------------------------------------------*/
113
cs_ext_neighborhood_define(cs_mesh_t *mesh);
115
/*----------------------------------------------------------------------------*/
119
#endif /* __CS_EXT_NEIGHBOR_H__ */