8.0
general documentation
Loading...
Searching...
No Matches
cs_convection_diffusion.h File Reference
#include "cs_defs.h"
#include "cs_base.h"
#include "cs_halo.h"
#include "cs_math.h"
#include "cs_mesh_quantities.h"
#include "cs_parameters.h"
#include "cs_field_pointer.h"
Include dependency graph for cs_convection_diffusion.h:

Go to the source code of this file.

Enumerations

enum  cs_nvd_type_t {
  CS_NVD_GAMMA = 0 , CS_NVD_SMART = 1 , CS_NVD_CUBISTA = 2 , CS_NVD_SUPERBEE = 3 ,
  CS_NVD_MUSCL = 4 , CS_NVD_MINMOD = 5 , CS_NVD_CLAM = 6 , CS_NVD_STOIC = 7 ,
  CS_NVD_OSHER = 8 , CS_NVD_WASEB = 9 , CS_NVD_VOF_HRIC = 10 , CS_NVD_VOF_CICSAM = 11 ,
  CS_NVD_VOF_STACS = 12 , CS_NVD_N_TYPES = 13
}

Functions

static void cs_sync_scalar_halo (const cs_mesh_t *m, cs_halo_type_t halo_type, cs_real_t pvar[])
static cs_real_t cs_nvd_scheme_scalar (const cs_nvd_type_t limiter, const cs_real_t nvf_p_c, const cs_real_t nvf_r_f, const cs_real_t nvf_r_c)
 Compute the normalized face scalar using the specified NVD scheme.
static cs_real_t cs_nvd_vof_scheme_scalar (const cs_nvd_type_t limiter, const cs_real_3_t i_face_normal, const cs_real_t nvf_p_c, const cs_real_t nvf_r_f, const cs_real_t nvf_r_c, const cs_real_3_t gradv_c, const cs_real_t c_courant)
 Compute the normalised face scalar using the specified NVD scheme for the case of a Volume-of-Fluid (VOF) transport equation.
static void cs_slope_test (const cs_real_t pi, const cs_real_t pj, const cs_real_t distf, const cs_real_t srfan, const cs_real_t i_face_normal[3], const cs_real_t gradi[3], const cs_real_t gradj[3], const cs_real_t grdpai[3], const cs_real_t grdpaj[3], const cs_real_t i_massflux, cs_real_t *testij, cs_real_t *tesqck)
 Compute slope test criteria at internal face between cell i and j.
static void cs_slope_test_vector (const cs_real_t pi[3], const cs_real_t pj[3], const cs_real_t distf, const cs_real_t srfan, const cs_real_t i_face_normal[3], const cs_real_t gradi[3][3], const cs_real_t gradj[3][3], const cs_real_t gradsti[3][3], const cs_real_t gradstj[3][3], const cs_real_t i_massflux, cs_real_t *testij, cs_real_t *tesqck)
 Compute slope test criteria at internal face between cell i and j.
static void cs_slope_test_tensor (const cs_real_t pi[6], const cs_real_t pj[6], const cs_real_t distf, const cs_real_t srfan, const cs_real_t i_face_normal[3], const cs_real_t gradi[6][3], const cs_real_t gradj[6][3], const cs_real_t gradsti[6][3], const cs_real_t gradstj[6][3], const cs_real_t i_massflux, cs_real_t *testij, cs_real_t *tesqck)
 Compute slope test criteria at internal face between cell i and j.
static void cs_i_compute_quantities (const cs_real_t bldfrp, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_3_t gradi, const cs_real_3_t gradj, const cs_real_t pi, const cs_real_t pj, cs_real_t *recoi, cs_real_t *recoj, cs_real_t *pip, cs_real_t *pjp)
 Reconstruct values in I' and J'.
static void cs_i_compute_quantities_vector (const cs_real_t bldfrp, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_33_t gradi, const cs_real_33_t gradj, const cs_real_3_t pi, const cs_real_3_t pj, cs_real_t recoi[3], cs_real_t recoj[3], cs_real_t pip[3], cs_real_t pjp[3])
 Reconstruct values in I' and J'.
static void cs_i_compute_quantities_tensor (const cs_real_t bldfrp, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_63_t gradi, const cs_real_63_t gradj, const cs_real_6_t pi, const cs_real_6_t pj, cs_real_t recoi[6], cs_real_t recoj[6], cs_real_t pip[6], cs_real_t pjp[6])
 Reconstruct values in I' and J'.
static void cs_i_relax_c_val (const double relaxp, const cs_real_t pia, const cs_real_t pja, const cs_real_t recoi, const cs_real_t recoj, const cs_real_t pi, const cs_real_t pj, cs_real_t *pir, cs_real_t *pjr, cs_real_t *pipr, cs_real_t *pjpr)
 Compute relaxed values at cell i and j.
static void cs_i_relax_c_val_vector (const double relaxp, const cs_real_3_t pia, const cs_real_3_t pja, const cs_real_3_t recoi, const cs_real_3_t recoj, const cs_real_3_t pi, const cs_real_3_t pj, cs_real_t pir[3], cs_real_t pjr[3], cs_real_t pipr[3], cs_real_t pjpr[3])
 Compute relaxed values at cell i and j.
static void cs_i_relax_c_val_tensor (const cs_real_t relaxp, const cs_real_t pia[6], const cs_real_t pja[6], const cs_real_t recoi[6], const cs_real_t recoj[6], const cs_real_t pi[6], const cs_real_t pj[6], cs_real_t pir[6], cs_real_t pjr[6], cs_real_t pipr[6], cs_real_t pjpr[6])
 Compute relaxed values at cell i and j.
static void cs_upwind_f_val (const cs_real_t p, cs_real_t *pf)
 Prepare value at face ij by using an upwind scheme.
static void cs_upwind_f_val_vector (const cs_real_3_t p, cs_real_t pf[3])
 Prepare value at face ij by using an upwind scheme.
static void cs_upwind_f_val_tensor (const cs_real_6_t p, cs_real_t pf[6])
 Prepare value at face ij by using an upwind scheme.
static void cs_centered_f_val (const double pnd, const cs_real_t pip, const cs_real_t pjp, cs_real_t *pf)
 Prepare value at face ij by using a centered scheme.
static void cs_centered_f_val_vector (const double pnd, const cs_real_3_t pip, const cs_real_3_t pjp, cs_real_t pf[3])
 Prepare value at face ij by using a centered scheme.
static void cs_centered_f_val_tensor (const double pnd, const cs_real_6_t pip, const cs_real_6_t pjp, cs_real_t pf[6])
 Prepare value at face ij by using a centered scheme.
static void cs_solu_f_val (const cs_real_3_t cell_cen, const cs_real_3_t i_face_cog, const cs_real_3_t grad, const cs_real_t p, cs_real_t *pf)
 Prepare value at face ij by using a Second Order Linear Upwind scheme.
static void cs_solu_f_val_vector (const cs_real_3_t cell_cen, const cs_real_3_t i_face_cog, const cs_real_33_t grad, const cs_real_3_t p, cs_real_t pf[3])
 Prepare value at face ij by using a Second Order Linear Upwind scheme.
static void cs_solu_f_val_tensor (const cs_real_3_t cell_cen, const cs_real_3_t i_face_cog, const cs_real_63_t grad, const cs_real_6_t p, cs_real_t pf[6])
 Prepare value at face ij by using a Second Order Linear Upwind scheme.
static void cs_blend_f_val (const double blencp, const cs_real_t p, cs_real_t *pf)
 Blend face values for a centered or SOLU scheme with face values for an upwind scheme.
static void cs_blend_f_val_vector (const double blencp, const cs_real_3_t p, cs_real_t pf[3])
 Blend face values for a centered or SOLU scheme with face values for an upwind scheme.
static void cs_blend_f_val_tensor (const double blencp, const cs_real_t p[6], cs_real_t pf[6])
 Blend face values for a centered or SOLU scheme with face values for an upwind scheme.
static void cs_i_conv_flux (const int iconvp, const cs_real_t thetap, const int imasac, const cs_real_t pi, const cs_real_t pj, const cs_real_t pifri, const cs_real_t pifrj, const cs_real_t pjfri, const cs_real_t pjfrj, const cs_real_t i_massflux, const cs_real_t xcppi, const cs_real_t xcppj, cs_real_2_t fluxij)
 Add convective fluxes (substracting the mass accumulation from them) to fluxes at face ij.
static void cs_i_conv_flux_vector (const int iconvp, const cs_real_t thetap, const int imasac, const cs_real_t pi[3], const cs_real_t pj[3], const cs_real_t pifri[3], const cs_real_t pifrj[3], const cs_real_t pjfri[3], const cs_real_t pjfrj[3], const cs_real_t i_massflux, cs_real_t fluxi[3], cs_real_t fluxj[3])
 Add convective fluxes (substracting the mass accumulation from them) to fluxes at face ij.
static void cs_i_conv_flux_tensor (const int iconvp, const cs_real_t thetap, const int imasac, const cs_real_t pi[6], const cs_real_t pj[6], const cs_real_t pifri[6], const cs_real_t pifrj[6], const cs_real_t pjfri[6], const cs_real_t pjfrj[6], const cs_real_t i_massflux, cs_real_t fluxi[6], cs_real_t fluxj[6])
 Add convective fluxes (substracting the mass accumulation from them) to fluxes at face ij.
static void cs_i_diff_flux (const int idiffp, const cs_real_t thetap, const cs_real_t pip, const cs_real_t pjp, const cs_real_t pipr, const cs_real_t pjpr, const cs_real_t i_visc, cs_real_t fluxij[2])
 Add diffusive fluxes to fluxes at face ij.
static void cs_i_diff_flux_vector (const int idiffp, const cs_real_t thetap, const cs_real_t pip[3], const cs_real_t pjp[3], const cs_real_t pipr[3], const cs_real_t pjpr[3], const cs_real_t i_visc, cs_real_t fluxi[3], cs_real_t fluxj[3])
 Add diffusive fluxes to fluxes at face ij.
static void cs_i_diff_flux_tensor (const int idiffp, const cs_real_t thetap, const cs_real_t pip[6], const cs_real_t pjp[6], const cs_real_t pipr[6], const cs_real_t pjpr[6], const cs_real_t i_visc, cs_real_t fluxi[6], cs_real_t fluxj[6])
 Add diffusive fluxes to fluxes at face ij.
static void cs_i_cd_steady_upwind (const cs_real_t bldfrp, const cs_real_t relaxp, const cs_real_t diipf[3], const cs_real_t djjpf[3], const cs_real_t gradi[3], const cs_real_t gradj[3], const cs_real_t pi, const cs_real_t pj, const cs_real_t pia, const cs_real_t pja, cs_real_t *pifri, cs_real_t *pifrj, cs_real_t *pjfri, cs_real_t *pjfrj, cs_real_t *pip, cs_real_t *pjp, cs_real_t *pipr, cs_real_t *pjpr)
 Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and a pure upwind flux.
static void cs_i_cd_steady_upwind_vector (const cs_real_t bldfrp, const cs_real_t relaxp, const cs_real_t diipf[3], const cs_real_t djjpf[3], const cs_real_t gradi[3][3], const cs_real_t gradj[3][3], const cs_real_t pi[3], const cs_real_t pj[3], const cs_real_t pia[3], const cs_real_t pja[3], cs_real_t pifri[3], cs_real_t pifrj[3], cs_real_t pjfri[3], cs_real_t pjfrj[3], cs_real_t pip[3], cs_real_t pjp[3], cs_real_t pipr[3], cs_real_t pjpr[3])
 Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and a pure upwind flux.
static void cs_i_cd_steady_upwind_tensor (const cs_real_t bldfrp, const cs_real_t relaxp, const cs_real_t diipf[3], const cs_real_t djjpf[3], const cs_real_t gradi[6][3], const cs_real_t gradj[6][3], const cs_real_t pi[6], const cs_real_t pj[6], const cs_real_t pia[6], const cs_real_t pja[6], cs_real_t pifri[6], cs_real_t pifrj[6], cs_real_t pjfri[6], cs_real_t pjfrj[6], cs_real_t pip[6], cs_real_t pjp[6], cs_real_t pipr[6], cs_real_t pjpr[6])
 Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and a pure upwind flux.
static void cs_i_cd_unsteady_upwind (const cs_real_t bldfrp, const cs_real_t diipf[3], const cs_real_t djjpf[3], const cs_real_t gradi[3], const cs_real_t gradj[3], const cs_real_t pi, const cs_real_t pj, cs_real_t *pif, cs_real_t *pjf, cs_real_t *pip, cs_real_t *pjp)
 Handle preparation of internal face values for the fluxes computation in case of an unsteady algorithm and a pure upwind flux.
static void cs_i_cd_unsteady_upwind_vector (const cs_real_t bldfrp, const cs_real_t diipf[3], const cs_real_t djjpf[3], const cs_real_t gradi[3][3], const cs_real_t gradj[3][3], const cs_real_t pi[3], const cs_real_t pj[3], cs_real_t pif[3], cs_real_t pjf[3], cs_real_t pip[3], cs_real_t pjp[3])
 Handle preparation of internal face values for the fluxes computation in case of an unsteady algorithm and a pure upwind flux.
static void cs_i_cd_unsteady_upwind_tensor (const cs_real_t bldfrp, const cs_real_t diipf[3], const cs_real_t djjpf[3], const cs_real_t gradi[6][3], const cs_real_t gradj[6][3], const cs_real_t pi[6], const cs_real_t pj[6], cs_real_t pif[6], cs_real_t pjf[6], cs_real_t pip[6], cs_real_t pjp[6])
 Handle preparation of internal face values for the fluxes computation in case of an unsteady algorithm and a pure upwind flux.
static void cs_i_cd_steady (const cs_real_t bldfrp, const int ischcp, const double relaxp, const double blencp, const cs_real_t weight, const cs_real_t cell_ceni[3], const cs_real_t cell_cenj[3], const cs_real_t i_face_cog[3], const cs_real_t diipf[3], const cs_real_t djjpf[3], const cs_real_t gradi[3], const cs_real_t gradj[3], const cs_real_t gradupi[3], const cs_real_t gradupj[3], const cs_real_t pi, const cs_real_t pj, const cs_real_t pia, const cs_real_t pja, cs_real_t *pifri, cs_real_t *pifrj, cs_real_t *pjfri, cs_real_t *pjfrj, cs_real_t *pip, cs_real_t *pjp, cs_real_t *pipr, cs_real_t *pjpr)
 Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and without enabling slope tests.
static void cs_i_cd_steady_vector (const cs_real_t bldfrp, const int ischcp, const double relaxp, const double blencp, const cs_real_t weight, const cs_real_3_t cell_ceni, const cs_real_3_t cell_cenj, const cs_real_3_t i_face_cog, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_33_t gradi, const cs_real_33_t gradj, const cs_real_3_t pi, const cs_real_3_t pj, const cs_real_3_t pia, const cs_real_3_t pja, cs_real_t pifri[3], cs_real_t pifrj[3], cs_real_t pjfri[3], cs_real_t pjfrj[3], cs_real_t pip[3], cs_real_t pjp[3], cs_real_t pipr[3], cs_real_t pjpr[3])
 Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and without enabling slope tests.
static void cs_i_cd_steady_tensor (const cs_real_t bldfrp, const int ischcp, const double relaxp, const double blencp, const cs_real_t weight, const cs_real_3_t cell_ceni, const cs_real_3_t cell_cenj, const cs_real_3_t i_face_cog, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_63_t gradi, const cs_real_63_t gradj, const cs_real_6_t pi, const cs_real_6_t pj, const cs_real_6_t pia, const cs_real_6_t pja, cs_real_t pifri[6], cs_real_t pifrj[6], cs_real_t pjfri[6], cs_real_t pjfrj[6], cs_real_t pip[6], cs_real_t pjp[6], cs_real_t pipr[6], cs_real_t pjpr[6])
 Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and without enabling slope tests.
static void cs_i_cd_unsteady (const cs_real_t bldfrp, const int ischcp, const double blencp, const cs_real_t weight, const cs_real_3_t cell_ceni, const cs_real_3_t cell_cenj, const cs_real_3_t i_face_cog, const cs_real_t hybrid_blend_i, const cs_real_t hybrid_blend_j, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_3_t gradi, const cs_real_3_t gradj, const cs_real_3_t gradupi, const cs_real_3_t gradupj, const cs_real_t pi, const cs_real_t pj, cs_real_t *pif, cs_real_t *pjf, cs_real_t *pip, cs_real_t *pjp)
 Handle preparation of internal face values for the fluxes computation in case of a unsteady algorithm and without enabling slope tests.
static void cs_i_cd_unsteady_vector (const cs_real_t bldfrp, const int ischcp, const double blencp, const cs_real_t weight, const cs_real_3_t cell_ceni, const cs_real_3_t cell_cenj, const cs_real_3_t i_face_cog, const cs_real_t hybrid_blend_i, const cs_real_t hybrid_blend_j, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_33_t gradi, const cs_real_33_t gradj, const cs_real_3_t pi, const cs_real_3_t pj, cs_real_t pif[3], cs_real_t pjf[3], cs_real_t pip[3], cs_real_t pjp[3])
 Handle preparation of internal face values for the fluxes computation in case of an unsteady algorithm and without enabling slope tests.
static void cs_i_cd_unsteady_tensor (const cs_real_t bldfrp, const int ischcp, const double blencp, const cs_real_t weight, const cs_real_3_t cell_ceni, const cs_real_3_t cell_cenj, const cs_real_3_t i_face_cog, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_63_t gradi, const cs_real_63_t gradj, const cs_real_6_t pi, const cs_real_6_t pj, cs_real_t pif[6], cs_real_t pjf[6], cs_real_t pip[6], cs_real_t pjp[6])
 Handle preparation of internal face values for the fluxes computation in case of an unsteady algorithm and without enabling slope tests.
static void cs_i_cd_steady_slope_test (bool *upwind_switch, const int iconvp, const cs_real_t bldfrp, const int ischcp, const double relaxp, const double blencp, const double blend_st, const cs_real_t weight, const cs_real_t i_dist, const cs_real_t i_face_surf, const cs_real_3_t cell_ceni, const cs_real_3_t cell_cenj, const cs_real_3_t i_face_normal, const cs_real_3_t i_face_cog, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_t i_massflux, const cs_real_3_t gradi, const cs_real_3_t gradj, const cs_real_3_t gradupi, const cs_real_3_t gradupj, const cs_real_3_t gradsti, const cs_real_3_t gradstj, const cs_real_t pi, const cs_real_t pj, const cs_real_t pia, const cs_real_t pja, cs_real_t *pifri, cs_real_t *pifrj, cs_real_t *pjfri, cs_real_t *pjfrj, cs_real_t *pip, cs_real_t *pjp, cs_real_t *pipr, cs_real_t *pjpr)
 Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and using slope tests.
