Volumetric grid generation

By selecting the source point between adjacent but disjoint grid surfaces and projecting the volume along the surface normal, determining the closest intersection point to generate a volume grid, the problem of inaccurate proximity determination in the prior art is solved, and higher quality grid generation and numerical simulation accuracy is achieved.

CN120283265APending Publication Date: 2025-07-08SIMENS INDASTRI SOFTVEAR INK
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280101743.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-11-10
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

The prior art is difficult to accurately determine the proximity when generating volume grids between adjacent but disjoint mesh surfaces, resulting in non-optimal mesh projection and potential accuracy problems, especially in thin areas where skewed tetrahedrons are prone to occur, affecting the accuracy of numerical analysis.

Method used

By selecting the source point on the mesh surface, projecting the volume along the surface normal, and determining the closest intersection on the opposite mesh surface, a prismatic or isotropic volume grid is generated to ensure the accurate filling of the mesh between adjacent surfaces.

Benefits of technology

It improves the accuracy and stability of mesh generation, reduces the appearance of skewed tetrahedrons, improves the accuracy of numerical simulation and the topological structure of the mesh, and is suitable for modeling complex industrial geometric shapes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120283265A_ABST
    Figure CN120283265A_ABST
Patent Text Reader

Abstract

A computer-implemented method of generating a volumetric grid in a modeling system between two adjacent, non-intersecting and opposing grid surfaces of a three-dimensional object is described. A projected volume is determined, where a mesh volume having a first topology is generated when the volume reaches an opposing mesh surface within a distance determined by the local mesh size. A second volume grid having a different topology is generated when the projected volume does not reach the opposing grid surface.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a computer-implemented method for generating a volume mesh between two adjacent, non-intersecting, and opposing mesh surfaces of a three-dimensional object in a modeling system, where the mesh surfaces are separated by a distance t, and where the modeling system is configured to render an image of the object including the meshed surfaces for a user. Background Art

[0002] Computer-aided modeling techniques such as CAD (Computer-Aided Design), CAE (Computer-Aided Engineering), and CAx (computer-aided technologies in general) are often used in the design of engineering products ranging from automotive and aerospace components to electronic devices. Although many techniques are used, a technique that has applications both in rendering images to a computer screen and in physical simulation is mesh generation. A mesh can be defined as a further partitioning of a continuous geometric space into discrete geometric and topological elements. This applies equally to surfaces and volumes, where in both cases the purpose of mesh generation is to create a mesh that accurately captures the input domain geometry with a high-quality mesh, without requiring a very large amount of computation to achieve. In a high-quality mesh, not only are the individual elements well-shaped, but they are also small in size to maintain the accuracy of subsequent computations during rendering or simulation activities. For example, a high-quality triangular mesh should have elements whose shape is as close as possible to an equilateral triangle, because isosceles or right triangles with very sharp tips may create regions of non-uniformity within the surface or volume. In particular, small angles can cause problems if the stretched triangles are randomly oriented. A squashed triangle with one apex moving towards the opposite side, creating a very large angle and two very small angles, may also be problematic. In the case of volume meshes, these are generated to quickly fill the space between surfaces within a CAD model. Volume meshes can be anisotropic (e.g., prismatic volume meshes based on triangular prisms) or isotropic (e.g., cubic volume meshes).

[0003] One application of mesh partitioning is in the modeling of surfaces that are close to each other. As an example thereof, Figure 1A perspective view of a portion of a framework of ribs and beams in a wing is shown. Each rib 1 and beam 2 of the wing 3 is made of sheet material and is modeled using a surface mesh of surfaces representing individual small intervals of the sheet. For a single rib 1, each surface is close to each other, meaning that any volume filling between the mesh surfaces requires the use of a so-called thin meshing technique to create. This is the case where the local geometry of points on the surface is classified as "thin" due to the mesh size at that location. The aim is to create topologically equivalent or matching meshes in the thin regions so that high-quality prismatic volume meshes can be generated to fill the space between adjacent surfaces. Prisms generated in such prismatic volume meshes are very prone to creating potentially skewed tetrahedra, which may lead to accuracy issues and conditioning problems during subsequent numerical analysis. Detection of the thin model feature requires careful proximity analysis, which is traditionally performed by projecting rays from the vertices of the surface mesh using local surface normals and finding the first intersection with the neighboring surface mesh. The assumption therein is that the distance between the source point and the target point on two surface meshes can be considered a measure of the proximity between the two surfaces and is thus the most important information for judging the thinness of the local model.

[0004] For many reasons, it is useful to be able to determine where two mesh surfaces are adjacent, including driving the determination of mesh size where the surfaces are adjacent to avoid poor volume mesh generation. While standard ray-based means are reasonable for determining mesh size, they are too simplistic for applications such as thin meshing.

[0005] In Figure 2A and Figure 2B the problems of standard ray-based methods are shown in more detail. Figure 2A is a schematic illustration of a curved neighboring mesh surface. A first mesh surface 10 including a plurality of mesh vertices 11a…n and mesh faces 12a…n forms the upper surface of an object. A second mesh surface 13 including a plurality of mesh vertices 14a…n and mesh faces 15a…n forms the lower surface of the object, where the second mesh surface 13 is adjacent to the first mesh surface 10. These two neighboring surfaces have large curvatures such that the normal direction is very sensitive to local discretization and may lead to non-optimal projections. Projecting a ray R along the local surface normal N from vertex 11c at an inflection point in the first mesh surface 10 causes the ray to intersect the second mesh surface 13 at vertex 14c at an inflection point away from the second mesh surface 13. Although vertex 14c is nearby, it is not directly in the path of the local normal N, and there is no alignment mechanism to align the ray R to vertex 14c.

[0006] Similarly, Figure 2BSchematic illustration of adjacent mesh surfaces with sharp edges. A first mesh surface 16 including a plurality of mesh vertices 17a…n and mesh faces 18a…n forms the upper surface of an object. A second mesh surface 19 including a plurality of mesh vertices 20a…n and mesh faces 21a…n forms the lower surface of the object, where the second mesh surface 19 is adjacent to the first mesh surface 16. These two adjacent surfaces have sharp corner regions A and B such that the normal direction is very sensitive to local discretization and may result in non-optimal projections. Projecting a ray R along the local surface normal N from vertex 17b at the first corner A in the first mesh surface 16 causes the ray to intersect the second mesh surface 19 at vertex 20b which is away from the second mesh surface 19. Although vertex 20b is nearby, it is not directly in the path of the local normal N and there is no alignment mechanism to align the ray R to vertex 20b. Projecting a ray R along the local surface normal N from vertex 20c at the second corner B in the second mesh surface 19 causes the ray to intersect the first mesh surface 16 at vertex 17c which is away from the first mesh surface 16. Although vertex 17c is nearby, it is not directly in the path of the local normal N and there is no alignment mechanism to align the ray R to vertex 17c. Therefore, it is desirable to be able to use more complex methods to discover adjacent regions of complex industrial geometries in the real world. This will enhance the accuracy of subsequent numerical simulations based on the generated mesh. Summary of the Invention

[0007] In a first aspect, the present disclosure aims to solve this problem by providing a computer-implemented method for generating a volume mesh between two adjacent, non-intersecting and opposite mesh surfaces of a three-dimensional object in a modeling system, where the modeling system is configured to render an image of an object including a meshed surface for a user. The method includes: a) selecting a source point S located on one of the two mesh surfaces; b) projecting a volume centered at the source point S along an axis corresponding to the surface normal N at the source point S; if the projected volume meets the opposite mesh surface within a distance determined by the value of the ratio t / LS along its axis, where LS is the local mesh size at the source point S and t is the distance between the two mesh surfaces at the source point S, then: c) determining, in a region, the intersection point T closest to the source point S on the opposite mesh surface; d) using the closest intersection point T and the source point S as vertices to generate a first volume mesh between the two adjacent and opposite mesh surfaces; if the projected volume does not meet the opposite mesh surface within a distance determined by the value of the ratio t / LS along its axis, then: e) generating a second volume mesh with a different topology between the two adjacent and opposite mesh surfaces.

