7.1
general documentation
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 DoF */
 
#define CS_CDO_CONNECT_VTX_VECT   1 /* Vb or VCb vector-valued DoF */
 
#define CS_CDO_CONNECT_FACE_SP0   2 /* Fb or HHO-P0 scalar-valued DoF */
 
#define CS_CDO_CONNECT_FACE_VP0   3 /* Fb vector-valued DoF */
 
#define CS_CDO_CONNECT_FACE_SP1   3 /* HHO-P1 scalar-valued */
 
#define CS_CDO_CONNECT_FACE_SP2   4 /* HHO-P2 scalar-valued DoF */
 
#define CS_CDO_CONNECT_FACE_VHP0   3 /* HHO-P0 vector-valued DoF */
 
#define CS_CDO_CONNECT_FACE_VHP1   5 /* HHO-P1 vector-valued DoF */
 
#define CS_CDO_CONNECT_FACE_VHP2   6 /* HHO-P2 vector-valued DoF */
 
#define CS_CDO_CONNECT_EDGE_SCAL   7 /* Eb scalar-valued DoF */
 
#define CS_CDO_CONNECT_N_CASES   8
 
#define CS_TRIANGLE_CASE   3 /* Number of vertices in a triangle */
 

Functions

cs_interface_set_tcs_cdo_connect_define_face_interface (const cs_mesh_t *mesh)
 Create and define a new cs_interface_set_t structure on faces. More...
 
cs_cdo_connect_tcs_cdo_connect_init (cs_mesh_t *mesh, cs_flag_t eb_scheme_flag, cs_flag_t fb_scheme_flag, cs_flag_t vb_scheme_flag, cs_flag_t vcb_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_discrete_curl (const cs_cdo_connect_t *connect, const cs_real_t *edge_values, cs_real_t **p_curl_values)
 Compute the discrete curl operator across each primal faces. From an edge-based array (seen as circulations) compute a face-based array (seen as fluxes) More...
 
void cs_cdo_connect_summary (const cs_cdo_connect_t *connect, cs_flag_t eb_scheme_flag, cs_flag_t vb_scheme_flag, cs_flag_t vcb_scheme_flag)
 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_EDGE_SCAL

#define CS_CDO_CONNECT_EDGE_SCAL   7 /* Eb scalar-valued DoF */

◆ CS_CDO_CONNECT_FACE_SP0

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

◆ 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 DoF */

◆ CS_CDO_CONNECT_FACE_VHP0

#define CS_CDO_CONNECT_FACE_VHP0   3 /* HHO-P0 vector-valued DoF */

◆ CS_CDO_CONNECT_FACE_VHP1

#define CS_CDO_CONNECT_FACE_VHP1   5 /* HHO-P1 vector-valued DoF */

◆ CS_CDO_CONNECT_FACE_VHP2

#define CS_CDO_CONNECT_FACE_VHP2   6 /* HHO-P2 vector-valued DoF */

◆ CS_CDO_CONNECT_FACE_VP0

#define CS_CDO_CONNECT_FACE_VP0   3 /* Fb vector-valued DoF */

◆ CS_CDO_CONNECT_N_CASES

#define CS_CDO_CONNECT_N_CASES   8

◆ CS_CDO_CONNECT_VTX_SCAL

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

◆ CS_CDO_CONNECT_VTX_VECT

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

◆ CS_TRIANGLE_CASE

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

Function Documentation

◆ cs_cdo_connect_define_face_interface()

cs_interface_set_t* cs_cdo_connect_define_face_interface ( const cs_mesh_t mesh)

Create and define a new cs_interface_set_t structure on faces.

Parameters
[in]meshpointer to a cs_mesh_t structure
Returns
a pointer to a new allocated cs_interface_set_t structure

DOXYGEN_SHOULD_SKIP_THIS

Parameters
[in]meshpointer to a cs_mesh_t structure
Returns
a pointer to a new allocated cs_interface_set_t structure

◆ cs_cdo_connect_discrete_curl()

void cs_cdo_connect_discrete_curl ( const cs_cdo_connect_t connect,
const cs_real_t edge_values,
cs_real_t **  p_curl_values 
)

Compute the discrete curl operator across each primal faces. From an edge-based array (seen as circulations) compute a face-based array (seen as fluxes)

Parameters
[in]connectpointer to a cs_cdo_connect_t struct.
[in]edge_valuesarray of values at edges
[in,out]curl_valuesarray storing the curl across faces (allocated if necessary)

◆ 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  eb_scheme_flag,
cs_flag_t  fb_scheme_flag,
cs_flag_t  vb_scheme_flag,
cs_flag_t  vcb_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]eb_scheme_flagmetadata for Edge-based schemes
[in]fb_scheme_flagmetadata for Face-based schemes
[in]vb_scheme_flagmetadata for Vertex-based schemes
[in]vcb_scheme_flagmetadata for Vertex+Cell-based 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,
cs_flag_t  eb_scheme_flag,
cs_flag_t  vb_scheme_flag,
cs_flag_t  vcb_scheme_flag 
)

Summary of connectivity information.

Parameters
[in]connectpointer to cs_cdo_connect_t structure
[in]eb_scheme_flagmetadata for Edge-based schemes
[in]vb_scheme_flagmetadata for Vertex-based schemes
[in]vcb_scheme_flagmetadata for Vertex+Cell-based schemes