Patent Publication Number: US-7222057-B2

Title: Topology modeler

Description:
TECHNICAL FIELD OF THE INVENTION 
     This invention relates generally to computer-aided modeling and more particularly to a topology modeler. 
     BACKGROUND OF THE INVENTION 
     Mechanical devices having associated features are frequently designed using Finite Element Analysis (“FEA”) software applications. For example, a hood of an automobile formed from a piece of sheet metal may be modeled by a FEA software application. To model the forming of a material into a particular shape, the FEA application may generate a mesh that models the material in its initial state. Then the FEA application incrementally determines the displacement of each element of the mesh based on certain boundary conditions until a resulting mesh models the desired shape of the material. 
     A feature associated with the device, such as an air intake vent positioned over the hood, may be modeled by incorporating the shape of the feature into the FEA process. Because modeling a feature as a part of the mesh requires a more complex mesh having more elements, such a modeling adds complexity to the FEA process. 
     SUMMARY OF THE INVENTION 
     According to one embodiment of the invention, a method for modeling a feature associated with a deformed material is provided. The method includes generating a first mesh model modeling a material in a pre-deformation configuration. The method also includes defining a model of the feature with respect to the first mesh model. The model comprises a plurality of points. The method also includes generating, by performing a finite element analysis, a second mesh model modeling the material in a deformed configuration. The method also includes modeling the response of the feature to the deformation of the material modeled by the second mesh model. The act of modeling the response includes measuring a distance between at least one of the plurality of points and a surface point of the first mesh model along a vector that is normal to the surface of the first mesh model. The vector that is normal to the surface of the first mesh model also intersects the at least one of the plurality of points and the surface point. The act of modeling the response also includes determining the location of the surface point. The act of modeling the response also includes locating the same surface point on the second mesh model as the surface point on the first mesh model. The act of modeling the response also includes determining a new location for a new point corresponding to the at least one of the plurality of points. The new location located at the measured distance away from the same surface point of the second mesh model along a vector that is normal to the second mesh model. The vector that is normal to the second mesh model intersects the same surface point on the second mesh model. 
     Some embodiments of the invention provide numerous technical advantages. Some embodiments may benefit from some, none, or all of these advantages. For example, according to one embodiment, a model of the feature with respect to the deformed material may be generated without complicating the FEA process, which reduces the required computing power and time for performing the FEA. According to another embodiment, a user may select other features having different shapes to place on the deformed material without using the FEA process. 
     Other technical advantages may be readily ascertained by one of skill in the art. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Reference is now made to the following description taken in conjunction with the accompanying drawings, wherein like reference numbers represent like parts, in which: 
         FIG. 1A  is a schematic diagram illustrating an embodiment of a computer system operable to perform a method of finite element analysis according to one embodiment of the present invention; 
         FIG. 1B  is a block diagram illustrating an embodiment of a computer shown in  FIG. 1A ; 
         FIG. 2A  is a schematic diagram illustrating an embodiment of a model of a feature on a mesh that may be used in a method of finite element analysis; 
         FIG. 2B  is a schematic diagram illustrating an embodiment of a model of a feature on a mesh resulting from performing the method of finite element analysis; 
         FIG. 3A  is a flowchart illustrating an embodiment of a method of modeling a feature with respect to the mesh modeling a deformed material, as shown in  FIG. 2B ; 
         FIG. 3B  is a schematic diagram graphically illustrating an embodiment of the method of  FIG. 3A ; and 
         FIG. 3C  is a schematic diagram illustrating an embodiment of a system for locating a surface point shown in  FIG. 3B . 
     
    
    
     DETAILED DESCRIPTION OF EXAMPLE EMBODIMENTS OF THE INVENTION 
     Embodiments of the invention are best understood by referring to  FIGS. 1A through 3C  of the drawings, like numerals being used for like and corresponding parts of the various drawings. 
       FIG. 1A  is a schematic diagram illustrating an embodiment of a computer system  10  for performing finite element analysis (“FEA”) that may benefit from the teachings of the present invention. System  10  includes a computer  14  that is coupled to one or more input devices  18  and one or more output devices  20 . A user  24  has access to system  10  and may utilize input devices  18  to input data and generate and edit a drawing  28  that may be displayed by any or all of output devices  20 . 
     As shown in  FIG. 1A , examples of input device  18  are a keyboard and a mouse; however, input device  18  may take other forms, including a stylus, a scanner, or any combination thereof. Examples of output devices  20  are a monitor of any type and a printer; however, output device  16  may take other forms, including a plotter. Any suitable visual display unit, such as a liquid crystal display (“LCD”) or cathode ray tube (“CRT”) display, that allows user  24  to view drawing  28 , may be a suitable output device  20 . 
       FIG. 1B  is a block diagram of computer  14  for use in performing FEA according to one embodiment of the present invention. As illustrated, computer  14  includes a processor  30  and a memory  34  storing a FEA software program  38 . Computer  14  also includes one or more data storage units  40  for storing data related to FEA software program  38  or other data. 
     Processor  30  is coupled to memory  34  and data storage unit  40 . Processor  30  is operable to execute the logic of FEA software program  38  and access data storage unit  40  to retrieve or store data relating to drawings. Examples of processor  30  are the Pentium™ series processors, available from Intel Corporation. 
     Memory  34  and data storage unit  40  may comprise files, stacks, databases, or other suitable forms of data. Memory  34  and data storage unit  40  may be random-access memory, read-only memory, CD-ROM, removable memory devices, or any other suitable devices that allow storage and/or retrieval of data. Memory  34  and data storage unit  40  may be interchangeable and may perform the same functions. 
     FEA software program  38  is a computer program that allows user  18  to model a device through FEA using computer  14 . PEA software program  38  may be a part of a drawing application, such as a Computer-Aided Drafting (“CAD”) package, or exist as an independent computer application. PEA software program  38  may include a function for modeling the topology of the device. The topology modeling function may exist as a separate application. “Topology” refers to the variation of the shape of a device due to its associated features. A “feature” refers to any structures and voids that are aligned with any portion of the device. A feature may be on or off of the surface of the device. A feature may also be inside of the device. In some instances, FEA software program may by operable to model the topology of the device as well as the device itself through the process of FEA. However, the topology function may be served by a separate application that is bundled with FEA software program  38 . 
     FEA software program  38  may reside in any storage medium, such as memory  34  or data storage unit  40 . FEA software program  38  may be written in any suitable computer language, including C or C++. FEA software program  38  is operable to allow user  18  to input boundary conditions, such as an initial position of a curve and a final position of a curve, so that a resulting predicted shape may be displayed on output device  20  and/or stored in data storage unit  40 . An example FEA software program  38  that may incorporate the teachings of the invention is Region Analyzer™, available from Unigraphics Solutions, Inc. 
       FIGS. 2A and 2B  graphically illustrate the forming of a material used to form a device that has an associated feature. An example of a forming process includes stamping a hood of an automobile out of a material such as sheet metal. The hood of the automobile may have an associated feature overlying the hood, such as an air intake that increases the flow of air into the combustion chamber of the engine. However, a feature may have other shapes and sizes. 
     A mesh  50 A shown in  FIG. 2A  is an embodiment of a model of the material prior to the forming operation. A model  60 A is a model of a feature that is on the material prior to the forming operation. Mesh  50 A comprises a plurality of elements  58 A. Element  58 A may have a simply shaped geometry, such as a triangle, quadrilateral, or other polygons. Although only quadrilaterals are shown in mesh  50 A of  FIG. 2A , any polygon or a combination of polygons may be used to form mesh  50 A to model a particular geometry of the material. In the embodiment shown in  FIG. 2A , mesh  50 A has four corners  52  and a center  53 ; however, depending on the geometry of a mesh, there may be more or less corners  52 . One or more boundary conditions may be imposed on mesh  50 A to appropriately displace portions of mesh  50 A so that mesh  50 A models the displacement of the material. Mesh  50 A may be generated by a FEA software program or an associated mesh generator (not explicitly shown). Model  60 A may be generated by the FEA software program or any other application operable to generate a model of a feature, such as model  60 A. 
     Referring to  FIG. 2B , mesh  50 B illustrates the shape that results from enforcing a set of boundary conditions that operate to fix four corners  52  of mesh  50 A and displacing center  53  of mesh  50 A in an upward direction. Mesh  50 B may be generated by a FEA software program or an associated mesh generator (not explicitly shown). Although only center  53  is displaced upwards, that displacement results in the displacement of the surface of the material that surrounds center  53  as well as the edges of the material. Thus, elements  58 A, which initially represented the areas that surround center  53 , are also individually displaced. The displaced elements  58 A are illustrated as elements  58 B on mesh  50 B, where each element  58 B corresponds to a particular element  58 A. These displacements are reactions to the movement of center  53  while fixing corners  52 . Although elements  58 A and  58 B are depicted as separate elements, each of elements  58 A and its corresponding one of elements  58 B represents the same corresponding portion of the feature. 
     Different materials may experience different type and level of displacements. For example, rubber may experience a more drastic displacement in its edges and the surrounding areas of a particular region that is moved because rubber has a higher degree of elasticity. Furthermore, different boundary conditions may be imposed so that different restrictions and movements may be imposed on mesh  50 A. Applying a different set of boundary conditions would result in a final mesh having a different shape than that of mesh  50 B shown in  FIG. 2B . 
     Because the material has been displaced, as shown by mesh  50 B, the feature is also displaced in response to the displacement of mesh  50 B. The displaced feature is modeled by a model  60 B. Model  60 B may be generated by the FEA software program or any other application operable to generate a model of a feature, such as model  60 B. 
     To model the resulting shape of the feature after the forming of the material, a conventional modeling method may model the feature as a part of the FEA process. Such a modeling process complicates an already complicated FEA process that requires repeated calculations of a myriad of equations. Thus, the required computing power and time increases. Additionally, modeling a feature as a part of a FEA process limits a user&#39;s ability to select other features having different shapes to place on the deformed material because the entire process of FEA may have to be repeated for each selection. 
     According to some embodiments of the present invention, a method, an apparatus, and a system are provided for modeling a feature by using the respective normal distances between the points of the feature and the initial mesh to model the feature relative to the final mesh. This is advantageous because a feature may be modeled relative to the formed material without increasing the computing power and time that may be required to perform a more complicated FEA. In some embodiments of the invention, a user may select other features having different shapes to place on the deformed material without using the FEA process. Additional details of example embodiments of the system and method are described in greater detail below in conjunction with  FIGS. 3A through 3C . 
       FIG. 3A  is a flowchart illustrating one embodiment of a method  100  of modeling the shape of a feature with respect to a mesh model. An embodiment of method  100  is described in conjunction with  FIG. 3B , which is a schematic diagram graphically illustrating an embodiment of method  100 . Method  100  starts at step  104 . At step  108 , a point  130  that models a portion of the feature is selected. In one embodiment, point  130  may represent a point that is positioned on a perimeter of the feature. However, any point that represents the shape of the feature prior to the displacement of the material may be selected. At step  110 , a normal distance  134  between selected point  130  and the surface of element  58 A is determined. A “normal distance” between a point and a surface refers to the distance between the point along the normal vector of a surface that intersects the point and a point on the surface. In the embodiment shown in  FIG. 3B , a normal vector  140  intersects with selected point  130 . Normal vector  140  is normal to element  58 A at a surface point  138 A that is located on element  58 A. Thus, normal distance  134 , referred to by letter “d” in  FIG. 3B , is the distance between selected point  130  and surface point  138 A along normal vector  140 . At step  114 , the location of surface point  138 A on element  58 A is determined. In one embodiment, a Bezier Patch may be applied on element  58 A as a system of determining the relative location of surface point  138 A; additional details of the Bezier Patch is provided below in conjunction with  FIG. 3C . 
     At step  118 , a surface point  138 B on the deformed element  58 B having the same relative location, relative to the deformed element  58 B, as the determined location of step  114  is located. Although  FIG. 3B  illustrates surface points  138 A and  138 B as separate points, surface points  138 A and  138 B represent a same, single point of a feature. As such, surface points  138 A and  138 B are the same surface point. Illustrating the same, single point as point  138 A and  138 B depicts the global displacement of element  58 A and points of the element  58 A due to the displacement of an entire mesh. Because surface points  138 A and  138 B represent the same, single point, the relative location, with regard to elements  58 A and  58 B, of the point within element  58 A and corresponding element  58 B stays the same. 
     At step  120 , a new point  150  is positioned along a normal vector  154  that intersects with surface point  138 B and away from surface point  138 B by the same determined normal distance  134 . Normal vector  154  is normal to the surface of element  58 B and intersects with both points  138 B and  150 . Method  100  stops at step  124 . 
     Modeling the features by offsetting a point by a normal distance determined from a previous model of the feature is advantageous because a model of the feature with respect to the deformed material may be generated without complicating the FEA process. This reduces the required computing power and time for performing the FEA. Additionally, in some embodiments, other features having different shapes may be modeled according to the deformed material without running the entire FEA for each selected feature shape. The FEA process does not have to be rerun because the feature modeling process is not tied into the FEA process. 
     In some embodiments, steps  108  through  120  may be repeated until the displaced shape of the entire feature is adequately modeled, as determined by one skilled in the art. For example, in modeling a curve of a feature, a set of points that outlines the curve may be determined. Then, for each point of the set, steps  108  through  120  may be performed. In another example, in modeling a surface of a feature, a set of curves may be sampled from the surface. Then, for each curve, a set of points that outlines the curve may be determined. Then, for each point of the set, steps  108  through  120  may be performed. 
       FIG. 3C  is a schematic diagram illustrating one embodiment of a point location system  62 . An element of a mesh may have a set of nodes  160 . Each node  160  is used to as a reference point for displacement of an element modeled by the FEA process. In one embodiment, element  58 A has twelve nodes  160 . However, more or less nodes  160  may be designated for each element  58 A of mesh  50 A. Using these nodes  160 , a Bezier Patch, such as a patch  62 A, may be applied to element  58 A. A “Bezier Patch” refers to a grid system that uses the designated nodes  160  as location references, where the position of any point on an element, such as surface points  138 A and  138 B, may be expressed relative to nodes  160 . For example, the lower left corner node  160  of element  58 A has a location value of [3] [0], as shown on patch  62 A. A location that is half way between location value [3] [0] and location value [3] [1] (which is the location that is depicted immediately to the right of location [3] [0]) has a location value of [3] [½]. 
     When element  58 A is converted to element  58 B by displacement, patch  62 A also displaces analogously, as shown by a patch  62 B. However, the location value of a particular position on either elements  58 A or  58 B does not change. For example, the lower left node  160  of element  58 B still has the location value of [3] [0]. 
     Referring again to  FIGS. 3A and 3B , in one embodiment, steps  114  and  118  of method  100  may be performed by using a relative location system, such as patch  62 . For example, at step  114 , point  138 A may be assigned a location value of [2] [1] according to patch  62 A of element  58 A. Then at step  118 , the same point  138 B may be located on element  58 B by using patch  62 B and the location value of [2] [1]. 
     Although the present invention has been described in detail, it should be understood that various changes, substitutions, and alterations can be made hereto without departing from the spirit and scope of the invention as defined by the appended claims.