programmer's documentation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Structures | Macros | Functions | Variables
cs_cdo_local.h File Reference
#include "cs_cdo.h"
#include "cs_cdo_connect.h"
#include "cs_cdo_quantities.h"
#include "cs_sdm.h"
Include dependency graph for cs_cdo_local.h:

Go to the source code of this file.

Data Structures

struct  cs_cell_builder_t
 
struct  cs_cell_sys_t
 
struct  cs_cell_bc_t
 
struct  cs_cell_mesh_t
 
struct  cs_face_mesh_t
 

Macros

#define CS_CDO_LOCAL_PV   (1 << 0)
 
#define CS_CDO_LOCAL_PVQ   (1 << 1)
 
#define CS_CDO_LOCAL_PE   (1 << 2)
 
#define CS_CDO_LOCAL_PEQ   (1 << 3)
 
#define CS_CDO_LOCAL_DFQ   (1 << 4)
 
#define CS_CDO_LOCAL_PF   (1 << 5)
 
#define CS_CDO_LOCAL_PFQ   (1 << 6)
 
#define CS_CDO_LOCAL_DEQ   (1 << 7)
 
#define CS_CDO_LOCAL_EV   (1 << 8)
 
#define CS_CDO_LOCAL_FE   (1 << 9)
 
#define CS_CDO_LOCAL_FEQ   (1 << 10)
 
#define CS_CDO_LOCAL_EF   (1 << 11)
 
#define CS_CDO_LOCAL_EFQ   (1 << 12)
 
#define CS_CDO_LOCAL_HFQ   (1 << 13)
 
#define CS_CDO_LOCAL_DIAM   (1 << 14)
 

Functions

void cs_cdo_local_initialize (const cs_cdo_connect_t *connect)
 Allocate global structures related to a cs_cell_mesh_t and cs_face_mesh_t structures. More...
 
void cs_cdo_local_finalize (void)
 Free global structures related to cs_cell_mesh_t and cs_face_mesh_t structures. More...
 
cs_cell_sys_tcs_cell_sys_create (int n_max_ent, short int n_blocks, short int *block_sizes)
 Allocate a cs_cell_sys_t structure. More...
 
void cs_cell_sys_free (cs_cell_sys_t **p_ls)
 Free a cs_cell_sys_t structure. More...
 
void cs_cell_sys_dump (const char msg[], const cs_lnum_t c_id, const cs_cell_sys_t *csys)
 Dump a local system for debugging purpose. More...
 
cs_cell_bc_tcs_cell_bc_create (int n_max_dofbyc, int n_max_fbyc)
 Allocate a cs_cell_bc_t structure. More...
 
void cs_cell_bc_free (cs_cell_bc_t **p_cbc)
 Free a cs_cell_bc_t structure. More...
 
cs_cell_builder_tcs_cell_builder_create (cs_space_scheme_t scheme, const cs_cdo_connect_t *connect)
 Allocate and initialize a cs_cell_builder_t structure according to to the type of discretization which is requested. More...
 
void cs_cell_mesh_reset (cs_cell_mesh_t *cm)
 Initialize to invalid values a cs_cell_mesh_t structure. More...
 
void cs_cell_mesh_dump (cs_cell_mesh_t *cm)
 Dump a cs_cell_mesh_t structure. More...
 
void cs_cell_builder_free (cs_cell_builder_t **p_cb)
 Free a cs_cell_builder_t structure. More...
 
cs_cell_mesh_tcs_cdo_local_get_cell_mesh (int mesh_id)
 Get a pointer to a cs_cell_mesh_t structure corresponding to mesh id. More...
 
cs_face_mesh_tcs_cdo_local_get_face_mesh (int mesh_id)
 Get a pointer to a cs_face_mesh_t structure corresponding to mesh id. More...
 
cs_cell_mesh_tcs_cell_mesh_create (const cs_cdo_connect_t *connect)
 Allocate and initialize a cs_cell_mesh_t structure. More...
 
void cs_cell_mesh_free (cs_cell_mesh_t **p_cm)
 Free a cs_cell_mesh_t structure. More...
 
void cs_cell_mesh_build (cs_lnum_t c_id, cs_flag_t level, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, cs_cell_mesh_t *cm)
 Define a cs_cell_mesh_t structure for a given cell id. According to the requested level, some quantities may not be defined;. More...
 
cs_face_mesh_tcs_face_mesh_create (short int n_max_vbyf)
 Allocate a cs_face_mesh_t structure. More...
 
void cs_face_mesh_free (cs_face_mesh_t **p_fm)
 Free a cs_face_mesh_t structure. More...
 
