Build additional connectivities (or adjacencies) useful for building CDO or HHO schemes. More...
#include "cs_defs.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "bft_mem.h"
#include "fvm_io_num.h"
#include "cs_array.h"
#include "cs_flag.h"
#include "cs_log.h"
#include "cs_mesh_adjacencies.h"
#include "cs_order.h"
#include "cs_parall.h"
#include "cs_param_types.h"
#include "cs_param_cdo.h"
#include "cs_sort.h"
#include "cs_volume_zone.h"
#include "cs_cdo_connect.h"
Functions | |
long long | cs_cdo_connect_get_time_perfo (void) |
Retrieve the time elapsed to build the cs_cdo_connect_t structure. More... | |
void | cs_cdo_connect_assign_vtx_ifs_rs (const cs_mesh_t *mesh, int n_vtx_dofs, bool interlaced, cs_interface_set_t **p_ifs, cs_range_set_t **p_rs) |
Allocate and define a cs_range_set_t structure and a cs_interface_set_t structure for schemes with DoFs at vertices. More... | |
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 cb_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_t * | cs_cdo_connect_free (const cs_mesh_t *mesh, 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... | |
Build additional connectivities (or adjacencies) useful for building CDO or HHO schemes.
Allocate and define a cs_adjacency_t structure related to the connectivity vertex to vertices through edges.
Adjacent vertices are accessed based on the vertex with lowest id. Another v2v connectivity through cells is possible. Please read the source code if interested
[in] | m | pointer to a cs_mesh_t structure |
void cs_cdo_connect_assign_vtx_ifs_rs | ( | const cs_mesh_t * | mesh, |
int | n_vtx_dofs, | ||
bool | interlaced, | ||
cs_interface_set_t ** | p_ifs, | ||
cs_range_set_t ** | p_rs | ||
) |
Allocate and define a cs_range_set_t structure and a cs_interface_set_t structure for schemes with DoFs at vertices.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | n_vtx_dofs | number of DoFs per vertex |
[in] | interlaced | false means a block viewpoint |
[in,out] | p_ifs | pointer of pointer to a cs_interface_set_t |
[in,out] | p_rs | pointer of pointer to a cs_range_set_t |
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)
[in] | connect | pointer to a cs_cdo_connect_t struct. |
[in] | edge_values | array of values at edges |
[in,out] | p_curl_values | array storing the curl across faces. This array is allocated if necessary. |
void cs_cdo_connect_dump | ( | const cs_cdo_connect_t * | connect | ) |
Dump a cs_cdo_connect_t structure.
[in] | connect | pointer to cs_cdo_connect_t structure |
cs_cdo_connect_t* cs_cdo_connect_free | ( | const cs_mesh_t * | mesh, |
cs_cdo_connect_t * | connect | ||
) |
Destroy a cs_cdo_connect_t structure.
[in] | mesh | pointer to a mesh structure |
[in,out] | connect | pointer to additional CDO connectivities |
long long cs_cdo_connect_get_time_perfo | ( | void | ) |
Retrieve the time elapsed to build the cs_cdo_connect_t structure.
DOXYGEN_SHOULD_SKIP_THIS
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 | cb_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)
[in,out] | mesh | pointer to a cs_mesh_t structure |
[in] | eb_scheme_flag | metadata for Edge-based schemes |
[in] | fb_scheme_flag | metadata for Face-based schemes |
[in] | cb_scheme_flag | metadata for Cell-based schemes |
[in] | vb_scheme_flag | metadata for Vertex-based schemes |
[in] | vcb_scheme_flag | metadata for Vertex+Cell-based schemes |
[in] | hho_scheme_flag | metadata for HHO schemes |
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.
[in] | connect | pointer to cs_cdo_connect_t structure |
[in] | eb_scheme_flag | metadata for Edge-based schemes |
[in] | vb_scheme_flag | metadata for Vertex-based schemes |
[in] | vcb_scheme_flag | metadata for Vertex+Cell-based schemes |