Build discrete advection operators for CDO vertex-based schemes. More...
#include "cs_defs.h"
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <float.h>
#include <assert.h>
#include <bft_mem.h>
#include "cs_cdo_bc.h"
#include "cs_flag.h"
#include "cs_property.h"
#include "cs_math.h"
#include "cs_scheme_geometry.h"
#include "cs_cdo_advection.h"
Functions | |
void | cs_cdofb_advection_open_default (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, void *input, cs_cell_builder_t *cb) |
Perform preprocessing such as the computation of the advection flux at the expected location in order to be able to build the advection matrix. Follow the prototype given by cs_cdofb_adv_open_hook_t Default case. More... | |
void | cs_cdofb_advection_close_default_scal (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv) |
Operation done after the matrix related to the advection term has been defined. Follow the prototype given by cs_cdofb_adv_close_hook_t Default scalar-valued case. More... | |
void | cs_cdofb_advection_close_default_vect (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv) |
Operation done after the matrix related to the advection term has been defined. Follow the prototype given by cs_cdofb_adv_close_hook_t Default vector-valued case. More... | |
void | cs_cdofb_advection_close_exp_none_scal (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv) |
Operation done after the matrix related to the advection term has been defined. Follow the prototype given by cs_cdofb_adv_close_hook_t Explicit treatment without extrapolation for scalar-valued DoFs. More... | |
void | cs_cdofb_advection_close_exp_none_vect (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv) |
Operation done after the matrix related to the advection term has been defined. Follow the prototype given by cs_cdofb_adv_close_hook_t Explicit treatment without extrapolation for vector-valued DoFs. More... | |
void | cs_cdofb_advection_no_diffusion (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cdofb_adv_scheme_t *scheme_func, cs_cell_builder_t *cb) |
Build the cellwise advection operator for CDO-Fb schemes The local matrix related to this operator is stored in cb->loc. More... | |
void | cs_cdofb_advection (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cdofb_adv_scheme_t *scheme_func, cs_cell_builder_t *cb) |
Main function to build the cellwise advection operator for CDO face-based schemes. The local matrix related to this operator is stored in cb->loc. More... | |
void | cs_cdofb_advection_upwnoc (int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv) |
Compute the convection operator attached to a cell with a CDO face-based scheme. More... | |
void | cs_cdofb_advection_upwcsv (int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv) |
Compute the convection operator attached to a cell with a CDO face-based scheme. More... | |
void | cs_cdofb_advection_cennoc (int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv) |
Compute the convection operator attached to a cell with a CDO face-based scheme. More... | |
void | cs_cdofb_advection_cencsv (int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv) |
Compute the convection operator attached to a cell with a CDO face-based scheme. More... | |
void | cs_cdo_advection_vb_upwcsv_wpty (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme with an upwind scheme and a conservative formulation. The portion of upwinding relies on an evaluation of the weigth associated to the given property The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t. More... | |
void | cs_cdo_advection_vb_upwcsv (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme without diffusion and an upwind scheme and a conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t. More... | |
void | cs_cdo_advection_vb_cencsv (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a centered scheme and a conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t. More... | |
void | cs_cdo_advection_vb_mcucsv (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a mixed centered/upwind scheme with a conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t. More... | |
void | cs_cdo_advection_vb_mcunoc (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a mixed centered/upwind scheme with a non-conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t. More... | |
void | cs_cdo_advection_vb_upwnoc_wpty (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme with an upwind scheme and a conservative formulation. The portion of upwinding relies on an evaluation of the weigth associated to the given property. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t. More... | |
void | cs_cdo_advection_vb_upwnoc (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme without diffusion when an upwind scheme and a conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t. More... | |
void | cs_cdo_advection_vb_cennoc (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a centered scheme and a non-conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t. More... | |
void | cs_cdo_advection_vcb_cw_cst (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb) |
Compute the convection operator attached to a cell with a CDO vertex+cell-based scheme when the advection field is cellwise constant. More... | |
void | cs_cdo_advection_vcb (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, const cs_property_data_t *diff_pty, cs_face_mesh_t *fm, cs_cell_builder_t *cb) |
Compute the convection operator attached to a cell with a CDO vertex+cell-based scheme. More... | |
void | cs_cdo_advection_vb_bc (const cs_cell_mesh_t *cm, const cs_equation_param_t *eqp, cs_real_t t_eval, cs_face_mesh_t *fm, cs_cell_builder_t *cb, cs_cell_sys_t *csys) |
Compute the BC contribution for the convection operator. More... | |
void | cs_cdo_advection_vcb_bc (const cs_cell_mesh_t *cm, const cs_equation_param_t *eqp, cs_real_t t_eval, cs_face_mesh_t *fm, cs_cell_builder_t *cb, cs_cell_sys_t *csys) |
Compute the BC contribution for the convection operator with CDO V+C schemes. More... | |
void | cs_cdo_advection_cell_upwind_coef (const cs_cdo_quantities_t *cdoq, cs_param_advection_scheme_t scheme, cs_real_t coefval[]) |
Compute the value of the upwinding coefficient in each cell knowing the related Peclet number. More... | |
Build discrete advection operators for CDO vertex-based schemes.
void cs_cdo_advection_cell_upwind_coef | ( | const cs_cdo_quantities_t * | cdoq, |
cs_param_advection_scheme_t | scheme, | ||
cs_real_t | coefval[] | ||
) |
Compute the value of the upwinding coefficient in each cell knowing the related Peclet number.
[in] | cdoq | pointer to the cdo quantities structure |
[in] | scheme | type of scheme used for the advection term |
[in,out] | coefval | pointer to the pointer of real numbers to fill in: Peclet number in each cell out: value of the upwind coefficient |
void cs_cdo_advection_vb_bc | ( | const cs_cell_mesh_t * | cm, |
const cs_equation_param_t * | eqp, | ||
cs_real_t | t_eval, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb, | ||
cs_cell_sys_t * | csys | ||
) |
Compute the BC contribution for the convection operator.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | t_eval | time at which one evaluates the advection field |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a convection builder structure |
[in,out] | csys | cell-wise structure storing the local system |
void cs_cdo_advection_vb_cencsv | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_property_data_t * | diff_pty, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb | ||
) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a centered scheme and a conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | diff_pty | pointer to a cs_property_data_t structure |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdo_advection_vb_cennoc | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_property_data_t * | diff_pty, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb | ||
) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a centered scheme and a non-conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | diff_pty | pointer to a cs_property_data_t structure |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdo_advection_vb_mcucsv | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_property_data_t * | diff_pty, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb | ||
) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a mixed centered/upwind scheme with a conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | diff_pty | pointer to a cs_property_data_t structure |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdo_advection_vb_mcunoc | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_property_data_t * | diff_pty, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb | ||
) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme when a mixed centered/upwind scheme with a non-conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | diff_pty | pointer to a cs_property_data_t structure |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdo_advection_vb_upwcsv | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_property_data_t * | diff_pty, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb | ||
) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme without diffusion and an upwind scheme and a conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | diff_pty | pointer to a cs_property_data_t structure |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdo_advection_vb_upwcsv_wpty | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_property_data_t * | diff_pty, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb | ||
) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme with an upwind scheme and a conservative formulation. The portion of upwinding relies on an evaluation of the weigth associated to the given property The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | diff_pty | pointer to a cs_property_data_t structure |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdo_advection_vb_upwnoc | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_property_data_t * | diff_pty, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb | ||
) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme without diffusion when an upwind scheme and a conservative formulation is used. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | diff_pty | pointer to a cs_property_data_t structure |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdo_advection_vb_upwnoc_wpty | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_property_data_t * | diff_pty, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb | ||
) |
Compute the convection operator attached to a cell with a CDO vertex-based scheme with an upwind scheme and a conservative formulation. The portion of upwinding relies on an evaluation of the weigth associated to the given property. The local matrix related to this operator is stored in cb->loc Predefined prototype to match the function pointer cs_cdovb_advection_t.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | diff_pty | pointer to a cs_property_data_t structure |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdo_advection_vcb | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_property_data_t * | diff_pty, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb | ||
) |
Compute the convection operator attached to a cell with a CDO vertex+cell-based scheme.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | diff_pty | pointer to the property associated to diffusion |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdo_advection_vcb_bc | ( | const cs_cell_mesh_t * | cm, |
const cs_equation_param_t * | eqp, | ||
cs_real_t | t_eval, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb, | ||
cs_cell_sys_t * | csys | ||
) |
Compute the BC contribution for the convection operator with CDO V+C schemes.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | t_eval | time at which one evaluates the advection field |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
[in,out] | csys | cell-wise structure storing the local system |
void cs_cdo_advection_vcb_cw_cst | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_property_data_t * | diff_pty, | ||
cs_face_mesh_t * | fm, | ||
cs_cell_builder_t * | cb | ||
) |
Compute the convection operator attached to a cell with a CDO vertex+cell-based scheme when the advection field is cellwise constant.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | diff_pty | pointer to the property associated to diffusion |
[in,out] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdofb_advection | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_cell_sys_t * | csys, | ||
cs_cdofb_adv_scheme_t * | scheme_func, | ||
cs_cell_builder_t * | cb | ||
) |
Main function to build the cellwise advection operator for CDO face-based schemes. The local matrix related to this operator is stored in cb->loc.
One assumes that a diffusion term is present so that there is no need to perform additional checkings on the well-posedness of the operator.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | csys | pointer to a cs_cell_sys_t structure |
[in] | scheme_func | pointer to the function building the system |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdofb_advection_cencsv | ( | int | dim, |
const cs_cell_mesh_t * | cm, | ||
const cs_cell_sys_t * | csys, | ||
cs_cell_builder_t * | cb, | ||
cs_sdm_t * | adv | ||
) |
Compute the convection operator attached to a cell with a CDO face-based scheme.
A scalar-valued version is built. Only the enforcement of the boundary condition depends on the variable dimension. Remark: Usually the local matrix called hereafter adv is stored in cb->loc
[in] | dim | dimension of the variable (1 or 3) |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | csys | pointer to a cs_cell_sys_t structure |
[in] | cb | pointer to a cs_cell_builder_t structure |
[in,out] | adv | pointer to a local matrix to build |
void cs_cdofb_advection_cennoc | ( | int | dim, |
const cs_cell_mesh_t * | cm, | ||
const cs_cell_sys_t * | csys, | ||
cs_cell_builder_t * | cb, | ||
cs_sdm_t * | adv | ||
) |
Compute the convection operator attached to a cell with a CDO face-based scheme.
A scalar-valued version is built. Only the enforcement of the boundary condition depends on the variable dimension. Remark: Usually the local matrix called hereafter adv is stored in cb->loc
[in] | dim | dimension of the variable (1 or 3) |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | csys | pointer to a cs_cell_sys_t structure |
[in] | cb | pointer to a cs_cell_builder_t structure |
[in,out] | adv | pointer to a local matrix to build |
void cs_cdofb_advection_close_default_scal | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_cell_sys_t * | csys, | ||
cs_cell_builder_t * | cb, | ||
cs_sdm_t * | adv | ||
) |
Operation done after the matrix related to the advection term has been defined. Follow the prototype given by cs_cdofb_adv_close_hook_t Default scalar-valued case.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in,out] | csys | pointer to a cs_cell_sys_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
[in,out] | adv | pointer to the local advection matrix |
void cs_cdofb_advection_close_default_vect | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_cell_sys_t * | csys, | ||
cs_cell_builder_t * | cb, | ||
cs_sdm_t * | adv | ||
) |
Operation done after the matrix related to the advection term has been defined. Follow the prototype given by cs_cdofb_adv_close_hook_t Default vector-valued case.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in,out] | csys | pointer to a cs_cell_sys_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
[in,out] | adv | pointer to the local advection matrix |
void cs_cdofb_advection_close_exp_none_scal | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_cell_sys_t * | csys, | ||
cs_cell_builder_t * | cb, | ||
cs_sdm_t * | adv | ||
) |
Operation done after the matrix related to the advection term has been defined. Follow the prototype given by cs_cdofb_adv_close_hook_t Explicit treatment without extrapolation for scalar-valued DoFs.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in,out] | csys | pointer to a cs_cell_sys_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
[in,out] | adv | pointer to the local advection matrix |
void cs_cdofb_advection_close_exp_none_vect | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_cell_sys_t * | csys, | ||
cs_cell_builder_t * | cb, | ||
cs_sdm_t * | adv | ||
) |
Operation done after the matrix related to the advection term has been defined. Follow the prototype given by cs_cdofb_adv_close_hook_t Explicit treatment without extrapolation for vector-valued DoFs.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in,out] | csys | pointer to a cs_cell_sys_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
[in,out] | adv | pointer to the local advection matrix |
void cs_cdofb_advection_no_diffusion | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_cell_sys_t * | csys, | ||
cs_cdofb_adv_scheme_t * | scheme_func, | ||
cs_cell_builder_t * | cb | ||
) |
Build the cellwise advection operator for CDO-Fb schemes The local matrix related to this operator is stored in cb->loc.
Main function to build the cellwise advection operator for CDO-Fb schemes The local matrix related to this operator is stored in cb->loc.
Case of an advection term without a diffusion operator. In this situation, a numerical issue may arise if an internal or a border face is such that there is no advective flux. A special treatment is performed to tackle this issue.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | csys | pointer to a cs_cell_sys_t structure |
[in] | scheme_func | pointer to the function building the system |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdofb_advection_open_default | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
const cs_cell_sys_t * | csys, | ||
void * | input, | ||
cs_cell_builder_t * | cb | ||
) |
Perform preprocessing such as the computation of the advection flux at the expected location in order to be able to build the advection matrix. Follow the prototype given by cs_cdofb_adv_open_hook_t Default case.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | csys | pointer to a cs_cell_sys_t structure |
[in,out] | input | nullptr or pointer to a structure cast on-the-fly |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
void cs_cdofb_advection_upwcsv | ( | int | dim, |
const cs_cell_mesh_t * | cm, | ||
const cs_cell_sys_t * | csys, | ||
cs_cell_builder_t * | cb, | ||
cs_sdm_t * | adv | ||
) |
Compute the convection operator attached to a cell with a CDO face-based scheme.
A scalar-valued version is built. Only the enforcement of the boundary condition depends on the variable dimension. Remark: Usually the local matrix called hereafter adv is stored in cb->loc
[in] | dim | dimension of the variable (1 or 3) |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | csys | pointer to a cs_cell_sys_t structure |
[in] | cb | pointer to a cs_cell_builder_t structure |
[in,out] | adv | pointer to a local matrix to build |
void cs_cdofb_advection_upwnoc | ( | int | dim, |
const cs_cell_mesh_t * | cm, | ||
const cs_cell_sys_t * | csys, | ||
cs_cell_builder_t * | cb, | ||
cs_sdm_t * | adv | ||
) |
Compute the convection operator attached to a cell with a CDO face-based scheme.
A scalar-valued version is built. Only the enforcement of the boundary condition depends on the variable dimension. Remark: Usually the local matrix called hereafter adv is stored in cb->loc
[in] | dim | dimension of the variable (1 or 3) |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | csys | pointer to a cs_cell_sys_t structure |
[in] | cb | pointer to a cs_cell_builder_t structure |
[in,out] | adv | pointer to a local matrix to build |