8.0
general documentation
cs_navsto_param.h
Go to the documentation of this file.
1 #ifndef __CS_NAVSTO_PARAM_H__
2 #define __CS_NAVSTO_PARAM_H__
3 
4 /*============================================================================
5  * Functions to handle cs_navsto_param_t structure
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  * Local headers
30  *----------------------------------------------------------------------------*/
31 
32 #include "cs_boundary.h"
33 #include "cs_cdo_turbulence.h"
34 #include "cs_equation_param.h"
35 #include "cs_iter_algo.h"
36 #include "cs_math.h"
37 #include "cs_param_sles.h"
38 #include "cs_physical_constants.h"
39 
40 /*----------------------------------------------------------------------------*/
41 
43 
44 /*============================================================================
45  * Macro definitions
46  *============================================================================*/
47 
48 /* Manage the naming of properties, variables and equations related to the
49  * Navier-Stokes module
50  */
51 
52 #define CS_NAVSTO_STREAM_EQNAME "streamfunction_eq"
53 
54 /*============================================================================
55  * Type definitions
56  *============================================================================*/
57 
60 
82 typedef enum {
83 
87 
89 
91 
131 typedef enum {
132 
133  CS_NAVSTO_MODEL_STEADY = 1<<0, /* = 1 */
137  CS_NAVSTO_MODEL_BOUSSINESQ = 1<<4, /* = 16 */
138  CS_NAVSTO_MODEL_WITH_SOLIDIFICATION = 1<<5 /* = 32 */
139 
141 
188 typedef enum {
189 
191  CS_NAVSTO_POST_KINETIC_ENERGY = 1<< 1, /* = 2 */
192  CS_NAVSTO_POST_VORTICITY = 1<< 2, /* = 4 */
194  CS_NAVSTO_POST_STREAM_FUNCTION = 1<< 4, /* = 16 */
195  CS_NAVSTO_POST_HELICITY = 1<< 5, /* = 32 */
196  CS_NAVSTO_POST_ENSTROPHY = 1<< 6, /* = 64 */
197  CS_NAVSTO_POST_MASS_DENSITY = 1<< 7, /* = 128 */
199  CS_NAVSTO_POST_PRESSURE_GRADIENT = 1<< 9, /* = 512 */
200 
202 
442 typedef enum {
443 
459  CS_NAVSTO_SLES_NOTAY_TRANSFORM, /* experimental */
467 
469 
471 
476 typedef struct {
477 
483 
489 
495 
511 
518 
533 
541 
548 
558 
562 
577 typedef enum {
578 
582 
584 
586 
592 typedef struct {
593 
594  cs_real_t beta; /* Dilatation coefficient */
595  cs_real_t var0; /* Reference value of the variable */
596 
597  /* Array of values of the variable (for instance the temperature). This is a
598  * shared pointer. The lifecycle of this array is not managed by this
599  * structure.
600  */
601 
602  const cs_real_t *var;
603 
605 
611 typedef struct {
612 
625 
631 
637 
650 
657 
665 
671 
684 
690 
698 
704 
705  /* Boussinesq approximation:
706  *
707  * Take into account buoyancy terms (variation of mass density w.r.t. the
708  * variation of a field (for instance the temperature but can be also a
709  * concentration as in segregation model in the solidification module)
710  *
711  * \var n_boussinesq_terms
712  * Number of contributions to the buoyancy source term in the Boussinesq
713  * approximation
714  *
715  * \var boussinesq_param
716  * Structure storing elements used to compute the Boussinesq approximation
717  */
718 
721 
728 
734 
740 
748 
757 
768 
774 
804 
822 
831  /* \var boundaries
832  * Pointer to a \ref cs_boundary_t structure shared with the domain
833  */
835 
854 
871 
883 
887 
977 typedef enum {
978 
999 
1001 
1003 
1004 /*============================================================================
1005  * Inline static public function prototypes
1006  *============================================================================*/
1007 
1008 /*----------------------------------------------------------------------------*/
1017 /*----------------------------------------------------------------------------*/
1018 
1019 static inline bool
1021 {
1022  if (nsp == NULL)
1023  return true;
1024 
1026  return true;
1027  else
1028  return false;
1029 }
1030 
1031 /*============================================================================
1032  * Public function prototypes
1033  *============================================================================*/
1034 
1035 /*----------------------------------------------------------------------------*/
1044 /*----------------------------------------------------------------------------*/
1045 
1046 double
1048 
1049  /*----------------------------------------------------------------------------*/
1058 /*----------------------------------------------------------------------------*/
1059 
1060 void
1061 cs_navsto_param_set_notay_scaling(double scaling_coef);
1062 
1063 /*----------------------------------------------------------------------------*/
1076 /*----------------------------------------------------------------------------*/
1077 
1079 cs_navsto_param_create(const cs_boundary_t *boundaries,
1081  cs_navsto_param_model_flag_t model_flag,
1082  cs_navsto_param_coupling_t algo_coupling,
1083  cs_navsto_param_post_flag_t post_flag);
1084 
1085 /*----------------------------------------------------------------------------*/
1093 /*----------------------------------------------------------------------------*/
1094 
1097 
1098 /*----------------------------------------------------------------------------*/
1107 /*----------------------------------------------------------------------------*/
1108 
1109 void
1111  cs_navsto_key_t key,
1112  const char *keyval);
1113 
1114 /*----------------------------------------------------------------------------*/
1122 /*----------------------------------------------------------------------------*/
1123 
1124 void
1126  cs_equation_param_t *eqp);
1127 
1128 /*----------------------------------------------------------------------------*/
1134 /*----------------------------------------------------------------------------*/
1135 
1136 void
1138 
1139 /*----------------------------------------------------------------------------*/
1149 /*----------------------------------------------------------------------------*/
1150 
1153  cs_real_t dilatation_coef,
1154  cs_real_t reference_value);
1155 
1156 /*----------------------------------------------------------------------------*/
1163 /*----------------------------------------------------------------------------*/
1164 
1165 void
1167  const cs_real_t *var);
1168 
1169 /*----------------------------------------------------------------------------*/
1178 /*----------------------------------------------------------------------------*/
1179 
1182 
1183 /*----------------------------------------------------------------------------*/
1192 /*----------------------------------------------------------------------------*/
1193 
1196 
1197 /*----------------------------------------------------------------------------*/
1205 /*----------------------------------------------------------------------------*/
1206 
1207 const char *
1209 
1210 /*----------------------------------------------------------------------------*/
1218 /*----------------------------------------------------------------------------*/
1219 
1220 const char *
1222 
1223 /*----------------------------------------------------------------------------*/
1230 /*----------------------------------------------------------------------------*/
1231 
1232 void
1234  cs_real_t pref);
1235 
1236 /*----------------------------------------------------------------------------*/
1250 /*----------------------------------------------------------------------------*/
1251 
1252 cs_xdef_t *
1254  const char *z_name,
1255  cs_real_t *val);
1256 
1257 /*----------------------------------------------------------------------------*/
1272 /*----------------------------------------------------------------------------*/
1273 
1274 cs_xdef_t *
1276  const char *z_name,
1277  cs_analytic_func_t *analytic,
1278  void *input);
1279 
1280 /*----------------------------------------------------------------------------*/
1294 /*----------------------------------------------------------------------------*/
1295 
1296 cs_xdef_t *
1298  const char *z_name,
1299  cs_real_t *val);
1300 
1301 /*----------------------------------------------------------------------------*/
1316 /*----------------------------------------------------------------------------*/
1317 
1318 cs_xdef_t *
1320  const char *z_name,
1321  cs_analytic_func_t *analytic,
1322  void *input);
1323 
1324 /*----------------------------------------------------------------------------*/
1332 /*----------------------------------------------------------------------------*/
1333 
1334 void
1336 
1337 /*----------------------------------------------------------------------------*/
1345 /*----------------------------------------------------------------------------*/
1346 
1347 void
1349 
1350 /*----------------------------------------------------------------------------*/
1358 /*----------------------------------------------------------------------------*/
1359 
1360 void
1362 
1363 /*----------------------------------------------------------------------------*/
1374 /*----------------------------------------------------------------------------*/
1375 
1376 cs_xdef_t *
1378  const char *z_name,
1379  cs_real_t *values);
1380 
1381 /*----------------------------------------------------------------------------*/
1393 /*----------------------------------------------------------------------------*/
1394 
1395 cs_xdef_t *
1397  const char *z_name,
1398  cs_real_t *values);
1399 
1400 /*----------------------------------------------------------------------------*/
1412 /*----------------------------------------------------------------------------*/
1413 
1414 cs_xdef_t *
1416  const char *z_name,
1417  cs_real_t *values);
1418 
1419 /*----------------------------------------------------------------------------*/
1432 /*----------------------------------------------------------------------------*/
1433 
1434 cs_xdef_t *
1436  const char *z_name,
1437  cs_analytic_func_t *ana,
1438  void *input);
1439 
1440 /*----------------------------------------------------------------------------*/
1459 /*----------------------------------------------------------------------------*/
1460 
1461 cs_xdef_t *
1463  const char *z_name,
1464  cs_flag_t loc,
1465  cs_real_t *array,
1466  bool is_owner,
1467  bool full_length);
1468 
1469 /*----------------------------------------------------------------------------*/
1482 /*----------------------------------------------------------------------------*/
1483 
1484 cs_xdef_t *
1486  const char *z_name,
1487  cs_flag_t dof_loc,
1488  cs_dof_func_t *func,
1489  void *func_input);
1490 
1491 /*----------------------------------------------------------------------------*/
1503 /*----------------------------------------------------------------------------*/
1504 
1505 cs_xdef_t *
1507  const char *z_name,
1508  cs_analytic_func_t *ana,
1509  void *input);
1510 
1511 /*----------------------------------------------------------------------------*/
1522 /*----------------------------------------------------------------------------*/
1523 
1524 cs_xdef_t *
1526  const char *z_name,
1527  cs_real_t *val);
1528 
1529 /*----------------------------------------------------------------------------*/
1546 /*----------------------------------------------------------------------------*/
1547 
1548 cs_xdef_t *
1550  const char *z_name,
1551  cs_flag_t loc,
1552  cs_real_t *array,
1553  bool is_owner,
1554  bool full_length);
1555 
1556 /*----------------------------------------------------------------------------*/
1563 /*----------------------------------------------------------------------------*/
1564 
1565 void
1567  cs_adv_field_t *adv_fld);
1568 
1569 /*----------------------------------------------------------------------------*/
1570 
1572 
1573 #endif /* __CS_NAVSTO_PARAM_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:509
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
#define END_C_DECLS
Definition: cs_defs.h:510
unsigned short int cs_flag_t
Definition: cs_defs.h:321
void cs_navsto_param_transfer(const cs_navsto_param_t *nsp, cs_equation_param_t *eqp)
Apply the numerical settings defined for the Navier-Stokes system to an equation related to this syst...
Definition: cs_navsto_param.c:1155
void cs_navsto_set_fixed_walls(cs_navsto_param_t *nsp)
Add the definition of boundary conditions related to a fixed wall into the set of parameters for the ...
Definition: cs_navsto_param.c:1780
cs_navsto_sles_t
High-level information about the way of settings the SLES for solving the Navier-Stokes system....
Definition: cs_navsto_param.h:442
@ CS_NAVSTO_SLES_EQ_WITHOUT_BLOCK
Definition: cs_navsto_param.h:450
@ CS_NAVSTO_SLES_BLOCK_MULTIGRID_CG
Definition: cs_navsto_param.h:445
@ CS_NAVSTO_SLES_N_TYPES
Definition: cs_navsto_param.h:468
@ CS_NAVSTO_SLES_USER
Definition: cs_navsto_param.h:463
@ CS_NAVSTO_SLES_GKB_GMRES
Definition: cs_navsto_param.h:453
@ CS_NAVSTO_SLES_UZAWA_CG
Definition: cs_navsto_param.h:466
@ CS_NAVSTO_SLES_GKB_PETSC
Definition: cs_navsto_param.h:452
@ CS_NAVSTO_SLES_UPPER_SCHUR_GCR
Definition: cs_navsto_param.h:461
@ CS_NAVSTO_SLES_LOWER_SCHUR_GCR
Definition: cs_navsto_param.h:455
@ CS_NAVSTO_SLES_MUMPS
Definition: cs_navsto_param.h:458
@ CS_NAVSTO_SLES_GKB_SATURNE
Definition: cs_navsto_param.h:454
@ CS_NAVSTO_SLES_DIAG_SCHUR_MINRES
Definition: cs_navsto_param.h:449
@ CS_NAVSTO_SLES_DIAG_SCHUR_GMRES
Definition: cs_navsto_param.h:448
@ CS_NAVSTO_SLES_BY_BLOCKS
Definition: cs_navsto_param.h:446
@ CS_NAVSTO_SLES_UZAWA_AL
Definition: cs_navsto_param.h:465
@ CS_NAVSTO_SLES_UPPER_SCHUR_GMRES
Definition: cs_navsto_param.h:462
@ CS_NAVSTO_SLES_SGS_SCHUR_GCR
Definition: cs_navsto_param.h:460
@ CS_NAVSTO_SLES_GCR
Definition: cs_navsto_param.h:451
@ CS_NAVSTO_SLES_MULTIPLICATIVE_GMRES_BY_BLOCK
Definition: cs_navsto_param.h:457
@ CS_NAVSTO_SLES_ADDITIVE_GMRES_BY_BLOCK
Definition: cs_navsto_param.h:444
@ CS_NAVSTO_SLES_DIAG_SCHUR_GCR
Definition: cs_navsto_param.h:447
@ CS_NAVSTO_SLES_MINRES
Definition: cs_navsto_param.h:456
@ CS_NAVSTO_SLES_NOTAY_TRANSFORM
Definition: cs_navsto_param.h:459
@ CS_NAVSTO_SLES_UZAWA_SCHUR_GCR
Definition: cs_navsto_param.h:464
void cs_navsto_set_symmetries(cs_navsto_param_t *nsp)
Add the definition of boundary conditions related to a symmetry into the set of parameters for the ma...
Definition: cs_navsto_param.c:1829
cs_xdef_t * cs_navsto_add_velocity_ic_by_analytic(cs_navsto_param_t *nsp, const char *z_name, cs_analytic_func_t *analytic, void *input)
Define the initial condition for the velocity unknowns. This definition can be done on a specified me...
Definition: cs_navsto_param.c:1604
cs_flag_t cs_navsto_param_post_flag_t
Definition: cs_navsto_param.h:59
void cs_navsto_set_reference_pressure(cs_navsto_param_t *nsp, cs_real_t pref)
Set the value to consider for the reference pressure.
Definition: cs_navsto_param.c:1514
cs_navsto_param_t * cs_navsto_param_create(const cs_boundary_t *boundaries, cs_navsto_param_model_t model, cs_navsto_param_model_flag_t model_flag, cs_navsto_param_coupling_t algo_coupling, cs_navsto_param_post_flag_t post_flag)
Create a new structure to store all numerical parameters related to the resolution of the Navier-Stok...
Definition: cs_navsto_param.c:582
cs_xdef_t * cs_navsto_add_source_term_by_array(cs_navsto_param_t *nsp, const char *z_name, cs_flag_t loc, cs_real_t *array, bool is_owner, bool full_length)
Define a new source term structure defined by an array.
Definition: cs_navsto_param.c:2445
cs_xdef_t * cs_navsto_set_velocity_inlet_by_value(cs_navsto_param_t *nsp, const char *z_name, cs_real_t *values)
Define the velocity field for an inlet boundary using a uniform value.
Definition: cs_navsto_param.c:2085
cs_navsto_param_boussinesq_t * cs_navsto_param_add_boussinesq_term(cs_navsto_param_t *nsp, cs_real_t dilatation_coef, cs_real_t reference_value)
Add a new Boussinesq term (source term for the momemtum equation)
Definition: cs_navsto_param.c:1347
cs_xdef_t * cs_navsto_set_velocity_inlet_by_analytic(cs_navsto_param_t *nsp, const char *z_name, cs_analytic_func_t *ana, void *input)
Define the velocity field for an inlet boundary using an analytical function.
Definition: cs_navsto_param.c:2148
cs_navsto_key_t
List of available keys for setting the parameters of the Navier-Stokes system.
Definition: cs_navsto_param.h:977
@ CS_NSKEY_MAX_OUTER_ITER
Definition: cs_navsto_param.h:987
@ CS_NSKEY_IL_ALGO_ATOL
Definition: cs_navsto_param.h:981
@ CS_NSKEY_SLES_VERBOSITY
Definition: cs_navsto_param.h:995
@ CS_NSKEY_SLES_STRATEGY
Definition: cs_navsto_param.h:994
@ CS_NSKEY_NL_ALGO_RTOL
Definition: cs_navsto_param.h:991
@ CS_NSKEY_DOF_REDUCTION
Definition: cs_navsto_param.h:979
@ CS_NSKEY_THERMAL_TOLERANCE
Definition: cs_navsto_param.h:997
@ CS_NSKEY_NL_ALGO_ATOL
Definition: cs_navsto_param.h:989
@ CS_NSKEY_N_KEYS
Definition: cs_navsto_param.h:1000
@ CS_NSKEY_IL_ALGO_DTOL
Definition: cs_navsto_param.h:982
@ CS_NSKEY_GD_SCALE_COEF
Definition: cs_navsto_param.h:980
@ CS_NSKEY_NL_ALGO
Definition: cs_navsto_param.h:988
@ CS_NSKEY_IL_ALGO_RESTART
Definition: cs_navsto_param.h:984
@ CS_NSKEY_SPACE_SCHEME
Definition: cs_navsto_param.h:996
@ CS_NSKEY_QUADRATURE
Definition: cs_navsto_param.h:992
@ CS_NSKEY_MAX_NL_ALGO_ITER
Definition: cs_navsto_param.h:986
@ CS_NSKEY_MAX_IL_ALGO_ITER
Definition: cs_navsto_param.h:985
@ CS_NSKEY_VERBOSITY
Definition: cs_navsto_param.h:998
@ CS_NSKEY_SCHUR_STRATEGY
Definition: cs_navsto_param.h:993
@ CS_NSKEY_IL_ALGO_RTOL
Definition: cs_navsto_param.h:983
@ CS_NSKEY_NL_ALGO_DTOL
Definition: cs_navsto_param.h:990
void cs_navsto_param_set_boussinesq_array(cs_navsto_param_boussinesq_t *bp, const cs_real_t *var)
Set the array of values to consider in the Boussinesq term.
Definition: cs_navsto_param.c:1382
cs_navsto_param_sles_t * cs_navsto_param_get_sles_param(const cs_navsto_param_t *nsp)
Retrieve the cs_equation_param_t structure related to the velocity equation (momentum equation in mos...
Definition: cs_navsto_param.c:1404
void cs_navsto_param_set_notay_scaling(double scaling_coef)
Set the scaling coefficient used in the Notay's transformation devised in "Algebraic multigrid for St...
Definition: cs_navsto_param.c:561
void cs_navsto_add_oseen_field(cs_navsto_param_t *nsp, cs_adv_field_t *adv_fld)
Add a advection field for the Oseen problem.
Definition: cs_navsto_param.c:2471
cs_xdef_t * cs_navsto_add_velocity_ic_by_value(cs_navsto_param_t *nsp, const char *z_name, cs_real_t *val)
Define the initial condition for the velocity unknowns. This definition can be done on a specified me...
Definition: cs_navsto_param.c:1540
const char * cs_navsto_param_get_model_name(cs_navsto_param_model_t model)
Retrieve the name of the model system of equations.
Definition: cs_navsto_param.c:1459
void cs_navsto_param_log(const cs_navsto_param_t *nsp)
Summary of the main cs_navsto_param_t structure.
Definition: cs_navsto_param.c:1188
cs_xdef_t * cs_navsto_add_pressure_ic_by_analytic(cs_navsto_param_t *nsp, const char *z_name, cs_analytic_func_t *analytic, void *input)
Define the initial condition for the pressure unknowns. This definition can be done on a specified me...
Definition: cs_navsto_param.c:1727
cs_navsto_param_t * cs_navsto_param_free(cs_navsto_param_t *param)
Free a cs_navsto_param_t structure.
Definition: cs_navsto_param.c:748
cs_xdef_t * cs_navsto_set_velocity_inlet_by_array(cs_navsto_param_t *nsp, const char *z_name, cs_flag_t loc, cs_real_t *array, bool is_owner, bool full_length)
Define the velocity field for an inlet boundary using an array of values.
Definition: cs_navsto_param.c:2227
cs_xdef_t * cs_navsto_add_source_term_by_val(cs_navsto_param_t *nsp, const char *z_name, cs_real_t *val)
Define a new source term structure defined by a constant value.
Definition: cs_navsto_param.c:2413
const char * cs_navsto_param_get_coupling_name(cs_navsto_param_coupling_t coupling)
Retrieve the name of the coupling algorithm.
Definition: cs_navsto_param.c:1487
cs_xdef_t * cs_navsto_set_velocity_wall_by_value(cs_navsto_param_t *nsp, const char *z_name, cs_real_t *values)
Define the velocity field for a sliding wall boundary using a uniform value.
Definition: cs_navsto_param.c:2024
cs_xdef_t * cs_navsto_set_pressure_bc_by_value(cs_navsto_param_t *nsp, const char *z_name, cs_real_t *values)
Set the pressure field on a boundary using a uniform value.
Definition: cs_navsto_param.c:1935
cs_xdef_t * cs_navsto_add_pressure_ic_by_value(cs_navsto_param_t *nsp, const char *z_name, cs_real_t *val)
Define the initial condition for the pressure unknowns. This definition can be done on a specified me...
Definition: cs_navsto_param.c:1677
cs_navsto_param_coupling_t
Choice of algorithm for solving the system.
Definition: cs_navsto_param.h:577
@ CS_NAVSTO_N_COUPLINGS
Definition: cs_navsto_param.h:583
@ CS_NAVSTO_COUPLING_ARTIFICIAL_COMPRESSIBILITY
Definition: cs_navsto_param.h:579
@ CS_NAVSTO_COUPLING_PROJECTION
Definition: cs_navsto_param.h:581
@ CS_NAVSTO_COUPLING_MONOLITHIC
Definition: cs_navsto_param.h:580
cs_navsto_param_model_t
Describe the system of equations related to the Navier-Stokes to be solved.
Definition: cs_navsto_param.h:82
@ CS_NAVSTO_MODEL_STOKES
Definition: cs_navsto_param.h:84
@ CS_NAVSTO_MODEL_OSEEN
Definition: cs_navsto_param.h:85
@ CS_NAVSTO_MODEL_INCOMPRESSIBLE_NAVIER_STOKES
Definition: cs_navsto_param.h:86
@ CS_NAVSTO_N_MODELS
Definition: cs_navsto_param.h:88
cs_flag_t cs_navsto_param_model_flag_t
Definition: cs_navsto_param.h:58
cs_xdef_t * cs_navsto_set_velocity_inlet_by_dof_func(cs_navsto_param_t *nsp, const char *z_name, cs_flag_t dof_loc, cs_dof_func_t *func, void *func_input)
Define the velocity field for an inlet boundary using a DoF function.
Definition: cs_navsto_param.c:2304
cs_xdef_t * cs_navsto_add_source_term_by_analytic(cs_navsto_param_t *nsp, const char *z_name, cs_analytic_func_t *ana, void *input)
Define a new source term structure defined by an analytical function.
Definition: cs_navsto_param.c:2378
cs_navsto_param_post_bit_t
Bit values for additional generic postprocessing related to the Navier-Stokes module....
Definition: cs_navsto_param.h:188
@ CS_NAVSTO_POST_MASS_DENSITY
Definition: cs_navsto_param.h:197
@ CS_NAVSTO_POST_VELOCITY_DIVERGENCE
Definition: cs_navsto_param.h:190
@ CS_NAVSTO_POST_KINETIC_ENERGY
Definition: cs_navsto_param.h:191
@ CS_NAVSTO_POST_HELICITY
Definition: cs_navsto_param.h:195
@ CS_NAVSTO_POST_STREAM_FUNCTION
Definition: cs_navsto_param.h:194
@ CS_NAVSTO_POST_VELOCITY_GRADIENT
Definition: cs_navsto_param.h:193
@ CS_NAVSTO_POST_ENSTROPHY
Definition: cs_navsto_param.h:196
@ CS_NAVSTO_POST_CELL_MASS_FLUX_BALANCE
Definition: cs_navsto_param.h:198
@ CS_NAVSTO_POST_VORTICITY
Definition: cs_navsto_param.h:192
@ CS_NAVSTO_POST_PRESSURE_GRADIENT
Definition: cs_navsto_param.h:199
void cs_navsto_set_outlets(cs_navsto_param_t *nsp)
Add the definition of boundary conditions related to outlets into the set of parameters for the manag...
Definition: cs_navsto_param.c:1880
cs_equation_param_t * cs_navsto_param_get_velocity_param(const cs_navsto_param_t *nsp)
Retrieve the cs_equation_param_t structure related to the velocity equation (momentum equation in mos...
Definition: cs_navsto_param.c:1424
void cs_navsto_param_set(cs_navsto_param_t *nsp, cs_navsto_key_t key, const char *keyval)
Set a parameter attached to a keyname in a cs_navsto_param_t structure.
Definition: cs_navsto_param.c:832
double cs_navsto_param_get_notay_scaling(void)
Retrieve the scaling coefficient used in the Notay's transformation devised in "Algebraic multigrid f...
Definition: cs_navsto_param.c:544
static bool cs_navsto_param_is_steady(const cs_navsto_param_t *nsp)
Ask cs_navsto_param_t structure if the settings correspond to a steady computation.
Definition: cs_navsto_param.h:1020
cs_navsto_param_model_bit_t
Bit values for additional physical modelling related to the Navier-Stokes system of equations.
Definition: cs_navsto_param.h:131
@ CS_NAVSTO_MODEL_WITH_SOLIDIFICATION
Definition: cs_navsto_param.h:138
@ CS_NAVSTO_MODEL_GRAVITY_EFFECTS
Definition: cs_navsto_param.h:134
@ CS_NAVSTO_MODEL_BOUSSINESQ
Definition: cs_navsto_param.h:137
@ CS_NAVSTO_MODEL_PASSIVE_THERMAL_TRACER
Definition: cs_navsto_param.h:136
@ CS_NAVSTO_MODEL_CORIOLIS_EFFECTS
Definition: cs_navsto_param.h:135
@ CS_NAVSTO_MODEL_STEADY
Definition: cs_navsto_param.h:133
Structure and routines handling the SLES settings stored inside a cs_param_sles_t structure.
void() cs_dof_func_t(cs_lnum_t n_elts, const cs_lnum_t *elt_ids, bool dense_output, void *input, cs_real_t *retval)
Generic function pointer for computing a quantity at predefined locations such as degrees of freedom ...
Definition: cs_param_types.h:154
cs_param_space_scheme_t
Type of numerical scheme for the discretization in space.
Definition: cs_param_types.h:211
void() cs_analytic_func_t(cs_real_t time, cs_lnum_t n_elts, const cs_lnum_t *elt_ids, const cs_real_t *coords, bool dense_output, void *input, cs_real_t *retval)
Generic function pointer for an evaluation relying on an analytic function.
Definition: cs_param_types.h:127
cs_param_schur_approx_t
Strategy to build the Schur complement approximation. This appears in block preconditioning or Uzawa ...
Definition: cs_param_types.h:752
cs_param_nl_algo_t
Class of non-linear iterative algorithm.
Definition: cs_param_types.h:551
cs_param_dof_reduction_t
Definition: cs_param_types.h:239
cs_quadrature_type_t
Definition: cs_quadrature.h:52
Definition: cs_advection_field.h:150
Structure storing information related to the "physical" boundaries associated with the computational ...
Definition: cs_boundary.h:155
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
Definition: cs_equation_param.h:192
Structure storing all the parameters to drive the algorithm called Anderson acceleration.
Definition: cs_iter_algo.h:140
Structure storing the parameters related to the Boussinesq source term in the momentum equation.
Definition: cs_navsto_param.h:592
const cs_real_t * var
Definition: cs_navsto_param.h:602
cs_real_t var0
Definition: cs_navsto_param.h:595
cs_real_t beta
Definition: cs_navsto_param.h:594
Structure storing the parameters for solving the Navier-Stokes system.
Definition: cs_navsto_param.h:476
cs_param_sles_t * schur_sles_param
Definition: cs_navsto_param.h:557
cs_param_nl_algo_t nl_algo_type
Definition: cs_navsto_param.h:532
cs_iter_algo_param_aa_t anderson_param
Definition: cs_navsto_param.h:547
cs_param_schur_approx_t schur_approximation
Definition: cs_navsto_param.h:494
cs_param_sles_cvg_t il_algo_cvg
Definition: cs_navsto_param.h:510
int verbosity
Definition: cs_navsto_param.h:482
cs_navsto_sles_t strategy
Definition: cs_navsto_param.h:488
cs_param_sles_cvg_t nl_algo_cvg
Definition: cs_navsto_param.h:540
int il_algo_restart
Definition: cs_navsto_param.h:517
Structure storing the parameters related to the resolution of the Navier-Stokes system.
Definition: cs_navsto_param.h:611
cs_property_t * mass_density
Definition: cs_navsto_param.h:656
cs_navsto_param_sles_t * sles_param
Definition: cs_navsto_param.h:739
cs_quadrature_type_t qtype
Definition: cs_navsto_param.h:727
int n_velocity_bc_defs
Definition: cs_navsto_param.h:852
cs_xdef_t ** velocity_ic_defs
Definition: cs_navsto_param.h:803
cs_physical_constants_t * phys_constants
Definition: cs_navsto_param.h:649
cs_real_t gd_scale_coef
Definition: cs_navsto_param.h:697
bool pressure_ic_is_owner
Definition: cs_navsto_param.h:819
cs_navsto_param_model_t model
Definition: cs_navsto_param.h:624
int n_pressure_ic_defs
Definition: cs_navsto_param.h:820
int n_pressure_bc_defs
Definition: cs_navsto_param.h:869
cs_xdef_t ** velocity_bc_defs
Definition: cs_navsto_param.h:853
cs_property_t * tot_viscosity
Definition: cs_navsto_param.h:664
cs_turbulence_param_t * turbulence
Definition: cs_navsto_param.h:636
cs_navsto_param_post_flag_t post_flag
Definition: cs_navsto_param.h:773
bool pressure_bc_is_owner
Definition: cs_navsto_param.h:868
cs_xdef_t ** pressure_bc_defs
Definition: cs_navsto_param.h:870
cs_navsto_param_model_flag_t model_flag
Definition: cs_navsto_param.h:630
int n_boussinesq_terms
Definition: cs_navsto_param.h:719
cs_real_t reference_pressure
Definition: cs_navsto_param.h:882
bool handle_non_linearities
Definition: cs_navsto_param.h:733
int verbosity
Definition: cs_navsto_param.h:767
bool velocity_bc_is_owner
Definition: cs_navsto_param.h:851
cs_param_dof_reduction_t dof_reduction_mode
Definition: cs_navsto_param.h:683
cs_real_t delta_thermal_tolerance
Definition: cs_navsto_param.h:747
int n_max_outer_iter
Definition: cs_navsto_param.h:756
cs_navsto_param_boussinesq_t * boussinesq_param
Definition: cs_navsto_param.h:720
int n_velocity_ic_defs
Definition: cs_navsto_param.h:802
bool velocity_ic_is_owner
Definition: cs_navsto_param.h:801
const cs_boundary_t * boundaries
Definition: cs_navsto_param.h:834
cs_property_t * lam_viscosity
Definition: cs_navsto_param.h:670
cs_xdef_t ** pressure_ic_defs
Definition: cs_navsto_param.h:821
cs_param_space_scheme_t space_scheme
Definition: cs_navsto_param.h:703
cs_navsto_param_coupling_t coupling
Definition: cs_navsto_param.h:689
Set of parameters to check the convergence (or the divergence) of an iterative process (tolerances or...
Definition: cs_param_sles.h:61
Structure storing all metadata related to the resolution of a linear system with an iterative solver.
Definition: cs_param_sles.h:91
Physical constants descriptor.
Definition: cs_physical_constants.h:51
Structure associated to the definition of a property relying on the cs_xdef_t structure.
Structure storing the parameters related to the resolution of the turbulence modelling....
Definition: cs_cdo_turbulence.h:64
Structure storing medata for defining a quantity in a very flexible way.
Definition: cs_xdef.h:160