![]() |
programmer's documentation
|
#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 "fvm_io_num.h"
#include "cs_mesh.h"
#include "cs_mesh_quantities.h"
#include "cs_order.h"
#include "cs_parall.h"
#include "cs_mesh_extrude.h"
Functions | |
void | cs_mesh_extrude (cs_mesh_t *m, bool interior_gc, cs_lnum_t n_faces, cs_lnum_t n_vertices, const cs_lnum_t faces[], const cs_lnum_t vertices[], const cs_lnum_t n_layers[], const cs_coord_3_t coord_shift[], const float distribution[]) |
Extrude mesh boundary faces in the normal direction. More... | |
void | cs_mesh_extrude_constant (cs_mesh_t *m, bool interior_gc, cs_lnum_t n_layers, double thickness, double reason, cs_lnum_t n_faces, const cs_lnum_t faces[]) |
Extrude mesh boundary faces in the normal direction by a constant thickness. More... | |
Mesh extrusion.
void cs_mesh_extrude | ( | cs_mesh_t * | m, |
bool | interior_gc, | ||
cs_lnum_t | n_faces, | ||
cs_lnum_t | n_vertices, | ||
const cs_lnum_t | faces[], | ||
const cs_lnum_t | vertices[], | ||
const cs_lnum_t | n_layers[], | ||
const cs_coord_3_t | coord_shift[], | ||
const float | distribution[] | ||
) |
Extrude mesh boundary faces in the normal direction.
Extrusion is defined on selected boundary faces, and the number of layers for each associated vertex may be (slightly) variable, to account for cluttered areas where extrusion may be constrained, or more complex extrusions.
[in,out] | m | mesh |
[in] | interior_gc | if true, maintain group classes of interior faces previously on boundary |
[in] | n_faces | number of selected boundary faces |
[in] | n_vertices | number of selected vertices |
[in] | faces | list of selected boundary faces (0 to n-1), or NULL if no indirection is needed |
[in] | vertices | ids of selected vertices (0 to n-1), or NULL if no indirection is needed |
[in] | n_layers | number of layers for each vertex |
[in] | coord_shift | extrusion vector for each vertex |
[in] | distribution | optional distribution of resulting vertices along each extrusion vector (size: n_vertices*n_layers) with values in range ]0, 1]. |
void cs_mesh_extrude_constant | ( | cs_mesh_t * | m, |
bool | interior_gc, | ||
cs_lnum_t | n_layers, | ||
double | thickness, | ||
double | reason, | ||
cs_lnum_t | n_faces, | ||
const cs_lnum_t | faces[] | ||
) |
Extrude mesh boundary faces in the normal direction by a constant thickness.
[in,out] | m | mesh |
[in] | interior_gc | if true, maintain group classes of interior faces previously on boundary |
[in] | n_layers | number of layers |
[in] | thickness | extrusion thickness |
[in] | reason | geometric reason for extrusion refinement |
[in] | n_faces | number of selected boundary faces |
[in] | faces | list of selected boundary faces (0 to n-1), or NULL if no indirection is needed |