The substructuring procedure described in the previous section is called bottom-up substructuring, meaning that each superelement is separately generated in an individual generation pass, and all superelements are assembled together in the use pass. This method is suitable for very large models which are divided into smaller superelements so that they can "fit" on the computer.
For substructuring of smaller models or of systems with global project geometry controls, and for isolated component analysis, you can use a slightly different technique known as top-down substructuring. This method is suitable, for instance, for substructuring of the linear portion of nonlinear models that are small enough to fit on the computer. An advantage of this method is that the results for multiple superelements can be assembled in postprocessing. The procedure for top-down substructuring is briefly explained below, and is followed by a sample input.
First build the entire model, including both the superelement and nonsuperelement portions. Save this model on a named database file (for example, FULL.db). The full model database is later required for the expansion pass. It will also be required for the use pass if the model consists of nonsuperelements.
Perform the generation pass on a selected subset of the entire model. Because the full model has already been built, all you need to do is to select the elements for the superelement portion, apply the desired loads (for the load vector), and create the superelement with the SOLVE command ( ).
The use of components may be helpful for this. To group items into a component, use the CM command ( ).
If multiple superelements are to be generated, you will need to exit and re-enter SOLUTION each time and repeat the select-load-solve steps. Be sure to use a different jobname for each superelement.
Perform the use pass. Enter PREP7 and start by restoring the full model database and then selecting only the nonsuperelement portion of the model. Next, define the superelement type (ET, TYPE) and read in the appropriate superelement matrices. In most cases, you don't need to worry about the connecting nodes between the superelements, because they were all generated from a single model.
Enter SOLUTION and define the analysis type and analysis options. Apply loads on the nonsuperelements, read in load vectors (if any), specify load step options, and initiate the use pass solution.
Perform the expansion pass. Start by restoring the full model database, with all elements and nodes active. Then expand each superelement separately, using the appropriate jobnames and exiting and re-entering SOLUTION each time. You can then review the results in each superelement using normal postprocessing procedures. Use of the full database, FULL.db, allows the reading in of multiple superelement results:
RESUME,FULL,DB /POST1 FILE,GEN1 SET,... FILE,GEN2 SET,...!Will not clear previous superelement results
A sample input for top-down substructuring follows. This example assumes a model with one superelement and other nonsuperelements.
! Sample input for top-down substructuring ! ! BUILD THE FULL MODEL ! /FILNAME,FULL ! Jobname = FULL (for example) /TITLE,... /PREP7 ! Enter PREP7 --- --- ! Generate entire model, including both the --- ! superelement and nonsuperelement portions --- SAVE ! Save the full model database. It is required for ! the (use pass and) expansion pass. FINISH
! GENERATION PASS ! /FILNAME,GEN ! Jobname = GEN (for example) /SOLU ! Enter SOLUTION ANTYPE,SUBSTR ! Substructure analysis type SEOPT,GEN,... ! Analysis options ESEL,... ! Select elements and NSLE ! nodes in the superelement portion M,... ! Master DOF D,... ! Loads. A load vector will be generated and written to the --- ! superelement matrix file --- ! Load step options --- SOLVE ! Initiate solution -- creates superelement ! matrix file GEN.SUB. --- ! Loads for second load vector (D and M may not changed) SOLVE ! Add load vector 2 --- ! Repeat loading and SOLVE sequence for additional load vectors FINISH
! USE PASS ! /CLEAR ! Clear database for use pass /FILNAME,USE ! Jobname = USE (for example) RESUME,FULL,DB ! Restore full model database (for nonsuperelements) ESEL,... ! Select elements and NSLE ! nodes in the nonsuperelement portion
/PREP7 ET,...,MATRIX50 ! Superelement type (type number not used by nonsuperelements) TYPE,... ! Point to superelement type reference number SE,GEN ! Read in superelement matrix (GEN.SUB created above) EPLOT FINISH
/SOLU ANTYPE,... ! Analysis type and analysis options --- D,... ! Loads on nonsuperelements --- --- SFE,... ! Superelement load vector --- --- ! Load step options --- SOLVE ! Initiates solution -- calculates complete ! solution for nonsuperelements (USE.RST, etc.) ! and reduced solution for superelement (USE.DSUB) FINISH
! EXPANSION PASS ! /CLEAR ! Clear database for expansion pass /FILNAME,GEN ! Change jobname back to generation pass jobname RESUME,FULL,DB ! Restore full model database
/SOLU ! Enter SOLUTION EXPASS,ON ! Activate expansion pass EXPSOL,... ! Specifies the solution to be expanded SEEXP,GEN,USE,... ! Superelement name to be expanded --- ! Load step options (mainly output controls) --- SOLVE ! Initiate expansion pass solution. Full ! superelement solution written to GEN.RST (or ! RTH or RMG). FINISH
! ... Review results in superelement
See the ANTYPE, SEOPT, M, ET, SE, EXPASS, and SEEXP command descriptions for more information.