programmer's documentation
Data Structures | Enumerations | Functions
cs_cdo_quantities.h File Reference
#include "cs_base.h"
#include "cs_mesh.h"
#include "cs_mesh_quantities.h"
#include "cs_cdo.h"
#include "cs_cdo_connect.h"
Include dependency graph for cs_cdo_quantities.h:

Go to the source code of this file.

Data Structures

struct  cs_quant_t
 
struct  cs_dface_t
 
struct  cs_cdo_quantities_t
 

Enumerations

enum  cs_cdo_cc_algo_t {
  CS_CDO_CC_MEANV, CS_CDO_CC_BARYC, CS_CDO_CC_SATURNE, CS_CDO_CC_ORTHO,
  CS_CDO_N_CC_ALGOS
}
 

Functions

cs_cdo_quantities_tcs_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_tcs_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...
 

Enumeration Type Documentation

Enumerator
CS_CDO_CC_MEANV 
CS_CDO_CC_BARYC 
CS_CDO_CC_SATURNE 
CS_CDO_CC_ORTHO 
CS_CDO_N_CC_ALGOS 

Function Documentation

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.

Parameters
[in]mpointer to a cs_mesh_t structure
[in]mqpointer to a cs_mesh_quantities_t structure
[in]topopointer to a cs_cdo_connect_t structure
Returns
a new allocated pointer to a cs_cdo_quantities_t structure
void cs_cdo_quantities_dump ( const cs_cdo_quantities_t cdoq)

Dump a cs_cdo_quantities_t structure.

Parameters
[in]cdoqpointer 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.

Parameters
[in]qpointer to the cs_cdo_quantities_t struct. to free
Returns
a NULL pointer
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.

Parameters
[in]f_idid of the face
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantites_t structure
[in]loc_idsindirection to a local numbering
[in,out]wfalready 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.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantites_t structure
[in,out]p_pvolpvol (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.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantites_t structure
[in,out]p_pvolpvol (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

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantites_t structure
[in,out]p_pvolpvol (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.

Parameters
[in]fFILE struct (stdout if NULL)
[in]numentity number related to this quantity struct.
[in]qcs_quant_t structure to dump