9.0
general documentation
Loading...
Searching...
No Matches
cs_boundary_conditions_set_coeffs.h File Reference
#include "base/cs_defs.h"
#include "bft/bft_error.h"
#include "base/cs_field.h"
#include "base/cs_math.h"
#include "cdo/cs_equation_param.h"
Include dependency graph for cs_boundary_conditions_set_coeffs.h:

Go to the source code of this file.

Functions

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.
static void cs_boundary_conditions_set_neumann_scalar (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, cs_real_t qimp, cs_real_t hint)
 Set Neumann BC for a scalar for a given face.
static void cs_boundary_conditions_set_neumann_scalar_hmg (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs)
 Set homogeneous Neumann BC for a scalar for a given face.
static void cs_boundary_conditions_set_neumann_vector (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, const cs_real_t qimpv[3], cs_real_t hint)
 Set Neumann BC for a scalar for a given face.
static void cs_boundary_conditions_set_neumann_vector_aniso (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, const cs_real_t qimpv[3], const cs_real_t hint[6])
 Set neumann BC for an anisotropic vector for a given face.
static void cs_boundary_conditions_set_neumann_tensor (cs_real_t a[6], cs_real_t af[6], cs_real_t b[6][6], cs_real_t bf[6][6], const cs_real_t qimpts[6], cs_real_t hint)
 Set Neumann boundary conditions for a tensor for a given face.
static void cs_boundary_conditions_set_dirichlet_scalar (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, cs_real_t pimp, cs_real_t hint, cs_real_t hext)
 Set Dirichlet BC for a scalar for a given face.
static void cs_boundary_conditions_set_dirichlet_vector (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, const cs_real_t pimpv[3], cs_real_t hint, const cs_real_t hextv[3])
 Set Dirichlet BC for a vector for a given face.
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.
static void cs_boundary_conditions_set_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 hintt[6], const cs_real_t hextv[3])
 Set Dirichlet BC for a vector for a given face with left anisotropic diffusion.
static void cs_boundary_conditions_set_dirichlet_tensor (cs_real_t a[6], cs_real_t af[6], cs_real_t b[6][6], cs_real_t bf[6][6], const cs_real_t pimpts[6], cs_real_t hint, const cs_real_t hextts[6])
 Set Dirichlet BC for a tensor for a given face.
static void cs_boundary_conditions_set_generalized_sym_vector (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, const cs_real_t pimpv[3], const cs_real_t qimpv[3], cs_real_t hint, const cs_nreal_t normal[3])
 Set generalized BC for a symmetric vector for a given face.
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.
static void cs_boundary_conditions_set_generalized_dirichlet_vector (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, const cs_real_t pimpv[3], const cs_real_t qimpv[3], cs_real_t hint, const cs_nreal_t normal[3])
 Set generalized Dirichlet BC for a 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.
static void cs_boundary_conditions_set_convective_outlet_vector (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, const cs_real_t pimpv[3], const cs_real_t cflv[3], cs_real_t hint)
 Set convective outlet BC for a vector for a given face.
static void cs_boundary_conditions_set_convective_outlet_tensor (cs_real_t a[6], cs_real_t af[6], cs_real_t b[6][6], cs_real_t bf[6][6], const cs_real_t pimpts[6], const cs_real_t cflts[6], cs_real_t hint)
 Set convective outlet BC for a tensor for a given face.
static void cs_boundary_conditions_set_convective_outlet_vector_aniso (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, const cs_real_t pimpv[3], const cs_real_t cflv[3], const cs_real_t hintt[6])
 Set convective outlet BC for an anisotropic vector for a given face.
static void cs_boundary_conditions_set_affine_function_scalar (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, cs_real_t pinf, cs_real_t ratio, cs_real_t hint)
 Set BC for an affine scalar function for a given face.
static void cs_boundary_conditions_set_neumann_conv_h_neumann_diff_scalar (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, cs_real_t dimp, cs_real_t hint)
 Set Neumann BC for the convection operator, zero flux for diffusion.
static void cs_boundary_conditions_set_affine_function_conv_neumann_diff_scalar (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, cs_real_t pinf, cs_real_t ratio, cs_real_t dimp)
 Set Neumann BC for the convection operator, imposed flux for diffusion.
static void cs_boundary_conditions_set_total_flux (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, cs_real_t hext, cs_real_t dimp)
 Set total flux as a Robin condition.
