src/base/cs_ale.h Source File

| programmer's documentation

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cs_ale.h
Go to the documentation of this file.
1 #ifndef __CS_ALE_H__
2 #define __CS_ALE_H__
3
4 /*============================================================================
5 * Functions associated to ALE formulation
6 *============================================================================*/
7
8 /*
9 This file is part of Code_Saturne, a general-purpose CFD tool.
10
11 Copyright (C) 1998-2013 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 * Standard C library headers
32 *----------------------------------------------------------------------------*/
33
34 /*----------------------------------------------------------------------------
35 * Local headers
36 *----------------------------------------------------------------------------*/
37
38 #include "cs_base.h"
39
40 /*----------------------------------------------------------------------------*/
41
42 BEGIN_C_DECLS
43
44 /*============================================================================
45 * Public function prototypes
46 *============================================================================*/
47
48 /*----------------------------------------------------------------------------
49 * Compute cell and face centre of gravity, cell volume.
50 *
51 * Fortran Interface
52 *
53 * SUBROUTINE ALGRMA
54 * *****************
55 *
56 *----------------------------------------------------------------------------*/
57
58 void
59 CS_PROCF (algrma, ALGRMA)(void);
60
61 /*----------------------------------------------------------------------------
62 * Projection on mesh vertices of the displacement (computed on cell center)
63 *
64 * Fortran Interface
65 *
66 * SUBROUTINE ALDEPL
67 * *****************
68 *
69 * INTEGER IFACEL(2,NFAC) : --> : Interior faces -> cells connectivity
70 * INTEGER IFABOR(NFABOR) : --> : Border faces -> cells connectivity
71 * INTEGER IPNFAC(NFAC+1) : --> : Interior faces -> vertices index
72 * INTEGER NODFAC(LNDFAC) : --> : Interior faces -> vertices list
73 * INTEGER IPNFBR(NFABOR+1): --> : Border faces -> vertices index
74 * INTEGER NODFBR(LNDFBR) : --> : Border faces -> vertices list
75 * DOUBLE PRECISION UMA(NCELET) : --> : Mesh velocity along X
76 * DOUBLE PRECISION VMA(NCELET) : --> : Mesh velocity along Y
77 * DOUBLE PRECISION WMA(NCELET) : --> : Mesh velocity along Z
78 * DOUBLE PRECISION COEFAU(NCELET) : --> : Boundary condition A for UMA
79 * DOUBLE PRECISION COEFAV(NCELET) : --> : Boundary condition A pour VMA
80 * DOUBLE PRECISION COEFAW(NCELET) : --> : Boundary condition A pour WMA
81 * DOUBLE PRECISION COEFBU(NCELET) : --> : Boundary condition B pour UMA
82 * DOUBLE PRECISION COEFBV(NCELET) : --> : Boundary condition B pour VMA
83 * DOUBLE PRECISION COEFBW(NCELET) : --> : Boundary condition B pour WMA
84 * DOUBLE PRECISION DT(NCELET) : --> : Time step
85 * DOUBLE PRECISION DEPROJ(NNOD,3)): <-- : Displacement projected on vertices
86 *----------------------------------------------------------------------------*/
87
88 void
89 CS_PROCF (aldepl, ALDEPL)(const cs_int_t i_face_cells[],
90 const cs_int_t b_face_cells[],
91 const cs_int_t i_face_vtx_idx[],
92 const cs_int_t i_face_vtx_lst[],
93 const cs_int_t b_face_vtx_idx[],
94 const cs_int_t b_face_vtx_lst[],
95 cs_real_t *uma,
96 cs_real_t *vma,
97 cs_real_t *wma,
98 cs_real_t *coefau,
99 cs_real_t *coefav,
100 cs_real_t *coefaw,
101 cs_real_t *coefbu,
102 cs_real_t *coefbv,
103 cs_real_t *coefbw,
104 cs_real_t *dt,
105 cs_real_t *disp_proj);
106
107 /*----------------------------------------------------------------------------
108 * Projection on mesh vertices of the displacement (computed on cell center)
109 *
110 * Fortran Interface
111 *
112 * subroutine aledis
113 * *****************
114 *
115 * ifacel : <-- : Interior faces -> cells connectivity
116 * ifabor : <-- : Border faces -> cells connectivity
117 * ipnfac : <-- : Interior faces -> vertices index
118 * nodfac : <-- : Interior faces -> vertices list
119 * ipnfbr : <-- : Border faces -> vertices index
120 * nodfbr : <-- : Border faces -> vertices list
121 * ialtyb : <-- : Type of boundary for ALE
122 * meshv : <-- : Mesh velocity
123 * gradm : <-- : Mesh velocity gradient (du_i/dx_j : gradv[][i][j])
124 * claale : <-- : Boundary conditions A
125 * clbale : <-- : Boundary conditions B
126 * dt : <-- : Time step
127 * deproj : --> : Displacement projected on vertices
128 *----------------------------------------------------------------------------*/
129
130 void
131 CS_PROCF (aledis, ALEDIS)(const cs_int_t i_face_cells[],
132 const cs_int_t b_face_cells[],
133 const cs_int_t i_face_vtx_idx[],
134 const cs_int_t i_face_vtx_lst[],
135 const cs_int_t b_face_vtx_idx[],
136 const cs_int_t b_face_vtx_lst[],
137 const cs_int_t ialtyb[],
138 const cs_real_t *meshv,
139 const cs_real_33_t gradm[],
140 const cs_real_t *claale,
141 const cs_real_t *clbale,
142 const cs_real_t *dt,
143 cs_real_t *disp_proj);
144
145 /*----------------------------------------------------------------------------*/
146
147 END_C_DECLS
148
149 #endif /* __CS_ALE_H__ */
150