My Project
programmer's documentation
|
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 <limits.h>
#include <assert.h>
#include <bft_mem.h>
#include "cs_cdo_bc.h"
#include "cs_hodge.h"
#include "cs_math.h"
#include "cs_scheme_geometry.h"
#include "cs_cdo_advection.h"
Functions | |
static double | _get_upwind_weight (double criterion) |
Compute the weight of upwinding for an upwind scheme. More... | |
static double | _get_samarskii_weight (double criterion) |
Compute the weight of upwinding for an Samarskii scheme. More... | |
static double | _get_sg_weight (double criterion) |
Compute the weight of upwinding for an Sharfetter-Gummel scheme. More... | |
static _upwind_weight_t * | _assign_weight_func (const cs_param_advection_scheme_t scheme) |
Retrieve the function related to the kind of upwind weighting. More... | |
static short int | _set_fquant (const cs_cell_mesh_t *cm, short int e, short int f, const double *tef, double *wvf) |
Retrieve the face edge id from a given cell edge id. Compute the weights related to each vertex of face from pre-computed quantities. More... | |
static void | _assemble_face (const cs_cell_mesh_t *cm, const cs_face_mesh_t *fm, const cs_sdm_t *af, cs_sdm_t *ac) |
Assemble a face matrix into a cell matrix. More... | |
static void | _build_cell_epcd_upw (const cs_cell_mesh_t *cm, _upwind_weight_t *get_weight, const cs_real_t fluxes[], const cs_real_t upwcoef[], cs_sdm_t *adv) |
Define the local convection operator between primal vertices and dual faces. (Conservative formulation and Upwind flux) More... | |
static void | _build_cell_epcd_cen (const cs_cell_mesh_t *cm, const cs_real_t fluxes[], cs_sdm_t *adv) |
Define the local convection operator between primal vertices and dual faces. (Non-conservative formulation and centered flux) More... | |
static void | _build_cell_vpfd_upw (const cs_cell_mesh_t *cm, _upwind_weight_t *get_weight, const cs_real_t fluxes[], const cs_real_t upwcoef[], cs_sdm_t *adv) |
Define the local convection operator between primal vertices and dual faces. (Conservative formulation and Upwind flux) More... | |
static void | _build_cell_vpfd_cen (const cs_cell_mesh_t *cm, const cs_real_t fluxes[], cs_sdm_t *adv) |
Define the local convection operator between primal vertices and dual faces. (Conservative formulation and centered flux) More... | |
static void | _build_cell_vpfd_mcu (const cs_cell_mesh_t *cm, const cs_real_t upwp, const cs_real_t fluxes[], cs_sdm_t *adv) |
Define the local convection operator between primal vertices and dual faces. (Conservative formulation and mixed centered/upwind) More... | |
static void | _update_vcb_system_with_bc (const cs_real_t beta_nf, const cs_face_mesh_t *fm, const cs_sdm_t *matf, cs_cell_sys_t *csys) |
Update the cellwise system with the contributions arising from the boundary conditions. More... | |
static void | _vcb_cellwise_consistent_part (const cs_nvec3_t adv_cell, const cs_cell_mesh_t *cm, const cs_face_mesh_t *fm, cs_cell_builder_t *cb) |
Compute the consistent part of the convection operator attached to a cell with a CDO vertex+cell-based scheme when the advection is considered as constant inside a cell. More... | |
static void | _vcb_consistent_part (const cs_adv_field_t *adv_field, const cs_nvec3_t adv_cell, const cs_cell_mesh_t *cm, const cs_face_mesh_t *fm, cs_real_t t_eval, cs_cell_builder_t *cb) |
Compute the consistent part of the convection operator attached to a cell with a CDO vertex+cell-based scheme when the advection field is not considered constant inside the current cell. More... | |
static void | _vcb_stabilization_part1 (const cs_cell_mesh_t *cm, const cs_face_mesh_t *fm, const double stab_coef, cs_cell_builder_t *cb) |
Compute the stabilization part of the convection operator attached to a cell with a CDO vertex+cell-based scheme (inside pfc) More... | |
static void | _vcb_stabilization_part2 (const cs_cell_mesh_t *cm, const double stab_coef, cs_cell_builder_t *cb) |
Compute the stabilization part of the convection operator attached to a cell with a CDO vertex+cell-based scheme (between pfc) More... | |
void | cs_cdo_advection_set_cip_coef (double new_value) |
Set the value of the stabilization coefficient used in CIP scheme. More... | |
double | cs_cdo_advection_get_cip_coef (void) |
Get the value of the stabilization coefficient used in CIP scheme. More... | |
void | cs_cdofb_advection_build (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_real_t t_eval, cs_cdofb_advection_t *build_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_cdo_advection_fb_bc (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_builder_t *cb, cs_cell_sys_t *csys) |
Add the contribution of the boundary conditions to the local system in CDO-Fb schemes (without diffusion) More... | |
void | cs_cdo_advection_fb_bc_wdi (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_builder_t *cb, cs_cell_sys_t *csys) |
Add the contribution of the boundary conditions to the local system in CDO-Fb schemes (with a diffusion term activated) More... | |
void | cs_cdo_advection_fb_bc_v (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_builder_t *cb, cs_cell_sys_t *csys) |
Add the contribution of the boundary conditions to the local system in CDO-Fb schemes (without diffusion). Vector-valued case. More... | |
void | cs_cdo_advection_fb_bc_wdi_v (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_cell_builder_t *cb, cs_cell_sys_t *csys) |
Add the contribution of the boundary conditions to the local system in CDO-Fb schemes (with a diffusion term activated). Vector-valued case. More... | |
void | cs_cdo_advection_fb_upwcsv (const cs_cell_mesh_t *cm, const cs_real_t fluxes[], cs_sdm_t *adv) |
Compute the convection operator attached to a cell with a CDO face-based scheme in the conservative formulation. More... | |
void | cs_cdo_advection_fb_upwcsv_di (const cs_cell_mesh_t *cm, const cs_real_t fluxes[], cs_sdm_t *adv) |
Compute the convection operator attached to a cell with a CDO face-based scheme in the conservative formulation. More... | |
void | cs_cdo_advection_fb_upwnoc (const cs_cell_mesh_t *cm, const cs_real_t fluxes[], cs_sdm_t *adv) |
Compute the convection operator attached to a cell with a CDO face-based scheme in the non-conservative formulation. More... | |
void | cs_cdo_advection_fb_upwnoc_di (const cs_cell_mesh_t *cm, const cs_real_t fluxes[], cs_sdm_t *adv) |
Compute the convection operator attached to a cell with a CDO face-based scheme in the non-conservative formulation. More... | |
void | cs_cdo_advection_vb_upwcsv_di (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_real_t t_eval, 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 diffusion is activated and an upwind scheme and a conservative formulation is used The local matrix related to this operator is stored in cb->loc. More... | |
void | cs_cdo_advection_vb_upwcsv (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_real_t t_eval, 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. More... | |
void | cs_cdo_advection_vb_cencsv (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_real_t t_eval, 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. More... | |
void | cs_cdo_advection_vb_mcucsv (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_real_t t_eval, 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. More... | |
void | cs_cdo_advection_vb_upwnoc_di (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_real_t t_eval, 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 diffusion is activated and an upwind scheme and a conservative formulation is used The local matrix related to this operator is stored in cb->loc. More... | |
void | cs_cdo_advection_vb_upwnoc (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_real_t t_eval, 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. More... | |
void | cs_cdo_advection_vb_cennoc (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_real_t t_eval, 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. More... | |
void | cs_cdo_advection_vcb_cw_cst (const cs_equation_param_t *eqp, const cs_cell_mesh_t *cm, cs_real_t t_eval, 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, cs_real_t t_eval, 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.
|
static |
Assemble a face matrix into a cell matrix.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | fm | pointer to a cs_face_mesh_t structure |
[in] | af | pointer to a cs_sdm_t structure related to a face |
[in,out] | ac | pointer to a cs_sdm_t structure related to a cell |
|
inlinestatic |
Retrieve the function related to the kind of upwind weighting.
[in] | scheme | scheme used for discretizing the advection term |
|
static |
Define the local convection operator between primal vertices and dual faces. (Non-conservative formulation and centered flux)
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | fluxes | array of fluxes on dual faces |
[in,out] | adv | pointer to a cs_sdm_t structure |
|
static |
Define the local convection operator between primal vertices and dual faces. (Conservative formulation and Upwind flux)
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | get_weight | pointer to a function for evaluating upw. weight |
[in] | fluxes | array of fluxes on dual faces |
[in] | upwcoef | array of coefficient to the weight the upwinding |
[in,out] | adv | pointer to a cs_sdm_t structure |
|
static |
Define the local convection operator between primal vertices and dual faces. (Conservative formulation and centered flux)
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | fluxes | array of fluxes on dual faces |
[in,out] | adv | pointer to a cs_sdm_t structure |
|
static |
Define the local convection operator between primal vertices and dual faces. (Conservative formulation and mixed centered/upwind)
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | upwp | portion of upwinding to apply |
[in] | fluxes | array of fluxes on dual faces |
[in,out] | adv | pointer to a cs_sdm_t structure |
|
static |
Define the local convection operator between primal vertices and dual faces. (Conservative formulation and Upwind flux)
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | get_weight | pointer to a function for evaluating upw. weight |
[in] | fluxes | array of fluxes on dual faces |
[in] | upwcoef | array of coefficient to the weight the upwinding |
[in,out] | adv | pointer to a cs_sdm_t structure |
|
inlinestatic |
Compute the weight of upwinding for an Samarskii scheme.
[in] | criterion | dot product between advection and normal vectors or estimation of a local Peclet number |
|
inlinestatic |
Compute the weight of upwinding for an Sharfetter-Gummel scheme.
[in] | criterion | dot product between advection and normal vectors or estimation of a local Peclet number |
|
inlinestatic |
Compute the weight of upwinding for an upwind scheme.
[in] | criterion | dot product between advection and normal vectors or estimation of a local Peclet number |
|
inlinestatic |
Retrieve the face edge id from a given cell edge id. Compute the weights related to each vertex of face from pre-computed quantities.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | e | edge id in the cell numbering |
[in] | f | face id in the cell numbering |
[in] | tef | value of the area of the triangles tef |
[in,out] | wvf | weights of vertices for the current face |
|
static |
Update the cellwise system with the contributions arising from the boundary conditions.
[in] | beta_nf | advection field coefficient |
[in] | fm | pointer to a cs_face_mesh_t structure |
[in] | matf | pointer to a local dense matrix related to a face |
[in,out] | csys | pointer to a cs_cell_sys_t structure |
|
static |
Compute the consistent part of the convection operator attached to a cell with a CDO vertex+cell-based scheme when the advection is considered as constant inside a cell.
[in] | adv_cell | constant vector field inside the current cell |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | fm | pointer to a cs_face_mesh_t structure |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
|
static |
Compute the consistent part of the convection operator attached to a cell with a CDO vertex+cell-based scheme when the advection field is not considered constant inside the current cell.
[in] | adv_field | pointer to a cs_adv_field_t structure |
[in] | adv_cell | constant vector field inside the current cell |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | fm | pointer to a cs_face_mesh_t structure |
[in] | t_eval | time at which one evaluates the advection field |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
|
static |
Compute the stabilization part of the convection operator attached to a cell with a CDO vertex+cell-based scheme (inside pfc)
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | fm | pointer to a cs_face_mesh_t structure |
[in] | stab_coef | default value of the stabilization coefficient |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
|
static |
Compute the stabilization part of the convection operator attached to a cell with a CDO vertex+cell-based scheme (between pfc)
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | stab_coef | value of the stabilization coefficient |
[in,out] | cb | pointer to a cs_cell_builder_t structure |
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_fb_bc | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_cell_builder_t * | cb, | ||
cs_cell_sys_t * | csys | ||
) |
Add the contribution of the boundary conditions to the local system in CDO-Fb schemes (without diffusion)
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_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_fb_bc_v | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_cell_builder_t * | cb, | ||
cs_cell_sys_t * | csys | ||
) |
Add the contribution of the boundary conditions to the local system in CDO-Fb schemes (without diffusion). 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] | cb | pointer to a convection builder structure |
[in,out] | csys | cell-wise structure storing the local system |
void cs_cdo_advection_fb_bc_wdi | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_cell_builder_t * | cb, | ||
cs_cell_sys_t * | csys | ||
) |
Add the contribution of the boundary conditions to the local system in CDO-Fb schemes (with a diffusion term activated)
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_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_fb_bc_wdi_v | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_cell_builder_t * | cb, | ||
cs_cell_sys_t * | csys | ||
) |
Add the contribution of the boundary conditions to the local system in CDO-Fb schemes (with a diffusion term activated). 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] | cb | pointer to a convection builder structure |
[in,out] | csys | cell-wise structure storing the local system |
void cs_cdo_advection_fb_upwcsv | ( | const cs_cell_mesh_t * | cm, |
const cs_real_t | fluxes[], | ||
cs_sdm_t * | adv | ||
) |
Compute the convection operator attached to a cell with a CDO face-based scheme in the conservative formulation.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | fluxes | array of computed fluxes across cell faces |
[in,out] | adv | pointer to a local matrix to build |
void cs_cdo_advection_fb_upwcsv_di | ( | const cs_cell_mesh_t * | cm, |
const cs_real_t | fluxes[], | ||
cs_sdm_t * | adv | ||
) |
Compute the convection operator attached to a cell with a CDO face-based scheme in the conservative formulation.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | fluxes | array of computed fluxes across cell faces |
[in,out] | adv | pointer to a local matrix to build |
void cs_cdo_advection_fb_upwnoc | ( | const cs_cell_mesh_t * | cm, |
const cs_real_t | fluxes[], | ||
cs_sdm_t * | adv | ||
) |
Compute the convection operator attached to a cell with a CDO face-based scheme in the non-conservative formulation.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | fluxes | array of computed fluxes across cell faces |
[in,out] | cb | pointer to a local matrix to build |
void cs_cdo_advection_fb_upwnoc_di | ( | const cs_cell_mesh_t * | cm, |
const cs_real_t | fluxes[], | ||
cs_sdm_t * | adv | ||
) |
Compute the convection operator attached to a cell with a CDO face-based scheme in the non-conservative formulation.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | fluxes | array of computed fluxes across cell faces |
[in,out] | cb | pointer to a local matrix to build |
double cs_cdo_advection_get_cip_coef | ( | void | ) |
Get the value of the stabilization coefficient used in CIP scheme.
void cs_cdo_advection_set_cip_coef | ( | double | new_value | ) |
Set the value of the stabilization coefficient used in CIP scheme.
(DOXYGEN_SHOULD_SKIP_THIS)
[in] | new_value | value of the stabilization 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, | ||
cs_real_t | t_eval, | ||
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.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_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 |
void cs_cdo_advection_vb_cennoc | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_real_t | t_eval, | ||
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.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_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 |
void cs_cdo_advection_vb_mcucsv | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_real_t | t_eval, | ||
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.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_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 |
void cs_cdo_advection_vb_upwcsv | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_real_t | t_eval, | ||
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.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_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 |
void cs_cdo_advection_vb_upwcsv_di | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_real_t | t_eval, | ||
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 diffusion is activated and an upwind scheme and a conservative formulation is used The local matrix related to this operator is stored in cb->loc.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_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 |
void cs_cdo_advection_vb_upwnoc | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_real_t | t_eval, | ||
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.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_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 |
void cs_cdo_advection_vb_upwnoc_di | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_real_t | t_eval, | ||
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 diffusion is activated and an upwind scheme and a conservative formulation is used The local matrix related to this operator is stored in cb->loc.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_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 |
void cs_cdo_advection_vcb | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_real_t | t_eval, | ||
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] | 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 |
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, | ||
cs_real_t | t_eval, | ||
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] | 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 |
void cs_cdofb_advection_build | ( | const cs_equation_param_t * | eqp, |
const cs_cell_mesh_t * | cm, | ||
cs_real_t | t_eval, | ||
cs_cdofb_advection_t * | build_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.
[in] | eqp | pointer to a cs_equation_param_t structure |
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | t_eval | time at which one evaluates the advection field |
[in] | build_func | pointer to the function building the system |
[in,out] | cb | pointer to a cs_cell_builder_t structure |