|
mmg3d
|
Fonctions for anisotropic size map computation. More...

Functions | |
| int | MMG3D_chk4ridVertices (MMG5_pMesh mesh, MMG5_pTetra pt) |
| int | MMG5_moymet (MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt, double *m1) |
| static int | MMG5_defmetsin (MMG5_pMesh mesh, MMG5_pSol met, int kel, int iface, int ip) |
| static int | MMG5_defmetrid (MMG5_pMesh mesh, MMG5_pSol met, int kel, int iface, int ip) |
| static int | MMG5_defmetref (MMG5_pMesh mesh, MMG5_pSol met, int kel, int iface, int ip) |
| static int | MMG5_defmetreg (MMG5_pMesh mesh, MMG5_pSol met, int kel, int iface, int ip) |
| static int | MMG5_defmetvol (MMG5_pMesh mesh, MMG5_pSol met, int8_t ismet) |
| static int | MMG3D_intextmet (MMG5_pMesh mesh, MMG5_pSol met, int np, double me[6]) |
| int | MMG3D_defsiz_ani (MMG5_pMesh mesh, MMG5_pSol met) |
| static int | MMG5_grad2metVol (MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt, int np1, int np2) |
| static int | MMG3D_simred (MMG5_pMesh mesh, double *m, double *n, double dm[3], double dn[3], double vp[3][3]) |
| int | MMG3D_updatemetreq_ani (double *n, double dn[3], double vp[3][3]) |
| static int | MMG5_grad2metVolreq (MMG5_pMesh mesh, MMG5_pSol met, MMG5_pTetra pt, int npmaster, int npslave) |
| int | MMG3D_gradsiz_ani (MMG5_pMesh mesh, MMG5_pSol met) |
| int | MMG3D_gradsizreq_ani (MMG5_pMesh mesh, MMG5_pSol met) |
Fonctions for anisotropic size map computation.
| int MMG3D_chk4ridVertices | ( | MMG5_pMesh | mesh, |
| MMG5_pTetra | pt | ||
| ) |

| int MMG3D_defsiz_ani | ( | MMG5_pMesh | mesh, |
| MMG5_pSol | met | ||
| ) |
| mesh | pointer toward the mesh structure. |
| met | pointer toward the metric stucture. |
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


| int MMG3D_gradsiz_ani | ( | MMG5_pMesh | mesh, |
| MMG5_pSol | met | ||
| ) |
| mesh | pointer toward the mesh structure. |
| met | pointer toward the metric structure. |
Enforces mesh gradation by truncating metric field.
Mark the edges belonging to a required entity


| int MMG3D_gradsizreq_ani | ( | MMG5_pMesh | mesh, |
| MMG5_pSol | met | ||
| ) |
| mesh | pointer toward the mesh structure. |
| met | pointer toward the metric structure. |
Enforce mesh gradation by truncating size map.
Mark the edges belonging to a required entity (already done if the classic gradation is enabled)


|
inlinestatic |
| mesh | pointer toward the mesh structure. |
| met | pointer toward the metric structure. |
| np | global index of vertex in which we intersect the metrics. |
| me | physical metric at point np. |
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
and
fields that contains respectively the specific sizes in the
and
directions.


|
inlinestatic |
| mesh | pointer toward the mesh |
| m | first matrix |
| n | second matrix |
| dm | eigenvalues of m in the coreduction basis (to fill) |
| dn | eigenvalues of n in the coreduction basis (to fill) |
| vp | coreduction basis (to fill) |
Perform simultaneous reduction of matrices m and n.


| int MMG3D_updatemetreq_ani | ( | double * | n, |
| double | dn[3], | ||
| double | vp[3][3] | ||
| ) |
| n | matrix to update |
| dn | eigenvalues of n in the coreduction basis |
| vp | coreduction basis |
Update of the metric n = tP^-1 diag(dn0,dn1,dn2)P^-1, P = (vp[0],vp[1],vp[2]) stored in columns


|
static |
| mesh | pointer toward the mesh structure. |
| met | pointer toward the metric structure. |
| kel | index of the triangle in which we work. |
| iface | face of the tetra on which we work. |
| ip | index of the point on which we want to compute the metric (in tetra kel). |
Define metric map at a REF vertex of the mesh, associated to the geometric approx of the surface.


|
static |
| mesh | pointer toward the mesh structure. |
| met | pointer toward the metric structure. |
| kel | index of the triangle in which we work. |
| iface | working face. |
| ip | index of the point on which we want to compute the metric in (tetra kel). |
Define metric map at a REGULAR vertex of the mesh, associated to the geometric approx of the surface.


|
static |
| mesh | pointer toward the mesh structure. |
| met | pointer toward the metric structure. |
| kel | index of the tetra in which we work. |
| iface | face of the tetra on which we work. |
| ip | index of the point on which we want to compute the metric (in tetra kel). |
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
p->m[2] is the specific size in direction
, and at each time, metric tensor has to be recomputed, depending on the side.


|
static |
| mesh | pointer toward the mesh structure. |
| met | pointer toward the metric structure. |
| kel | index of the tetra in which we work. |
| iface | face of the tetra on which we work. |
| ip | index of the point on which we want to compute the metric (in tetra kel). |
Define metric map at a SINGULARITY of the geometry, associated to the geometric approx of the surface. metric
,
size.


|
inlinestatic |
| mesh | pointer toward the mesh structure. |
| met | pointer toward the metric structure. |
| ismet | 1 if user provided metric |
Define metric map at a non-boundary vertex of the mesh. Allocate the metric if needed. Truncate the metric at the hmin/hmax values.
First step: search for local parameters
Second step: set metric
First step: search for local parameters
Second step: set metric


|
inlinestatic |
| mesh | pointer toward the mesh. |
| met | pointer toward the metric structure. |
| pt | pointer toward a tetra. |
| np1 | global index of the first edge extremity. |
| np2 | global index of the second edge extremity. |
Enforces gradation of metric in one extremity of edge ia in tetra pt with respect to the other.

|
inlinestatic |
| mesh | pointer toward the mesh. |
| met | pointer toward the metric structure. |
| pt | pointer toward a tetra. |
| npmaster | edge extremity that cannot be modified |
| npslave | edge extremity to modify to respect the gradation. |
Enforces gradation of metric from required entity toward other using the simultaneous reduction technique (note that as the gradation is propagated, we can be on an edge without a required extremity).


|
inline |
| mesh | pointer toward the mesh structure. |
| met | pointer toward the sol structure. |
| pt | pointer toward a tetra. |
| m1 | computed metric. |
Compute mean metric over the internal tetra pt. Do not take into account the metric values at ridges points (because we don't know how to build it).
