8.0
general documentation
Loading...
Searching...
No Matches
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-2023 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 <-> relative precision of implicitation of
62 * the displacement of the structures
63 *
64 *----------------------------------------------------------------------------*/
65
66void CS_PROCF (uialin, UIALIN) (int *nalinf,
67 int *nalimx,
68 double *epalim);
69
70/*-----------------------------------------------------------------------------
71 * uialcl
72 *
73 * Fortran Interface:
74 *
75 * SUBROUTINE UIALCL
76 * *****************
77 *
78 * parameters:
79 * ialtyb --> ialtyb
80 * impale --> uialcl_fixed_displacement
81 * disale --> See uialcl_fixed_displacement
82 *----------------------------------------------------------------------------*/
83
84void CS_PROCF (uialcl, UIALCL) (int *const ialtyb,
85 int *const impale,
86 cs_real_3_t *disale);
87
88
89/*-----------------------------------------------------------------------------
90 * Retrieve data for external coupling
91 *
92 * parameters:
93 * nfabor <-- Number of boundary faces
94 * idfstr <-- Structure definition
95 *----------------------------------------------------------------------------*/
96
97void
98CS_PROCF(uiaste, UIASTE)(int *idfstr);
99
100/*=============================================================================
101 * Public function prototypes
102 *============================================================================*/
103
104/*-----------------------------------------------------------------------------
105 * Return the viscosity's type of ALE method
106 *
107 * parameters:
108 * type <-- type of viscosity's type
109 *----------------------------------------------------------------------------*/
110
111void
113
114/*----------------------------------------------------------------------------
115 * Set ALE diffusion type from GUI.
116 *----------------------------------------------------------------------------*/
117
118void
120
121/*----------------------------------------------------------------------------
122 * Mesh viscosity setting.
123 *----------------------------------------------------------------------------*/
124
125void
127
128/*----------------------------------------------------------------------------*/
135/*----------------------------------------------------------------------------*/
136
137void
139
140/*----------------------------------------------------------------------------*/
148/*----------------------------------------------------------------------------*/
149
150cs_real_t *
152
153/*----------------------------------------------------------------------------*/
157/*----------------------------------------------------------------------------*/
158
159void
161
162/*-----------------------------------------------------------------------------
163 * Retrieve data for internal coupling. Called once at initialization
164 *
165 * parameters:
166 * mbstru <-- number of previous structures (-999 or by restart)
167 * aexxst --> Displacement prediction alpha
168 * bexxst --> Displacement prediction beta
169 * cfopre --> Stress prediction alpha
170 * ihistr --> Monitor point synchronisation
171 * xstr0 <-> Values of the initial displacement
172 * xstreq <-> Values of the equilibrium displacement
173 * vstr0 <-> Values of the initial velocity
174 *----------------------------------------------------------------------------*/
175
176void
178 double *aexxst,
179 double *bexxst,
180 double *cfopre,
181 int *ihistr,
182 double *xstr0,
183 double *xstreq,
184 double *vstr0);
185
186/*-----------------------------------------------------------------------------
187 * Retrieve data for internal coupling. Called at each step
188 *
189 * parameters:
190 * xmstru --> Mass matrix
191 * xcstr --> Damping matrix
192 * xkstru --> Stiffness matrix
193 * forstr --> Fluid force matrix
194 *----------------------------------------------------------------------------*/
195
196void
198 cs_real_t xcstru[][3][3],
199 cs_real_t xkstru[][3][3],
200 cs_real_t forstr[][3]);
201
202/*-----------------------------------------------------------------------------
203 * Retrieve structure id associated to faces for structure coupling
204 *
205 * parameters:
206 * idfstr <-- structure number associated to each boundary face.
207 *----------------------------------------------------------------------------*/
208
209void
211
212/*----------------------------------------------------------------------------*/
213
215
216#endif /* __CS_GUI_MOBILE_MESH_H__ */
#define BEGIN_C_DECLS
Definition cs_defs.h:509
double cs_real_t
Floating-point value.
Definition cs_defs.h:319
#define CS_PROCF(x, y)
Definition cs_defs.h:523
#define END_C_DECLS
Definition cs_defs.h:510
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition cs_defs.h:332
void uialin(int *nalinf, int *nalimx, double *epalim)
Definition cs_gui_mobile_mesh.c:449
void uialcl(int *const ialtyb, int *const impale, cs_real_3_t *disale)
Definition cs_gui_mobile_mesh.c:500
void cs_gui_get_ale_viscosity_type(int *type)
Definition cs_gui_mobile_mesh.c:574
cs_real_t * cs_gui_mobile_mesh_get_fixed_velocity(const char *label)
Return the fixed velocity for a boundary.
Definition cs_gui_mobile_mesh.c:737
void uiaste(int *idfstr)
void cs_gui_mobile_mesh_internal_structures(cs_real_t xmstru[][3][3], cs_real_t xcstru[][3][3], cs_real_t xkstru[][3][3], cs_real_t forstr[][3])
Definition cs_gui_mobile_mesh.c:916
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:655
void cs_gui_ale_diffusion_type(void)
Definition cs_gui_mobile_mesh.c:588
void cs_gui_mobile_mesh_init_structures(int mbstru, double *aexxst, double *bexxst, double *cfopre, int *ihistr, double *xstr0, double *xstreq, double *vstr0)
Definition cs_gui_mobile_mesh.c:839
void cs_gui_mobile_mesh_bc_structures(int *idfstr)
Definition cs_gui_mobile_mesh.c:967
void cs_gui_mesh_viscosity(void)
Definition cs_gui_mobile_mesh.c:619
void cs_gui_mobile_mesh_structures_add(void)
Add mobile structures based on GUI BC definitions.
Definition cs_gui_mobile_mesh.c:791
integer(c_int), save nalimx
maximum number of implicitation iterations of the structure displacement
Definition albase.f90:49
integer, dimension(:), allocatable impale
indicator of imposed displacement
Definition albase.f90:61
real(c_double), save epalim
relative precision of implicitation of the structure displacement
Definition albase.f90:51
integer, dimension(:), allocatable ialtyb
defines the mesh velocity from the color of the boundary faces, or more generally from their properti...
Definition albase.f90:66
integer(c_int), save nalinf
the number of sub-iterations of initialization of the fluid
Definition albase.f90:47
char * label
Definition keywords.h:71
Structure storing the main features of the computational domain and pointers to the main geometrical ...
Definition cs_domain.h:138