Mmg
Simplicial remeshers (mesh adaptation, isovalue discretization, lagrangian movement)
Functions
intmet_3d.c File Reference

Metric interpolations. More...

#include "libmmg3d_private.h"
Include dependency graph for intmet_3d.c:

Go to the source code of this file.

Functions

int MMG5_intmet_ani (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t i, MMG5_int ip, double s)
 
int MMG3D_intmet33_ani (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t i, MMG5_int ip, double s)
 
int MMG3D_intmet33_ani_edge (MMG5_pSol met, MMG5_int ip1, MMG5_int ip2, MMG5_int ip, double s)
 
int MMG5_intmet_iso (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t i, MMG5_int ip, double s)
 
int MMG5_intmet_iso_edge (MMG5_pSol met, MMG5_int ip1, MMG5_int ip2, MMG5_int ip, double s)
 
int MMG5_intregmet (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t i, double s, double mr[6])
 
static int MMG5_intregvolmet (double *ma, double *mb, double *mp, double t)
 
int MMG5_intvolmet (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, int8_t i, double s, double mr[6])
 
int MMG5_interp4bar_iso (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, MMG5_int ip, double cb[4])
 
static int MMG5_interp4barintern (MMG5_pSol met, MMG5_int ip, double cb[4], double dm0[6], double dm1[6], double dm2[6], double dm3[6])
 
int MMG5_interp4bar_ani (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, MMG5_int ip, double cb[4])
 
int MMG5_interp4bar33_ani (MMG5_pMesh mesh, MMG5_pSol met, MMG5_int k, MMG5_int ip, double cb[4])
 

Detailed Description

Metric interpolations.

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

Definition in file intmet_3d.c.

Function Documentation

◆ MMG3D_intmet33_ani()

int MMG3D_intmet33_ani ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k,
int8_t  i,
MMG5_int  ip,
double  s 
)
Parameters
meshpointer to the mesh structure.
metpointer to the metric structure.
kelement index.
ilocal index of edge in k.
ipglobal index of the new point in which we want to compute the metric.
sinterpolation parameter (between 0 and 1).
Returns
0 if fail, 1 otherwise.

Interpolation of anisotropic sizemap at parameter s along edge i of elt k for a classic storage of ridges metrics (before defsiz call).

Definition at line 126 of file intmet_3d.c.

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

◆ MMG3D_intmet33_ani_edge()

int MMG3D_intmet33_ani_edge ( MMG5_pSol  met,
MMG5_int  ip1,
MMG5_int  ip2,
MMG5_int  ip,
double  s 
)
Parameters
metpointer to the metric structure.
ip1first global index of edge extremities.
ip2second global index of edge extremities.
ipglobal index of the new point in which we want to compute the metric.
sinterpolation parameter (between 0 and 1).
Returns
0 if fail, 1 otherwise.

Interpolation of anisotropic sizemap at parameter s along edge [ip1,ip2] for a classic storage of ridges metrics (before defsiz call).

Definition at line 150 of file intmet_3d.c.

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

◆ MMG5_interp4bar33_ani()

int MMG5_interp4bar33_ani ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k,
MMG5_int  ip,
double  cb[4] 
)
Parameters
meshpointer to the mesh structure.
metpointer to the metric structure.
kindex of the tetra.
ipindex of the point on which we compute the metric.
cbbarycentric coordinates of ip in k.
Returns
1 if success, 0 if fail.

Linear interpolation of anisotropic sizemap in a tetra given the barycentric coordinates of the new point in k.

Definition at line 522 of file intmet_3d.c.

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

◆ MMG5_interp4bar_ani()

int MMG5_interp4bar_ani ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k,
MMG5_int  ip,
double  cb[4] 
)
Parameters
meshpointer to the mesh structure.
metpointer to the metric structure.
kindex of the tetra.
ipindex of the point on which we compute the metric.
cbbarycentric coordinates of ip in k.
Returns
1 if success, 0 if fail.

Linear interpolation of anisotropic sizemap in a tetra given the barycentric coordinates of the new point in k.

Definition at line 450 of file intmet_3d.c.

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

◆ MMG5_interp4bar_iso()

int MMG5_interp4bar_iso ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k,
MMG5_int  ip,
double  cb[4] 
)
Parameters
meshpointer to the mesh structure.
metpointer to the metric structure.
kindex of the tetra.
ipindex of the point on which we compute the metric.
cbbarycentric coordinates of ip in k.
Returns
1.

Linear interpolation of isotropic sizemap in a tetra given the barycentric coordinates of the new point in k.

Definition at line 380 of file intmet_3d.c.

Here is the caller graph for this function:

◆ MMG5_interp4barintern()