[0008] The advantage of this approach is that, while structured meshes generally offer many advantages in numerical simulations for obtaining optimal accuracy with fewer elements compared to standard meshes, it is more difficult to automatically construct structured meshes without user intervention. Placing the target intelligently relative to the corresponding source according to embodiments of the present disclosure is important and is a key area where known methods struggle with robustness.

[0009] The first volume mesh can be a prismatic volume mesh, and the second volume mesh can be an isotropic volume mesh.

[0010] The source point can be located at a vertex of the mesh surface.

[0011] The method can further include repeating steps a) to e) for all other vertices in the mesh surface. In this case, the volume can be a cone with its apex at the source point S, where the cone is generated by projecting a ray along the surface normal N at the source point S and generating an apex angle α as a function of the local mesh size.

[0012] In some examples, step c) can include: projecting the ray k times such that the closest intersection point T is the initial closest intersection point T 0 or the new intersection point T k , which is closer to the source point S than the initial closest intersection point T 0 and is obtained on the k-th ray projection, thereby exploring the opposing mesh surface within the cone.

[0013] Vertices can be located where the direction of the mesh surface changes.

[0014] In some examples, if the closest intersection point T on the opposing mesh surface is within a predetermined threshold distance of an adjacent mesh edge or vertex of the opposing mesh surface, the closest intersection point T can be moved to the adjacent mesh edge or vertex.

[0015] In some examples, when the source point S is surrounded by n mesh vertices, the method can further include: sequentially selecting each vertex as the source point S n ; and repeating steps a) to d) for each source point S n to determine the closest intersection point T n .

[0016] The magnitude of the vector ‖T - S‖ can be given by the value of the ratio t / LS within a given tolerance of the mesh size, where LS is the local mesh size at the source point S and t is the distance between two mesh surfaces at the source point S.

[0017] The projected volume can be a cylinder.

[0018] The source point S can be located on the grid edge or within the grid face.

[0019] In a second aspect, the present disclosure also provides a data processing system, which is adapted to generate a volume mesh between two adjacent, non-intersecting and opposite grid surfaces of a three-dimensional object in a modeling system. The data processing system includes: a processor, which is adapted to select a source point S located on one of the two grid surfaces; project a volume centered at the source point S along an axis corresponding to the surface normal N at the source point S. If the projected volume meets the opposite grid surface within a distance determined by the value of the ratio t / LS along its axis, where LS is the local grid size at the source point S and t is the distance between the two grid surfaces at the source point S, then in a region, determine the intersection point T closest to the source point S on the opposite grid surface; use the closest intersection point T and the source point S as vertices to generate a first volume mesh between the two adjacent and opposite grid surfaces; if the projected volume does not meet the opposite grid surface within a distance determined by the value of the ratio t / LS along its axis, then generate a second volume mesh with a different topology between the two adjacent and opposite grid surfaces; and a display, which is adapted to display a rendered image of the object including the meshed surface to the user.

[0020] The first volume mesh can be a prismatic volume mesh, and the second volume mesh can be an isotropic volume mesh.

[0021] In a third aspect, the present disclosure also provides a computer program product including instructions, which, when executed by a computer, cause the computer to perform the steps of the above method. Description of the Drawings

[0022] The present disclosure will now be described only by way of example and with reference to the drawings, wherein:

[0023] Figure 1 Shows a part of a perspective view of the frame of ribs and beams in a wing;

[0024] Figure 2A Is a schematic illustration of curved adjacent grid surfaces;

[0025] Figure 2B Is a schematic illustration of adjacent grid surfaces with sharp edges;

[0026] Figure 3 Shows a basic way to determine whether two grid surfaces are adjacent;

[0027] Figure 4A Is a schematic illustration of the grid face surface normal;

[0028] Figure 4B Is related toFigure 4A Schematic illustration of the mesh vertex normal corresponding to the mesh surface normal;

[0029] Figure 5 Is a schematic illustration of two adjacent and opposite mesh surfaces for which the proximity to each other needs to be explored;

[0030] Figure 6 Is a flowchart showing the steps of the method according to an embodiment;

[0031] Figures 7A to 7C Shows a pair of opposite and adjacent mesh surfaces to which the method according to an embodiment is applied to form a double 90° elbow;

[0032] Figure 7D Is in Figures 7A to 7C Schematic illustration of the result of applying the method;

[0033] Figures 8A to 8D Shows a pair of opposite and adjacent mesh surfaces to which the method according to an embodiment is applied to form a double 90° elbow with a chamfered corner;

[0034] Figure 8E Is in Figures 8A to 8D Schematic illustration of the result of applying the method;

[0035] Figures 9A to 9B Shows a pair of opposite and adjacent mesh surfaces to which the method according to an embodiment is applied to form a double-pointed elbow;

[0036] Figure 9C Is in Figures 9A to 9B Schematic illustration of the result of applying the method;

[0037] Figures 10A to 10C Shows a pair of opposite and adjacent mesh surfaces to which the method according to an embodiment is applied to form a double-pointed elbow with a bottom offset;

[0038] Figure 10D Is in Figures 10A to 10C Schematic illustration of the result of applying the method;

[0039] Figures 11A to 11C Shows a pair of opposite and adjacent mesh surfaces to which the method according to an embodiment is applied to form a sharp-smooth elbow;

[0040] Figure 11D Is in Figures 11A to 11C Schematic illustration of the result of applying the method;

[0041] Figures 12A to 12BShows a pair of opposite, adjacent mesh surfaces to which the method according to an embodiment is applied to form a smooth-smooth elbow;

[0042] Figure 12C Is in Figures 12A to 12B Schematic illustration of the result of applying the method;

[0043] Figures 13A to 13B Shows a pair of opposite, adjacent mesh surfaces to which the method according to an embodiment is applied to form a smooth-smooth elbow, wherein one of the mesh surfaces has been offset relative to the other mesh surface;

[0044] Figure 13C Is in Figures 13A to 13B Schematic illustration of the result of applying the method;

[0045] Figures 14A to 14D Shows the effect of angle on converging-diverging surfaces and identifying whether the mesh is locally thin;

[0046] Figures 15A to 15D Shows opposite mesh surfaces with mirrored acute angles; and

[0047] Figure 16 Shows an example of a data processing system in which embodiments of the present disclosure can be implemented, such as a CAD system configured to perform the processes described in the present application. DETAILED DESCRIPTION

[0048] In the following description of the embodiments, the following symbols and terms are used:

[0049] S i (0 ≤ i ≤ N verts ) is the i-th source vertex from which proximity can be explored, where the total number of vertices in the mesh surface is N verts ;

[0050] d i Is the number of directions associated with a given source point, and typically, the source point S shared by the mesh faces that define a large dihedral angle corresponding to high curvature in the original CAD model i Can be associated with d i > 1 directions;

[0051] F i d Is the subset of mesh faces that define the d i associated with S th directions;

[0052] r i d Is from the source point S i along d at the pointth A ray emitted in a direction;

[0053] K id is the index of the last target point T i associated with S th and its d i direction, and reflects the ability of the algorithm to search for an optimal position with respect to some desired properties such as proximity, orthogonality, and auto-alignment; and

[0054] (0 ≤ i ≤ N verts , 0 ≤ d < D i , 0 ≤ k ≤ K id ) is the k-th target point related to the d i direction associated with the source point S th , where the initial target point T id 0 is given by the closest intersection point between the grid surface and the ray r id . If the only relevant target point is the last target point then other target points with k < K id values can be considered to understand the target point selection mechanism.

