8.3
general documentation
cs_cdo_advection.h File Reference
#include "cs_advection_field.h"
#include "cs_cdo_connect.h"
#include "cs_cdo_local.h"
#include "cs_cdo_quantities.h"
#include "cs_equation_param.h"
#include "cs_property.h"
+ Include dependency graph for cs_cdo_advection.h:

Go to the source code of this file.

Typedefs

typedef void() cs_cdofb_adv_open_hook_t(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. More...
 
typedef void() cs_cdofb_adv_scheme_t(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)
 Define the local convection operator in CDO-Fb schemes. Case of an operator that should be assemble into a matrix. Boundary conditions are also handled in this function. More...
 
typedef void() cs_cdofb_adv_build_t(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...
 
typedef void() cs_cdofb_adv_close_hook_t(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. More...
 
typedef void() cs_cdovb_advection_t(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. The local matrix related to this operator is stored in cb->loc. More...
 
typedef void() cs_cdovb_advection_bc_t(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 advection operator in CDO vertex-based (or vertex+cell-based) schemes. More...
 

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)
 Main function to 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...
 

Typedef Documentation

◆ cs_cdofb_adv_build_t

typedef void() cs_cdofb_adv_build_t(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.

This pointer of function manages how is build the advection term in a cell and it relies on the lower-level function cs_cdofb_adv_scheme_t

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in]scheme_funcfunction pointer to the scheme definition
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdofb_adv_close_hook_t

typedef void() cs_cdofb_adv_close_hook_t(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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in,out]csyspointer to a cs_cell_sys_t structure
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]advpointer to the local advection matrix

◆ cs_cdofb_adv_open_hook_t

typedef void() cs_cdofb_adv_open_hook_t(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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in,out]inputnull or pointer to a structure cast on-the-fly
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdofb_adv_scheme_t

typedef void() cs_cdofb_adv_scheme_t(int dim, const cs_cell_mesh_t *cm, const cs_cell_sys_t *csys, cs_cell_builder_t *cb, cs_sdm_t *adv)

Define the local convection operator in CDO-Fb schemes. Case of an operator that should be assemble into a matrix. Boundary conditions are also handled in this function.

Parameters
[in]dimdimension of the variable (1 or 3)
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in]cbpointer to a cs_cell_builder_t structure
[in,out]advpointer to a local matrix to build

◆ cs_cdovb_advection_bc_t

typedef void() cs_cdovb_advection_bc_t(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 advection operator in CDO vertex-based (or vertex+cell-based) schemes.

Parameters
[in]cmpointer to a cs_cell_mesh_t structure
[in]eqppointer to a cs_equation_param_t structure
[in]t_evaltime at which one evaluates the advection field
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]csyscell-wise structure storing the local system

◆ cs_cdovb_advection_t

typedef void() cs_cdovb_advection_t(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. The local matrix related to this operator is stored in cb->loc.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]diff_ptypointer to a cs_property_data_t structure
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure

Function Documentation

◆ cs_cdo_advection_cell_upwind_coef()

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.

Parameters
[in]cdoqpointer to the cdo quantities structure
[in]schemetype of scheme used for the advection term
[in,out]coefvalpointer to the pointer of real numbers to fill in: Peclet number in each cell out: value of the upwind coefficient

◆ cs_cdo_advection_vb_bc()

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.

Parameters
[in]cmpointer to a cs_cell_mesh_t structure
[in]eqppointer to a cs_equation_param_t structure
[in]t_evaltime at which one evaluates the advection field
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a convection builder structure
[in,out]csyscell-wise structure storing the local system

◆ cs_cdo_advection_vb_cencsv()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]diff_ptypointer to a cs_property_data_t structure
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdo_advection_vb_cennoc()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]diff_ptypointer to a cs_property_data_t structure
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdo_advection_vb_mcucsv()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]diff_ptypointer to a cs_property_data_t structure
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdo_advection_vb_mcunoc()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]diff_ptypointer to a cs_property_data_t structure
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdo_advection_vb_upwcsv()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]diff_ptypointer to a cs_property_data_t structure
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdo_advection_vb_upwcsv_wpty()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]diff_ptypointer to a cs_property_data_t structure
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdo_advection_vb_upwnoc()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]diff_ptypointer to a cs_property_data_t structure
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdo_advection_vb_upwnoc_wpty()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]diff_ptypointer to a cs_property_data_t structure
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdo_advection_vcb()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]diff_ptypointer to the property associated to diffusion
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdo_advection_vcb_bc()

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.

