Abstract:
Methods, systems, and computer readable media are disclosed for analyzing a simulation model. The method includes defining the simulation model utilizing a Computer-Aided Engineering (CAE) tool. A parametric volume including mesh elements at least partially bounding a design object of the simulation model is formed. The parametric volume includes at least one T-spline control point. The method also includes adjusting at least one control point on the parametric volume to deform a portion of the simulation model correlated to the control point. The deformed simulation model is simulated to develop a simulation result. The control point adjusting and the simulating may be repeated.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60/877,417 filed Dec. 27, 2006 for SYSTEM AND METHOD, FOR PRODUCT DESIGN USING DIGITAL SIMULATION BASED UPON DEFORMATION OF THE SIMULATION MODEL USING T-SPLINE BASED DEFORMATION, the disclosure of which is incorporated by reference herein in its entirety. 
     
    
     TECHNICAL FIELD 
       [0002]    Embodiments of the present invention relate generally to methods for analyzing and designing products, and more specifically for analyzing and adjusting simulation models of product designs. 
       BACKGROUND 
       [0003]    Today, engineers often model designs using Computer-Aided Design (CAD) tools and simulations to develop product without having to actually build the product until the engineers have thoroughly analyzed the design.  FIG. 1  illustrates a conventional product design process  10 . 
         [0004]    As part of the design process, a CAD model is created  12 . When a design model is ready to analyze, a digital simulation model (also known as a Computer Aided Engineering (CAE) model) such as Finite Element Analysis (FEA) or Computational Fluid Dynamics (CFD) may be created  14 . The CAE model is simulated  16  (i.e., solved) to predict certain behaviors or performance aspects of the design. The performance of the design may be assessed  20  based on the simulation of the CAE model. Decision block  22  indicates whether the design is acceptable based on the assessment of the simulation results. If the design is acceptable, the design process may terminate. If, however, the design needs more refinement, design parameters are modified  24  and the design process begins again by creating a new or modified CAD model. This process of designing, modeling, creating analysis models and assessing the analysis results may be repeated many times until the desired performance of the design is achieved. 
         [0005]    One difficult portion of this process is the conversion of the design or CAD model into a CAE model or a “mesh.” CAD and CAE models are fundamentally based on entirely different geometric models. CAD models include precise surface representations of the boundaries of the design model. CAE models are created from polygonal building blocks, such as triangles, squares, tetrahedrons, and hexahedrons in three dimensions. Creation of a CAE model or mesh from a CAD model is often a laborious, hands-on process. As a result, currently it may often take hours or days to create an accurate CAE model. Additionally, for each design change, no matter how small, the CAE model has to be completely recreated. 
         [0006]    Another less obvious problem with the process is that the ability to modify the CAE model is restricted by the parameters associated with the CAD model. As the engineer comes to better understand the weaknesses of his original design, he may want to change the shape of the model in a way that the original CAD model will not allow. 
         [0007]    Free-Form Deformation (FFD) has become an important tool in computer graphics for deforming and changing the shape of objects for character animation and other visual effects in computer graphics. In FFD, the computer graphics object is embedded in a parametric space.  FIG. 2  illustrates a computer graphics shape  50  in a parametric space  60 . Points on the object are embedded by calculating their parametric coordinates inside that parametric space. The shape of the parametric space may then be changed, as illustrated in  FIG. 2 . As the parametric shape  60 ′ is changed, the mapping from parametric space to Cartesian space is changed so that the computer graphics object  50 ′ is deformed in a corresponding relationship with the parametric space. An FFD is characterized by a grid of control points that define the parametric space. Using FFD may be considered analogous to a sculptor molding clay. As the control points are pushed and pulled in different directions, the model is deformed in a manner similar to how a sculptor molds a clay model by pushing and pulling on points of the surface of the clay model. 
         [0008]    A description of FFD is found in Sederberg, T. W. and Parry, S R., “Free-form Deformation of Solid Geometric Models,” Computer Graphics: Proceedings of SIGGRAPH 86, vol. 20, no. 4, pp. 151-159 (August 1986), which is incorporated herein by reference. A further description is found in U.S. Pat. No. 4,821,214 issued to Sederberg, T. W. on Apr. 11, 1989, which is also incorporated by reference herein. 
         [0009]    There is a need for new ways to perform product design using CAD and CAE models in combination with FFD. Additionally, there is a need to enhance the FFD process to be more applicable to product design, reduce database requirement, and enable design modifications at a broad range of detail. 
       BRIEF SUMMARY OF THE INVENTION 
       [0010]    Embodiments of the present invention provide systems, methods, and computer readable media for performing product design and analysis. The new methods of product design use CAD and CAE models in combination with FFD. Additionally, the FFD process uses T-spline meshes to reduce database requirement, increase design flexibility and enable design modifications at a broad range of detail. 
         [0011]    An embodiment of the invention includes a method for analyzing a simulation model. The method includes defining the simulation model utilizing a Computer-Aided Engineering (CAE) tool. A parametric volume including control points that form a mesh to at least partially bounding a design object of the simulation model is formed. The parametric volume includes at least one T-spline control point. The method also includes adjusting at least one control point on the parametric volume to deform a portion of the simulation model correlated to the control point. The deformed simulation model is simulated to develop a simulation result. The control point adjusting and the simulating may be repeated. 
         [0012]    Another embodiment of the invention also includes a method for analyzing a simulation model. The method includes defining a simulation model utilizing a CAE tool. A parametric volume including control points that form a mesh to at least partially bounding a design object of the simulation model is formed. The parametric volume includes at least one T-spline control point. The method also includes repeatedly performing an analysis loop until a design objective is achieved. The analysis loop includes adjusting a control point on the parametric volume to deform a portion of the simulation model correlated to the control point, simulating the deformed simulation model to develop a simulation result, determining if the simulation results meet the design objective, and adding at least one additional control point to the parametric volume. 
         [0013]    Another embodiment of the invention includes a computing system. The computing system includes a display, memory, and at least one processor coupled to the display and memory. The computing system is configured to define a parametric volume at least partially bounding a Computer-Aided Engineering (CAE) model representing a design object. The parametric volume includes at least one T-junction. Control points are defined on the parametric volume. The computing system also determines a deformation of the CAE model responsive to an adjustment of the control points and performs a simulation of the CAE model to develop a simulation result. The computing system also repeats the acts of determining a deformation of the CAE model and performing the simulation. 
         [0014]    Yet another embodiment of the invention includes a computer readable media including computer executable instructions to be executed on a processor. When executing the computer instruction, the processor defines a simulation model and forms a T-spline control mesh at least partially bounding a design object of the simulation model. The T-spline control mesh includes at least one T-junction. The processor also adjusts at least one control point on the control mesh to deform a portion of the simulation model substantially near the control point and simulates the deformed simulation model to develop a simulation result. The processor also determines if the simulation results meet a design objective and repeats the control point adjusting and the simulating if the design objective is not achieved. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0015]    In the drawings, which illustrate embodiments of the invention: 
           [0016]      FIG. 1  is a flow chart illustrating a conventional product design methodology; 
           [0017]      FIG. 2  illustrates a FFD distortion of a computer graphics shape; 
           [0018]      FIG. 3  illustrates a Non-Uniform Rational B-Spline (NURBS) curve; 
           [0019]      FIG. 4  illustrates a control mesh for a NURBS surface in two-dimensions; 
           [0020]      FIG. 5  illustrates a T-spline control mesh for a surface in two-dimensions; 
           [0021]      FIG. 6  illustrates a T-spline control mesh for a three-dimensional volume; 
           [0022]      FIG. 7  is a simplified flow chart illustrating a product design process according to one or more embodiments of the present invention; 
           [0023]      FIG. 8  is a Graphical User Interface GUI window illustrating a CAE model and a T-spline control mesh; 
           [0024]      FIG. 9  is a GUI window illustrating the CAE model and T-spline control mesh of  FIG. 8  with a control point deforming a control surface; 
           [0025]      FIG. 10  illustrates a CAE model and T-spline control mesh; 
           [0026]      FIG. 11  illustrates the CAE model and T-spline control mesh of  FIG. 10  with a control point moved to deform the underlying CAE model; 
           [0027]      FIGS. 12A-12F  illustrate a process of defining a T-spline control mesh around a CAE model and deforming the CAE model; and 
           [0028]      FIG. 13  is a simplified block diagram of a computing system useful for performing embodiments of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0029]    In the following detailed description, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those of ordinary skill in the art to practice the invention. It should be understood, however, that the detailed description and the specific examples, while indicating examples of embodiments of the invention, are given by way of illustration only and not by way of limitation. From this disclosure, various substitutions, modifications, additions rearrangements, or combinations thereof within the scope of the present invention may be made and will become apparent to those skilled in the art. 
         [0030]    Software processes and analysis methods illustrated herein are intended to illustrate representative processes that may be performed by a general purpose or special purpose processing system. Unless specified otherwise, the order in which the process acts are described is not intended to be construed as a limitation, and acts described as occurring sequentially may occur in a different sequence, or in one or more parallel process streams. It will be appreciated by those of ordinary skill in the art that many steps and processes may occur in addition to those outlined in the flow charts. Furthermore, the processes may be implemented in any suitable hardware, software, firmware, or combinations thereof. 
         [0031]    When executed as firmware or software, the instructions for performing the processes may be stored on a computer-readable medium. A computer-readable medium includes, but is not limited to, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact disks), DVDs (digital versatile discs or digital video discs), and semiconductor devices such as RAM, DRAM, ROM, EPROM, and Flash memory. 
         [0032]    By way of non-limiting example, computing instructions for performing the processes may be performed on a processing system (not shown). In the processing system, the computing instructions may be stored on operational storage, transferred to a memory for execution, and executed by one or more processors. The one or more processors, when executing computing instructions configured for performing the processes, constitutes structure for performing the processes. In addition, some or all portions of the processes may be performed by hardware specifically configured for carrying out the processes. 
         [0033]    Embodiments of the present invention provide systems, methods, and computer readable media for performing product design and analysis. The new methods of product design use CAD and CAE models in combination with FFD. Additionally, the FFD process uses T-spline meshes to reduce database requirement, increase design flexibility and enable design modifications at a broad range of detail. 
         [0034]      FIG. 3  illustrates a free-form Non-Uniform Rational B-Spline (NURBS) curve  100 . A NURBS curve  100  is a parametric curve, meaning that the points along the curve smoothly change as the parameters of the curve change. The NURBS curve  100  can be described and visually represented by control point (P 0 -P 5 ) around the NURBS curve  100 . The NURBS curve  100  is formed by interpolating the position of the curve&#39;s control points as the parameters change. Additional control points can be added to create finer detail and sharper curves. NURBS curves  100  are particularly useful to designers because they provide continuity of the curve and local control that only affects the curve near the control point and its neighbors. In general, NURBS curves  100  may have multiple degrees. A cubic NURBS curve  100  can be decomposed into multiple adjacent cubic Bezier curves. The parameter values at which two adjacent Bezier curves meet are called knot values (or simply knots). Thus, a NURBS curve  100  is described by a series of control points and a sequence of knot values. A NURBS curve  100  exhibits local control. In other words, a control point strongly influences the closest Bezier curve, weakly influence neighboring Bezier curves and has little or no influence on more distant Bezier curves. 
         [0035]      FIG. 4  illustrates a control mesh  120  for a NURBS surface in two-dimensions. A NURBS surface  120  is similar to a NURBS curve but in two dimensions. The control points  150 , and knot values, define a resultant NURBS surface (not shown). The knot values are defined for two-dimensional space. As with a NURBS curve, a bi-cubic NURBS surface exhibits local control such that a given control point  150  strongly influences the NURBS surface closest to the control point and more weekly influences the NURBS surface moving away from the control point. 
         [0036]    A control mesh  120  forms a rectangular grid with control points  150  at the intersections of the grids. Thus, to add a new control point, a new line must be added in each direction, along with control points at each intersection of the new line. As a result, many of the control points are of limited use, or serve no purpose except to satisfy the rectangular grid topology. 
         [0037]      FIG. 5  illustrates a T-spline control mesh  140  (also referred to as a T-mesh) for a surface in two-dimensions. One difference between a T-mesh  140  and a NURBS control mesh  120  ( FIG. 4 ) is that a T-mesh  140  allows a row of control points to terminate. Thus, a row may include many points or a single point. As a result, in a T-mesh  140  the control points may include cross-points  150  and T-points  160 . With a T-mesh  140 , conventional NURBS control points (i.e., cross-points  150 ) that may not be useful in defining or deforming the underlying surface may be removed to simplify the T-mesh  140 . Conversely, new control points can be added as T-points  160  without having to add corresponding cross-points  150  at every intersection along a given line. 
         [0038]      FIG. 6  illustrates a T-spline control mesh for a three-dimensional volume. As with the two-dimensional surface, a volume T-mesh  140  may include both cross-points  150  and T-points  160  as control points for the three-dimensional T-spline control mesh  140 . In embodiments of the present invention, T-spline control meshes  140  may be applied to an underlying geometric shape or CAE model of the geometric shape to carry out Free-Form Deformation (FFD) of the underlying CAE model. 
         [0039]    Conventional FFD has several shortcomings. One problem is that frequently, certain elements of the design may not be changed while other features of the design are being modified. In order to isolate parts of the design from the deformation, control points must be inserted into the CAE model. Since the control points of a conventional FFD are required to be topologically arranged in a lattice, the addition of control points causes entire planes of control points to be inserted. This produces a significant proliferation of control points. These control points are, therefore, frequently added in locations where they are not desired and serve no purpose other than to satisfy topological requirements. 
         [0040]    Embodiments of the present invention overcome many problems of conventional product design by enabling FFD of a CAE model, rather than the CAD model. In addition, the FFD is performed using T-spline control meshes  140  to create a smaller database of control points that are easier to manipulate and enhance for fine control of the CAE model. 
         [0041]    With deformation of the CAE model, CAD model modification and re-creation of the simulation model are removed from the design improvement cycle. If the accuracy of the CAE model is maintained, the product design cycle using simulation models can proceed quickly and can easily be automated. 
         [0042]    In addition, T-Splines overcome many of the shortcomings of conventional FFD. T-Splines are not constrained by “superfluous” control points lying in a rectangular grid. T-Splines are also locally refineable. Therefore, the control points can be inserted into the control grid without propagating an entire plane of control points. Thus, the CAE model may be embedded in a parametric volume formed as a T-spline control mesh  140 . Points on the CAE model are embedded by calculating their parametric coordinates inside that parametric space. The shape of the parametric space may then be changed by moving and modifying control points. As the parametric shape is changed, the mapping from parametric space to Cartesian space is changed so that the CAE model is deformed in a corresponding relationship with the parametric space. In other words, as the shape of the T-Spline volume is changed, the embedded CAE model is deformed in an analogous manner. For a cubic T-Spline, C 1  continuity is ensured so that the accuracy of the deformed elements of the CAE model is maintained. 
         [0043]      FIG. 7  is a simplified flow chart illustrating a product design process  200  according to one or more embodiments of the present invention. A CAD model is created in operation block  202 . Of course, other kinds of models may be used in embodiments of the present invention. By way of non-limiting example, a model also may be developed from scanning an object with a laser, Computerized Axial Tomography (CAT) scans (sometimes called CT scans), or electromagnetic response maps. 
         [0044]    One or more digital simulation models (also known as a Computer Aided Engineering (CAE) models are created from the CAD model (or other suitable model) in operation block  204 . As non-limiting examples, the CAE model may be a Finite Element Analysis (FEA) model or a Computational Fluid Dynamics (CFD) model. As other non-limiting examples, the CAE model may be aero-acoustic models, electromagnetic field models, optical analysis models, and radar cross section models. 
         [0045]    A T-spline control mesh is formed around all or portions of the CAE model in operation block  206 . In operation block  208 , one or more control points on the T-mesh are moved to deform the underlying CAE model in a manner that may produce behavior of the model targeted to meet various design objectives. 
         [0046]    In operation block  210 , the deformed CAE model is simulated (i.e., solved) to predict certain behaviors or performance aspects of the design. The performance of the design may be assessed in operation block  212  to determine if the design objectives have been achieved. 
         [0047]    Decision block  214  indicates a decision of whether the design meets the design objectives. If the design is acceptable, the design process may terminate. If, however, the design needs more refinement, operation block  216  may modify design parameters of the CAE model. In addition, operation block  218  may modify parameters of the T-mesh. The T-mesh may be modified by removing control points or adding control points to refine how the CAE model will deform with movement of control points. The T-mesh may also be modified to encompass additional portions of the underlying CAE model. With potential changes to the CAE model and the T-mesh, the design loop begins again at operation block  208  with new T-mesh deformations  208 , CAE model simulations  210 , and assessment of the simulation results  212 . The design loop may continue until the design objectives have been met. 
         [0048]      FIG. 8  is a Graphical User Interface (GUI) window  300  illustrating a CAE model  320  and a T-spline control mesh  330 . As a non-limiting example, the CAE model  320  may be configured as a mesh of hexagons or other polyhedrons suitable for, as a non-limiting example, performing computational fluid dynamics analysis in and around the CAE model  320 . 
         [0049]    A variety of tools  310  are shown in the GUI for controlling operations, such as, for example, rotating and translating views, building and modifying the T-mesh, deforming the T-mesh, controlling simulations, and performing optimizations. 
         [0050]      FIG. 9  is a GUI window  300  illustrating the CAE model  320  and T-spline control mesh  330  with a moved control point  340 . The moved control points cause a deformation  325  of portions of the underlying CAE model  320 . 
         [0051]      FIG. 10  illustrates a CAE model of an elbow  350  in a pipe and a corresponding T-spline control mesh  360  defined around the elbow  350 .  FIG. 11  also illustrates the elbow  350  and T-spline control mesh  360 . In  FIG. 11 , a control point  365  has been moved and the resulting deformation  355  of the elbow  350  can be seen as a movement of a large number of points on the underlying CAE model of the elbow  350 . 
         [0052]      FIGS. 12A-12F  illustrate a process of defining a T-spline control mesh around a CAE model and deforming the CAE model.  FIG. 12A  illustrates the pipe elbow  322  but with the CAE face edges concealed, leaving only a smooth surface representing the pipe elbow  322 .  FIG. 12B  illustrates a first control mesh  370 B as a bounding volume of vertical planes encompassing the pipe elbow.  FIG. 12C  illustrates a modification of the control mesh  370 C by moving the bottom plane of the control mesh up so the control mesh encompasses the horizontal portion of the elbow.  FIG. 12D  illustrates a modification of the control mesh  370 D to encompass the bend and vertical portion of the elbow. 
         [0053]    After the control mesh is created, it may be modified to tightly encapsulate the underlying grid. The closer a control mesh conforms to the grid surface of the CAE model, the more responsive the grid is to the movements of the control points. In addition, non-useful control points may be eliminated and additional control points may be added to enable more precise control of deformations.  FIG. 12E  illustrates a modification of the control mesh  370 E to more closely enclose the bend in the elbow. Finally,  FIG. 12F  shows a modified control point  375  and corresponding deformation  323  of the pipe elbow. 
         [0054]    Those of ordinary skill in the art will recognize that while the volumes in  FIGS. 10 ,  11 , and  12 A- 12 F may not directly illustrate T-points, T-points may be present and manipulated in the same manner as discussed with respect to these drawings. 
         [0055]    In addition to adding and removing control points as either T-points or cross-points, points may be lumped together in groups to provide higher order control over the control points. When a group is manipulated, all the points in the group are affected according to a relationship that may defined by tools in the GUI window. As a non-limiting example, when a T-mesh volume is created, the points in each coordinate plane may be automatically lumped into individual groups. This plane grouping enables all the plane&#39;s points to move together simply by moving the plane. 
         [0056]      FIG. 13  is a simplified system block diagram of a computing system useful for performing embodiments of the present invention. As shown in  FIG. 13 , a computing system  500 , may include at least one input device  510 , at least one output device  520 , at least one processor  530 , memory  540 , a display  550 , and at least one storage device  560 . 
         [0057]    The memory  540  and storage devices  560  are configured for holding information including firmware or software including instructions for execution by the processor  530 . The display may be used to display a GUI including depictions of CAD models, CAE models, T-meshes, and tools for manipulating and simulating the models and meshes. 
         [0058]    The input devices and output devices may include a keyboard, a mouse, a joystick, a haptic device, communication devices, and other suitable devices for controlling operation of the computing system. 
         [0059]    Although the present invention has been described with reference to particular embodiments, the present invention is not limited to these described embodiments. Rather, the present invention is limited only by the appended claims, which include within their scope all equivalent devices or methods that operate according to the principles of the present invention as described.