[0055] The embodiments described below are particularly effective when used for proximity detection for thin mesh generation. For any geometry in the real world, the means employed can return the closest target point from a given source point. This helps to maximize the orthogonality between the ray and the target surface, which enables the generation of high-quality prismatic meshes in thin regions. Reliable answers are obtained to two questions: First, which mesh vertices are adjacent to some facing mesh surfaces (thereby detecting the thin parts of the CAD model); second, for each thin vertex (source), can a corresponding point (target) be found on the facing surface such that the pair of source and target can effectively represent the initial step in generating a high-quality prismatic mesh in the thin part subsequently. In a modeling system, this is accomplished using a computer-implemented method for generating a volume mesh between two adjacent, non-intersecting, and opposing mesh surfaces of a three-dimensional object. The mesh surfaces are separated by a distance t, and the modeling system is configured to render an image of the object including the meshed surfaces for the user. The method first includes selecting a source point S located on one of the two mesh surfaces. As long as the two meshes are adjacent to each other, it does not matter which mesh surface is selected. Next, project the volume centered at the source point S along the axis corresponding to the surface normal at the source point S. If the projected volume meets the opposing mesh surface within a distance determined by the value of the ratio t / LS along its axis, where LS is the local mesh size at the source point S, then the method will generate a first volume mesh, such as a prismatic volume mesh. This is done by determining the closest intersection point T on the opposing mesh surface to the source point S within this region, and then using the closest intersection point T and the source point S as vertices to generate a first volume mesh between the two adjacent and opposing mesh surfaces. Alternatively, if the projected volume does not meet the opposing mesh surface within a distance determined by the value of the ratio t / LS along its axis, then a second volume mesh with a different topology, such as an isotropic volume mesh, is generated between the two adjacent and opposing mesh surfaces.

[0056] Figure 3 A basic way to determine whether two mesh surfaces are adjacent is shown. Figure 3 is a schematic diagram of two adjacent mesh surfaces, which shows multiple ray-tracing problems. A first mesh surface 30 with a plurality of vertices 31a...n linked together by mesh faces 32a...n is located adjacent to a second mesh surface 33, which also has a plurality of vertices 34a...n linked together by mesh faces 35a...n. Initially, in order to determine whether the first surface 30 and the second surface 33 are truly adjacent, it is necessary to define an appropriate set of vertices as source points S, and project rays R from each of these source points S in a direction that can reasonably be set as the surface normal N at each source point position. For the source points S corresponding to the mesh vertices 31a...n, 34a...n, the direction of each ray R can be given by the following formula:

[0057]

[0058] where n ij is the surface normal of the N faces sharing the i-th vertex, and w j is a suitable weight, such as:

[0059]

[0060] where A j is the area of the j-th face.

[0061] Starting from the second vertex 34b of the second surface 33 in Figure 3 as the first source point S0, project a ray R outwards along the surface normal N at S0 towards the first surface 30. The second vertex 34b is shown as being located in a region with an angle of 180° between the mesh faces 35a, 35b. The ray R intersects the first mesh face 30 on the mesh face 32b, such that the target point T0 intersects the first mesh face 30 at the mesh face 32b. Take the second vertex 34c (the mesh faces 35b, 35c are defined to have an angle of 90° between them) located at the mutation of the direction of the second grid surface 33 as the second source point S1, and project the ray R outwards from S1 along the surface normal direction N at S1 towards the first grid surface 30 once again. Once again, the target point T1 is located in the middle of the mesh face 32b and is clearly not the point on the first grid surface 30 closest to the source point S1. In addition, the rays from the first source point S0 and the second source point S1 intersect just before reaching the first grid surface 30. Once again, take the vertex 34d in the second grid surface 33 as the third source point S2, where the vertex 34d is located at the mutation of the direction of the second grid surface 33, and the mesh faces 35c, 35d are positioned at an angle of 270° relative to each other. Once again, the ray R projected along the surface normal N at S2 intersects the first grid surface 30 at the target point T2 in the middle of the mesh face 32c. By selecting the source points S3 and S4 at the vertices 31b, 31c located at the sudden inflection points in the first grid surface 30 once again, the ray R projected along the surface normal N starting from the first grid surface 30 also intersects the target points T3, T4 in the mesh faces 35c, 35d on the second grid surface 33.

[0062] As long as the only information sought is whether the surfaces are more or less close to each other, for example, derived from the distance ‖T - S‖, the method is fast and efficient, and as long as the curvature of the grid surfaces is small on both sides, the method works well. This is shown by the source-target pair S0→T0 in Figure 3 However, for thin meshing, the specific position of the target point T is an important factor to consider, so Figure 3There are some problems with the basic method outlined above. First, there is no mechanism to prevent relative projections such as S0→T0 and S1→T1 from becoming cluttered. Second, if no explicit alignment mechanism is implemented, such as S2→T2, S3→T3, and S4→T4, then it is expected that the projection target will miss the corners or sharp edges of the mutation part in the direction of the grid surface. In this case, implementing a robust and reliable alignment mechanism will be complex in all possible use cases, making it unsuitable for thin meshing. Third, if the position of the target point T is important, then other properties need to be considered. An example of this situation is how close the incident vector is to the local surface normal (orthogonal property). Figure 3 The method of Figure 3 cannot enhance any desired property at the target point T because it is only based on data about the source point S.

[0063] In the following example, it is assumed that all source points S are mesh vertices. The mesh vertex surface normal N is given by a weighted surface normal, which is calculated as follows. Each source point S i is shared by N mesh vertex faces (F i ) and the set is divided into D i subsets (where for Fd i , 0 ≤ d < D i ). All mesh faces belonging to a given subset share at least one edge with another face in the same subset. Additionally, and where 0 ≤ d1, d2 < D i . Any mesh edge can share at most two mesh faces within the same subset, such that a non-manifold mesh edge that shares more than two mesh faces cannot have more than two mesh edge faces contained in the same subset. When the mesh edge is non-manifold or sharp enough relative to a given threshold, multiple surface normals will be assigned to the two endpoints of the mesh edge. Additionally, to ensure a complete spatial exploration around each source point S, any calculated surface normal N will be replicated by including its relative direction. This is further shown in Figure 4A and Figure 4B .

[0064] Figure 4A is a schematic illustration of the mesh face surface normal. Although the shape of the mesh surface 40 is relatively complex, each mesh face surface normal at the center of each mesh face 41a - 41f can be replicated, enabling a neighboring search in the relative direction. Figure 4B is related to Figure 4ASchematic illustration of mesh vertex normals corresponding to the mesh surface normals. Within the complex mesh surface 40, there is a single mesh vertex 42d between mesh faces 41c, 41d that define a small dihedral angle, so that only a subset of the surface normals N1, N2 is calculated. However, there are four examples of mesh vertices 42b, 42c, 42e, 42f between mesh faces 41b, 41c, 41e, 41f that define a large dihedral angle, resulting in sharp corners or discontinuities in the mesh surface orientation. For each of these mesh vertices 42b, 42c, 42e, 42f, two subsets of the surface normals N1, N2 and N3, N4 are calculated. This is because the mesh vertex normals associated with each of the two mesh faces between which the mesh vertex lies can be considered, and thus each represents a possibility of neighboring exploration.

[0065] Now refer to Figure 5 and Figure 6 to describe the method of the embodiment in more detail, Figure 5 is a schematic illustration of two neighboring and opposite mesh surfaces for which the proximity to each other needs to be explored, Figure 6 is a flowchart showing the steps of the method according to the embodiment. In Figure 5 a first mesh surface 50 including a plurality of mesh vertices 51a - 51f linked by a plurality of mesh faces 52a - 52e is located in the region of a second mesh surface 53 including a plurality of mesh vertices 54a - 54f linked by a plurality of mesh faces 55a - 55e. The two mesh surfaces 50, 53 are neighboring and opposite. Each of the first mesh surface 50 and the second mesh surface 53 includes two regions where the mesh vertices 51c, 51d, 54c, 54d are located between the mesh faces 52b, 52c, 52d, 55b, 55c, 55d that define a large dihedral angle. This results in a discontinuity in the orientation of the first mesh surface 50 and the second mesh surface 53, producing a dihedral angle of 90°.

[0066] Now look at Figure 6 and refer to Figure 5 According to the method 600 of the embodiment, it begins with step 602 of selecting a source point S located on one of the two mesh surfaces 50, 53. The source point can be located on a mesh edge, within a mesh face, or at a mesh vertex. This is shown in Figure 5 where the source point is located on the mesh vertex 54c. Next, in step 604, project the volume centered at the source point S along the axis corresponding to the surface normal N at the source point S. In Figure 5In the example shown, the volume is a cone 56 having its apex at the source point S, where the cone 56 is generated by projecting a ray r along the surface normal N at the source point S and generating an apex angle α as a function of the local mesh size LS at the source point S. The local mesh size LS at the source point S is determined by the spacing of the mesh vertices 51a - 51f, 54a - 54f. Although the volume being projected is a cone in this example, it may be desirable to use an alternative volume, such as a cylinder.

