#include "assert.h"
#include "cs_cdo_connect.h"
#include "cs_cdo_local.h"
#include "cs_cdo_quantities.h"
#include "cs_flag.h"
Go to the source code of this file.
Functions | |
void | cs_reco_dual_vol_weight_reduction (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, int stride, bool interlace, cs_real_t *array) |
Apply 1/|dual_vol| to a synchronized array of DoF vertices Parallel synchronization is done inside this function: 1) A parallel sum reduction is done on the vtx_values 2) Apply 1/|dual_vol| to each entry. More... | |
void | cs_reco_cell_vectors_by_ib_face_dofs (const cs_adjacency_t *c2f, const cs_cdo_quantities_t *cdoq, const cs_real_t i_face_vals[], const cs_real_t b_face_vals[], cs_real_t *cell_reco) |
Reconstruct the vector-valued quantity inside each cell from the face DoFs (interior and boundary). Scalar-valued face DoFs are related to the normal flux across faces. More... | |
void | cs_reco_cell_vector_by_face_dofs (cs_lnum_t c_id, const cs_adjacency_t *c2f, const cs_cdo_quantities_t *cdoq, const cs_real_t face_dofs[], bool local_input, cs_real_t *cell_reco) |
Reconstruct the vector-valued quantity inside a cell from the face DoFs (interior and boundary). Scalar-valued face DoFs are related to the normal flux across faces. More... | |
void | cs_reco_cell_vectors_by_face_dofs (const cs_adjacency_t *c2f, const cs_cdo_quantities_t *cdoq, const cs_real_t face_dofs[], cs_real_t *cell_reco) |
Reconstruct the vector-valued quantity inside each cell from the face DoFs (interior and boundary). Scalar-valued face DoFs are related to the normal flux across faces. More... | |
void | cs_reco_scalar_v2c (cs_lnum_t n_cells, const cs_lnum_t *cell_ids, const cs_adjacency_t *c2v, const cs_cdo_quantities_t *cdoq, const double *array, bool dense_ouput, cs_real_t *reco) |
Reconstruct the value at cell center from an array of values defined at primal vertices. Case of scalar-valued array. More... | |
void | cs_reco_scalar_vbyc2c (cs_lnum_t n_cells, const cs_lnum_t *cell_ids, const cs_adjacency_t *c2v, const cs_cdo_quantities_t *cdoq, const double *array, bool dense_ouput, cs_real_t *reco) |
Reconstruct the value at cell center from an array of values defined for each couple (v, c) --> array which can be scanned by the c2v adjacency). Case of scalar-valued array. More... | |
void | cs_reco_scalar_ebyc2c (cs_lnum_t n_cells, const cs_lnum_t *cell_ids, const cs_adjacency_t *c2e, const cs_cdo_quantities_t *cdoq, const double *array, bool dense_ouput, cs_real_t *reco) |
Reconstruct the value at cell center from an array of values defined for each couple (e, c) --> array which can be scanned by the c2e adjacency). Case of scalar-valued array. More... | |
void | cs_reco_vector_v2c (cs_lnum_t n_cells, const cs_lnum_t *cell_ids, const cs_adjacency_t *c2v, const cs_cdo_quantities_t *cdoq, const double *array, bool dense_ouput, cs_real_t *reco) |
Reconstruct the value at all cell centers from an array of values defined on primal vertices. Case of vector-valued fields. More... | |
void | cs_reco_scalar_v2f (cs_lnum_t n_faces, const cs_lnum_t *face_ids, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, const double *array, bool dense_ouput, cs_real_t *reco) |
Reconstruct the value at the face center from an array of values defined on primal vertices. Case of scalar-valued arrays. More... | |
void | cs_reco_scalar_v2c_v2f (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *cdoq, const double *dof, double *p_reco_c[], double *p_reco_f[]) |
Reconstruct at cell centers and face centers a vertex-based field Linear interpolation. If p_reco_c and/or p_reco_f are not allocated, this is done in this subroutine. Case of scalar-valued arrays. More... | |
void | cs_reco_scal_pv_from_pc (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_real_t *cell_val, cs_real_t *vtx_val) |
Reconstruct a scalar-valued array at vertices from a scalar-valued array at cells. More... | |
void | cs_reco_vect_pv_from_pc (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_real_t *cell_val, cs_real_t *vtx_val) |
Reconstruct a vector-valued array at vertices from a vector-valued array at cells. More... | |
void | cs_reco_dfbyc_at_cell_center (cs_lnum_t c_id, const cs_adjacency_t *c2e, const cs_cdo_quantities_t *quant, const double *array, cs_real_3_t val_xc) |
Reconstruct a constant vector at the cell center from an array of values defined on dual faces lying inside each cell. This array is scanned thanks to the c2e connectivity. More... | |
void | cs_reco_dfbyc_in_cell (const cs_cell_mesh_t *cm, const cs_real_t *array, cs_real_3_t val_c) |
Reconstruct a constant vector inside the cell c. array is scanned thanks to the c2e connectivity. Pointer is already located at the beginning of the cell sequence. Reconstruction used is based on DGA (stabilization = 1/d where d is the space dimension) More... | |
void | cs_reco_dfbyc_in_pec (const cs_cell_mesh_t *cm, short int e, const cs_real_t *array, cs_real_3_t val_pec) |
Reconstruct a constant vector inside pec which is a volume surrounding the edge e inside the cell c. array is scanned thanks to the c2e connectivity. Pointer is already located at the beginning of the cell sequence. Reconstruction used is based on DGA (stabilization = 1/d where d is the space dimension) More... | |
void | cs_reco_ccen_edge_dof (cs_lnum_t c_id, const cs_adjacency_t *c2e, const cs_cdo_quantities_t *quant, const double *dof, double reco[]) |
Reconstruct at the cell center a field of edge-based DoFs. More... | |
void | cs_reco_ccen_edge_dofs (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const double *dof, double *p_ccrec[]) |
Reconstruct at each cell center a field of edge-based DoFs. More... | |
void | cs_reco_cell_curl_by_edge_dofs (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_real_t *circ, cs_real_t **p_curl) |
Reconstruct a cell-wise constant curl from the knowledge of the circulation at primal edges. More... | |
void | cs_reco_grad_cell_from_fb_dofs (cs_lnum_t c_id, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_real_t *p_c, const cs_real_t *p_f, cs_real_t grd_c[]) |
Reconstruct the mean-value of the gradient field with DoFs arising from a face-based scheme (values at face center and cell center) The reconstruction only deals with the consistent part so that there is no distinction betwwen Fb schemes. More... | |
void | cs_reco_grad_33_cell_from_fb_dofs (cs_lnum_t c_id, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_real_t *u_c, const cs_real_t *u_f, cs_real_t grd_c[]) |
Reconstruct the mean-value of the tensor gradient field with DoFs arising from a face-based scheme (vector-valued at face center and cell center) The reconstruction only deals with the consistent part so that there is no distinction between Fb schemes. More... | |
void | cs_reco_grad_cell_from_pv (cs_lnum_t c_id, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_real_t *pdi, cs_real_t grdc[]) |
Reconstruct the constant gradient vector in a cell (the mean value) from the value at mesh vertices. More... | |
void | cs_reco_2grad_cell_from_pv (cs_lnum_t c_id, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const cs_real_t *p1di, const cs_real_t *p2di, cs_real_t grd1c[], cs_real_t grd2c[]) |
Reconstruct the constant gradient vector in a cell (the mean value) from the value at mesh vertices. Case of two scalar fields. More... | |
void | cs_reco_cw_cell_vect_from_flux (const cs_cell_mesh_t *cm, const cs_real_t *fluxes, cs_real_t *cell_reco) |
Reconstruct the vector-valued quantity inside each cell from the given flux array. This array is stored in the same order as cm->f_ids Scalar-valued face DoFs are related to the normal flux across primal faces. More... | |
void | cs_reco_cw_cell_vect_from_face_dofs (const cs_cell_mesh_t *cm, const cs_real_t i_face_vals[], const cs_real_t b_face_vals[], cs_real_t *cell_reco) |
Reconstruct the vector-valued quantity inside each cell from the face DoFs (interior and boundary). Scalar-valued face DoFs are related to the normal flux across faces. More... | |
void | cs_reco_cw_cell_grad_from_scalar_pv (const cs_cell_mesh_t *cm, const cs_real_t pdi[], cs_real_t *cell_gradient) |
Reconstruct the value of a scalar potential at a point inside a cell The scalar potential has DoFs located at primal vertices. More... | |
cs_real_t | cs_reco_cw_scalar_pv_inside_cell (const cs_cell_mesh_t *cm, const cs_real_t pdi[], const cs_real_t length_xcxp, const cs_real_t unitv_xcxp[], cs_real_t wbuf[]) |
Reconstruct the value of a scalar potential at a point inside a cell The scalar potential has DoFs located at primal vertices. More... | |
void | cs_reco_cw_vgrd_wbs_from_pvc (const cs_cell_mesh_t *cm, const cs_real_t *pot, cs_cell_builder_t *cb, cs_real_t *vgrd) |
Compute the weighted (by volume) gradient inside a given primal cell for the related vertices. Use the WBS algo. for approximating the gradient. The computation takes into account a subdivision into tetrahedra of the current cell based on p_{ef,c}. More... | |
void | cs_reco_cw_cgrd_wbs_from_pvc (const cs_cell_mesh_t *cm, const cs_real_t *pot, cs_cell_builder_t *cb, cs_real_t *cgrd) |
Compute the mean value of a gradient inside a given primal cell. Use the WBS algo. for approximating the gradient. The computation takes into account a subdivision into tetrahedra of the current cell based on p_{ef,c}. More... | |
static void | cs_reco_scalar_v2c_full (const cs_adjacency_t *c2v, const cs_cdo_quantities_t *cdoq, const double *array, cs_real_t *reco) |
Reconstruct the value at cell center from an array of values defined at primal vertices. Case of scalar-valued array with all cells selected. More... | |
static void | cs_reco_vector_v2c_full (const cs_adjacency_t *c2v, const cs_cdo_quantities_t *cdoq, const double *array, cs_real_t *reco) |
Reconstruct the value at cell center from an array of values defined at primal vertices. Case of vector-valued array with all cells selected. More... | |
static void | cs_reco_scalar_vbyc2c_full (const cs_adjacency_t *c2v, const cs_cdo_quantities_t *cdoq, const double *array, cs_real_t *reco) |
Reconstruct the value at cell center from an array of values defined for each couple (v, c) --> array which can be scanned by the c2v adjacency). Case of scalar-valued array with all cells selected. More... | |
static void | cs_reco_scalar_ebyc2c_full (const cs_adjacency_t *c2e, const cs_cdo_quantities_t *cdoq, const double *array, cs_real_t *reco) |
Reconstruct the value at cell center from an array of values defined for each couple (e, c) --> array which can be scanned by the c2e adjacency). Case of scalar-valued array with all cells selected. More... | |
void cs_reco_2grad_cell_from_pv | ( | cs_lnum_t | c_id, |
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | quant, | ||
const cs_real_t * | p1di, | ||
const cs_real_t * | p2di, | ||
cs_real_t | grd1c[], | ||
cs_real_t | grd2c[] | ||
) |
Reconstruct the constant gradient vector in a cell (the mean value) from the value at mesh vertices. Case of two scalar fields.
[in] | c_id | cell id |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to the additional quantities struct. |
[in] | p1di | pointer to the array of values |
[in] | p2di | pointer to the array of values |
[in,out] | grd1c | value of the reconstructed gradient for p1 |
[in,out] | grd2c | value of the reconstructed gradient for p2 |
void cs_reco_ccen_edge_dof | ( | cs_lnum_t | c_id, |
const cs_adjacency_t * | c2e, | ||
const cs_cdo_quantities_t * | quant, | ||
const double * | dof, | ||
double | reco[] | ||
) |
Reconstruct at the cell center a field of edge-based DoFs.
[in] | c_id | cell id |
[in] | c2e | cell -> edges connectivity |
[in] | quant | pointer to the additional quantities struct. |
[in] | dof | pointer to the field of edge-based DoFs |
[in,out] | reco | value of the reconstructed field at cell center |
void cs_reco_ccen_edge_dofs | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | quant, | ||
const double * | dof, | ||
double * | p_ccrec[] | ||
) |
Reconstruct at each cell center a field of edge-based DoFs.
[in] | connect | pointer to the connectivity struct. |
[in] | quant | pointer to the additional quantities struct. |
[in] | dof | pointer to the field of edge-based DoFs |
[in,out] | p_ccrec | pointer to the reconstructed values |
void cs_reco_cell_curl_by_edge_dofs | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | quant, | ||
const cs_real_t * | circ, | ||
cs_real_t ** | p_curl | ||
) |
Reconstruct a cell-wise constant curl from the knowledge of the circulation at primal edges.
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to the additional quantities struct. |
[in] | circ | pointer to the array of circulations at edges |
[in,out] | p_curl | pointer to value of the reconstructed curl inside cells (allocated if set to NULL) |
void cs_reco_cell_vector_by_face_dofs | ( | cs_lnum_t | c_id, |
const cs_adjacency_t * | c2f, | ||
const cs_cdo_quantities_t * | cdoq, | ||
const cs_real_t | face_dofs[], | ||
bool | local_input, | ||
cs_real_t * | cell_reco | ||
) |
Reconstruct the vector-valued quantity inside a cell from the face DoFs (interior and boundary). Scalar-valued face DoFs are related to the normal flux across faces.
[in] | c_id | id of the cell to handle |
[in] | c2f | cell -> faces connectivity |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | face_dofs | array of DoF values at faces |
[in] | local_input | true means that face_dofs is of size n_cell_faces |
[out] | cell_reco | vector-valued reconstruction inside cells. This quantity should have been allocated before calling this function |
void cs_reco_cell_vectors_by_face_dofs | ( | const cs_adjacency_t * | c2f, |
const cs_cdo_quantities_t * | cdoq, | ||
const cs_real_t | face_dofs[], | ||
cs_real_t * | cell_reco | ||
) |
Reconstruct the vector-valued quantity inside each cell from the face DoFs (interior and boundary). Scalar-valued face DoFs are related to the normal flux across faces.
[in] | c2f | cell -> faces connectivity |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | face_dofs | array of DoF values at faces |
[out] | cell_reco | vector-valued reconstruction inside cells. This quantity should have been allocated before calling this function |
void cs_reco_cell_vectors_by_ib_face_dofs | ( | const cs_adjacency_t * | c2f, |
const cs_cdo_quantities_t * | cdoq, | ||
const cs_real_t | i_face_vals[], | ||
const cs_real_t | b_face_vals[], | ||
cs_real_t * | cell_reco | ||
) |
Reconstruct the vector-valued quantity inside each cell from the face DoFs (interior and boundary). Scalar-valued face DoFs are related to the normal flux across faces.
[in] | c2f | cell -> faces connectivity |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | i_face_vals | array of DoF values for interior faces |
[in] | b_face_vals | array of DoF values for border faces |
[out] | cell_reco | vector-valued reconstruction inside cells |
void cs_reco_cw_cell_grad_from_scalar_pv | ( | const cs_cell_mesh_t * | cm, |
const cs_real_t | pdi[], | ||
cs_real_t * | cell_gradient | ||
) |
Reconstruct the value of a scalar potential at a point inside a cell The scalar potential has DoFs located at primal vertices.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | pdi | array of DoF values at vertices |
[out] | cell_gradient | gradient inside the cell |
void cs_reco_cw_cell_vect_from_face_dofs | ( | const cs_cell_mesh_t * | cm, |
const cs_real_t | i_face_vals[], | ||
const cs_real_t | b_face_vals[], | ||
cs_real_t * | cell_reco | ||
) |
Reconstruct the vector-valued quantity inside each cell from the face DoFs (interior and boundary). Scalar-valued face DoFs are related to the normal flux across faces.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | i_face_vals | array of DoF values for interior faces |
[in] | b_face_vals | array of DoF values for border faces |
[out] | cell_reco | vector-valued reconstruction inside the cell |
void cs_reco_cw_cell_vect_from_flux | ( | const cs_cell_mesh_t * | cm, |
const cs_real_t * | fluxes, | ||
cs_real_t * | cell_reco | ||
) |
Reconstruct the vector-valued quantity inside each cell from the given flux array. This array is stored in the same order as cm->f_ids Scalar-valued face DoFs are related to the normal flux across primal faces.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | fluxes | array of normal fluxes on primal faces |
[out] | cell_reco | vector-valued reconstruction inside the cell |
void cs_reco_cw_cgrd_wbs_from_pvc | ( | const cs_cell_mesh_t * | cm, |
const cs_real_t * | pot, | ||
cs_cell_builder_t * | cb, | ||
cs_real_t * | cgrd | ||
) |
Compute the mean value of a gradient inside a given primal cell. Use the WBS algo. for approximating the gradient. The computation takes into account a subdivision into tetrahedra of the current cell based on p_{ef,c}.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | pot | values of the potential fields at vertices + cell |
[in,out] | cb | auxiliary structure for computing the flux |
[in,out] | cgrd | mean-value of the cell gradient |
cs_real_t cs_reco_cw_scalar_pv_inside_cell | ( | const cs_cell_mesh_t * | cm, |
const cs_real_t | pdi[], | ||
const cs_real_t | length_xcxp, | ||
const cs_real_t | unitv_xcxp[], | ||
cs_real_t | wbuf[] | ||
) |
Reconstruct the value of a scalar potential at a point inside a cell The scalar potential has DoFs located at primal vertices.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | pdi | array of DoF values at vertices |
[in] | length_xcxp | lenght of the segment [x_c, x_p] |
[in] | unitv_xcxp | unitary vector pointed from x_c to x_p |
[in,out] | wbuf | pointer to a temporary buffer |
void cs_reco_cw_vgrd_wbs_from_pvc | ( | const cs_cell_mesh_t * | cm, |
const cs_real_t * | pot, | ||
cs_cell_builder_t * | cb, | ||
cs_real_t * | vgrd | ||
) |
Compute the weighted (by volume) gradient inside a given primal cell for the related vertices. Use the WBS algo. for approximating the gradient. The computation takes into account a subdivision into tetrahedra of the current cell based on p_{ef,c}.
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | pot | values of the potential fields at vertices + cell |
[in,out] | cb | auxiliary structure for computing the flux |
[in,out] | vgrd | gradient at vertices inside this cell |
void cs_reco_dfbyc_at_cell_center | ( | cs_lnum_t | c_id, |
const cs_adjacency_t * | c2e, | ||
const cs_cdo_quantities_t * | quant, | ||
const double * | array, | ||
cs_real_3_t | val_xc | ||
) |
Reconstruct a constant vector at the cell center from an array of values defined on dual faces lying inside each cell. This array is scanned thanks to the c2e connectivity.
[in] | c_id | cell id |
[in] | c2e | cell -> edges connectivity |
[in] | quant | pointer to the additional quantities struct. |
[in] | array | pointer to the array of values |
[in,out] | val_xc | value of the reconstruction at the cell center |
void cs_reco_dfbyc_in_cell | ( | const cs_cell_mesh_t * | cm, |
const cs_real_t * | array, | ||
cs_real_3_t | val_c | ||
) |
Reconstruct a constant vector inside the cell c. array is scanned thanks to the c2e connectivity. Pointer is already located at the beginning of the cell sequence. Reconstruction used is based on DGA (stabilization = 1/d where d is the space dimension)
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | array | local pointer to the array of values |
[in,out] | val_c | value of the reconstructed vector in the cell |
void cs_reco_dfbyc_in_pec | ( | const cs_cell_mesh_t * | cm, |
short int | e, | ||
const cs_real_t * | array, | ||
cs_real_3_t | val_pec | ||
) |
Reconstruct a constant vector inside pec which is a volume surrounding the edge e inside the cell c. array is scanned thanks to the c2e connectivity. Pointer is already located at the beginning of the cell sequence. Reconstruction used is based on DGA (stabilization = 1/d where d is the space dimension)
[in] | cm | pointer to a cs_cell_mesh_t structure |
[in] | e | local edge id |
[in] | array | local pointer to the array of values |
[in,out] | val_pec | value of the reconstruction in pec |
void cs_reco_dual_vol_weight_reduction | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | quant, | ||
int | stride, | ||
bool | interlace, | ||
cs_real_t * | array | ||
) |
Apply 1/|dual_vol| to a synchronized array of DoF vertices Parallel synchronization is done inside this function: 1) A parallel sum reduction is done on the vtx_values 2) Apply 1/|dual_vol| to each entry.
[in] | connect | pointer to additional connectivities for CDO |
[in] | quant | pointer to additional quantities for CDO |
[in] | stride | number of entries for each vertex |
[in] | interlace | interlaced array (useful if the stride > 1) |
[in,out] | array | array of DoF values |
void cs_reco_grad_33_cell_from_fb_dofs | ( | cs_lnum_t | c_id, |
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | quant, | ||
const cs_real_t * | u_c, | ||
const cs_real_t * | u_f, | ||
cs_real_t | grd_c[] | ||
) |
Reconstruct the mean-value of the tensor gradient field with DoFs arising from a face-based scheme (vector-valued at face center and cell center) The reconstruction only deals with the consistent part so that there is no distinction between Fb schemes.
[in] | c_id | cell id |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to the additional quantities struct. |
[in] | u_c | pointer to the array of values in cells |
[in] | u_f | pointer to the array of values on faces |
[in,out] | grd_c | value of the reconstructed gradient at cell center |
void cs_reco_grad_cell_from_fb_dofs | ( | cs_lnum_t | c_id, |
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | quant, | ||
const cs_real_t * | p_c, | ||
const cs_real_t * | p_f, | ||
cs_real_t | grd_c[] | ||
) |
Reconstruct the mean-value of the gradient field with DoFs arising from a face-based scheme (values at face center and cell center) The reconstruction only deals with the consistent part so that there is no distinction betwwen Fb schemes.
[in] | c_id | cell id |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to the additional quantities struct. |
[in] | p_c | pointer to the array of values in cells |
[in] | p_f | pointer to the array of values on faces |
[in,out] | grd_c | value of the reconstructed gradient at cell center |
Reconstruct the mean-value of the gradient field with DoFs arising from a face-based scheme (values at face center and cell center) The reconstruction only deals with the consistent part so that there is no distinction betwwen Fb schemes.
[in] | c_id | cell id |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to the additional quantities struct. |
[in] | p_c | pointer to the array of values in cells |
[in] | p_f | pointer to the array of values on faces |
[in,out] | grd_c | value of the reconstructed gradient at cell center |
void cs_reco_grad_cell_from_pv | ( | cs_lnum_t | c_id, |
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | quant, | ||
const cs_real_t * | pdi, | ||
cs_real_t | grdc[] | ||
) |
Reconstruct the constant gradient vector in a cell (the mean value) from the value at mesh vertices.
[in] | c_id | cell id |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to the additional quantities struct. |
[in] | pdi | pointer to the array of values |
[in,out] | grdc | value of the reconstructed gradient |
void cs_reco_scal_pv_from_pc | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | quant, | ||
const cs_real_t * | cell_val, | ||
cs_real_t * | vtx_val | ||
) |
Reconstruct a scalar-valued array at vertices from a scalar-valued array at cells.
[in] | connect | pointer to additional connectivities for CDO |
[in] | quant | pointer to the additional quantities for CDO |
[in] | cell_val | array of scalar-valued values at cells |
[in,out] | vtx_val | array of scalar-valued values at vertices |
void cs_reco_scalar_ebyc2c | ( | cs_lnum_t | n_cells, |
const cs_lnum_t * | cell_ids, | ||
const cs_adjacency_t * | c2e, | ||
const cs_cdo_quantities_t * | cdoq, | ||
const double * | array, | ||
bool | dense_ouput, | ||
cs_real_t * | reco | ||
) |
Reconstruct the value at cell center from an array of values defined for each couple (e, c) --> array which can be scanned by the c2e adjacency). Case of scalar-valued array.
[in] | n_cells | number of selected cells |
[in] | cell_ids | list of cell ids or NULL |
[in] | c2e | cell -> edges connectivity |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | array | pointer to the array of values at (e,c) |
[in] | dense_ouput | apply cell_ids on the reco array |
[in,out] | reco | reconstructed values at the cell centers |
|
inlinestatic |
Reconstruct the value at cell center from an array of values defined for each couple (e, c) --> array which can be scanned by the c2e adjacency). Case of scalar-valued array with all cells selected.
[in] | c2e | cell -> edges connectivity |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | array | pointer to the array of values at (e,c) |
[in,out] | reco | reconstructed values at the cell centers |
void cs_reco_scalar_v2c | ( | cs_lnum_t | n_cells, |
const cs_lnum_t * | cell_ids, | ||
const cs_adjacency_t * | c2v, | ||
const cs_cdo_quantities_t * | cdoq, | ||
const double * | array, | ||
bool | dense_ouput, | ||
cs_real_t * | reco | ||
) |
Reconstruct the value at cell center from an array of values defined at primal vertices. Case of scalar-valued array.
[in] | n_cells | number of selected cells |
[in] | cell_ids | list of cell ids or NULL |
[in] | c2v | cell -> vertices connectivity |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | array | pointer to the array of values at vertices |
[in] | dense_ouput | apply cell_ids on the reco array |
[in,out] | reco | reconstructed values at the cell centers |
|
inlinestatic |
Reconstruct the value at cell center from an array of values defined at primal vertices. Case of scalar-valued array with all cells selected.
[in] | c2v | cell -> vertices connectivity |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | array | pointer to the array of values at vertices |
[in,out] | reco | reconstructed values at the cell centers |
void cs_reco_scalar_v2c_v2f | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | cdoq, | ||
const double * | dof, | ||
double * | p_reco_c[], | ||
double * | p_reco_f[] | ||
) |
Reconstruct at cell centers and face centers a vertex-based field Linear interpolation. If p_reco_c and/or p_reco_f are not allocated, this is done in this subroutine. Case of scalar-valued arrays.
[in] | connect | pointer to additional connectivities for CDO |
[in] | cdoq | pointer to additional quantities for CDO |
[in] | dof | pointer to the field of vtx-based DoFs |
[in,out] | p_reco_c | reconstructed values at cell centers |
[in,out] | p_reco_f | reconstructed values at face centers |
void cs_reco_scalar_v2f | ( | cs_lnum_t | n_faces, |
const cs_lnum_t * | face_ids, | ||
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | cdoq, | ||
const double * | array, | ||
bool | dense_ouput, | ||
cs_real_t * | reco | ||
) |
Reconstruct the value at the face center from an array of values defined on primal vertices. Case of scalar-valued arrays.
[in] | n_faces | number of faces |
[in] | face_ids | list of face ids (interior/border faces) or NULL |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | array | pointer to the array of values at vertices |
[in] | dense_ouput | apply cell_ids on the reco array |
[in,out] | reco | value of the reconstruction at face centers |
void cs_reco_scalar_vbyc2c | ( | cs_lnum_t | n_cells, |
const cs_lnum_t * | cell_ids, | ||
const cs_adjacency_t * | c2v, | ||
const cs_cdo_quantities_t * | cdoq, | ||
const double * | array, | ||
bool | dense_ouput, | ||
cs_real_t * | reco | ||
) |
Reconstruct the value at cell center from an array of values defined for each couple (v, c) --> array which can be scanned by the c2v adjacency). Case of scalar-valued array.
[in] | n_cells | number of selected cells |
[in] | cell_ids | list of cell ids or NULL |
[in] | c2v | cell -> vertices connectivity |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | array | pointer to the array of values at (v,c) |
[in] | dense_ouput | apply cell_ids on the reco array |
[in,out] | reco | reconstructed values at the cell centers |
|
inlinestatic |
Reconstruct the value at cell center from an array of values defined for each couple (v, c) --> array which can be scanned by the c2v adjacency). Case of scalar-valued array with all cells selected.
[in] | c2v | cell -> vertices connectivity |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | array | pointer to the array of values at (v,c) |
[in,out] | reco | reconstructed values at the cell centers |
void cs_reco_vect_pv_from_pc | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | quant, | ||
const cs_real_t * | cell_val, | ||
cs_real_t * | vtx_val | ||
) |
Reconstruct a vector-valued array at vertices from a vector-valued array at cells.
[in] | connect | pointer to additional connectivities for CDO |
[in] | quant | pointer to the additional quantities for CDO |
[in] | cell_val | array of vector-valued values at cells |
[in,out] | vtx_val | array of vector-valued values at vertices |
void cs_reco_vector_v2c | ( | cs_lnum_t | n_cells, |
const cs_lnum_t * | cell_ids, | ||
const cs_adjacency_t * | c2v, | ||
const cs_cdo_quantities_t * | cdoq, | ||
const double * | array, | ||
bool | dense_ouput, | ||
cs_real_t * | reco | ||
) |
Reconstruct the value at all cell centers from an array of values defined on primal vertices. Case of vector-valued fields.
[in] | n_cells | number of selected cells |
[in] | cell_ids | list of cell ids or NULL |
[in] | c2v | cell -> vertices connectivity |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | array | pointer to the array of values at vertices |
[in] | dense_ouput | apply cell_ids on the reco array |
[in,out] | reco | reconstructed values at the cell centers |
|
inlinestatic |
Reconstruct the value at cell center from an array of values defined at primal vertices. Case of vector-valued array with all cells selected.
[in] | c2v | cell -> vertices connectivity |
[in] | cdoq | pointer to the additional quantities struct. |
[in] | array | pointer to the array of values at vertices |
[in,out] | reco | reconstructed values at the cell centers |