Parameters
[in]cmpointer to a cs_cell_mesh_t structure
[in]eqppointer to a cs_equation_param_t structure
[in]t_evaltime at which one evaluates the advection field
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]csyscell-wise structure storing the local system

◆ cs_cdo_advection_vcb_cw_cst()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]diff_ptypointer to the property associated to diffusion
[in,out]fmpointer to a cs_face_mesh_t structure
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdofb_advection()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in]scheme_funcpointer to the function building the system
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdofb_advection_cencsv()

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.

  • conservative formulation div(beta )
  • centered scheme Rely on the work performed during R. Milani's PhD

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

Parameters
[in]dimdimension of the variable (1 or 3)
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in]cbpointer to a cs_cell_builder_t structure
[in,out]advpointer to a local matrix to build

◆ cs_cdofb_advection_cennoc()

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.

  • non-conservative formulation beta.grad
  • centered scheme Rely on the work performed during R. Milani's PhD

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

Parameters
[in]dimdimension of the variable (1 or 3)
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in]cbpointer to a cs_cell_builder_t structure
[in,out]advpointer to a local matrix to build

◆ cs_cdofb_advection_close_default_scal()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in,out]csyspointer to a cs_cell_sys_t structure
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]advpointer to the local advection matrix

◆ cs_cdofb_advection_close_default_vect()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in,out]csyspointer to a cs_cell_sys_t structure
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]advpointer to the local advection matrix

◆ cs_cdofb_advection_close_exp_none_scal()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in,out]csyspointer to a cs_cell_sys_t structure
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]advpointer to the local advection matrix

◆ cs_cdofb_advection_close_exp_none_vect()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in,out]csyspointer to a cs_cell_sys_t structure
[in,out]cbpointer to a cs_cell_builder_t structure
[in,out]advpointer to the local advection matrix

◆ cs_cdofb_advection_no_diffusion()

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 
)

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in]scheme_funcpointer to the function building the system
[in,out]cbpointer to a cs_cell_builder_t structure

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in]scheme_funcpointer to the function building the system
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdofb_advection_open_default()

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.

Parameters
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in,out]inputnull or pointer to a structure cast on-the-fly
[in,out]cbpointer to a cs_cell_builder_t structure
[in]eqppointer to a cs_equation_param_t structure
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in,out]inputnullptr or pointer to a structure cast on-the-fly
[in,out]cbpointer to a cs_cell_builder_t structure

◆ cs_cdofb_advection_upwcsv()

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.

  • conservative formulation $ \nabla\cdot(\beta ) $
  • upwind scheme Rely on the work performed during R. Milani's PhD

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

Parameters
[in]dimdimension of the variable (1 or 3)
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in]cbpointer to a cs_cell_builder_t structure
[in,out]advpointer to a local matrix to build

◆ cs_cdofb_advection_upwnoc()

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.

  • non-conservative formulation $ \vec{beta} \cdot \nabla $
  • upwind scheme Rely on the work performed during R. Milani's PhD

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

Parameters
[in]dimdimension of the variable (1 or 3)
[in]cmpointer to a cs_cell_mesh_t structure
[in]csyspointer to a cs_cell_sys_t structure
[in]cbpointer to a cs_cell_builder_t structure
[in,out]advpointer to a local matrix to build