[0067] If the projected volume meets the opposing mesh surface 50 within a distance determined by the value of the ratio t / LS along its axis, where LS is the local mesh size at the source point S and t is the distance between two mesh surfaces at the source point S, then at step 606 the intersection point or target point T closest to the source point S is determined on the opposing mesh surface 50. At step 608, a first volume mesh is then generated between two adjacent and opposing mesh surfaces 50, 53 using the closest intersection point T and the source point S as vertices. The first volume mesh can be a prismatic volume mesh. If the projected volume does not meet the opposing mesh surface 50 within a distance determined by the value of the ratio t / LS along its axis, then at step 610 a second volume mesh of a different topology is generated between two adjacent and opposing mesh surfaces 50, 51. The second volume mesh can be an isotropic volume mesh or a tetrahedral volume mesh. The magnitude of the vector ‖T - S‖ is given by the value of the ratio t / LS within a given tolerance of the local mesh size. The tolerance can be determined by the user as a percentage or an absolute value of the local mesh size.

[0068] Depending on the application, method 600 may further include step 612, which includes repeating steps 602 to 610 for all other vertices in the mesh surface. Additionally, if the closest intersection point T on the opposing mesh surface 50 is within a predetermined threshold distance of an adjacent mesh edge or mesh vertex of the opposing mesh surface, then the closest intersection point T is moved to the adjacent mesh edge or mesh vertex. The process of determining the closest intersection point T on the opposing mesh surface 50 in step 606 includes projecting the ray r k times such that the closest intersection point T is the initial closest intersection point T 0 or the new intersection point T k which is closer to the source point S than the initial closest intersection point T 0 and is obtained on the k-th ray projection, thereby exploring the opposing mesh surface within the cone. The application of method 600 in a series of examples is now described.

[0069] 1. Double 90° elbow

[0070] Figures 7A to 7C Shows the application of the method according to an embodiment to a pair of opposing, adjacent mesh surfaces forming a double 90° elbow, andFigure 7D is a schematic diagram of the result of applying the method in Figures 7A to 7C . In each of the diagrams in Figures 7A to 7C , a pair of adjacent and opposite grid surfaces 70, 71 in the double 90° elbow 72 are shown. The first grid surface 70 includes a plurality of grid vertices 73a - 73f linked together by grid faces 74a - 74e and has a first 90° bend 75 at grid vertex 73c and a second 90° bend 76 at grid vertex 73d. The second grid surface 71 includes a plurality of grid vertices 77a - 77f linked together by grid faces 78a - 78e and has a first 90° bend 79 at grid vertex 77c. The first 90° bends 75, 79 and the second 90° bends 76, 80 are positioned adjacent to each other such that the double 90° elbow 72 has a locally changed diameter in the region of the first 90° bends 75, 79 and the second 90° bends 76, 80, but is continuous along its length as shown without breaks. Source points S for exploring this region are selected based on the grid vertices that define the double 90° bend region itself.

[0071] See Figure 7A , and the first source point S1 is selected as the grid vertex 77c that forms the first 90° bend 80 in the second grid surface 71. There are two surface normals N i,ii associated with the first source point S1: the first surface normal points in a direction away from the double 90° bend region along the grid face 78b, and the second surface normal points to the second 90° bend 80 on the second grid surface 71 along the grid face 78c. For the first surface normal N i , within the effective range given by the ratio of the distance t between the first grid surface 70 and the second grid surface 71 at the first source point S1 to the local grid size LS at the first source point S1, there is no effective intersection with the first grid surface 70. For the second surface normal N ii , the only effective intersection with any grid surface is actually achieved by aligning to the grid vertex 77d on the second grid surface 71 because this is very close to the effective range defined by the ratio t / LS and is thus within a small tolerance of this effective range.

[0072] See Figure 7B , and the second source point S2 is selected as the grid vertex 77d that forms the second 90° bend 80 in the second grid surface 71. There are two surface normals N i,ii associated with the second source point S2: the first surface normal points in a direction away from the double 90° double - bend region parallel to the grid face 74b, and the second surface normal points in a direction away from the second 90° bend 80 on the second grid surface 71 perpendicular to the grid face 74e. For the first surface normal N i, within the effective range given by the ratio t / LS, there is no effective intersection with the first grid surface 70 because the surface normal N i lies within the space separating the first grid surface 70 and the second grid surface 71. For the second surface normal N ii , the only effective intersection with any grid surface is with the grid face 74e of the first grid surface 70 because it lies within the effective range defined by the ratio t / LS. The ray r2 can be projected around the surface normal N ii to form a cone with an apex angle α2 that is a function of the local grid size LS at the second source point S2. However, in this example, the closest intersection point is the target point T 0 20 , such as:

[0073]

[0074] For a sufficiently small value of ε, if d is any unit vector tangent to the first grid surface 70 at T 0 20 . ε is a tolerance determined by the user based on the CAD model and system parameters. Thus, the only projection required from S2 is S2→T 0 20 .

[0075] See Figure 7C , select the third source point S3 as the grid vertex 73c that forms the first 90° bend 75 in the first grid surface 70. There are two surface normals N i,ii associated with the first source point S3: the first surface normal points away from the double 90° double bend region parallel to the grid face 77b, and the second surface normal points away from the first 90° bend 75 on the first grid surface 70 perpendicular to the grid face 77b. For the first surface normal N i , within the effective range given by the ratio t / LS, there is no effective intersection with the first grid surface 70 because the surface normal N i lies within the space separating the first grid surface 70 and the second grid surface 71. For the second surface normal N ii , the only effective intersection with any grid surface is with the grid face 78b of the second grid surface 71 because it lies within the effective range defined by the ratio t / LS. The ray r3 can be projected around the surface normal N ii to form a cone with an apex angle α3 that is a function of the local grid size LS at the third source point S3. However, in this example, the closest intersection point is the target point T 0 30 , such as:

[0076]

[0077] For a small enough value of ε, if d is any unit vector tangent to the first grid surface 70 at T 0 30 The only projection required by S3 is S3 → T 0 30 .

[0078] Figure 7D Shows the case where once S i → T i is set for all vertices and the region of the double 90° elbow 72 has been explored to determine if there are any locally thin portions. The resulting topology allows for the generation of anisotropic prismatic volume meshes on either side of the two 90° bends in the region of the double 90° elbow 72. However, the region between the two 90° bends is shown to be locally not thin as no intersections with opposing surfaces were found in this region. This requires the generation of an isotropic volume mesh to fully fill the space within the double 90° elbow.

[0079] It should be remembered that there are other topological considerations that may prevent the generation of prismatic volume meshes in locally thin regions, but this is also emphasized using the method 600 of the embodiment. Figure 7D Shows the same double 90° elbow arrangement as in Figure 7A Figure 7D where multiple layers of prismatic volume meshes are added in the region previously determined to be locally thin. Any attempt to fill the locally not thin region with multiple layers of prismatic volume meshes will result in very skewed anisotropic cells within the volume mesh, where there are small regions A and B at the corners of the double 90° bend connection portion, which may require an unstructured volume mesh. Regardless of the type of numerical simulation after volume mesh generation, such as structural analysis or computational fluid dynamics (CFD), it is more reasonable to fill the entire locally not thin cavity with an isotropic volume mesh to obtain optimal results.

[0080] 2. Double 90° elbow with chamfered corners

[0081] Figures 8A to 8D Shows applying the method according to the embodiment to a pair of opposing, adjacent grid surfaces forming a double 90° elbow with a chamfered corner, and Figure 8E is a schematic illustration of the result of applying the method in Figures 8A to 8D . In each of the diagrams of Figures 8A to 8E , a pair of adjacent, opposing grid surfaces 90, 91 in the double 90° elbow 92 are shown. However, this arrangement is the same as in Figures 7A to 7DThe arrangement shown in [Figure 0] differs in that a chamfer has been provided by shortening the distance between two mesh vertices 98b, 98c in the second mesh surface 91 to provide the chamfer 93. The first mesh surface 90 retains the first 90° bend 96 and the second 90° bend 97, but the second 90° bend is not present in the second mesh surface 91, and the mesh vertices 98c, 98d now lie between mesh faces defining an obtuse dihedral angle. However, the duct 92 still has a locally changed diameter in the regions of the first 90° bend 96 and the second 90° bend 97 and is continuous along its length as shown and without breaks. Again, the source point S for exploring this region is selected based on the mesh vertices defining the double 90° bend region itself.

