Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
|
Perform volume and surface mesh adaptation in delaunay mode. More...
Go to the source code of this file.
Macros | |
#define | MMG3D_THRES_DEL 1.6 |
#define | MMG3D_LOPTL_DEL 1.41 |
#define | MMG3D_LFILTS_DEL 0.7 |
#define | MMG3D_LFILTL_DEL 0.2 |
Functions | |
static int | MMG3D_mmg3d1_delone_split (MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree *PROctree, MMG5_int k, int8_t imax, double lmax, double lmaxtet, int8_t chkRidTet, MMG5_int *ifilt, MMG5_int *ns, int *warn, int8_t *countMemFailure) |
static int | MMG3D_mmg3d1_delone_splcol (MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree *PROctree, MMG5_int k, int8_t imin, double lmin, int8_t imax, double lmax, double lmaxtet, int8_t chkRidTet, MMG5_int *ifilt, MMG5_int *ns, MMG5_int *nc, int *warn) |
static int | MMG5_adpsplcol (MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree *PROctree, MMG5_int ne, MMG5_int *ifilt, MMG5_int *ns, MMG5_int *nc, int *warn) |
static int | MMG5_optbad (MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree) |
static int | MMG5_adpdel (MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree *PROctree, int *warn) |
static int | MMG5_optetLES (MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree) |
static int | MMG5_optet (MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree PROctree) |
static int | MMG5_adptet_delone (MMG5_pMesh mesh, MMG5_pSol met, MMG3D_pPROctree *PROctree, MMG5_int *permNodGlob) |
int | MMG5_mmg3d1_delone (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int *permNodGlob) |
Variables | |
int8_t | ddb |
Perform volume and surface mesh adaptation in delaunay mode.
Perform volume and surface mesh adaptation in delaunay mode (MMG_PATTERN preprocessor flag set to OFF).
Definition in file mmg3d1_delone.c.
#define MMG3D_LFILTL_DEL 0.2 |
Definition at line 47 of file mmg3d1_delone.c.
#define MMG3D_LFILTS_DEL 0.7 |
Definition at line 46 of file mmg3d1_delone.c.
#define MMG3D_LOPTL_DEL 1.41 |
Definition at line 45 of file mmg3d1_delone.c.
#define MMG3D_THRES_DEL 1.6 |
Definition at line 44 of file mmg3d1_delone.c.
|
inlinestatic |
mesh | pointer to the mesh structure. |
met | pointer to the metric structure. |
PROctree | pointer to the PROctree structure. |
k | index of tetra in which we work. |
imin | index in k of edge that we consider for split. |
lmin | length of edge imax. |
imax | index in k of edge that we consider for split. |
lmax | length of edge imax. |
lmaxtet | length of largest edge of tetra k. |
1 | if we want to check tetra with 4 ridge metrics. |
ifilt | pointer to store the number of vertices filtered by the PROctree. |
ns | pointer to count of splits (has to be updated) |
nc | pointer to count of collapses (has to be updated) |
warn | pointer to store a flag that warn the user in case of reallocation error. |
Try to split imax edge if too large and to collapse imin edge if too small.
If unable to treat edge with ier==1 return value or if edge has not been splitted but slpit_delone has not raised any error: try to collapse short edge.
Definition at line 359 of file mmg3d1_delone.c.
|
inlinestatic |
mesh | pointer to the mesh structure. |
met | pointer to the metric structure. |
PROctree | pointer to the PROctree structure. |
k | index of tetra in which we work. |
imax | index in k of edge that we consider for split. |
lmax | length of edge imax. |
lmaxtet | length of largest edge of tetra k. |
1 | if we want to check tetra with 4 ridge metrics. |
ifilt | pointer to store the number of vertices filtered by the PROctree. |
ns | pointer to count of splits (has to be updated) |
warn | pointer to store a flag that warn the user in case of reallocation error. |
countMemFailure | number of memory errors (to update) |
Try to split imax if too large.
Get edge infos
Check edge length
Edge belongs to a boundary face: try to split using patterns
b/ Edge splitting
Case of a tetra without xtetra (no boundary faces): split non-bdy edges with Delauney kernel.
Definition at line 82 of file mmg3d1_delone.c.
|
static |
mesh | pointer to the mesh structure. |
met | pointer to the metric structure. |
PROctree | pointer to the PROctree structure. |
warn | set to 1 if we can't insert point due to lack of memory. |
Split edges longer than MMG3D_LOPTL_DEL and collapse edges shorter than MMG3D_LOPTS.
Definition at line 642 of file mmg3d1_delone.c.
|
inlinestatic |
mesh | pointer to the mesh structure. |
met | pointer to the metric structure. |
PROctree | pointer to the PROctree structure. |
ne | number of elements. |
ifilt | pointer to store the number of vertices filtered by the PROctree. |
ns | pointer to store the number of vertices insertions. |
nc | pointer to store the number of collapse. |
warn | pointer to store a flag that warn the user in case of reallocation difficulty. |
adpsplcol loop: split edges longer than MMG3D_LOPTL_DEL and collapse edges shorter than MMG3D_LOPTS.
Step 1: find longest and shortest edge (and try to manage them)
Step 2: longest and shortest edges are stucked => try the other edges
Definition at line 427 of file mmg3d1_delone.c.
|
static |
mesh | pointer to the mesh structure. |
met | pointer to the metric structure. |
PROctree | pointer to the PROctree structure. |
permNodGlob | if provided, strore the global permutation of nodes |
Analyze tetrahedra and split long / collapse short, according to prescribed metric.
Step 1: few iters of swaps
Step 2: few iters of splits, collapses, swaps and moves
Step 3: Last wave of improvements: few iters of bad elts treatment, swaps and moves
Definition at line 959 of file mmg3d1_delone.c.
int MMG5_mmg3d1_delone | ( | MMG5_pMesh | mesh, |
MMG5_pSol | met, | ||
MMG5_int * | permNodGlob | ||
) |
mesh | pointer to the mesh structure. |
met | pointer to the metric structure. |
permNodGlob | if provided, strore the global permutation of nodes |
Main adaptation routine.
— stage 1: geometric mesh
— stage 2: computational mesh
Definition at line 1032 of file mmg3d1_delone.c.
|
static |
mesh | pointer to the mesh structure. |
met | pointer to the metric structure. |
PROctree | pointer to the PROctree structure. |
Mesh optimization during insertion phase.
Definition at line 566 of file mmg3d1_delone.c.
|
static |
mesh | pointer to the mesh structure. |
met | pointer to the metric structure. |
PROctree | pointer to the PROctree structure. |
Mesh optimization using egde swapping and point relocation.
Definition at line 850 of file mmg3d1_delone.c.
|
static |
mesh | pointer to the mesh structure. |
met | pointer to the metric structure. |
PROctree | pointer to the PROctree structure. |
Mesh optimization for LES computation (improve the element skewness).
Definition at line 756 of file mmg3d1_delone.c.
int8_t ddb |
Definition at line 42 of file mmg3d1_delone.c.