programmer's documentation
cs_ale.h
Go to the documentation of this file.
1 #ifndef __CS_ALE_H__
2 #define __CS_ALE_H__
3 
4 /*============================================================================
5  * Functions associated to ALE formulation
6  *============================================================================*/
7 
8 /*
9  This file is part of Code_Saturne, a general-purpose CFD tool.
10 
11  Copyright (C) 1998-2018 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  * Standard C library headers
32  *----------------------------------------------------------------------------*/
33 
34 /*----------------------------------------------------------------------------
35  * Local headers
36  *----------------------------------------------------------------------------*/
37 
38 #include "cs_base.h"
39 
40 /*----------------------------------------------------------------------------*/
41 
43 
44 /*============================================================================
45  * Public function prototypes
46  *============================================================================*/
47 
48 /*----------------------------------------------------------------------------*/
57 /*----------------------------------------------------------------------------*/
58 
59 void
61  cs_real_t *max_vol,
62  cs_real_t *tot_vol);
63 
64 /*----------------------------------------------------------------------------*/
77 /*----------------------------------------------------------------------------*/
78 
79 void
81  const cs_real_3_t *meshv,
82  const cs_real_33_t gradm[],
83  const cs_real_3_t *claale,
84  const cs_real_33_t *clbale,
85  const cs_real_t *dt,
86  cs_real_3_t *disp_proj);
87 
88 /*----------------------------------------------------------------------------*/
95 /*----------------------------------------------------------------------------*/
96 void
97 cs_ale_update_mesh(const int itrale,
98  const cs_real_3_t *xyzno0);
99 
100 /*----------------------------------------------------------------------------*/
112 /*----------------------------------------------------------------------------*/
113 
114 void
115 cs_ale_solve_mesh_velocity(const int iterns,
116  const int ndircl,
117  const int *impale,
118  const int *ialtyb);
119 
120 /*----------------------------------------------------------------------------*/
121 
123 
124 #endif /* __CS_ALE_H__ */
void cs_ale_solve_mesh_velocity(const int iterns, const int ndircl, const int *impale, const int *ialtyb)
Solve a Poisson equation on the mesh velocity in ALE framework.
Definition: cs_ale.c:425
double precision, dimension(:,:), allocatable xyzno0
initial mesh coordinates
Definition: albase.f90:58
integer, dimension(nvarmx), save ndircl
number of Dirichlet BCs
Definition: optcal.f90:328
void cs_ale_project_displacement(const int ialtyb[], const cs_real_3_t *meshv, const cs_real_33_t gradm[], const cs_real_3_t *claale, const cs_real_33_t *clbale, const cs_real_t *dt, cs_real_3_t *disp_proj)
Project the displacement on mesh vertices (solved on cell center).
Definition: cs_ale.c:126
#define BEGIN_C_DECLS
Definition: cs_defs.h:462
integer, dimension(:), allocatable ialtyb
defines the mesh velocity from the color of the boundary faces, or more generally from their properti...
Definition: albase.f90:56
double cs_real_t
Floating-point value.
Definition: cs_defs.h:297
void cs_ale_update_mesh_quantities(cs_real_t *min_vol, cs_real_t *max_vol, cs_real_t *tot_vol)
Compute cell and face centers of gravity, cell volumes and update bad cells.
Definition: cs_ale.c:95
Definition: cs_field_pointer.h:65
void cs_ale_update_mesh(const int itrale, const cs_real_3_t *xyzno0)
Update mesh in the ALE framework.
Definition: cs_ale.c:350
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:310
integer, dimension(:), allocatable impale
indicator of imposed displacement
Definition: albase.f90:51
#define END_C_DECLS
Definition: cs_defs.h:463
cs_real_t cs_real_33_t[3][3]
3x3 matrix of floating-point values
Definition: cs_defs.h:316