1#ifndef CS_NAVSTO_PARAM_H
2#define CS_NAVSTO_PARAM_H
49#define CS_NAVSTO_STREAM_EQNAME "streamfunction_eq"
cs_real_t() cs_cdo_blas_square_norm_t(const cs_real_t *array)
Generic function pointer for computing a square norm. Parallel synchronization is performed inside th...
Definition: cs_cdo_blas.h:73
cs_real_t() cs_cdo_blas_square_norm_diff_t(const cs_real_t *a, const cs_real_t *b)
Generic function pointer for computing a square norm of the difference between two arrays (defined at...
Definition: cs_cdo_blas.h:90
cs_real_t() cs_cdo_blas_dotprod_t(const cs_real_t *a, const cs_real_t *b)
Generic function pointer for computing a dot product. Parallel synchronization is performed inside th...
Definition: cs_cdo_blas.h:59
double cs_real_t
Floating-point value.
Definition: cs_defs.h:332
cs_real_t cs_real_3_t[3]
vector of 3 floating-point values
Definition: cs_defs.h:349
unsigned short int cs_flag_t
Definition: cs_defs.h:334
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.cpp:645
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.cpp:1309
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.cpp:1365
void cs_navsto_param_set_quadrature_to_all(cs_navsto_param_t *nsp, cs_quadrature_type_t qtype)
Apply the given quadrature rule to all existing definitions under the cs_navsto_param_t structure.
Definition: cs_navsto_param.cpp:1013
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.cpp:1902
cs_flag_t cs_navsto_param_post_flag_t
Definition: cs_navsto_param.h:56
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.cpp:993
cs_xdef_t * cs_navsto_add_source_term_by_value(cs_navsto_param_t *nsp, const char *z_name, const cs_real_3_t val)
Define a new source term structure defined by a constant value.
Definition: cs_navsto_param.cpp:1931
cs_xdef_t * cs_navsto_add_velocity_ic_by_value(cs_navsto_param_t *nsp, const char *z_name, const cs_real_3_t val)
Define the initial condition for the velocity unknowns. This definition can be done on a specified me...
Definition: cs_navsto_param.cpp:1084
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.cpp:937
cs_navsto_key_t
List of available keys for setting the parameters of the Navier-Stokes system.
Definition: cs_navsto_param.h:670
@ CS_NSKEY_NL_ALGO_RTOL
Definition: cs_navsto_param.h:677
@ CS_NSKEY_DOF_REDUCTION
Definition: cs_navsto_param.h:672
@ CS_NSKEY_THERMAL_TOLERANCE
Definition: cs_navsto_param.h:684
@ CS_NSKEY_NL_ALGO_ATOL
Definition: cs_navsto_param.h:674
@ CS_NSKEY_NL_ALGO_MAX_ITER
Definition: cs_navsto_param.h:676
@ CS_NSKEY_N_KEYS
Definition: cs_navsto_param.h:687
@ CS_NSKEY_PSTEADY_ALGO_N_CVG_ITER
Definition: cs_navsto_param.h:680
@ CS_NSKEY_PSTEADY_ALGO_ATOL
Definition: cs_navsto_param.h:678
@ CS_NSKEY_NL_ALGO
Definition: cs_navsto_param.h:673
@ CS_NSKEY_PSTEADY_ALGO_N_STEP_SOLVE
Definition: cs_navsto_param.h:681
@ CS_NSKEY_SPACE_SCHEME
Definition: cs_navsto_param.h:683
@ CS_NSKEY_VERBOSITY
Definition: cs_navsto_param.h:685
@ CS_NSKEY_NORM_TYPE
Definition: cs_navsto_param.h:682
@ CS_NSKEY_PSTEADY_ALGO_RTOL
Definition: cs_navsto_param.h:679
@ CS_NSKEY_NL_ALGO_DTOL
Definition: cs_navsto_param.h:675
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.cpp:880
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.cpp:170
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.cpp:902
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.cpp:1264
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.cpp:1990
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.cpp:1682
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.cpp:1214
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.cpp:1964
void cs_navsto_param_log(const cs_navsto_param_t *nsp)
Summary of the main cs_navsto_param_t structure.
Definition: cs_navsto_param.cpp:673
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.cpp:1834
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.cpp:965
cs_xdef_t * cs_navsto_set_velocity_inlet_by_value(cs_navsto_param_t *nsp, const char *z_name, const cs_real_3_t values)
Define the velocity field for an inlet boundary using a uniform value.
Definition: cs_navsto_param.cpp:1618
cs_navsto_param_norm_type_t
Choice of the norm for the mass flux used in the non-linear algorithm.
Definition: cs_navsto_param.h:262
@ CS_NAVSTO_PARAM_NORM_L2
Definition: cs_navsto_param.h:264
@ CS_NAVSTO_PARAM_NORM_HDIV
Definition: cs_navsto_param.h:265
@ CS_NAVSTO_PARAM_NORM_TRACE
Definition: cs_navsto_param.h:266
@ CS_NAVSTO_PARAM_N_NORM_TYPES
Definition: cs_navsto_param.h:268
cs_navsto_param_t * cs_navsto_param_free(cs_navsto_param_t *param)
Free a cs_navsto_param_t structure.
Definition: cs_navsto_param.cpp:350
cs_navsto_param_coupling_t
Choice of algorithm for solving the system.
Definition: cs_navsto_param.h:237
@ CS_NAVSTO_N_COUPLINGS
Definition: cs_navsto_param.h:243
@ CS_NAVSTO_COUPLING_ARTIFICIAL_COMPRESSIBILITY
Definition: cs_navsto_param.h:239
@ CS_NAVSTO_COUPLING_PROJECTION
Definition: cs_navsto_param.h:241
@ CS_NAVSTO_COUPLING_MONOLITHIC
Definition: cs_navsto_param.h:240
cs_navsto_param_model_t
Describe the system of equations related to the Navier-Stokes to be solved.
Definition: cs_navsto_param.h:80
@ CS_NAVSTO_MODEL_STOKES
Definition: cs_navsto_param.h:82
@ CS_NAVSTO_MODEL_OSEEN
Definition: cs_navsto_param.h:83
@ CS_NAVSTO_MODEL_INCOMPRESSIBLE_NAVIER_STOKES
Definition: cs_navsto_param.h:84
@ CS_NAVSTO_N_MODELS
Definition: cs_navsto_param.h:86
cs_flag_t cs_navsto_param_model_flag_t
Definition: cs_navsto_param.h:55
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.cpp:844
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.cpp:1149
cs_navsto_param_post_bit_t
Bit values for additional generic postprocessing related to the Navier-Stokes module....
Definition: cs_navsto_param.h:190
@ CS_NAVSTO_POST_MASS_DENSITY
Definition: cs_navsto_param.h:199
@ CS_NAVSTO_POST_VELOCITY_DIVERGENCE
Definition: cs_navsto_param.h:192
@ CS_NAVSTO_POST_KINETIC_ENERGY
Definition: cs_navsto_param.h:193
@ CS_NAVSTO_POST_HELICITY
Definition: cs_navsto_param.h:197
@ CS_NAVSTO_POST_STREAM_FUNCTION
Definition: cs_navsto_param.h:196
@ CS_NAVSTO_POST_VELOCITY_GRADIENT
Definition: cs_navsto_param.h:195
@ CS_NAVSTO_POST_ENSTROPHY
Definition: cs_navsto_param.h:198
@ CS_NAVSTO_POST_CELL_MASS_FLUX_BALANCE
Definition: cs_navsto_param.h:200
@ CS_NAVSTO_POST_VORTICITY
Definition: cs_navsto_param.h:194
@ CS_NAVSTO_POST_PRESSURE_GRADIENT
Definition: cs_navsto_param.h:201
@ CS_NAVSTO_POST_BOUNDARY_STRESS
Definition: cs_navsto_param.h:202
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.cpp:1471
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.cpp:1416
cs_flag_t cs_navsto_param_num_flag_t
Definition: cs_navsto_param.h:57
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.cpp:1753
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.cpp:433
cs_xdef_t * cs_navsto_set_velocity_wall_by_value(cs_navsto_param_t *nsp, const char *z_name, const cs_real_3_t values)
Define the velocity field for a sliding wall boundary using a uniform value.
Definition: cs_navsto_param.cpp:1550
cs_navsto_param_num_bit_t
Bit values for additional numeric related to the Navier-Stokes system of equations.
Definition: cs_navsto_param.h:216
@ CS_NAVSTO_NUM_PSEUDO_STEADY
Definition: cs_navsto_param.h:218
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:707
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:129
@ CS_NAVSTO_MODEL_WITH_SOLIDIFICATION
Definition: cs_navsto_param.h:136
@ CS_NAVSTO_MODEL_GRAVITY_EFFECTS
Definition: cs_navsto_param.h:132
@ CS_NAVSTO_MODEL_BOUSSINESQ
Definition: cs_navsto_param.h:135
@ CS_NAVSTO_MODEL_PASSIVE_THERMAL_TRACER
Definition: cs_navsto_param.h:134
@ CS_NAVSTO_MODEL_CORIOLIS_EFFECTS
Definition: cs_navsto_param.h:133
@ CS_NAVSTO_MODEL_STEADY
Definition: cs_navsto_param.h:131
Structure and routines handling the SLES ((Sparse Linear Equation Solver) settings stored inside a cs...
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:215
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_nl_algo_t
Class of non-linear iterative algorithm.
Definition: cs_param_types.h:715
cs_param_dof_reduction_t
Definition: cs_param_types.h:244
cs_quadrature_type_t
Type of quadrature to use when computing an integral quantity. This rationale is used for integrals a...
Definition: cs_quadrature.h:79
Definition: cs_advection_field.h:151
Structure storing information related to the "physical" boundaries associated with the computational ...
Definition: cs_boundary.h:154
Set of parameters to handle an unsteady convection-diffusion-reaction equation with term sources.
Definition: cs_equation_param.h:190
Structure storing all the parameters to drive the algorithm called Anderson acceleration.
Definition: cs_iter_algo.h:134
Structure storing the parameters related to the Boussinesq source term in the momentum equation.
Definition: cs_navsto_param.h:277
const cs_real_t * var
Definition: cs_navsto_param.h:287
cs_real_t var0
Definition: cs_navsto_param.h:280
cs_real_t beta
Definition: cs_navsto_param.h:279
Structure storing the parameters related to the resolution of the Navier-Stokes system.
Definition: cs_navsto_param.h:296
cs_property_t * mass_density
Definition: cs_navsto_param.h:341
int n_velocity_bc_defs
Definition: cs_navsto_param.h:576
cs_cdo_blas_square_norm_t * square_norm
Definition: cs_navsto_param.h:424
cs_xdef_t ** velocity_ic_defs
Definition: cs_navsto_param.h:526
cs_param_nl_algo_t nl_algo_type
Definition: cs_navsto_param.h:433
cs_physical_constants_t * phys_constants
Definition: cs_navsto_param.h:334
cs_iter_algo_param_aac_t anderson_param
Definition: cs_navsto_param.h:456
bool pressure_ic_is_owner
Definition: cs_navsto_param.h:542
cs_navsto_param_model_t model
Definition: cs_navsto_param.h:309
int n_pressure_ic_defs
Definition: cs_navsto_param.h:543
cs_param_psteady_t psteady_cvg_param
Definition: cs_navsto_param.h:449
int n_pressure_bc_defs
Definition: cs_navsto_param.h:593
cs_xdef_t ** velocity_bc_defs
Definition: cs_navsto_param.h:577
cs_property_t * tot_viscosity
Definition: cs_navsto_param.h:349
cs_turbulence_param_t * turbulence
Definition: cs_navsto_param.h:321
cs_navsto_param_post_flag_t post_flag
Definition: cs_navsto_param.h:490
bool pressure_bc_is_owner
Definition: cs_navsto_param.h:592
cs_xdef_t ** pressure_bc_defs
Definition: cs_navsto_param.h:594
cs_navsto_param_num_flag_t num_flag
Definition: cs_navsto_param.h:496
cs_navsto_param_model_flag_t model_flag
Definition: cs_navsto_param.h:315
int n_boussinesq_terms
Definition: cs_navsto_param.h:396
cs_real_t reference_pressure
Definition: cs_navsto_param.h:606
int verbosity
Definition: cs_navsto_param.h:484
bool velocity_bc_is_owner
Definition: cs_navsto_param.h:575
cs_param_dof_reduction_t dof_reduction_mode
Definition: cs_navsto_param.h:368
cs_real_t delta_thermal_tolerance
Definition: cs_navsto_param.h:464
int n_max_outer_iter
Definition: cs_navsto_param.h:473
cs_navsto_param_boussinesq_t * boussinesq_param
Definition: cs_navsto_param.h:397
cs_cdo_blas_dotprod_t * dotprod
Definition: cs_navsto_param.h:426
cs_param_convergence_t nl_cvg_param
Definition: cs_navsto_param.h:441
int n_velocity_ic_defs
Definition: cs_navsto_param.h:525
bool velocity_ic_is_owner
Definition: cs_navsto_param.h:524
cs_cdo_blas_square_norm_diff_t * square_norm_diff
Definition: cs_navsto_param.h:425
const cs_boundary_t * boundaries
Definition: cs_navsto_param.h:558
cs_navsto_param_norm_type_t norm_type
Definition: cs_navsto_param.h:412
cs_property_t * lam_viscosity
Definition: cs_navsto_param.h:355
cs_xdef_t ** pressure_ic_defs
Definition: cs_navsto_param.h:544
cs_param_space_scheme_t space_scheme
Definition: cs_navsto_param.h:380
cs_navsto_param_coupling_t coupling
Definition: cs_navsto_param.h:374
Set of parameters to check the convergence (or the divergence) of an iterative process (tolerances or...
Definition: cs_param_types.h:603
Set of parameters to check the convergence of the pseudo-steady algo.
Definition: cs_param_types.h:631
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:62
Structure storing medata for defining a quantity in a very flexible way.
Definition: cs_xdef.h:156