static void cs_i_cd_steady_slope_test_vector (bool *upwind_switch, const int iconvp, const cs_real_t bldfrp, const int ischcp, const double relaxp, const double blencp, const double blend_st, const cs_real_t weight, const cs_real_t i_dist, const cs_real_t i_face_surf, const cs_real_3_t cell_ceni, const cs_real_3_t cell_cenj, const cs_real_3_t i_face_normal, const cs_real_3_t i_face_cog, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_t i_massflux, const cs_real_33_t gradi, const cs_real_33_t gradj, const cs_real_33_t grdpai, const cs_real_33_t grdpaj, const cs_real_3_t pi, const cs_real_3_t pj, const cs_real_3_t pia, const cs_real_3_t pja, cs_real_t pifri[3], cs_real_t pifrj[3], cs_real_t pjfri[3], cs_real_t pjfrj[3], cs_real_t pip[3], cs_real_t pjp[3], cs_real_t pipr[3], cs_real_t pjpr[3])
 Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and using slope tests.
static void cs_i_cd_steady_slope_test_tensor (bool *upwind_switch, const int iconvp, const cs_real_t bldfrp, const int ischcp, const double relaxp, const double blencp, const double blend_st, const cs_real_t weight, const cs_real_t i_dist, const cs_real_t i_face_surf, const cs_real_3_t cell_ceni, const cs_real_3_t cell_cenj, const cs_real_3_t i_face_normal, const cs_real_3_t i_face_cog, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_t i_massflux, const cs_real_63_t gradi, const cs_real_63_t gradj, const cs_real_63_t grdpai, const cs_real_63_t grdpaj, const cs_real_6_t pi, const cs_real_6_t pj, const cs_real_6_t pia, const cs_real_6_t pja, cs_real_t pifri[6], cs_real_t pifrj[6], cs_real_t pjfri[6], cs_real_t pjfrj[6], cs_real_t pip[6], cs_real_t pjp[6], cs_real_t pipr[6], cs_real_t pjpr[6])
 Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and using slope tests.
static void cs_i_cd_unsteady_slope_test (bool *upwind_switch, const int iconvp, const cs_real_t bldfrp, const int ischcp, const double blencp, const double blend_st, const cs_real_t weight, const cs_real_t i_dist, const cs_real_t i_face_surf, const cs_real_3_t cell_ceni, const cs_real_3_t cell_cenj, const cs_real_3_t i_face_normal, const cs_real_3_t i_face_cog, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_t i_massflux, const cs_real_3_t gradi, const cs_real_3_t gradj, const cs_real_3_t gradupi, const cs_real_3_t gradupj, const cs_real_3_t gradsti, const cs_real_3_t gradstj, const cs_real_t pi, const cs_real_t pj, cs_real_t *pif, cs_real_t *pjf, cs_real_t *pip, cs_real_t *pjp)
 Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and using slope tests.
static void cs_central_downwind_cells (const cs_lnum_t ii, const cs_lnum_t jj, const cs_real_t i_massflux, cs_lnum_t *ic, cs_lnum_t *id)
 Determine the upwind and downwind sides of an internal face and matching cell indices.
static void cs_i_cd_unsteady_nvd (const cs_nvd_type_t limiter, const double beta, const cs_real_3_t cell_cen_c, const cs_real_3_t cell_cen_d, const cs_real_3_t i_face_normal, const cs_real_3_t i_face_cog, const cs_real_3_t gradv_c, const cs_real_t p_c, const cs_real_t p_d, const cs_real_t local_max_c, const cs_real_t local_min_c, const cs_real_t courant_c, cs_real_t *pif, cs_real_t *pjf)
 Handle preparation of internal face values for the convection flux computation in case of an unsteady algorithm and using NVD schemes.
static void cs_i_cd_unsteady_slope_test_vector (bool *upwind_switch, const int iconvp, const cs_real_t bldfrp, const int ischcp, const double blencp, const double blend_st, const cs_real_t weight, const cs_real_t i_dist, const cs_real_t i_face_surf, const cs_real_3_t cell_ceni, const cs_real_3_t cell_cenj, const cs_real_3_t i_face_normal, const cs_real_3_t i_face_cog, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_t i_massflux, const cs_real_33_t gradi, const cs_real_33_t gradj, const cs_real_33_t grdpai, const cs_real_33_t grdpaj, const cs_real_3_t pi, const cs_real_3_t pj, cs_real_t pif[3], cs_real_t pjf[3], cs_real_t pip[3], cs_real_t pjp[3])
 Handle preparation of internal face values for the fluxes computation in case of a unsteady algorithm and using slope tests.
static void cs_i_cd_unsteady_slope_test_tensor (bool *upwind_switch, const int iconvp, const cs_real_t bldfrp, const int ischcp, const double blencp, const double blend_st, const cs_real_t weight, const cs_real_t i_dist, const cs_real_t i_face_surf, const cs_real_3_t cell_ceni, const cs_real_3_t cell_cenj, const cs_real_3_t i_face_normal, const cs_real_3_t i_face_cog, const cs_real_3_t diipf, const cs_real_3_t djjpf, const cs_real_t i_massflux, const cs_real_63_t gradi, const cs_real_63_t gradj, const cs_real_63_t grdpai, const cs_real_63_t grdpaj, const cs_real_6_t pi, const cs_real_6_t pj, cs_real_t pif[6], cs_real_t pjf[6], cs_real_t pip[6], cs_real_t pjp[6])
 Handle preparation of internal face values for the fluxes computation in case of a unsteady algorithm and using slope tests.
static void cs_b_compute_quantities (const cs_real_3_t diipb, const cs_real_3_t gradi, const cs_real_t bldfrp, cs_real_t *recoi)
 Reconstruct values in I' at boundary cell i.
static void cs_b_compute_quantities_vector (const cs_real_3_t diipb, const cs_real_33_t gradi, const cs_real_t bldfrp, cs_real_t recoi[3])
 Reconstruct values in I' at boundary cell i.
static void cs_b_compute_quantities_tensor (const cs_real_3_t diipb, const cs_real_63_t gradi, const cs_real_t bldfrp, cs_real_t recoi[6])
 Reconstruct values in I' at boundary cell i.
static void cs_b_relax_c_val (const double relaxp, const cs_real_t pi, const cs_real_t pia, const cs_real_t recoi, cs_real_t *pir, cs_real_t *pipr)
 Compute relaxed values at boundary cell i.
static void cs_b_relax_c_val_vector (const double relaxp, const cs_real_3_t pi, const cs_real_3_t pia, const cs_real_3_t recoi, cs_real_t pir[3], cs_real_t pipr[3])
 Compute relaxed values at boundary cell i.
static void cs_b_relax_c_val_tensor (const double relaxp, const cs_real_6_t pi, const cs_real_6_t pia, const cs_real_6_t recoi, cs_real_t pir[6], cs_real_t pipr[6])
 Compute relaxed values at boundary cell i.
static void cs_b_imposed_conv_flux (int iconvp, cs_real_t thetap, int imasac, int inc, int bc_type, int icvfli, cs_real_t pi, cs_real_t pir, cs_real_t pipr, cs_real_t coefap, cs_real_t coefbp, cs_real_t coface, cs_real_t cofbce, cs_real_t b_massflux, cs_real_t xcpp, cs_real_t *flux)
 Add convective flux (substracting the mass accumulation from it) to flux at boundary face. The convective flux can be either an upwind flux or an imposed value.
static void cs_b_imposed_conv_flux_vector (int iconvp, cs_real_t thetap, int imasac, int inc, int bc_type, int icvfli, const cs_real_t pi[restrict 3], const cs_real_t pir[restrict 3], const cs_real_t pipr[restrict 3], const cs_real_t coefap[restrict 3], const cs_real_t coefbp[restrict 3][3], const cs_real_t coface[restrict 3], const cs_real_t cofbce[restrict 3][3], cs_real_t b_massflux, cs_real_t flux[restrict 3])
 Add convective flux (substracting the mass accumulation from it) to flux at boundary face. The convective flux can be either an upwind flux or an imposed value.
static void cs_b_upwind_flux (const int iconvp, const cs_real_t thetap, const int imasac, const int inc, const int bc_type, const cs_real_t pi, const cs_real_t pir, const cs_real_t pipr, const cs_real_t coefap, const cs_real_t coefbp, const cs_real_t b_massflux, const cs_real_t xcpp, cs_real_t *flux)
 Add convective flux (substracting the mass accumulation from it) to flux at boundary face. The convective flux is a pure upwind flux.
static void cs_b_upwind_flux_vector (const int iconvp, const cs_real_t thetap, const int imasac, const int inc, const int bc_type, const cs_real_3_t pi, const cs_real_3_t pir, const cs_real_3_t pipr, const cs_real_3_t coefa, const cs_real_33_t coefb, const cs_real_t b_massflux, cs_real_t flux[3])
 Add convective flux (substracting the mass accumulation from it) to flux at boundary face. The convective flux is a pure upwind flux.
static void cs_b_upwind_flux_tensor (const int iconvp, const cs_real_t thetap, const int imasac, const int inc, const int bc_type, const cs_real_6_t pi, const cs_real_6_t pir, const cs_real_6_t pipr, const cs_real_6_t coefa, const cs_real_66_t coefb, const cs_real_t b_massflux, cs_real_t flux[6])
 Add convective flux (substracting the mass accumulation from it) to flux at boundary face. The convective flux is a pure upwind flux.
static void cs_b_diff_flux (const int idiffp, const cs_real_t thetap, const int inc, const cs_real_t pipr, const cs_real_t cofafp, const cs_real_t cofbfp, const cs_real_t b_visc, cs_real_t *flux)
 Add diffusive flux to flux at boundary face.
static void cs_b_diff_flux_vector (const int idiffp, const cs_real_t thetap, const int inc, const cs_real_3_t pipr, const cs_real_3_t cofaf, const cs_real_33_t cofbf, const cs_real_t b_visc, cs_real_t flux[3])
 Add diffusive flux to flux at boundary face.
static void cs_b_diff_flux_tensor (const int idiffp, const cs_real_t thetap, const int inc, const cs_real_6_t pipr, const cs_real_6_t cofaf, const cs_real_66_t cofbf, const cs_real_t b_visc, cs_real_t flux[6])
 Add diffusive flux to flux at boundary face.
static void cs_b_cd_steady (const cs_real_t bldfrp, const double relaxp, const cs_real_3_t diipb, const cs_real_3_t gradi, const cs_real_t pi, const cs_real_t pia, cs_real_t *pir, cs_real_t *pipr)
 Handle preparation of boundary face values for the flux computation in case of a steady algorithm.
static void cs_b_cd_steady_vector (const cs_real_t bldfrp, const double relaxp, const cs_real_3_t diipb, const cs_real_33_t gradi, const cs_real_3_t pi, const cs_real_3_t pia, cs_real_t pir[3], cs_real_t pipr[3])
 Handle preparation of boundary face values for the flux computation in case of a steady algorithm.
static void cs_b_cd_steady_tensor (const cs_real_t bldfrp, const double relaxp, const cs_real_3_t diipb, const cs_real_63_t gradi, const cs_real_6_t pi, const cs_real_6_t pia, cs_real_t pir[6], cs_real_t pipr[6])
 Handle preparation of boundary face values for the flux computation in case of a steady algorithm.
static void cs_b_cd_unsteady (const cs_real_t bldfrp, const cs_real_3_t diipb, const cs_real_3_t gradi, const cs_real_t pi, cs_real_t *pip)
 Handle preparation of boundary face values for the flux computation in case of an unsteady algorithm.
static void cs_b_cd_unsteady_vector (const cs_real_t bldfrp, const cs_real_3_t diipb, const cs_real_33_t gradi, const cs_real_3_t pi, cs_real_t pip[3])
 Handle preparation of boundary face values for the flux computation in case of a steady algorithm.
static void cs_b_cd_unsteady_tensor (const cs_real_t bldfrp, const cs_real_3_t diipb, const cs_real_63_t gradi, const cs_real_6_t pi, cs_real_t pip[6])
 Handle preparation of boundary face values for the flux computation in case of a steady algorithm.
static void cs_b_diff_flux_coupling (int idiffp, cs_real_t pi, cs_real_t pj, cs_real_t b_visc, cs_real_t *fluxi)
 Add diffusive flux to flux at an internal coupling face.
static void cs_b_diff_flux_coupling_vector (int idiffp, const cs_real_t pi[3], const cs_real_t pj[3], cs_real_t b_visc, cs_real_t fluxi[3])
 Add diffusive flux to flux at an internal coupling face for a vector.
void itrmas (const int *const f_id, const int *const init, const int *const inc, const int *const imrgra, const int *const nswrgp, const int *const imligp, const int *const iphydp, const int *const iwgrp, const int *const iwarnp, const cs_real_t *const epsrgp, const cs_real_t *const climgp, const cs_real_t *const extrap, cs_real_3_t frcxt[], cs_real_t pvar[], const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_t visel[], cs_real_t i_massflux[], cs_real_t b_massflux[])
void itrmav (const int *const f_id, const int *const init, const int *const inc, const int *const imrgra, const int *const nswrgp, const int *const imligp, const int *const ircflp, const int *const iphydp, const int *const iwgrp, const int *const iwarnp, const cs_real_t *const epsrgp, const cs_real_t *const climgp, const cs_real_t *const extrap, cs_real_3_t frcxt[], cs_real_t pvar[], const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_6_t viscel[], const cs_real_2_t weighf[], const cs_real_t weighb[], cs_real_t i_massflux[], cs_real_t b_massflux[])
void itrgrp (const int *const f_id, const int *const init, const int *const inc, const int *const imrgra, const int *const nswrgp, const int *const imligp, const int *const iphydp, const int *const iwgrp, const int *const iwarnp, const cs_real_t *const epsrgp, const cs_real_t *const climgp, const cs_real_t *const extrap, cs_real_3_t frcxt[], cs_real_t pvar[], const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_t visel[], cs_real_t diverg[])
void itrgrv (const int *const f_id, const int *const init, const int *const inc, const int *const imrgra, const int *const nswrgp, const int *const imligp, const int *const ircflp, const int *const iphydp, const int *const iwgrp, const int *const iwarnp, const cs_real_t *const epsrgp, const cs_real_t *const climgp, const cs_real_t *const extrap, cs_real_3_t frcxt[], cs_real_t pvar[], const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_6_t viscel[], const cs_real_2_t weighf[], const cs_real_t weighb[], cs_real_t diverg[])
void cs_cell_courant_number (const int f_id, cs_real_t *courant)
cs_real_tcs_get_v_slope_test (int f_id, const cs_var_cal_opt_t var_cal_opt)
void cs_slope_test_gradient (int f_id, int inc, cs_halo_type_t halo_type, const cs_real_3_t *grad, cs_real_3_t *grdpa, const cs_real_t *pvar, const cs_real_t *coefap, const cs_real_t *coefbp, const cs_real_t *i_massflux)
 Compute the upwind gradient used in the slope tests.
void cs_upwind_gradient (const int f_id, const int inc, const cs_halo_type_t halo_type, const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t *restrict pvar, cs_real_3_t *restrict grdpa)
 Compute the upwind gradient in order to cope with SOLU schemes observed in the litterature.
void cs_slope_test_gradient_vector (const int inc, const cs_halo_type_t halo_type, const cs_real_33_t *grad, cs_real_33_t *grdpa, const cs_real_3_t *pvar, const cs_real_3_t *coefa, const cs_real_33_t *coefb, const cs_real_t *i_massflux)
 Compute the upwind gradient used in the slope tests.
void cs_slope_test_gradient_tensor (const int inc, const cs_halo_type_t halo_type, const cs_real_63_t *grad, cs_real_63_t *grdpa, const cs_real_6_t *pvar, const cs_real_6_t *coefa, const cs_real_66_t *coefb, const cs_real_t *i_massflux)
 Compute the upwind gradient used in the slope tests.
void cs_beta_limiter_building (int f_id, int inc, const cs_real_t rovsdt[])
 Compute the beta blending coefficient of the beta limiter (ensuring preservation of a given min/max pair of values).
void cs_convection_diffusion_scalar (int idtvar, int f_id, const cs_var_cal_opt_t var_cal_opt, int icvflb, int inc, int imasac, cs_real_t *restrict pvar, const cs_real_t *restrict pvara, const int icvfli[], const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_t *restrict rhs)
 Add the explicit part of the convection/diffusion terms of a standard transport equation of a scalar field $ \varia $.
void cs_face_convection_scalar (int idtvar, int f_id, const cs_var_cal_opt_t var_cal_opt, int icvflb, int inc, int imasac, cs_real_t *restrict pvar, const cs_real_t *restrict pvara, const int icvfli[], const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], cs_real_2_t i_conv_flux[], cs_real_t b_conv_flux[])
 Update face flux with convection contribution of a standard transport equation of a scalar field $ \varia $.
void cs_convection_diffusion_vector (int idtvar, int f_id, const cs_var_cal_opt_t var_cal_opt, int icvflb, int inc, int ivisep, int imasac, cs_real_3_t *restrict pvar, const cs_real_3_t *restrict pvara, const int icvfli[], const cs_real_3_t coefav[], const cs_real_33_t coefbv[], const cs_real_3_t cofafv[], const cs_real_33_t cofbfv[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], const cs_real_t i_secvis[], const cs_real_t b_secvis[], cs_real_3_t *restrict rhs)
 Add the explicit part of the convection/diffusion terms of a transport equation of a vector field $ \vect{\varia} $.
