My Project
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_math.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, const cs_mesh_extrude_vectors_t *e, bool interior_gc)
 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 expansion_factor, cs_lnum_t n_faces, const cs_lnum_t faces[])
 Extrude mesh boundary faces in the normal direction by a constant thickness. More...
 
cs_mesh_extrude_face_info_tcs_mesh_extrude_face_info_create (const cs_mesh_t *m)
 Create a mesh extrusion face information structure. More...
 
void cs_mesh_extrude_face_info_destroy (cs_mesh_extrude_face_info_t **efi)
 Destroy a mesh extrusion face information structure. More...
 
void cs_mesh_extrude_set_info_by_zone (cs_mesh_extrude_face_info_t *efi, int n_layers, double distance, float expansion_factor, const cs_lnum_t n_faces, const cs_lnum_t face_ids[])
 Set face extrusion information by zone. More...
 
cs_mesh_extrude_vectors_tcs_mesh_extrude_vectors_create (const cs_mesh_extrude_face_info_t *efi)
 Create and build a mesh extrusion vectors definition. More...
 
void cs_mesh_extrude_vectors_destroy (cs_mesh_extrude_vectors_t **e)
 Destroy a mesh extrusion vectors definition. More...
 

Detailed Description

Mesh extrusion.

Function Documentation

◆ cs_mesh_extrude()

void cs_mesh_extrude ( cs_mesh_t m,
const cs_mesh_extrude_vectors_t e,
bool  interior_gc 
)

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]eextrusion vector definitions
[in]interior_gcif true, maintain group classes of interior faces previously on boundary

◆ cs_mesh_extrude_constant()

void cs_mesh_extrude_constant ( cs_mesh_t m,
bool  interior_gc,
cs_lnum_t  n_layers,
double  thickness,
double  expansion_factor,
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]expansion_factorgeometric expansion factor 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

◆ cs_mesh_extrude_face_info_create()

cs_mesh_extrude_face_info_t* cs_mesh_extrude_face_info_create ( const cs_mesh_t m)

Create a mesh extrusion face information structure.

Parameters
[in]mmesh
Returns
pointer to new mesh extrusion face information structure.

◆ cs_mesh_extrude_face_info_destroy()

void cs_mesh_extrude_face_info_destroy ( cs_mesh_extrude_face_info_t **  efi)

Destroy a mesh extrusion face information structure.

Parameters
[in,out]efipointer to pointer to mesh extrusion face information.

◆ cs_mesh_extrude_set_info_by_zone()

void cs_mesh_extrude_set_info_by_zone ( cs_mesh_extrude_face_info_t efi,
int  n_layers,
double  distance,
float  expansion_factor,
const cs_lnum_t  n_faces,
const cs_lnum_t  face_ids[] 
)

Set face extrusion information by zone.

Parameters
[in,out]efimesh extrusion face information
[in]n_layersnumber of layers for selected faces
[in]distanceextrusion distance for selected faces (if < 0, absolute value used as multiplier for boundary cell thickness)
[in]expansion_factorexpansion factor for selected faces
[in]n_facesnumber of selected faces
[in]face_idsids of selected faces, or NULL

◆ cs_mesh_extrude_vectors_create()

cs_mesh_extrude_vectors_t* cs_mesh_extrude_vectors_create ( const cs_mesh_extrude_face_info_t efi)

Create and build a mesh extrusion vectors definition.

Extrusion vectors will be computed based on the provided extrusion face information structure. If no such structure is provided, an empty structure is returned.

Parameters
[in]efimesh extrusion face information, or NULL
Returns
pointer to created mesh extrusion vectors definition.

◆ cs_mesh_extrude_vectors_destroy()

void cs_mesh_extrude_vectors_destroy ( cs_mesh_extrude_vectors_t **  e)

Destroy a mesh extrusion vectors definition.

Parameters
[in,out]epointer to pointer to mesh extrusion vectors definition.