Code_Saturne
CFD tool
fvm_nodal_project.h
Go to the documentation of this file.
1 #ifndef __FVM_NODAL_PROJECT_H__
2 #define __FVM_NODAL_PROJECT_H__
3 
4 /*============================================================================
5  * Projection of nodal sections associated with a mesh
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2012 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 "fvm_defs.h"
35 
36 /*----------------------------------------------------------------------------*/
37 
38 #ifdef __cplusplus
39 extern "C" {
40 #if 0
41 } /* Fake brace to force back Emacs auto-indentation back to column 0 */
42 #endif
43 #endif /* __cplusplus */
44 
45 /*=============================================================================
46  * Public function prototypes
47  *============================================================================*/
48 
49 /*----------------------------------------------------------------------------
50  * Project an extruded mesh to its base plane.
51  *
52  * parameters:
53  * this_nodal <-> pointer to structure that should be cut in edges
54  * chosen_axis <-- indicate which axis is selected to extract edges
55  * error_count --> number of triangulation errors counter (optional)
56  *----------------------------------------------------------------------------*/
57 
58 void
59 fvm_nodal_project(fvm_nodal_t *this_nodal,
60  int chosen_axis,
61  cs_lnum_t *error_count);
62 
63 /*----------------------------------------------------------------------------
64  * Reduce the spatial dimension of a mesh, discarding the last coordinate
65  * component.
66  *
67  * The mesh's spatial dimension is reduced by 1.
68  *
69  * parameters:
70  * this_nodal <-> pointer to structure that projected
71  * matrix <-- projection matrix
72  * 3D -> 2D: (a11, a12, a13, a21, a22, a23)
73  * 2D -> 1D: (a11, a12)
74  *----------------------------------------------------------------------------*/
75 
76 void
78  double matrix[]);
79 
80 /*----------------------------------------------------------------------------*/
81 
82 #ifdef __cplusplus
83 }
84 #endif /* __cplusplus */
85 
86 #endif /* __FVM_NODAL_PROJECT_H__ */
void fvm_nodal_project_coords(fvm_nodal_t *this_nodal, double matrix[])
Definition: fvm_nodal_project.c:496
Definition: fvm_nodal_priv.h:152
subroutine matrix(ncelet, ncel, nfac, nfabor, iconvp, idiffp, ndircp, isym, nfecra, thetap, imucpp, ifacel, ifabor, coefbp, cofbfp, rovsdt, flumas, flumab, viscf, viscb, xcpp, da, xa)
Definition: matrix.f90:94
int cs_lnum_t
Definition: cs_defs.h:260
void fvm_nodal_project(fvm_nodal_t *this_nodal, int chosen_axis, cs_lnum_t *error_count)
Definition: fvm_nodal_project.c:415