void cs_convection_diffusion_tensor (int idtvar, int f_id, const cs_var_cal_opt_t var_cal_opt, int icvflb, int inc, int imasac, cs_real_6_t *restrict pvar, const cs_real_6_t *restrict pvara, const cs_real_6_t coefa[], const cs_real_66_t coefb[], const cs_real_6_t cofaf[], const cs_real_66_t cofbf[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_6_t *restrict rhs)
 Add the explicit part of the convection/diffusion terms of a transport equation of a vector field $ \vect{\varia} $.
void cs_convection_diffusion_thermal (int idtvar, int f_id, const cs_var_cal_opt_t var_cal_opt, int inc, int imasac, cs_real_t *restrict pvar, const cs_real_t *restrict pvara, const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_massflux[], const cs_real_t b_massflux[], const cs_real_t i_visc[], const cs_real_t b_visc[], const cs_real_t xcpp[], cs_real_t *restrict rhs)
 Add the explicit part of the convection/diffusion terms of a transport equation of a scalar field $ \varia $ such as the temperature.
void cs_anisotropic_diffusion_scalar (int idtvar, int f_id, const cs_var_cal_opt_t var_cal_opt, int inc, cs_real_t *restrict pvar, const cs_real_t *restrict pvara, const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_6_t *restrict viscel, const cs_real_2_t weighf[], const cs_real_t weighb[], cs_real_t *restrict rhs)
 Add the explicit part of the diffusion terms with a symmetric tensor diffusivity for a transport equation of a scalar field $ \varia $.
void cs_anisotropic_left_diffusion_vector (int idtvar, int f_id, const cs_var_cal_opt_t var_cal_opt, int inc, int ivisep, cs_real_3_t *restrict pvar, const cs_real_3_t *restrict pvara, const cs_real_3_t coefav[], const cs_real_33_t coefbv[], const cs_real_3_t cofafv[], const cs_real_33_t cofbfv[], const cs_real_33_t i_visc[], const cs_real_t b_visc[], const cs_real_t i_secvis[], cs_real_3_t *restrict rhs)
 Add explicit part of the terms of diffusion by a left-multiplying symmetric tensorial diffusivity for a transport equation of a vector field $ \vect{\varia} $.
void cs_anisotropic_right_diffusion_vector (int idtvar, int f_id, const cs_var_cal_opt_t var_cal_opt, int inc, cs_real_3_t *restrict pvar, const cs_real_3_t *restrict pvara, const cs_real_3_t coefav[], const cs_real_33_t coefbv[], const cs_real_3_t cofafv[], const cs_real_33_t cofbfv[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_6_t *restrict viscel, const cs_real_2_t weighf[], const cs_real_t weighb[], cs_real_3_t *restrict rhs)
 Add explicit part of the terms of diffusion by a right-multiplying symmetric tensorial diffusivity for a transport equation of a vector field $ \vect{\varia} $.
void cs_anisotropic_diffusion_tensor (int idtvar, int f_id, const cs_var_cal_opt_t var_cal_opt, int inc, cs_real_6_t *restrict pvar, const cs_real_6_t *restrict pvara, const cs_real_6_t coefa[], const cs_real_66_t coefb[], const cs_real_6_t cofaf[], const cs_real_66_t cofbf[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_6_t *restrict viscel, const cs_real_2_t weighf[], const cs_real_t weighb[], cs_real_6_t *restrict rhs)
 Add the explicit part of the diffusion terms with a symmetric tensor diffusivity for a transport equation of a scalar field $ \varia $.
void cs_face_diffusion_potential (const int f_id, const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int init, int inc, int imrgra, int nswrgp, int imligp, int iphydp, int iwgrp, int iwarnp, double epsrgp, double climgp, cs_real_3_t *restrict frcxt, cs_real_t *restrict pvar, const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_t *restrict visel, cs_real_t *restrict i_massflux, cs_real_t *restrict b_massflux)
 Update the face mass flux with the face pressure (or pressure increment, or pressure double increment) gradient.
void cs_face_anisotropic_diffusion_potential (const int f_id, const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int init, int inc, int imrgra, int nswrgp, int imligp, int ircflp, int iphydp, int iwgrp, int iwarnp, double epsrgp, double climgp, cs_real_3_t *restrict frcxt, cs_real_t *restrict pvar, const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_6_t *restrict viscel, const cs_real_2_t weighf[], const cs_real_t weighb[], cs_real_t *restrict i_massflux, cs_real_t *restrict b_massflux)
 Add the explicit part of the pressure gradient term to the mass flux in case of anisotropic diffusion of the pressure field $ P $.
void cs_diffusion_potential (const int f_id, const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int init, int inc, int imrgra, int nswrgp, int imligp, int iphydp, int iwgrp, int iwarnp, double epsrgp, double climgp, cs_real_3_t *restrict frcxt, cs_real_t *restrict pvar, const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_t visel[], cs_real_t *restrict diverg)
 Update the cell mass flux divergence with the face pressure (or pressure increment, or pressure double increment) gradient.
void cs_anisotropic_diffusion_potential (const int f_id, const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int init, int inc, int imrgra, int nswrgp, int imligp, int ircflp, int iphydp, int iwgrp, int iwarnp, double epsrgp, double climgp, cs_real_3_t *restrict frcxt, cs_real_t *restrict pvar, const cs_real_t coefap[], const cs_real_t coefbp[], const cs_real_t cofafp[], const cs_real_t cofbfp[], const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_6_t *restrict viscel, const cs_real_2_t weighf[], const cs_real_t weighb[], cs_real_t *restrict diverg)
 Add the explicit part of the divergence of the mass flux due to the pressure gradient (routine analog to diften).

Enumeration Type Documentation

◆ cs_nvd_type_t

Enumerator
CS_NVD_GAMMA 
CS_NVD_SMART 
CS_NVD_CUBISTA 
CS_NVD_SUPERBEE 
CS_NVD_MUSCL 
CS_NVD_MINMOD 
CS_NVD_CLAM 
CS_NVD_STOIC 
CS_NVD_OSHER 
CS_NVD_WASEB 
CS_NVD_VOF_HRIC 
CS_NVD_VOF_CICSAM 
CS_NVD_VOF_STACS 
CS_NVD_N_TYPES 

Function Documentation

◆ cs_anisotropic_diffusion_potential()

void cs_anisotropic_diffusion_potential ( const int f_id,
const cs_mesh_t * m,
cs_mesh_quantities_t * fvq,
int init,
int inc,
int imrgra,
int nswrgp,
int imligp,
int ircflp,
int iphydp,
int iwgrp,
int iwarnp,
double epsrgp,
double climgp,
cs_real_3_t *restrict frcxt,
cs_real_t *restrict pvar,
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t cofafp[],
const cs_real_t cofbfp[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_6_t *restrict viscel,
const cs_real_2_t weighf[],
const cs_real_t weighb[],
cs_real_t *restrict diverg )

Add the explicit part of the divergence of the mass flux due to the pressure gradient (routine analog to diften).

More precisely, the divergence of the mass flux side $ \sum_{\fij \in \Facei{\celli}} \dot{m}_\fij $ is updated as follows:

\[\sum_{\fij \in \Facei{\celli}} \dot{m}_\fij
 = \sum_{\fij \in \Facei{\celli}} \dot{m}_\fij
 - \sum_{\fij \in \Facei{\celli}}
   \left( \tens{\mu}_\fij \gradv_\fij P \cdot \vect{S}_\ij  \right)
\]

Parameters
[in]f_idfield id (or -1)
[in]mpointer to mesh
[in]fvqpointer to finite volume quantities
[in]initindicator
  • 1 initialize the mass flux to 0
  • 0 otherwise
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imrgraindicator
  • 0 iterative gradient
  • 1 least squares gradient
[in]nswrgpnumber of reconstruction sweeps for the gradients
[in]imligpclipping gradient method
  • < 0 no clipping
  • = 0 thank to neighbooring gradients
  • = 1 thank to the mean gradient
[in]ircflpindicator
  • 1 flux reconstruction,
  • 0 otherwise
[in]iphydpindicator
  • 1 hydrostatic pressure taken into account
  • 0 otherwise
[in]iwgrpindicator
  • 1 weight gradient by vicosity*porosity
  • weighting determined by field options
[in]iwarnpverbosity
[in]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]frcxtbody force creating the hydrostatic pressure
[in]pvarsolved variable (pressure)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viscelsymmetric cell tensor $ \tens{\mu}_\celli $
[in]weighfinternal face weight between cells i j in case of tensor diffusion
[in]weighbboundary face weight for cells i in case of tensor diffusion
[in,out]divergdivergence of the mass flux

More precisely, the divergence of the mass flux side $ \sum_{\fij \in \Facei{\celli}} \dot{m}_\fij $ is updated as follows:

\[\sum_{\fij \in \Facei{\celli}} \dot{m}_\fij
 = \sum_{\fij \in \Facei{\celli}} \dot{m}_\fij
 - \sum_{\fij \in \Facei{\celli}}
   \left( \tens{\mu}_\fij \gradv_\fij P \cdot \vect{S}_\ij  \right)
\]

Parameters
[in]f_idfield id (or -1)
[in]mpointer to mesh
[in]fvqpointer to finite volume quantities
[in]initindicator
  • 1 initialize the mass flux to 0
  • 0 otherwise
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imrgraindicator
  • 0 iterative gradient
  • 1 least squares gradient
[in]nswrgpnumber of reconstruction sweeps for the gradients
[in]imligpclipping gradient method
  • < 0 no clipping
  • = 0 thank to neighbooring gradients
  • = 1 thank to the mean gradient
[in]ircflpindicator
  • 1 flux reconstruction,
  • 0 otherwise
[in]iphydpindicator
  • 1 hydrostatic pressure taken into account
  • 0 otherwise
[in]iwgrpindicator
  • 1 weight gradient by vicosity*porosity
  • weighting determined by field options
[in]iwarnpverbosity
[in]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]frcxtbody force creating the hydrostatic pressure
[in]pvarsolved variable (pressure)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viscelsymmetric cell tensor $ \tens{\mu}_\celli $
[in]weighfinternal face weight between cells i j in case of tensor diffusion
[in]weighbboundary face weight for cells i in case of tensor diffusion
[in,out]divergdivergence of the mass flux

◆ cs_anisotropic_diffusion_scalar()

void cs_anisotropic_diffusion_scalar ( int idtvar,
int f_id,
const cs_var_cal_opt_t var_cal_opt,
int inc,
cs_real_t *restrict pvar,
const cs_real_t *restrict pvara,
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t cofafp[],
const cs_real_t cofbfp[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_6_t *restrict viscel,
const cs_real_2_t weighf[],
const cs_real_t weighb[],
cs_real_t *restrict rhs )

Add the explicit part of the diffusion terms with a symmetric tensor diffusivity for a transport equation of a scalar field $ \varia $.

More precisely, the right hand side $ Rhs $ is updated as follows:

\[Rhs = Rhs - \sum_{\fij \in \Facei{\celli}}      \left(
     - \tens{\mu}_\fij \gradv_\fij \varia \cdot \vect{S}_\ij  \right)
\]

Warning:

  • $ Rhs $ has already been initialized before calling cs_anisotropic_diffusion_scalar!
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viscelsymmetric cell tensor $ \tens{\mu}_\celli $
[in]weighfinternal face weight between cells i j in case of tensor diffusion
[in]weighbboundary face weight for cells i in case of tensor diffusion
[in,out]rhsright hand side $ \vect{Rhs} $

More precisely, the right hand side $ Rhs $ is updated as follows:

\[Rhs = Rhs - \sum_{\fij \in \Facei{\celli}}      \left(
     - \tens{\mu}_\fij \gradv_\fij \varia \cdot \vect{S}_\ij  \right)
\]

Warning:

  • $ Rhs $ has already been initialized before calling cs_anisotropic_diffusion_scalar!
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viscelsymmetric cell tensor $ \tens{\mu}_\celli $
[in]weighfinternal face weight between cells i j in case of tensor diffusion
[in]weighbboundary face weight for cells i in case of tensor diffusion
[in,out]rhsright hand side $ \vect{Rhs} $

◆ cs_anisotropic_diffusion_tensor()

void cs_anisotropic_diffusion_tensor ( int idtvar,
int f_id,
const cs_var_cal_opt_t var_cal_opt,
int inc,
cs_real_6_t *restrict pvar,
const cs_real_6_t *restrict pvara,
const cs_real_6_t coefa[],
const cs_real_66_t coefb[],
const cs_real_6_t cofaf[],
const cs_real_66_t cofbf[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_6_t *restrict viscel,
const cs_real_2_t weighf[],
const cs_real_t weighb[],
cs_real_6_t *restrict rhs )

Add the explicit part of the diffusion terms with a symmetric tensor diffusivity for a transport equation of a scalar field $ \varia $.

More precisely, the right hand side $ Rhs $ is updated as follows:

\[Rhs = Rhs - \sum_{\fij \in \Facei{\celli}}      \left(
     - \tens{\mu}_\fij \gradv_\fij \varia \cdot \vect{S}_\ij  \right)
\]

Warning:

  • $ Rhs $ has already been initialized before calling cs_anisotropic_diffusion_scalar!
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]coefaboundary condition array for the variable (explicit part)
[in]coefbboundary condition array for the variable (implicit part)
[in]cofafboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viscelsymmetric cell tensor $ \tens{\mu}_\celli $
[in]weighfinternal face weight between cells i j in case of tensor diffusion
[in]weighbboundary face weight for cells i in case of tensor diffusion
[in,out]rhsright hand side $ \vect{Rhs} $

More precisely, the right hand side $ Rhs $ is updated as follows:

\[Rhs = Rhs - \sum_{\fij \in \Facei{\celli}}      \left(
     - \tens{\mu}_\fij \gradv_\fij \varia \cdot \vect{S}_\ij  \right)
\]

Warning:

  • $ Rhs $ has already been initialized before calling cs_anisotropic_diffusion_scalar!
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]coefaboundary condition array for the variable (explicit part)
[in]coefbboundary condition array for the variable (implicit part)
[in]cofafboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viscelsymmetric cell tensor $ \tens{\mu}_\celli $
[in]weighfinternal face weight between cells i j in case of tensor diffusion
[in]weighbboundary face weight for cells i in case of tensor diffusion
[in,out]rhsright hand side $ \vect{Rhs} $

◆ cs_anisotropic_left_diffusion_vector()

void cs_anisotropic_left_diffusion_vector ( int idtvar,
int f_id,
const cs_var_cal_opt_t var_cal_opt,
int inc,
int ivisep,
cs_real_3_t *restrict pvar,
const cs_real_3_t *restrict pvara,
const cs_real_3_t coefav[],
const cs_real_33_t coefbv[],
const cs_real_3_t cofafv[],
const cs_real_33_t cofbfv[],
const cs_real_33_t i_visc[],
const cs_real_t b_visc[],
const cs_real_t i_secvis[],
cs_real_3_t *restrict rhs )

Add explicit part of the terms of diffusion by a left-multiplying symmetric tensorial diffusivity for a transport equation of a vector field $ \vect{\varia} $.

More precisely, the right hand side $ \vect{Rhs} $ is updated as follows:

\[\vect{Rhs} = \vect{Rhs} - \sum_{\fij \in \Facei{\celli}}      \left(
     - \gradt_\fij \vect{\varia} \tens{\mu}_\fij  \cdot \vect{S}_\ij  \right)
\]

Remark: if ivisep = 1, then we also take $ \mu \transpose{\gradt\vect{\varia}}
+ \lambda \trace{\gradt\vect{\varia}} $, where $ \lambda $ is the secondary viscosity, i.e. usually $ -\frac{2}{3} \mu $.

Warning:

  • $ \vect{Rhs} $ has already been initialized before calling the present function
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]ivisepindicator to take $ \divv
                              \left(\mu \gradt \transpose{\vect{a}} \right)
                              -2/3 \grad\left( \mu \dive \vect{a} \right)$
  • 1 take into account,
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]coefavboundary condition array for the variable (explicit part)
[in]coefbvboundary condition array for the variable (implicit part)
[in]cofafvboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfvboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \tens{\mu}_\fij \dfrac{S_\fij}{\ipf\jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]i_secvissecondary viscosity at interior faces
[in,out]rhsright hand side $ \vect{Rhs} $

More precisely, the right hand side $ \vect{Rhs} $ is updated as follows:

\[\vect{Rhs} = \vect{Rhs} - \sum_{\fij \in \Facei{\celli}}      \left(
     - \gradt_\fij \vect{\varia} \tens{\mu}_\fij  \cdot \vect{S}_\ij  \right)
\]

Remark: if ivisep = 1, then we also take $ \mu \transpose{\gradt\vect{\varia}}
+ \lambda \trace{\gradt\vect{\varia}} $, where $ \lambda $ is the secondary viscosity, i.e. usually $ -\frac{2}{3} \mu $.

Warning:

  • $ \vect{Rhs} $ has already been initialized before calling the present function
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]ivisepindicator to take $ \divv
                              \left(\mu \gradt \transpose{\vect{a}} \right)
                              -2/3 \grad\left( \mu \dive \vect{a} \right)$
  • 1 take into account,
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]coefavboundary condition array for the variable (explicit part)
[in]coefbvboundary condition array for the variable (implicit part)
[in]cofafvboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfvboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \tens{\mu}_\fij \dfrac{S_\fij}{\ipf\jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]i_secvissecondary viscosity at interior faces
[in,out]rhsright hand side $ \vect{Rhs} $

◆ cs_anisotropic_right_diffusion_vector()

