src/gui/cs_gui_mobile_mesh.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_gui_mobile_mesh.h
Go to the documentation of this file.
1 #ifndef __CS_GUI_MOBILE_MESH_H__
2 #define __CS_GUI_MOBILE_MESH_H__
3
4 /*============================================================================
5 * Management of the GUI parameters file: mobile mesh
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 * Local headers
32 *----------------------------------------------------------------------------*/
33
34 #include "cs_base.h"
35
36 /*----------------------------------------------------------------------------*/
37
38 BEGIN_C_DECLS
39
40 /*============================================================================
41 * Type definitions
42 *============================================================================*/
43
44 /*============================================================================
45 * Public function prototypes for Fortran API
46 *============================================================================*/
47
48 /*----------------------------------------------------------------------------
49 * ALE method.
50 *
51 * Fortran Interface:
52 *
53 * SUBROUTINE UIALIN()
54 * *****************
55 *
56 * INTEGER IALE <-- iale method activation
57 * INTEGER NALINF <-- number of subiterations of initialization of
58 * fluid
59 * INTEGER NALIMX <-- max number of iterations of implicitation of
60 * the displacement of the structures
61 * DOUBLE EPALIM <-- realtive precision of implicitation of
62 * the displacement of the structures
63 * INTEGER IORTVM <-- type of viscosity of mesh
64 *
65 *----------------------------------------------------------------------------*/
66
67 void CS_PROCF (uialin, UIALIN) (int *const iale,
68 int *const nalinf,
69 int *const nalimx,
70 double *const epalim,
71 int *const iortvm);
72
73 /*----------------------------------------------------------------------------
74 * uivima
75 *
76 * Fortran Interface:
77 *
78 * SUBROUTINE uivima
79 * *****************
80 *
81 * ncel --> number of cells whithout halo
82 * viscmx <-- VISCMX
83 * viscmy <-- VISCMY
84 * viscmz <-- VISCMZ
85 * xyzcen --> cell's gravity center
86 * dtref --> time step
87 * ttcabs --> current time
88 * ntcabs --> current iteration number
89 *----------------------------------------------------------------------------*/
90
91 void CS_PROCF (uivima, UIVIMA) ( const cs_int_t *const ncel,
92 double *const viscmx,
93 double *const viscmy,
94 double *const viscmz,
95 const double *const xyzcen,
96 double *const dtref,
97 double *const ttcabs,
98 const int *const ntcabs);
99
100 /*-----------------------------------------------------------------------------
101 * uialcl
102 *
103 * Fortran Interface:
104 *
105 * SUBROUTINE UIALCL
106 * *****************
107 *
108 *
109 * parameters:
110 * nfabor --> Number of boundary faces
111 * nozppm --> Max number of boundary conditions zone
112 * ialtyb --> ialtyb
113 * ipnfbr --> First node position for each boundary in nodfbr
114 * nnod --> number of node
115 * nodfbr --> uialcl_fixed_displacement
116 * impale --> uialcl_fixed_displacement
117 * depale --> See uialcl_fixed_displacement
118 * dtref --> time step
119 * ttcabs --> current time
120 * ntcabs --> current iteration number
121 * iuma --> See uialcl_fixed_velocity
122 * ivma --> See uialcl_fixed_velocity
123 * iwma --> See uialcl_fixed_velocity
124 * rcodcl --> See uialcl_fixed_velocity
125 *----------------------------------------------------------------------------*/
126
127 void CS_PROCF (uialcl, UIALCL) ( const int *const nfabor,
128 const int *const nozppm,
129 const int *const ibfixe,
130 const int *const igliss,
131 const int *const ivimpo,
132 int *const ialtyb,
133 const int *const ipnfbr,
134 const int *const nodfbr,
135 int *const impale,
136 cs_real_3_t *depale,
137 double *const dtref,
138 double *const ttcabs,
139 const int *const ntcabs,
140 const int *const iuma,
141 const int *const ivma,
142 const int *const iwma,
143 double *const rcodcl );
144
145 /*-----------------------------------------------------------------------------
146 * Retreive data for internal coupling. Called once at initialization
147 *
148 * Fortran Interface:
149 *
150 * SUBROUTINE UISTR1
151 * *****************
152 *
153 * parameters:
154 * nfabor --> Number of boundary faces
155 * idfstr --> Structure definition
156 * aexxst <-- Displacement prediction alpha
157 * bexxst <-- Displacement prediction beta
158 * cfopre <-- Stress prediction alpha
159 * ihistr <-- Monitor point synchronisation
160 * xstr0 <-- Values of the initial displacement
161 * xstreq <-- Values of the equilibrium displacement
162 * vstr0 <-- Values of the initial velocity
163 *----------------------------------------------------------------------------*/
164
165 void CS_PROCF (uistr1, UISTR1) ( const int *const nfabor,
166 int *const idfstr,
167 double *aexxst,
168 double *bexxst,
169 double *cfopre,
170 int *ihistr,
171 double *xstr0,
172 double *xstreq,
173 double *vstr0 );
174
175 /*-----------------------------------------------------------------------------
176 * Retreive data for internal coupling. Called at each step
177 *
178 * Fortran Interface:
179 *
180 * SUBROUTINE UISTR2
181 * *****************
182 *
183 * parameters:
184 * xmstru <-- Mass matrix
185 * xcstr <-- Damping matrix
186 * xkstru <-- Stiffness matrix
187 * forstr <-- Fluid force matrix
188 * dtref --> time step
189 * ttcabs --> current time
190 * ntcabs --> current iteration number
191 *----------------------------------------------------------------------------*/
192
193 void CS_PROCF (uistr2, UISTR2) ( double *const xmstru,
194 double *const xcstru,
195 double *const xkstru,
196 double *const forstr,
197 double *const dtref,
198 double *const ttcabs,
199 int *const ntcabs);
200
201 /*=============================================================================
202 * Public function prototypes
203 *============================================================================*/
204
205 /*-----------------------------------------------------------------------------
206 * Return the viscosity's type of ALE method
207 *
208 * parameters:
209 * type <-- type of viscosity's type
210 *----------------------------------------------------------------------------*/
211
212 void
213 cs_gui_get_ale_viscosity_type(int * type);
214
215 /*----------------------------------------------------------------------------*/
216
217 END_C_DECLS
218
219 #endif /* __CS_GUI_MOBILE_MESH_H__ */