8.0
general documentation
cs_mesh_quantities.h File Reference
#include "cs_base.h"
#include "cs_mesh.h"
+ Include dependency graph for cs_mesh_quantities.h:

Go to the source code of this file.

Data Structures

struct  cs_mesh_quantities_t
 

Macros

#define CS_BAD_CELLS_WARPED_CORRECTION   (1 << 0)
 
#define CS_BAD_CELLS_REGULARISATION   (1 << 1)
 
#define CS_CELL_FACE_CENTER_CORRECTION   (1 << 2)
 
#define CS_CELL_CENTER_CORRECTION   (1 << 3)
 
#define CS_FACE_DISTANCE_CLIP   (1 << 4)
 
#define CS_FACE_RECONSTRUCTION_CLIP   (1 << 5)
 
#define CS_CELL_VOLUME_RATIO_CORRECTION   (1 << 6)
 
#define CS_FACE_CENTER_REFINE   (1 << 7)
 
#define CS_FACE_NULL_SURFACE   (1 << 8)
 

Functions

int cs_mesh_quantities_cell_cen_choice (int algo_choice)
 Query or modification of the option for computing cell centers. More...
 
int cs_mesh_quantities_face_cog_choice (int algo_choice)
 Query or modification of the option for computing face centers. More...
 
cs_mesh_quantities_tcs_mesh_quantities_create (void)
 Create a mesh quantities structure. More...
 
cs_mesh_quantities_tcs_mesh_quantities_destroy (cs_mesh_quantities_t *mq)
 Destroy a mesh quantities structure. More...
 
void cs_mesh_quantities_free_all (cs_mesh_quantities_t *mq)
 Reset a mesh quantities structure to its empty initial state. More...
 
void cs_mesh_quantities_compute_preprocess (const cs_mesh_t *m, cs_mesh_quantities_t *mq)
 Compute mesh quantities needed for preprocessing. More...
 
void cs_mesh_quantities_compute (const cs_mesh_t *m, cs_mesh_quantities_t *mq)
 Compute mesh quantities. More...
 
void cs_mesh_quantities_fluid_compute (const cs_mesh_t *mesh, cs_mesh_quantities_t *mesh_quantities)
 
void cs_mesh_quantities_fluid_vol_reductions (const cs_mesh_t *mesh, cs_mesh_quantities_t *mesh_quantities)
 
void cs_mesh_init_fluid_sections (const cs_mesh_t *mesh, cs_mesh_quantities_t *mesh_quantities)
 
void cs_mesh_quantities_solid_compute (const cs_mesh_t *m, const cs_real_3_t *cen_points, cs_mesh_quantities_t *mq)
 Compute cell and faces quantities needed at the immersed boundaries. More...
 
void cs_mesh_quantities_sup_vectors (const cs_mesh_t *mesh, cs_mesh_quantities_t *mesh_quantities)
 
void cs_mesh_quantities_face_normal (const cs_mesh_t *mesh, cs_real_t *p_i_face_normal[], cs_real_t *p_b_face_normal[])
 
void cs_mesh_quantities_i_faces (const cs_mesh_t *mesh, cs_real_t *p_i_face_cog[], cs_real_t *p_i_face_normal[])
 
void cs_mesh_quantities_b_faces (const cs_mesh_t *mesh, cs_real_t *p_b_face_cog[], cs_real_t *p_b_face_normal[])
 
void cs_mesh_quantities_cell_faces_cog (const cs_mesh_t *mesh, const cs_real_t i_face_norm[], const cs_real_t i_face_cog[], const cs_real_t b_face_norm[], const cs_real_t b_face_cog[], cs_real_t cell_cen[])
 Compute approximate cells centers as the mean of the given face centers weighted by the associated surfaces. More...
 
cs_real_tcs_mesh_quantities_cell_volume (const cs_mesh_t *mesh)
 
void cs_mesh_quantities_check_vol (const cs_mesh_t *mesh, const cs_mesh_quantities_t *mesh_quantities, int allow_error)
 
cs_real_6_tcs_mesh_quantities_cell_extents (const cs_mesh_t *m, cs_real_t tolerance)
 Compute the bounding box for cells. More...
 
int cs_mesh_quantities_compute_count (void)
 