void cs_anisotropic_right_diffusion_vector ( int idtvar,
int f_id,
const cs_var_cal_opt_t var_cal_opt,
int inc,
cs_real_3_t *restrict pvar,
const cs_real_3_t *restrict pvara,
const cs_real_3_t coefav[],
const cs_real_33_t coefbv[],
const cs_real_3_t cofafv[],
const cs_real_33_t cofbfv[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_6_t *restrict viscel,
const cs_real_2_t weighf[],
const cs_real_t weighb[],
cs_real_3_t *restrict rhs )

Add explicit part of the terms of diffusion by a right-multiplying symmetric tensorial diffusivity for a transport equation of a vector field $ \vect{\varia} $.

More precisely, the right hand side $ \vect{Rhs} $ is updated as follows:

\[\vect{Rhs} = \vect{Rhs} - \sum_{\fij \in \Facei{\celli}}      \left(
     - \gradt_\fij \vect{\varia} \tens{\mu}_\fij  \cdot \vect{S}_\ij  \right)
\]

Warning:

  • $ \vect{Rhs} $ has already been initialized before calling the present function
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]coefavboundary condition array for the variable (explicit part)
[in]coefbvboundary condition array for the variable (implicit part)
[in]cofafvboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfvboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \tens{\mu}_\fij \dfrac{S_\fij}{\ipf\jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viscelsymmetric cell tensor $ \tens{\mu}_\celli $
[in]weighfinternal face weight between cells i j in case of tensor diffusion
[in]weighbboundary face weight for cells i in case of tensor diffusion
[in,out]rhsright hand side $ \vect{Rhs} $

More precisely, the right hand side $ \vect{Rhs} $ is updated as follows:

\[\vect{Rhs} = \vect{Rhs} - \sum_{\fij \in \Facei{\celli}}      \left(
     - \gradt_\fij \vect{\varia} \tens{\mu}_\fij  \cdot \vect{S}_\ij  \right)
\]

Warning:

  • $ \vect{Rhs} $ has already been initialized before calling the present function
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]coefavboundary condition array for the variable (explicit part)
[in]coefbvboundary condition array for the variable (implicit part)
[in]cofafvboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfvboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \tens{\mu}_\fij \dfrac{S_\fij}{\ipf\jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viscelsymmetric cell tensor $ \tens{\mu}_\celli $
[in]weighfinternal face weight between cells i j in case of tensor diffusion
[in]weighbboundary face weight for cells i in case of tensor diffusion
[in,out]rhsright hand side $ \vect{Rhs} $

◆ cs_b_cd_steady()

void cs_b_cd_steady ( const cs_real_t bldfrp,
const double relaxp,
const cs_real_3_t diipb,
const cs_real_3_t gradi,
const cs_real_t pi,
const cs_real_t pia,
cs_real_t * pir,
cs_real_t * pipr )
inlinestatic

Handle preparation of boundary face values for the flux computation in case of a steady algorithm.

Parameters
[in]bldfrpreconstruction blending factor
[in]relaxprelaxation coefficient
[in]diipbdistance I'I'
[in]gradigradient at cell i
[in]pivalue at cell i
[in]piaold value at cell i
[out]pirrelaxed value at cell i
[out]piprrelaxed reconstructed value at cell i

◆ cs_b_cd_steady_tensor()

void cs_b_cd_steady_tensor ( const cs_real_t bldfrp,
const double relaxp,
const cs_real_3_t diipb,
const cs_real_63_t gradi,
const cs_real_6_t pi,
const cs_real_6_t pia,
cs_real_t pir[6],
cs_real_t pipr[6] )
inlinestatic

Handle preparation of boundary face values for the flux computation in case of a steady algorithm.

Parameters
[in]bldfrpreconstruction blending factor
[in]relaxprelaxation coefficient
[in]diipbdistance I'I'
[in]gradigradient at cell i
[in]pivalue at cell i
[in]piaold value at cell i
[out]pirrelaxed value at cell i
[out]piprrelaxed reconstructed value at cell i

◆ cs_b_cd_steady_vector()

void cs_b_cd_steady_vector ( const cs_real_t bldfrp,
const double relaxp,
const cs_real_3_t diipb,
const cs_real_33_t gradi,
const cs_real_3_t pi,
const cs_real_3_t pia,
cs_real_t pir[3],
cs_real_t pipr[3] )
inlinestatic

Handle preparation of boundary face values for the flux computation in case of a steady algorithm.

Parameters
[in]bldfrpreconstruction blending factor
[in]relaxprelaxation coefficient
[in]diipbdistance I'I'
[in]gradigradient at cell i
[in]pivalue at cell i
[in]piaold value at cell i
[out]pirrelaxed value at cell i
[out]piprrelaxed reconstructed value at cell i

◆ cs_b_cd_unsteady()

void cs_b_cd_unsteady ( const cs_real_t bldfrp,
const cs_real_3_t diipb,
const cs_real_3_t gradi,
const cs_real_t pi,
cs_real_t * pip )
inlinestatic

Handle preparation of boundary face values for the flux computation in case of an unsteady algorithm.

Parameters
[in]bldfrpreconstruction blending factor
[in]diipbdistance I'I'
[in]gradigradient at cell i
[in]pivalue at cell i
[out]pipreconstructed value at cell i

◆ cs_b_cd_unsteady_tensor()

void cs_b_cd_unsteady_tensor ( const cs_real_t bldfrp,
const cs_real_3_t diipb,
const cs_real_63_t gradi,
const cs_real_6_t pi,
cs_real_t pip[6] )
inlinestatic

Handle preparation of boundary face values for the flux computation in case of a steady algorithm.

Parameters
[in]bldfrpreconstruction blending factor
[in]diipbdistance I'I'
[in]gradigradient at cell i
[in]pivalue at cell i
[out]pipreconstructed value at cell i

◆ cs_b_cd_unsteady_vector()

void cs_b_cd_unsteady_vector ( const cs_real_t bldfrp,
const cs_real_3_t diipb,
const cs_real_33_t gradi,
const cs_real_3_t pi,
cs_real_t pip[3] )
inlinestatic

Handle preparation of boundary face values for the flux computation in case of a steady algorithm.

Parameters
[in]bldfrpreconstruction blending factor
[in]diipbdistance I'I'
[in]gradigradient at cell i
[in]pivalue at cell i
[out]pipreconstructed value at cell i

◆ cs_b_compute_quantities()

void cs_b_compute_quantities ( const cs_real_3_t diipb,
const cs_real_3_t gradi,
const cs_real_t bldfrp,
cs_real_t * recoi )
inlinestatic

Reconstruct values in I' at boundary cell i.

Parameters
[in]diipbdistance I'I'
[in]gradigradient at cell i
[in]bldfrpreconstruction blending factor
[out]recoireconstruction at cell i

◆ cs_b_compute_quantities_tensor()

void cs_b_compute_quantities_tensor ( const cs_real_3_t diipb,
const cs_real_63_t gradi,
const cs_real_t bldfrp,
cs_real_t recoi[6] )
inlinestatic

Reconstruct values in I' at boundary cell i.

Parameters
[in]diipbdistance I'I'
[in]gradigradient at cell i
[in]bldfrpreconstruction blending factor
[out]recoireconstruction at cell i

◆ cs_b_compute_quantities_vector()

void cs_b_compute_quantities_vector ( const cs_real_3_t diipb,
const cs_real_33_t gradi,
const cs_real_t bldfrp,
cs_real_t recoi[3] )
inlinestatic

Reconstruct values in I' at boundary cell i.

Parameters
[in]diipbdistance I'I'
[in]gradigradient at cell i
[in]bldfrpreconstruction blending factor
[out]recoireconstruction at cell i

◆ cs_b_diff_flux()

void cs_b_diff_flux ( const int idiffp,
const cs_real_t thetap,
const int inc,
const cs_real_t pipr,
const cs_real_t cofafp,
const cs_real_t cofbfp,
const cs_real_t b_visc,
cs_real_t * flux )
inlinestatic

Add diffusive flux to flux at boundary face.

Parameters
[in]idiffpdiffusion flag
[in]thetapweighting coefficient for the theta-schema,
[in]incNot an increment flag
[in]piprrelaxed reconstructed value at cell i
[in]cofafpexplicit boundary coefficient for diffusion operator
[in]cofbfpimplicit boundary coefficient for diffusion operator
[in]b_viscboundary face surface
[in,out]fluxflux at boundary face

◆ cs_b_diff_flux_coupling()

void cs_b_diff_flux_coupling ( int idiffp,
cs_real_t pi,
cs_real_t pj,
cs_real_t b_visc,
cs_real_t * fluxi )
inlinestatic

Add diffusive flux to flux at an internal coupling face.

Parameters
[in]idiffpdiffusion flag
[in]pivalue at cell i
[in]pjvalue at cell j
[in]b_viscequivalent exchange coefficient at an internal coupling face
[in,out]fluxiflux at internal coupling face

◆ cs_b_diff_flux_coupling_vector()

void cs_b_diff_flux_coupling_vector ( int idiffp,
const cs_real_t pi[3],
const cs_real_t pj[3],
cs_real_t b_visc,
cs_real_t fluxi[3] )
inlinestatic

Add diffusive flux to flux at an internal coupling face for a vector.

Parameters
[in]idiffpdiffusion flag
[in]pivalue at cell i
[in]pjvalue at cell j
[in]b_viscequivalent exchange coefficient at an internal coupling face
[in,out]fluxiflux at internal coupling face

◆ cs_b_diff_flux_tensor()

void cs_b_diff_flux_tensor ( const int idiffp,
const cs_real_t thetap,
const int inc,
const cs_real_6_t pipr,
const cs_real_6_t cofaf,
const cs_real_66_t cofbf,
const cs_real_t b_visc,
cs_real_t flux[6] )
inlinestatic

Add diffusive flux to flux at boundary face.

Parameters
[in]idiffpdiffusion flag
[in]thetapweighting coefficient for the theta-schema,
[in]incNot an increment flag
[in]piprrelaxed reconstructed value at cell i
[in]cofafexplicit boundary coefficient for diffusion operator
[in]cofbfimplicit boundary coefficient for diffusion operator
[in]b_viscboundary face surface
[in,out]fluxflux at boundary face

◆ cs_b_diff_flux_vector()

void cs_b_diff_flux_vector ( const int idiffp,
const cs_real_t thetap,
const int inc,
const cs_real_3_t pipr,
const cs_real_3_t cofaf,
const cs_real_33_t cofbf,
const cs_real_t b_visc,
cs_real_t flux[3] )
inlinestatic

Add diffusive flux to flux at boundary face.

Parameters
[in]idiffpdiffusion flag
[in]thetapweighting coefficient for the theta-schema,
[in]incNot an increment flag
[in]piprrelaxed reconstructed value at cell i
[in]cofafexplicit boundary coefficient for diffusion operator
[in]cofbfimplicit boundary coefficient for diffusion operator
[in]b_viscboundary face surface
[in,out]fluxflux at boundary face

◆ cs_b_imposed_conv_flux()

void cs_b_imposed_conv_flux ( int iconvp,
cs_real_t thetap,
int imasac,
int inc,
int bc_type,
int icvfli,
cs_real_t pi,
cs_real_t pir,
cs_real_t pipr,
cs_real_t coefap,
cs_real_t coefbp,
cs_real_t coface,
cs_real_t cofbce,
cs_real_t b_massflux,
cs_real_t xcpp,
cs_real_t * flux )
inlinestatic

Add convective flux (substracting the mass accumulation from it) to flux at boundary face. The convective flux can be either an upwind flux or an imposed value.

Parameters
[in]iconvpconvection flag
[in]thetapweighting coefficient for the theta-schema,
[in]imasactake mass accumulation into account?
[in]incNot an increment flag
[in]bc_typetype of boundary face
[in]icvfliimposed convective flux flag
[in]pivalue at cell i
[in]pirrelaxed value at cell i
[in]piprrelaxed reconstructed value at cell i
[in]coefapexplicit boundary coefficient for convection operator
[in]coefbpimplicit boundary coefficient for convection operator
[in]cofaceexplicit imposed convective flux value (0 otherwise).
[in]cofbceimplicit part of imp. conv. flux value
[in]b_massfluxmass flux at boundary face
[in]xcppspecific heat value if the scalar is the temperature, 1 otherwise
[in,out]fluxflux at boundary face

◆ cs_b_imposed_conv_flux_vector()

void cs_b_imposed_conv_flux_vector ( int iconvp,
cs_real_t thetap,
int imasac,
int inc,
int bc_type,
int icvfli,
const cs_real_t pi[restrict 3],
const cs_real_t pir[restrict 3],
const cs_real_t pipr[restrict 3],
const cs_real_t coefap[restrict 3],
const cs_real_t coefbp[restrict 3][3],
const cs_real_t coface[restrict 3],
const cs_real_t cofbce[restrict 3][3],
cs_real_t b_massflux,
cs_real_t flux[restrict 3] )
inlinestatic

Add convective flux (substracting the mass accumulation from it) to flux at boundary face. The convective flux can be either an upwind flux or an imposed value.

Parameters
[in]iconvpconvection flag
[in]thetapweighting coefficient for the theta-schema,
[in]imasactake mass accumulation into account?
[in]incNot an increment flag
[in]bc_typetype of boundary face
[in]icvfliimposed convective flux flag
[in]pivalue at cell i
[in]pirrelaxed value at cell i
[in]piprrelaxed reconstructed value at cell i
[in]coefapexplicit boundary coefficient for convection operator
[in]coefbpimplicit boundary coefficient for convection operator
[in]cofaceexplicit imposed convective flux value (0 otherwise).
[in]cofbceimplicit part of imp. conv. flux value
[in]b_massfluxmass flux at boundary face
[in,out]fluxflux at boundary face

◆ cs_b_relax_c_val()

void cs_b_relax_c_val ( const double relaxp,
const cs_real_t pi,
const cs_real_t pia,
const cs_real_t recoi,
cs_real_t * pir,
cs_real_t * pipr )
inlinestatic

Compute relaxed values at boundary cell i.

Parameters
[in]relaxprelaxation coefficient
[in]pivalue at cell i
[in]piaold value at cell i
[in]recoireconstruction at cell i
[out]pirrelaxed value at cell i
[out]piprrelaxed reconstructed value at cell i

◆ cs_b_relax_c_val_tensor()

void cs_b_relax_c_val_tensor ( const double relaxp,
const cs_real_6_t pi,
const cs_real_6_t pia,
const cs_real_6_t recoi,
cs_real_t pir[6],
cs_real_t pipr[6] )
inlinestatic

Compute relaxed values at boundary cell i.

Parameters
[in]relaxprelaxation coefficient
[in]pivalue at cell i
[in]piaold value at cell i
[in]recoireconstruction at cell i
[out]pirrelaxed value at cell i
[out]piprrelaxed reconstructed value at cell i

◆ cs_b_relax_c_val_vector()

void cs_b_relax_c_val_vector ( const double relaxp,
const cs_real_3_t pi,
const cs_real_3_t pia,
const cs_real_3_t recoi,
cs_real_t pir[3],
cs_real_t pipr[3] )
inlinestatic

Compute relaxed values at boundary cell i.

Parameters
[in]relaxprelaxation coefficient
[in]pivalue at cell i
[in]piaold value at cell i
[in]recoireconstruction at cell i
[out]pirrelaxed value at cell i
[out]piprrelaxed reconstructed value at cell i

◆ cs_b_upwind_flux()

void cs_b_upwind_flux ( const int iconvp,
const cs_real_t thetap,
const int imasac,
const int inc,
const int bc_type,
const cs_real_t pi,
const cs_real_t pir,
const cs_real_t pipr,
const cs_real_t coefap,
const cs_real_t coefbp,
const cs_real_t b_massflux,
const cs_real_t xcpp,
cs_real_t * flux )
inlinestatic

Add convective flux (substracting the mass accumulation from it) to flux at boundary face. The convective flux is a pure upwind flux.

Parameters
[in]iconvpconvection flag
[in]thetapweighting coefficient for the theta-schema,
[in]imasactake mass accumulation into account?
[in]incNot an increment flag
[in]bc_typetype of boundary face
[in]pivalue at cell i
[in]pirrelaxed value at cell i
[in]piprrelaxed reconstructed value at cell i
[in]coefapexplicit boundary coefficient for convection operator
[in]coefbpimplicit boundary coefficient for convection operator
[in]b_massfluxmass flux at boundary face
[in]xcppspecific heat value if the scalar is the temperature, 1 otherwise
[in,out]fluxflux at boundary face

◆ cs_b_upwind_flux_tensor()

void cs_b_upwind_flux_tensor ( const int iconvp,
const cs_real_t thetap,
const int imasac,
const int inc,
const int bc_type,
const cs_real_6_t pi,
const cs_real_6_t pir,
const cs_real_6_t pipr,
const cs_real_6_t coefa,
const cs_real_66_t coefb,
const cs_real_t b_massflux,
cs_real_t flux[6] )
inlinestatic

Add convective flux (substracting the mass accumulation from it) to flux at boundary face. The convective flux is a pure upwind flux.

Parameters
[in]iconvpconvection flag
[in]thetapweighting coefficient for the theta-schema,
[in]imasactake mass accumulation into account?
[in]incNot an increment flag
[in]bc_typetype of boundary face
[in]pivalue at cell i
[in]pirrelaxed value at cell i
[in]piprrelaxed reconstructed value at cell i
[in]coefaexplicit boundary coefficient for convection operator
[in]coefbimplicit boundary coefficient for convection operator
[in]b_massfluxmass flux at boundary face
[in,out]fluxflux at boundary face

◆ cs_b_upwind_flux_vector()

void cs_b_upwind_flux_vector ( const int iconvp,
const cs_real_t thetap,
const int imasac,
const int inc,
const int bc_type,
const cs_real_3_t pi,
const cs_real_3_t pir,
const cs_real_3_t pipr,
const cs_real_3_t coefa,
const cs_real_33_t coefb,
const cs_real_t b_massflux,
cs_real_t flux[3] )
inlinestatic

Add convective flux (substracting the mass accumulation from it) to flux at boundary face. The convective flux is a pure upwind flux.

Parameters
[in]iconvpconvection flag
[in]thetapweighting coefficient for the theta-schema,
[in]imasactake mass accumulation into account?
[in]incNot an increment flag
[in]bc_typetype of boundary face
[in]pivalue at cell i
[in]pirrelaxed value at cell i
[in]piprrelaxed reconstructed value at cell i
[in]coefaexplicit boundary coefficient for convection operator
[in]coefbimplicit boundary coefficient for convection operator
[in]b_massfluxmass flux at boundary face
[in,out]fluxflux at boundary face

◆ cs_beta_limiter_building()

void cs_beta_limiter_building ( int f_id,
int inc,
const cs_real_t rovsdt[] )

Compute the beta blending coefficient of the beta limiter (ensuring preservation of a given min/max pair of values).

Parameters
[in]f_idfield id
[in]inc"not an increment" flag
[in]rovsdtrho * volume / dt

◆ cs_blend_f_val()

void cs_blend_f_val ( const double blencp,
const cs_real_t p,
cs_real_t * pf )
inlinestatic

Blend face values for a centered or SOLU scheme with face values for an upwind scheme.

Parameters
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]p(relaxed) value at cell
[out]pfface value

◆ cs_blend_f_val_tensor()

void cs_blend_f_val_tensor ( const double blencp,
const cs_real_t p[6],
cs_real_t pf[6] )
inlinestatic

Blend face values for a centered or SOLU scheme with face values for an upwind scheme.

Parameters
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]p(relaxed) value at cell
[out]pfface value

◆ cs_blend_f_val_vector()