static void cs_boundary_conditions_set_dirichlet_conv_neumann_diff_scalar (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, cs_real_t pimp, cs_real_t dimp)
 Imposed value for the convection operator, imposed flux for diffusion, for a scalar.
static void cs_boundary_conditions_set_dirichlet_conv_neumann_diff_vector (cs_lnum_t f_id, cs_field_bc_coeffs_t *bc_coeffs, const cs_real_t pimpv[3], const cs_real_t qimpv[3])
 Imposed value for the convection operator, imposed flux for diffusion, for a vector.
static void cs_boundary_conditions_set_dirichlet_conv_neumann_diff_tensor (cs_real_t a[6], cs_real_t af[6], cs_real_t b[6][6], cs_real_t bf[6][6], const cs_real_t pimpts[6], const cs_real_t qimpts[6])
 Imposed value for the convection operator, imposed flux for diffusion, for a tensor.

Function Documentation

◆ cs_boundary_conditions_set_affine_function_conv_neumann_diff_scalar()

void cs_boundary_conditions_set_affine_function_conv_neumann_diff_scalar ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
cs_real_t pinf,
cs_real_t ratio,
cs_real_t dimp )
inlinestatic

Set Neumann BC for the convection operator, imposed flux for diffusion.

Parameters
[in]f_idface id
[out]bc_coeffsboundary condition structure
[in]pinfaffine part
[in]ratiolinear part
[in]dimpflux value to impose

◆ cs_boundary_conditions_set_affine_function_scalar()

void cs_boundary_conditions_set_affine_function_scalar ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
cs_real_t pinf,
cs_real_t ratio,
cs_real_t hint )
inlinestatic

Set BC for an affine scalar function for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsboundary condition structure
[in]pinfaffine part
[in]ratiolinear part
[in]hintinternal exchange coefficient

◆ cs_boundary_conditions_set_coeffs()

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 $ \fib $ stored in the face center $ \centf $ of the variable $ P $ and its diffusive flux $ Q $ are written as:

\[P_{\face} = A_P^g + B_P^g P_{\centi}
\]

and

\[Q_{\face} = A_P^f + B_P^f P_{\centi}
\]

where $ P_\centi $ is the value of the variable $ P $ at the neighboring cell.

Warning
  • If we consider an increment of a variable, the boundary conditions read:

    \[  \delta P_{\face} = B_P^g \delta P_{\centi}
\]

    and

    \[  \delta Q_{\face} = -B_P^f \delta P_{\centi}
\]

  • For a vector field such as the velocity $ \vect{u} $ the boundary conditions may read:

    \[  \vect{u}_{\face} = \vect{A}_u^g + \tens{B}_u^g \vect{u}_{\centi}
\]

    and

    \[  \vect{Q}_{\face} = \vect{A}_u^f + \tens{B}_u^f \vect{u}_{\centi}
\]

    where $ \tens{B}_u^g $ and $ \tens{B}_u^f $ are 3x3 tensor matrix which coupled velocity components next to a boundary.

Please refer to the boundary conditions section of the theory guide for more informations, as well as the condli section.

Parameters
[in]nvartotal number of variables
[in]iternsiteration number on Navier-Stokes equations
[in]isvhbid of field whose exchange coeffient should be saved at the walls, or -1.
[in]itraleALE iteration number
[in]italimfor ALE
[in]itrfinLast velocity-pressure sub-iteration indicator
[in]ineeflfor ALE
[in]itrfupUpdate after velocity-pressure sub-iterations
[in,out]isostdindicator for standard outlet and reference face index
[out]visvdrdynamic viscosity after V. Driest damping in boundary cells
[out]hbordexchange coefficient at boundary
[out]theipbvalue of thermal scalar at $ \centip $ of boundary cells
[in]nftcdtGlobal indicator of condensation source terms (ie. sum on the processors of nfbpcd) cells associated to the face with condensation phenomenon

◆ cs_boundary_conditions_set_coeffs_init()

void cs_boundary_conditions_set_coeffs_init ( void )

Initialization of boundary condition arrays.

◆ cs_boundary_conditions_set_convective_outlet_scalar()

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.

Parameters
[in]f_idface id
[out]bc_coeffsboundary conditions structure
[in]pimpflux value to impose
[in]cfllocal Courant number used to convect
[in]hintinternal exchange coefficient

◆ cs_boundary_conditions_set_convective_outlet_tensor()

void cs_boundary_conditions_set_convective_outlet_tensor ( cs_real_t a[6],
cs_real_t af[6],
cs_real_t b[6][6],
cs_real_t bf[6][6],
const cs_real_t pimpts[6],
const cs_real_t cflts[6],
cs_real_t hint )
inlinestatic

