8.3
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-2024 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
47 *============================================================================*/
48
49/*----------------------------------------------------------------------------
50 * ALE method.
51 *----------------------------------------------------------------------------*/
52
53void
55
56/*-----------------------------------------------------------------------------
57 * Return the viscosity's type of ALE method
58 *
59 * parameters:
60 * type <-- type of viscosity's type
61 *----------------------------------------------------------------------------*/
62
63void
65
66/*----------------------------------------------------------------------------
67 * Set ALE diffusion type from GUI.
68 *----------------------------------------------------------------------------*/
69
70void
72
73/*----------------------------------------------------------------------------
74 * Mesh viscosity setting.
75 *----------------------------------------------------------------------------*/
76
77void
79
80/*----------------------------------------------------------------------------*/
81/*
82 * \brief Translate the user settings for the domain boundaries into a
83 * structure storing the ALE boundaries (New mechanism used in CDO)
84 *
85 * \param[in, out] domain pointer to a \ref cs_domain_t structure
86 */
87/*----------------------------------------------------------------------------*/
88
89void
91
92/*----------------------------------------------------------------------------*/
93/*
94 * \brief Set mobile mesh boundary conditions based on setup.
95 *
96 * \param[in] ialtyb ALE BC type, per boundary face
97 * \param[in] impale fixed displacement indicator
98 * \param[out] disale fixed displacement, where indicated
99 */
100/*----------------------------------------------------------------------------*/
101
102void
104 int *const impale,
105 cs_real_3_t *disale);
106
107/*----------------------------------------------------------------------------*/
108/*
109 * \brief Return the fixed velocity for a boundary
110 *
111 * \param[in] label boundary condition label
112 *
113 * \return a pointer to an array of cs_real_t values
114 */
115/*----------------------------------------------------------------------------*/
116
117cs_real_t *
119
120/*----------------------------------------------------------------------------*/
121/*
122 * \brief Add mobile structures based on GUI BC definitions.
123 */
124/*----------------------------------------------------------------------------*/
125
126void
128
129/*-----------------------------------------------------------------------------
130 * Retrieve data for internal coupling. Called once at initialization
131 *
132 * parameters:
133 * is_restart <-- restart or not ?
134 * aexxst --> Displacement prediction alpha
135 * bexxst --> Displacement prediction beta
136 * cfopre --> Stress prediction alpha
137 * ihistr --> Monitor point synchronisation
138 * xstr0 <-> Values of the initial displacement
139 * xstreq <-> Values of the equilibrium displacement
140 * vstr0 <-> Values of the initial velocity
141 *----------------------------------------------------------------------------*/
142
143void
145 double *aexxst,
146 double *bexxst,
147 double *cfopre,
148 int *ihistr,
149 double *xstr0,
150 double *xstreq,
151 double *vstr0);
152
153/*-----------------------------------------------------------------------------
154 * Retrieve data for internal coupling. Called at each step
155 *
156 * parameters:
157 * xmstru --> Mass matrix
158 * xcstr --> Damping matrix
159 * xkstru --> Stiffness matrix
160 * forstr --> Fluid force matrix
161 *----------------------------------------------------------------------------*/
162
163void
165 cs_real_t xcstru[][3][3],
166 cs_real_t xkstru[][3][3],
167 cs_real_t forstr[][3]);
168
169/*-----------------------------------------------------------------------------
170 * Retrieve structure id associated to faces for structure coupling
171 *
172 * parameters:
173 * idfstr <-- structure number associated to each boundary face.
174 *----------------------------------------------------------------------------*/
175
176void
178
179/*----------------------------------------------------------------------------*/
180
182
183#endif /* __CS_GUI_MOBILE_MESH_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:542
double cs_real_t
Floating-point value.
Definition: cs_defs.h:342
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:359
#define END_C_DECLS
Definition: cs_defs.h:543
void cs_gui_get_ale_viscosity_type(int *type)
Definition: cs_gui_mobile_mesh.cpp:510
void cs_gui_ale_params(void)
Definition: cs_gui_mobile_mesh.cpp:460
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:744
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:851
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:931
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:589
void cs_gui_ale_diffusion_type(void)
Definition: cs_gui_mobile_mesh.cpp:524
void cs_gui_mobile_mesh_bc_structures(int *idfstr)
Definition: cs_gui_mobile_mesh.cpp:982
void cs_gui_mesh_viscosity(void)
Definition: cs_gui_mobile_mesh.cpp:552
void cs_gui_mobile_mesh_structures_add(void)
Add mobile structures based on GUI BC definitions.
Definition: cs_gui_mobile_mesh.cpp:802
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:671
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