void cs_blend_f_val_vector ( const double blencp,
const cs_real_3_t p,
cs_real_t pf[3] )
inlinestatic

Blend face values for a centered or SOLU scheme with face values for an upwind scheme.

Parameters
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]p(relaxed) value at cell
[in,out]pfface value

◆ cs_cell_courant_number()

void cs_cell_courant_number ( const int f_id,
cs_real_t * courant )

◆ cs_centered_f_val()

void cs_centered_f_val ( const double pnd,
const cs_real_t pip,
const cs_real_t pjp,
cs_real_t * pf )
inlinestatic

Prepare value at face ij by using a centered scheme.

Parameters
[in]pndweight
[in]pip(relaxed) reconstructed value at cell i
[in]pjp(relaxed) reconstructed value at cell j
[out]pfface value

◆ cs_centered_f_val_tensor()

void cs_centered_f_val_tensor ( const double pnd,
const cs_real_6_t pip,
const cs_real_6_t pjp,
cs_real_t pf[6] )
inlinestatic

Prepare value at face ij by using a centered scheme.

Parameters
[in]pndweight
[in]pip(relaxed) reconstructed value at cell i
[in]pjp(relaxed) reconstructed value at cell j
[out]pfface value

◆ cs_centered_f_val_vector()

void cs_centered_f_val_vector ( const double pnd,
const cs_real_3_t pip,
const cs_real_3_t pjp,
cs_real_t pf[3] )
inlinestatic

Prepare value at face ij by using a centered scheme.

Parameters
[in]pndweight
[in]pip(relaxed) reconstructed value at cell i
[in]pjp(relaxed) reconstructed value at cell j
[out]pfface value

◆ cs_central_downwind_cells()

void cs_central_downwind_cells ( const cs_lnum_t ii,
const cs_lnum_t jj,
const cs_real_t i_massflux,
cs_lnum_t * ic,
cs_lnum_t * id )
inlinestatic

Determine the upwind and downwind sides of an internal face and matching cell indices.

Parameters
[in]iiindex of cell (0)
[in]jjindex of cell (1)
[in]i_massfluxmass flux at face ij
[out]icindex of central cell (upwind w.r.t. the face)
[out]idindex of downwind cell

◆ cs_convection_diffusion_scalar()

void cs_convection_diffusion_scalar ( int idtvar,
int f_id,
const cs_var_cal_opt_t var_cal_opt,
int icvflb,
int inc,
int imasac,
cs_real_t *restrict pvar,
const cs_real_t *restrict pvara,
const int icvfli[],
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t cofafp[],
const cs_real_t cofbfp[],
const cs_real_t i_massflux[],
const cs_real_t b_massflux[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_t *restrict rhs )

Add the explicit part of the convection/diffusion terms of a standard transport equation of a scalar field $ \varia $.

More precisely, the right hand side $ Rhs $ is updated as follows:

\[Rhs = Rhs - \sum_{\fij \in \Facei{\celli}}      \left(
       \dot{m}_\ij \left( \varia_\fij - \varia_\celli \right)
     - \mu_\fij \gradv_\fij \varia \cdot \vect{S}_\ij  \right)
\]

Warning:

  • $ Rhs $ has already been initialized before calling bilsc2!
  • mind the sign minus

Please refer to the bilsc2 section of the theory guide for more informations.

Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idfield id (or -1)
[in]var_cal_optvariable calculation options
[in]icvflbglobal indicator of boundary convection flux
  • 0 upwind scheme at all boundary faces
  • 1 imposed flux at some boundary faces
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imasactake mass accumulation into account?
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]icvfliboundary face indicator array of convection flux
  • 0 upwind scheme
  • 1 imposed flux
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_massfluxmass flux at interior faces
[in]b_massfluxmass flux at boundary faces
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in,out]rhsright hand side $ \vect{Rhs} $

More precisely, the right hand side $ Rhs $ is updated as follows:

\[Rhs = Rhs - \sum_{\fij \in \Facei{\celli}}      \left(
       \dot{m}_\ij \left( \varia_\fij - \varia_\celli \right)
     - \mu_\fij \gradv_\fij \varia \cdot \vect{S}_\ij  \right)
\]

Warning:

  • $ Rhs $ has already been initialized before calling bilsc2!
  • mind the sign minus

Please refer to the bilsc2 section of the theory guide for more informations.

Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idfield id (or -1)
[in]var_cal_optvariable calculation options
[in]icvflbglobal indicator of boundary convection flux
  • 0 upwind scheme at all boundary faces
  • 1 imposed flux at some boundary faces
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imasactake mass accumulation into account?
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]icvfliboundary face indicator array of convection flux
  • 0 upwind scheme
  • 1 imposed flux
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_massfluxmass flux at interior faces
[in]b_massfluxmass flux at boundary faces
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in,out]rhsright hand side $ \vect{Rhs} $

◆ cs_convection_diffusion_tensor()

void cs_convection_diffusion_tensor ( int idtvar,
int f_id,
const cs_var_cal_opt_t var_cal_opt,
int icvflb,
int inc,
int imasac,
cs_real_6_t *restrict pvar,
const cs_real_6_t *restrict pvara,
const cs_real_6_t coefa[],
const cs_real_66_t coefb[],
const cs_real_6_t cofaf[],
const cs_real_66_t cofbf[],
const cs_real_t i_massflux[],
const cs_real_t b_massflux[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_6_t *restrict rhs )

Add the explicit part of the convection/diffusion terms of a transport equation of a vector field $ \vect{\varia} $.

More precisely, the right hand side $ \vect{Rhs} $ is updated as follows:

\[ \vect{Rhs} = \vect{Rhs} - \sum_{\fij \in \Facei{\celli}}      \left(
        \dot{m}_\ij \left( \vect{\varia}_\fij - \vect{\varia}_\celli \right)
      - \mu_\fij \gradt_\fij \vect{\varia} \cdot \vect{S}_\ij  \right)
\]

Warning:

  • $ \vect{Rhs} $ has already been initialized before calling bilsc!
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]icvflbglobal indicator of boundary convection flux
  • 0 upwind scheme at all boundary faces
  • 1 imposed flux at some boundary faces
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imasactake mass accumulation into account?
[in]pvarsolved velocity (current time step)
[in]pvarasolved velocity (previous time step)
[in]coefaboundary condition array for the variable (Explicit part)
[in]coefbboundary condition array for the variable (Implicit part)
[in]cofafboundary condition array for the diffusion of the variable (Explicit part)
[in]cofbfboundary condition array for the diffusion of the variable (Implicit part)
[in]i_massfluxmass flux at interior faces
[in]b_massfluxmass flux at boundary faces
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in,out]rhsright hand side $ \vect{Rhs} $

More precisely, the right hand side $ \vect{Rhs} $ is updated as follows:

\[ \vect{Rhs} = \vect{Rhs} - \sum_{\fij \in \Facei{\celli}}      \left(
        \dot{m}_\ij \left( \vect{\varia}_\fij - \vect{\varia}_\celli \right)
      - \mu_\fij \gradt_\fij \vect{\varia} \cdot \vect{S}_\ij  \right)
\]

Warning:

  • $ \vect{Rhs} $ has already been initialized before calling bilsc!
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]icvflbglobal indicator of boundary convection flux
  • 0 upwind scheme at all boundary faces
  • 1 imposed flux at some boundary faces
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imasactake mass accumulation into account?
[in]pvarsolved velocity (current time step)
[in]pvarasolved velocity (previous time step)
[in]coefaboundary condition array for the variable (Explicit part)
[in]coefbboundary condition array for the variable (Implicit part)
[in]cofafboundary condition array for the diffusion of the variable (Explicit part)
[in]cofbfboundary condition array for the diffusion of the variable (Implicit part)
[in]i_massfluxmass flux at interior faces
[in]b_massfluxmass flux at boundary faces
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in,out]rhsright hand side $ \vect{Rhs} $

◆ cs_convection_diffusion_thermal()

void cs_convection_diffusion_thermal ( int idtvar,
int f_id,
const cs_var_cal_opt_t var_cal_opt,
int inc,
int imasac,
cs_real_t *restrict pvar,
const cs_real_t *restrict pvara,
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t cofafp[],
const cs_real_t cofbfp[],
const cs_real_t i_massflux[],
const cs_real_t b_massflux[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
const cs_real_t xcpp[],
cs_real_t *restrict rhs )

Add the explicit part of the convection/diffusion terms of a transport equation of a scalar field $ \varia $ such as the temperature.

More precisely, the right hand side $ Rhs $ is updated as follows:

\[Rhs = Rhs + \sum_{\fij \in \Facei{\celli}}      \left(
       C_p\dot{m}_\ij \varia_\fij
     - \lambda_\fij \gradv_\fij \varia \cdot \vect{S}_\ij  \right)
\]

Warning: $ Rhs $ has already been initialized before calling bilsct!

Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imasactake mass accumulation into account?
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_massfluxmass flux at interior faces
[in]b_massfluxmass flux at boundary faces
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]xcpparray of specific heat ( $ C_p $)
[in,out]rhsright hand side $ \vect{Rhs} $

More precisely, the right hand side $ Rhs $ is updated as follows:

\[Rhs = Rhs + \sum_{\fij \in \Facei{\celli}}      \left(
       C_p\dot{m}_\ij \varia_\fij
     - \lambda_\fij \gradv_\fij \varia \cdot \vect{S}_\ij  \right)
\]

Warning: $ Rhs $ has already been initialized before calling bilsct!

Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imasactake mass accumulation into account?
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_massfluxmass flux at interior faces
[in]b_massfluxmass flux at boundary faces
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]xcpparray of specific heat ( $ C_p $)
[in,out]rhsright hand side $ \vect{Rhs} $

◆ cs_convection_diffusion_vector()

void cs_convection_diffusion_vector ( int idtvar,
int f_id,
const cs_var_cal_opt_t var_cal_opt,
int icvflb,
int inc,
int ivisep,
int imasac,
cs_real_3_t *restrict pvar,
const cs_real_3_t *restrict pvara,
const int icvfli[],
const cs_real_3_t coefav[],
const cs_real_33_t coefbv[],
const cs_real_3_t cofafv[],
const cs_real_33_t cofbfv[],
const cs_real_t i_massflux[],
const cs_real_t b_massflux[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
const cs_real_t i_secvis[],
const cs_real_t b_secvis[],
cs_real_3_t *restrict rhs )

Add the explicit part of the convection/diffusion terms of a transport equation of a vector field $ \vect{\varia} $.

More precisely, the right hand side $ \vect{Rhs} $ is updated as follows:

\[ \vect{Rhs} = \vect{Rhs} - \sum_{\fij \in \Facei{\celli}}      \left(
        \dot{m}_\ij \left( \vect{\varia}_\fij - \vect{\varia}_\celli \right)
      - \mu_\fij \gradt_\fij \vect{\varia} \cdot \vect{S}_\ij  \right)
\]

Remark: if ivisep = 1, then we also take $ \mu \transpose{\gradt\vect{\varia}}
+ \lambda \trace{\gradt\vect{\varia}} $, where $ \lambda $ is the secondary viscosity, i.e. usually $ -\frac{2}{3} \mu $.

Warning:

  • $ \vect{Rhs} $ has already been initialized before calling bilsc!
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]icvflbglobal indicator of boundary convection flux
  • 0 upwind scheme at all boundary faces
  • 1 imposed flux at some boundary faces
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]ivisepindicator to take $ \divv
                              \left(\mu \gradt \transpose{\vect{a}} \right)
                              -2/3 \grad\left( \mu \dive \vect{a} \right)$
  • 1 take into account,
  • 0 otherwise
[in]imasactake mass accumulation into account?
[in]pvarsolved velocity (current time step)
[in]pvarasolved velocity (previous time step)
[in]icvfliboundary face indicator array of convection flux
  • 0 upwind scheme
  • 1 imposed flux
[in]coefavboundary condition array for the variable (explicit part)
[in]coefbvboundary condition array for the variable (implicit part)
[in]cofafvboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfvboundary condition array for the diffusion of the variable (implicit part)
[in]i_massfluxmass flux at interior faces
[in]b_massfluxmass flux at boundary faces
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]i_secvissecondary viscosity at interior faces
[in]b_secvissecondary viscosity at boundary faces
[in,out]rhsright hand side $ \vect{Rhs} $

More precisely, the right hand side $ \vect{Rhs} $ is updated as follows:

\[ \vect{Rhs} = \vect{Rhs} - \sum_{\fij \in \Facei{\celli}}      \left(
        \dot{m}_\ij \left( \vect{\varia}_\fij - \vect{\varia}_\celli \right)
      - \mu_\fij \gradt_\fij \vect{\varia} \cdot \vect{S}_\ij  \right)
\]

Remark: if ivisep = 1, then we also take $ \mu \transpose{\gradt\vect{\varia}}
+ \lambda \trace{\gradt\vect{\varia}} $, where $ \lambda $ is the secondary viscosity, i.e. usually $ -\frac{2}{3} \mu $.

Warning:

  • $ \vect{Rhs} $ has already been initialized before calling bilsc!
  • mind the sign minus
Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idindex of the current variable
[in]var_cal_optvariable calculation options
[in]icvflbglobal indicator of boundary convection flux
  • 0 upwind scheme at all boundary faces
  • 1 imposed flux at some boundary faces
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]ivisepindicator to take $ \divv
                              \left(\mu \gradt \transpose{\vect{a}} \right)
                              -2/3 \grad\left( \mu \dive \vect{a} \right)$
  • 1 take into account,
  • 0 otherwise
[in]imasactake mass accumulation into account?
[in]pvarsolved velocity (current time step)
[in]pvarasolved velocity (previous time step)
[in]icvfliboundary face indicator array of convection flux
  • 0 upwind scheme
  • 1 imposed flux
[in]coefavboundary condition array for the variable (explicit part)
[in]coefbvboundary condition array for the variable (implicit part)
[in]cofafvboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfvboundary condition array for the diffusion of the variable (implicit part)
[in]i_massfluxmass flux at interior faces
[in]b_massfluxmass flux at boundary faces
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]i_secvissecondary viscosity at interior faces
[in]b_secvissecondary viscosity at boundary faces
[in,out]rhsright hand side $ \vect{Rhs} $

◆ cs_diffusion_potential()

void cs_diffusion_potential ( const int f_id,
const cs_mesh_t * m,
cs_mesh_quantities_t * fvq,
int init,
int inc,
int imrgra,
int nswrgp,
int imligp,
int iphydp,
int iwgrp,
int iwarnp,
double epsrgp,
double climgp,
cs_real_3_t *restrict frcxt,
cs_real_t *restrict pvar,
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t cofafp[],
const cs_real_t cofbfp[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_t visel[],
cs_real_t *restrict diverg )

Update the cell mass flux divergence with the face pressure (or pressure increment, or pressure double increment) gradient.

\[\dot{m}_\ij = \dot{m}_\ij
            - \sum_j \Delta t \grad_\fij p \cdot \vect{S}_\ij
\]

Parameters
[in]f_idfield id (or -1)
[in]mpointer to mesh
[in]fvqpointer to finite volume quantities
[in]initindicator
  • 1 initialize the mass flux to 0
  • 0 otherwise
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imrgraindicator
  • 0 iterative gradient
  • 1 least squares gradient
[in]nswrgpnumber of reconstruction sweeps for the gradients
[in]imligpclipping gradient method
  • < 0 no clipping
  • = 0 thank to neighbooring gradients
  • = 1 thank to the mean gradient
[in]iphydphydrostatic pressure indicator
[in]iwarnpverbosity
[in]iwgrpindicator
  • 1 weight gradient by vicosity*porosity
  • weighting determined by field options
[in]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]frcxtbody force creating the hydrostatic pressure
[in]pvarsolved variable (current time step)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viselviscosity by cell
[in,out]divergmass flux divergence

\[\dot{m}_\ij = \dot{m}_\ij
            - \sum_j \Delta t \grad_\fij p \cdot \vect{S}_\ij
\]

Parameters
[in]f_idfield id (or -1)
[in]mpointer to mesh
[in]fvqpointer to finite volume quantities
[in]initindicator
  • 1 initialize the mass flux to 0
  • 0 otherwise
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imrgraindicator
  • 0 iterative gradient
  • 1 least squares gradient
[in]nswrgpnumber of reconstruction sweeps for the gradients
[in]imligpclipping gradient method
  • < 0 no clipping
  • = 0 thank to neighbooring gradients
  • = 1 thank to the mean gradient
[in]iphydphydrostatic pressure indicator
[in]iwarnpverbosity
[in]iwgrpindicator
  • 1 weight gradient by vicosity*porosity
  • weighting determined by field options
[in]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]frcxtbody force creating the hydrostatic pressure
[in]pvarsolved variable (current time step)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viselviscosity by cell
[in,out]divergmass flux divergence

◆ cs_face_anisotropic_diffusion_potential()

void cs_face_anisotropic_diffusion_potential ( const int f_id,
const cs_mesh_t * m,
cs_mesh_quantities_t * fvq,
int init,
int inc,
int imrgra,
int nswrgp,
int imligp,
int ircflp,
int iphydp,
int iwgrp,
int iwarnp,
double epsrgp,
double climgp,
cs_real_3_t *restrict frcxt,
cs_real_t *restrict pvar,
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t cofafp[],
const cs_real_t cofbfp[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_6_t *restrict viscel,
const cs_real_2_t weighf[],
const cs_real_t weighb[],
cs_real_t *restrict i_massflux,
cs_real_t *restrict b_massflux )

Add the explicit part of the pressure gradient term to the mass flux in case of anisotropic diffusion of the pressure field $ P $.

More precisely, the mass flux side $ \dot{m}_\fij $ is updated as follows:

\[\dot{m}_\fij = \dot{m}_\fij -
             \left( \tens{\mu}_\fij \gradv_\fij P \cdot \vect{S}_\ij  \right)
\]

Parameters
[in]f_idfield id (or -1)
[in]mpointer to mesh
[in]fvqpointer to finite volume quantities
[in]initindicator
  • 1 initialize the mass flux to 0
  • 0 otherwise
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imrgraindicator
  • 0 iterative gradient
  • 1 least squares gradient
[in]nswrgpnumber of reconstruction sweeps for the gradients
[in]imligpclipping gradient method
  • < 0 no clipping
  • = 0 thank to neighbooring gradients
  • = 1 thank to the mean gradient
[in]ircflpindicator
  • 1 flux reconstruction,
  • 0 otherwise
[in]iphydpindicator
  • 1 hydrostatic pressure taken into account
  • 0 otherwise
[in]iwgrpindicator
  • 1 weight gradient by vicosity*porosity
  • weighting determined by field options
[in]iwarnpverbosity
[in]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]frcxtbody force creating the hydrostatic pressure
[in]pvarsolved variable (pressure)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viscelsymmetric cell tensor $ \tens{\mu}_\celli $
[in]weighfinternal face weight between cells i j in case of tensor diffusion
[in]weighbboundary face weight for cells i in case of tensor diffusion
[in,out]i_massfluxmass flux at interior faces
[in,out]b_massfluxmass flux at boundary faces

