programmer's documentation
Functions
cs_mesh_extrude.c File Reference
#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"
Include dependency graph for cs_mesh_extrude.c:

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...
 

Detailed Description

Mesh extrusion.

Function Documentation

◆ cs_mesh_extrude()

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.

Parameters
[in,out]mmesh
[in]interior_gcif true, maintain group classes of interior faces previously on boundary
[in]n_facesnumber of selected boundary faces
[in]n_verticesnumber of selected vertices
[in]faceslist of selected boundary faces (0 to n-1), or NULL if no indirection is needed
[in]verticesids of selected vertices (0 to n-1), or NULL if no indirection is needed
[in]n_layersnumber of layers for each vertex
[in]coord_shiftextrusion vector for each vertex
[in]distributionoptional distribution of resulting vertices along each extrusion vector (size: n_vertices*n_layers) with values in range ]0, 1].

◆ cs_mesh_extrude_constant()

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.

Parameters
[in,out]mmesh
[in]interior_gcif true, maintain group classes of interior faces previously on boundary
[in]n_layersnumber of layers
[in]thicknessextrusion thickness
[in]reasongeometric reason for extrusion refinement
[in]n_facesnumber of selected boundary faces
[in]faceslist of selected boundary faces (0 to n-1), or NULL if no indirection is needed