[0082] In Figure 8A , the first surface normal N i does not intersect the first mesh surface 90 within the effective range of t / LS at the first source point S1. The second surface normal N ii reaches the target point T on the first mesh surface 90 outside the effective range of t / LS 0 10 and will be discarded because the spacing between the edge of the cone indicating the effective range and the first mesh surface 90 is greater than a reasonable tolerance ε.

[0083] Figure 8B shows the case where the rays projected along the two surface normals N i,ii intersect the first mesh surface 90 at the target point within the effective range of t / LS at the second source point S2. The second source point S2 is selected at the mesh vertex 98d at the upper end of the chamfered corner, where the adjacent mesh faces 99c, 99d define an obtuse dihedral angle. For the first surface normal N i , it intersects the first mesh surface 90 at an angle to the mesh face 95b adjacent to the mesh vertex 94c to form the target point T 0 20 . However, S2→T 0 20 is unstable with respect to the shortest source point - target point distance and thus depends on the inherent alignment properties caused by the projection of the nearest point within the cone created by projecting the ray r i along the first surface normal N 2i . The intersection point moves to the second target point T 1 20 , where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i , because S2→T 1 20is stable with respect to the shortest source-to-target distance. The alignment effect is a result of using the concept of nearest point finding in method 600 and thus does not require providing specific hard coding. Based on the second surface normal N at S2 ii and the projected ray r 2ii also intersects the first grid surface 90 at the target point T 0 21 . Since this is already the shortest source-to-target distance for the cone projected based on this ray, no alignment or further exploration is required, and the final projection will be S2→T 0 21 .

[0084] Figure 8C shows perhaps the simplest case, where again, similar to Figure 7C , a single projection from a third source point S3 (which is also the target point T of the second source point S2) at vertex 94c located on the first grid surface 90 1 20 ) intersects the target point T that intersects the second grid surface 91 on the grid face 99b 0 30 . Although method 600 searches within the cone for the closest intersection point with respect to the initial intersection point, the target point T 0 30 is already stable, so the final projection is S3→T 0 30 .

[0085] Finally referring to Figure 8D , consider the remaining possible source points around the 90° bend region to ensure that the exploration of whether the region is locally thin is complete. Let the source point S0 be the first vertex 98b on the second grid surface 91 adjacent to the region of interest. It can be seen that the ray r0 projected along the first surface normal N1 intersects the first grid surface 70 at the target point T 0 00 which is within the effective region based on t / LS, where t / LS is based on the length of the grid surface 99a on the left hand side of the source point S0, as shown. This makes the final projection S0→T 0 00 . For the fourth source point S4 at the final vertex 94d located on the first grid surface 90 that bounds the region of interest, the only possible stable intersection point is where the target point T 0 40 is aligned to the third source point S3.

[0086] Figure 8EShows the exploration results around the region of interest. The regions on both sides of the 90° bend are inferred to be locally thin, and thus a prismatic volume mesh is generated in these regions. The central region bounded by the cut-off corners and the 90° bend is found to be locally non-thin, and an isotropic volume mesh is generated here.

[0087] 3. Double-pointed elbow

[0088] Figures 9A to 9B Shows the application of the method according to an embodiment to a pair of opposite and adjacent mesh surfaces for forming a double-tip elbow, and Figure 9C is Figures 9A to 9B a schematic illustration of the result of applying the method. In each of the Figures 9A to 9C figures, a pair of adjacent and opposite mesh surfaces 100, 101 in the double-tip elbow 102 are shown. However, this arrangement is different from the arrangement shown in Figures 8A to 8E in that the vertex 103c in the first mesh surface 100 has been moved to replicate the cut-off corner created by shortening the distance between two mesh vertices 107b, 107c in the second mesh surface 101. In the first mesh surface 100 and the second mesh surface 101, the mesh vertices 103c, 103d, 107c, 107d are now located between mesh surfaces defining an obtuse dihedral angle. However, the pipe 102 still has a locally changed diameter in the regions of the first sharp bends 105a, 105b and the second sharp bends 106a, 106b, and is continuous along its length as shown without breaks. Again, the source point S for exploring this region is selected based on the mesh vertices defining the double-tip bend region itself.

[0089] Figure 9A Shows the selection of the first source point S1 as the mesh vertex 107c on the second mesh surface 101, where the first obtuse dihedral angle is defined by the mesh faces 108b, 108c in the pipe 102. The ray r1 projected along the first surface normal N i perpendicular to the second mesh surface 101 intersects the first mesh surface 100 at the first target point T 0 10 which happens to be the mesh vertex 105c on the first mesh surface 100, which can be regarded as the third source point S3 based on its location on the boundary of the region of interest. Thus, the final projection is S1→T 0 10 .

[0090] Figure 9B Shows a situation similar to Figure 8C where along two surface normals N i,iiThe projected ray intersects the first grid surface 100 at the target point within the effective range of t / LS at the second source point S2. The second source point S2 is selected at the grid vertex 107d at the upper end of the cut-off corner, where the adjacent grid faces 108c, 108e define an obtuse triangular surface. For the first surface normal N i , it intersects the first grid surface 70 at an angle with the grid face 75b adjacent to the grid vertex 103c to form the target point T 0 20 . However, S2→T 0 20 is unstable with respect to the shortest source point-target point distance and thus depends on the inherent alignment property caused by the projection of the nearest point within the cone created by projecting the ray r i along the first surface normal N 2i . The intersection point moves to the second target point T 1 20 , where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i because S2→T 1 20 is stable with respect to the shortest source point-target point distance. The alignment effect is the result of using the concept of nearest point search in method 600 and thus does not require providing specific hard coding. The ray r ii projected based on the second surface normal N 2ii at S2 also intersects the first grid surface 90 at the target point T 0 21 . Since this is already the shortest source point-target point distance for the cone based on this ray projection, no alignment or further exploration is required, and the final projection will be S2→T 0 21 . T 0 21 happens to also correspond to the second grid vertex 103d on the first grid surface 100 that bounds the region of interest and thus acts as the fourth source point S4. However, since the locally thin nature of the region of interest can be easily mapped from the ray projections from the first source point S1 and the second source point S2, no projection from these source points needs to be performed.

[0091] Figure 9C Shows the exploration results around the region of interest. It has been determined by method 600 that all the space between two opposite and adjacent grid surfaces 100, 101 is locally thin, so a prismatic volume mesh can be generated along the entire double-curved pipe shown.

[0092] 4. Double-pointed elbow (offset at the bottom)

[0093] Figures 10A to 10C shows a pair of opposite, adjacent grid surfaces to which the method according to an embodiment is applied to form a double-tip elbow with a bottom offset, and Figure 10D is a schematic illustration of the result of applying the method in Figures 10A to 10C . In each of the diagrams of Figures 10A to 10C , a pair of adjacent, opposite grid surfaces 110, 111 in a double-tip elbow 112 with a bottom offset are shown. However, this arrangement is different from the arrangement shown in Figure 9A to 9c in that the vertex 113c in the first grid surface 100 and the vertex 117c in the second grid surface 111 have been moved to create two chamfered corners such that the pipe 110 has a bend greater than 90°. The second grid surface 111 has been offset relative to the first grid surface 110 such that the sides of the pipe 112 in the bend region are not parallel. In the first grid surface 110 and the second grid surface 111, the grid vertices 113c, 113d, 117c, 117d are now located between grid surfaces defining an obtuse dihedral angle. However, the pipe 112 still has a locally changed diameter in the regions of the first sharp bend 115 and the second sharp bend 116 and is continuous along its length as shown and has no breaks. Again, a source point S for exploring this region is selected based on the grid vertices defining the double-tip bend region itself.

