My Project
programmer's documentation
Loading...
Searching...
No Matches
Macros | Enumerations | Functions
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 dependency graph for cs_convection_diffusion.h:

Go to the source code of this file.

Macros

#define CS_ISOTROPIC_DIFFUSION   (1 << 0)
 
#define CS_ORTHOTROPIC_DIFFUSION   (1 << 1)
 
#define CS_ANISOTROPIC_LEFT_DIFFUSION   (1 << 2)
 
#define CS_ANISOTROPIC_RIGHT_DIFFUSION   (1 << 3)
 
#define CS_ANISOTROPIC_DIFFUSION   ((1 << 2) + (1 << 3))
 

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 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 normalised 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_vector_old (const cs_real_3_t pi, const cs_real_3_t pj, const cs_real_t distf, const cs_real_t srfan, const cs_real_3_t i_face_normal, 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_t i_massflux, cs_real_t testij[3], cs_real_t tesqck[3])
 DEPRECATED 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 int ircflp, 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 int ircflp, 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 int ircflp, 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_6_t p, 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_2_t fluxij)
 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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_old (bool *upwind_switch, const int iconvp, const int ircflp, const int ischcp, const double relaxp, const double blencp, 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_vector (bool *upwind_switch, const int iconvp, const int ircflp, 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 int ircflp, 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 int ircflp, 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 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_old (bool *upwind_switch, const int iconvp, const int ircflp, const int ischcp, const double blencp, 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])
 DEPRECATED 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_vector (bool *upwind_switch, const int iconvp, const int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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, cs_int_t 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, cs_int_t 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 int ircflp, 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 cs_int_t *const f_id, const cs_int_t *const init, const cs_int_t *const inc, const cs_int_t *const imrgra, const cs_int_t *const iccocg, const cs_int_t *const nswrgp, const cs_int_t *const imligp, const cs_int_t *const iphydp, const cs_int_t *const iwgrp, const cs_int_t *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 cs_int_t *const f_id, const cs_int_t *const init, const cs_int_t *const inc, const cs_int_t *const imrgra, const cs_int_t *const iccocg, const cs_int_t *const nswrgp, const cs_int_t *const imligp, const cs_int_t *const ircflp, const cs_int_t *const iphydp, const cs_int_t *const iwgrp, const cs_int_t *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 cs_int_t *const f_id, const cs_int_t *const init, const cs_int_t *const inc, const cs_int_t *const imrgra, const cs_int_t *const iccocg, const cs_int_t *const nswrgp, const cs_int_t *const imligp, const cs_int_t *const iphydp, const cs_int_t *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 cs_int_t *const f_id, const cs_int_t *const init, const cs_int_t *const inc, const cs_int_t *const imrgra, const cs_int_t *const iccocg, const cs_int_t *const nswrgp, const cs_int_t *const imligp, const cs_int_t *const ircflp, const cs_int_t *const iphydp, const cs_int_t *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_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_max_limiter_building (int f_id, int inc, const cs_real_t rovsdt[])
 Compute a coefficient for blending that ensures the positivity of the 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 iccocg, int imasac, cs_real_t *restrict pvar, const cs_real_t *restrict pvara, const cs_int_t 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 iccocg, int imasac, cs_real_t *restrict pvar, const cs_real_t *restrict pvara, const cs_int_t 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 cs_int_t 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 secvif[], const cs_real_t secvib[], 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 iccocg, 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, int iccocg, 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 secvif[], 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 iccocg, int nswrgp, int imligp, int iphydp, int iwgrp, int iwarnp, double epsrgp, double climgp, double extrap, 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 iccocg, int nswrgp, int imligp, int ircflp, int iphydp, int iwgrp, int iwarnp, double epsrgp, double climgp, double extrap, 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 iccocg, int nswrgp, int imligp, int iphydp, int iwarnp, double epsrgp, double climgp, double extrap, 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 iccocg, int nswrgp, int imligp, int ircflp, int iphydp, int iwarnp, double epsrgp, double climgp, double extrap, 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 cs_anisotropic_diffusion_scalar).
 

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  iccocg,
int  nswrgp,
int  imligp,
int  ircflp,
int  iphydp,
int  iwarnp,
double  epsrgp,
double  climgp,
double  extrap,
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 cs_anisotropic_diffusion_scalar).

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 square gradient
[in]iccocgindicator
  • 1 re-compute cocg matrix (for iterativ gradients)
  • 0 otherwise