void cs_mesh_quantities_b_thickness_v (const cs_mesh_t *m, const cs_mesh_quantities_t *mq, int n_passes, cs_real_t b_thickness[])
 Determine local boundary thickness around each vertex. More...
 
void cs_mesh_quantities_b_thickness_f (const cs_mesh_t *m, const cs_mesh_quantities_t *mq, int n_passes, cs_real_t b_thickness[])
 Determine local boundary thickness around each boundary face. More...
 
void cs_mesh_quantities_log_setup (void)
 Log mesh quantities options to setup file. More...
 
void cs_mesh_quantities_dump (const cs_mesh_t *mesh, const cs_mesh_quantities_t *mesh_quantities)
 

Variables

cs_mesh_quantities_tcs_glob_mesh_quantities
 
unsigned cs_glob_mesh_quantities_flag
 

Function Documentation

◆ cs_mesh_init_fluid_sections()

void cs_mesh_init_fluid_sections ( const cs_mesh_t mesh,
cs_mesh_quantities_t mesh_quantities 
)

◆ cs_mesh_quantities_b_faces()

void cs_mesh_quantities_b_faces ( const cs_mesh_t mesh,
cs_real_t p_b_face_cog[],
cs_real_t p_b_face_normal[] 
)

◆ cs_mesh_quantities_b_thickness_f()

void cs_mesh_quantities_b_thickness_f ( const cs_mesh_t m,
const cs_mesh_quantities_t mq,
int  n_passes,
cs_real_t  b_thickness[] 
)

Determine local boundary thickness around each boundary face.

Parameters
[in]mpointer to mesh structure
[in]mqpointer to mesh quantities structures.
[in]n_passesnumber of optional smoothing passes
[out]b_thicknessthickness for each mesh boundary face

◆ cs_mesh_quantities_b_thickness_v()

void cs_mesh_quantities_b_thickness_v ( const cs_mesh_t m,
const cs_mesh_quantities_t mq,
int  n_passes,
cs_real_t  b_thickness[] 
)

Determine local boundary thickness around each vertex.

Parameters
[in]mpointer to mesh structure
[in]mqpointer to mesh quantities structures.
[in]n_passesnumber of smoothing passes
[out]b_thicknessthickness for each mesh vertex (0 at non-boundary vertices)

◆ cs_mesh_quantities_cell_cen_choice()

int cs_mesh_quantities_cell_cen_choice ( int  algo_choice)

Query or modification of the option for computing cell centers.

Parameters
[in]algo_choice< 0 : query 0 : computation based on face centers (default) 1 : computation by cell sub-volumes
Returns
0 or 1 according to the selected algorithm

◆ cs_mesh_quantities_cell_extents()

cs_real_6_t* cs_mesh_quantities_cell_extents ( const cs_mesh_t m,
cs_real_t  tolerance 
)

Compute the bounding box for cells.

The corresponding array is allocated by this function, and it is the caller's responsability to free it when they are no longer needed.

Parameters
[in]mpointer to mesh structure
[in]toleranceaddition to local extents of each element: extent = base_extent * (1 + tolerance)
Returns
pointer to newly allocated cell volumes array

◆ cs_mesh_quantities_cell_faces_cog()

void cs_mesh_quantities_cell_faces_cog ( const cs_mesh_t mesh,
const cs_real_t  i_face_norm[],
const cs_real_t  i_face_cog[],
const cs_real_t  b_face_norm[],
const cs_real_t  b_face_cog[],
cs_real_t  cell_cen[] 
)

Compute approximate cells centers as the mean of the given face centers weighted by the associated surfaces.

n-1 Sum Surf(Fi) G(Fi) i=0 G(C) = --------------------— n-1 Sum Surf(Fi) i=0

Parameters
[in]meshpointer to mesh structure
[in]i_face_normsurface normal of internal faces
[in]i_face_cogcenter of gravity of internal faces
[in]b_face_normsurface normal of border faces
[in]b_face_cogcenter of gravity of border faces
[out]cell_cencell centers

◆ cs_mesh_quantities_cell_volume()

cs_real_t* cs_mesh_quantities_cell_volume ( const cs_mesh_t mesh)

◆ cs_mesh_quantities_check_vol()