[0094] Figure 10A shows that the first source point S1 is selected as the grid vertex 117c on the second grid surface 111, where the first obtuse dihedral angle is defined by the grid faces 118b, 118c in the pipe 112. The ray r1 projected along the first surface normal N i perpendicular to the second grid surface 111 at the vertex 117c does not intersect the first grid surface 110. Similarly, along the second surface normal N ii of the second grid surface 111, the projected ray r 1i intersects the first grid surface 110 but is rejected due to the value of the ratio t / LS. Thus, there is no target within the range. Similarly, for the fourth source point S4 located at the grid vertex 113d on the first grid surface 110, there is no target within the range.

[0095] Figure 10B shows that the second source point S2 is selected at the grid vertex 117d at the upper end of the chamfered corner, where the adjacent grid faces 118c, 118e define an obtuse dihedral surface. For the first surface normal N i , this does not intersect the first surface grid 110. For the second surface normal N ii, which intersects the first grid surface 110 at the grid face 118c adjacent to the grid vertex 113c to form the target point T 0 20 . In principle, this is a compliant projection, but the process will likely discard it because it will generate prisms of poor quality in the grid structure. For this reason, only S2→T is retained 0 21 , and this ensures that the shape of the generated prism is well - formed and not negatively affected by highly non - parallel top or bottom caps.

[0096] Figure 10C shows a situation similar to Figure 10A . A third source point S3 is selected at the grid vertex 113c at the lower end of the chamfered corner, where the adjacent grid faces 114c, 114e define an obtuse dihedral angle. For the first surface normal N i , this does not intersect the second surface grid 111. For the second surface normal N ii , this intersects the second grid surface 111 at the grid face 118b adjacent to the grid vertex 117c to form the target point T 0 30 . In principle, this is a compliant projection, but the process will likely discard it because it will generate prisms of poor quality in the grid structure. For this reason, only S3→T is retained 0 31 , and this ensures that the shape of the generated prism is well - formed and not negatively affected by highly non - parallel top or bottom caps.

[0097] Figure 10D shows the resulting grid structure, where it has been determined that the locally non - thin regions are located within the regions of the sharp bends of the first grid surface 110 and the second grid surface 111, meaning that no prismatic grids are generated in this region.

[0098] 5. Sharp-smooth elbow

[0099] Figures 11A to 11C shows applying the method according to the embodiment to a pair of opposite, adjacent grid surfaces for forming a sharp - smooth elbow, and Figure 11D is a schematic illustration of the result of applying the method in Figures 11A to 11C . In Figures 11A to 11CIn each of the figures, a pair of adjacent and opposite grid surfaces 120, 121 in the sharp-smooth elbow 122 are shown. This is the case where the first grid surface 120 has two sharp 90° bends 125a, 125b and the second grid surface 121 has two smooth >90° bends 126a, 126b. However, the pipe 122 still has a locally varying diameter in the regions of the sharp bends 125a, 125b and the smooth bends 126a, 126b, and is continuous along its length as shown and has no breaks. Again, a source point S for exploring the region is selected based on the grid vertices that define the double-sharp bend region itself.

[0100] Figure 11A The grid vertex 117b on the second grid surface 121 is shown as being selected as the first source point S1. The first surface normal N i intersects the first grid surface 120 at an angle with respect to the grid face 124b adjacent to the grid vertex 123c to form the target point T 0 10 . However, S1→T 0 10 is unstable with respect to the shortest source point-target point distance and thus depends on the inherent alignment property caused by the closest point projection within the cone created by projecting the ray r i along the first surface normal N 1i . The intersection point moves to the second target point T 1 10 , where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i since S1→T 1 10 is stable with respect to the shortest source point-target point distance. The alignment effect is a result of using the concept of closest point finding in the method 600 and thus does not require providing specific hard coding. The final projection will be S1→T 0 10 . The second source point 2 is the grid vertex 128c on the second grid surface 121. For the first surface normal N i , it intersects the first grid surface 90 at an angle with respect to the grid face 124d adjacent to the grid vertex 123d to form the target point T 0 20 . However, S2→T 0 20 is unstable with respect to the shortest source point-target point distance and thus depends on the inherent alignment property caused by the closest point projection within the cone created by projecting the ray r i along the first surface normal N 2idue to the inherent alignment property caused by the projection of the nearest point within the created cone. The intersection point moves to the second target point T 1 20 , where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i because S2→T 1 20 is stable with respect to the shortest source-to-target distance. The alignment effect is the result of using the concept of nearest point search in method 600 and thus does not require providing specific hard coding. The final projection will be S2→T 1 20 .

[0101] Figure 11B shows the second source point S3 selected at the grid vertex 123c on the first grid surface 120 of the bend. For the first surface normal N i , which does not intersect the second surface mesh 121. For the second surface normal N ii , it intersects the second grid surface 121 at an angle with respect to the grid face 128b adjacent to the grid vertex 123c to form the target point T 0 30 . However, S3→T 0 30 is unstable with respect to the shortest source-to-target distance and thus relies on the inherent alignment property caused by the projection of the nearest point within the cone created by projecting the ray r ii along the second surface normal N 3i . The intersection point moves to the second target point T 1 30 , where the superscript "1" indicates that this is the new target point within the original cone based on the second surface normal N ii because S3→T 1 30 is stable with respect to the shortest source-to-target distance. The alignment effect is the result of using the concept of nearest point search in method 600 and thus does not require providing specific hard coding. The final projection will be S3→T 1 30 .

[0102] Figure 11C shows the resulting surface normals, and Figure 11D shows the resulting grid structure, where it has been determined that the locally non-thin regions are located within the region of the sharp bend of the first grid surface 120 and the region of the smooth bend of the second grid surface 121, meaning that no prismatic meshes are generated in this region.

[0103] 6. Smooth-smooth bend

[0104] Figures 12A to 12B shows a pair of opposing, adjacent mesh surfaces to which the method according to an embodiment is applied to form a smooth-smooth elbow, and Figure 12C is a schematic illustration of the result of applying the method in Figures 12A to 12B . In each of the figures of Figures 12A to 12B , a pair of adjacent, opposing mesh surfaces 130, 131 in a smooth-smooth elbow 132 are shown. This is the case where the first mesh surface 130 has two smooth bends 135a, 135b and the second mesh surface 131 has two smooth bends 136a, 136b. However, the pipe 132 still has a locally varying diameter in the regions of the sharp bends 135a, 135b and the smooth bends 136a, 136b, and is continuous along its length as shown and has no breaks. Again, source points S for exploring the region are selected based on the mesh vertices that define the double-sharp bend region itself.

[0105] Figure 12A shows the selection of a mesh vertex 137b on the second mesh surface 131 as the first source point S1. The first surface normal N i intersects the first mesh surface 130 at an angle with respect to the mesh face 134a adjacent to the mesh vertex 133b to form a target point T 0 10 . However, S1→T 0 10 is unstable with respect to the shortest source point-target point distance and thus depends on the inherent alignment property caused by the projection of the nearest point within the cone created by projecting the ray r i along the first surface normal N 1i . The intersection point moves to a second target point T 1 10 , where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i because S1→T 1 10 is stable with respect to the shortest source point-target point distance. The alignment effect is the result of using the concept of nearest point finding in the method 600 and thus does not require providing specific hard coding. The final projection will be S1→T 1 10 . A second source point S2 is selected as the mesh vertex 137c on the second mesh surface 131. The first surface normal N i intersects the first mesh surface 130 at an angle with respect to the mesh face 133b adjacent to the mesh vertex 132c to form a target point T 0 20 . However, S2→T0 20 is unstable with respect to the shortest source - target distance and thus depends on the inherent alignment properties caused by the nearest - point projection within the cone created by projecting the ray r i along the first surface normal N 2i The intersection point moves to the second target point T 1 20 where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i since S2→T 1 20 is stable with respect to the shortest source - target distance. The alignment effect is the result of using the concept of nearest - point finding in method 600 and thus does not require providing specific hard - coding. The final projection will be S2→T 1 21 . It can also be seen that at this point, the vector T 1 10 is equal to the third source point S3