More precisely, the mass flux side $ \dot{m}_\fij $ is updated as follows:

\[\dot{m}_\fij = \dot{m}_\fij -
             \left( \tens{\mu}_\fij \gradv_\fij P \cdot \vect{S}_\ij  \right)
\]

Parameters
[in]f_idfield id (or -1)
[in]mpointer to mesh
[in]fvqpointer to finite volume quantities
[in]initindicator
  • 1 initialize the mass flux to 0
  • 0 otherwise
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imrgraindicator
  • 0 iterative gradient
  • 1 least squares gradient
[in]nswrgpnumber of reconstruction sweeps for the gradients
[in]imligpclipping gradient method
  • < 0 no clipping
  • = 0 thank to neighbooring gradients
  • = 1 thank to the mean gradient
[in]ircflpindicator
  • 1 flux reconstruction,
  • 0 otherwise
[in]iphydpindicator
  • 1 hydrostatic pressure taken into account
  • 0 otherwise
[in]iwgrpindicator
  • 1 weight gradient by vicosity*porosity
  • weighting determined by field options
[in]iwarnpverbosity
[in]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]frcxtbody force creating the hydrostatic pressure
[in]pvarsolved variable (pressure)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viscelsymmetric cell tensor $ \tens{\mu}_\celli $
[in]weighfinternal face weight between cells i j in case of tensor diffusion
[in]weighbboundary face weight for cells i in case of tensor diffusion
[in,out]i_massfluxmass flux at interior faces
[in,out]b_massfluxmass flux at boundary faces

◆ cs_face_convection_scalar()

void cs_face_convection_scalar ( int idtvar,
int f_id,
const cs_var_cal_opt_t var_cal_opt,
int icvflb,
int inc,
int imasac,
cs_real_t *restrict pvar,
const cs_real_t *restrict pvara,
const int icvfli[],
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t i_massflux[],
const cs_real_t b_massflux[],
cs_real_2_t i_conv_flux[],
cs_real_t b_conv_flux[] )

Update face flux with convection contribution of a standard transport equation of a scalar field $ \varia $.

\[C_\ij = \dot{m}_\ij \left( \varia_\fij - \varia_\celli \right)
\]

Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idfield id (or -1)
[in]var_cal_optvariable calculation options
[in]icvflbglobal indicator of boundary convection flux
  • 0 upwind scheme at all boundary faces
  • 1 imposed flux at some boundary faces
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imasactake mass accumulation into account?
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]icvfliboundary face indicator array of convection flux
  • 0 upwind scheme
  • 1 imposed flux
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]i_massfluxmass flux at interior faces
[in]b_massfluxmass flux at boundary faces
[in,out]i_conv_fluxscalar convection flux at interior faces
[in,out]b_conv_fluxscalar convection flux at boundary faces

\[C_\ij = \dot{m}_\ij \left( \varia_\fij - \varia_\celli \right)
\]

Parameters
[in]idtvarindicator of the temporal scheme
[in]f_idfield id (or -1)
[in]var_cal_optvariable calculation options
[in]icvflbglobal indicator of boundary convection flux
  • 0 upwind scheme at all boundary faces
  • 1 imposed flux at some boundary faces
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imasactake mass accumulation into account?
[in]pvarsolved variable (current time step)
[in]pvarasolved variable (previous time step)
[in]icvfliboundary face indicator array of convection flux
  • 0 upwind scheme
  • 1 imposed flux
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]i_massfluxmass flux at interior faces
[in]b_massfluxmass flux at boundary faces
[in,out]i_conv_fluxscalar convection flux at interior faces
[in,out]b_conv_fluxscalar convection flux at boundary faces

◆ cs_face_diffusion_potential()

void cs_face_diffusion_potential ( const int f_id,
const cs_mesh_t * m,
cs_mesh_quantities_t * fvq,
int init,
int inc,
int imrgra,
int nswrgp,
int imligp,
int iphydp,
int iwgrp,
int iwarnp,
double epsrgp,
double climgp,
cs_real_3_t *restrict frcxt,
cs_real_t *restrict pvar,
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t cofafp[],
const cs_real_t cofbfp[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_t *restrict visel,
cs_real_t *restrict i_massflux,
cs_real_t *restrict b_massflux )

Update the face mass flux with the face pressure (or pressure increment, or pressure double increment) gradient.

\[\dot{m}_\ij = \dot{m}_\ij
            - \Delta t \grad_\fij \delta p \cdot \vect{S}_\ij
\]

Please refer to the itrmas/itrgrp section of the theory guide for more information.

Parameters
[in]f_idfield id (or -1)
[in]mpointer to mesh
[in]fvqpointer to finite volume quantities
[in]initindicator
  • 1 initialize the mass flux to 0
  • 0 otherwise
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imrgraindicator
  • 0 iterative gradient
  • 1 least squares gradient
[in]nswrgpnumber of reconstruction sweeps for the gradients
[in]imligpclipping gradient method
  • < 0 no clipping
  • = 0 thank to neighbooring gradients
  • = 1 thank to the mean gradient
[in]iphydphydrostatic pressure indicator
[in]iwgrpindicator
  • 1 weight gradient by vicosity*porosity
  • weighting determined by field options
[in]iwarnpverbosity
[in]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]frcxtbody force creating the hydrostatic pressure
[in]pvarsolved variable (current time step)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viselviscosity by cell
[in,out]i_massfluxmass flux at interior faces
[in,out]b_massfluxmass flux at boundary faces

\[\dot{m}_\ij = \dot{m}_\ij
            - \Delta t \grad_\fij \delta p \cdot \vect{S}_\ij
\]

Please refer to the itrmas/itrgrp section of the theory guide for more information.

Parameters
[in]f_idfield id (or -1)
[in]mpointer to mesh
[in]fvqpointer to finite volume quantities
[in]initindicator
  • 1 initialize the mass flux to 0
  • 0 otherwise
[in]incindicator
  • 0 when solving an increment
  • 1 otherwise
[in]imrgraindicator
  • 0 iterative gradient
  • 1 least squares gradient
[in]nswrgpnumber of reconstruction sweeps for the gradients
[in]imligpclipping gradient method
  • < 0 no clipping
  • = 0 thank to neighbooring gradients
  • = 1 thank to the mean gradient
[in]iphydphydrostatic pressure indicator
[in]iwgrpindicator
  • 1 weight gradient by vicosity*porosity
  • weighting determined by field options
[in]iwarnpverbosity
[in]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]frcxtbody force creating the hydrostatic pressure
[in]pvarsolved variable (current time step)
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]cofafpboundary condition array for the diffusion of the variable (explicit part)
[in]cofbfpboundary condition array for the diffusion of the variable (implicit part)
[in]i_visc$ \mu_\fij \dfrac{S_\fij}{\ipf \jpf} $ at interior faces for the r.h.s.
[in]b_visc$ \mu_\fib \dfrac{S_\fib}{\ipf \centf} $ at border faces for the r.h.s.
[in]viselviscosity by cell
[in,out]i_massfluxmass flux at interior faces
[in,out]b_massfluxmass flux at boundary faces

◆ cs_get_v_slope_test()

cs_real_t * cs_get_v_slope_test ( int f_id,
const cs_var_cal_opt_t var_cal_opt )

◆ cs_i_cd_steady()

void cs_i_cd_steady ( const cs_real_t bldfrp,
const int ischcp,
const double relaxp,
const double blencp,
const cs_real_t weight,
const cs_real_t cell_ceni[3],
const cs_real_t cell_cenj[3],
const cs_real_t i_face_cog[3],
const cs_real_t diipf[3],
const cs_real_t djjpf[3],
const cs_real_t gradi[3],
const cs_real_t gradj[3],
const cs_real_t gradupi[3],
const cs_real_t gradupj[3],
const cs_real_t pi,
const cs_real_t pj,
const cs_real_t pia,
const cs_real_t pja,
cs_real_t * pifri,
cs_real_t * pifrj,
cs_real_t * pjfri,
cs_real_t * pjfrj,
cs_real_t * pip,
cs_real_t * pjp,
cs_real_t * pipr,
cs_real_t * pjpr )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and without enabling slope tests.

Parameters
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]weightgeometrical weight
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell i
[in]i_face_cogcenter of gravity coordinates of face ij
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]gradupigradient upwind at cell i
[in]gradupjgradient upwind at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[in]piaold value at cell i
[in]pjaold value at cell j
[out]pifricontribution of i to flux from i to j
[out]pifrjcontribution of i to flux from j to i
[out]pjfricontribution of j to flux from i to j
[out]pjfrjcontribution of j to flux from j to i
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_i_cd_steady_slope_test()

void cs_i_cd_steady_slope_test ( bool * upwind_switch,
const int iconvp,
const cs_real_t bldfrp,
const int ischcp,
const double relaxp,
const double blencp,
const double blend_st,
const cs_real_t weight,
const cs_real_t i_dist,
const cs_real_t i_face_surf,
const cs_real_3_t cell_ceni,
const cs_real_3_t cell_cenj,
const cs_real_3_t i_face_normal,
const cs_real_3_t i_face_cog,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_t i_massflux,
const cs_real_3_t gradi,
const cs_real_3_t gradj,
const cs_real_3_t gradupi,
const cs_real_3_t gradupj,
const cs_real_3_t gradsti,
const cs_real_3_t gradstj,
const cs_real_t pi,
const cs_real_t pj,
const cs_real_t pia,
const cs_real_t pja,
cs_real_t * pifri,
cs_real_t * pifrj,
cs_real_t * pjfri,
cs_real_t * pjfrj,
cs_real_t * pip,
cs_real_t * pjp,
cs_real_t * pipr,
cs_real_t * pjpr )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and using slope tests.

Parameters
[out]upwind_switchslope test result
[in]iconvpconvection flag
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]blend_stproportion of centered or SOLU scheme, when the slope test is activated (1-blend_st) is the proportion of upwind.
[in]weightgeometrical weight
[in]i_distdistance IJ.Nij
[in]i_face_surfface surface
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell j
[in]i_face_normalface normal
[in]i_face_cogcenter of gravity coordinates of face ij
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]i_massfluxmass flux at face ij
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]gradupiupwind gradient at cell i
[in]gradupjupwind gradient at cell j
[in]gradstislope test gradient at cell i
[in]gradstjslope test gradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[in]piaold value at cell i
[in]pjaold value at cell j
[out]pifricontribution of i to flux from i to j
[out]pifrjcontribution of i to flux from j to i
[out]pjfricontribution of j to flux from i to j
[out]pjfrjcontribution of j to flux from j to i
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_i_cd_steady_slope_test_tensor()

void cs_i_cd_steady_slope_test_tensor ( bool * upwind_switch,
const int iconvp,
const cs_real_t bldfrp,
const int ischcp,
const double relaxp,
const double blencp,
const double blend_st,
const cs_real_t weight,
const cs_real_t i_dist,
const cs_real_t i_face_surf,
const cs_real_3_t cell_ceni,
const cs_real_3_t cell_cenj,
const cs_real_3_t i_face_normal,
const cs_real_3_t i_face_cog,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_t i_massflux,
const cs_real_63_t gradi,
const cs_real_63_t gradj,
const cs_real_63_t grdpai,
const cs_real_63_t grdpaj,
const cs_real_6_t pi,
const cs_real_6_t pj,
const cs_real_6_t pia,
const cs_real_6_t pja,
cs_real_t pifri[6],
cs_real_t pifrj[6],
cs_real_t pjfri[6],
cs_real_t pjfrj[6],
cs_real_t pip[6],
cs_real_t pjp[6],
cs_real_t pipr[6],
cs_real_t pjpr[6] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and using slope tests.

Parameters
[out]upwind_switchslope test result
[in]iconvpconvection flag
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]blend_stproportion of centered or SOLU scheme, when the slope test is activated (1-blend_st) is the proportion of upwind.
[in]weightgeometrical weight
[in]i_distdistance IJ.Nij
[in]i_face_surfface surface
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell i
[in]i_face_normalface normal
[in]i_face_cogcenter of gravity coordinates of face ij
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]i_massfluxmass flux at face ij
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]grdpaiupwind gradient at cell i
[in]grdpajupwind gradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[in]piaold value at cell i
[in]pjaold value at cell j
[out]pifricontribution of i to flux from i to j
[out]pifrjcontribution of i to flux from j to i
[out]pjfricontribution of j to flux from i to j
[out]pjfrjcontribution of j to flux from j to i
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_i_cd_steady_slope_test_vector()

void cs_i_cd_steady_slope_test_vector ( bool * upwind_switch,
const int iconvp,
const cs_real_t bldfrp,
const int ischcp,
const double relaxp,
const double blencp,
const double blend_st,
const cs_real_t weight,
const cs_real_t i_dist,
const cs_real_t i_face_surf,
const cs_real_3_t cell_ceni,
const cs_real_3_t cell_cenj,
const cs_real_3_t i_face_normal,
const cs_real_3_t i_face_cog,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_t i_massflux,
const cs_real_33_t gradi,
const cs_real_33_t gradj,
const cs_real_33_t grdpai,
const cs_real_33_t grdpaj,
const cs_real_3_t pi,
const cs_real_3_t pj,
const cs_real_3_t pia,
const cs_real_3_t pja,
cs_real_t pifri[3],
cs_real_t pifrj[3],
cs_real_t pjfri[3],
cs_real_t pjfrj[3],
cs_real_t pip[3],
cs_real_t pjp[3],
cs_real_t pipr[3],
cs_real_t pjpr[3] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and using slope tests.

Parameters
[out]upwind_switchslope test result
[in]iconvpconvection flag
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]blend_stproportion of centered or SOLU scheme, when the slope test is activated (1-blend_st) is the proportion of upwind.
[in]weightgeometrical weight
[in]i_distdistance IJ.Nij
[in]i_face_surfface surface
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell i
[in]i_face_normalface normal
[in]i_face_cogcenter of gravity coordinates of face ij
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]i_massfluxmass flux at face ij
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]grdpaiupwind gradient at cell i
[in]grdpajupwind gradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[in]piaold value at cell i
[in]pjaold value at cell j
[out]pifricontribution of i to flux from i to j
[out]pifrjcontribution of i to flux from j to i
[out]pjfricontribution of j to flux from i to j
[out]pjfrjcontribution of j to flux from j to i
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_i_cd_steady_tensor()

void cs_i_cd_steady_tensor ( const cs_real_t bldfrp,
const int ischcp,
const double relaxp,
const double blencp,
const cs_real_t weight,
const cs_real_3_t cell_ceni,
const cs_real_3_t cell_cenj,
const cs_real_3_t i_face_cog,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_63_t gradi,
const cs_real_63_t gradj,
const cs_real_6_t pi,
const cs_real_6_t pj,
const cs_real_6_t pia,
const cs_real_6_t pja,
cs_real_t pifri[6],
cs_real_t pifrj[6],
cs_real_t pjfri[6],
cs_real_t pjfrj[6],
cs_real_t pip[6],
cs_real_t pjp[6],
cs_real_t pipr[6],
cs_real_t pjpr[6] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and without enabling slope tests.

Parameters
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]weightgeometrical weight
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell i
[in]i_face_cogcenter of gravity coordinates of face ij
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[in]piaold value at cell i
[in]pjaold value at cell j
[out]pifricontribution of i to flux from i to j
[out]pifrjcontribution of i to flux from j to i
[out]pjfricontribution of j to flux from i to j
[out]pjfrjcontribution of j to flux from j to i
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_i_cd_steady_upwind()

void cs_i_cd_steady_upwind ( const cs_real_t bldfrp,
const cs_real_t relaxp,
const cs_real_t diipf[3],
const cs_real_t djjpf[3],
const cs_real_t gradi[3],
const cs_real_t gradj[3],
const cs_real_t pi,
const cs_real_t pj,
const cs_real_t pia,
const cs_real_t pja,
cs_real_t * pifri,
cs_real_t * pifrj,
cs_real_t * pjfri,
cs_real_t * pjfrj,
cs_real_t * pip,
cs_real_t * pjp,
cs_real_t * pipr,
cs_real_t * pjpr )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and a pure upwind flux.

Parameters
[in]bldfrpreconstruction blending factor
[in]relaxprelaxation coefficient
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[in]piaold value at cell i
[in]pjaold value at cell j
[out]pifricontribution of i to flux from i to j
[out]pifrjcontribution of i to flux from j to i
[out]pjfricontribution of j to flux from i to j
[out]pjfrjcontribution of j to flux from j to i
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_i_cd_steady_upwind_tensor()

