/usr/include/code_saturne/cs_ventil.h is in code-saturne-include 3.2.1-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 | #ifndef __CS_VENTIL_H__
#define __CS_VENTIL_H__
/*============================================================================
* Management of fans
*============================================================================*/
/*
This file is part of Code_Saturne, a general-purpose CFD tool.
Copyright (C) 1998-2013 EDF S.A.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 51 Franklin
Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
* Standard C library headers
*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------
* Local headers
*----------------------------------------------------------------------------*/
#include "cs_base.h"
#include "cs_mesh.h"
#include "cs_mesh_quantities.h"
/*----------------------------------------------------------------------------*/
BEGIN_C_DECLS
/*============================================================================
* Structure definition
*============================================================================*/
typedef struct _cs_ventil_t cs_ventil_t;
/*============================================================================
* Public function prototypes for Fortran API
*============================================================================*/
/*----------------------------------------------------------------------------
* Get the number of fans.
*
* Fortran interface:
*
* SUBROUTINE TSTVTL
* *****************
*
* INTEGER NBRVTL : --> : number of fans
*----------------------------------------------------------------------------*/
void CS_PROCF (tstvtl, TSTVTL)
(
cs_int_t *const nbrvtl
);
/*----------------------------------------------------------------------------
* Adds a fan.
*
* Fortran interface:
*
* SUBROUTINE DEFVTL
* *****************
*
* INTEGER DIMMOD : <-- : Fan model dimension:
* : : 1: constant_f; 2: force_profile;
* : : 3: force_profile + tangential couple
* INTEGER DIMVTL : <-- : Fan dimension:
* : : 2: pseudo-2D (extruded mesh)
* : : 3: 3D (standard)
* DOUBLE PRECISION XYZVT1(3) : <-- : Coo. of the axis point in upstream face
* DOUBLE PRECISION XYZVT2(3) : <-- : Coo. of the axis point in downstream face
* DOUBLE PRECISION RVVT : <-- : Fan radius
* DOUBLE PRECISION RPVT : <-- : Blades radius
* DOUBLE PRECISION RMVT : <-- : Hub radius
* DOUBLE PRECISION CCARAC(3) : <-- : Coefficients of degre 0, 1 and 2
* : : of the characteristic curve
* DOUBLE PRECISION TAUVT : <-- : Fan axial couple
*----------------------------------------------------------------------------*/
void CS_PROCF (defvtl, DEFVTL)
(
const cs_int_t *const dimmod,
const cs_int_t *const dimvtl,
const cs_real_t xyzvt1[3],
const cs_real_t xyzvt2[3],
const cs_real_t *const rvvt,
const cs_real_t *const rpvt,
const cs_real_t *const rmvt,
const cs_real_t ccarac[3],
const cs_real_t *const tauvt
);
/*----------------------------------------------------------------------------
* Build the list of cells associated to the fans
*
* Fotrtran interface:
*
* SUBROUTINE INIVTL
* *****************
*----------------------------------------------------------------------------*/
void CS_PROCF (inivtl, INIVTL)
(
void
);
/*----------------------------------------------------------------------------
* Mark the fans and associate the fan number to the cells belonging to
* thus fan, 0 otherwise.
*
* Fortran interface:
*
* SUBROUTINE NUMVTL (INDIC)
* *****************
*
* INTEGER INDIC(NCELET) : --> : Fan number (0 if outside the fan)
*----------------------------------------------------------------------------*/
void CS_PROCF (numvtl, NUMVTL)
(
cs_int_t indic[]
);
/*----------------------------------------------------------------------------
* Calculate the flows through the fans
*
* Fortran interface:
*
* SUBROUTINE DEBVTL
* *****************
*
* DOUBLE PRECISION FLUMAS(*) : <-- : Interior faces mass flux
* DOUBLE PRECISION FLUMAB(*) : <-- : Boundary faces mass flux
* DOUBLE PRECISION RHOFAC(*) : <-- : Density at cells
* DOUBLE PRECISION RHOFAB(*) : <-- : Density at boundary faces
* DOUBLE PRECISION DEBENT(NBRVTL) : --> : Inlet flow through the fan
* DOUBLE PRECISION DEBSOR(NBRVTL) : --> : Outlet flow through the fan
*----------------------------------------------------------------------------*/
void CS_PROCF (debvtl, DEBVTL)
(
cs_real_t flumas[],
cs_real_t flumab[],
cs_real_t rhofac[],
cs_real_t rhofab[],
cs_real_t debent[],
cs_real_t debsor[]
);
/*----------------------------------------------------------------------------
* Calculate the force induced by the fans (needs a previous calculation
* of the flows through each fan).
*
* The induced force is added to the array crvxep (which can have other
* contributions).
*
* Fortran interface:
*
* subroutine tsvvtl
* *****************
*
* parameters:
* idimts <-- Dimension associated to the source
* term of velocity (1: X; 2: Y; 3: Z)
* crvexp <-> Explicit source term (velocity)
*----------------------------------------------------------------------------*/
void CS_PROCF (tsvvtl, TSVVTL)
(
cs_int_t *idimts,
cs_real_t crvexp[]
);
/*============================================================================
* Public function prototypes
*============================================================================*/
/*----------------------------------------------------------------------------
* Fan definition (added to the ones previously defined)
*
* parameters:
* dim_modele <-- Fan model dimension:
* 1: constant_f
* 2: force_profile
* 3: force_profile + tangential couple
* dim_ventil <-- Fan dimension:
* 2: pseudo-2D (extruded mesh)
* 3: 3D (standard)
* coo_axe_amont <-- Coo. of the axis point in upstream face
* coo_axe_aval <-- Coo. of the axis point in downstream face
* ray_ventil <-- Fan radius
* ray_pales <-- Blades radius
* ray_moyeu <-- Hub radius
* coeff_carac <-- Coefficients of degre 0, 1 and 2 of
the characteristic curve
* couple_axial <-- Fan axial couple
*----------------------------------------------------------------------------*/
void
cs_ventil_definit(const cs_int_t dim_modele,
const cs_int_t dim_ventil,
const cs_real_t coo_axe_amont[3],
const cs_real_t coo_axe_aval[3],
const cs_real_t ray_ventil,
const cs_real_t ray_pales,
const cs_real_t ray_moyeu,
const cs_real_t coeff_carac[3],
const cs_real_t couple_axial);
/*----------------------------------------------------------------------------
* Destroy the structures associated to fans
*----------------------------------------------------------------------------*/
void
cs_ventil_detruit_tous(void);
/*----------------------------------------------------------------------------
* Looks for the cells belonging to the different fans.
*
* parameters:
* mesh <-- associated mesh structure
* mesh_quantities <-- mesh quantities
*----------------------------------------------------------------------------*/
void
cs_ventil_cree_listes(const cs_mesh_t *mesh,
const cs_mesh_quantities_t *mesh_quantities);
/*----------------------------------------------------------------------------
* Calculate the flows through the fans
*
* parameters:
* mesh <-- mesh structure
* mesh_qantities <-- mesh quantities
* flux_masse_fac <-- interior faces mass flux
* flux_masse_fbr <-- boundary faces mass flux
* densite_cel <-- density at cells
* densite_fbr <-- density at boundary faces
*----------------------------------------------------------------------------*/
void
cs_ventil_calcul_debits(const cs_mesh_t *mesh,
const cs_mesh_quantities_t *mesh_quantities,
const cs_real_t flux_masse_fac[],
const cs_real_t flux_masse_fbr[],
const cs_real_t densite_cel[],
const cs_real_t densite_fbr[]);
/*----------------------------------------------------------------------------
* Calculate the force induced by the fans (needs a previous calculation
* of the flows through each fan).
*
* The induced force is added to the array CRVXEP (which can have other
* other contributions).
*
* parameters:
* mesh_quantities <-- mesh quantities
* idim_source <-- Dimension associated to the source term of velocity
* (1: X; 2: Y; 3: Z)
* t_source <-> Explicit source term for the velocity
*----------------------------------------------------------------------------*/
void
cs_ventil_calcul_force(const cs_mesh_quantities_t *mesh_quantities,
const cs_int_t idim_source,
cs_real_t t_source[]);
/*----------------------------------------------------------------------------*/
END_C_DECLS
#endif /* __CS_VENTIL_H__ */
|