7.2
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-2022 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 
504 
511 
526 
534 
541 
551 
555 
570 typedef enum {
571 
575 
577 
579 
585 typedef struct {
586 
587  cs_real_t beta; /* Dilatation coefficient */
588  cs_real_t var0; /* Reference value of the variable */
589 
590  /* Array of values of the variable (for instance the temperature). This is a
591  * shared pointer. The lifecycle of this array is not managed by this
592  * structure.
593  */
594 
595  const cs_real_t *var;
596 
598 
604 typedef struct {
605 
618 
624 
630 
643 
650 
658 
664 
677 
683 
691 
702 
708 
726 
727  /* Boussinesq approximation:
728  *
729  * Take into account buoyancy terms (variation of mass density w.r.t. the
730  * variation of a field (for instance the temperature but can be also a
731  * concentration as in segregation model in the solidification module)
732  *
733  * \var n_boussinesq_terms
734  * Number of contributions to the buoyancy source term in the Boussinesq
735  * approximation
736  *
737  * \var boussinesq_param
738  * Structure storing elements used to compute the Boussinesq approximation
739  */
740 
743 
750 
756 
763 
772 
783 
789 
819 
837 
846  /* \var boundaries
847  * Pointer to a \ref cs_boundary_t structure shared with the domain
848  */
850 
869 
886 
898 
902 
1019 typedef enum {
1020 
1048 
1050 
1052 
1053 /*============================================================================
1054  * Inline static public function prototypes
1055  *============================================================================*/
1056 
1057 /*----------------------------------------------------------------------------*/
1066 /*----------------------------------------------------------------------------*/
1067 
1068 static inline bool
1070 {
1071  if (nsp == NULL)
1072  return true;
1073 
1075  return true;
1076  else
1077  return false;
1078 }
1079 
1080 /*============================================================================
1081  * Public function prototypes
1082  *============================================================================*/
1083 
1084 /*----------------------------------------------------------------------------*/
1093 /*----------------------------------------------------------------------------*/
1094 
1095 double
1097 
1098  /*----------------------------------------------------------------------------*/
1107 /*----------------------------------------------------------------------------*/
1108 
1109 void
1110 cs_navsto_param_set_notay_scaling(double scaling_coef);
1111 
1112 /*----------------------------------------------------------------------------*/
1125 /*----------------------------------------------------------------------------*/
1126 
1128 cs_navsto_param_create(const cs_boundary_t *boundaries,
1130  cs_navsto_param_model_flag_t model_flag,
1131  cs_navsto_param_coupling_t algo_coupling,
1132  cs_navsto_param_post_flag_t post_flag);
1133 
1134 /*----------------------------------------------------------------------------*/
1142 /*----------------------------------------------------------------------------*/
1143 
1146 
1147 /*----------------------------------------------------------------------------*/
1156 /*----------------------------------------------------------------------------*/
1157 
1158 void
1160  cs_navsto_key_t key,
1161  const char *keyval);
1162 
1163 /*----------------------------------------------------------------------------*/
1171 /*----------------------------------------------------------------------------*/
1172 
1173 void
1175  cs_equation_param_t *eqp);
1176 
1177 /*----------------------------------------------------------------------------*/
1183 /*----------------------------------------------------------------------------*/
1184 
1185 void
1187 
1188 /*----------------------------------------------------------------------------*/
1196 /*----------------------------------------------------------------------------*/
1197 
1200  cs_real_t dilatation_coef,
1201  cs_real_t reference_value);
1202 
1203 /*----------------------------------------------------------------------------*/
1210 /*----------------------------------------------------------------------------*/
1211 
1212 void
1214  const cs_real_t *var);
1215 
1216 /*----------------------------------------------------------------------------*/
1225 /*----------------------------------------------------------------------------*/
1226 
1229 
1230 /*----------------------------------------------------------------------------*/
1239 /*----------------------------------------------------------------------------*/
1240 
1243 
1244 /*----------------------------------------------------------------------------*/
1252 /*----------------------------------------------------------------------------*/
1253 
1254 const char *
1256 
1257 /*----------------------------------------------------------------------------*/
1265 /*----------------------------------------------------------------------------*/
1266 
1267 const char *
1269 
1270 /*----------------------------------------------------------------------------*/
1277 /*----------------------------------------------------------------------------*/
1278 
1279 void
1281  cs_real_t pref);
1282 
1283 /*----------------------------------------------------------------------------*/
1297 /*----------------------------------------------------------------------------*/
1298 
1299 cs_xdef_t *
1301  const char *z_name,
1302  cs_real_t *val);
1303 
1304 /*----------------------------------------------------------------------------*/
1319 /*----------------------------------------------------------------------------*/
1320 
1321 cs_xdef_t *
1323  const char *z_name,
1324  cs_analytic_func_t *analytic,
1325  void *input);
1326 
1327 /*----------------------------------------------------------------------------*/
1341 /*----------------------------------------------------------------------------*/
1342 
1343 cs_xdef_t *
1345  const char *z_name,
1346  cs_real_t *val);
1347 
1348 /*----------------------------------------------------------------------------*/
1363 /*----------------------------------------------------------------------------*/
1364 
1365 cs_xdef_t *
1367  const char *z_name,
1368  cs_analytic_func_t *analytic,
1369  void *input);
1370 
1371 /*----------------------------------------------------------------------------*/
1379 /*----------------------------------------------------------------------------*/
1380 
1381 void
1383 
1384 /*----------------------------------------------------------------------------*/
1392 /*----------------------------------------------------------------------------*/
1393 
1394 void
1396 
1397 /*----------------------------------------------------------------------------*/
1405 /*----------------------------------------------------------------------------*/
1406 
1407 void
1409 
1410 /*----------------------------------------------------------------------------*/
1421 /*----------------------------------------------------------------------------*/
1422 
1423 cs_xdef_t *
1425  const char *z_name,
1426  cs_real_t *values);
1427 
1428 /*----------------------------------------------------------------------------*/
1440 /*----------------------------------------------------------------------------*/
1441 
1442 cs_xdef_t *
1444  const char *z_name,
1445  cs_real_t *values);
1446 
1447 /*----------------------------------------------------------------------------*/
1459 /*----------------------------------------------------------------------------*/
1460 
1461 cs_xdef_t *
1463  const char *z_name,
1464  cs_real_t *values);
1465 
1466 /*----------------------------------------------------------------------------*/
1479 /*----------------------------------------------------------------------------*/
1480 
1481 cs_xdef_t *
1483  const char *z_name,
1484  cs_analytic_func_t *ana,
1485  void *input);
1486 
1487 /*----------------------------------------------------------------------------*/
1504 /*----------------------------------------------------------------------------*/
1505 
1506 cs_xdef_t *
1508  const char *z_name,
1509  cs_flag_t loc,
1510  cs_real_t *array,
1511  bool is_owner,
1512  const cs_lnum_t *index,
1513  const cs_lnum_t *ids);
1514 
1515 /*----------------------------------------------------------------------------*/
1527 /*----------------------------------------------------------------------------*/
1528 
1529 cs_xdef_t *
1531  const char *z_name,
1532  cs_dof_func_t *func,
1533  void *func_input);
1534 
1535 /*----------------------------------------------------------------------------*/
1547 /*----------------------------------------------------------------------------*/
1548 
1549 cs_xdef_t *
1551  const char *z_name,
1552  cs_analytic_func_t *ana,
1553  void *input);
1554 
1555 /*----------------------------------------------------------------------------*/
1566 /*----------------------------------------------------------------------------*/
1567 
1568 cs_xdef_t *
1570  const char *z_name,
1571  cs_real_t *val);
1572 
1573 /*----------------------------------------------------------------------------*/
1589 /*----------------------------------------------------------------------------*/
1590 
1591 cs_xdef_t *
1593  const char *z_name,
1594  cs_flag_t loc,
1595  cs_real_t *array,
1596  bool is_owner,
1597  const cs_lnum_t *index,
1598  const cs_lnum_t *ids);
1599 
1600 /*----------------------------------------------------------------------------*/
1607 /*----------------------------------------------------------------------------*/
1608 
1609 void
1611  cs_adv_field_t *adv_fld);
1612 
1613 /*----------------------------------------------------------------------------*/
1614 
1616 
1617 #endif /* __CS_NAVSTO_PARAM_H__ */
#define BEGIN_C_DECLS
Definition: cs_defs.h:507
double cs_real_t
Floating-point value.
Definition: cs_defs.h:319
#define END_C_DECLS
Definition: cs_defs.h:508
int cs_lnum_t
local mesh entity id
Definition: cs_defs.h:313
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:1332
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:2020
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:2069
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:1844
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:1754
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:628
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:2325
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:1587
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, const cs_lnum_t *index, const cs_lnum_t *ids)
Define a new source term structure defined by an array.
Definition: cs_navsto_param.c:2675
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:2388
cs_navsto_key_t
List of available keys for setting the parameters of the Navier-Stokes system.
Definition: cs_navsto_param.h:1019
@ CS_NSKEY_MAX_OUTER_ITER
Definition: cs_navsto_param.h:1034
@ CS_NSKEY_IL_ALGO_ATOL
Definition: cs_navsto_param.h:1027
@ CS_NSKEY_SLES_STRATEGY
Definition: cs_navsto_param.h:1042
@ CS_NSKEY_TIME_SCHEME
Definition: cs_navsto_param.h:1045
@ CS_NSKEY_NL_ALGO_RTOL
Definition: cs_navsto_param.h:1038
@ CS_NSKEY_DOF_REDUCTION
Definition: cs_navsto_param.h:1025
@ CS_NSKEY_THERMAL_TOLERANCE
Definition: cs_navsto_param.h:1044
@ CS_NSKEY_TIME_THETA
Definition: cs_navsto_param.h:1046
@ CS_NSKEY_NL_ALGO_ATOL
Definition: cs_navsto_param.h:1036
@ CS_NSKEY_ADVECTION_FORMULATION
Definition: cs_navsto_param.h:1022
@ CS_NSKEY_N_KEYS
Definition: cs_navsto_param.h:1049
@ CS_NSKEY_ADVECTION_SCHEME
Definition: cs_navsto_param.h:1023
@ CS_NSKEY_ADVECTION_STRATEGY
Definition: cs_navsto_param.h:1024
@ CS_NSKEY_IL_ALGO_DTOL
Definition: cs_navsto_param.h:1028
@ CS_NSKEY_GD_SCALE_COEF
Definition: cs_navsto_param.h:1026
@ CS_NSKEY_NL_ALGO
Definition: cs_navsto_param.h:1035
@ CS_NSKEY_IL_ALGO_VERBOSITY
Definition: cs_navsto_param.h:1031
@ CS_NSKEY_IL_ALGO_RESTART
Definition: cs_navsto_param.h:1030
@ CS_NSKEY_SPACE_SCHEME
Definition: cs_navsto_param.h:1043
@ CS_NSKEY_QUADRATURE
Definition: cs_navsto_param.h:1040
@ CS_NSKEY_MAX_NL_ALGO_ITER
Definition: cs_navsto_param.h:1033
@ CS_NSKEY_MAX_IL_ALGO_ITER
Definition: cs_navsto_param.h:1032
@ CS_NSKEY_NL_ALGO_VERBOSITY
Definition: cs_navsto_param.h:1039
@ CS_NSKEY_VERBOSITY
Definition: cs_navsto_param.h:1047
@ CS_NSKEY_SCHUR_STRATEGY
Definition: cs_navsto_param.h:1041
@ CS_NSKEY_IL_ALGO_RTOL
Definition: cs_navsto_param.h:1029
@ CS_NSKEY_NL_ALGO_DTOL
Definition: cs_navsto_param.h:1037
@ CS_NSKEY_ADVECTION_EXTRAPOL
Definition: cs_navsto_param.h:1021
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:1622
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:1644
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:607
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:2703
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:1780
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:1699
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:1397
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:1967
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:812
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:2644
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:1727
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:2264
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, const cs_lnum_t *index, const cs_lnum_t *ids)
Define the velocity field for an inlet boundary using an array of values.
Definition: cs_navsto_param.c:2465
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:2175
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:1917
cs_navsto_param_coupling_t
Choice of algorithm for solving the system.
Definition: cs_navsto_param.h:570
@ CS_NAVSTO_N_COUPLINGS
Definition: cs_navsto_param.h:576
@ CS_NAVSTO_COUPLING_ARTIFICIAL_COMPRESSIBILITY
Definition: cs_navsto_param.h:572
@ CS_NAVSTO_COUPLING_PROJECTION
Definition: cs_navsto_param.h:574
@ CS_NAVSTO_COUPLING_MONOLITHIC
Definition: cs_navsto_param.h:573
cs_xdef_t * cs_navsto_set_velocity_inlet_by_dof_func(cs_navsto_param_t *nsp, const char *z_name, 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:2537
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_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:2609
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:2120
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:1664
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:896
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:590
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:1069
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:207
cs_param_advection_form_t
Definition: cs_param_types.h:302
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_advection_extrapol_t
Choice of how to extrapolate the advection field in the advection term.
Definition: cs_param_types.h:413
cs_param_time_scheme_t
Definition: cs_param_types.h:269
cs_param_schur_approx_t
Strategy to build the Schur complement approximation. This appears in block preconditioning or uzawa ...
Definition: cs_param_types.h:657
cs_param_nl_algo_t
Class of non-linear iterative algorithm.
Definition: cs_param_types.h:546
cs_param_advection_scheme_t
Definition: cs_param_types.h:346
cs_param_dof_reduction_t
Definition: cs_param_types.h:234
cs_param_advection_strategy_t
Choice of how to handle the advection term in an equation.
Definition: cs_param_types.h:379
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:186
Structure storing all the parameters to drive the algorithm called Anderson acceleration.
Definition: cs_iter_algo.h:177
Definition: cs_iter_algo.h:53
Structure storing the parameters related to the Boussinesq source term in the momentum equation.
Definition: cs_navsto_param.h:585
const cs_real_t * var
Definition: cs_navsto_param.h:595
cs_real_t var0
Definition: cs_navsto_param.h:588
cs_real_t beta
Definition: cs_navsto_param.h:587
Structure storing the parameters for solving the Navier-Stokes system.
Definition: cs_navsto_param.h:476
cs_iter_algo_param_t nl_algo_param
Definition: cs_navsto_param.h:533
cs_param_sles_t * schur_sles_param
Definition: cs_navsto_param.h:550
cs_param_nl_algo_t nl_algo_type
Definition: cs_navsto_param.h:525
cs_iter_algo_param_aa_t anderson_param
Definition: cs_navsto_param.h:540
cs_param_schur_approx_t schur_approximation
Definition: cs_navsto_param.h:488
cs_iter_algo_param_t il_algo_param
Definition: cs_navsto_param.h:503
cs_navsto_sles_t strategy
Definition: cs_navsto_param.h:482
int il_algo_restart
Definition: cs_navsto_param.h:510
Structure storing the parameters related to the resolution of the Navier-Stokes system.
Definition: cs_navsto_param.h:604
cs_property_t * mass_density
Definition: cs_navsto_param.h:649
cs_navsto_param_sles_t * sles_param
Definition: cs_navsto_param.h:755
cs_quadrature_type_t qtype
Definition: cs_navsto_param.h:749
int n_velocity_bc_defs
Definition: cs_navsto_param.h:867
cs_xdef_t ** velocity_ic_defs
Definition: cs_navsto_param.h:818
cs_physical_constants_t * phys_constants
Definition: cs_navsto_param.h:642
cs_param_advection_scheme_t adv_scheme
Definition: cs_navsto_param.h:723
cs_param_time_scheme_t time_scheme
Definition: cs_navsto_param.h:700
cs_real_t gd_scale_coef
Definition: cs_navsto_param.h:690
bool pressure_ic_is_owner
Definition: cs_navsto_param.h:834
cs_navsto_param_model_t model
Definition: cs_navsto_param.h:617
int n_pressure_ic_defs
Definition: cs_navsto_param.h:835
cs_param_advection_strategy_t adv_strategy
Definition: cs_navsto_param.h:724
int n_pressure_bc_defs
Definition: cs_navsto_param.h:884
cs_xdef_t ** velocity_bc_defs
Definition: cs_navsto_param.h:868
cs_property_t * tot_viscosity
Definition: cs_navsto_param.h:657
cs_turbulence_param_t * turbulence
Definition: cs_navsto_param.h:629
cs_navsto_param_post_flag_t post_flag
Definition: cs_navsto_param.h:788
bool pressure_bc_is_owner
Definition: cs_navsto_param.h:883
cs_xdef_t ** pressure_bc_defs
Definition: cs_navsto_param.h:885
cs_navsto_param_model_flag_t model_flag
Definition: cs_navsto_param.h:623
int n_boussinesq_terms
Definition: cs_navsto_param.h:741
cs_real_t reference_pressure
Definition: cs_navsto_param.h:897
int verbosity
Definition: cs_navsto_param.h:782
bool velocity_bc_is_owner
Definition: cs_navsto_param.h:866
cs_param_dof_reduction_t dof_reduction_mode
Definition: cs_navsto_param.h:676
cs_real_t delta_thermal_tolerance
Definition: cs_navsto_param.h:762
int n_max_outer_iter
Definition: cs_navsto_param.h:771
cs_navsto_param_boussinesq_t * boussinesq_param
Definition: cs_navsto_param.h:742
cs_param_advection_form_t adv_form
Definition: cs_navsto_param.h:722
int n_velocity_ic_defs
Definition: cs_navsto_param.h:817
bool velocity_ic_is_owner
Definition: cs_navsto_param.h:816
cs_param_advection_extrapol_t adv_extrapol
Definition: cs_navsto_param.h:725
const cs_boundary_t * boundaries
Definition: cs_navsto_param.h:849
cs_property_t * lam_viscosity
Definition: cs_navsto_param.h:663
cs_real_t theta
Definition: cs_navsto_param.h:701
cs_xdef_t ** pressure_ic_defs
Definition: cs_navsto_param.h:836
cs_param_space_scheme_t space_scheme
Definition: cs_navsto_param.h:707
cs_navsto_param_coupling_t coupling
Definition: cs_navsto_param.h:682
Structure storing all metadata related to the resolution of a linear system with an iterative solver.
Definition: cs_param_sles.h:62
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:154