#include "cs_defs.h"
#include <float.h>
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <math.h>
#include "bft_mem.h"
#include "bft_error.h"
#include "bft_printf.h"
#include "cs_mesh_quantities.h"
#include "cs_parall.h"
#include "cs_mesh_quality.h"
#include "cs_all_to_all.h"
#include "cs_mesh_smoother.h"
Functions | |
void | cs_mesh_smoother_fix_by_feature (cs_mesh_t *mesh, cs_real_t feature_angle, int vtx_is_fixed[]) |
Set fixed vertices flag based on feature angle criterion. More... | |
void | cs_mesh_smoother_unwarp (cs_mesh_t *mesh, const int vtx_is_fixed[]) |
Unwarping smoother. More... | |
void cs_mesh_smoother_fix_by_feature | ( | cs_mesh_t * | mesh, |
cs_real_t | feature_angle, | ||
int | vtx_is_fixed[] | ||
) |
Set fixed vertices flag based on feature angle criterion.
This function locks a vertex in place if one of its feature angles is less than the maximum feature angle (in degrees) defined by the user.
Vertex normals are based on the average of the normals of the adjacent boundary faces. The feature angle between a vertex and one of its adjacent faces is defined as the angle between the vertex normal and the face normal.
Please refer to the specific treatment for boundary faces section of the theory guide for more information.
[in] | mesh | pointer to a cs_mesh_t structure |
[in] | feature_angle | feature angle (between 0 and 90 degrees) |
[out] | vtx_is_fixed | array to define vertices mobility (1: fixed, 0: free) |
void cs_mesh_smoother_unwarp | ( | cs_mesh_t * | mesh, |
const int | vtx_is_fixed[] | ||
) |
Unwarping smoother.
Please refer to the unwarping algorithm section of the theory guide for more informations.
parameters:
[in] | mesh | pointer to a cs_mesh_t structure |
[out] | vtx_is_fixed | array to define vertices mobility (1 : fixed, 0 : free) |