Set convective outlet BC for a tensor for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]pimptsDirichlet value to impose
[in]cfltslocal Courant number used to convect
[in]hintinternal exchange coefficient

◆ cs_boundary_conditions_set_convective_outlet_vector()

void cs_boundary_conditions_set_convective_outlet_vector ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
const cs_real_t pimpv[3],
const cs_real_t cflv[3],
cs_real_t hint )
inlinestatic

Set convective outlet BC for a vector for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]pimpvDirichlet value to impose
[in]cflvlocal Courant number used to convect
[in]hintinternal exchange coefficient

◆ cs_boundary_conditions_set_convective_outlet_vector_aniso()

void cs_boundary_conditions_set_convective_outlet_vector_aniso ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
const cs_real_t pimpv[3],
const cs_real_t cflv[3],
const cs_real_t hintt[6] )
inlinestatic

Set convective outlet BC for an anisotropic vector for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]pimpvDirichlet value to impose
[in]cflvlocal Courant number used to convect
[in]hinttinternal exchange coefficient

◆ cs_boundary_conditions_set_dirichlet_conv_neumann_diff_scalar()

void cs_boundary_conditions_set_dirichlet_conv_neumann_diff_scalar ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
cs_real_t pimp,
cs_real_t dimp )
inlinestatic

Imposed value for the convection operator, imposed flux for diffusion, for a scalar.

Parameters
[in]f_idface id
[out]bc_coeffsboundary condition structure
[in]pimpDirichlet value to impose
[in]dimpflux value to impose

◆ cs_boundary_conditions_set_dirichlet_conv_neumann_diff_tensor()

void cs_boundary_conditions_set_dirichlet_conv_neumann_diff_tensor ( cs_real_t a[6],
cs_real_t af[6],
cs_real_t b[6][6],
cs_real_t bf[6][6],
const cs_real_t pimpts[6],
const cs_real_t qimpts[6] )
inlinestatic

Imposed value for the convection operator, imposed flux for diffusion, for a tensor.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]pimptsDirichlet value to impose
[in]qimptsflux value to impose

◆ cs_boundary_conditions_set_dirichlet_conv_neumann_diff_vector()

void cs_boundary_conditions_set_dirichlet_conv_neumann_diff_vector ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
const cs_real_t pimpv[3],
const cs_real_t qimpv[3] )
inlinestatic

Imposed value for the convection operator, imposed flux for diffusion, for a vector.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]pimpvDirichlet value to impose
[in]qimpvflux value to impose

◆ cs_boundary_conditions_set_dirichlet_scalar()

void cs_boundary_conditions_set_dirichlet_scalar ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
cs_real_t pimp,
cs_real_t hint,
cs_real_t hext )
inlinestatic

Set Dirichlet BC for a scalar for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsboundary conditions structure
[in]pimpDirichlet value to impose
[in]hintinternal exchange coefficient
[in]hextexternal exchange coefficient (assumed infinite/ignored if < 0)

◆ cs_boundary_conditions_set_dirichlet_tensor()

void cs_boundary_conditions_set_dirichlet_tensor ( cs_real_t a[6],
cs_real_t af[6],
cs_real_t b[6][6],
cs_real_t bf[6][6],
const cs_real_t pimpts[6],
cs_real_t hint,
const cs_real_t hextts[6] )
inlinestatic

Set Dirichlet BC for a tensor for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]pimptsDirichlet value to impose
[in]hintinternal exchange coefficient
[in]hexttsexternal exchange coefficient (10^30 by default)

◆ cs_boundary_conditions_set_dirichlet_vector()

void cs_boundary_conditions_set_dirichlet_vector ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
const cs_real_t pimpv[3],
cs_real_t hint,
const cs_real_t hextv[3] )
inlinestatic

Set Dirichlet BC for a vector for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]pimpvDirichlet value to impose
[in]hintinternal exchange coefficient
[in]hextvexternal exchange coefficient (assumed infinite/ignored if < 0)

◆ cs_boundary_conditions_set_dirichlet_vector_aniso()

void cs_boundary_conditions_set_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 hintt[6],
const cs_real_t hextv[3] )
inlinestatic

Set Dirichlet BC for a vector for a given face with left anisotropic diffusion.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]pimpvDirichlet value to impose
[in]hinttinternal exchange coefficient
[in]hextvexternal exchange coefficient (assumed infinite/ignored if < 0)

