mmgs
anisosiz_s.c File Reference

Fonctions for anisotropic size map computation. More...

#include "mmgs.h"
#include "inlined_functions.h"
Include dependency graph for anisosiz_s.c:

Functions

static int _MMG5_defmetsin (MMG5_pMesh mesh, MMG5_pSol met, int it, int ip)
 
static int _MMG5_defmetrid (MMG5_pMesh mesh, MMG5_pSol met, int it, int ip)
 
static int _MMG5_defmetref (MMG5_pMesh mesh, MMG5_pSol met, int it, int ip)
 
static int _MMG5_defmetreg (MMG5_pMesh mesh, MMG5_pSol met, int it, int ip)
 
static int _MMGS_intextmet (MMG5_pMesh mesh, MMG5_pSol met, int np, double me[6])
 
int _MMGS_defsiz_ani (MMG5_pMesh mesh, MMG5_pSol met)
 
int gradsiz_ani (MMG5_pMesh mesh, MMG5_pSol met)
 

Detailed Description

Fonctions for anisotropic size map computation.

Author
Charles Dapogny (UPMC)
Cécile Dobrzynski (Bx INP/Inria/UBordeaux)
Pascal Frey (UPMC)
Algiane Froehly (Inria/UBordeaux)
Version
5
Todo:
doxygen documentation.

Function Documentation

◆ _MMG5_defmetref()

static int _MMG5_defmetref ( MMG5_pMesh  mesh,
MMG5_pSol  met,
int  it,
int  ip 
)
static
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
itindex of the triangle in which we work.
ipindex of the point on which we want to compute the metric in it.
Returns
1 if success, 0 otherwise.

Define metric map at a REF vertex of the mesh, associated to the geometric approx of the surface.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _MMG5_defmetreg()

static int _MMG5_defmetreg ( MMG5_pMesh  mesh,
MMG5_pSol  met,
int  it,
int  ip 
)
static
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
itindex of the triangle in which we work.
ipindex of the point on which we want to compute the metric in it.
Returns
1 if success, 0 otherwise.

Define metric map at a REGULAR vertex of the mesh, associated to the geometric approx of the surface.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _MMG5_defmetrid()

static int _MMG5_defmetrid ( MMG5_pMesh  mesh,
MMG5_pSol  met,
int  it,
int  ip 
)
static
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
itindex of the triangle in which we work.
ipindex of the point on which we want to compute the metric in it.
Returns
1 if success, 0 otherwise.

Compute metric tensor associated to a ridge point : convention is a bit weird here : p->m[0] is the specific size in direction t, p->m[1] is the specific size in direction $ u_1 = n_1^{}t$, p->m[2] is the specific size in direction $ u_2 = n_2^{}t$, p->m[3] is the specific size in direction $ n_1$ (computed by the _MMG5_intextmet function), p->m[4] is the specific size in direction $ n_2$, (computed by the _MMG5_intextmet function), and at each time, metric tensor has to be recomputed, depending on the side.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _MMG5_defmetsin()

static int _MMG5_defmetsin ( MMG5_pMesh  mesh,
MMG5_pSol  met,
int  it,
int  ip 
)
static
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
itindex of the triangle in which we work.
ipindex of the point on which we want to compute the metric in it.
Returns
1 if success, 0 otherwise.

Define metric map at a SINGULARITY of the geometry, associated to the geometric approx of the surface. metric $=\alpha*Id$, $\alpha =$ size.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _MMGS_defsiz_ani()

int _MMGS_defsiz_ani ( MMG5_pMesh  mesh,
MMG5_pSol  met 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric stucture.
Returns
0 if fail, 1 otherwise.

Define size at points by intersecting the surfacic metric and the physical metric.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _MMGS_intextmet()

static int _MMGS_intextmet ( MMG5_pMesh  mesh,
MMG5_pSol  met,
int  np,
double  me[6] 
)
inlinestatic
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
npglobal index of vertex in which we intersect the metrics.
mephysical metric at point np.
Returns
0 if fail, 1 otherwise.

Intersect the surface metric held in np (supported in tangent plane of np) with 3*3 physical metric in me. For ridge points, this function fill the $ p_0->m[3]$ and $ p_0->m[4]$ fields that contains respectively the specific sizes in the $n_1$ and $n_2$ directions.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gradsiz_ani()

int gradsiz_ani ( MMG5_pMesh  mesh,
MMG5_pSol  met 
)
Parameters
meshpointer toward the mesh structure.
metpointer toward the metric structure.
Returns
1

Enforces mesh gradation by truncating metric field.

Here is the call graph for this function:
Here is the caller graph for this function: