Code_Saturne
CFD tool
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros 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-2012 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 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
233 
234 /*----------------------------------------------------------------------------*/
235 
237 
238 #endif /* __CS_GUI_MOBILE_MESH_H__ */
void cs_gui_get_ale_viscosity_type(int *type)
Definition: cs_gui_mobile_mesh.c:186
#define BEGIN_C_DECLS
Definition: cs_defs.h:365
int cs_int_t
Definition: cs_defs.h:263
void uivima(const cs_int_t *const ncel, double *const viscmx, double *const viscmy, double *const viscmz, const double *const xyzcen, double *const dtref, double *const ttcabs, const int *const ntcabs)
Definition: cs_gui_mobile_mesh.c:866
void uiaste(const int *const nfabor, int *const idfstr, double *const asddlf)
Definition: cs_gui_mobile_mesh.c:1223
void uistr2(double *const xmstru, double *const xcstru, double *const xkstru, double *const forstr, double *const dtref, double *const ttcabs, int *const ntcabs)
Definition: cs_gui_mobile_mesh.c:1169
#define END_C_DECLS
Definition: cs_defs.h:366
BEGIN_C_DECLS void uialin(int *const iale, int *const nalinf, int *const nalimx, double *const epalim, int *const iortvm)
Definition: cs_gui_mobile_mesh.c:941
#define CS_PROCF(x, y)
Definition: cs_defs.h:379
void uialcl(const int *const nfabor, const int *const nozppm, const int *const ibfixe, const int *const igliss, const int *const ivimpo, int *const ialtyb, const int *const ipnfbr, const int *const nnod, const int *const nodfbr, int *const impale, double *const depale, double *const dtref, double *const ttcabs, const int *const ntcabs, const int *const iuma, const int *const ivma, const int *const iwma, double *const rcodcl)
Definition: cs_gui_mobile_mesh.c:999
void uistr1(const int *const nfabor, int *const idfstr, double *aexxst, double *bexxst, double *cfopre, int *ihistr, double *xstr0, double *xstreq, double *vstr0)
Definition: cs_gui_mobile_mesh.c:1098