1. Field of the Invention
The present invention relates to a tetrahedral mesh generating method and a tetrahedral mesh generating program used for Finite Element Analysis. More particularly, the present invention relates to a high-quality tetrahedral mesh generating technology from a triangulated mesh with low quality by using a computer.
2. Description of the Related Art
Upon analyzing the physical characteristics of a material, such as the strength and the thermal deformation with Finite Element Analysis (hereinafter, referred to as FEA), a mesh model is used to express a solid model for computer graphics (hereinafter, referred to as CG) of the material, as a set of meshes. In particular, in FEA processing, the efficiency of FEA or Computer-Aided Engineering (hereinafter, referred to as CAE) requires the generation of mesh with high quality.
Conventionally, the mesh of solid model is generated typically by Finite Element Method (hereinafter, referred to as FEM) mesher or Tessellator of CAD or CG modeler. FEM mesher generates a surface triangulated mesh (surface mesh model) or a tetrahedral mesh (volume mesh model) with relatively high quality. However, FEM mesher unstably processes a complicated shape at a low processing speed, and requires the manual operation necessary for experience and acknowledgement in many cases.
On the other hand, Tessellator of CAD or CG modeler generates the surface triangulated mesh at a high speed without fail. However, Tessellator of CAD or CG modeler has low quality, such as the distortion of elements and the non-uniformity of element size.
Further, well-known mesh model generating methods are disclosed in, e.g., Non-Patent Documents 1 to 5.
[Non-Patent Document 1] Luebke Reddy, Cohen Varshney and Watson Huebner: LEVEL of DET AIL FOR 3D GRAPHICS, Morgan Kaufman, in 2003
[Non-Patent Document 2] E. Bechet, J. C. Cuilliere and F. Trochu; Generation of a finite element MESH from stereo-lithography (STL) files, Computer-Aided Design, 34, pp. 1 to pp. 17, in 2002
[Non-Patent Document 3] A. LEE, Sweldents, P. Schroder, L Cowsar, and D. Dobkin. Maps: Multi-resolution adaptive parameterization of surfaces Computer Graphics (SIGGRAPH '98 Proceedings), pp. 95 to pp. 104, in 1998
[Non-Patent Document 4] M. Garland and P. S. Heckbert: Surface Simplification Using Quadric Error Metrics, proc. Of SIGRAPH 97, pp. 209 to pp. 216, in 1997
[Non-Patent Document 5] H. Hoppe: Progressive Meshes, Computer Graphics (SIGGRAPH '96), pp. 98 to pp. 108, in 1996
However, the well-known arts must be improved in view of the increase in processing speed for generating the tetrahedral mesh with high quality and of stable processing of the complicated shape. Here, the high-quality mesh indicates the small distortion of mesh and the high uniformity of mesh size. On the other hand, when the mesh generation is unstable, there is a problem that the mesh having desired quality is not obtained and the processing time is long.
It is an object of the present invention to increase the speed in tetrahedral mesh generation with high quality and to realize stable processing even of complicated shape.
In order to solve the above-mentioned problem, according to the present invention, a tetrahedral mesh generating method comprises: a first step of capturing, into a computer, data on a triangulated mesh generated on the surface of a material by the computer and sequentially generating the tetrahedral mesh based on the surface triangulated mesh; a second step of capturing the data on the tetrahedral mesh generated in the first step and dividing and refining the tetrahedral mesh; and a third step of capturing the data on the tetrahedral mesh generated in the second step and reducing and simplifying the number of tetrahedral meshes.
That is, according to the present invention, the attention is paid to a high degree of freedom of phase operation of high-density mesh, the mesh quality is considered in the simplification of tetrahedral mesh in the third step. As a consequence, in the first and second steps, the tetrahedral mesh is generated from the low-quality triangulated mesh without considering the quality, and the tetrahedral mesh is thereafter refined for high density. Therefore, the high density is realized by a simple method. Subsequently, the number of tetrahedral meshes is reduced and simplified by using the degree of freedom in the tetrahedral mesh with high density in consideration of the quality, thereby generating the high-quality tetrahedral mesh with desired mesh size. Further, the number of meshes (number of elements) is easily controlled. Furthermore, as a result of simplifying the mesh, the Multi-Resolution Representation (hereinafter, referred to as MRR) of the tetrahedral mesh is generated and the mesh is efficiently used in various applications.
Here, the first step extracts one convex vertex at least without concaving the vertex of the surface triangulated mesh, divides, into a plurality of triangles, a polygon surrounded by other plural vertexes adjacent to the extracted convex vertex, and sequentially generates the tetrahedral mesh obtained by connecting the divided triangles and the convex vertex. That is, the shape of surface triangulated mesh is projected or caved depending on the shape of material. However, since the tetrahedral mesh is generated in the material, the generation of tetrahedral mesh from the concave portion of surface triangulated mesh or relatively flat portion requires the convex vertex at least without concaving the vertex of the surface triangulated mesh.
The second step divides, into at least two, a ridge line with a length having a threshold not less than a predetermined one, as a length of ridge line of the tetrahedral mesh, and further divides and refines the tetrahedral meshes connected by the ridge line by a division point of the ridge line. In this case, the ridge line having a threshold not less than a predetermined one is divided by a median point of the ridge line, thereby simplifying the high-density processing at high speed.
The third step comprises: a step of calculating a new vertex for integrating, to one, vertexes on both end points of the ridge line forming the tetrahedral mesh with high density generated in the second step; and a step of reducing the number of the tetrahedral meshes based on the new vertex calculated by the new-vertex calculating step. In this case, the new-vertex calculating step appropriately uses the calculation of the median point of the ridge line, as a new vertex, the calculation of one vertex, as a new vertex, when another vertex of the ridge line exists on the surface mesh, or the calculation of the position of a vertex for minimizing the squared distance of the vertex to the surface mesh connected to the ridge line when the ridge line exists on the surface mesh.
The third step further comprises: a step of determining whether or not it is effective that the simplifying step is used to the ridge line connected to the new vertex calculated by the new-vertex calculating step and extracting an effective ridge-line. Upon using the simplifying step, the effective ridge-line extracting step extracts, as an effective ridge-line, a ridge line which satisfies at least one of a determination condition under which an approximation error for shape has a predetermined threshold or less, a determination condition under which the reverse of surface triangulated mesh and the interference of tetrahedral element are prevented, and a determination condition under which a non-manifold surface mesh is prevented.
Further, the third step further comprises: a step of estimating the mesh quality by using the simplifying step of the effective ridge-line extracted by the extracting step of the effective ridge-line. The quality estimating step estimates the effective ridge-line based on at least one of the stretch with the shape of tetrahedral element generated by the simplifying step, the degree of improvement in quality due to the inclination of quality of the element collection before/after-changed in the simplifying step, and the estimated value of the ridge line, which is obtained weighting the degree of improvement in quality by an average of the lengths of the shortest ridge-lines. The simplifying step sequentially simplifies the effective ridge-lines in order of those with a higher estimated-value of quality in the quality estimating step.
According to the present invention, the tetrahedral mesh generating program enables a computer to execute the tetrahedral mesh generating method.
As mentioned above, according to the present invention, the tetrahedral mesh with high quality is generated at a high speed and the stable processing is realized even for the complicated shape.
FIGS. 14(a)-14(c) are diagrams showing the mesh change with a rectangular parallelepiped having a cylindrical cave according to the embodiment of the present invention;
Hereinbelow, a description is given of an embodiment according to the present invention.
Referring to a three-dimensional graph shown in
Specifically, referring to the flowchart shown in
Here, in the simplification in step 4, the vertexes on both end points of a ridge line forming the tetrahedral mesh are integrated to one new vertex so as to realize the simplification. That is, this is a so-called EC (Edge Collapse), as a well-known method, which executes the simplification in view of the quality, as will be described later. Further, the processing in step shown in
According to the embodiment, in the processing in steps S1 to S4 as shown in
According to the embodiment, the number of elements of mesh is easily controlled. Further, the mesh simplification generates MRR of tetrahedral mesh and the mesh is efficiently used in various applications.
Hereinbelow, a specific description is given of processing in steps S2 to S4 shown in
[S2] Sequential Generation of Tetrahedral Mesh
(S21: Extract Convex Vertex)
In the sequential generation of tetrahedral mesh, a tetrahedron is sequentially generated from a convex portion of the surface triangulated mesh that is relatively flat based on the data on the low-quality surface triangulated mesh for input, which is generated on the surface of material. Referring to
[Formula 1]
c
ij
=n
i(pj−pi) (1)
Then, it is determined that a vertex having a negative maximum value of the inner product cij (degree of convex) in jεν*(i) is a convex vertex. That is, a vertex having a positive degree of convex in the formula (1) is a vertex with a concaved surface-triangulated-mesh, and is out of the target for generating the tetrahedral mesh in the product.
(S22: Select Candidate Vertex)
Of the convex vertexes extracted in step S21, the vertex having the maximum value of the minimum cij relative to jεν*(i) is selected as a candidate vertex for tetrahedral generation.
(S23: Divide into Triangles)
A region is divided into triangles on one ring at the selected candidate vertex. Referring to
(S24: Generate Tetrahedral Element)
If any interferences do not exist between the divided triangles and the current surface mesh, the tetrahedral element is generated by connecting the triangles and the vertex i (refer to
(S25: Add Generated Tetrahedral Element to Tetrahedral Mesh)
The generated tetrahedral element is added to the tetrahedral mesh, and the surface mesh changed due to the removal of the tetrahedral mesh is updated.
(S26: Iterate)
It is determined whether or not the processing in steps S21 to S25 ends for all vertexes i. If not so, the processing returns to step S21 and then the processing iterates.
Thus, the tetrahedral mesh is sequentially generated based on the data on the surface triangulated mesh with low quality.
[S3] Refinement of Tetrahedral Mesh
In order to increase the degree of freedom for quality improvement due to the mesh simplification, in step S3, the sequential tetrahedral mesh generated in step S2 is refined. In the processing, such a mesh is generated that the entire length len (e) of the ridge line has a threshold τlen, designated by a user (refining parameter), or less.
(S31: Generate Median Point on Ridge Line)
Referring to
(S32: Refine by Using Median Point)
In step S32, the tetrahedral element connected to the ridge line e is refined by using a median point, as shown in
(S33: Iterate)
In step S33, it is determined whether or not the refinement ends for all ridge lines e. Until the lengths of all ridge lines are τLen or less, the processing in steps S31 and S32 is iterated. Thus, such a tetrahedral mesh that the lengths of all ridge lines are less than a threshold τlen designated by the user is generated.
[S4] Simplification of Tetrahedral Mesh
Here, an approximation error for shape is suppressed within a predetermined range, for the high-density tetrahedral mesh obtained by the refinement in step S3, and a coarse mesh having the improved quality is generated by mesh simplification for improving the mesh quality.
Referring to
(S41: Calculate New Vertex)
Referring to
In the first case, to the ridge line on the surface, the position of the vertex for minimizing the squared distance of the vertex to the mesh on the surface mesh connected to the ridge line (i, j) is further calculated as a second candidate by using Quadric Error Metrics (hereinafter, referred to as QEM), and is sequentially used depending on an estimating result of the effective ridge-line (in case I in
(S42: Extract Effective Ridge-Line by EC Processing)
It is determined whether or not it is effective to use the EC processing for the ridge line connected to the new vertex k obtained in step S41 and then the effective ridge-line is extracted. The determination condition includes the following three conditions.
Condition 1: Approximation error dij(k) for shape≦threshold τtol
Condition 2: Prevent the reverse of surface triangulated mesh and the interference of tetrahedral element
Condition 3: Prevent the Non-Manifold Surface Mesh
Here, under Condition 1, the squared distance of the surface mesh for shape to the vertex generated in the EC processing using QEM (refer to Non-Patent Document 4) determines that the EC processing is used only for the ridge line on the mesh surface, having a threshold τtol or less, serving as a simplifying parameter designated by the user. As shown in the conceptual diagram shown in
where reference symbol pi denotes a coordinate value of the vertex i and reference symbol nf denotes a unit normal vector of a mesh f, and
Under Condition 2, the ridge line having the reverse of surface mesh or the interference of tetrahedral elements is determined. If Condition 2 is not satisfied, the EC processing is not used for the ridge line. In other words, the amount of change in normal of the corresponding surface mesh after/before the EC processing is within a predetermined range and the order of vertexes inside the element is not changed. The non-change in order of vertexes inside the element is determined by a fact indicating the non-change of the sign of a scalar triple product of a ridge-line vector of tetrahedral element adjacent the vertex k after simplification.
Under Condition 3, it is determined whether or not the ridge line is not an inner ridge-line for connecting the vertexes on the shape surface.
(S43: Calculate Estimated Value of Effective Ridge-Line)
According to the embodiment, of the ridge line which is determined as an effective one for thee EC processing, the processing of the ridge lines is sequentially executed, starting from those with a higher degree of improvement in mesh quality as a result of the EC processing. Therefore, in step S43, an estimated value for quality is calculated. The quality estimation uses at least one of the quality of element shape, the degree of improvement in quality, and the estimation of ridge line.
[Estimation of Element Shape]
As an index for estimating the quality of shape of the tetrahedral element, the stretch, which is frequently used for the finite element analysis, is used. The stretch is defined as (≈6×diameter of a circle inner-adjacent to the element/length of the longest side), and is obtained by the following formula (3).
[Formula 3]
St(h)=6√6·Vh/(maxeεhle×Sh) (3),
where reference symbols Vh and Sh denote the volume and the surface area of a tetrahedral element h, respectively, and reference symbol le denotes a length of the ridge line e. The stretch St(h) is equal to one in the case of regular tetrahedron, and is close to zero as the element shape is more distorted. The degree of improvement in quality using the EC processing for [ridge line e=(i, j)] with the formula (3) is estimated based on the following formula (4).
where reference symbol h*(i) denotes a set of tetrahedrons connected to the vertex i. The ridge line having a large value in the formula (4) is estimated with high degrees of improvement in average and lower limit of the stretch of mesh near the ridge line using the EC processing. Further, in order to uniformize the distribution in elements in the mesh, a reciprocal number of the average of shortest lengths of sides near the ridge line (i, j) scaled by the model size is multiplied to the estimated value in the formula (4) and then is a final estimated value for the ridge line (i, j).
[Estimation of Degree of Improvement in Quality]
The improving degree for quality is estimated by a quality inclination Δqij of the set of elements changed after/before the EC processing expressed by the following formula (5). That is, referring to the conceptual diagram shown in
where reference symbol q(H) denotes an estimated value of the quality in the set of elements shown in the following formula (6), that is, the product of average and minimum value of the stretch in a set H of elements.
[Estimation of Degree of Improvement in Ridge Line Quality]
An estimated value εij of the degree of improvement in quality of the ridge line (i, j) is obtained by weighting the degree Δqij of freedom of quality by an average of the shortest lengths of ridge lines, and is expressed by the following formula (7).
[Formula 7]
εij=sij×Δqij (7)
where reference symbol sij is expressed by the following formula (8).
[Formula 8]
Sif=|h*(i)∪h*(j)|/Σhεh*(f)∪h*(j)mineεhle (8)
(S44: EC Processing)
In accordance with the estimated value of the ridge line obtained in step S43, the mesh simplification of ridge line is sequentially executed by the EC processing, starting from the ridge line (i, j) having the highest estimated value in the effective ridge-line.
Hereinbelow, a description is given of mesh characteristics required by the high-quality tetrahedral mesh.
Shape Approximation:
Preferably, although the shape approximation is higher, the approximation error may be an allowable value or less.
Number of Elements (Processing Load):
Preferably, although the number of elements is small, the approximation error may be easily changed.
Element Distortion:
Preferably, the element distortion is smaller and is approximate to a regular triangle.
Coarse Distribution in Elements:
Preferably, the coarse distribution in elements is coarsely and easily changed depending on the using purposes.
With the method according to the embodiment of the present invention, it is confirmed that MRR of the tetrahedral mesh is generated from the inputted surface-triangulated-mesh.
According to the present invention, after conversion to the mesh with low density mesh through the simplification, referring to
Number | Date | Country | Kind |
---|---|---|---|
2004-252444 | Aug 2004 | JP | national |