#include "cs_defs.h"#include "bft_mem.h"#include "cs_base.h"#include "cs_dispatch.h"#include "cs_halo.h"#include "cs_math.h"#include "cs_mesh_quantities.h"#include "cs_equation_param.h"Go to the source code of this file.
Enumerations | |
| enum | cs_nvd_type_t { CS_NVD_GAMMA = 0 , CS_NVD_SMART = 1 , CS_NVD_CUBISTA = 2 , CS_NVD_SUPERBEE = 3 , CS_NVD_MUSCL = 4 , CS_NVD_MINMOD = 5 , CS_NVD_CLAM = 6 , CS_NVD_STOIC = 7 , CS_NVD_OSHER = 8 , CS_NVD_WASEB = 9 , CS_NVD_VOF_HRIC = 10 , CS_NVD_VOF_CICSAM = 11 , CS_NVD_VOF_STACS = 12 , CS_NVD_N_TYPES = 13 } |
Functions | |
| cs_real_t * | cs_get_v_slope_test (int f_id, const cs_equation_param_t eqp) |
| void | cs_beta_limiter_building (int f_id, int inc, const cs_real_t rovsdt[]) |
| Compute the beta blending coefficient of the beta limiter (ensuring preservation of a given min/max pair of values). | |
| void | cs_convection_diffusion_scalar (int idtvar, int f_id, const cs_equation_param_t eqp, int icvflb, int inc, int imasac, cs_real_t *pvar, const cs_real_t *pvara, const int icvfli[], const cs_field_bc_coeffs_t *bc_coeffs, 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 *rhs) |
| Add the explicit part of the convection/diffusion terms of a standard transport equation of a scalar field | |
| void | cs_face_convection_scalar (int idtvar, int f_id, const cs_equation_param_t eqp, int icvflb, int inc, int imasac, cs_real_t *pvar, const cs_real_t *pvara, const int icvfli[], const cs_field_bc_coeffs_t *bc_coeffs, 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[]) |
| void | cs_convection_diffusion_vector (int idtvar, int f_id, const cs_equation_param_t eqp, int icvflb, int inc, int ivisep, int imasac, cs_real_3_t *pvar, const cs_real_3_t *pvara, const int icvfli[], const cs_field_bc_coeffs_t *bc_coeffs_v, 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 *i_pvar, cs_real_3_t *b_pvar, cs_real_3_t *rhs) |
| void | cs_convection_diffusion_tensor (int idtvar, int f_id, const cs_equation_param_t eqp, int icvflb, int inc, int imasac, cs_real_6_t *pvar, const cs_real_6_t *pvara, const cs_field_bc_coeffs_t *bc_coeffs_ts, 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 *rhs) |
| Add the explicit part of the convection/diffusion terms of a transport equation of a tensor field | |
| void | cs_convection_diffusion_thermal (int idtvar, int f_id, const cs_equation_param_t eqp, int inc, int imasac, cs_real_t *pvar, const cs_real_t *pvara, const cs_field_bc_coeffs_t *bc_coeffs, 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 *rhs) |
| Add the explicit part of the convection/diffusion terms of a transport equation of a scalar field | |
| void | cs_anisotropic_diffusion_scalar (int idtvar, int f_id, const cs_equation_param_t eqp, int inc, cs_real_t *pvar, const cs_real_t *pvara, const cs_field_bc_coeffs_t *bc_coeffs, 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 *rhs) |
| void | cs_anisotropic_left_diffusion_vector (int idtvar, int f_id, const cs_equation_param_t eqp, int inc, int ivisep, cs_real_3_t *pvar, const cs_real_3_t *pvara, const cs_field_bc_coeffs_t *bc_coeffs_v, const cs_real_33_t i_visc[], const cs_real_t b_visc[], const cs_real_t i_secvis[], cs_real_3_t *rhs) |
| void | cs_anisotropic_right_diffusion_vector (int idtvar, int f_id, const cs_equation_param_t eqp, int inc, cs_real_3_t *pvar, const cs_real_3_t *pvara, const cs_field_bc_coeffs_t *bc_coeffs_v, 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_3_t *rhs) |
| void | cs_anisotropic_diffusion_tensor (int idtvar, int f_id, const cs_equation_param_t eqp, int inc, cs_real_6_t *pvar, const cs_real_6_t *pvara, const cs_field_bc_coeffs_t *bc_coeffs_ts, 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_6_t *rhs) |
| void | cs_face_diffusion_potential (const int f_id, const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int init, int inc, int imrgra, int nswrgp, int imligp, int iphydp, int iwgrp, int iwarnp, double epsrgp, double climgp, cs_real_3_t *frcxt, cs_real_t *pvar, const cs_field_bc_coeffs_t *bc_coeffs, 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 | cs_face_anisotropic_diffusion_potential (const int f_id, const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int init, int inc, int imrgra, int nswrgp, int imligp, int ircflp, int ircflb, int iphydp, int iwgrp, int iwarnp, double epsrgp, double climgp, cs_real_3_t *frcxt, cs_real_t *pvar, const cs_field_bc_coeffs_t *bc_coeffs, 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 | cs_diffusion_potential (const int f_id, const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int init, int inc, int imrgra, int nswrgp, int imligp, int iphydp, int iwgrp, int iwarnp, double epsrgp, double climgp, cs_real_3_t *frcxt, cs_real_t *pvar, const cs_field_bc_coeffs_t *bc_coeffs, const cs_real_t i_visc[], const cs_real_t b_visc[], cs_real_t visel[], cs_real_t *diverg) |
| Update the cell mass flux divergence with the face pressure (or pressure increment, or pressure double increment) gradient. | |
| void | cs_anisotropic_diffusion_potential (const int f_id, const cs_mesh_t *m, cs_mesh_quantities_t *fvq, int init, int inc, int imrgra, int nswrgp, int imligp, int ircflp, int ircflb, int iphydp, int iwgrp, int iwarnp, double epsrgp, double climgp, cs_real_3_t *frcxt, cs_real_t *pvar, const cs_field_bc_coeffs_t *bc_coeffs, 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) |
| enum cs_nvd_type_t |
| void cs_anisotropic_diffusion_potential | ( | const int | f_id, |
| const cs_mesh_t * | m, | ||
| cs_mesh_quantities_t * | fvq, | ||
| int | init, | ||
| int | inc, | ||
| int | imrgra, | ||
| int | nswrgp, | ||
| int | imligp, | ||
| int | ircflp, | ||
| int | ircflb, | ||
| int | iphydp, | ||
| int | iwgrp, | ||
| int | iwarnp, | ||
| double | epsrgp, | ||
| double | climgp, | ||
| cs_real_3_t * | frcxt, | ||
| cs_real_t * | pvar, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs, | ||
| 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_anisotropic_diffusion_scalar | ( | int | idtvar, |
| int | f_id, | ||
| const cs_equation_param_t | eqp, | ||
| int | inc, | ||
| cs_real_t * | pvar, | ||
| const cs_real_t * | pvara, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs, | ||
| 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 * | rhs ) |
| void cs_anisotropic_diffusion_tensor | ( | int | idtvar, |
| int | f_id, | ||
| const cs_equation_param_t | eqp, | ||
| int | inc, | ||
| cs_real_6_t * | pvar, | ||
| const cs_real_6_t * | pvara, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs_ts, | ||
| 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_6_t * | rhs ) |
| void cs_anisotropic_left_diffusion_vector | ( | int | idtvar, |
| int | f_id, | ||
| const cs_equation_param_t | eqp, | ||
| int | inc, | ||
| int | ivisep, | ||
| cs_real_3_t * | pvar, | ||
| const cs_real_3_t * | pvara, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs_v, | ||
| const cs_real_33_t | i_visc[], | ||
| const cs_real_t | b_visc[], | ||
| const cs_real_t | i_secvis[], | ||
| cs_real_3_t * | rhs ) |
| void cs_anisotropic_right_diffusion_vector | ( | int | idtvar, |
| int | f_id, | ||
| const cs_equation_param_t | eqp, | ||
| int | inc, | ||
| cs_real_3_t * | pvar, | ||
| const cs_real_3_t * | pvara, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs_v, | ||
| 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_3_t * | rhs ) |
| void cs_beta_limiter_building | ( | int | f_id, |
| int | inc, | ||
| const cs_real_t | rovsdt[] ) |
Compute the beta blending coefficient of the beta limiter (ensuring preservation of a given min/max pair of values).
| [in] | f_id | field id |
| [in] | inc | "not an increment" flag |
| [in] | rovsdt | rho * volume / dt |
| void cs_convection_diffusion_scalar | ( | int | idtvar, |
| int | f_id, | ||
| const cs_equation_param_t | eqp, | ||
| int | icvflb, | ||
| int | inc, | ||
| int | imasac, | ||
| cs_real_t * | pvar, | ||
| const cs_real_t * | pvara, | ||
| const int | icvfli[], | ||
| const cs_field_bc_coeffs_t * | bc_coeffs, | ||
| 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 * | rhs ) |
Add the explicit part of the convection/diffusion terms of a standard transport equation of a scalar field 
More precisely, the right hand side 
![\[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)
\]](form_2.png)
Warning:

Please refer to the bilsc2 section of the theory guide for more informations.
| [in] | idtvar | indicator of the temporal scheme |
| [in] | f_id | field id (or -1) |
| [in] | eqp | equation parameters |
| [in] | icvflb | global indicator of boundary convection flux
|
| [in] | inc | indicator
|
| [in] | imasac | take mass accumulation into account? |
| [in] | pvar | solved variable (current time step) |
| [in] | pvara | solved variable (previous time step) |
| [in] | icvfli | boundary face indicator array of convection flux
|
| [in] | bc_coeffs | boundary condition structure for the variable |
| [in] | i_massflux | mass flux at interior faces |
| [in] | b_massflux | mass flux at boundary faces |
| [in] | i_visc | |
| [in] | b_visc | |
| [in,out] | rhs | right hand side |
| void cs_convection_diffusion_tensor | ( | int | idtvar, |
| int | f_id, | ||
| const cs_equation_param_t | eqp, | ||
| int | icvflb, | ||
| int | inc, | ||
| int | imasac, | ||
| cs_real_6_t * | pvar, | ||
| const cs_real_6_t * | pvara, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs_ts, | ||
| 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 * | rhs ) |
Add the explicit part of the convection/diffusion terms of a transport equation of a tensor field 
More precisely, the right hand side 
![\[ \tens{Rhs} = \tens{Rhs} - \sum_{\fij \in \Facei{\celli}} \left(
\dot{m}_\ij \left( \tens{\varia}_\fij - \tens{\varia}_\celli \right)
- \mu_\fij \gradt_\fij \tens{\varia} \cdot \tens{S}_\ij \right)
\]](form_19.png)
Warning:

| [in] | idtvar | indicator of the temporal scheme |
| [in] | f_id | index of the current variable |
| [in] | eqp | equation parameters |
| [in] | icvflb | global indicator of boundary convection flux
|
| [in] | inc | indicator
|
| [in] | imasac | take mass accumulation into account? |
| [in] | pvar | solved velocity (current time step) |
| [in] | pvara | solved velocity (previous time step) |
| [in] | bc_coeffs_ts | boundary condition structure for the variable |
| [in] | i_massflux | mass flux at interior faces |
| [in] | b_massflux | mass flux at boundary faces |
| [in] | i_visc | |
| [in] | b_visc | |
| [in,out] | rhs | right hand side |
| void cs_convection_diffusion_thermal | ( | int | idtvar, |
| int | f_id, | ||
| const cs_equation_param_t | eqp, | ||
| int | inc, | ||
| int | imasac, | ||
| cs_real_t * | pvar, | ||
| const cs_real_t * | pvara, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs, | ||
| 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 * | rhs ) |
Add the explicit part of the convection/diffusion terms of a transport equation of a scalar field 
More precisely, the right hand side 
![\[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)
\]](form_20.png)
Warning: 
| [in] | idtvar | indicator of the temporal scheme |
| [in] | f_id | index of the current variable |
| [in] | eqp | equation parameters) |
| [in] | inc | indicator
|
| [in] | imasac | take mass accumulation into account? |
| [in] | pvar | solved variable (current time step) |
| [in] | pvara | solved variable (previous time step) |
| [in] | bc_coeffs | boundary condition structure for the variable |
| [in] | i_massflux | mass flux at interior faces |
| [in] | b_massflux | mass flux at boundary faces |
| [in] | i_visc | |
| [in] | b_visc | |
| [in] | xcpp | array of specific heat ( |
| [in,out] | rhs | right hand side |
| void cs_convection_diffusion_vector | ( | int | idtvar, |
| int | f_id, | ||
| const cs_equation_param_t | eqp, | ||
| int | icvflb, | ||
| int | inc, | ||
| int | ivisep, | ||
| int | imasac, | ||
| cs_real_3_t * | pvar, | ||
| const cs_real_3_t * | pvara, | ||
| const int | icvfli[], | ||
| const cs_field_bc_coeffs_t * | bc_coeffs_v, | ||
| 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 * | i_pvar, | ||
| cs_real_3_t * | b_pvar, | ||
| cs_real_3_t * | rhs ) |
| void cs_diffusion_potential | ( | const int | f_id, |
| const cs_mesh_t * | m, | ||
| cs_mesh_quantities_t * | fvq, | ||
| int | init, | ||
| int | inc, | ||
| int | imrgra, | ||
| int | nswrgp, | ||
| int | imligp, | ||
| int | iphydp, | ||
| int | iwgrp, | ||
| int | iwarnp, | ||
| double | epsrgp, | ||
| double | climgp, | ||
| cs_real_3_t * | frcxt, | ||
| cs_real_t * | pvar, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs, | ||
| const cs_real_t | i_visc[], | ||
| const cs_real_t | b_visc[], | ||
| cs_real_t | visel[], | ||
| cs_real_t * | 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
\]](form_29.png)
| [in] | f_id | field id (or -1) |
| [in] | m | pointer to mesh |
| [in] | fvq | pointer to finite volume quantities |
| [in] | init | indicator
|
| [in] | inc | indicator
|
| [in] | imrgra | indicator
|
| [in] | nswrgp | number of reconstruction sweeps for the gradients |
| [in] | imligp | clipping gradient method
|
| [in] | iphydp | hydrostatic pressure indicator |
| [in] | iwarnp | verbosity |
| [in] | iwgrp | indicator
|
| [in] | epsrgp | relative precision for the gradient reconstruction |
| [in] | climgp | clipping coeffecient for the computation of the gradient |
| [in] | frcxt | body force creating the hydrostatic pressure |
| [in] | pvar | solved variable (current time step) |
| [in] | bc_coeffs | boundary condition structure for the variable |
| [in] | i_visc | |
| [in] | b_visc | |
| [in] | visel | viscosity by cell |
| [in,out] | diverg | mass flux divergence |
| void cs_face_anisotropic_diffusion_potential | ( | const int | f_id, |
| const cs_mesh_t * | m, | ||
| cs_mesh_quantities_t * | fvq, | ||
| int | init, | ||
| int | inc, | ||
| int | imrgra, | ||
| int | nswrgp, | ||
| int | imligp, | ||
| int | ircflp, | ||
| int | ircflb, | ||
| int | iphydp, | ||
| int | iwgrp, | ||
| int | iwarnp, | ||
| double | epsrgp, | ||
| double | climgp, | ||
| cs_real_3_t * | frcxt, | ||
| cs_real_t * | pvar, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs, | ||
| 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 cs_face_convection_scalar | ( | int | idtvar, |
| int | f_id, | ||
| const cs_equation_param_t | eqp, | ||
| int | icvflb, | ||
| int | inc, | ||
| int | imasac, | ||
| cs_real_t * | pvar, | ||
| const cs_real_t * | pvara, | ||
| const int | icvfli[], | ||
| const cs_field_bc_coeffs_t * | bc_coeffs, | ||
| 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[] ) |
| void cs_face_diffusion_potential | ( | const int | f_id, |
| const cs_mesh_t * | m, | ||
| cs_mesh_quantities_t * | fvq, | ||
| int | init, | ||
| int | inc, | ||
| int | imrgra, | ||
| int | nswrgp, | ||
| int | imligp, | ||
| int | iphydp, | ||
| int | iwgrp, | ||
| int | iwarnp, | ||
| double | epsrgp, | ||
| double | climgp, | ||
| cs_real_3_t * | frcxt, | ||
| cs_real_t * | pvar, | ||
| const cs_field_bc_coeffs_t * | bc_coeffs, | ||
| 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 ) |
| cs_real_t * cs_get_v_slope_test | ( | int | f_id, |
| const cs_equation_param_t | eqp ) |