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. | |
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. | |
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. | |
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. | |
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. | |
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. |
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
and
where
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[] ) |