[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]iwarnpverbosity
[in]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]extrapcoefficient for extrapolation 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

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

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]iccocgindicator
  • 1 re-compute cocg matrix (for iterative gradients)
  • 0 otherwise
[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]iwarnpverbosity
[in]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]extrapcoefficient for extrapolation 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,
int  iccocg,
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]iccocgindicator
  • 1 re-compute cocg matrix (for iterativ gradients)
  • 0 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]iccocgindicator
  • 1 re-compute cocg matrix (for iterativ gradients)
  • 0 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]secvifsecondary 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()

static void cs_b_cd_steady ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_b_cd_steady_tensor ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_b_cd_steady_vector ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_b_cd_unsteady ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_b_cd_unsteady_tensor ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_b_cd_unsteady_vector ( const int  ircflp,
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]ircflprecontruction flag
[in]diipbdistance I'I'
[in]gradigradient at cell i
[in]pivalue at cell i
[out]pipreconstructed value at cell i

◆ cs_b_compute_quantities()

static void cs_b_compute_quantities ( const cs_real_3_t  diipb,
const cs_real_3_t  gradi,
const int  ircflp,
cs_real_t recoi 
)
inlinestatic

Reconstruct values in I' at boundary cell i.

Parameters
[in]diipbdistance I'I'
[in]gradigradient at cell i
[in]ircflprecontruction flag
[out]recoireconstruction at cell i

◆ cs_b_compute_quantities_tensor()

static void cs_b_compute_quantities_tensor ( const cs_real_3_t  diipb,
const cs_real_63_t  gradi,
const int  ircflp,
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]ircflprecontruction flag
[out]recoireconstruction at cell i

◆ cs_b_compute_quantities_vector()

static void cs_b_compute_quantities_vector ( const cs_real_3_t  diipb,
const cs_real_33_t  gradi,
const int  ircflp,
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]ircflprecontruction flag
[out]recoireconstruction at cell i

◆ cs_b_diff_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 
)
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()

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 
)
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()

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] 
)
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()

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] 
)
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()

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] 
)
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()

static void cs_b_imposed_conv_flux ( int  iconvp,
cs_real_t  thetap,
int  imasac,
int  inc,
cs_int_t  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()

static void cs_b_imposed_conv_flux_vector ( int  iconvp,
cs_real_t  thetap,
int  imasac,
int  inc,
cs_int_t  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()

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 
)
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()

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] 
)
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()

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] 
)
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()

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 
)
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()

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] 
)
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()

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] 
)
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_blend_f_val()

static 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 centered or SOLU scheme, (1-blencp) is the proportion of upwind.
[in]p(relaxed) value at cell
[out]pfface value

◆ cs_blend_f_val_tensor()

static void cs_blend_f_val_tensor ( const double  blencp,
const cs_real_6_t  p,
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 centered or SOLU scheme, (1-blencp) is the proportion of upwind.
[in]p(relaxed) value at cell
[out]pfface value

◆ cs_blend_f_val_vector()

static 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 centered or SOLU scheme, (1-blencp) is the proportion of upwind.
[in]p(relaxed) value at cell
[in,out]pfface value

◆ cs_centered_f_val()

static 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()

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] 
)
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()

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] 
)
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()

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 
)
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  iccocg,
int  imasac,
cs_real_t *restrict  pvar,
const cs_real_t *restrict  pvara,
const cs_int_t  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
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]iccocgindicator
  • 1 re-compute cocg matrix (for iterative gradients)
  • 0 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]iccocgindicator
  • 1 re-compute cocg matrix (for iterative gradients)
  • 0 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  iccocg,
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]iccocgindicator
  • 1 re-compute cocg matrix (for iterative gradients)
  • 0 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]iccocgindicator
  • 1 re-compute cocg matrix (for iterative gradients)
  • 0 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 cs_int_t  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]secvifsecondary viscosity at interior faces
