9.2
general 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-2026 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 "base/cs_base.h"
36#include "cdo/cs_domain.h"
37
38/*============================================================================
39 * Type definitions
40 *============================================================================*/
41
42/*=============================================================================
43 * Public function prototypes
44 *============================================================================*/
45
46/*----------------------------------------------------------------------------
47 * ALE method.
48 *----------------------------------------------------------------------------*/
49
50void
52
53/*-----------------------------------------------------------------------------
54 * Return the viscosity's type of ALE method
55 *
56 * parameters:
57 * type <-- type of viscosity's type
58 *----------------------------------------------------------------------------*/
59
60void
62
63/*----------------------------------------------------------------------------
64 * Set ALE diffusion type from GUI.
65 *----------------------------------------------------------------------------*/
66
67void
69
70/*----------------------------------------------------------------------------
71 * Mesh viscosity setting.
72 *----------------------------------------------------------------------------*/
73
74void
76
77/*----------------------------------------------------------------------------*/
78/*
79 * \brief Translate the user settings for the domain boundaries into a
80 * structure storing the ALE boundaries (New mechanism used in CDO)
81 *
82 * \param[in, out] domain pointer to a \ref cs_domain_t structure
83 */
84/*----------------------------------------------------------------------------*/
85
86void
88
89/*----------------------------------------------------------------------------*/
90/*
91 * \brief Set mobile mesh boundary conditions based on setup.
92 *
93 * \param[in] ialtyb ALE BC type, per boundary face
94 * \param[in] impale fixed displacement indicator
95 * \param[out] disale fixed displacement, where indicated
96 */
97/*----------------------------------------------------------------------------*/
98
99void
101 int *const impale,
102 cs_real_3_t *disale);
103
104/*----------------------------------------------------------------------------*/
105/*
106 * \brief Return the fixed velocity for a boundary
107 *
108 * \param[in] label boundary condition label
109 *
110 * \return a pointer to an array of cs_real_t values
111 */
112/*----------------------------------------------------------------------------*/
113
114cs_real_t *
116
117/*----------------------------------------------------------------------------*/
118/*
119 * \brief Add mobile structures based on GUI BC definitions.
120 */
121/*----------------------------------------------------------------------------*/
122
123void
125
126/*-----------------------------------------------------------------------------
127 * Retrieve data for internal coupling. Called once at initialization
128 *
129 * parameters:
130 * is_restart <-- restart or not ?
131 * aexxst --> Displacement prediction alpha
132 * bexxst --> Displacement prediction beta
133 * cfopre --> Stress prediction alpha
134 * ihistr --> Monitor point synchronisation
135 * xstr0 <-> Values of the initial displacement
136 * xstreq <-> Values of the equilibrium displacement
137 * vstr0 <-> Values of the initial velocity
138 *----------------------------------------------------------------------------*/
139
140void
142 double *aexxst,
143 double *bexxst,
144 double *cfopre,
145 int *ihistr,
146 double *xstr0,
147 double *xstreq,
148 double *vstr0);
149
150/*-----------------------------------------------------------------------------
151 * Retrieve data for internal coupling. Called at each step
152 *
153 * parameters:
154 * xmstru --> Mass matrix
155 * xcstr --> Damping matrix
156 * xkstru --> Stiffness matrix
157 * forstr --> Fluid force matrix
158 *----------------------------------------------------------------------------*/
159
160void
162 cs_real_t xcstru[][3][3],
163 cs_real_t xkstru[][3][3],
164 cs_real_t forstr[][3]);
165
166/*-----------------------------------------------------------------------------
167 * Retrieve structure id associated to faces for structure coupling
168 *
169 * parameters:
170 * idfstr <-- structure number associated to each boundary face.
171 * idftyp <-- structure type associated to each boundary face.
172 *----------------------------------------------------------------------------*/
173
174void
177
178/*----------------------------------------------------------------------------*/
179
180#endif /* CS_GUI_MOBILE_MESH_H */
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:349
void cs_gui_get_ale_viscosity_type(int *type)
Definition: cs_gui_mobile_mesh.cpp:569
void cs_gui_mobile_mesh_bc_structures(int *idfstr, cs_mobile_structure_type_t *idftyp)
Definition: cs_gui_mobile_mesh.cpp:1057
void cs_gui_ale_params(void)
Definition: cs_gui_mobile_mesh.cpp:521
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.cpp:802
void cs_gui_mobile_mesh_init_structures(bool is_restart, double *aexxst, double *bexxst, double *cfopre, int *ihistr, double *xstr0, double *xstreq, double *vstr0)
Definition: cs_gui_mobile_mesh.cpp:916
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.cpp:1005
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.cpp:647
void cs_gui_ale_diffusion_type(void)
Definition: cs_gui_mobile_mesh.cpp:583
void cs_gui_mesh_viscosity(void)
Definition: cs_gui_mobile_mesh.cpp:611
void cs_gui_mobile_mesh_structures_add(void)
Add mobile structures based on GUI BC definitions.
Definition: cs_gui_mobile_mesh.cpp:860
void cs_gui_mobile_mesh_boundary_conditions(int *const ialtyb, int *const impale, cs_real_3_t *disale)
Set mobile mesh boundary conditions based on setup.
Definition: cs_gui_mobile_mesh.cpp:729
cs_mobile_structure_type_t
Definition: cs_mobile_structures.h:45
char * label
Definition: keywords.h:58
Structure storing the main features of the computational domain and pointers to the main geometrical ...
Definition: cs_domain.h:120