9.1
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-2025 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
41
42/*============================================================================
43 * Type definitions
44 *============================================================================*/
45
46/*=============================================================================
47 * Public function prototypes
48 *============================================================================*/
49
50/*----------------------------------------------------------------------------
51 * ALE method.
52 *----------------------------------------------------------------------------*/
53
54void
56
57/*-----------------------------------------------------------------------------
58 * Return the viscosity's type of ALE method
59 *
60 * parameters:
61 * type <-- type of viscosity's type
62 *----------------------------------------------------------------------------*/
63
64void
66
67/*----------------------------------------------------------------------------
68 * Set ALE diffusion type from GUI.
69 *----------------------------------------------------------------------------*/
70
71void
73
74/*----------------------------------------------------------------------------
75 * Mesh viscosity setting.
76 *----------------------------------------------------------------------------*/
77
78void
80
81/*----------------------------------------------------------------------------*/
82/*
83 * \brief Translate the user settings for the domain boundaries into a
84 * structure storing the ALE boundaries (New mechanism used in CDO)
85 *
86 * \param[in, out] domain pointer to a \ref cs_domain_t structure
87 */
88/*----------------------------------------------------------------------------*/
89
90void
92
93/*----------------------------------------------------------------------------*/
94/*
95 * \brief Set mobile mesh boundary conditions based on setup.
96 *
97 * \param[in] ialtyb ALE BC type, per boundary face
98 * \param[in] impale fixed displacement indicator
99 * \param[out] disale fixed displacement, where indicated
100 */
101/*----------------------------------------------------------------------------*/
102
103void
105 int *const impale,
106 cs_real_3_t *disale);
107
108/*----------------------------------------------------------------------------*/
109/*
110 * \brief Return the fixed velocity for a boundary
111 *
112 * \param[in] label boundary condition label
113 *
114 * \return a pointer to an array of cs_real_t values
115 */
116/*----------------------------------------------------------------------------*/
117
118cs_real_t *
120
121/*----------------------------------------------------------------------------*/
122/*
123 * \brief Add mobile structures based on GUI BC definitions.
124 */
125/*----------------------------------------------------------------------------*/
126
127void
129
130/*-----------------------------------------------------------------------------
131 * Retrieve data for internal coupling. Called once at initialization
132 *
133 * parameters:
134 * is_restart <-- restart or not ?
135 * aexxst --> Displacement prediction alpha
136 * bexxst --> Displacement prediction beta
137 * cfopre --> Stress prediction alpha
138 * ihistr --> Monitor point synchronisation
139 * xstr0 <-> Values of the initial displacement
140 * xstreq <-> Values of the equilibrium displacement
141 * vstr0 <-> Values of the initial velocity
142 *----------------------------------------------------------------------------*/
143
144void
146 double *aexxst,
147 double *bexxst,
148 double *cfopre,
149 int *ihistr,
150 double *xstr0,
151 double *xstreq,
152 double *vstr0);
153
154/*-----------------------------------------------------------------------------
155 * Retrieve data for internal coupling. Called at each step
156 *
157 * parameters:
158 * xmstru --> Mass matrix
159 * xcstr --> Damping matrix
160 * xkstru --> Stiffness matrix
161 * forstr --> Fluid force matrix
162 *----------------------------------------------------------------------------*/
163
164void
166 cs_real_t xcstru[][3][3],
167 cs_real_t xkstru[][3][3],
168 cs_real_t forstr[][3]);
169
170/*-----------------------------------------------------------------------------
171 * Retrieve structure id associated to faces for structure coupling
172 *
173 * parameters:
174 * idfstr <-- structure number associated to each boundary face.
175 * idftyp <-- structure type associated to each boundary face.
176 *----------------------------------------------------------------------------*/
177
178void
181
182/*----------------------------------------------------------------------------*/
183
185
186#endif /* __CS_GUI_MOBILE_MESH_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:554
double cs_real_t
Floating-point value.
Definition: cs_defs.h:357
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:374
#define END_C_DECLS
Definition: cs_defs.h:555
void cs_gui_get_ale_viscosity_type(int *type)
Definition: cs_gui_mobile_mesh.cpp:573
void cs_gui_mobile_mesh_bc_structures(int *idfstr, cs_mobile_structure_type_t *idftyp)
Definition: cs_gui_mobile_mesh.cpp:1062
void cs_gui_ale_params(void)
Definition: cs_gui_mobile_mesh.cpp:525
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:806
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:920
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:1010
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:651
void cs_gui_ale_diffusion_type(void)
Definition: cs_gui_mobile_mesh.cpp:587
void cs_gui_mesh_viscosity(void)
Definition: cs_gui_mobile_mesh.cpp:615
void cs_gui_mobile_mesh_structures_add(void)
Add mobile structures based on GUI BC definitions.
Definition: cs_gui_mobile_mesh.cpp:864
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:733
cs_mobile_structure_type_t
Definition: cs_mobile_structures.h:47
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:129