[in]secvibsecondary 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  iccocg,
int  nswrgp,
int  imligp,
int  iphydp,
int  iwarnp,
double  epsrgp,
double  climgp,
double  extrap,
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 square gradient
[in]iccocgindicator
  • 1 re-compute cocg matrix (for iterative gradients)
  • 0 otherwise
[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]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]extrapcoefficient for extrapolation 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]iccocgindicator
  • 1 re-compute cocg matrix (for iterative gradients)
  • 0 otherwise
[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]epsrgprelative precision for the gradient reconstruction
[in]climgpclipping coeffecient for the computation of the gradient
[in]extrapcoefficient for extrapolation 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  iccocg,
int  nswrgp,
int  imligp,
int  ircflp,
int  iphydp,
int  iwgrp,
int  iwarnp,
double  epsrgp,
double  climgp,
double  extrap,
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 square gradient
[in]iccocgindicator
  • 1 re-compute cocg matrix (for iterativ gradients)
  • 0 otherwise
[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]extrapcoefficient for extrapolation 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]iccocgindicator
  • 1 re-compute cocg matrix (for iterativ gradients)
  • 0 otherwise
[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]extrapcoefficient for extrapolation 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  iccocg,
int  imasac,
cs_real_t *restrict  pvar,
const cs_real_t *restrict  pvara,
const cs_int_t  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]iccocgindicator
  • 1 re-compute cocg matrix (for iterative gradients)
  • 0 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]iccocgindicator
  • 1 re-compute cocg matrix (for iterative gradients)
  • 0 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  iccocg,
int  nswrgp,
int  imligp,
int  iphydp,
int  iwgrp,
int  iwarnp,
double  epsrgp,
double  climgp,
double  extrap,
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
\]

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 square gradient
[in]iccocgindicator
  • 1 re-compute cocg matrix (for iterative gradients)
  • 0 otherwise
[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]extrapcoefficient for extrapolation 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 informations.

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]iccocgindicator
  • 1 re-compute cocg matrix (for iterative gradients)
  • 0 otherwise
[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]extrapcoefficient for extrapolation 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_i_cd_steady()

