![]() |
programmer's documentation
|
#include "cs_defs.h"
#include <string.h>
#include <assert.h>
#include <math.h>
#include <bft_mem.h>
#include <bft_printf.h>
#include "cs_cdo_toolbox.h"
#include "cs_prototypes.h"
#include "cs_cdo_quantities.h"
Macros | |
#define | CDO_QUANTITIES_DBG 0 /* Switch off/on debug information */ |
Functions | |
static _cdo_fspec_t | _get_fspec (cs_lnum_t f_id, const cs_mesh_t *m, const cs_mesh_quantities_t *mq) |
static _cdo_projq_t | _get_proj_quantities (cs_lnum_t f_id, const cs_cdo_connect_t *connect, const cs_real_t coords[], const int axis[]) |
static _cdo_fsubq_t | _get_fsub_quantities (cs_lnum_t f_id, const cs_cdo_connect_t *connect, const cs_real_t *coord, _cdo_fspec_t fspec) |
static void | _compute_edge_quantities (const cs_mesh_t *mesh, const cs_cdo_connect_t *topo, cs_cdo_quantities_t *iq) |
static void | _compute_dcell_quantities (const cs_cdo_connect_t *topo, cs_cdo_quantities_t *iq) |
static void | _compute_dface_quantities (const cs_cdo_connect_t *topo, cs_cdo_quantities_t *iq) |
static void | _saturn_algorithm (const cs_mesh_t *mesh, const cs_mesh_quantities_t *mq, cs_cdo_quantities_t *cdoq) |
static void | _vtx_algorithm (const cs_mesh_t *mesh, const cs_mesh_quantities_t *mq, const cs_cdo_connect_t *connect, cs_cdo_quantities_t *iq) |
static void | _mirtich_algorithm (const cs_mesh_t *mesh, const cs_mesh_quantities_t *mq, const cs_cdo_connect_t *connect, cs_cdo_quantities_t *iq) |
cs_cdo_quantities_t * | cs_cdo_quantities_build (const cs_mesh_t *m, const cs_mesh_quantities_t *mq, const cs_cdo_connect_t *topo) |
Build a cs_cdo_quantities_t structure. More... | |
cs_cdo_quantities_t * | cs_cdo_quantities_free (cs_cdo_quantities_t *q) |
Destroy a cs_cdo_quantities_t structure. More... | |
void | cs_cdo_quantities_dump (const cs_cdo_quantities_t *cdoq) |
Dump a cs_cdo_quantities_t structure. More... | |
void | cs_quant_dump (FILE *f, cs_lnum_t num, const cs_quant_t q) |
Dump a cs_quant_t structure. More... | |
void | cs_compute_pvol_vtx (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, double *p_pvol[]) |
Compute for each vertex the dual cell volume which is also. More... | |
void | cs_compute_pvol_edge (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, double *p_pvol[]) |
Compute for each edge a related volume pvol_e which constitutes a partition of unity. More... | |
void | cs_compute_pvol_face (const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, double *p_pvol[]) |
Compute for each face a related volume pvol_f which constitutes a partition of unity. More... | |
void | cs_compute_face_weights (cs_lnum_t f_id, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, const short int loc_ids[], double wf[]) |
Compute for each face a weight related to each vertex w_{v,f} This weight is equal to |dc(v) cap f|/|f| so that the sum of the weights is equal to 1. More... | |
Variables | |
static const double | one_3 = 1/3. |
static const double | one_6 = 1/6. |
static const double | one_12 = 1/12. |
static const double | one_24 = 1/24. |
#define CDO_QUANTITIES_DBG 0 /* Switch off/on debug information */ |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
cs_cdo_quantities_t* cs_cdo_quantities_build | ( | const cs_mesh_t * | m, |
const cs_mesh_quantities_t * | mq, | ||
const cs_cdo_connect_t * | topo | ||
) |
Build a cs_cdo_quantities_t structure.
[in] | m | pointer to a cs_mesh_t structure |
[in] | mq | pointer to a cs_mesh_quantities_t structure |
[in] | topo | pointer to a cs_cdo_connect_t structure |
void cs_cdo_quantities_dump | ( | const cs_cdo_quantities_t * | cdoq | ) |
Dump a cs_cdo_quantities_t structure.
[in] | cdoq | pointer to cs_cdo_quantities_t structure |
cs_cdo_quantities_t* cs_cdo_quantities_free | ( | cs_cdo_quantities_t * | q | ) |
Destroy a cs_cdo_quantities_t structure.
[in] | q | pointer to the cs_cdo_quantities_t struct. to free |
void cs_compute_face_weights | ( | cs_lnum_t | f_id, |
const cs_cdo_connect_t * | connect, | ||
const cs_cdo_quantities_t * | quant, | ||
const short int | loc_ids[], | ||
double | wf[] | ||
) |
Compute for each face a weight related to each vertex w_{v,f} This weight is equal to |dc(v) cap f|/|f| so that the sum of the weights is equal to 1.
[in] | f_id | id of the face |
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to a cs_cdo_quantites_t structure |
[in] | loc_ids | indirection to a local numbering |
[in,out] | wf | already allocated to n_max_vbyc (reset) |
void cs_compute_pvol_edge | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | quant, | ||
double * | p_pvol[] | ||
) |
Compute for each edge a related volume pvol_e which constitutes a partition of unity.
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to a cs_cdo_quantites_t structure |
[in,out] | p_pvol | pvol (if NULL, allocated in this routine) |
void cs_compute_pvol_face | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | quant, | ||
double * | p_pvol[] | ||
) |
Compute for each face a related volume pvol_f which constitutes a partition of unity.
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to a cs_cdo_quantites_t structure |
[in,out] | p_pvol | pvol (if NULL, allocated in this routine) |
void cs_compute_pvol_vtx | ( | const cs_cdo_connect_t * | connect, |
const cs_cdo_quantities_t * | quant, | ||
double * | p_pvol[] | ||
) |
Compute for each vertex the dual cell volume which is also.
sum |celld(v) cap c| = pvol_v c in C_v
[in] | connect | pointer to a cs_cdo_connect_t structure |
[in] | quant | pointer to a cs_cdo_quantites_t structure |
[in,out] | p_pvol | pvol (if NULL, allocated in this routine) |
void cs_quant_dump | ( | FILE * | f, |
cs_lnum_t | num, | ||
const cs_quant_t | q | ||
) |
Dump a cs_quant_t structure.
[in] | f | FILE struct (stdout if NULL) |
[in] | num | entity number related to this quantity struct. |
[in] | q | cs_quant_t structure to dump |
|
static |
|
static |
|
static |
|
static |