Oct 27, 2008 - Connecting the target mesh to the tool mesh. M. S. Ebeida*. E. Mestreau**. Y. Zhang*. S. Dey**. Mesh Insertion of Hybrid Meshes ...
Our Objectives NHMD The mesh insertion algorithm
Mesh Insertion of Hybrid Meshes M. S. Ebeida*
E. Mestreau**
Y. Zhang*
*Computational Biomodeling Lab, MechE, CMU
S. Dey**
**Naval Research Laboratory
18th International Meshing Roundtable October 27, 2008
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Overview
1
Our Objectives
2
NHMD Overview Query Operations Performance
3
The mesh insertion algorithm Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Our Objectives An efficient mesh data structure • Should be able to handle non-manifold hybrid meshes. • Should be optimized for query operations and storage
requirements. An automated tool for mesh insertion • Merging the entities of two mesh models; a tool mesh and a target mesh. • The entities of the tool mesh should be preserved in the final
mesh. • The elements of the target mesh may be modified or
eliminated to avoid the overlapping between the models. • The final mesh should be conforming and crack-free. M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Overview Query Operations Performance
A Non-manifold Hybrid Mesh Data structure (NHMD) • The Element-Node Connectivity matrix represent the least
amount of information to be stored for a hybrid mesh. • This matrix can be stored efficiently using the CSR format.
Memory cost = Ne + nnz. • However in order to have an efficient query algorithm, we
need also store the transpose of this mesh with the additional cost of N + nnz. • Since we are dealing with a fixed type of elements (7 types),
we do not need to store the indices of the elements so the storage cost of our data structure is 2 × nnz + N + 7. • We can also avoid storing the nodes indices, reducing the
storage cost to 2 × nnz + 7. However each query operation would require a binary search operation, O (log N ). M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Overview Query Operations Performance
Elements included in NHMD
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Overview Query Operations Performance
An example problem for NHMD
Stored information Ne = [0 0 0 0 1 1 1]T , CI = [6 7 3 5 7 2 3 2 1] T , CJ = [9 6 8 3 7 4 1 2 5] T , CK = [1 2 4 6 6 7 8]T M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Overview Query Operations Performance
Query Operations in NHMD • The query operations in NHMD are element-node based. • For example if we want to retrieve the neighbor faces of a given edge, we first collect the elements bounded by the nodes of that edge. • Then we get the faces of these elements and return those faces bounded by that edge. • These operations requires a mapping from local indices to global indices, which can done efficiently since we are handling a small set of element types and we store the number of element in each type. • Note that the cost of this query does not depend on the size
of the mesh which implies the optimality of the algorithm. • Some edges and faces might have more that one index but
that does not a problem since we are not storing these indices. • Duplicated entities will have the same bounding nodes, so
they can be detected and removed from the returned list. M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Overview Query Operations Performance
Performance of NHMD using my laptop (2.0 GHz and 2.0 GB RAM) • NHMD is able to handle a
mesh with 10 million nodes. • The mesh and its associated
data structure were generated in 45 seconds. • Recently we have extended
NHMD to include mapping between the mesh entities and associated geometry entities.
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Overview of the algorithm
• Detect the undesired nodes of the target mesh (inside or too
close to the tool mesh). • Remove any element from the target mesh with an undesired
node. • Execute a 2-steps advancing front algorithm to connect the
terminal nodes of the target mesh to the tool mesh. • If the connection region is 3-dimensional, we need to ensure
that the bounding surface are smooth and almost parallel.
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Detection of nodes in the overlap region
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Detection of nodes in the overlap region
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Line (Beam) elements
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Surface elements
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Volumetric elements - Challenging Problem
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Volumetric elements - Generation of Boundary Layer
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Volumetric elements - Surface Extraction
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Volumetric elements - Connection
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Volumetric elements - Connection
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Examples
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh
Examples
M. S. Ebeida*
E. Mestreau**
Y. Zhang*
S. Dey**
Mesh Insertion of Hybrid Meshes
Our Objectives NHMD The mesh insertion algorithm
Detection of nodes in the overlap region Removal of the undesired entities Connecting the target mesh to the tool mesh