static void cs_i_cd_steady ( const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of centered or SOLU 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()

static void cs_i_cd_steady_slope_test ( bool upwind_switch,
const int  iconvp,
const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of centered or SOLU 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()

static void cs_i_cd_steady_slope_test_tensor ( bool upwind_switch,
const int  iconvp,
const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of centered or SOLU 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()

static void cs_i_cd_steady_slope_test_vector ( bool upwind_switch,
const int  iconvp,
const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of centered or SOLU 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_old()

static void cs_i_cd_steady_slope_test_vector_old ( bool upwind_switch,
const int  iconvp,
const int  ircflp,
const int  ischcp,
const double  relaxp,
const double  blencp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of centered or SOLU scheme, (1-blencp) 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()

static void cs_i_cd_steady_tensor ( const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of centered or SOLU 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()

static void cs_i_cd_steady_upwind ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_i_cd_steady_upwind_tensor ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_i_cd_steady_upwind_vector ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_i_cd_steady_vector ( const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]relaxprelaxation coefficient
[in]blencpproportion of centered or SOLU 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()

static void cs_i_cd_unsteady ( const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of centered or SOLU 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()

static void cs_i_cd_unsteady_nvd ( const cs_nvd_type_t  limiter,
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]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]i_massfluxmass flux at 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()

static void cs_i_cd_unsteady_slope_test ( bool upwind_switch,
const int  iconvp,
const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of centered or SOLU 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()

static void cs_i_cd_unsteady_slope_test_tensor ( bool upwind_switch,
const int  iconvp,
const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of centered or SOLU 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()

static void cs_i_cd_unsteady_slope_test_vector ( bool upwind_switch,
const int  iconvp,
const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of centered or SOLU 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_old()

static void cs_i_cd_unsteady_slope_test_vector_old ( bool upwind_switch,
const int  iconvp,
const int  ircflp,
const int  ischcp,
const double  blencp,
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

DEPRECATED 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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of centered or SOLU scheme, (1-blencp) 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()

static void cs_i_cd_unsteady_tensor ( const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of centered or SOLU 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()

static void cs_i_cd_unsteady_upwind ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_i_cd_unsteady_upwind_tensor ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_i_cd_unsteady_upwind_vector ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_i_cd_unsteady_vector ( const int  ircflp,
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]ircflprecontruction flag
[in]ischcpsecond order convection scheme flag
[in]blencpproportion of centered or SOLU 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()

static void cs_i_compute_quantities ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_i_compute_quantities_tensor ( const int  ircflp,
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]ircflprecontruction flag
[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()

static void cs_i_compute_quantities_vector ( const int  ircflp,
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]ircflprecontruction flag
[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()

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 
)
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()

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] 
)
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()

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] 
)
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()

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_2_t  fluxij 
)
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()

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] 
)
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()

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] 
)
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()

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 
)
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()

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] 
)
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()

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] 
)
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_max_limiter_building()

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

Compute a coefficient for blending that ensures the positivity of the scalar.

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

◆ cs_nvd_scheme_scalar()

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 
)
inlinestatic

Compute the normalised face scalar using the specified NVD scheme.

Parameters
[in]schemechoice 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()

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 
)
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()

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 
)
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()

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 
)
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()

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 
)
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_old()

static void cs_slope_test_vector_old ( const cs_real_3_t  pi,
const cs_real_3_t  pj,
const cs_real_t  distf,
const cs_real_t  srfan,
const cs_real_3_t  i_face_normal,
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_t  i_massflux,
cs_real_t  testij[3],
cs_real_t  tesqck[3] 
)
inlinestatic

DEPRECATED 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()

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 
)
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()

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] 
)
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()

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] 
)
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_upwind_f_val()

static 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()

static 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()

static 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
[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 cs_int_t *const  f_id,
const cs_int_t *const  init,
const cs_int_t *const  inc,
const cs_int_t *const  imrgra,
const cs_int_t *const  iccocg,
const cs_int_t *const  nswrgp,
const cs_int_t *const  imligp,
const cs_int_t *const  iphydp,
const cs_int_t *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 cs_int_t *const  f_id,
const cs_int_t *const  init,
const cs_int_t *const  inc,
const cs_int_t *const  imrgra,
const cs_int_t *const  iccocg,
const cs_int_t *const  nswrgp,
const cs_int_t *const  imligp,
const cs_int_t *const  ircflp,
const cs_int_t *const  iphydp,
const cs_int_t *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 cs_int_t *const  f_id,
const cs_int_t *const  init,
const cs_int_t *const  inc,
const cs_int_t *const  imrgra,
const cs_int_t *const  iccocg,
const cs_int_t *const  nswrgp,
const cs_int_t *const  imligp,
const cs_int_t *const  iphydp,
const cs_int_t *const  iwgrp,
const cs_int_t *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 cs_int_t *const  f_id,
const cs_int_t *const  init,
const cs_int_t *const  inc,
const cs_int_t *const  imrgra,
const cs_int_t *const  iccocg,
const cs_int_t *const  nswrgp,
const cs_int_t *const  imligp,
const cs_int_t *const  ircflp,
const cs_int_t *const  iphydp,
const cs_int_t *const  iwgrp,
const cs_int_t *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[] 
)