8.1
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 /*----------------------------------------------------------------------------*/
1126 /*----------------------------------------------------------------------------*/
1127 
1128 void
1130  cs_equation_param_t *eqp);
1131 
1132 /*----------------------------------------------------------------------------*/
1138 /*----------------------------------------------------------------------------*/
1139 
1140 void
1142 
1143 /*----------------------------------------------------------------------------*/
1153 /*----------------------------------------------------------------------------*/
1154 
1157  cs_real_t dilatation_coef,
1158  cs_real_t reference_value);
1159 
1160 /*----------------------------------------------------------------------------*/
1167 /*----------------------------------------------------------------------------*/
1168 
1169 void
1171  const cs_real_t *var);
1172 
1173 /*----------------------------------------------------------------------------*/
1182 /*----------------------------------------------------------------------------*/
1183 
1186 
1187 /*----------------------------------------------------------------------------*/
1196 /*----------------------------------------------------------------------------*/
1197 
1200 
1201 /*----------------------------------------------------------------------------*/
1209 /*----------------------------------------------------------------------------*/
1210 
1211 const char *
1213 
1214 /*----------------------------------------------------------------------------*/
1222 /*----------------------------------------------------------------------------*/
1223 
1224 const char *
1226 
1227 /*----------------------------------------------------------------------------*/
1234 /*----------------------------------------------------------------------------*/
1235 
1236 void
1238  cs_real_t pref);
1239 
1240 /*----------------------------------------------------------------------------*/
1254 /*----------------------------------------------------------------------------*/
1255 
1256 cs_xdef_t *
1258  const char *z_name,
1259  cs_real_t *val);
1260 
1261 /*----------------------------------------------------------------------------*/
1276 /*----------------------------------------------------------------------------*/
1277 
1278 cs_xdef_t *
1280  const char *z_name,
1281  cs_analytic_func_t *analytic,
1282  void *input);
1283 
1284 /*----------------------------------------------------------------------------*/
1298 /*----------------------------------------------------------------------------*/
1299 
1300 cs_xdef_t *
1302  const char *z_name,
1303  cs_real_t *val);
1304 
1305 /*----------------------------------------------------------------------------*/
1320 /*----------------------------------------------------------------------------*/
1321 
1322 cs_xdef_t *
1324  const char *z_name,
1325  cs_analytic_func_t *analytic,
1326  void *input);
1327 
1328 /*----------------------------------------------------------------------------*/
1336 /*----------------------------------------------------------------------------*/
1337 
1338 void
1340 
1341 /*----------------------------------------------------------------------------*/
1349 /*----------------------------------------------------------------------------*/
1350 
1351 void
1353 
1354 /*----------------------------------------------------------------------------*/
1362 /*----------------------------------------------------------------------------*/
1363 
1364 void
1366 
1367 /*----------------------------------------------------------------------------*/
1378 /*----------------------------------------------------------------------------*/
1379 
1380 cs_xdef_t *
1382  const char *z_name,
1383  cs_real_t *values);
1384 
1385 /*----------------------------------------------------------------------------*/
1397 /*----------------------------------------------------------------------------*/
1398 
1399 cs_xdef_t *
1401  const char *z_name,
1402  cs_real_t *values);
1403 
1404 /*----------------------------------------------------------------------------*/
1416 /*----------------------------------------------------------------------------*/
1417 
1418 cs_xdef_t *
1420  const char *z_name,
1421  cs_real_t *values);
1422 
1423 /*----------------------------------------------------------------------------*/
1436 /*----------------------------------------------------------------------------*/
1437 
1438 cs_xdef_t *
1440  const char *z_name,
1441  cs_analytic_func_t *ana,
1442  void *input);
1443 
1444 /*----------------------------------------------------------------------------*/
1463 /*----------------------------------------------------------------------------*/
1464 
1465 cs_xdef_t *
1467  const char *z_name,
1468  cs_flag_t loc,
1469  cs_real_t *array,
1470  bool is_owner,
1471  bool full_length);
1472 
1473 /*----------------------------------------------------------------------------*/
1486 /*----------------------------------------------------------------------------*/
1487 
1488 cs_xdef_t *
1490  const char *z_name,
1491  cs_flag_t dof_loc,
1492  cs_dof_func_t *func,
1493  void *func_input);
1494 
1495 /*----------------------------------------------------------------------------*/
1507 /*----------------------------------------------------------------------------*/
1508 
1509 cs_xdef_t *
1511  const char *z_name,
1512  cs_analytic_func_t *ana,
1513  void *input);
1514 
1515 /*----------------------------------------------------------------------------*/
1526 /*----------------------------------------------------------------------------*/
1527 
1528 cs_xdef_t *
1530  const char *z_name,
1531  cs_real_t *val);
1532 
1533 /*----------------------------------------------------------------------------*/
1550 /*----------------------------------------------------------------------------*/
1551 
1552 cs_xdef_t *
1554  const char *z_name,
1555  cs_flag_t loc,
1556  cs_real_t *array,
1557  bool is_owner,
1558  bool full_length);
1559 
1560 /*----------------------------------------------------------------------------*/
1567 /*----------------------------------------------------------------------------*/
1568 
1569 void
1571  cs_adv_field_t *adv_fld);
1572 
1573 /*----------------------------------------------------------------------------*/
1574 
1576 
1577 #endif /* __CS_NAVSTO_PARAM_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:514
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
#define END_C_DECLS
Definition: cs_defs.h:515
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:1159
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:1786
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:1835
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:1610
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:1520
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:2451
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:2091
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:1353
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:2154
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:1388
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:1410
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:2477
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:1546
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:1465
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:1194
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:1733
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:2233
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:2419
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:1493
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:2030
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:1941
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:1683
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:2310
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:2384
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:1886
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:1430
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:753
cs_param_nl_algo_t
Class of non-linear iterative algorithm.
Definition: cs_param_types.h:552
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:137
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_aac_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_cvg_param
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:213
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