My Project
programmer's documentation
Data Structures | Macros | Functions
cs_cdo_connect.h File Reference
#include "fvm_defs.h"
#include "cs_base.h"
#include "cs_flag.h"
#include "cs_mesh.h"
#include "cs_mesh_adjacencies.h"
#include "cs_range_set.h"
Include dependency graph for cs_cdo_connect.h:

Go to the source code of this file.

Data Structures

struct  cs_cdo_connect_t
 

Macros

#define CS_CDO_CONNECT_VTX_SCAL   0 /* Vb or VCb scalar-valued eq. */
 
#define CS_CDO_CONNECT_VTX_VECT   1 /* Vb or VCb vector-valued eq. */
 
#define CS_CDO_CONNECT_FACE_SP0   2 /* Fb or HHO-P0 scalar-valued eq. */
 
#define CS_CDO_CONNECT_FACE_VP0   3 /* Fb vector-valued eq. */
 
#define CS_CDO_CONNECT_FACE_SP1   3 /* HHO-P1 scalar-valued */
 
#define CS_CDO_CONNECT_FACE_SP2   4 /* HHO-P2 scalar-valued eq. */
 
#define CS_CDO_CONNECT_FACE_VHP0   3 /* HHO-P0 vector-valued eq. */
 
#define CS_CDO_CONNECT_FACE_VHP1   5 /* HHO-P1 vector-valued eq. */
 
#define CS_CDO_CONNECT_FACE_VHP2   6 /* HHO-P2 vector-valued eq. */
 
#define CS_CDO_CONNECT_N_CASES   7
 
#define CS_TRIANGLE_CASE   3 /* Number of vertices in a triangle */
 

Functions

static void cs_connect_get_next_3_vertices (const cs_lnum_t *f2e_ids, const cs_lnum_t *e2v_ids, const cs_lnum_t start_idx, cs_lnum_t *v0, cs_lnum_t *v1, cs_lnum_t *v2)
 Get the next three vertices in a row from a face to edge connectivity and a edge to vertex connectivity. More...
 
cs_cdo_connect_tcs_cdo_connect_init (cs_mesh_t *mesh, cs_flag_t vb_scheme_flag, cs_flag_t vcb_scheme_flag, cs_flag_t fb_scheme_flag, cs_flag_t hho_scheme_flag)
 Allocate and define a new cs_cdo_connect_t structure Range sets and interface sets are allocated and defined according to the value of the different scheme flags. cs_range_set_t structure related to vertices is shared the cs_mesh_t structure (the global one) More...
 
cs_cdo_connect_tcs_cdo_connect_free (cs_cdo_connect_t *connect)
 Destroy a cs_cdo_connect_t structure. More...
 
void cs_cdo_connect_summary (const cs_cdo_connect_t *connect)
 Summary of connectivity information. More...
 
void cs_cdo_connect_dump (const cs_cdo_connect_t *connect)
 Dump a cs_cdo_connect_t structure. More...
 

Macro Definition Documentation

◆ CS_CDO_CONNECT_FACE_SP0

#define CS_CDO_CONNECT_FACE_SP0   2 /* Fb or HHO-P0 scalar-valued eq. */

◆ CS_CDO_CONNECT_FACE_SP1

#define CS_CDO_CONNECT_FACE_SP1   3 /* HHO-P1 scalar-valued */

◆ CS_CDO_CONNECT_FACE_SP2

#define CS_CDO_CONNECT_FACE_SP2   4 /* HHO-P2 scalar-valued eq. */

◆ CS_CDO_CONNECT_FACE_VHP0

#define CS_CDO_CONNECT_FACE_VHP0   3 /* HHO-P0 vector-valued eq. */

◆ CS_CDO_CONNECT_FACE_VHP1

#define CS_CDO_CONNECT_FACE_VHP1   5 /* HHO-P1 vector-valued eq. */

◆ CS_CDO_CONNECT_FACE_VHP2

#define CS_CDO_CONNECT_FACE_VHP2   6 /* HHO-P2 vector-valued eq. */

◆ CS_CDO_CONNECT_FACE_VP0

#define CS_CDO_CONNECT_FACE_VP0   3 /* Fb vector-valued eq. */

◆ CS_CDO_CONNECT_N_CASES

#define CS_CDO_CONNECT_N_CASES   7

◆ CS_CDO_CONNECT_VTX_SCAL

#define CS_CDO_CONNECT_VTX_SCAL   0 /* Vb or VCb scalar-valued eq. */

◆ CS_CDO_CONNECT_VTX_VECT

#define CS_CDO_CONNECT_VTX_VECT   1 /* Vb or VCb vector-valued eq. */

◆ CS_TRIANGLE_CASE

#define CS_TRIANGLE_CASE   3 /* Number of vertices in a triangle */

Function Documentation

◆ cs_cdo_connect_dump()

void cs_cdo_connect_dump ( const cs_cdo_connect_t connect)

Dump a cs_cdo_connect_t structure.

Parameters
[in]connectpointer to cs_cdo_connect_t structure

◆ cs_cdo_connect_free()

cs_cdo_connect_t* cs_cdo_connect_free ( cs_cdo_connect_t connect)

Destroy a cs_cdo_connect_t structure.

Parameters
[in]connectpointer to the cs_cdo_connect_t struct. to destroy
Returns
a NULL pointer

◆ cs_cdo_connect_init()

cs_cdo_connect_t* cs_cdo_connect_init ( cs_mesh_t mesh,
cs_flag_t  vb_scheme_flag,
cs_flag_t  vcb_scheme_flag,
cs_flag_t  fb_scheme_flag,
cs_flag_t  hho_scheme_flag 
)

Allocate and define a new cs_cdo_connect_t structure Range sets and interface sets are allocated and defined according to the value of the different scheme flags. cs_range_set_t structure related to vertices is shared the cs_mesh_t structure (the global one)

Parameters
[in,out]meshpointer to a cs_mesh_t structure
[in]vb_scheme_flagmetadata for Vb schemes
[in]vcb_scheme_flagmetadata for V+C schemes
[in]fb_scheme_flagmetadata for Fb schemes
[in]hho_scheme_flagmetadata for HHO schemes
Returns
a pointer to a cs_cdo_connect_t structure

DOXYGEN_SHOULD_SKIP_THIS

Parameters
[in,out]meshpointer to a cs_mesh_t structure
[in]vb_scheme_flagmetadata for Vb schemes
[in]vcb_scheme_flagmetadata for V+C schemes
[in]fb_scheme_flagmetadata for Fb schemes
[in]hho_scheme_flagmetadata for HHO schemes
Returns
a pointer to a cs_cdo_connect_t structure

◆ cs_cdo_connect_summary()

void cs_cdo_connect_summary ( const cs_cdo_connect_t connect)

Summary of connectivity information.

Parameters
[in]connectpointer to cs_cdo_connect_t structure

◆ cs_connect_get_next_3_vertices()

static void cs_connect_get_next_3_vertices ( const cs_lnum_t f2e_ids,
const cs_lnum_t e2v_ids,
const cs_lnum_t  start_idx,
cs_lnum_t v0,
cs_lnum_t v1,
cs_lnum_t v2 
)
inlinestatic

Get the next three vertices in a row from a face to edge connectivity and a edge to vertex connectivity.

Parameters
[in]f2e_idsface-edge connectivity
[in]e2v_idsedge-vertex connectivity
[in]start_idxindex from which the current cell infos start
[in,out]v0id of the first vertex
[in,out]v1id of the second vertex
[in,out]v2id of the third vertex