~ubuntu-branches/ubuntu/precise/code-saturne/precise

« back to all changes in this revision

Viewing changes to src/gui/cs_gui_mobile_mesh.h

  • Committer: Package Import Robot
  • Author(s): Sylvestre Ledru
  • Date: 2011-11-24 00:00:08 UTC
  • mfrom: (6.1.9 sid)
  • Revision ID: package-import@ubuntu.com-20111124000008-2vo99e38267942q5
Tags: 2.1.0-3
Install a missing file

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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-2011 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    nnod,
 
135
                                 const int *const    nodfbr,
 
136
                                       int *const    impale,
 
137
                                       double *const depale,
 
138
                                 double *const       dtref,
 
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  );
 
145
 
 
146
/*-----------------------------------------------------------------------------
 
147
 * Retreive data for internal coupling. Called once at initialization
 
148
 *
 
149
 * Fortran Interface:
 
150
 *
 
151
 * SUBROUTINE UISTR1
 
152
 * *****************
 
153
 *
 
154
 * parameters:
 
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
 *----------------------------------------------------------------------------*/
 
165
 
 
166
void CS_PROCF (uistr1, UISTR1) ( const int *const nfabor,
 
167
                                 int       *const idfstr,
 
168
                                 double           *aexxst,
 
169
                                 double           *bexxst,
 
170
                                 double           *cfopre,
 
171
                                 int              *ihistr,
 
172
                                 double           *xstr0,
 
173
                                 double           *xstreq,
 
174
                                 double           *vstr0 );
 
175
 
 
176
/*-----------------------------------------------------------------------------
 
177
 * Retreive data for internal coupling. Called at each step
 
178
 *
 
179
 * Fortran Interface:
 
180
 *
 
181
 * SUBROUTINE UISTR2
 
182
 * *****************
 
183
 *
 
184
 * parameters:
 
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
 *----------------------------------------------------------------------------*/
 
193
 
 
194
void CS_PROCF (uistr2, UISTR2) ( double *const  xmstru,
 
195
                                 double *const  xcstru,
 
196
                                 double *const  xkstru,
 
197
                                 double *const  forstr,
 
198
                                 double *const  dtref,
 
199
                                 double *const  ttcabs,
 
200
                                 int *const     ntcabs);
 
201
 
 
202
/*-----------------------------------------------------------------------------
 
203
 * Retreive data for external coupling
 
204
 *
 
205
 * Fortran Interface:
 
206
 *
 
207
 * SUBROUTINE UIASTE
 
208
 * *****************
 
209
 *
 
210
 * parameters:
 
211
 * nfabor    <-- Number of boundary faces
 
212
 * idfstr    <-- Structure definition
 
213
 * asddlf    <-- Block of the DDL forces
 
214
 *----------------------------------------------------------------------------*/
 
215
 
 
216
void CS_PROCF (uiaste, UIASTE) (const int *const nfabor,
 
217
                                int    *const    idfstr,
 
218
                                double *const    asddlf);
 
219
 
 
220
/*=============================================================================
 
221
 * Public function prototypes
 
222
 *============================================================================*/
 
223
 
 
224
/*-----------------------------------------------------------------------------
 
225
 * Return the viscosity's type of ALE method
 
226
 *
 
227
 * parameters:
 
228
 *   type        <--  type of viscosity's type
 
229
 *----------------------------------------------------------------------------*/
 
230
 
 
231
void
 
232
cs_gui_get_ale_viscosity_type(int  * type);
 
233
 
 
234
/*----------------------------------------------------------------------------*/
 
235
 
 
236
END_C_DECLS
 
237
 
 
238
#endif /* __CS_GUI_MOBILE_MESH_H__ */