void cs_i_cd_steady_upwind_tensor ( const cs_real_t bldfrp,
const cs_real_t relaxp,
const cs_real_t diipf[3],
const cs_real_t djjpf[3],
const cs_real_t gradi[6][3],
const cs_real_t gradj[6][3],
const cs_real_t pi[6],
const cs_real_t pj[6],
const cs_real_t pia[6],
const cs_real_t pja[6],
cs_real_t pifri[6],
cs_real_t pifrj[6],
cs_real_t pjfri[6],
cs_real_t pjfrj[6],
cs_real_t pip[6],
cs_real_t pjp[6],
cs_real_t pipr[6],
cs_real_t pjpr[6] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and a pure upwind flux.

Parameters
[in]bldfrpreconstruction blending factor
[in]relaxprelaxation coefficient
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[in]piaold value at cell i
[in]pjaold value at cell j
[out]pifricontribution of i to flux from i to j
[out]pifrjcontribution of i to flux from j to i
[out]pjfricontribution of j to flux from i to j
[out]pjfrjcontribution of j to flux from j to i
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_i_cd_steady_upwind_vector()

void cs_i_cd_steady_upwind_vector ( const cs_real_t bldfrp,
const cs_real_t relaxp,
const cs_real_t diipf[3],
const cs_real_t djjpf[3],
const cs_real_t gradi[3][3],
const cs_real_t gradj[3][3],
const cs_real_t pi[3],
const cs_real_t pj[3],
const cs_real_t pia[3],
const cs_real_t pja[3],
cs_real_t pifri[3],
cs_real_t pifrj[3],
cs_real_t pjfri[3],
cs_real_t pjfrj[3],
cs_real_t pip[3],
cs_real_t pjp[3],
cs_real_t pipr[3],
cs_real_t pjpr[3] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and a pure upwind flux.

Parameters
[in]bldfrpreconstruction blending factor
[in]relaxprelaxation coefficient
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[in]piaold value at cell i
[in]pjaold value at cell j
[out]pifricontribution of i to flux from i to j
[out]pifrjcontribution of i to flux from j to i
[out]pjfricontribution of j to flux from i to j
[out]pjfrjcontribution of j to flux from j to i
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_i_cd_steady_vector()

void cs_i_cd_steady_vector ( const cs_real_t bldfrp,
const int ischcp,
const double relaxp,
const double blencp,
const cs_real_t weight,
const cs_real_3_t cell_ceni,
const cs_real_3_t cell_cenj,
const cs_real_3_t i_face_cog,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_33_t gradi,
const cs_real_33_t gradj,
const cs_real_3_t pi,
const cs_real_3_t pj,
const cs_real_3_t pia,
const cs_real_3_t pja,
cs_real_t pifri[3],
cs_real_t pifrj[3],
cs_real_t pjfri[3],
cs_real_t pjfrj[3],
cs_real_t pip[3],
cs_real_t pjp[3],
cs_real_t pipr[3],
cs_real_t pjpr[3] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and without enabling slope tests.

Parameters
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]weightgeometrical weight
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell i
[in]i_face_cogcenter of gravity coordinates of face ij
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[in]piaold value at cell i
[in]pjaold value at cell j
[out]pifricontribution of i to flux from i to j
[out]pifrjcontribution of i to flux from j to i
[out]pjfricontribution of j to flux from i to j
[out]pjfrjcontribution of j to flux from j to i
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_i_cd_unsteady()

void cs_i_cd_unsteady ( const cs_real_t bldfrp,
const int ischcp,
const double blencp,
const cs_real_t weight,
const cs_real_3_t cell_ceni,
const cs_real_3_t cell_cenj,
const cs_real_3_t i_face_cog,
const cs_real_t hybrid_blend_i,
const cs_real_t hybrid_blend_j,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_3_t gradi,
const cs_real_3_t gradj,
const cs_real_3_t gradupi,
const cs_real_3_t gradupj,
const cs_real_t pi,
const cs_real_t pj,
cs_real_t * pif,
cs_real_t * pjf,
cs_real_t * pip,
cs_real_t * pjp )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a unsteady algorithm and without enabling slope tests.

Parameters
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]weightgeometrical weight
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell i
[in]i_face_cogcenter of gravity coordinates of face ij
[in]hybrid_blend_iblending factor between SOLU and centered
[in]hybrid_blend_jblending factor between SOLU and centered
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]gradupiupwind gradient at cell i
[in]gradupjupwind gradient at cell j
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pifcontribution of i to flux from i to j
[out]pjfcontribution of j to flux from i to j
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_cd_unsteady_nvd()

void cs_i_cd_unsteady_nvd ( const cs_nvd_type_t limiter,
const double beta,
const cs_real_3_t cell_cen_c,
const cs_real_3_t cell_cen_d,
const cs_real_3_t i_face_normal,
const cs_real_3_t i_face_cog,
const cs_real_3_t gradv_c,
const cs_real_t p_c,
const cs_real_t p_d,
const cs_real_t local_max_c,
const cs_real_t local_min_c,
const cs_real_t courant_c,
cs_real_t * pif,
cs_real_t * pjf )
inlinestatic

Handle preparation of internal face values for the convection flux computation in case of an unsteady algorithm and using NVD schemes.

Parameters
[in]limiterchoice of the NVD scheme
[in]betaproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]cell_cen_ccenter of gravity coordinates of central cell
[in]cell_cen_dcenter of gravity coordinates of downwind cell
[in]i_face_normalnormal of face ij
[in]i_face_cogcenter of gravity coordinates of face ij
[in]gradv_cgradient at central cell
[in]p_cvalue at central cell
[in]p_dvalue at downwind cell
[in]local_max_clocal maximum of variable
[in]local_min_clocal minimum of variable
[in]courant_ccentral cell courant number
[out]pifcontribution of i to flux from i to j
[out]pjfcontribution of j to flux from i to j

◆ cs_i_cd_unsteady_slope_test()

void cs_i_cd_unsteady_slope_test ( bool * upwind_switch,
const int iconvp,
const cs_real_t bldfrp,
const int ischcp,
const double blencp,
const double blend_st,
const cs_real_t weight,
const cs_real_t i_dist,
const cs_real_t i_face_surf,
const cs_real_3_t cell_ceni,
const cs_real_3_t cell_cenj,
const cs_real_3_t i_face_normal,
const cs_real_3_t i_face_cog,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_t i_massflux,
const cs_real_3_t gradi,
const cs_real_3_t gradj,
const cs_real_3_t gradupi,
const cs_real_3_t gradupj,
const cs_real_3_t gradsti,
const cs_real_3_t gradstj,
const cs_real_t pi,
const cs_real_t pj,
cs_real_t * pif,
cs_real_t * pjf,
cs_real_t * pip,
cs_real_t * pjp )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a steady algorithm and using slope tests.

Parameters
[out]upwind_switchslope test result
[in]iconvpconvection flag
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]blend_stproportion of centered or SOLU scheme, when the slope test is activated (1-blend_st) is the proportion of upwind.
[in]weightgeometrical weight
[in]i_distdistance IJ.Nij
[in]i_face_surfface surface
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell i
[in]i_face_normalface normal
[in]i_face_cogcenter of gravity coordinates of face ij
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]i_massfluxmass flux at face ij
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]gradupiupwind gradient at cell i
[in]gradupjupwind gradient at cell j
[in]gradstislope test gradient at cell i
[in]gradstjslope test gradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pifcontribution of i to flux from i to j
[out]pjfcontribution of j to flux from i to j
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_cd_unsteady_slope_test_tensor()

void cs_i_cd_unsteady_slope_test_tensor ( bool * upwind_switch,
const int iconvp,
const cs_real_t bldfrp,
const int ischcp,
const double blencp,
const double blend_st,
const cs_real_t weight,
const cs_real_t i_dist,
const cs_real_t i_face_surf,
const cs_real_3_t cell_ceni,
const cs_real_3_t cell_cenj,
const cs_real_3_t i_face_normal,
const cs_real_3_t i_face_cog,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_t i_massflux,
const cs_real_63_t gradi,
const cs_real_63_t gradj,
const cs_real_63_t grdpai,
const cs_real_63_t grdpaj,
const cs_real_6_t pi,
const cs_real_6_t pj,
cs_real_t pif[6],
cs_real_t pjf[6],
cs_real_t pip[6],
cs_real_t pjp[6] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a unsteady algorithm and using slope tests.

Parameters
[out]upwind_switchslope test result
[in]iconvpconvection flag
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]blend_stproportion of centered or SOLU scheme, when the slope test is activated (1-blend_st) is the proportion of upwind.
[in]weightgeometrical weight
[in]i_distdistance IJ.Nij
[in]i_face_surfface surface
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell i
[in]i_face_normalface normal
[in]i_face_cogcenter of gravity coordinates of face ij
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]i_massfluxmass flux at face ij
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]grdpaiupwind gradient at cell i
[in]grdpajupwind gradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pifcontribution of i to flux from i to j
[out]pjfcontribution of j to flux from i to j
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_cd_unsteady_slope_test_vector()

void cs_i_cd_unsteady_slope_test_vector ( bool * upwind_switch,
const int iconvp,
const cs_real_t bldfrp,
const int ischcp,
const double blencp,
const double blend_st,
const cs_real_t weight,
const cs_real_t i_dist,
const cs_real_t i_face_surf,
const cs_real_3_t cell_ceni,
const cs_real_3_t cell_cenj,
const cs_real_3_t i_face_normal,
const cs_real_3_t i_face_cog,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_t i_massflux,
const cs_real_33_t gradi,
const cs_real_33_t gradj,
const cs_real_33_t grdpai,
const cs_real_33_t grdpaj,
const cs_real_3_t pi,
const cs_real_3_t pj,
cs_real_t pif[3],
cs_real_t pjf[3],
cs_real_t pip[3],
cs_real_t pjp[3] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of a unsteady algorithm and using slope tests.

Parameters
[out]upwind_switchslope test result
[in]iconvpconvection flag
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]blend_stproportion of centered or SOLU scheme, when the slope test is activated (1-blend_st) is the proportion of upwind.
[in]weightgeometrical weight
[in]i_distdistance IJ.Nij
[in]i_face_surfface surface
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell i
[in]i_face_normalface normal
[in]i_face_cogcenter of gravity coordinates of face ij
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]i_massfluxmass flux at face ij
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]grdpaiupwind gradient at cell i
[in]grdpajupwind gradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pifcontribution of i to flux from i to j
[out]pjfcontribution of j to flux from i to j
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_cd_unsteady_tensor()

void cs_i_cd_unsteady_tensor ( const cs_real_t bldfrp,
const int ischcp,
const double blencp,
const cs_real_t weight,
const cs_real_3_t cell_ceni,
const cs_real_3_t cell_cenj,
const cs_real_3_t i_face_cog,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_63_t gradi,
const cs_real_63_t gradj,
const cs_real_6_t pi,
const cs_real_6_t pj,
cs_real_t pif[6],
cs_real_t pjf[6],
cs_real_t pip[6],
cs_real_t pjp[6] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of an unsteady algorithm and without enabling slope tests.

Parameters
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]weightgeometrical weight
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell i
[in]i_face_cogcenter of gravity coordinates of face ij
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pifcontribution of i to flux from i to j
[out]pjfcontribution of j to flux from i to j
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_cd_unsteady_upwind()

void cs_i_cd_unsteady_upwind ( const cs_real_t bldfrp,
const cs_real_t diipf[3],
const cs_real_t djjpf[3],
const cs_real_t gradi[3],
const cs_real_t gradj[3],
const cs_real_t pi,
const cs_real_t pj,
cs_real_t * pif,
cs_real_t * pjf,
cs_real_t * pip,
cs_real_t * pjp )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of an unsteady algorithm and a pure upwind flux.

Parameters
[in]bldfrpreconstruction blending factor
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pifcontribution of i to flux from i to j
[out]pjfcontribution of j to flux from i to j
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_cd_unsteady_upwind_tensor()

void cs_i_cd_unsteady_upwind_tensor ( const cs_real_t bldfrp,
const cs_real_t diipf[3],
const cs_real_t djjpf[3],
const cs_real_t gradi[6][3],
const cs_real_t gradj[6][3],
const cs_real_t pi[6],
const cs_real_t pj[6],
cs_real_t pif[6],
cs_real_t pjf[6],
cs_real_t pip[6],
cs_real_t pjp[6] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of an unsteady algorithm and a pure upwind flux.

Parameters
[in]bldfrpreconstruction blending factor
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pifcontribution of i to flux from i to j
[out]pjfcontribution of j to flux from i to j
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_cd_unsteady_upwind_vector()

void cs_i_cd_unsteady_upwind_vector ( const cs_real_t bldfrp,
const cs_real_t diipf[3],
const cs_real_t djjpf[3],
const cs_real_t gradi[3][3],
const cs_real_t gradj[3][3],
const cs_real_t pi[3],
const cs_real_t pj[3],
cs_real_t pif[3],
cs_real_t pjf[3],
cs_real_t pip[3],
cs_real_t pjp[3] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of an unsteady algorithm and a pure upwind flux.

Parameters
[in]bldfrpreconstruction blending factor
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pifcontribution of i to flux from i to j
[out]pjfcontribution of j to flux from i to j
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_cd_unsteady_vector()

void cs_i_cd_unsteady_vector ( const cs_real_t bldfrp,
const int ischcp,
const double blencp,
const cs_real_t weight,
const cs_real_3_t cell_ceni,
const cs_real_3_t cell_cenj,
const cs_real_3_t i_face_cog,
const cs_real_t hybrid_blend_i,
const cs_real_t hybrid_blend_j,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_33_t gradi,
const cs_real_33_t gradj,
const cs_real_3_t pi,
const cs_real_3_t pj,
cs_real_t pif[3],
cs_real_t pjf[3],
cs_real_t pip[3],
cs_real_t pjp[3] )
inlinestatic

Handle preparation of internal face values for the fluxes computation in case of an unsteady algorithm and without enabling slope tests.

Parameters
[in]bldfrpreconstruction blending factor
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of second order scheme, (1-blencp) is the proportion of upwind.
[in]weightgeometrical weight
[in]cell_cenicenter of gravity coordinates of cell i
[in]cell_cenjcenter of gravity coordinates of cell i
[in]i_face_cogcenter of gravity coordinates of face ij
[in]hybrid_blend_iblending factor between SOLU and centered
[in]hybrid_blend_jblending factor between SOLU and centered
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pifcontribution of i to flux from i to j
[out]pjfcontribution of j to flux from j to i
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_compute_quantities()

void cs_i_compute_quantities ( const cs_real_t bldfrp,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_3_t gradi,
const cs_real_3_t gradj,
const cs_real_t pi,
const cs_real_t pj,
cs_real_t * recoi,
cs_real_t * recoj,
cs_real_t * pip,
cs_real_t * pjp )
inlinestatic

Reconstruct values in I' and J'.

Parameters
[in]bldfrpreconstruction blending factor
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]recoireconstruction at cell i
[out]recojreconstruction at cell j
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_compute_quantities_tensor()

void cs_i_compute_quantities_tensor ( const cs_real_t bldfrp,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_63_t gradi,
const cs_real_63_t gradj,
const cs_real_6_t pi,
const cs_real_6_t pj,
cs_real_t recoi[6],
cs_real_t recoj[6],
cs_real_t pip[6],
cs_real_t pjp[6] )
inlinestatic

Reconstruct values in I' and J'.

Parameters
[in]bldfrpreconstruction blending factor
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]recoireconstruction at cell i
[out]recojreconstruction at cell j
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_compute_quantities_vector()

void cs_i_compute_quantities_vector ( const cs_real_t bldfrp,
const cs_real_3_t diipf,
const cs_real_3_t djjpf,
const cs_real_33_t gradi,
const cs_real_33_t gradj,
const cs_real_3_t pi,
const cs_real_3_t pj,
cs_real_t recoi[3],
cs_real_t recoj[3],
cs_real_t pip[3],
cs_real_t pjp[3] )
inlinestatic

Reconstruct values in I' and J'.

Parameters
[in]bldfrpreconstruction blending factor
[in]diipfdistance II'
[in]djjpfdistance JJ'
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]recoireconstruction at cell i
[out]recojreconstruction at cell j
[out]pipreconstructed value at cell i
[out]pjpreconstructed value at cell j

◆ cs_i_conv_flux()

void cs_i_conv_flux ( const int iconvp,
const cs_real_t thetap,
const int imasac,
const cs_real_t pi,
const cs_real_t pj,
const cs_real_t pifri,
const cs_real_t pifrj,
const cs_real_t pjfri,
const cs_real_t pjfrj,
const cs_real_t i_massflux,
const cs_real_t xcppi,
const cs_real_t xcppj,
cs_real_2_t fluxij )
inlinestatic

Add convective fluxes (substracting the mass accumulation from them) to fluxes at face ij.

Parameters
[in]iconvpconvection flag
[in]thetapweighting coefficient for the theta-schema,
[in]imasactake mass accumulation into account?
[in]pivalue at cell i
[in]pjvalue at cell j
[in]pifricontribution of i to flux from i to j
[in]pifrjcontribution of i to flux from j to i
[in]pjfricontribution of j to flux from i to j
[in]pjfrjcontribution of j to flux from j to i
[in]i_massfluxmass flux at face ij
[in]xcppispecific heat value if the scalar is the temperature, 1 otherwise at cell i
[in]xcppjspecific heat value if the scalar is the temperature, 1 otherwise at cell j
[in,out]fluxijfluxes at face ij

◆ cs_i_conv_flux_tensor()

void cs_i_conv_flux_tensor ( const int iconvp,
const cs_real_t thetap,
const int imasac,
const cs_real_t pi[6],
const cs_real_t pj[6],
const cs_real_t pifri[6],
const cs_real_t pifrj[6],
const cs_real_t pjfri[6],
const cs_real_t pjfrj[6],
const cs_real_t i_massflux,
cs_real_t fluxi[6],
cs_real_t fluxj[6] )
inlinestatic

Add convective fluxes (substracting the mass accumulation from them) to fluxes at face ij.

Parameters
[in]iconvpconvection flag
[in]thetapweighting coefficient for the theta-schema,
[in]imasactake mass accumulation into account?
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pifricontribution of i to flux from i to j
[out]pifrjcontribution of i to flux from j to i
[out]pjfricontribution of j to flux from i to j
[out]pjfrjcontribution of j to flux from j to i
[in]i_massfluxmass flux at face ij
[in,out]fluxifluxes at face i
[in,out]fluxjfluxes at face j

◆ cs_i_conv_flux_vector()

void cs_i_conv_flux_vector ( const int iconvp,
const cs_real_t thetap,
const int imasac,
const cs_real_t pi[3],
const cs_real_t pj[3],
const cs_real_t pifri[3],
const cs_real_t pifrj[3],
const cs_real_t pjfri[3],
const cs_real_t pjfrj[3],
const cs_real_t i_massflux,
cs_real_t fluxi[3],
cs_real_t fluxj[3] )
inlinestatic

Add convective fluxes (substracting the mass accumulation from them) to fluxes at face ij.

Parameters
[in]iconvpconvection flag
[in]thetapweighting coefficient for the theta-schema,
[in]imasactake mass accumulation into account?
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pifricontribution of i to flux from i to j
[out]pifrjcontribution of i to flux from j to i
[out]pjfricontribution of j to flux from i to j
[out]pjfrjcontribution of j to flux from j to i
[in]i_massfluxmass flux at face ij
[in,out]fluxifluxes at face i
[in,out]fluxjfluxes at face j

◆ cs_i_diff_flux()

