Title: Xiangrong Li, Mark S. Shephard
1Accounting for Curved Domains in Mesh Refinement
- Xiang-rong Li, Mark S. Shephard
- Scientific Computation Research Center
- Rensselaer Polytechnic Institute
- and
- Mark W. Beall
- Simmetrix Inc.
- Outline
- Complexity of mesh generation for curved domains
- Single approach to support accounting for curved
geometry in adaptively modified meshes - Technical aspects of procedure
- Results
2Mesh Modification Involving Geometry Changes
- Curved domain problems introduce complexities
into the application of mesh modification
procedures since the geometry of the mesh must
also change - Key tools where this is critical
- Adaptive mesh refinement/coarsening
- Curving initially straight-edged mesh entities
and needed by higher-order elements
3Dealing with Mesh Modification for Curved Domains
- Refinement vertices classified on curved
boundaries need to be snapped to the boundary - Mesh entity curving for p-version analysis has
same complexities
2
1
2
3
1
1
2
3
4
4
4
4Overall procedure for vertex snapping
- Input a list of mesh vertices to be snapped
- Two parts of the procedure
- Part I Process all that snap directly or require
local modification only -
- While any mesh vertex in the list still can
be moved ahead - determine target move for next vertex
in list - if the current vertex can move to
target location without a problem then - move to that location and remove vertex
from list - else
- determine the first problem preventing
motion - define a move that ensures the
first problem is passed - analyze current situation to determine
best local modification - if there is an acceptable local
modification then - perform selected local modification
and remove from list if at target - end if
- end if
- end while
5Overall procedure for vertex snapping
- Part II Ensure to eliminate remaining vertices
in the list using cavity re-triangulation - Traverse remaining vertices in the list
once - perform local cavity construction
- apply cavity mesher, remove form list add
any new ones created into list - end traverse
-
- New boundary mesh vertices may be created during
cavity re-triangulation. But, this is not common,
and they are typically closer to boundary
Yes
Done
If any created vertices need to be snapped
If list is empty
Vertex list to be snapped
No
No
Part II
Part I
Done
Yes
6Outline of technical aspects
- Snap vertices by performing local modification
- Analyze current situation
- Requirement on where to move past first problem
plane - Evaluation and selection of most appropriate mesh
modification operator with respect to local
element shape and mesh size - Snap vertices using local cavity re-triangulation
- Handling of new boundary vertices created
7Analyze current situation
- Definition of first problem plane
- The plane containing a mesh face opposite to
current snapping vertex - The first plane the snapping vertex runs into
while moving toward target - Other information includes
- Key mesh entities to cause mesh invalid
- Problem mesh faces on the first problem plane
the mesh vertex classified on the model
boundary not snapped
B-C-D a mesh face opposite to
8Need to Move Past First Problem Plane
- Vertex may be snapped incrementally along
different path - Any intermediate target must at least pass first
problem plane
Green line model Black line mesh Red arrow
snap direction Cyan arrow possible snap path
Pass first problem plane
Stop before reaching first problem plane
(3) move to vertex 2, which gets onto the first
plane and typically a better solution
(1) original mesh
(2) create poorly-shaped element not desirable
9Mesh Modification Operators
Edge swapping
Face swapping
Face splitting
Edge splitting
10Mesh Modification Operators
- Edge collapsing
- Region collapsing
-
Green model edge Black mesh edge
Split edge 2-4 1-3, and collapse the diagonal
edge
Remove the tetrahedron, face 1-2-4 2-3-4, edge
2-3 and re-classify face 1-2-3 1-3-4, edge 1-3
Remove the tetrahedron, face 1-2-4 and
re-classify all other interior bounding mesh
entities
Remove the tetrahedron, face 1-2-3, 2-4-3
3-4-1, edge 1-3, 2-3 3-4 and reclassify face
1-2-4
11Mesh Modification Operators
- Compound operators modify two or more mesh
entities - Examples of two step compound operators
- Split a mesh entity, and then move the new vertex
- Split a mesh entity, and then collapse the new
vertex - Swap entity A, and then collapse entity B
- Collapse entity A, and then collapse entity B
- Etc.
Green line model edge Black line mesh
edge Arrow snap direction
12Selection of most appropriate local modifications
- Collapse to existing vertices of problem
face(s) - This is useful way to pass multiple problem
faces - Modification operators
- Single step edge collapse,
- Compound swap(s)edge collapse,
collapse(s)edge collapse - Modifications to move to its projection on
first problem plane along snap direction.
Modification operators include - Collapse flat region(s) created by the move
- Swap key mesh entities
- Split key mesh entities, followed by processing
new vertices created -
13Cavity Creation and Meshing in Vertex Snapping
- In some cases the available combinations of mesh
modification operators does not succeed or
produce poor element shapes - In those cases a local remesh that ensures the
current vertex is eliminated is applied - Terms used
- minimum loop(s) of boundary mesh
edges encircling - a triangulation of
which has classified on the
model boundary with parameter values
interior to -
model
original mesh
(example to define terms only -
algorithm not needed in this case)
14Cavity Creation and Meshing in Vertex Snapping
- Step1. Generate
- Step 2. Perform swaps to minimize the
intersection of with existing mesh
entities - Step 3. Determine mesh entities that interact
with and delete the associated mesh
regionsStep 4. Determine resulting cavity (or
cavities), send to cavity mesher
(see Karamete,Beall Shephard, IJNME, 2000) - Step 5. Add any created in Steps 4
classified on the boundary to the
list to be snapped -
152-D Example of Cavity Creation
Green line model edge Black line mesh edge Red
dash line Blue dot
16Handling of new boundary vertices created
- This procedure may create new vertices that need
to be snapped not common and typically close
to its classified model boundary - These new vertices will be added into the vertex
list to be processed by the overall procedure
Blue dot A new boundary vertex introduced
during re-triangulation The new vertex
is easier to be snapped since it is close to
classified model boundary
17Examples - torus with holes
- The model, a coarse initial mesh and the mesh
after multiple refinement/coarsening - The spatial field of desired size
- Number of vertices snapped in refinement/coarsenin
g iterations -
z
x
y
This example did not require local
re-triangulation
18Examples - sleeve of ball bearing
- The model, a coarse initial mesh and the mesh
after multiple refinement/coarsening - The spatial field of desired size
- of vertices snapped in refinement/coarsening
iterations -
x
y
z
19Closing Remarks
- The key complexity of mesh generation and mesh
adaptation is with dealing with curved geometry - Properties that hold for polygonal domains do not
provide complete set needed for curved domains - Key features of presented approach
- Vertex can be snapped incrementally. Each
intermediate target must pass at least first
problem plane - Boundary cavity construction and re-triangulation
algorithm ensures the snapping of a given vertex - Potential challenge
- New vertices are possibly introduced during
re-triangulation - To date, it has not been a problem in examples
tested - Efforts to complete qualification remain
-