8.0
general documentation
cs_gui_boundary_conditions.h
Go to the documentation of this file.
1 #ifndef __CS_GUI_BOUNDARY_CONDITION_H__
2 #define __CS_GUI_BOUNDARY_CONDITION_H__
3 
4 /*============================================================================
5  * Management of the GUI parameters file: boundary conditions
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_boundary.h"
36 #include "cs_zone.h"
37 
38 /*----------------------------------------------------------------------------*/
39 
41 
42 /*============================================================================
43  * Type definitions
44  *============================================================================*/
45 
48 typedef struct {
49 
50  const cs_zone_t *zone; /*<! Pointer to zone */
51 
52  const char *name; /*<! Pointer to field or array name */
53  const char *condition; /*<! Pointer to condition name type */
54 
55  int dim; /*<! Values dimension */
56 
58 
59 /*============================================================================
60  * Static global variables
61  *============================================================================*/
62 
63 /*============================================================================
64  * Public function prototypes for Fortran API
65  *============================================================================*/
66 
67 /*----------------------------------------------------------------------------
68  * Boundary conditions treatment
69  *
70  * Fortran Interface:
71  *
72  * subroutine uiclim
73  * *****************
74  *----------------------------------------------------------------------------*/
75 
76 void CS_PROCF (uiclim, UICLIM)(const int *nozppm,
77  int *iqimp,
78  int *icalke,
79  int *ientat,
80  int *ientcp,
81  int *inmoxy,
82  int *ientox,
83  int *ientfu,
84  int *ientgf,
85  int *ientgb,
86  int *iprofm,
87  int *iautom,
88  int *itypfb,
89  int *izfppp,
90  double *qimp,
91  double *qimpat,
92  double *qimpcp,
93  double *dh,
94  double *xintur,
95  double *timpat,
96  double *timpcp,
97  double *tkent,
98  double *fment,
99  double *distch);
100 
101 /*----------------------------------------------------------------------------
102  * Boundary conditions input verification
103  *
104  * Fortran Interface:
105  *
106  * SUBROUTINE UICLVE
107  * *****************
108  *
109  * integer nozppm <-- max number of boundary conditions zone
110  *----------------------------------------------------------------------------*/
111 
112 void CS_PROCF (uiclve, UICLVE)(const int *nozppm);
113 
114 /*=============================================================================
115  * Public function prototypes
116  *============================================================================*/
117 
118 /*----------------------------------------------------------------------------*/
125 /*----------------------------------------------------------------------------*/
126 
127 void
129 
130 /*----------------------------------------------------------------------------*/
134 /*----------------------------------------------------------------------------*/
135 
136 void
138 
139 /*----------------------------------------------------------------------------*/
150 /*----------------------------------------------------------------------------*/
151 
154  const char *name,
155  const char *condition,
156  int dim);
157 
158 /*----------------------------------------------------------------------------*/
174 /*----------------------------------------------------------------------------*/
175 
176 void
178  const cs_lnum_t *elt_ids,
179  bool dense_output,
180  void *input,
181  cs_real_t *retval);
182 
183 /*----------------------------------------------------------------------------*/
184 
186 
187 #endif /* __CS_GUI_BOUNDARY_CONDITION_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
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
void uiclve(const int *nozppm)
Definition: cs_gui_boundary_conditions.c:3371
void cs_gui_boundary_conditions_define(cs_boundary_t *bdy)
Define boundary conditions based on setup file.
Definition: cs_gui_boundary_conditions.c:3434
void cs_gui_boundary_conditions_free_memory(void)
Free GUI boundary condition structures.
Definition: cs_gui_boundary_conditions.c:3623
cs_gui_boundary_meg_context_t * cs_gui_boundary_add_meg_context(const cs_zone_t *zone, const char *name, const char *condition, int dim)
Add new MEG-based cs_dof_func_t context info.
Definition: cs_gui_boundary_conditions.c:3717
void uiclim(const int *nozppm, int *iqimp, int *icalke, int *ientat, int *ientcp, int *inmoxy, int *ientox, int *ientfu, int *ientgf, int *ientgb, int *iprofm, int *iautom, int *itypfb, int *izfppp, double *qimp, double *qimpat, double *qimpcp, double *dh, double *xintur, double *timpat, double *timpcp, double *tkent, double *fment, double *distch)
Definition: cs_gui_boundary_conditions.c:2736
void cs_gui_boundary_conditions_dof_func_meg(cs_lnum_t n_elts, const cs_lnum_t *elt_ids, bool dense_output, void *input, cs_real_t *retval)
cs_dof_func_t function to compute a boundary profiles using a MEG generated function.
Definition: cs_gui_boundary_conditions.c:3761
integer, dimension(nozppm), save iprofm
read zone boundary conditions from profile
Definition: atincl.f90:151
integer, dimension(:), allocatable, target iautom
automatic inlet/outlet boundary condition flag (0: not auto (default); 1,2: auto) When meteo momentum...
Definition: atincl.f90:159
integer, dimension(nozppm), save iqimp
imposed flow zone indicator in a way which is similar to the process described in the framework of th...
Definition: ppincl.f90:799
integer, dimension(nozppm), save icalke
condition type turbulence indicator
Definition: ppincl.f90:805
double precision, dimension(nozppm), save dh
hydraulic diameter
Definition: ppincl.f90:811
double precision, dimension(nozppm), save xintur
turbulent intensity (k=1.5(uref*xintur)**2)
Definition: ppincl.f90:808
integer, dimension(:), pointer izfppp
to identify boundary zones associated with boundary faces (specific physics models)
Definition: pointe.f90:108
integer, dimension(:), pointer, save itypfb
boundary condition type at the boundary face ifac (see cs_user_boundary_conditions)
Definition: pointe.f90:100
integer nozppm
maximum index of boundary zones
Definition: ppppar.f90:45
integer, dimension(nozppm), save ientox
Definition: coincl.f90:83
double precision, dimension(nozppm), save tkent
Definition: coincl.f90:157
integer, dimension(nozppm), save ientgb
Definition: coincl.f90:156
double precision, dimension(nozppm), save fment
Definition: coincl.f90:157
integer, dimension(nozppm), save ientgf
Definition: coincl.f90:156
integer, dimension(nozppm), save ientfu
Definition: coincl.f90:83
double precision, dimension(nozppm), save qimp
Definition: coincl.f90:157
double precision, dimension(nozppm, ncharm), save timpcp
Definition: cpincl.f90:273
double precision, dimension(nozppm), save timpat
Definition: cpincl.f90:250
integer, dimension(nozppm), save ientat
Definition: cpincl.f90:249
double precision, dimension(nozppm, ncharm, ncpcmx), save distch
Definition: cpincl.f90:274
integer, dimension(nozppm), save ientcp
Definition: cpincl.f90:249
double precision, dimension(nozppm, ncharm), save qimpcp
Definition: cpincl.f90:273
double precision, dimension(nozppm), save qimpat
Definition: cpincl.f90:272
integer, dimension(nozppm), save inmoxy
Definition: ppcpfu.f90:184
Structure storing information related to the "physical" boundaries associated with the computational ...
Definition: cs_boundary.h:155
Definition: cs_gui_boundary_conditions.h:48
const char * condition
Definition: cs_gui_boundary_conditions.h:53
int dim
Definition: cs_gui_boundary_conditions.h:55
const char * name
Definition: cs_gui_boundary_conditions.h:52
const cs_zone_t * zone
Definition: cs_gui_boundary_conditions.h:50
Definition: cs_zone.h:55