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

Step 1: Set metric at points belonging to a required edge: compute the metric as the mean of the length of the required eges passing through the point

Here is the call graph for this function:

◆ MMGS_gradsiz_ani()

int MMGS_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:

◆ 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: