My Project
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_math.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, 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_t * | cs_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_t * | cs_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... | |
Mesh extrusion.
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.
[in,out] | m | mesh |
[in] | e | extrusion vector definitions |
[in] | interior_gc | if true, maintain group classes of interior faces previously on boundary |
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.
[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] | expansion_factor | geometric expansion factor 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 |
cs_mesh_extrude_face_info_t* cs_mesh_extrude_face_info_create | ( | const cs_mesh_t * | m | ) |
Create a mesh extrusion face information structure.
[in] | m | mesh |
void cs_mesh_extrude_face_info_destroy | ( | cs_mesh_extrude_face_info_t ** | efi | ) |
Destroy a mesh extrusion face information structure.
[in,out] | efi | pointer to pointer to mesh extrusion face information. |
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.
[in,out] | efi | mesh extrusion face information |
[in] | n_layers | number of layers for selected faces |
[in] | distance | extrusion distance for selected faces (if < 0, absolute value used as multiplier for boundary cell thickness) |
[in] | expansion_factor | expansion factor for selected faces |
[in] | n_faces | number of selected faces |
[in] | face_ids | ids of selected faces, or NULL |
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.
[in] | efi | mesh extrusion face information, or NULL |
void cs_mesh_extrude_vectors_destroy | ( | cs_mesh_extrude_vectors_t ** | e | ) |
Destroy a mesh extrusion vectors definition.
[in,out] | e | pointer to pointer to mesh extrusion vectors definition. |