static int MMG5_interp4barintern ( MMG5_pSol  met,
MMG5_int  ip,
double  cb[4],
double  dm0[6],
double  dm1[6],
double  dm2[6],
double  dm3[6] 
)
inlinestatic
Parameters
metpointer to the metric structure.
ipindex of the point on which we compute the metric.
cbbarycentric coordinates of ip in the tetra.
dm0metric of the first vertex of the tet.
dm1metric of the second vertex of the tet.
dm2metric of the third vertex of the tet.
dm3metric of the fourth vertex of the tet.
Returns
1 if success, 0 if fail.

Linear interpolation of anisotropic sizemap in a tetra given the barycentric coordinates of the new point in a tetra.

Definition at line 408 of file intmet_3d.c.

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

◆ MMG5_intmet_ani()

int MMG5_intmet_ani ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k,
int8_t  i,
MMG5_int  ip,
double  s 
)
Parameters
meshpointer to the mesh structure.
metpointer to the metric structure.
kelement index.
ilocal index of edge in k.
ipglobal index of the new point in which we want to compute the metric.
sinterpolation parameter (between 0 and 1).
Returns
0 if fail, 1 otherwise.

Interpolation of anisotropic sizemap at parameter s along edge i of elt k for a special storage of ridges metric (after defsiz call).

Remarks
for boundary edges this function has to be called from a boundary face to ensure that the boundary edge will not be interpreted as an internal edge by error. It is due to the fact that regular boundary edges are not always marked as boundary inside a xtetra and tetra with boundary edges but no boundary faces are not always associated to an xtetra (moreover, for edges not belonging to a face inside the xtetra, the tag is not always up to date).

Definition at line 57 of file intmet_3d.c.

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

◆ MMG5_intmet_iso()

int MMG5_intmet_iso ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k,
int8_t  i,
MMG5_int  ip,
double  s 
)
Parameters
meshpointer to the mesh structure.
metpointer to the metric structure.
kelement index.
ilocal index of edge in k.
ipglobal index of the new point in which we want to compute the metric.
sinterpolation parameter (between 0 and 1).
Returns
0 if fail, 1 otherwise.

Interpolation of isotropic sizemap at parameter s along edge i of elt k.

Definition at line 174 of file intmet_3d.c.

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

◆ MMG5_intmet_iso_edge()

int MMG5_intmet_iso_edge ( MMG5_pSol  met,
MMG5_int  ip1,
MMG5_int  ip2,
MMG5_int  ip,
double  s 
)
Parameters
metpointer to the metric structure.
ip1first global index of edge extremities.
ip2second global index of edge extremities.
ipglobal index of the new point in which we want to compute the metric.
sinterpolation parameter (between 0 and 1).
Returns
0 if fail, 1 otherwise.

Interpolation of isotropic sizemap at parameter s along edge [ip1,ip2].

Definition at line 197 of file intmet_3d.c.

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

◆ MMG5_intregmet()

int MMG5_intregmet ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k,
int8_t  i,
double  s,
double  mr[6] 
)
Parameters
meshpointer to the mesh structure.
metpointer to the metric structure.
kelement index.
ilocal index of edge in k.
sinterpolation parameter.
mrcomputed metric.
Returns
0 if fail, 1 otherwise.

Metric interpolation on edge i in elt it at parameter \( 0 <= s0 <= 1 \) from p1 result is stored in mr. edge \( p_1-p_2 \) must not be a ridge.

Definition at line 222 of file intmet_3d.c.

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

◆ MMG5_intregvolmet()

static int MMG5_intregvolmet ( double *  ma,
double *  mb,
double *  mp,
double  t 
)
inlinestatic
Parameters
mapointer on a metric
mbpointer on a metric
mppointer on the computed interpolated metric
tinterpolation parameter (comprise between 0 and 1)
Returns
1 if success, 0 if fail.

Linear interpolation of anisotropic sizemap along an internal edge.

Definition at line 275 of file intmet_3d.c.

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

◆ MMG5_intvolmet()

int MMG5_intvolmet ( MMG5_pMesh  mesh,
MMG5_pSol  met,
MMG5_int  k,
int8_t  i,
double  s,
double  mr[6] 
)
Parameters
meshpointer to the mesh structure.
metpointer to the metric structure.
kelement index.
ilocal index of edge in k.
sinterpolation parameter.
mrcomputed metric.
Returns
0 if fail, 1 otherwise.

Metric interpolation on edge i in elt it at parameter \( 0 <= s0 <= 1 \) from p1 result is stored in mr. edge \( p_1-p_2 \) is an internal edge.

Definition at line 320 of file intmet_3d.c.

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