[0106] Figure 12B shows the selection of the mesh vertex 133b on the first mesh surface 130 as the third source point S3, and the first surface normal N i intersects the second mesh surface 131 at an angle with respect to the mesh face 138b adjacent to the mesh vertex 133b to form the target point T 0 30 . However, S3→T 0 30 is unstable with respect to the shortest source - target distance and thus depends on the inherent alignment properties caused by the nearest - point projection within the cone created by projecting the ray r i along the first surface normal N 3i The intersection point moves to the second target point T 1 30 where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i since S3→T 1 30 is stable with respect to the shortest source - target distance. The alignment effect is the result of using the concept of nearest - point finding in method 600 and thus does not require providing specific hard - coding. The final projection will be S3→T 1 30 . Finally, the fourth source point S4 is selected as the mesh vertex 133c on the first mesh surface 130. The first surface normal N iIntersects the second mesh surface 131 at an angle with respect to the mesh face 138c adjacent to the mesh vertex 137b to form the target point T 0 40 However, S4 → T 0 40 is unstable with respect to the shortest source - target point distance and thus relies on the inherent alignment property caused by the projection of the nearest point within the cone created by projecting the ray r along the first surface normal N i the projection ray r 4i The intersection point moves to the second target point T 1 40 , where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i because S4 → T 1 40 is stable with respect to the shortest source - target point distance. The alignment effect is the result of using the concept of nearest - point finding in method 600 and thus does not require providing specific hard - coding. The final projection will be S4 → T 1 40 .

[0107] Figure 12C Shows the resulting mesh structure, where it has been determined that the locally thin regions are located within the region of the smooth bend between the first mesh surface 130 and the second mesh surface 131, meaning that prismatic meshes are generated in this region.

[0108] 7. Smooth-smooth bend (offset at the bottom)

[0109] Figures 13A to 13B Shows the application of the method according to an embodiment to a pair of opposite, adjacent mesh surfaces forming a smooth - smooth elbow, where one of the mesh surfaces is offset with respect to the other mesh surface, and Figure 13C is a schematic illustration of the result of applying the method in Figures 13A to 13B . In each of the diagrams of Figures 13A to 13B , a pair of adjacent, opposite mesh surfaces 140, 141 in the smooth - smooth elbow 142 with an offset bottom are shown. This is the case where the first mesh surface 140 has two smooth bends 145a, 145b and the second mesh surface 141 has two smooth bends 146a, 146b, but the two mesh surfaces are offset with respect to each other. However, the pipe 142 still has a locally varying diameter in the regions of the sharp bends 145a, 145b and the smooth bends 146a, 146b and is continuous along its length as shown without breaks. Again, source points S for exploring the region are selected based on the mesh vertices defining the double - sharp bend region itself.

[0110] Figure 13A shows selecting the mesh vertex 147b on the second mesh surface 141 as the first source point S1. The first surface normal N i intersects the first mesh surface 140 at an angle relative to the mesh face 144c adjacent to the mesh vertex 143b to form the target point T 0 10 . However, S1→T 0 10 is unstable with respect to the shortest source - target point distance and thus relies on the inherent alignment property caused by the closest - point projection within the cone created by projecting the ray r i along the first surface normal N 1i . The intersection point moves to the second target point T 1 10 , where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i because S1→T 1 10 is stable with respect to the shortest source - target point distance. The alignment effect is the result of using the concept of closest - point finding in method 600 and thus does not require providing specific hard - coding. The final projection will be S1→T 1 10 . The second source point S2 is selected as the mesh vertex 147c on the second mesh surface 141. The first surface normal N i intersects the first mesh surface 140 at an angle relative to the mesh face 144c adjacent to the mesh vertex 143d to form the target point T 0 20 . However, S2→T 0 20 is unstable with respect to the shortest source - target point distance and thus relies on the inherent alignment property caused by the closest - point projection within the cone created by projecting the ray r i along the first surface normal N 2i . The intersection point moves to the second target point T 1 20 , where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i because S2→T 1 20 is stable with respect to the shortest source - target point distance. The alignment effect is the result of using the concept of closest - point finding in method 600 and thus does not require providing specific hard - coding. The final projection will be S2→T 1 21 .

[0111] Figure 13B shows selecting the grid vertex 143b on the first grid surface 140 as the third source point S3, with the first surface normal N i intersecting the second grid surface 141 at an angle with respect to the grid face 148b adjacent to the grid vertex 147b to form the target point T 0 30 . However, S3→T 0 30 is unstable with respect to the shortest source - target point distance and thus relies on the inherent alignment property caused by the closest - point projection within the cone created by projecting the ray r i along the first surface normal N 3i . The intersection point moves to the second target point T 1 30 , where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i since S3→T 1 30 is stable with respect to the shortest source - target point distance. The alignment effect is the result of using the concept of closest - point finding in method 600 and thus does not require providing specific hard - coding. The final projection will be S3→T 1 30 . Finally, the fourth source point S4 is selected as the grid vertex 143c on the first grid surface 140. The first surface normal N i intersects the second grid surface 131 at an angle with respect to the grid face 148c adjacent to the grid vertex 147b to form the target point T 0 40 . However, S4→T 0 40 is unstable with respect to the shortest source - target point distance and thus relies on the inherent alignment property caused by the closest - point projection within the cone created by projecting the ray r i along the first surface normal N 4i . The intersection point moves to the second target point T 1 40 , where the superscript "1" indicates that this is the new target point within the original cone based on the first surface normal N i since S4→T 1 40 is stable with respect to the shortest source - target point distance. The alignment effect is the result of using the concept of closest - point finding in method 600 and thus does not require providing specific hard - coding. The final projection will be S4→T 1 40 .

[0112] Figure 13CThe resulting mesh structure is shown, where areas that have been determined to be locally thin are located within the regions of the smooth bends of the first mesh surface 140 and the second mesh surface 141, meaning that prismatic meshes are generated in these regions.

[0113] 8. Converging-diverging surface

[0114] Figure 14A and Figure 14B shows the influence of the angle on the converging-diverging surface and on identifying whether the mesh is locally thin. Figure 14A The first mesh surface 150 and the second mesh surface 151 that diverge from each other are shown, and the vertex S2 in the first mesh surface 150 and the vertex S1 in the second mesh surface 151 are positioned opposite each other at the point of maximum divergence between the first mesh surface 150 and the second mesh surface 151. The vertex face normals N i , N ii between the faces 152, 153 on both sides of the vertex S1 are large, such that the projection from S1 tends to diverge with respect to S2. As Figure 14B shown, this produces cavities in the prismatic mesh.

[0115] Figure 14C The first mesh surface 150 and the second mesh surface 151 that diverge from each other are shown, and the vertex S2 in the first mesh surface 150 and the vertex S1 in the second mesh surface 151 are positioned opposite each other at the point of maximum divergence between the first mesh surface 150 and the second mesh surface 151. The vertex face normals N i , N ii between them are less than the angle in Figure 14A , such that only one normal direction N i is associated with each of S2 and S1, thus allowing alignment to the nearest vertex of the opposite mesh surface. Since T 2 10 is equal to S1 such that so a prismatic mesh is generated, as Figure 14D shown.

[0116] 9. Very sharp corner

[0117] There are real-world cases presenting sequences of nested geometric structures that contain mirror-image acute angles. Figures 15A to 15D These cases are shown in Figure 15A which show opposite mesh surfaces with mirror-image acute angles. Figure 15A shows two opposite mesh surfaces, including an outer mesh surface 160 and an inner mesh surface 161 having acute angles 162, 163 respectively. This produces as Figure 15AThe "V"-shaped duct shown is projected in four directions from a first source point S1 located at the vertex of the "V" shape at the point forming the outer grid surface 160, based on two vertex subsets of each adjacent grid face 164, 165. These surface normals N in None of each of the surface normals intersects the opposing grid surface 161. However, taking the second source point S2 as the vertex of the point forming the "V" shape in the inner grid surface 161, it can be seen that, as Figure 15B shown, for the four surface normals N in generated from two adjacent grid faces 166, 167, four intersection points are obtained. In Figure 15C , the intersection point T 0 20 among these intersection points is unstable and is thus aligned to a new intersection point T 1 20 , and the intersection point T 0 21 is also unstable and is thus aligned to a new intersection point T 1 21 . T 1 20 and T 1 21 are equal to each other, resulting in two of the four projections being actually redundant, and as Figure 15D shown, the locally non-thin region is determined to be in the region of the "V"-shaped duct at the tip forming the "V" shape.

