#include "cs_defs.h"#include <assert.h>#include <float.h>#include <stdlib.h>#include <string.h>#include <ctype.h>#include <bft_mem.h>#include <bft_printf.h>#include "cs_base.h"#include "cs_equation.h"#include "cs_log.h"#include "cs_navsto_param.h" Include dependency graph for cs_navsto_param.c:
 Include dependency graph for cs_navsto_param.c:| Functions | |
| 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-Stokes (NS) system.  More... | |
| cs_navsto_param_t * | cs_navsto_param_free (cs_navsto_param_t *param) | 
| Free a cs_navsto_param_t structure.  More... | |
| 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.  More... | |
| 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 system. Be aware that the user-defined settings can be modified in this function when a different choice is set between the settings for the Navier-Stokes system and the settings for the momentum equation. The final choice is given by the settings for the Navier-Stokes system.  More... | |
| void | cs_navsto_param_log (const cs_navsto_param_t *nsp) | 
| Summary of the main cs_navsto_param_t structure.  More... | |
| 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)  More... | |
| 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.  More... | |
| 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 most of the cases)  More... | |
| const char * | cs_navsto_param_get_model_name (cs_navsto_param_model_t model) | 
| Retrieve the name of the model system of equations.  More... | |
| const char * | cs_navsto_param_get_coupling_name (cs_navsto_param_coupling_t coupling) | 
| Retrieve the name of the coupling algorithm.  More... | |
| void | cs_navsto_set_reference_pressure (cs_navsto_param_t *nsp, cs_real_t pref) | 
| Set the value to consider for the reference pressure.  More... | |
| 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.  More... | |
| 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 mesh location. By default, the unknown is set to zero everywhere. Here the initial value is set to a constant value.  More... | |
| 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 mesh location. By default, the unknown is set to zero everywhere. Here the initial value is set according to an analytical function.  More... | |
| 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 mesh location. By default, the unknown is set to zero everywhere. Here the initial value is set to a constant value.  More... | |
| 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 mesh location. By default, the unknown is set to zero everywhere. Here the initial value is set according to an analytical function.  More... | |
| 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 management of the Navier-Stokes system of equations.  More... | |
| 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 management of the Navier-Stokes system of equations.  More... | |
| 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 management of the Navier-Stokes system of equations.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.  More... | |
| 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.
| [in,out] | nsp | pointer to a cs_navsto_param_t | 
| [in,out] | adv_fld | pointer to a cs_adv_field_t | 
| 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 mesh location. By default, the unknown is set to zero everywhere. Here the initial value is set according to an analytical function.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" if all cells are considered) | 
| [in] | analytic | pointer to an analytic function | 
| [in] | input | NULL or pointer to a structure cast on-the-fly | 
| 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 mesh location. By default, the unknown is set to zero everywhere. Here the initial value is set to a constant value.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" if all cells are considered) | 
| [in] | val | pointer to the value | 
| 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.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" all cells are considered) | 
| [in] | ana | pointer to an analytical function | 
| [in] | input | NULL or pointer to a structure cast on-the-fly | 
| 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.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" all cells are considered) | 
| [in] | loc | information to know where are located values | 
| [in] | array | pointer to an array | 
| [in] | is_owner | transfer the lifecycle to the cs_xdef_t structure (true or false) | 
| [in] | full_length | if true, array size is allocated and filled to access the full-length array corresponding to all locations where are defined the values | 
| 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.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" all cells are considered) | 
| [in] | val | pointer to the value to set | 
| 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 mesh location. By default, the unknown is set to zero everywhere. Here the initial value is set according to an analytical function.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" if all cells are considered) | 
| [in] | analytic | pointer to an analytic function | 
| [in] | input | NULL or pointer to a structure cast on-the-fly | 
| 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 mesh location. By default, the unknown is set to zero everywhere. Here the initial value is set to a constant value.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" if all cells are considered) | 
| [in] | val | pointer to the value | 
| 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)
| [in,out] | nsp | pointer to a cs_navsto_param_t struct. | 
| [in] | dilatation_coef | value of the dilatation coefficient | 
| [in] | reference_value | reference value of the associated variable | 
| 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-Stokes (NS) system.
| [in] | boundaries | pointer to a cs_boundary_t structure | 
| [in] | model | type of model related to the NS system | 
| [in] | model_flag | additional high-level model options | 
| [in] | algo_coupling | algorithm used for solving the NS system | 
| [in] | post_flag | predefined post-processings options | 
| cs_navsto_param_t* cs_navsto_param_free | ( | cs_navsto_param_t * | param | ) | 
Free a cs_navsto_param_t structure.
| [in,out] | param | pointer to a cs_navsto_param_t structure | 
| const char* cs_navsto_param_get_coupling_name | ( | cs_navsto_param_coupling_t | coupling | ) | 
Retrieve the name of the coupling algorithm.
| [in] | coupling | a cs_navsto_param_coupling_t | 
| const char* cs_navsto_param_get_model_name | ( | cs_navsto_param_model_t | model | ) | 
Retrieve the name of the model system of equations.
| [in] | model | a cs_navsto_param_model_t | 
| 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 most of the cases)
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| void cs_navsto_param_log | ( | const cs_navsto_param_t * | nsp | ) | 
Summary of the main cs_navsto_param_t structure.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| 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.
| [in,out] | nsp | pointer to a cs_navsto_param_t structure to set | 
| [in] | key | key related to the member of eq to set | 
| [in] | keyval | accessor to the value to set | 
| 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.
| [in,out] | bp | pointer to a cs_navsto_param_boussinesq_t structure | 
| [in] | var | shared pointer to the array of values to consider | 
| 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.
| [in,out] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | qtype | type of quadrature to apply | 
| 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 system. Be aware that the user-defined settings can be modified in this function when a different choice is set between the settings for the Navier-Stokes system and the settings for the momentum equation. The final choice is given by the settings for the Navier-Stokes system.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in,out] | eqp | pointer to a cs_equation_param_t structure | 
| 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 management of the Navier-Stokes system of equations.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| 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 management of the Navier-Stokes system of equations.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| 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.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" all boundary faces are considered) | 
| [in] | values | value to set | 
| void cs_navsto_set_reference_pressure | ( | cs_navsto_param_t * | nsp, | 
| cs_real_t | pref | ||
| ) | 
Set the value to consider for the reference pressure.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | pref | value of the reference pressure | 
| 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 management of the Navier-Stokes system of equations.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| 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.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" all boundary faces are considered) | 
| [in] | ana | pointer to an analytical function | 
| [in] | input | NULL or pointer to a structure cast on-the-fly | 
| 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.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" all boundary faces are considered) | 
| [in] | loc | information to know where are located values | 
| [in] | array | pointer to an array | 
| [in] | is_owner | transfer the lifecycle to the cs_xdef_t structure (true or false) | 
| [in] | full_length | if true, the size of "array" should be allocated to the total numbers of entities related to the given location. If false, a new list is allocated and filled with the related subset indirection. | 
| 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.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" all boundary faces are considered) | 
| [in] | dof_loc | where are located DoFs | 
| [in] | func | pointer to a cs_dof_function_t | 
| [in] | func_input | NULL or pointer to a structure cast on-the-fly | 
| 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.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" all boundary faces are considered) | 
| [in] | values | array of three real values | 
| 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.
| [in] | nsp | pointer to a cs_navsto_param_t structure | 
| [in] | z_name | name of the associated zone (if NULL or "" all boundary faces are considered) | 
| [in] | values | array of three real values |