Translation of the boundary conditions given by the user in a form that fits the solver. More...
#include "base/cs_defs.h"#include <stdarg.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <assert.h>#include <math.h>#include "bft/bft_printf.h"#include "base/cs_1d_wall_thermal.h"#include "base/cs_ale.h"#include "base/cs_array.h"#include "base/cs_assert.h"#include "base/cs_base.h"#include "base/cs_boundary.h"#include "base/cs_boundary_conditions.h"#include "base/cs_boundary_conditions_check.h"#include "base/cs_boundary_conditions_coupling.h"#include "base/cs_boundary_conditions_set_coeffs_symmetry.h"#include "base/cs_boundary_conditions_set_coeffs_turb.h"#include "base/cs_boundary_conditions_type.h"#include "cfbl/cs_cf_boundary_conditions.h"#include "base/cs_coupling.h"#include "base/cs_dispatch.h"#include "base/cs_field.h"#include "base/cs_field_default.h"#include "base/cs_field_operator.h"#include "base/cs_field_pointer.h"#include "alge/cs_gradient_boundary.h"#include "gui/cs_gui_boundary_conditions.h"#include "gui/cs_gui_mobile_mesh.h"#include "gui/cs_gui_util.h"#include "base/cs_ht_convert.h"#include "base/cs_internal_coupling.h"#include "turb/cs_les_inflow.h"#include "base/cs_log.h"#include "base/cs_mem.h"#include "mesh/cs_mesh.h"#include "mesh/cs_mesh_quantities.h"#include "base/cs_mobile_structures.h"#include "base/cs_parall.h"#include "base/cs_parameters.h"#include "base/cs_physical_constants.h"#include "pprt/cs_physical_model.h"#include "base/cs_prototypes.h"#include "rayt/cs_rad_transfer.h"#include "rayt/cs_rad_transfer_bcs.h"#include "base/cs_sat_coupling.h"#include "base/cs_syr_coupling.h"#include "base/cs_thermal_model.h"#include "base/cs_time_step.h"#include "turb/cs_turbulence_model.h"#include "base/cs_turbomachinery.h"#include "base/cs_velocity_pressure.h"#include "base/cs_vof.h"#include "base/cs_wall_condensation.h"#include "base/cs_wall_condensation_1d_thermal.h"#include "base/cs_rotation.h"#include "base/cs_boundary_conditions_set_coeffs.h"Macros | |
| #define | NOZPPM 2000 /* max number of boundary conditions zone */ |
Functions | |
| int * | cs_f_boundary_conditions_get_bc_type (void) |
| void | cs_f_ppprcl (void) |
| void | cs_f_pptycl (bool init, int *itypfb) |
| void | cs_f_user_boundary_conditions_wrapper (int itypfb[], const int izfppp[], cs_real_t dt[]) |
| void | cs_boundary_conditions_set_coeffs (int nvar, int iterns, int isvhb, int itrale, int italim, int itrfin, int ineefl, int itrfup, int isostd[], cs_real_t visvdr[], cs_real_t hbord[], cs_real_t theipb[], int nftcdt) |
| Translation of the boundary conditions given by the user in a form that fits to the solver. More... | |
| void | cs_boundary_conditions_set_coeffs_init (void) |
| Initialization of boundary condition arrays. More... | |
| void | cs_boundary_conditions_set_convective_outlet_scalar (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, cs_real_t pimp, cs_real_t cfl, cs_real_t hint) |
| Set convective oulet boundary condition for a scalar. More... | |
| void | cs_boundary_conditions_set_generalized_sym_vector_aniso (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, const cs_real_t pimpv[3], const cs_real_t qimpv[3], const cs_real_t hint[6], const cs_nreal_t normal[3]) |
| Set generalized BC for an anisotropic symmetric vector for a given face. More... | |
| void | cs_boundary_conditions_set_generalized_dirichlet_vector_aniso (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, const cs_real_t pimpv[3], const cs_real_t qimpv[3], const cs_real_t hint[6], const cs_nreal_t normal[3]) |
| Set generalized Dirichlet BC for an anisotropic vector for a given face. More... | |
| template<cs_lnum_t stride> | |
| void | cs_boundary_conditions_update_bc_coeff_face_values (cs_dispatch_context &ctx, cs_field_t *f, const cs_field_bc_coeffs_t *bc_coeffs, const int inc, const cs_equation_param_t *eqp, const cs_real_t pvar[][stride], cs_real_t val_ip[][stride], cs_real_t val_f[][stride], cs_real_t val_f_lim[][stride], cs_real_t val_f_d[][stride], cs_real_t val_f_d_lim[][stride]) |
| Update face value for gradient and diffusion when solving in increments. More... | |
| template<cs_lnum_t stride> | |
| void | cs_boundary_conditions_update_bc_coeff_face_values (cs_dispatch_context &ctx, cs_field_t *f, const cs_real_t pvar[][stride]) |
| template void | cs_boundary_conditions_update_bc_coeff_face_values (cs_dispatch_context &ctx, cs_field_t *f, const cs_field_bc_coeffs_t *bc_coeffs, const int inc, const cs_equation_param_t *eqp, const cs_real_t pvar[][3], cs_real_t val_ip[][3], cs_real_t val_f[][3], cs_real_t val_f_lim[][3], cs_real_t val_f_d[][3], cs_real_t val_f_d_lim[][3]) |
| template void | cs_boundary_conditions_update_bc_coeff_face_values (cs_dispatch_context &ctx, cs_field_t *f, const cs_field_bc_coeffs_t *bc_coeffs, const int inc, const cs_equation_param_t *eqp, const cs_real_t pvar[][6], cs_real_t val_ip[][6], cs_real_t val_f[][6], cs_real_t val_f_lim[][6], cs_real_t val_f_d[][6], cs_real_t val_f_d_lim[][6]) |
| template void | cs_boundary_conditions_update_bc_coeff_face_values (cs_dispatch_context &ctx, cs_field_t *f, const cs_real_t pvar[][3]) |
| template void | cs_boundary_conditions_update_bc_coeff_face_values (cs_dispatch_context &ctx, cs_field_t *f, const cs_real_t pvar[][6]) |
| void | cs_boundary_conditions_ensure_bc_coeff_face_values_allocated (cs_field_bc_coeffs_t *bc_coeffs, cs_lnum_t n_b_faces, cs_lnum_t dim, cs_alloc_mode_t amode, bool limiter) |
| Allocate BC coefficients face values if needed. More... | |
Translation of the boundary conditions given by the user in a form that fits the solver.
Boundary condition coefficients computation.
| #define NOZPPM 2000 /* max number of boundary conditions zone */ |
| void cs_boundary_conditions_ensure_bc_coeff_face_values_allocated | ( | cs_field_bc_coeffs_t * | bc_coeffs, |
| cs_lnum_t | n_b_faces, | ||
| cs_lnum_t | dim, | ||
| cs_alloc_mode_t | amode, | ||
| bool | limiter | ||
| ) |
Allocate BC coefficients face values if needed.
| [in,out] | bc_coeffs | pointer to boundary conditions coefficients. |
| [in] | n_b_faces | number of boundary faces |
| [in] | dim | associated field dimension |
| [in] | amode | allocation mode |
| [in] | limiter | is a limiter active ? |
| void cs_boundary_conditions_set_coeffs | ( | int | nvar, |
| int | iterns, | ||
| int | isvhb, | ||
| int | itrale, | ||
| int | italim, | ||
| int | itrfin, | ||
| int | ineefl, | ||
| int | itrfup, | ||
| int | isostd[], | ||
| cs_real_t | visvdr[], | ||
| cs_real_t | hbord[], | ||
| cs_real_t | theipb[], | ||
| int | nftcdt | ||
| ) |
Translation of the boundary conditions given by the user in a form that fits to the solver.
The values at a boundary face
stored in the face center
of the variable
and its diffusive flux
are written as:
and
where
is the value of the variable
at the neighboring cell.
Please refer to the boundary conditions section of the theory guide for more informations, as well as the condli section.
| [in] | nvar | total number of variables |
| [in] | iterns | iteration number on Navier-Stokes equations |
| [in] | isvhb | id of field whose exchange coeffient should be saved at the walls, or -1. |
| [in] | itrale | ALE iteration number |
| [in] | italim | for ALE |
| [in] | itrfin | Last velocity-pressure sub-iteration indicator |
| [in] | ineefl | for ALE |
| [in] | itrfup | Update after velocity-pressure sub-iterations |
| [in,out] | isostd | indicator for standard outlet and reference face index |
| [out] | visvdr | dynamic viscosity after V. Driest damping in boundary cells |
| [out] | hbord | exchange coefficient at boundary |
| [out] | theipb | value of thermal scalar at |
| [in] | nftcdt | Global indicator of condensation source terms (ie. sum on the processors of nfbpcd) cells associated to the face with condensation phenomenon |
| void cs_boundary_conditions_set_coeffs_init | ( | void | ) |
Initialization of boundary condition arrays.
| void cs_boundary_conditions_set_convective_outlet_scalar | ( | cs_lnum_t | f_id, |
| cs_field_bc_coeffs_t * | bc_coeffs, | ||
| cs_real_t | pimp, | ||
| cs_real_t | cfl, | ||
| cs_real_t | hint | ||
| ) |
Set convective oulet boundary condition for a scalar.
| [in] | f_id | face id |
| [out] | bc_coeffs | boundary conditions structure |
| [in] | pimp | flux value to impose |
| [in] | cfl | local Courant number used to convect |
| [in] | hint | internal exchange coefficient |
| void cs_boundary_conditions_set_generalized_dirichlet_vector_aniso | ( | cs_lnum_t | f_id, |
| cs_field_bc_coeffs_t * | bc_coeffs, | ||
| const cs_real_t | pimpv[3], | ||
| const cs_real_t | qimpv[3], | ||
| const cs_real_t | hint[6], | ||
| const cs_nreal_t | normal[3] | ||
| ) |
Set generalized Dirichlet BC for an anisotropic vector for a given face.
| [in] | f_id | face id |
| [out] | bc_coeffs | boundary conditions structure |
| [in] | pimpv | Dirichlet value to impose on the tangential components |
| [in] | qimpv | flux value to impose on the normal component |
| [in] | hint | internal exchange coefficient |
| [in] | normal | unit normal |
| void cs_boundary_conditions_set_generalized_sym_vector_aniso | ( | cs_lnum_t | f_id, |
| cs_field_bc_coeffs_t * | bc_coeffs, | ||
| const cs_real_t | pimpv[3], | ||
| const cs_real_t | qimpv[3], | ||
| const cs_real_t | hint[6], | ||
| const cs_nreal_t | normal[3] | ||
| ) |
Set generalized BC for an anisotropic symmetric vector for a given face.
| [in] | f_id | face id |
| [out] | bc_coeffs | boundary conditions structure |
| [in] | pimpv | Dirichlet value to impose on the normal component |
| [in] | qimpv | flux value to impose on the tangential components |
| [in] | hint | internal exchange coefficient |
| [in] | normal | unit normal |
| template void cs_boundary_conditions_update_bc_coeff_face_values | ( | cs_dispatch_context & | ctx, |
| cs_field_t * | f, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs, | ||
| const int | inc, | ||
| const cs_equation_param_t * | eqp, | ||
| const cs_real_t | pvar[][3], | ||
| cs_real_t | val_ip[][3], | ||
| cs_real_t | val_f[][3], | ||
| cs_real_t | val_f_lim[][3], | ||
| cs_real_t | val_f_d[][3], | ||
| cs_real_t | val_f_d_lim[][3] | ||
| ) |
| template void cs_boundary_conditions_update_bc_coeff_face_values | ( | cs_dispatch_context & | ctx, |
| cs_field_t * | f, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs, | ||
| const int | inc, | ||
| const cs_equation_param_t * | eqp, | ||
| const cs_real_t | pvar[][6], | ||
| cs_real_t | val_ip[][6], | ||
| cs_real_t | val_f[][6], | ||
| cs_real_t | val_f_lim[][6], | ||
| cs_real_t | val_f_d[][6], | ||
| cs_real_t | val_f_d_lim[][6] | ||
| ) |
| void cs_boundary_conditions_update_bc_coeff_face_values | ( | cs_dispatch_context & | ctx, |
| cs_field_t * | f, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs, | ||
| const int | inc, | ||
| const cs_equation_param_t * | eqp, | ||
| const cs_real_t | pvar[][stride], | ||
| cs_real_t | val_ip[][stride], | ||
| cs_real_t | val_f[][stride], | ||
| cs_real_t | val_f_lim[][stride], | ||
| cs_real_t | val_f_d[][stride], | ||
| cs_real_t | val_f_d_lim[][stride] | ||
| ) |
Update face value for gradient and diffusion when solving in increments.
| [in] | ctx | reference to dispatch context |
| [in] | f | pointer to field |
| [in] | bc_coeffs | boundary condition structure for the variable |
| [in] | inc | 0 if an increment, 1 otherwise |
| [in] | eqp | equation parameters |
| [in] | pvar | variable values at cell centers |
| [in,out] | var_ip | boundary variable values at I' position |
| [in,out] | var_f | face values for the gradient computation |
| [in,out] | var_f_lim | face values for the gradient computation (with limiter) |
| [in,out] | var_f_d | face values for the diffusion computation |
| [in,out] | var_f_d_lim | face values for the diffusion computation (with limiter) |
| template void cs_boundary_conditions_update_bc_coeff_face_values | ( | cs_dispatch_context & | ctx, |
| cs_field_t * | f, | ||
| const cs_real_t | pvar[][3] | ||
| ) |
| template void cs_boundary_conditions_update_bc_coeff_face_values | ( | cs_dispatch_context & | ctx, |
| cs_field_t * | f, | ||
| const cs_real_t | pvar[][6] | ||
| ) |
| void cs_boundary_conditions_update_bc_coeff_face_values | ( | cs_dispatch_context & | ctx, |
| cs_field_t * | f, | ||
| const cs_real_t | pvar[][stride] | ||
| ) |
| int * cs_f_boundary_conditions_get_bc_type | ( | void | ) |
| void cs_f_ppprcl | ( | void | ) |
| void cs_f_pptycl | ( | bool | init, |
| int * | itypfb | ||
| ) |
| void cs_f_user_boundary_conditions_wrapper | ( | int | itypfb[], |
| const int | izfppp[], | ||
| cs_real_t | dt[] | ||
| ) |