Go to the source code of this file.
Typedefs | |
typedef struct meshAdapt * | pMAdapt |
typedef struct curveMesh * | pCrvMesh |
typedef pMAdapt | pMSAdapt |
Functions | |
void | MA_Adapt (pMAdapt pMAdaptDrvr) |
Provide adaptation routines. More... | |
void | MA_Del (pMAdapt pMAdaptDrvr) |
Delete Mesh Adaptation Driver. More... | |
void | MA_NewMeshAdaptDrvr (pMAdapt &pMAdaptDrvr, pMeshMdl pMeshInstance, int iSizeFldType) |
Create an object of class (struct) pMAdapt. More... | |
void | MA_NewMeshAdaptDrvr_ModelType (pMAdapt &pMAdaptDrvr, pMeshMdl pMeshInstance, int iSizeFldType, int iModelType) |
Same as above, but with the ability to specifically provide the model type: 0 - no snapping, 1 - Not parametric, 2 - Parametric. More... | |
void | MA_SetAnisoVtxSize (pMAdapt pMAdaptDrvr, pumi::pVertex pVertexVtx, double ddSize[3][3]) |
Set anisotropic size for a specific vertex. More... | |
void | MA_SetCB (pMAdapt pMAdaptDrvr, CBFunction CB, void *userData) |
Set a callback function. More... | |
void | MA_SetIsoVtxSize (pMAdapt pMAdaptDrvr, pumi::pVertex pVertexVtx, double dSize) |
Set isotropic size for a specific vertex. More... | |
void | MA_SetNumIt (pMAdapt pMAdaptDrvr, int iNumIt) |
Set the number of mesh modification steps (iterations). More... | |
void | MA_SetPredLoadBal (pMAdapt pMAdaptDrvr, int iPredLoadBal) |
Set the option for providing predictive load balance. More... | |
void | MA_SetRefLvl (pMAdapt pMAdaptDrvr, pumi::pEntity pEntityEnt, int iRefLvl) |
Set refinement level for an entity. More... | |
void | MA_GetRefLvl (pMAdapt pMAdaptDrvr, pumi::pEntity pEntityEnt, int &iRefLvl) |
Get refinement level for an entity. More... | |
void | MA_SetSizeFldFunc (pMAdapt pMAdaptDrvr, adaptSFunc SizeFldFunc) |
Set analytical size field function. More... | |
void | MA_SetSizeFldType (pMAdapt pMAdaptDrvr, int iSizeFldType) |
Set size field type. More... | |
int | MA_AnisoSmooth (pMAdapt pMAdaptDrvr, double dBeta[3]) |
Anisotropic mesh gradation control. More... | |
int | MA_Vtx_Size (pumi::pVertex pVertexVtx, double dAnisoSize[3][3]) |
Calculate the mesh size associated with vertex. More... | |
void | MA_SetQualityThreshold (pMAdapt pMAdaptDrvr, double dQualThreshold) |
void | MA_SetFirstLayerThicknessFlag (pMAdapt pMAdaptDrvr, int isFirstLayerThicknessSet) |
Set the flag for first layer thickness in boundary layer mesh. More... | |
int | MA_SetFirstLayerThickness (pMAdapt pMAdaptDrvr, pumi::pVertex pVertexVtx, double dFirstNodalSpacing) |
Attach information about first nodal spacing to the vertex. More... | |
int | MA_SetAdaptiveDecompFlag (pMAdapt pMAdaptDrvr, int iFlag) |
Set the flag for performing the adaptive trimming in boundary layer mesh. More... | |
int | MA_SetAdaptiveDecomp_AspectRatioLimit (pMAdapt pMAdaptDrvr, double dAspectRatioLimit) |
Set the aspect ratio square limit for adaptive trimming in boundary layer mesh. More... | |
int | MA_TetrahedralizeBL (pMAdapt pMAdaptDrvr) |
Tetrahedralize mesh. More... | |
int | MA_Mesh_TetrahedralizeBLs (pMeshMdl pMeshModel) |
int | MA_DecompositionBL_AspectRatio (pMAdapt pMAdaptDrvr, double dAspectRatioLimit) |
Decomposition with aspect ratio, aspect ratio is a square of growth edge / layer edge. More... | |
int | MA_DecompositionBL_ForQuality (pMAdapt pMAdaptDrvr) |
int | MA_Mesh_DecompositionBL_ForQuality (pMeshMdl pMeshModel) |
int | CMA_New (pCrvMesh &pcrv_mesh_obj, pMeshMdl pmesh_inst, int iSizeFldType, int iModelType) |
Create an object of class (struct) pCrvMesh. More... | |
int | CMA_Del (pCrvMesh pcrv_mesh_obj) |
Delete an object of class (struct) pCrvMesh. More... | |
int | CMA_SetModelType (pCrvMesh pCrvMeshObj, int iModelType) |
Set the type of geometric model. More... | |
int | CMA_Curve (pCrvMesh pCrvMeshObj) |
Curve a given linear(straight-sided) mesh to be a high-order(curved) mesh. More... | |
int | CMA_Untangle (pCrvMesh pCrvMeshObj) |
Fix the invalid curved elements of a given high-order(curved) mesh. More... | |
int | CMA_Linearize (pCrvMesh pcrv_mesh_obj) |
Make all mesh entities linear by removing edge nodes if there is any. More... | |
int | CMA_Optimize (pCrvMesh pCrvMeshObj) |
The main routine to perform the shape quality improvement capability. More... | |
int | CMA_Adapt (pCrvMesh pcrv_mesh_obj) |
The main routine to do curved mesh adaptation. More... | |
int | CMA_SetQualityLimit (pCrvMesh pCrvMeshObj, double dThreshold) |
Set the user-defined shape quality threshold for mesh improvement operations. More... | |
int | CMA_DisplayStats (pCrvMesh pCrvMeshObj) |
Display the quality statistics of the mesh. More... | |
int | CMA_Check (pCrvMesh pcrv_mesh_obj) |
Validity checks specifically designed for curved meshes. More... | |
int | CMA_GlobPtn (pCrvMesh pcrv_mesh_obj) |
Global partition for curved meshes with edge nodes. More... | |
typedef struct meshAdapt* pMAdapt |
int CMA_Adapt | ( | pCrvMesh | pcrv_mesh_obj | ) |
The main routine to do curved mesh adaptation.
pcrv_mesh_obj | (In) Curved Mesh Object. |
int CMA_Check | ( | pCrvMesh | pcrv_mesh_obj | ) |
Validity checks specifically designed for curved meshes.
pcrv_mesh_obj | (In) Curved Mesh Object. |
int CMA_Curve | ( | pCrvMesh | pCrvMeshObj | ) |
Curve a given linear(straight-sided) mesh to be a high-order(curved) mesh.
This function does the mesh curving. The mesh need to be classified on a geometric model with appropriate parametric coordinates. Validity is not checked in this routine.
pCrvMeshObj | (In) Curved Mesh Object. |
int CMA_Del | ( | pCrvMesh | pcrv_mesh_obj | ) |
Delete an object of class (struct) pCrvMesh.
This function deletes a curved mesh object and de-allocates the memory.
pcrv_mesh_obj | (In) Curved Mesh Object. |
int CMA_DisplayStats | ( | pCrvMesh | pCrvMeshObj | ) |
Display the quality statistics of the mesh.
pCrvMeshObj | (In) Curved Mesh Object. |
int CMA_GlobPtn | ( | pCrvMesh | pcrv_mesh_obj | ) |
Global partition for curved meshes with edge nodes.
pcrv_mesh_obj | (In) Curved Mesh Object. |
int CMA_Linearize | ( | pCrvMesh | pcrv_mesh_obj | ) |
Make all mesh entities linear by removing edge nodes if there is any.
pcrv_mesh_obj | (In) Curved Mesh Object |
Create an object of class (struct) pCrvMesh.
C APIs for curved mesh adaptationGiven a mesh, the function creates a curved mesh object with the default configuration.
pcrv_mesh_obj | (In/Out) Curved Mesh Object. |
pmesh_inst | (In) Input mesh. |
iSizeFldType | (In) Input size-field type |
iModelType | (In) Input model type |
int CMA_Optimize | ( | pCrvMesh | pCrvMeshObj | ) |
The main routine to perform the shape quality improvement capability.
pCrvMeshObj | (In) Curved Mesh Object. |
int CMA_SetModelType | ( | pCrvMesh | pCrvMeshObj, |
int | iModelType | ||
) |
Set the type of geometric model.
This function tells the curving code what type of geometric model information is available. Currently supports: 0– no model, 1– mesh model with no parametric coordinates, and 2– CAD model with parametric coordinates.
pCrvMeshObj | (In) Curved Mesh Object. |
iModelType | (In) Flag of Model type info. |
int CMA_SetQualityLimit | ( | pCrvMesh | pCrvMeshObj, |
double | dThreshold | ||
) |
Set the user-defined shape quality threshold for mesh improvement operations.
pCrvMeshObj | (In) Curved Mesh Object. |
dThreshold | (In) Input Shape Threshold. |
int CMA_Untangle | ( | pCrvMesh | pCrvMeshObj | ) |
Fix the invalid curved elements of a given high-order(curved) mesh.
This function does topological and geometric modifications to the cavity defined by the invalid element, and yields an all valid output mesh.
pCrvMeshObj | (In) Curved Mesh Object. |
void MA_Adapt | ( | pMAdapt | pMAdaptDrvr | ) |
Provide adaptation routines.
Given a Mesh Adaptation Driver, the function provides mesh adaptation routines based on the sequential execution of mesh modification operations to achieve the desired size and quality of the mesh.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
int MA_AnisoSmooth | ( | pMAdapt | pMAdaptDrvr, |
double | dBeta[3] | ||
) |
Anisotropic mesh gradation control.
Given a mesh adaptation driver and the smoothness prescribed value, the function smoothes the size field to control the element size and shape variation to avoid significant size jumps between the neighboring vertices.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
dBeta | (In) Smoothness control value. |
int MA_DecompositionBL_AspectRatio | ( | pMAdapt | pMAdaptDrvr, |
double | dAspectRatioLimit | ||
) |
Decomposition with aspect ratio, aspect ratio is a square of growth edge / layer edge.
int MA_DecompositionBL_ForQuality | ( | pMAdapt | pMAdaptDrvr | ) |
void MA_Del | ( | pMAdapt | pMAdaptDrvr | ) |
Delete Mesh Adaptation Driver.
Given a Mesh Adaptation Driver, the function deallocates it.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
void MA_GetRefLvl | ( | pMAdapt | pMAdaptDrvr, |
pumi::pEntity | pEntityEnt, | ||
int & | iRefLvl | ||
) |
Get refinement level for an entity.
Given a mesh adaptation driver, the entity and the variable for refinement level, the function assigns the refinement level for the specific entity provided. The levels are: 0 - no refinement level assigned, 1 - refinement requested.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
pEntityEnt | (In) Mesh entity. |
iRefLvl | (Out) Refinement level. |
int MA_Mesh_DecompositionBL_ForQuality | ( | pMeshMdl | pMeshModel | ) |
int MA_Mesh_TetrahedralizeBLs | ( | pMeshMdl | pMeshModel | ) |
Create an object of class (struct) pMAdapt.
Given a mesh, the function allocates a Mesh Adaptation Driver with the default configuration.
pMAdaptDrvr | (In/Out) Mesh Adaptation Driver. |
pMeshInstance | (In) Input mesh. |
iSizeFldType | (In) Input Size Field Type |
void MA_NewMeshAdaptDrvr_ModelType | ( | pMAdapt & | pMAdaptDrvr, |
pMeshMdl | pMeshInstance, | ||
int | iSizeFldType, | ||
int | iModelType | ||
) |
Same as above, but with the ability to specifically provide the model type: 0 - no snapping, 1 - Not parametric, 2 - Parametric.
int MA_SetAdaptiveDecomp_AspectRatioLimit | ( | pMAdapt | pMAdaptDrvr, |
double | dAspectRatioLimit | ||
) |
Set the aspect ratio square limit for adaptive trimming in boundary layer mesh.
The function sets the aspect ratio square limit for the ability to provide adaptive trimming in boundary layer adaptation. If the aspect ratio of boundary layer entities goes higher than the limit is set, adaptive trimming routines are performed. Note that for the trimming routines to be executed it is needed to set the flag in MA_SetAdaptiveTrimmingFlag().
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
dAspectRatioLimit | (In) Aspect ratio limit for the trimming. |
int MA_SetAdaptiveDecompFlag | ( | pMAdapt | pMAdaptDrvr, |
int | iFlag | ||
) |
Set the flag for performing the adaptive trimming in boundary layer mesh.
The function sets the flag for the ability to provide adaptive trimming in boundary layer adaptation if the aspect ratio of boundary layer entities goes wrong. 0 means that that the no adaptive trimming will be performed. 1 stands for applying the trimming routines ones the wrong aspect ratio is identified.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
iFlag | (In) Flag for trimming. |
void MA_SetAnisoVtxSize | ( | pMAdapt | pMAdaptDrvr, |
pumi::pVertex | pVertexVtx, | ||
double | ddSize[3][3] | ||
) |
Set anisotropic size for a specific vertex.
Given a mesh adaptation driver, a vertex and the desired anisotropic size, sets remembers the size for this specific vertex in order to achive the desired size during mesh modification operations.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
pVertexVtx | (In) Input vertex. |
ddSize | (In) Desired anisotropic size. |
void MA_SetCB | ( | pMAdapt | pMAdaptDrvr, |
CBFunction | CB, | ||
void * | userData | ||
) |
Set a callback function.
Given a Mesh Adaptation Driver, the function remembers the callbck function and needed user (application) data in order to call the callback function while doing mesh adaptation.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
CB | (In) Callback function. |
userData | (In) User (application) data. |
int MA_SetFirstLayerThickness | ( | pMAdapt | pMAdaptDrvr, |
pumi::pVertex | pVertexVtx, | ||
double | dFirstNodalSpacing | ||
) |
Attach information about first nodal spacing to the vertex.
Given a mesh vertex, the function attaches the first layer thickness to it.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
pVertexVtx | (In) Mesh vertex. |
dFirstNodalSpacing | (In) Nodal spacing. |
void MA_SetFirstLayerThicknessFlag | ( | pMAdapt | pMAdaptDrvr, |
int | isFirstLayerThicknessSet | ||
) |
Set the flag for first layer thickness in boundary layer mesh.
The function sets the flag for the first layer thickness in boundary layer adaptation. 0 means that that the first nodal spacing off the wall is not going to be considered. 1 stands for using the first layer thickness which is supposed to be attached to the originating nodes.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
isFirstLayerThicknessSet | (In) First layer thickness flag. |
void MA_SetIsoVtxSize | ( | pMAdapt | pMAdaptDrvr, |
pumi::pVertex | pVertexVtx, | ||
double | dSize | ||
) |
Set isotropic size for a specific vertex.
Given a mesh adaptation driver, a vertex and the desired isotropic size, sets remembers the size for this specific vertex in order to achive the desired size during mesh modification operations.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
pVertexVtx | (In) Input vertex. |
dSize | (In) Desired isotropic size. |
void MA_SetNumIt | ( | pMAdapt | pMAdaptDrvr, |
int | iNumIt | ||
) |
Set the number of mesh modification steps (iterations).
Given a mesh adaptation driver, the function sets the number of mesh modification steps (iterations).
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
iNumIt | (In) Number of mesh modification steps (iterations). |
void MA_SetPredLoadBal | ( | pMAdapt | pMAdaptDrvr, |
int | iPredLoadBal | ||
) |
Set the option for providing predictive load balance.
Given a mesh adaptation driver, the function sets the option for providing predictive load balance. The options are: 0 - no predictive load balance, 1 - predictive load balance.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
iPredLoadBal | (In) Predictive load balance option. |
void MA_SetQualityThreshold | ( | pMAdapt | pMAdaptDrvr, |
double | dQualThreshold | ||
) |
void MA_SetRefLvl | ( | pMAdapt | pMAdaptDrvr, |
pumi::pEntity | pEntityEnt, | ||
int | iRefLvl | ||
) |
Set refinement level for an entity.
Given a mesh adaptation driver, the entity and the refinement level, the function remembers the refinement level for this specific entity. The levels are: 0 - no refinement needed, 1 - refinement requested.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
pEntityEnt | (In) Mesh entity. |
iRefLvl | (In) Refinement level. |
void MA_SetSizeFldFunc | ( | pMAdapt | pMAdaptDrvr, |
adaptSFunc | SizeFldFunc | ||
) |
Set analytical size field function.
Given a mesh adaptation driver, the function sets the analytical size field function which will be called to calculate the size for each mesh vertex.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
SizeFldFunc | (In) Pointer to the analytical size field function. |
void MA_SetSizeFldType | ( | pMAdapt | pMAdaptDrvr, |
int | iSizeFldType | ||
) |
Set size field type.
Given a mesh adaptation driver, the function sets the size field type. The options are from SizeFldType enum: Application - the size field will be provided by the application (default). TagDriven - tag driven size field. Analytical - analytical size field.
pMAdaptDrvr | (In) Mesh Adaptation Driver. |
iSizeFldType | (In) Size field type. |
int MA_TetrahedralizeBL | ( | pMAdapt | pMAdaptDrvr | ) |
Tetrahedralize mesh.
int MA_Vtx_Size | ( | pumi::pVertex | pVertexVtx, |
double | dAnisoSize[3][3] | ||
) |
Calculate the mesh size associated with vertex.
Given a mesh vertex, the function calculates the mesh size associated with the vertex. The anisotropic size is returned in the order of increasing magnitude
pVertexVtx | (In) Mesh vertex. |
dAnisoSize | (In) Anisotropic size. |