[0118] The above-described embodiments for performing the proximity search have several advantages over existing systems. These advantages include the ability to perform multi-directional proximity searches and automatic thin-region prismatic mesh generation. For multi-directional proximity searches, the above-described embodiments enable exploration of the space near a given source location to find any other neighboring surfaces, which in turn can be used to solve a series of proximity problems in mesh generation. The automatic generation of prismatic meshes provides a means for generating pairings from source to target, and the pairings from source to target can be used for volume discretization in thin regions of arbitrary geometry by prismatic or hexahedral elements. This allows subsequent modeling of the behavior of the article or the manufacture of the article incorporating the resulting mesh to be more accurate and realistic than other possible cases.

[0119] Figure 16An example of a data processing system in which embodiments of the present disclosure may be implemented is shown, such as a CAD system configured to execute the processes described in the present application. The data processing system 170 includes a processor 171 connected to a local system bus 172. The local system bus connects the processor to a main memory 173 and a graphics display adapter 174, and the display adapter may be connected to a display 175. The data processing system may communicate with other systems via a wireless user interface adapter connected to the local system bus 172 or via a wired network, such as a local area network connection. Additional memory 176 may also be connected via the local system bus. Suitable adapters (such as a wireless user interface adapter 177) for other peripheral devices (such as a keyboard 178 and a mouse 179 or other pointing devices) allow a user to provide input to the data processing system. Other peripheral devices may include one or more I / O controllers, such as a USB controller, a Bluetooth controller, and / or a dedicated audio controller (connected to speakers and / or microphones). It is also understood that various peripheral devices may be connected to the USB controller (via various USB ports), and these peripheral devices include input devices (such as a keyboard, a mouse, a touch screen, a trackball, a camera, a microphone, a scanner), output devices (such as a printer, speakers), or any other type of device operable to provide input to or receive output from the data processing system. It is further understood that many devices referred to as input devices or output devices may both provide input for communicating with the data processing system and receive output for communicating with the data processing system. It is also understood that other peripheral hardware connected to the I / O controller may include any type of device, machine, or component configured to communicate with the data processing system.

[0120] The operating system included in the data processing system enables output from the system to be displayed to the user on the display 175 and enables the user to interact with the system. Examples of operating systems that may be used in the data processing system may include Microsoft Windows TM , Linux TM , UNIX TM , iOS TM and Android TM operating systems.

[0121] It is further understood that the data processing system 170 may be implemented as a networked environment, a distributed system environment, a virtual machine in a virtual machine architecture, and / or a cloud environment. For example, the processor 171 and associated components may correspond to virtual machines executing in a virtual machine environment of one or more servers. Examples of virtual machine architectures include VMware ESCi, Microsoft Hyper-V, Xen, and KVM.

[0122] One of ordinary skill in the art will appreciate that the hardware described with respect to data processing system 170 may vary for a particular implementation. For example, the data processing system 170 in this example may correspond to a computer, a workstation, and / or a server. However, it will be understood that alternative embodiments of a data processing system may be configured with corresponding or alternative components, such as in the form of a mobile phone, a tablet computer, a controller board, or any other system that is operable to process data and perform functions and features associated with the operation of the data processing systems, computers, processors, and / or controllers described in this application. The examples described are provided for illustrative purposes only and are not meant to imply architectural limitations with respect to the present disclosure.

[0123] Data processing system 170 may be connected to a network (not part of data processing system 170), which may be any public or private data processing system network or combination of networks known to those of skill in the art, including the Internet. Data processing system 170 may communicate via the network with one or more other data processing systems, such as servers (also not part of data processing system 170). However, alternative data processing systems may correspond to multiple data processing systems implemented as part of a distributed system, where processors associated with several data processing systems may be in communication via one or more network connections and may collectively perform tasks described as being performed by a single data processing system. Thus, it should be understood that when referring to a data processing system, such a system may be implemented across several data processing systems organized in a distributed system that communicate with one another via a network.

Claims

1. A computer-implemented method for generating a volume mesh between two adjacent, non-intersecting, and opposing mesh surfaces of a three-dimensional object in a modeling system, the modeling system being configured to render an image of an object including the meshed surfaces for a user, the method comprising: a) Selecting a source point S located on one of the two mesh surfaces; b) Projecting a volume centered at the source point S along an axis corresponding to the surface normal N at the source point S; If the projected volume meets the opposing mesh surface within a distance determined by the value of the ratio t / LS along its axis, where LS is the local mesh size at the source point S and t is the distance between the two mesh surfaces at the source point S, then: c) Determining, within a region, the closest intersection point T on the opposing mesh surface to the source point S; And d) Generating a first volume mesh between the two adjacent and opposing mesh surfaces using the closest intersection point T and the source point S as vertices; And If the projected volume does not meet the opposing mesh surface within the distance determined by the value of the ratio t / LS along its axis, then: e) Generating a second volume mesh with a different topology between the two adjacent and opposing mesh surfaces.

2. The method according to claim 1, wherein The first volume mesh is a prismatic volume mesh, and wherein the second volume mesh is an isotropic volume mesh.

3. The method according to claim 1, wherein The source point S is located at a vertex of the mesh surface.

4. The method according to claim 3, further comprising: Repeating steps a) to e) for all other vertices of the mesh surface.

5. The method according to claim 3, wherein The volume is a cone having an apex at the source point S, wherein the cone is generated by projecting a ray along the surface normal N at the source point S and generating an apex angle α as a function of the local mesh size.

6. The method according to claim 5, wherein Step c) includes: Project the ray k times such that the closest intersection point T is the initial closest intersection point T 0 or the new intersection point T k where the new intersection point T k is closer to the source point S than the initial closest intersection point T 0 and is obtained on the k-th ray projection to explore the opposing grid surfaces within the cone.

7. The method according to claim 3, wherein The vertex is located where the direction of the mesh surface changes.

8. The method according to claim 1, wherein If the closest intersection point T on the opposing mesh surface is within a predetermined threshold distance of an adjacent mesh edge or vertex of the opposing mesh surface, then moving the closest intersection point T to the adjacent mesh edge or vertex.

9. The method according to claim 3, wherein When the source point S is surrounded by n mesh vertices, the method further comprises: Select each vertex as the source point S in turn n ; and For each source point S n Repeat steps a) to d) to determine the closest intersection point T n .

10. The method according to claim 3, wherein, Giving the magnitude of the vector ‖T - S‖ within a given tolerance of the mesh size by the value of the ratio t / LS, where LS is the local mesh size at the source point S and t is the distance between the two mesh surfaces at the source point S.

11. The method according to claim 3, wherein, The projected volume is a cylinder.

12. The method according to claim 1, wherein, The source point S is located on a mesh edge or within a mesh face.

13. A data processing system adapted to generate a volume mesh between two adjacent, non-intersecting, and opposing mesh surfaces of a three-dimensional object in a modeling system, the data processing system comprising: A processor adapted to: Select a source point S located on one of the two mesh surfaces; Project a volume centered at the source point S along an axis corresponding to the surface normal N at the source point S; If the projected volume meets the opposite grid surface within a distance determined by the value of the ratio t / LS along its axis, where LS is the local grid size at the source point S and t is the distance between the two grid surfaces at the source point S, then: In a region, determine the intersection point T closest to the source point S on the opposite grid surfaces; And Using the closest intersection point T and the source point S as vertices, generate a first volume grid between the two adjacent and opposite grid surfaces; And If the projected volume does not meet the opposite grid surface within a distance determined by the value of the ratio t / LS along its axis, then: Generate a second volume grid with a different topology between the two adjacent and opposite grid surfaces; and A display adapted to display a rendered image of an object including a meshed surface to a user.

14. The data processing system according to claim 13, wherein, The first volume grid is a prismatic volume grid, and Wherein, the second volume grid is an isotropic volume grid.

15. A computer program product comprising instructions which, when executed by a computer, cause the computer to perform the steps of the method according to any one of claims 1 to 12.