void cs_face_mesh_build (cs_lnum_t c_id, cs_lnum_t f_id, const cs_cdo_connect_t *connect, const cs_cdo_quantities_t *quant, cs_face_mesh_t *fm)
 Define a cs_face_mesh_t structure for a given face/cell id. More...
 
void cs_face_mesh_build_from_cell_mesh (const cs_cell_mesh_t *cm, short int f, cs_face_mesh_t *fm)
 Define a cs_face_mesh_t structure for a given cell from a cs_cell_mesh_t structure. v_ids and e_ids are defined in the cell numbering given by cm. More...
 
static void cs_cell_mesh_get_next_3_vertices (const short int *f2e_ids, const short int *e2v_ids, short int *v0, short int *v1, short int *v2)
 Define a cs_face_mesh_t structure for a given cell from a cs_cell_mesh_t structure. v_ids and e_ids are defined in the cell numbering given by cm. More...
 

Variables

cs_cell_mesh_t ** cs_cdo_local_cell_meshes
 
cs_face_mesh_t ** cs_cdo_local_face_meshes
 

Macro Definition Documentation

#define CS_CDO_LOCAL_DEQ   (1 << 7)
#define CS_CDO_LOCAL_DFQ   (1 << 4)
#define CS_CDO_LOCAL_DIAM   (1 << 14)
#define CS_CDO_LOCAL_EF   (1 << 11)
#define CS_CDO_LOCAL_EFQ   (1 << 12)
#define CS_CDO_LOCAL_EV   (1 << 8)
#define CS_CDO_LOCAL_FE   (1 << 9)
#define CS_CDO_LOCAL_FEQ   (1 << 10)
#define CS_CDO_LOCAL_HFQ   (1 << 13)
#define CS_CDO_LOCAL_PE   (1 << 2)
#define CS_CDO_LOCAL_PEQ   (1 << 3)
#define CS_CDO_LOCAL_PF   (1 << 5)
#define CS_CDO_LOCAL_PFQ   (1 << 6)
#define CS_CDO_LOCAL_PV   (1 << 0)
#define CS_CDO_LOCAL_PVQ   (1 << 1)

Function Documentation

void cs_cdo_local_finalize ( void  )

Free global structures related to cs_cell_mesh_t and cs_face_mesh_t structures.

cs_cell_mesh_t* cs_cdo_local_get_cell_mesh ( int  mesh_id)

Get a pointer to a cs_cell_mesh_t structure corresponding to mesh id.

Parameters
[in]mesh_idid in the array of pointer to cs_cell_mesh_t struct.
Returns
a pointer to a cs_cell_mesh_t structure
cs_face_mesh_t* cs_cdo_local_get_face_mesh ( int  mesh_id)

Get a pointer to a cs_face_mesh_t structure corresponding to mesh id.

Parameters
[in]mesh_idid in the array of pointer to cs_face_mesh_t struct.
Returns
a pointer to a cs_face_mesh_t structure
void cs_cdo_local_initialize ( const cs_cdo_connect_t connect)

Allocate global structures related to a cs_cell_mesh_t and cs_face_mesh_t structures.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure

Allocate global structures related to a cs_cell_mesh_t and cs_face_mesh_t structures.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
cs_cell_bc_t* cs_cell_bc_create ( int  n_max_dofbyc,
int  n_max_fbyc 
)

Allocate a cs_cell_bc_t structure.

Parameters
[in]n_max_dofbycmax. number of entries in a cell
[in]n_max_fbycmax. number of faces in a cell
Returns
a pointer to a new allocated cs_cell_bc_t structure
void cs_cell_bc_free ( cs_cell_bc_t **  p_cbc)

Free a cs_cell_bc_t structure.

Parameters
[in,out]p_cbcpointer of pointer to a cs_cell_bc_t structure
cs_cell_builder_t* cs_cell_builder_create ( cs_space_scheme_t  scheme,
const cs_cdo_connect_t connect 
)

Allocate and initialize a cs_cell_builder_t structure according to to the type of discretization which is requested.

Parameters
[in]schemetype of discretization
[in]connectpointer to a cs_cdo_connect_t structure
Returns
a pointer to the new allocated cs_cell_builder_t structure
void cs_cell_builder_free ( cs_cell_builder_t **  p_cb)

Free a cs_cell_builder_t structure.

Parameters
[in,out]p_cbpointer of pointer to a cs_cell_builder_t structure
void cs_cell_mesh_build ( cs_lnum_t  c_id,
cs_flag_t  flag,
const cs_cdo_connect_t connect,
const cs_cdo_quantities_t quant,
cs_cell_mesh_t cm 
)

Define a cs_cell_mesh_t structure for a given cell id. According to the requested level, some quantities may not be defined;.

