programmer's documentation
 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 
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
214 
215 /*----------------------------------------------------------------------------*/
216 
218 
219 #endif /* __CS_GUI_MOBILE_MESH_H__ */