1 #ifndef __CS_NAVSTO_PARAM_H__
2 #define __CS_NAVSTO_PARAM_H__
52 #define CS_NAVSTO_STREAM_EQNAME "streamfunction_eq"
1112 const char *keyval);
#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