void cs_i_diff_flux ( const int idiffp,
const cs_real_t thetap,
const cs_real_t pip,
const cs_real_t pjp,
const cs_real_t pipr,
const cs_real_t pjpr,
const cs_real_t i_visc,
cs_real_t fluxij[2] )
inlinestatic

Add diffusive fluxes to fluxes at face ij.

Parameters
[in]idiffpdiffusion flag
[in]thetapweighting coefficient for the theta-schema,
[in]pipreconstructed value at cell i
[in]pjpreconstructed value at cell j
[in]piprrelaxed reconstructed value at cell i
[in]pjprrelaxed reconstructed value at cell j
[in]i_viscdiffusion coefficient (divided by IJ) at face ij
[in,out]fluxijfluxes at face ij

◆ cs_i_diff_flux_tensor()

void cs_i_diff_flux_tensor ( const int idiffp,
const cs_real_t thetap,
const cs_real_t pip[6],
const cs_real_t pjp[6],
const cs_real_t pipr[6],
const cs_real_t pjpr[6],
const cs_real_t i_visc,
cs_real_t fluxi[6],
cs_real_t fluxj[6] )
inlinestatic

Add diffusive fluxes to fluxes at face ij.

Parameters
[in]idiffpdiffusion flag
[in]thetapweighting coefficient for the theta-schema,
[in]pipreconstructed value at cell i
[in]pjpreconstructed value at cell j
[in]piprrelaxed reconstructed value at cell i
[in]pjprrelaxed reconstructed value at cell j
[in]i_viscdiffusion coefficient (divided by IJ) at face ij
[in,out]fluxifluxes at face i
[in,out]fluxjfluxes at face j

◆ cs_i_diff_flux_vector()

void cs_i_diff_flux_vector ( const int idiffp,
const cs_real_t thetap,
const cs_real_t pip[3],
const cs_real_t pjp[3],
const cs_real_t pipr[3],
const cs_real_t pjpr[3],
const cs_real_t i_visc,
cs_real_t fluxi[3],
cs_real_t fluxj[3] )
inlinestatic

Add diffusive fluxes to fluxes at face ij.

Parameters
[in]idiffpdiffusion flag
[in]thetapweighting coefficient for the theta-schema,
[in]pipreconstructed value at cell i
[in]pjpreconstructed value at cell j
[in]piprrelaxed reconstructed value at cell i
[in]pjprrelaxed reconstructed value at cell j
[in]i_viscdiffusion coefficient (divided by IJ) at face ij
[in,out]fluxifluxes at face i
[in,out]fluxjfluxes at face j

◆ cs_i_relax_c_val()

void cs_i_relax_c_val ( const double relaxp,
const cs_real_t pia,
const cs_real_t pja,
const cs_real_t recoi,
const cs_real_t recoj,
const cs_real_t pi,
const cs_real_t pj,
cs_real_t * pir,
cs_real_t * pjr,
cs_real_t * pipr,
cs_real_t * pjpr )
inlinestatic

Compute relaxed values at cell i and j.

Parameters
[in]relaxprelaxation coefficient
[in]piaold value at cell i
[in]pjaold value at cell j
[in]recoireconstruction at cell i
[in]recojreconstruction at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pirrelaxed value at cell i
[out]pjrrelaxed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_i_relax_c_val_tensor()

void cs_i_relax_c_val_tensor ( const cs_real_t relaxp,
const cs_real_t pia[6],
const cs_real_t pja[6],
const cs_real_t recoi[6],
const cs_real_t recoj[6],
const cs_real_t pi[6],
const cs_real_t pj[6],
cs_real_t pir[6],
cs_real_t pjr[6],
cs_real_t pipr[6],
cs_real_t pjpr[6] )
inlinestatic

Compute relaxed values at cell i and j.

Parameters
[in]relaxprelaxation coefficient
[in]piaold value at cell i
[in]pjaold value at cell j
[in]recoireconstruction at cell i
[in]recojreconstruction at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pirrelaxed value at cell i
[out]pjrrelaxed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_i_relax_c_val_vector()

void cs_i_relax_c_val_vector ( const double relaxp,
const cs_real_3_t pia,
const cs_real_3_t pja,
const cs_real_3_t recoi,
const cs_real_3_t recoj,
const cs_real_3_t pi,
const cs_real_3_t pj,
cs_real_t pir[3],
cs_real_t pjr[3],
cs_real_t pipr[3],
cs_real_t pjpr[3] )
inlinestatic

Compute relaxed values at cell i and j.

Parameters
[in]relaxprelaxation coefficient
[in]piaold value at cell i
[in]pjaold value at cell j
[in]recoireconstruction at cell i
[in]recojreconstruction at cell j
[in]pivalue at cell i
[in]pjvalue at cell j
[out]pirrelaxed value at cell i
[out]pjrrelaxed value at cell j
[out]piprrelaxed reconstructed value at cell i
[out]pjprrelaxed reconstructed value at cell j

◆ cs_nvd_scheme_scalar()

cs_real_t cs_nvd_scheme_scalar ( const cs_nvd_type_t limiter,
const cs_real_t nvf_p_c,
const cs_real_t nvf_r_f,
const cs_real_t nvf_r_c )
inlinestatic

Compute the normalized face scalar using the specified NVD scheme.

Parameters
[in]limiterchoice of the NVD scheme
[in]nvf_p_cnormalised property of the current cell
[in]nvf_r_fnormalised distance from the face
[in]nvf_r_cnormalised distance from the current cell
Returns
normalised face scalar value

◆ cs_nvd_vof_scheme_scalar()

cs_real_t cs_nvd_vof_scheme_scalar ( const cs_nvd_type_t limiter,
const cs_real_3_t i_face_normal,
const cs_real_t nvf_p_c,
const cs_real_t nvf_r_f,
const cs_real_t nvf_r_c,
const cs_real_3_t gradv_c,
const cs_real_t c_courant )
inlinestatic

Compute the normalised face scalar using the specified NVD scheme for the case of a Volume-of-Fluid (VOF) transport equation.

Parameters
[in]limiterchoice of the NVD scheme
[in]i_face_normalnormal of face ij
[in]face_idthe current cell face
[in]nvf_p_cnormalised property of the current cell
[in]nvf_r_fnormalised distance from the face
[in]nvf_r_cnormalised distance from the current cell
[in]gradv_cgradient at central cell
[in]courant_ccourant at central cell
Returns
normalised face scalar

◆ cs_slope_test()

void cs_slope_test ( const cs_real_t pi,
const cs_real_t pj,
const cs_real_t distf,
const cs_real_t srfan,
const cs_real_t i_face_normal[3],
const cs_real_t gradi[3],
const cs_real_t gradj[3],
const cs_real_t grdpai[3],
const cs_real_t grdpaj[3],
const cs_real_t i_massflux,
cs_real_t * testij,
cs_real_t * tesqck )
inlinestatic

Compute slope test criteria at internal face between cell i and j.

Parameters
[in]pivalue at cell i
[in]pjvalue at cell j
[in]distfdistance IJ.Nij
[in]srfanface surface
[in]i_face_normalface normal
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]grdpaiupwind gradient at cell i
[in]grdpajupwind gradient at cell j
[in]i_massfluxmass flux at face (from i to j)
[out]testijvalue of slope test first criterion
[out]tesqckvalue of slope test second criterion

◆ cs_slope_test_gradient()

void cs_slope_test_gradient ( int f_id,
int inc,
cs_halo_type_t halo_type,
const cs_real_3_t * grad,
cs_real_3_t * grdpa,
const cs_real_t * pvar,
const cs_real_t * coefap,
const cs_real_t * coefbp,
const cs_real_t * i_massflux )

Compute the upwind gradient used in the slope tests.

This function assumes the input gradient and pvar values have already been synchronized.

Parameters
[in]f_idfield id
[in]incNot an increment flag
[in]halo_typehalo type
[in]gradstandard gradient
[out]grdpaupwind gradient
[in]pvarvalues
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]i_massfluxmass flux at interior faces

◆ cs_slope_test_gradient_tensor()

void cs_slope_test_gradient_tensor ( const int inc,
const cs_halo_type_t halo_type,
const cs_real_63_t * grad,
cs_real_63_t * grdpa,
const cs_real_6_t * pvar,
const cs_real_6_t * coefa,
const cs_real_66_t * coefb,
const cs_real_t * i_massflux )

Compute the upwind gradient used in the slope tests.

This function assumes the input gradient and pvar values have already been synchronized.

Parameters
[in]incNot an increment flag
[in]halo_typehalo type
[in]gradstandard gradient
[out]grdpaupwind gradient
[in]pvarvalues
[in]coefaboundary condition array for the variable (explicit part)
[in]coefbboundary condition array for the variable (implicit part)
[in]i_massfluxmass flux at interior faces

This function assumes the input gradient and pvar values have already been synchronized.

Parameters
[in]incNot an increment flag
[in]halo_typehalo type
[in]gradstandard gradient
[out]grdpaupwind gradient
[in]pvarvalues
[in]coefaboundary condition array for the variable (Explicit part)
[in]coefbboundary condition array for the variable (Implicit part)
[in]i_massfluxmass flux at interior faces

◆ cs_slope_test_gradient_vector()

void cs_slope_test_gradient_vector ( const int inc,
const cs_halo_type_t halo_type,
const cs_real_33_t * grad,
cs_real_33_t * grdpa,
const cs_real_3_t * pvar,
const cs_real_3_t * coefa,
const cs_real_33_t * coefb,
const cs_real_t * i_massflux )

Compute the upwind gradient used in the slope tests.

This function assumes the input gradient and pvar values have already been synchronized.

Parameters
[in]incNot an increment flag
[in]halo_typehalo type
[in]gradstandard gradient
[out]grdpaupwind gradient
[in]pvarvalues
[in]coefaboundary condition array for the variable (explicit part)
[in]coefbboundary condition array for the variable (implicit part)
[in]i_massfluxmass flux at interior faces

This function assumes the input gradient and pvar values have already been synchronized.

Parameters
[in]incNot an increment flag
[in]halo_typehalo type
[in]gradstandard gradient
[out]grdpaupwind gradient
[in]pvarvalues
[in]coefaboundary condition array for the variable (Explicit part)
[in]coefbboundary condition array for the variable (Implicit part)
[in]i_massfluxmass flux at interior faces

◆ cs_slope_test_tensor()

void cs_slope_test_tensor ( const cs_real_t pi[6],
const cs_real_t pj[6],
const cs_real_t distf,
const cs_real_t srfan,
const cs_real_t i_face_normal[3],
const cs_real_t gradi[6][3],
const cs_real_t gradj[6][3],
const cs_real_t gradsti[6][3],
const cs_real_t gradstj[6][3],
const cs_real_t i_massflux,
cs_real_t * testij,
cs_real_t * tesqck )
inlinestatic

Compute slope test criteria at internal face between cell i and j.

Parameters
[in]pivalue at cell i
[in]pjvalue at cell j
[in]distfdistance IJ.Nij
[in]srfanface surface
[in]i_face_normalface normal
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]grdpaiupwind gradient at cell i
[in]grdpajupwind gradient at cell j
[in]i_massfluxmass flux at face (from i to j)
[out]testijvalue of slope test first criterion
[out]tesqckvalue of slope test second criterion

◆ cs_slope_test_vector()

void cs_slope_test_vector ( const cs_real_t pi[3],
const cs_real_t pj[3],
const cs_real_t distf,
const cs_real_t srfan,
const cs_real_t i_face_normal[3],
const cs_real_t gradi[3][3],
const cs_real_t gradj[3][3],
const cs_real_t gradsti[3][3],
const cs_real_t gradstj[3][3],
const cs_real_t i_massflux,
cs_real_t * testij,
cs_real_t * tesqck )
inlinestatic

Compute slope test criteria at internal face between cell i and j.

Parameters
[in]pivalue at cell i
[in]pjvalue at cell j
[in]distfdistance IJ.Nij
[in]srfanface surface
[in]i_face_normalface normal
[in]gradigradient at cell i
[in]gradjgradient at cell j
[in]grdpaiupwind gradient at cell i
[in]grdpajupwind gradient at cell j
[in]i_massfluxmass flux at face (from i to j)
[out]testijvalue of slope test first criterion
[out]tesqckvalue of slope test second criterion

◆ cs_solu_f_val()

void cs_solu_f_val ( const cs_real_3_t cell_cen,
const cs_real_3_t i_face_cog,
const cs_real_3_t grad,
const cs_real_t p,
cs_real_t * pf )
inlinestatic

Prepare value at face ij by using a Second Order Linear Upwind scheme.

Parameters
[in]cell_cencenter of gravity coordinates of cell
[in]i_face_cogcenter of gravity coordinates of face
[in]gradgradient at cell
[in]p(relaced) value at cell
[out]pfface value

◆ cs_solu_f_val_tensor()

void cs_solu_f_val_tensor ( const cs_real_3_t cell_cen,
const cs_real_3_t i_face_cog,
const cs_real_63_t grad,
const cs_real_6_t p,
cs_real_t pf[6] )
inlinestatic

Prepare value at face ij by using a Second Order Linear Upwind scheme.

Parameters
[in]cell_cencenter of gravity coordinates of cell
[in]i_face_cogcenter of gravity coordinates of face
[in]gradgradient at cell
[in]p(relaced) value at cell
[out]pfface value

◆ cs_solu_f_val_vector()

void cs_solu_f_val_vector ( const cs_real_3_t cell_cen,
const cs_real_3_t i_face_cog,
const cs_real_33_t grad,
const cs_real_3_t p,
cs_real_t pf[3] )
inlinestatic

Prepare value at face ij by using a Second Order Linear Upwind scheme.

Parameters
[in]cell_cencenter of gravity coordinates of cell
[in]i_face_cogcenter of gravity coordinates of face
[in]gradgradient at cell
[in]p(relaced) value at cell
[out]pfface value

◆ cs_sync_scalar_halo()

void cs_sync_scalar_halo ( const cs_mesh_t * m,
cs_halo_type_t halo_type,
cs_real_t pvar[] )
inlinestatic

◆ cs_upwind_f_val()

void cs_upwind_f_val ( const cs_real_t p,
cs_real_t * pf )
inlinestatic

Prepare value at face ij by using an upwind scheme.

Parameters
[in]pvalue at cell
[out]pfvalue at face

◆ cs_upwind_f_val_tensor()

void cs_upwind_f_val_tensor ( const cs_real_6_t p,
cs_real_t pf[6] )
inlinestatic

Prepare value at face ij by using an upwind scheme.

Parameters
[in]pvalue at cell
[out]pfvalue at face

◆ cs_upwind_f_val_vector()

void cs_upwind_f_val_vector ( const cs_real_3_t p,
cs_real_t pf[3] )
inlinestatic

Prepare value at face ij by using an upwind scheme.

Parameters
[in]pvalue at cell
[out]pfvalue at face

◆ cs_upwind_gradient()

void cs_upwind_gradient ( const int f_id,
const int inc,
const cs_halo_type_t halo_type,
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t i_massflux[],
const cs_real_t b_massflux[],
const cs_real_t *restrict pvar,
cs_real_3_t *restrict grdpa )

Compute the upwind gradient in order to cope with SOLU schemes observed in the litterature.

Parameters
[in]f_idfield index
[in]incNot an increment flag
[in]halo_typehalo type
[out]grdpaupwind gradient
[in]pvarvalues
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]i_massfluxmass flux at interior faces

Compute the upwind gradient in order to cope with SOLU schemes observed in the litterature.

Parameters
[in]f_idfield index
[in]incNot an increment flag
[in]halo_typehalo type
[in]coefapboundary condition array for the variable (explicit part)
[in]coefbpboundary condition array for the variable (implicit part)
[in]i_massfluxmass flux at interior faces
[in]b_massfluxmass flux at boundary faces
[in]pvarvalues
[out]grdpaupwind gradient

◆ itrgrp()

void itrgrp ( const int *const f_id,
const int *const init,
const int *const inc,
const int *const imrgra,
const int *const nswrgp,
const int *const imligp,
const int *const iphydp,
const int *const iwgrp,
const int *const iwarnp,
const cs_real_t *const epsrgp,
const cs_real_t *const climgp,
const cs_real_t *const extrap,
cs_real_3_t frcxt[],
cs_real_t pvar[],
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t cofafp[],
const cs_real_t cofbfp[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_t visel[],
cs_real_t diverg[] )

◆ itrgrv()

void itrgrv ( const int *const f_id,
const int *const init,
const int *const inc,
const int *const imrgra,
const int *const nswrgp,
const int *const imligp,
const int *const ircflp,
const int *const iphydp,
const int *const iwgrp,
const int *const iwarnp,
const cs_real_t *const epsrgp,
const cs_real_t *const climgp,
const cs_real_t *const extrap,
cs_real_3_t frcxt[],
cs_real_t pvar[],
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t cofafp[],
const cs_real_t cofbfp[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_6_t viscel[],
const cs_real_2_t weighf[],
const cs_real_t weighb[],
cs_real_t diverg[] )

◆ itrmas()

void itrmas ( const int *const f_id,
const int *const init,
const int *const inc,
const int *const imrgra,
const int *const nswrgp,
const int *const imligp,
const int *const iphydp,
const int *const iwgrp,
const int *const iwarnp,
const cs_real_t *const epsrgp,
const cs_real_t *const climgp,
const cs_real_t *const extrap,
cs_real_3_t frcxt[],
cs_real_t pvar[],
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t cofafp[],
const cs_real_t cofbfp[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_t visel[],
cs_real_t i_massflux[],
cs_real_t b_massflux[] )

◆ itrmav()

void itrmav ( const int *const f_id,
const int *const init,
const int *const inc,
const int *const imrgra,
const int *const nswrgp,
const int *const imligp,
const int *const ircflp,
const int *const iphydp,
const int *const iwgrp,
const int *const iwarnp,
const cs_real_t *const epsrgp,
const cs_real_t *const climgp,
const cs_real_t *const extrap,
cs_real_3_t frcxt[],
cs_real_t pvar[],
const cs_real_t coefap[],
const cs_real_t coefbp[],
const cs_real_t cofafp[],
const cs_real_t cofbfp[],
const cs_real_t i_visc[],
const cs_real_t b_visc[],
cs_real_6_t viscel[],
const cs_real_2_t weighf[],
const cs_real_t weighb[],
cs_real_t i_massflux[],
cs_real_t b_massflux[] )