void cs_mesh_quantities_check_vol ( const cs_mesh_t mesh,
const cs_mesh_quantities_t mesh_quantities,
int  allow_error 
)

◆ cs_mesh_quantities_compute()

void cs_mesh_quantities_compute ( const cs_mesh_t m,
cs_mesh_quantities_t mq 
)

Compute mesh quantities.

Parameters
[in]mpointer to mesh structure
[in,out]mqpointer to mesh quantities structures.

◆ cs_mesh_quantities_compute_count()

int cs_mesh_quantities_compute_count ( void  )

◆ cs_mesh_quantities_compute_preprocess()

void cs_mesh_quantities_compute_preprocess ( const cs_mesh_t m,
cs_mesh_quantities_t mq 
)

Compute mesh quantities needed for preprocessing.

Parameters
[in]mpointer to mesh structure
[in,out]mqpointer to mesh quantities structures
[in]mpointer to mesh structure
[in,out]mqpointer to mesh quantities structures.

◆ cs_mesh_quantities_create()

cs_mesh_quantities_t* cs_mesh_quantities_create ( void  )

Create a mesh quantities structure.

Returns
pointer to created cs_mesh_quantities_t structure

◆ cs_mesh_quantities_destroy()

cs_mesh_quantities_t* cs_mesh_quantities_destroy ( cs_mesh_quantities_t mq)

Destroy a mesh quantities structure.

Parameters
[in]mqpointer to mesh quantities structures
Returns
NULL

◆ cs_mesh_quantities_dump()

void cs_mesh_quantities_dump ( const cs_mesh_t mesh,
const cs_mesh_quantities_t mesh_quantities 
)

◆ cs_mesh_quantities_face_cog_choice()

int cs_mesh_quantities_face_cog_choice ( int  algo_choice)

Query or modification of the option for computing face centers.

Parameters
[in]algo_choice< 0 : query 0 : standard computation 1 : use adjustment for volume from versions 1.1 to 5.3
Returns
0 or 1 according to the selected algorithm

◆ cs_mesh_quantities_face_normal()

void cs_mesh_quantities_face_normal ( const cs_mesh_t mesh,
cs_real_t p_i_face_normal[],
cs_real_t p_b_face_normal[] 
)

◆ cs_mesh_quantities_fluid_compute()

void cs_mesh_quantities_fluid_compute ( const cs_mesh_t mesh,
cs_mesh_quantities_t mesh_quantities 
)

◆ cs_mesh_quantities_fluid_vol_reductions()

void cs_mesh_quantities_fluid_vol_reductions ( const cs_mesh_t mesh,
cs_mesh_quantities_t mesh_quantities 
)

◆ cs_mesh_quantities_free_all()

void cs_mesh_quantities_free_all ( cs_mesh_quantities_t mq)

Reset a mesh quantities structure to its empty initial state.

Parameters
[in]mqpointer to mesh quantities structures

◆ cs_mesh_quantities_i_faces()

void cs_mesh_quantities_i_faces ( const cs_mesh_t mesh,
cs_real_t p_i_face_cog[],
cs_real_t p_i_face_normal[] 
)

◆ cs_mesh_quantities_log_setup()

void cs_mesh_quantities_log_setup ( void  )

Log mesh quantities options to setup file.

◆ cs_mesh_quantities_solid_compute()

void cs_mesh_quantities_solid_compute ( const cs_mesh_t m,
const cs_real_3_t cen_points,
cs_mesh_quantities_t mq 
)

Compute cell and faces quantities needed at the immersed boundaries.

Parameters
[in]mpointer to mesh structure
[in]cen_pointspoint belonging to the immersed solid plane for each cell
[in,out]mqpointer to mesh quantities structures.
[in]mpointer to mesh structure
[in]cen_pointspoint belonging to the immersed solid plane for each cell (or NULL)
[in,out]mqpointer to mesh quantities structures.

◆ cs_mesh_quantities_sup_vectors()

void cs_mesh_quantities_sup_vectors ( const cs_mesh_t mesh,
cs_mesh_quantities_t mesh_quantities 
)

Variable Documentation

◆ cs_glob_mesh_quantities

cs_mesh_quantities_t* cs_glob_mesh_quantities
extern

◆ cs_glob_mesh_quantities_flag

unsigned cs_glob_mesh_quantities_flag
extern