1
#ifndef __CS_GUI_MOBILE_MESH_H__
2
#define __CS_GUI_MOBILE_MESH_H__
4
/*============================================================================
5
* Management of the GUI parameters file: mobile mesh
6
*============================================================================*/
9
This file is part of Code_Saturne, a general-purpose CFD tool.
11
Copyright (C) 1998-2011 EDF S.A.
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
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
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.
28
/*----------------------------------------------------------------------------*/
30
/*----------------------------------------------------------------------------
32
*----------------------------------------------------------------------------*/
36
/*----------------------------------------------------------------------------*/
40
/*============================================================================
42
*============================================================================*/
44
/*============================================================================
45
* Public function prototypes for Fortran API
46
*============================================================================*/
48
/*----------------------------------------------------------------------------
56
* INTEGER IALE <-- iale method activation
57
* INTEGER NALINF <-- number of subiterations of initialization of
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
65
*----------------------------------------------------------------------------*/
67
void CS_PROCF (uialin, UIALIN) (int *const iale,
73
/*----------------------------------------------------------------------------
81
* ncel --> number of cells whithout halo
85
* xyzcen --> cell's gravity center
87
* ttcabs --> current time
88
* ntcabs --> current iteration number
89
*----------------------------------------------------------------------------*/
91
void CS_PROCF (uivima, UIVIMA) ( const cs_int_t *const ncel,
95
const double *const xyzcen,
98
const int *const ntcabs);
100
/*-----------------------------------------------------------------------------
110
* nfabor --> Number of boundary faces
111
* nozppm --> Max number of boundary conditions zone
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
*----------------------------------------------------------------------------*/
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,
133
const int *const ipnfbr,
134
const int *const nnod,
135
const int *const nodfbr,
137
double *const depale,
139
double *const ttcabs,
140
const int *const ntcabs,
141
const int *const iuma,
142
const int *const ivma,
143
const int *const iwma,
144
double *const rcodcl );
146
/*-----------------------------------------------------------------------------
147
* Retreive data for internal coupling. Called once at initialization
155
* nfabor --> Number of boundary faces
156
* idfstr --> Structure definition
157
* aexxst <-- Displacement prediction alpha
158
* bexxst <-- Displacement prediction beta
159
* cfopre <-- Stress prediction alpha
160
* ihistr <-- Monitor point synchronisation
161
* xstr0 <-- Values of the initial displacement
162
* xstreq <-- Values of the equilibrium displacement
163
* vstr0 <-- Values of the initial velocity
164
*----------------------------------------------------------------------------*/
166
void CS_PROCF (uistr1, UISTR1) ( const int *const nfabor,
176
/*-----------------------------------------------------------------------------
177
* Retreive data for internal coupling. Called at each step
185
* xmstru <-- Mass matrix
186
* xcstr <-- Damping matrix
187
* xkstru <-- Stiffness matrix
188
* forstr <-- Fluid force matrix
189
* dtref --> time step
190
* ttcabs --> current time
191
* ntcabs --> current iteration number
192
*----------------------------------------------------------------------------*/
194
void CS_PROCF (uistr2, UISTR2) ( double *const xmstru,
195
double *const xcstru,
196
double *const xkstru,
197
double *const forstr,
199
double *const ttcabs,
202
/*-----------------------------------------------------------------------------
203
* Retreive data for external coupling
211
* nfabor <-- Number of boundary faces
212
* idfstr <-- Structure definition
213
* asddlf <-- Block of the DDL forces
214
*----------------------------------------------------------------------------*/
216
void CS_PROCF (uiaste, UIASTE) (const int *const nfabor,
218
double *const asddlf);
220
/*=============================================================================
221
* Public function prototypes
222
*============================================================================*/
224
/*-----------------------------------------------------------------------------
225
* Return the viscosity's type of ALE method
228
* type <-- type of viscosity's type
229
*----------------------------------------------------------------------------*/
232
cs_gui_get_ale_viscosity_type(int * type);
234
/*----------------------------------------------------------------------------*/
238
#endif /* __CS_GUI_MOBILE_MESH_H__ */