My Project
programmer's documentation
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-2019 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 #include "cs_domain.h"
36 
37 /*----------------------------------------------------------------------------*/
38 
40 
41 /*============================================================================
42  * Type definitions
43  *============================================================================*/
44 
45 /*============================================================================
46  * Public function prototypes for Fortran API
47  *============================================================================*/
48 
49 /*----------------------------------------------------------------------------
50  * ALE method.
51  *
52  * Fortran Interface:
53  *
54  * SUBROUTINE UIALIN()
55  * *****************
56  *
57  * nalinf <-> number of subiterations of initialization of
58  * fluid
59  * nalimx <-> max number of iterations of implicitation of
60  * the displacement of the structures
61  * epalim <-> realtive precision of implicitation of
62  * the displacement of the structures
63  *
64  *----------------------------------------------------------------------------*/
65 
66 void CS_PROCF (uialin, UIALIN) (int *nalinf,
67  int *nalimx,
68  double *epalim);
69 
70 /*----------------------------------------------------------------------------
71  * ALE diffusion type
72  *
73  * Fortran Interface:
74  *
75  * SUBROUTINE UIALVM
76  * *****************
77  *----------------------------------------------------------------------------*/
78 
79 void CS_PROCF (uialvm, UIALVM) (void);
80 
81 /*-----------------------------------------------------------------------------
82  * uialcl
83  *
84  * Fortran Interface:
85  *
86  * SUBROUTINE UIALCL
87  * *****************
88  *
89  * parameters:
90  * ialtyb --> ialtyb
91  * impale --> uialcl_fixed_displacement
92  * disale --> See uialcl_fixed_displacement
93  * iuma <-- See uialcl_fixed_velocity
94  * ivma <-- See uialcl_fixed_velocity
95  * iwma <-- See uialcl_fixed_velocity
96  * rcodcl --> See uialcl_fixed_velocity
97  *----------------------------------------------------------------------------*/
98 
99 void CS_PROCF (uialcl, UIALCL) (const int *const ibfixe,
100  const int *const igliss,
101  const int *const ivimpo,
102  const int *const ifresf,
103  int *const ialtyb,
104  int *const impale,
106  const int *const iuma,
107  const int *const ivma,
108  const int *const iwma,
109  double *const rcodcl);
110 
111 /*-----------------------------------------------------------------------------
112  * Retrieve data for internal coupling. Called once at initialization
113  *
114  * Fortran Interface:
115  *
116  * subroutine uistr1
117  * *****************
118  *
119  * parameters:
120  * idfstr --> Structure definition
121  * mbstru <-- number of previous structures (-999 or by restart)
122  * aexxst --> Displacement prediction alpha
123  * bexxst --> Displacement prediction beta
124  * cfopre --> Stress prediction alpha
125  * ihistr --> Monitor point synchronisation
126  * xstr0 <-> Values of the initial displacement
127  * xstreq <-> Values of the equilibrium displacement
128  * vstr0 <-> Values of the initial velocity
129  *----------------------------------------------------------------------------*/
130 
131 void CS_PROCF (uistr1, UISTR1) (cs_lnum_t *idfstr,
132  const int *mbstru,
133  double *aexxst,
134  double *bexxst,
135  double *cfopre,
136  int *ihistr,
137  double *xstr0,
138  double *xstreq,
139  double *vstr0);
140 
141 /*-----------------------------------------------------------------------------
142  * Retrieve data for internal coupling. Called at each step
143  *
144  * Fortran Interface:
145  *
146  * SUBROUTINE UISTR2
147  * *****************
148  *
149  * parameters:
150  * xmstru --> Mass matrix
151  * xcstr --> Damping matrix
152  * xkstru --> Stiffness matrix
153  * forstr --> Fluid force matrix
154  * dtref <-- time step
155  * ttcabs <-- current time
156  * ntcabs <-- current iteration number
157  *----------------------------------------------------------------------------*/
158 
159 void CS_PROCF (uistr2, UISTR2) ( double *const xmstru,
160  double *const xcstru,
161  double *const xkstru,
162  double *const forstr,
163  double *const dtref,
164  double *const ttcabs,
165  int *const ntcabs);
166 
167 /*-----------------------------------------------------------------------------
168  * Retrieve data for external coupling
169  *
170  * parameters:
171  * nfabor <-- Number of boundary faces
172  * idfstr <-- Structure definition
173  * asddlf <-- Block of the DDL forces
174  *----------------------------------------------------------------------------*/
175 
176 void
177 CS_PROCF(uiaste, UIASTE)(int *idfstr,
179 
180 /*=============================================================================
181  * Public function prototypes
182  *============================================================================*/
183 
184 /*-----------------------------------------------------------------------------
185  * Return the viscosity's type of ALE method
186  *
187  * parameters:
188  * type <-- type of viscosity's type
189  *----------------------------------------------------------------------------*/
190 
191 void
193 
194 /*----------------------------------------------------------------------------
195  * Mesh viscosity setting.
196  *----------------------------------------------------------------------------*/
197 
198 void
200 
201 /*----------------------------------------------------------------------------*/
209 void
211 
212 /*----------------------------------------------------------------------------*/
220 void
221 cs_gui_mobile_mesh_get_fixed_velocity(const char* label,
222  cs_real_t *vel);
223 
224 /*----------------------------------------------------------------------------*/
225 
227 
228 #endif /* __CS_GUI_MOBILE_MESH_H__ */
rcodcl
void const int *const const int *const const int *const int *const int *const cs_real_3_t const int *const const int *const const int *const double *const rcodcl
Definition: cs_gui_mobile_mesh.h:100
cs_domain_t
Structure storing the main features of the computational domain and pointers to the main geometrical ...
Definition: cs_domain.h:87
ialtyb
void const int *const const int *const const int *const int *const ialtyb
Definition: cs_gui_mobile_mesh.h:100
aexxst
void const int double * aexxst
Definition: cs_gui_mobile_mesh.h:132
ttcabs
void double *const double *const double *const double *const double *const ttcabs
Definition: cs_gui_mobile_mesh.h:160
cs_gui_mesh_viscosity
void cs_gui_mesh_viscosity(void)
Definition: cs_gui_mobile_mesh.c:1062
bexxst
void const int double double * bexxst
Definition: cs_gui_mobile_mesh.h:132
cs_domain.h
cs_gui_mobile_mesh_get_fixed_velocity
void cs_gui_mobile_mesh_get_fixed_velocity(const char *label, cs_real_t *vel)
Return the fixed velocity for a boundary.
iuma
void const int *const const int *const const int *const int *const int *const cs_real_3_t const int *const iuma
Definition: cs_gui_mobile_mesh.h:100
cs_real_3_t
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:315
cfopre
void const int double double double * cfopre
Definition: cs_gui_mobile_mesh.h:132
xkstru
void double *const double *const xkstru
Definition: cs_gui_mobile_mesh.h:160
END_C_DECLS
#define END_C_DECLS
Definition: cs_defs.h:468
ihistr
void const int double double double int * ihistr
Definition: cs_gui_mobile_mesh.h:132
cs_real_t
double cs_real_t
Floating-point value.
Definition: cs_defs.h:302
forstr
void double *const double *const double *const forstr
Definition: cs_gui_mobile_mesh.h:160
BEGIN_C_DECLS
#define BEGIN_C_DECLS
Definition: cs_defs.h:467
impale
void const int *const const int *const const int *const int *const int *const impale
Definition: cs_gui_mobile_mesh.h:100
iwma
void const int *const const int *const const int *const int *const int *const cs_real_3_t const int *const const int *const const int *const iwma
Definition: cs_gui_mobile_mesh.h:100
ifresf
void const int *const const int *const const int *const ifresf
Definition: cs_gui_mobile_mesh.h:100
paramx::ibfixe
integer ibfixe
Definition: paramx.f90:315
ivimpo
void const int *const const int *const ivimpo
Definition: cs_gui_mobile_mesh.h:100
nalimx
void int * nalimx
Definition: cs_gui_mobile_mesh.h:67
xmstru
void const char const char const cs_int_t const cs_int_t const cs_int_t const cs_real_t * xmstru
Definition: cs_time_plot.h:95
cs_gui_mobile_mesh_get_boundaries
void cs_gui_mobile_mesh_get_boundaries(cs_domain_t *domain)
Translate the user settings for the domain boundaries into a structure storing the ALE boundaries (Ne...
Definition: cs_gui_mobile_mesh.c:1125
albase::nalinf
integer, save nalinf
the number of sub-iterations of initialization of the fluid
Definition: albase.f90:47
pointe::idfstr
integer, dimension(:), allocatable idfstr
the index of the structure, (idfstr(ifac) where ifac is the index of the face), 0 if the face is not ...
Definition: pointe.f90:112
cs_lnum_t
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:298
disale
void const int *const const int *const const int *const int *const int *const cs_real_3_t * disale
Definition: cs_gui_mobile_mesh.h:100
dtref
void double *const double *const double *const double *const dtref
Definition: cs_gui_mobile_mesh.h:160
ivma
void const int *const const int *const const int *const int *const int *const cs_real_3_t const int *const const int *const ivma
Definition: cs_gui_mobile_mesh.h:100
ntcabs
void double *const double *const double *const double *const double *const int *const ntcabs
Definition: cs_gui_mobile_mesh.h:160
vel
void const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_int_t *const const cs_real_t *const const cs_real_t *const const cs_real_t const cs_real_t const cs_real_3_t vel[]
Definition: cs_divergence.h:64
mbstru
void const int * mbstru
Definition: cs_gui_mobile_mesh.h:132
cs_int_t
int cs_int_t
Fortran-compatible integer.
Definition: cs_defs.h:301
epalim
void int double * epalim
Definition: cs_gui_mobile_mesh.h:67
vstr0
void const int double double double int double double double * vstr0
Definition: cs_gui_mobile_mesh.h:132
xcstru
void double *const xcstru
Definition: cs_gui_mobile_mesh.h:160
cs_gui_get_ale_viscosity_type
void cs_gui_get_ale_viscosity_type(int *type)
Definition: cs_gui_mobile_mesh.c:1048
igliss
void const int *const igliss
Definition: cs_gui_mobile_mesh.h:100
asddlf
void cs_int_t * asddlf
Definition: cs_gui_mobile_mesh.h:178
xstr0
void const int double double double int double * xstr0
Definition: cs_gui_mobile_mesh.h:132
type
void const cs_int_t * type
Definition: cs_measures_util.h:425
cs_base.h
CS_PROCF
void CS_PROCF(uialin, UIALIN)(int *nalinf
xstreq
void const int double double double int double double * xstreq
Definition: cs_gui_mobile_mesh.h:132