Parameters
[in]c_idcell id
[in]levelindicate which members are really defined
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantities_t structure
[in,out]cmpointer to a cs_cell_mesh_t structure to set
[in]c_idcell id
[in]flagindicate which members are really defined
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantities_t structure
[in,out]cmpointer to a cs_cell_mesh_t structure to set
cs_cell_mesh_t* cs_cell_mesh_create ( const cs_cdo_connect_t connect)

Allocate and initialize a cs_cell_mesh_t structure.

Parameters
[in]connectpointer to a cs_cdo_connect_t structure
Returns
a pointer to a new allocated cs_cell_mesh_t structure
void cs_cell_mesh_dump ( cs_cell_mesh_t cm)

Dump a cs_cell_mesh_t structure.

Parameters
[in]cmpointer to a cs_cell_mesh_t structure
void cs_cell_mesh_free ( cs_cell_mesh_t **  p_cm)

Free a cs_cell_mesh_t structure.

Parameters
[in,out]p_cmpointer of pointer to a cs_cell_mesh_t structure
static void cs_cell_mesh_get_next_3_vertices ( const short int *  f2e_ids,
const short int *  e2v_ids,
short int *  v0,
short int *  v1,
short int *  v2 
)
inlinestatic

Define a cs_face_mesh_t structure for a given cell from a cs_cell_mesh_t structure. v_ids and e_ids are defined in the cell numbering given by cm.

Parameters
[in]cmpointer to the reference cs_cell_mesh_t structure
[in]fface id in the cs_cell_mesh_t structure
[in,out]fmpointer to a cs_face_mesh_t structure to set
void cs_cell_mesh_reset ( cs_cell_mesh_t cm)

Initialize to invalid values a cs_cell_mesh_t structure.

Parameters
[in]cmpointer to a cs_cell_mesh_t structure
cs_cell_sys_t* cs_cell_sys_create ( int  n_max_ent,
short int  n_blocks,
short int *  block_sizes 
)

Allocate a cs_cell_sys_t structure.

Parameters
[in]n_max_entmax number of entries
[in]n_blocksnumber of blocks in a row/column
[in]block_sizessize of each block or NULL if n_blocks = 1
Returns
a pointer to a new allocated cs_cell_sys_t structure
void cs_cell_sys_dump ( const char  msg[],
const cs_lnum_t  c_id,
const cs_cell_sys_t csys 
)

Dump a local system for debugging purpose.

Parameters
[in]msgassociated message to print
[in]c_idid related to the cell
[in]csyspointer to a cs_cell_sys_t structure
void cs_cell_sys_free ( cs_cell_sys_t **  p_csys)

Free a cs_cell_sys_t structure.

Parameters
[in,out]p_lspointer of pointer to a cs_cell_sys_t structure
[in,out]p_csyspointer of pointer to a cs_cell_sys_t structure
void cs_face_mesh_build ( cs_lnum_t  c_id,
cs_lnum_t  f_id,
const cs_cdo_connect_t connect,
const cs_cdo_quantities_t quant,
cs_face_mesh_t fm 
)

Define a cs_face_mesh_t structure for a given face/cell id.

Parameters
[in]c_idcell id
[in]f_idface id in the mesh structure
[in]connectpointer to a cs_cdo_connect_t structure
[in]quantpointer to a cs_cdo_quantities_t structure
[in,out]fmpointer to a cs_face_mesh_t structure to set
void cs_face_mesh_build_from_cell_mesh ( const cs_cell_mesh_t cm,
short int  f,
cs_face_mesh_t fm 
)

Define a cs_face_mesh_t structure for a given cell from a cs_cell_mesh_t structure. v_ids and e_ids are defined in the cell numbering given by cm.

Parameters
[in]cmpointer to the reference cs_cell_mesh_t structure
[in]fface id in the cs_cell_mesh_t structure
[in,out]fmpointer to a cs_face_mesh_t structure to set

Define a cs_face_mesh_t structure for a given cell from a cs_cell_mesh_t structure. v_ids and e_ids are defined in the cell numbering given by cm.

Parameters
[in]cmpointer to the reference cs_cell_mesh_t structure
[in]f_idface id in the cs_cell_mesh_t structure
[in,out]fmpointer to a cs_face_mesh_t structure to set
cs_face_mesh_t* cs_face_mesh_create ( short int  n_max_vbyf)

Allocate a cs_face_mesh_t structure.

Parameters
[in]n_max_vbyfmax. number of vertices fir a face
Returns
a pointer to a new allocated cs_face_mesh_t structure
void cs_face_mesh_free ( cs_face_mesh_t **  p_fm)

Free a cs_face_mesh_t structure.

Parameters
[in,out]p_fmpointer of pointer to a cs_face_mesh_t structure

Variable Documentation

cs_cell_mesh_t** cs_cdo_local_cell_meshes
cs_face_mesh_t** cs_cdo_local_face_meshes