Go to the source code of this file.
Functions | |
cs_ext_neighborhood_type_t | cs_ext_neighborhood_get_type (void) |
Get the extended neighborhood type. More... | |
void | cs_ext_neighborhood_set_type (cs_ext_neighborhood_type_t enh_type) |
Set the extended neighborhood type. More... | |
bool | cs_ext_neighborhood_get_boundary_complete (void) |
Query whether full extended neighborhood should be kept at boundaries. More... | |
void | cs_ext_neighborhood_set_boundary_complete (bool keep) |
Set the extended neighborhood type. More... | |
cs_real_t | cs_ext_neighborhood_get_non_ortho_max (void) |
Get the non_orthogonality threshold (in degrees) associated with the CS_EXT_NEIGHBORHOOD_NON_ORTHO_MAX neighborhood type. More... | |
void | cs_ext_neighborhood_set_non_ortho_max (cs_real_t non_ortho_max) |
Set the non_orthogonality threshold (in degrees) associated with the CS_EXT_NEIGHBORHOOD_NON_ORTHO_MAX neighborhood type. More... | |
void | cs_ext_neighborhood_reduce (cs_mesh_t *mesh, cs_mesh_quantities_t *mesh_quantities) |
Reduce the "cell -> cells" connectivity for the extended neighborhood using a non-orthogonality criterion. More... | |
void | cs_ext_neighborhood_define (cs_mesh_t *mesh) |
Create the "cell -> cells" connectivity. More... | |
Variables | |
const char * | cs_ext_neighborhood_type_name [] |
Enumerator | |
---|---|
CS_EXT_NEIGHBORHOOD_NONE | No extended neighborhood
No extended neighborhood |
CS_EXT_NEIGHBORHOOD_COMPLETE | Full extended neighborhood
Full extended neighborhood This option should lead to the smoothest gradient, as it uses information from all neighbors, but is quite costly. On average, a hexahedral mesh has about 21 vertex neighbors per cell, a tetrahedral mesh around 150 vertex neighbors. |
CS_EXT_NEIGHBORHOOD_OPTIMIZED | Optimized extended neighborhood based on heuristics. This option is similar to CS_EXT_NEIGHBORHOOD_CELL_CENTER_OPPOSITE, keeping additional neighbors based on geometric tests and cell type. See the theory documentation for additional details. |
CS_EXT_NEIGHBORHOOD_CELL_CENTER_OPPOSITE | Cells with centers best aligned opposite to face-adjacent cell centers
Opposite cell centers Add cells whose centers are closest to the half-line prolonging the [face-adjacent cell-center, cell center segment]. The number of additional cells in the extended neighborhood is at most equal to the number of cell faces. |
CS_EXT_NEIGHBORHOOD_NON_ORTHO_MAX | Cells adjacent to faces whose non-orthogonality exceeds a given threshold (45 degrees by default)
Maximum non-orthogonality Add cells adjacent to vertices of faces whose non-orthogonality exceeds a given threshold. This is the legacy reduced extended neighborhood option. Depending on the configuration, information may be heavily weighted to some sides of a cell and quite limited on other sides, which may explain why user feedback seems to dismiss this option. |
void cs_ext_neighborhood_define | ( | cs_mesh_t * | mesh | ) |
Create the "cell -> cells" connectivity.
[in,out] | mesh | pointer to a mesh structure |
bool cs_ext_neighborhood_get_boundary_complete | ( | void | ) |
Query whether full extended neighborhood should be kept at boundaries.
cs_real_t cs_ext_neighborhood_get_non_ortho_max | ( | void | ) |
Get the non_orthogonality threshold (in degrees) associated with the CS_EXT_NEIGHBORHOOD_NON_ORTHO_MAX neighborhood type.
cs_ext_neighborhood_type_t cs_ext_neighborhood_get_type | ( | void | ) |
Get the extended neighborhood type.
void cs_ext_neighborhood_reduce | ( | cs_mesh_t * | mesh, |
cs_mesh_quantities_t * | mesh_quantities | ||
) |
Reduce the "cell -> cells" connectivity for the extended neighborhood using a non-orthogonality criterion.
Note: Only cells sharing only a vertex or vertices (not a face) belong to the "cell -> cells" connectivity.
[in] | mesh | pointer to mesh structure |
[in] | mesh_quantities | associated mesh quantities |
void cs_ext_neighborhood_set_boundary_complete | ( | bool | keep | ) |
Set the extended neighborhood type.
[in] | keep | true if full extended neighborhood should be maintained at boundary |
void cs_ext_neighborhood_set_non_ortho_max | ( | cs_real_t | non_ortho_max | ) |
Set the non_orthogonality threshold (in degrees) associated with the CS_EXT_NEIGHBORHOOD_NON_ORTHO_MAX neighborhood type.
[in] | non_ortho_max | non-orthogonality threshold |
void cs_ext_neighborhood_set_type | ( | cs_ext_neighborhood_type_t | enh_type | ) |
Set the extended neighborhood type.
[in] | enh_type | extended neighborhood type |
|
extern |