◆ cs_boundary_conditions_set_generalized_dirichlet_vector()

void cs_boundary_conditions_set_generalized_dirichlet_vector ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
const cs_real_t pimpv[3],
const cs_real_t qimpv[3],
cs_real_t hint,
const cs_nreal_t normal[3] )
inlinestatic

Set generalized Dirichlet BC for a vector for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsboundary conditions structure
[in]pimpvDirichlet value to impose on the tangential components
[in]qimpvflux value to impose on the normal component
[in]hintinternal exchange coefficient
[in]normalunit normal

◆ cs_boundary_conditions_set_generalized_dirichlet_vector_aniso()

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.

Parameters
[in]f_idface id
[out]bc_coeffsboundary conditions structure
[in]pimpvDirichlet value to impose on the tangential components
[in]qimpvflux value to impose on the normal component
[in]hintinternal exchange coefficient
[in]normalunit normal

◆ cs_boundary_conditions_set_generalized_sym_vector()

void cs_boundary_conditions_set_generalized_sym_vector ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
const cs_real_t pimpv[3],
const cs_real_t qimpv[3],
cs_real_t hint,
const cs_nreal_t normal[3] )
inlinestatic

Set generalized BC for a symmetric vector for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]pimpvDirichlet value to impose on the normal component
[in]qimpvflux value to impose on the tangential components
[in]hintinternal exchange coefficient
[in]normalunit normal

◆ cs_boundary_conditions_set_generalized_sym_vector_aniso()

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.

Parameters
[in]f_idface id
[out]bc_coeffsboundary conditions structure
[in]pimpvDirichlet value to impose on the normal component
[in]qimpvflux value to impose on the tangential components
[in]hintinternal exchange coefficient
[in]normalunit normal

◆ cs_boundary_conditions_set_neumann_conv_h_neumann_diff_scalar()

void cs_boundary_conditions_set_neumann_conv_h_neumann_diff_scalar ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
cs_real_t dimp,
cs_real_t hint )
inlinestatic

Set Neumann BC for the convection operator, zero flux for diffusion.

Parameters
[in]f_idface id
[out]bc_coeffsboundary condition structure
[in]dimpflux value to impose
[in]hintinternal exchange coefficient

◆ cs_boundary_conditions_set_neumann_scalar()

void cs_boundary_conditions_set_neumann_scalar ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
cs_real_t qimp,
cs_real_t hint )
inlinestatic

Set Neumann BC for a scalar for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsboundary conditions structure
[in]qimpflux value to impose
[in]hintinternal exchange coefficient

◆ cs_boundary_conditions_set_neumann_scalar_hmg()

void cs_boundary_conditions_set_neumann_scalar_hmg ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs )
inlinestatic

Set homogeneous Neumann BC for a scalar for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsboundary conditions structure

◆ cs_boundary_conditions_set_neumann_tensor()

void cs_boundary_conditions_set_neumann_tensor ( cs_real_t a[6],
cs_real_t af[6],
cs_real_t b[6][6],
cs_real_t bf[6][6],
const cs_real_t qimpts[6],
cs_real_t hint )
inlinestatic

Set Neumann boundary conditions for a tensor for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]qimptsflux value to impose
[in]hintinternal exchange coefficient

◆ cs_boundary_conditions_set_neumann_vector()

void cs_boundary_conditions_set_neumann_vector ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
const cs_real_t qimpv[3],
cs_real_t hint )
inlinestatic

Set Neumann BC for a scalar for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]qimpvflux value to impose
[in]hintinternal exchange coefficient

◆ cs_boundary_conditions_set_neumann_vector_aniso()

void cs_boundary_conditions_set_neumann_vector_aniso ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
const cs_real_t qimpv[3],
const cs_real_t hint[6] )
inlinestatic

Set neumann BC for an anisotropic vector for a given face.

Parameters
[in]f_idface id
[out]bc_coeffsBC structure
[in]qimpvflux value to impose
[in]hintinternal exchange coefficient

◆ cs_boundary_conditions_set_total_flux()

void cs_boundary_conditions_set_total_flux ( cs_lnum_t f_id,
cs_field_bc_coeffs_t * bc_coeffs,
cs_real_t hext,
cs_real_t dimp )
inlinestatic

Set total flux as a Robin condition.

Parameters
[in]f_idface id
[out]bc_coeffsboundary condition structure
[in]hextconvective flux to be imposed
[in]dimpflux value to impose