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. | |
| void | cs_ext_neighborhood_set_type (cs_ext_neighborhood_type_t enh_type) |
| Set the extended neighborhood type. | |
| bool | cs_ext_neighborhood_get_boundary_complete (void) |
| Query whether full extended neighborhood should be kept at boundaries. | |
| void | cs_ext_neighborhood_set_boundary_complete (bool keep) |
| Set the extended neighborhood type. | |
| 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. | |
| 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. | |
| 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. | |
| void | cs_ext_neighborhood_define (cs_mesh_t *mesh) |
| Create the "cell -> cells" connectivity. | |
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 |