Abstract:
A computer apparatus and method for generating structures and analyzing the stability of a structure formed from multiple predefined components represents the structure as a series of bodies fixed in place by stationary joints. The joints have known properties and each joint is assigned a torque capacity corresponding to the known properties. A computer routine calculates torque exerted on each joint and compares the calculated torque with the torque capacities to determine stability of the structure. The computer routine enables remodeling of an unstable structure.

Description:
RELATED APPLICATION 
     This application claims the benefit of U.S. Provisional Application No. 60/078,253, filed Mar. 17, 1998, the entire teachings of which are incorporated herein by reference. 
    
    
     GOVERNMENT SUPPORT 
     The invention was supported in whole or in part, by grant ONR-N00014-96-1-0416 from the Department of the Navy. The Government has certain rights in the invention. 
    
    
     BACKGROUND OF THE INVENTION 
     Computers are commonly employed in the analysis of structures. One widely used computer analysis method is known as finite element analysis. In finite element analysis, the user first generates a computerized drawing of a unitary structure to be analyzed. The computer then divides the drawing of the structure into a plurality of elements. Forces and stresses on each element of the structure are then calculated. If the stresses on the structure are found to exceed the strength of the material from which it is formed, the user must redesign the structure. Although finite element analysis is a useful tool in the design process, the user must perform all the design work. 
     SUMMARY OF THE INVENTION 
     The present invention is directed to a computer apparatus and method for generating and/or analyzing the stability of a structure where the structure is formed from multiple predefined discrete components fastened together, for example, a bridge, truss, crane, etc. The structure is represented, by a representing member, as a series of bodies fixed in place by stationary joints. The joints have known properties and are listed by a listing member. Each joint is assigned a torque capacity corresponding to the known properties by an assigning member. An analysis member calculates the torque exerted on each joint and compares the calculated torques with respective torque capacities of the joints to determine stability of the structure. 
     In preferred embodiments, the strength of the joints is lower than the strength of the bodies. In one preferred embodiment, the torque capacity for each joint is provided from a table containing torque capacities for known joint properties. In another preferred embodiment, the torque capacity for each joint is calculated. At least one of the bodies is fixed to the ground with at least one of the stationary joints. Parameters for the structure are entered with a user interface. The parameters define the structure either for analysis or for providing instructions to a generating member for generating a model of the structure. Multiple models of the structure may be generated until at least one of the models is determined to be stable. The calculated exerted torques are compared with the torque capacities along a first plane to analyze two dimensional stability of the structure and along a second plane orthogonal to the first plane to analyze three dimensional stability of the structure. Stability analysis results are provided through an output interface. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The foregoing and other objects, features and advantages of the invention will be apparent from the following more particular description of preferred embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention. 
     FIG. 1 is a schematic drawing of the present invention computer apparatus employed for generating and/or analyzing the stability of structures formed from multiple predefined components that are fastened together. 
     FIG. 2 is a schematic side view of a model of a structure formed from plastic snap-on type bricks, each brick being identified by a pair of numbers designating brick number and size. 
     FIG. 3 is a schematic side view of the model of the structure of FIG. 2 depicting the location of the centers of gravity of the bricks and force flow. 
     FIG. 4 is a side view of two plastic snap-on type bricks joined together by a single protrusion. 
     FIG. 5 is a side view of two plastic snap-on type bricks joined together by two protrusions. 
     FIG. 6 is a flow chart of preferred steps that the apparatus of FIG. 1 performs for generating and/or analyzing the stability of structures formed from multiple components that are fastened together. 
     FIG. 7 is a perspective view of a model of a three-dimensional structure formed of plastic snap-on type bricks. 
     FIG. 8 is a front view of the model of the structure of FIG.  7 . 
     FIG. 9 is a side view of the model of the structure of FIG.  7 . 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     Referring to FIG. 1, the present invention generating/analyzing computer apparatus  11  is capable of generating and analyzing a model of a structure formed of multiple components that are fastened together. Examples of the components include plastic snap-on type bricks, pieces of wood that are nailed together, some types of stone or brickwork, magnetic blocks, etc., where the strength of the joint is less than the strength of the material from which the components are made. Apparatus  11  includes a computer processor  36  containing a working memory  38  for performing steps depicted in flow chart  10  (FIG.  6 ). An input interface  12  is connected to processor  36  for entering instructions or parameters defining a structure for generation and/or analysis. Input interface  12  may be, for example, a keyboard, a link to another processor, a drive for downloading information from storage media, etc. An output interface  26  is also connected to processor  36  for receiving analysis results. Output interface  26  may be, for example, a display screen, a printer, a link to another processor, a drive, etc. 
     In general terms, computer apparatus  11  analyzes multi-component structures on the assumption that the strength of each joint is less than the strength of each component. As a result, a multi-component structure is determined to be stable if torque forces at each joint of the structure are less than the torque capacity or strength of each joint since any failure is in the joints. The torque forces exerted on the joints are caused by the weight of the structure as well as external loads. Only torque forces at the joints are considered and any vertical pull or shear forces are disregarded. 
     An example of a type of structure capable of being generated and analyzed by apparatus  11  is depicted in FIGS. 2 and 3 where structure  40  is a computerized model of a bridge or truss type structure. Apparatus  11  can also analyze a previously designed structure as discussed later. The actual structure  40  is formed from a number of plastic snap-on type bricks  42  of a variety of standard sizes which are secured to each other at joints  48 . The joints  48  consist of protrusions or knobs  43  engaged with mating sockets  45  (FIGS.  4  and  5 ). 
     Referring to flow chart  10  of FIG. 6, the operation of apparatus  11  (FIG. 1) in conducting a two dimensional generation and analysis of a structure will be described using structure  40  of FIG. 2 as an illustrative example. Instructions or parameters for generating a model of structure  40  are entered into apparatus  11  (FIG. 1) through input interface  12 . Generally, such instructions specify the generation of a bridge-type structure spanning a particular distance and formed of plastic snap-on type bricks of various standard sizes. More limiting instructions such as the number of bricks, the height of the bridge, etc. can be given if desired. Query  13  asks if the instructions are for generating a structure and with the user-provided answer being yes, a structure representing member or model generating member  17  generates a model of structure  40  formed of multiple components  42  or bodies based on the instructions. Each body  42  of the model of structure  40  is assumed to be connected to adjoining bodies  42  by joints  48  (FIGS.  2  and  3 ). At least one body  42  is connected to the ground G by a joint  48 . Once structure  40  is generated, a body listing member  14  (FIG. 6) makes a list of all the bodies  42  forming structure  40 , the positions and the size of the bodies  42 . The listed information of bodies  42  is depicted in FIG.  2 . The bodies  42  are identified by numbers ranging from 0 to 37. The position of each body  42  is given by the position with respect to the x-y axes. The numbers in parentheses designate the size parameter of the body  42 . For example, the designations 4, 6, 8, 10, 12 or 16 represent the number of locking knobs  43 , thereby also identifying the size. 
     Continuing with FIG. 6, a joint listing member  16  then makes a list of all the joints  48  securing the bodies  42 , the joint  48  position and configuration. This includes any joints  48  securing structure  40  to the ground G. Since the joints  48  are composed of known combinations of locking knobs  43  and sockets  45 , each joint  48  is of a known predictable configuration so that the strength of each joint  48  is determinable. For example, FIGS. 4 and 5 depict a single knob/socket joint  48  and a double knob/socket joint  48 , respectively. 
     Once the bodies  42  and joints  48  are listed, the strength or torque capacity of each joint  48  is assigned by assigning member  18  (FIG.  6 ). Referring to FIGS. 4 and 5, the torque capacity of a joint  48  is the ability of the holding forces h of the knobs  43  and sockets  45  to resist torque forces as indicated by arrows M about joint  48 . The more knobs  43  and sockets  45  in a joint  48 , the higher the torque capacity. The properties of each joint  48  are deductible from the configuration of the joint  48 . By previously determining the joint  48  configurations between the bodies  42 , for example, the number of knobs  43  and sockets  45 , the joint torque capacity of each joint  48  is determined by correlating values of known torque capacities for known joint configurations from a table 20 and matching them with the listed joint  48  configurations. An example of a joint torque capacity table for plastic snap-on type bricks is given below. 
     
       
         
               
               
               
             
               
               
               
             
           
               
                   
                 TABLE 20 
               
               
                   
                   
               
               
                   
                 Joint 
                   
               
               
                   
                 size (no. 
                 Approximate torque 
               
               
                   
                 of knobs) 
                 capacity (N-m × 10 −6 ) 
               
               
                   
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 1 
                 10.4 
               
               
                   
                 2 
                 50.2 
               
               
                   
                 3 
                 89.6 
               
               
                   
                 4 
                 157.3 
               
               
                   
                 5 
                 281.6 
               
               
                   
                 6 
                 339.2 
               
               
                   
                 7 
                 364.6 
               
               
                   
                   
               
             
          
         
       
     
     It is apparent that torque capacity values would be different types of components connected or coupled by other types of joints, such as wood that is nailed together. However, the operating principle is the same in that properties of the joints are known in advance. In addition, in another preferred embodiment, torque capacity values for known joints can be calculated from a formula instead of being provided by a table. 
     The following is an example of a preferred computer method of listing the joints  48 , the position of the joints  48 , and determining the torque capacity or strength of the joints  48 . 
     1. JOINTLIST=Ø 
     2. For each unique pair (b,b′) of bodies attached to each other. 
     3. Create Joint J=J b,b′ with the following properties: 
     4. Position(J)=Center of area of contact between b and b′ 
     5. Strength (J)=(obtained from Table 20) 
     6. Add J to JOINTLIST 
     7. For each body b that is attached to the ground 
     8. Create joint T=J b,G  with the following properties: 
     9. Position (J)=Center of area of contact between b and the ground 
     10. Strength (J)=(obtained from Table 20) 
     11. Add J to JOINTLIST 
     where: 
     b and b′ are bodies  42  attached to each other, 
     G is the ground, and 
     J is a joint  48  between the bodies  42  or between a body  42  and the ground G. 
     Each joint  48  is identified by the bodies  42  (b,b′) associated therewith and the position of the joint  48  is at the center of the area of contact. 
     Next, referring back to FIG. 6, the force exerted on each body  42  is calculated by a calculating member  22 . The weight of each body  42  is considered as well as any external forces or loads. The weight of a particular body  42  is determinable from the size parameter of the body  42 . The center of each body  42  is assumed to be the center of mass and the gravitational forces acting on each body  42  are assumed to point downward. A preferred computer method of defining the forces exerted on the bodies  42  by position, vector (direction and magnitude) and target is set forth below as follows: 
     1. FORCELIST=Ø 
     2. For each body b in the structure compute 
     3. Position (F)=center of b 
     4. Vector (F)=(0,−1) weight of b 
     5. Target (F)=b 
     6. Add F to FORCELIST 
     7. For each external force f acting on b 
     8. Create new F such that: 
     9. Position (F)=point of application of f 
     10. Vector (F)=vectorial representation of f 
     11. Target (F)=b 
     12. Add new F to FORCELIST 
     where: 
     b is a body  42 , 
     F is the force on each body  42 , and 
     f is the external force acting on each body  42 . 
     Structure  40  is stable only if all forces can flow down the network of bodies  42  to be absorbed by the ground G. The force flow lines  46  in FIGS. 2 and 3 indicate the flow of forces between the centers of gravity  44  of bodies  42  through joints  48  and to the ground G. This is represented, for each force F, by a flow φ F BODIES∪{G}→[−1,1] such that: 
     
       
         φ F (b,c)=φ F (c,b) for all c,b εBODIES∪{G}  (Eq. 1) 
       
     
     
       
         φ F (b, BODIES∪{G})=0 for all bεBODIES−{target(F)}  (Eq. 2) 
       
     
     
       
         φ F (target(F), BODIES∪{G})=1  (Eq. 3) 
       
     
     where: 
     F is force, 
     b is a body  42 , 
     G is ground, and 
     c is the center  44  of each body  42 . 
     Thus, φ F  constitutes a flow network where the flow only occurs at the joints  48 : 
     
       
         φ F (b,c)=0 if neither J b,c  nor J c,b  exist in JOINTLIST  (Eq. 4) 
       
     
     A flow φ F  indicates that the force or weight is supported throughout the structure. With the forces exerted on bodies  42  being known, the torque forces M (FIGS. 4 and 5) exerted on joints  48  are calculated by multiplying the forces exerted on bodies  42  with the appropriate moment arms. The moment arm is the distance between the application point of the force and the point of rotation at each joint  48 . An analysis or prediction member  24  compares the torque capacities of joints  48  and the torque forces exerted on joints  48  as calculated by calculating member  22 . Structure  40  will be considered to be stable if a force flow with a value of 1(Eq. 3) exists for each and every force such that the added torque for all force flows at every joint  48  with respect to the torque capacity or strength of every joint  48  is: 
     
       
         [τ(J)]≦Strength (J)  (Eq. 5) 
       
     
     where: 
     τ=torque, and 
     J=joint  48 . 
     The total torque τ at a joint  48  is defined by                τ        (     J     b   ,     b   ′         )       =       ∑     F   ∈   FORCELIST              τ        (       J     b   ,     b   ′         ,   F     )              φ   F          (     b   ,     b   ′       )                   (     Eq   .              6     )                                
     where τ (J b,b′ ,F) is the torque exerted by a force of magnitude Vector (F) acting at Position (F) with axis of rotation located at Position (J b,b′ ). 
     If a solution to this network exists, all the forces along the structure  40  are distributed. The operating principle of the present invention is that as long as the forces are distributed among the network of bodies  42  such that no joint  48  is stressed beyond its maximum capacity, structure  40  will not break. 
     A preferred computer method for computing force flow and comparing the torque or strength capacity (cap) of the joints  48  with the exerted torque is as follows: 
     1. Define TORQUE (J)=0 for all JεJOINTLIST 
     2. For every FεFORCELIST 
     3. For every joint J=J b,b′ define          cap        (     b   ,     b   ′       )       =     MIN        {           strength        (   J   )       -     Torque        (   J   )           τ        (     J   ,   F     )         ,   1     }                 cap        (     b   ,     b   ′       )       =     MIN        {           Strength        (   J   )       +     Torque        (   J   )           τ        (     J   ,   F     )         ,   1     }                              
     6. Use a maximum flow algorithm to calculate a maximum flow φ F  from Target (F) to G as defined by Eqs. 1-4 and capacities as per cap just computed. 
     7. If the value of the resulting maximum flow φ F  is not one 
     8. Then exit returning FAIL; a solution was not found for the network of torque propagation 
     9. Else for every joint J=J bb′ compute 
     10. TORQUE(J) TORQUE (J)+φ F (b,b′)τ(J,F) 
     11. Next F 
     12. Return SUCCEED; A solution exists. 
     With reference to FIG. 6, the results are then delivered to output interface  26  (for example, a printer or a display monitor). If the instructions input by the user are to generate a number of models of structures  40  or the model of structure  40  has failed, queries  32  and/or  28  will cause a redesigning member  34  to regenerate a revised design of the model of structure  40  which is then looped back to body listing member  14  for further analysis. If only the results of stable structures  40  wish to be viewed, the user may instruct query  30  to send the results of only stable structures  40  to output interface  26 . Multiple models allow the user to choose between varying designs. 
     In addition to generating models of structures, apparatus  11  also analyzes structures that are already designed. Instead of generating a model of a structure, query  15  causes body listing member  14  to begin listing the bodies in the structure. Once the analysis is complete, instructions may be given to immediately send the results to output interface  26  or to generate additional models of the structure. Although flow chart  10  preferably calculates whether a stable solution exists for a structure, alternatively, values for the torque capacity of the joints and calculated torque forces exerted on the joints may be sent to output interface  26  for the user to analyze. 
     When generating and/or analyzing three-dimensional structures, the invention analysis is preferably performed in two steps. A first analysis is conducted along a first two-dimensional plane such as described above, and then a second analysis is made along a second two-dimensional plane orthogonal to the first plane, in a similar manner, which results in a three-dimensional analysis. In a three-dimensional analysis, when a joint  48  has a multiple knob  43  length and width, for example, a 2×2 configuration, the torque capacity of joint  48  along each plane is increased by a factor equaling the number of rows. Referring to FIG. 7, structure  50  is a model of a three-dimensional structure formed of plastic snap-on type bricks  42 . The analysis is first performed on the front view of structure  50  along the x-y plane as seen in FIG.  8  and then on the side view along the y-z orthogonal plane as seen in FIG. 9 to obtain a three-dimensional analysis. 
     While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. 
     For example, although the structures are described as being secured to the ground, the structures can be secured to another structure or the analysis can be performed on a section of a structure. In addition, the analysis can be made for a structure having moving parts by modeling the structure as a stationary structure with the parts in different positions. Furthermore, although flow chart  10  depicts various steps for generating and analyzing structures, steps may be combined, added or deleted to suit particular circumstances.