Main Index
Corporate
MSC.Software Corporation 2 MacArthur Place Santa Ana, CA 92707 Telephone: (800) 345-2078 FAX: (714) 784-4056
Europe
MSC.Software GmbH Am Moosfeld 13 81829 Munich GERMANY Telephone: (49) (89) 43 19 87 0 Fax: (49) (89) 43 61 71 6
Asia Pacific
Asia Pacific MSC.Software Japan Ltd. Shinjuku First West 8F 23-7 Nishi Shinjuku 1-Chome, Shinjuku-Ku Tokyo 160-0023, JAPAN Telephone: 0120-924-832 (toll free, Japan only) Mobile phone: 03-6911-1222 Fax: (81) (3)-6911-1201
Worldwide Web
www.mscsoftware.com
Disclaimer
MSC.Software Corporation reserves the right to make changes in specifications and other information contained in this document without prior notice. The concepts, methods, and examples presented in this text are for illustrative and educational purposes only, and are not intended to be exhaustive or to apply to any particular engineering problem or design. MSC.Software Corporation assumes no liability or responsibility to any person or company for direct or indirect damages resulting from the use of any information contained herein. User Documentation: Copyright 2011 MSC.Software Corporation. Printed in U.S.A. All Rights Reserved. This notice shall be marked on any reproduction of this documentation, in whole or in part. Any reproduction or distribution of this document, in whole or in part, without the prior written consent of MSC.Software Corporation is prohibited. This software may contain certain third-party software that is protected by copyright and licensed from MSC.Software suppliers. MSC, MD, Dytran, Marc, MSC Nastran, MD Nastran, Patran, OpenFSI, the MSC.Software corporate logo, and Simulating Reality are trademarks or registered trademarks of the MSC.Software Corporation in the United States and/or other countries. NASTRAN is a registered trademark of NASA. PAMCRASH is a trademark or registered trademark of ESI Group. SAMCEF is a trademark or registered trademark of Samtech SA. LS-DYNA is a trademark or registered trademark of Livermore Software Technology Corporation. ANSYS is a registered trademark of SAS IP, Inc., a wholly owned subsidiary of ANSYS Inc. ABAQUS is a registered trademark of ABAQUS Inc. All other brand names, product names or trademarks belong to their respective owners. PCGLSS 6.0, Copyright 1992-2005, Computational Applications and System Integration Inc. All rights reserved. PCGLSS 6.0 is licensed from Computational Applications and System Integration Inc. METIS is copyrighted by the regents of the University of Minnesota. A copy of the METIS product documentation is included with this installation. Please see "A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs". George Karypis and Vipin Kumar. SIAM Journal on Scientific Computing, Vol. 20, No. 1, pp. 359-392, 1999.
Main Index
Contents
MSC Nastran PAA Users Guide
Introduction
Overview of PAA Functionality 2 4 Generate a Part 4 FMS and executive control section for a GENERATE run Component modal synthesis 6 Combine parts 7 Combine one or more parts into an assembly 7 GRIDA - Associative Grid for PAA 7 FMS and Executive Control for a COMBINE run 8 Case control for a COMBINE run 8 Bulk data for a COMBINE run 9 The static solution step 11 FMS and executive control section for a Static SOLVE run Case control for a Static SOLVE run 11 Bulk data for a Static SOLVE run 12 11
Solution for the real modes of an Assembly/Part 16 FMS and executive control section for a real modes SOLVE run Case control for a real modes SOLVE run 16 Bulk data for a real modes SOLVE run 16 Data Recovery 18 FMS and executive control section for a recovery run Case control for a RECOVER run 18 Bulk data for a RECOVER run 18 Exporting a Part 20 FMS and executive control section for an EXPORT run Bulk data for an EXPORT run 20 Importing a part or data for a part 22 FMS and executive control section for an IMPORT run Bulk data for an IMPORT run 22 Deleting a part or a data for a part 23 FMS and executive control section for a DELETE_P run 18
16
20
22
23
Main Index
23 24
Rapid Simulation-based Prototyping 24 FMS and executive control section for an UPDTSP run Case control for an UPDTSP run 24 Bulk data for an UPDTSP run 25 Examples 25
Main Index
Chapter 1: Introduction
Introduction
Overview of PAA Functionality 2 Generate a Part 4 Combine parts 7 The static solution step 11 Solution for the real modes of an Assembly/Part 16 Data Recovery 18 Exporting a Part 20 Importing a part or data for a part 22 Deleting a part or a data for a part 23 Rapid Simulation-based Prototyping 24
Main Index
All Parts are reusable. That is a bolt Part may be used in several different models, without the requirement to re-process the bolt for each model. PAA processing is manual in the current system. There are no automatic restarts. The intent is to have an external program (a Model Manager) handle the logic involved in keeping the current database correct. The concept of PAA is very similar to the process used in many NASA (and other) programs. That is, there is a single system integrator (person or company), who is in charge of the complete model and putting all of the finite element models together into a complete system model, and a series of component suppliers, each of whom is responsible for a single component or Assembly. In this paradigm, each of the suppliers is responsible for their own model and the only one who sees the complete system model is the system integrator. However, when the system model is solved, the system integrator then passes results (either data recovery or boundary solutions) back to the suppliers and they are able to work independently with their models. There are many variations to this process, but it is very common in both government and industry. The process often includes external contractors and suppliers, who might consider their component proprietary and not want to share the model data. In this case, PAA allows for secret Parts, where only the matrices and information needed to connect the Part to the rest of the model need be passed to others. The process even allows two-way secrecy, where neither the supplier nor the system integrator see the other's model, yet each is able to perform their analysis using the properties (mass, damping, stiffness, and loads) of the other's Parts. Unfortunately, this process has always been a manual process with very little automation in it. Now, with the implementation of PAA, MSC is providing a better way to do it. Component models may be provided to the system integrator as finite element models, or as matrices (with or without the model data), optionally with OTM (Output Transformation Matrices), that can be used to provide selective data recovery without having the actual model. Special features of PAA include the ability to perform solutions at any level in the process tree with the ability to perform data recovery (using OTM if they are present) for any Part in the model. Solution results may be exported for independent work by suppliers. But a unique feature is RSP (Rapid Simulation-based Prototyping). Using this approach, any supplier may instantly see system level responses (even those in other Parts) caused by changes to their Part without having access to the system model.
Main Index
Chapter 1: Introduction 3
Overview of PAA Functionality
Superelements and Substructuring approximate components of this process, but neither is set up to be as complete a process tool as PAA is. PAA also has the ability to EXPORT Parts from one computer (Secret, Semi-secret, more to follow) and use them on another computer. This guide shows the steps in the PAA process and several examples. In the 2010 demo system, there are 6 PAA-related SOL's. These solutions do not have a number, only a name: GENERATE = create and reduce (if desired) a Part COMBINE = create an Assembly using one or more Parts - NOTE: If desired, a physical model (bulk data) may be included in a COMBINE run. Using the GRIDA entry, bulk data entries may reference GRID points in upstream Parts (as long as those GRIDs still exist) SLVSTAT = perform a static solution on a Part or Assembly SLVMODES = calculate the modes of a Part or Assembly RECOVER = perform data recovery using an existing solution DELETE_P = delete a Part EXPORT = export data for one or more Parts IMPORT = import data for one or more Parts UPDTSP = update solution Part with changes from another Part (used in RSP) The SOL's may be run in any order desired and 'system' solutions (statics and normal modes for the demo system) may be performed at any step in the process. This guide has a separate section for each solution and several example problems at the end. The current interface to PAA processing is through a DTI,COMMAND table. The format of this table is shown in an appendix. Examples are shown for each step in the process in the appropriate section. One very important requirement of the DTI,COMMAND is that character strings (for example a PARTNAME) can contain NO BLANK CHARACTERS in the string, except at the end. Also, the input lines with these are easiest entered using fixed format. The intent is to remove this limitation by providing the control using an external command file.
Main Index
Generate a Part
PAA is designed to have each Part processed separately. This allows for more flexibility. Our recommendation (but not a requirement) is to put each Part into a separate database. Each Part should have a separate, self-contained Nastran input file. This file should include the model of the Part and all loadings that might be applied to the Part. Note: There is no requirement for reduction on Parts. Although it is not required, it is recommended to perform component modal synthesis on the Part, even if the Part is only to be used in static solutions. For purposes of the demonstration system, if a reduction is to be done, ALL potential boundary points must be selected on ASET/BSET/CSET entries.
Each Part must have a unique name assigned. The name is a 64-character string and must be unique among all Part names. This name is used as a qualifier (PARTNAME) in the database for all datablocks associated with this Part . When generating a Part, the GENERATE Solution must be used. This allows static reduction or component modal synthesis, depending on the user requests.
At this point, you are simply defining the loadings and storing them as being associated with the Part, not applying them. The Case Control command, LOADNAME has been created for PAA. This command may be used in any SUBCASE to associate a user-provided name with a loading. In COMBINE and SOLVE runs, the bulk data entry, LOADCNAM, may be used to combine loadings using the LOADNAME.
The bulk data contains the complete bulk data description of the Part and the following:
DTI,COMMAND entries instructing the program to generate the Part. The following shows the common form of the DTI,COMMAND entries for a GENERATE run for a Part named Part_01_left_wing (note that underscore is used rather than a blank).
Main Index
Chapter 1: Introduction 5
Generate a Part
Any boundary GRIDs/SPOINTs and the selected dof should be listed on ASET/ASET1, BSET/BSET1, and/or CSET/CSET1 entries. Note: Table 1-1 1 DT1 DT1 DT1 DT1 DT1 DT1 2 COMMAND COMMAND COMMAND COMMAND COMMAND COMMAND 0 1 2 3 4 5 3 5 Partname generate generate generate output 4 1 Part matrix store Summary 5 endrec Part_01 1 all all endrec left_wi Endrec Endrec Endrec ng Endrec 6 7 8 9 It is not required to keep all 6 dof at any boundary point.
The above entries instruct the program to perform the GENERATE step for part_01_left_wing. Note: The program will use all capital letters for the PARTNAME internally.
Field 3 of the DTI,COMMAND entries must be the record number, starting with 0. The PARTNAME command(s) must be contiguous and start in record 1. Each entry must end with ENDREC. Field 4 on the first entry (Record 0) is the highest record number. In this case, 5. Record 1 above provides the PARTNAME and an associated integer (in this case, 1) that is used in the DTI,COMMAND entries to select that Part. Multiple records providing PARTNAMEs may be used, however, all records containing the PARTNAMEs must occur before the associated PARTNAME (reference number) is used in the DTI,COMMAND.
Reduction in a GENERATE run
If a reduction is desired, then the desired boundary must be defined. This is accomplished (in the demo version, other options are coming) by using ASET/ASET1, BSET/BSET1, CSET/CSET1, BNDFIX/BNDFIX1, and/or BNDFREE/BNDFREE1 entries. The default reduction is Guyan reduction. It is recommended to use AUTOMSET by adding; PARAM,AUTOMSET,YES To the bulk data in the input file. If OTM are desired, they must be requested by the addition of a record in the DTI,COMMAND. An example of this record is: DTI,COMMAND,6,REDUCE,OTM,ALL,ENDREC Note: While adding a record, the number of records (in record 0) must be updated.
Main Index
Main Index
Chapter 1: Introduction 7
Combine parts
Combine parts
Combine one or more parts into an assembly
The COMBINE run is used to create an Assembly. One or more Parts, that have already been processed, may be combined to create the Assembly, plus a physical model for the Assembly may be included. By default, connections between Parts are done automatically at coincident GRID points. There is an option to perform a manual attachment between Parts. Other options will be added in the future. Note: Each Part is self-contained, so use of the same GRID id's in two or more Parts is allowed.
A special bulk data entry called the GRIDA is available in PAA for Assemblies. This entry creates an associative GRID, by pointing to a GRID in a Part that is being combined in the current run. This GRIDA may be referenced by all standard MSC Nastran bulk data entries including, but not limited to, elements and constraints. The format of the GRIDA entry is: GRIDA - Associative Grid for PAA 1 2 3 ORIG_GID PARTNAME (1:64) Where: Field GID ORIG_GID PARTNAMEi Description GRID id to be used in the current run. Integer > 0 Type 4 5 6 7 8 9
GRID GID
GRID id part being referenced Integer > 0 Name of part ORIG_GID is in Character, C64, no internal blank spaces
Once again, the GRIDA is optional, but it is a convenient way to use a GRID from an already processed Part in your Assembly. An alternate to the GRIDA is to place a GRID entry in the current bulk data that is coincident with the GRID in the Part you wish to use. The automatic connection logic will attach the Part GRID to the current one and it is now accessible in the current run using the ID from the GRID entry.
Main Index
Additional bulk data entries may be used in COMBINE or SOLVE runs to combine loadings. These are the LOADCNAM, LOADCSUB, and LOADCLID. In the order of their occurrence, they can be used to combine loadings based on LOADNAME, SUBCASE id, of LOAD set id. Note: a special feature of these entries is that all LOADCNAME, LOADCSUB, and LOADCLID entries with the same set id are combined, allowing load combinations based on any combination of LOADNAME, SUBCASE id, and LOAD id.
In a COMBINE run, the program creates an Assembly loading matrix, that contains a separate column for ALL loadings defined in ALL Parts that have gone into the Assembly. This matrix includes a separate column for each SUBCASE in the current input. Therefore, there is no need to create combinations at the Assembly level, unless you want to. The combinations may be easily defined at the SOLVE step. PAA also creates and updated LODS table, with information (Part id, LOADNAME, SUBCASE id, and LOAD set id) for each column in the loading matrix. The default in COMBINE is to create the Assembly matrices, apply constraints, and store the Part. If you wish to perform a reduction on an Assembly, then the boundary points should be listed on ASET/BSET/CSET entries and component modal synthesis may be requested using similar entries to those used in a GENERATE run. Once again, when performing a reduction, unless you are creating a modal Part (one with no physical dof left after processing), you should define all potential boundary points/dof between the Assembly and the rest of the structure in this run by defining an A-set in a manner similar to the GENERATE run. FMS and Executive Control for a COMBINE run The FMS should attach the database files for ALL Parts that are being combined and use a DBLOCATE command to locate the associated datablocks in each one. The combine step uses solution COMBINE. An example of the recommended FMS and executive control is: ASSIGN MASTER='RUN03_SECTION3.MASTER', DELETE ASSIGN DBALL ='RUN03_SECTION3.DBALL', DELETE ASSIGN PART1='RUN01_SECTION1.MASTER' ASSIGN PART2='RUN02_SECTION2.MASTER' DBLOCATE LOGICAL=PART1 DATABLK=* DBLOCATE LOGICAL=PART2 DATABLK=* SOL COMBINE The above example allocates the database files (and deletes any pre-existing copies) and attaches the database files for 2 Parts, that will be combined in this run. Case control for a COMBINE run The case control for a COMBINE run is similar to conventional case control. A SUBCASE should be provided for each NEW loading condition (including combinations of existing load cases) to be created during the current run. If there is no physical model involved in the Assembly (only pre-processed Parts are being combined), then only the basic case control is needed.
Main Index
Chapter 1: Introduction 9
Combine parts
If you wish to define load combinations using loads from the pre-existing Parts during a COMBINE run, SUBCASEs referencing LOADCNAM, LOADCLID, and LOADCSUB bulk data entries may be used. However, it is recommended to create loading combinations during the SOLVE run, so as to avoid duplicating (or doubling) loads by accident. Bulk data for a COMBINE run The DTI,COMMAND for a COMBINE run must tell the program which Parts are being combined and the name of the new Part (Assembly). Note: In a DTI,COMMAND the PARTNAME entries must start in record 1 of the table and be contiguous. 2 COMMAND COMMAND COMMAND COMMAND COMMAND COMMAND COMMAND COMMAND COMMAND 0 1 2 3 4 5 6 7 8 3 8 4 partname 1 partname 1 partname 1 Combine Combine Combine Combine output assembly Comp1 Comp2 Option Summary 5 endrec Section3 Section1 Section2 1 Partid Partid auto endrec Endrec Endrec Endrec Endrec 2 3 Endrec Endrec Endrec 6 7 8 9 10
The above tells the program to create a new Part (Assembly) called SECTION3 by combining SECTION1 and SECTION2. The computational Parts (already processed - SECTION2 and SECTION1) will be combined with any current input to create the Assembly. The automatic connection between coincident GRIDs will be used - if you wish to attach the Parts manually, set OPTION to MANUAL. Note: If you set OPTION to MANUAL, NO GRIDs will be connected automatically and you must do any attachments manually!
Like in a GENERATE run, if a reduction is desired, the boundary must be defined by placing all desired boundary dof in the A-set. Also, entries similar to the following should be the bulk data to control the reduction: PARAM,METHCMRS,1 EIGRL,1,,,30 PARAM,AUTOQSET,YES PARAM,AUTOMSET,YES
Main Index
Once again, the values on the EIGRL are determined by you. For the example above, it is requesting 30 component modes. AUTOMSET is a recommended parameter. If desired, a physical model may be included in a COMBINE run. The program will automatically connect GRIDs in the physical model to boundary GRIDs from upstream Parts (other options will be available in the future). Mapping for different displacement coordinate systems and accounting for a GRID having less than 6 dof (after reduction of a Part) are accounted for automatically. There are two methods to create representations of upstream GRID points in the physical model , the GRIDA (mentioned above) and placing a GRID coincident to the upstream GRID. The GRIDA is preferred, simply because it is less likely to have mistakes (such as location errors that would prevent attachment to the upstream GRID). Once these entries are created in the BULK DATA, the new GRIDs can be used like any other GRID in the BULK DATA. The GRID id in the physical model may be any desired id, it is not required that it have the same id as that in the upstream Part. Output on how the Parts were combined is available, if desired, by adding the following to the bulk data.; PARAM,PRINTOPT,1
Main Index
Chapter 1: Introduction 11
The static solution step
Main Index
is why we don't recommend defining load combinations at the COMBINE level, as (if the same id was used as the individual LOADs) the logic could result in the applied loads being double the desired loads. Note: the program does print the OLOAD SUMMARY table in the static SOLVE run, so it is possible to verify the loadings from this.
Output requests for the Solution Part may be included in the case control. Additional data recovery for the Solution Part and any other Parts are done in separate RECOVER runs.
This is different from superelements - in superelement processing, it is up to the user to make sure that all loadings that are to be combined occur in the same order for all superelements. So, for superelements, the program combines loadings based on the order in the loading matrix, without verifying LOAD id, SUBCASE id, or LOADNAME.
Main Index
Chapter 1: Introduction 13
The static solution step
The new entries are as follows: Table 1-2 1 S1 LOADNAME (1:64) PARTNAME (1:64) S2 LOADNAME2 (1:64) PARTNAME2 (1:64) Etc. LOADCNAM - Define Solution Load Combinations by Load Name 2 S 3 4 5 6 7 8 9 10
LOADCNAM LID
Where: Field LID S Si LOADNAMEi PARTNAMEi Table 1-3 1 LOADCLID Description Overall scale factor (Similar to LOAD Bulk Data) Scale factor applied to LOADNAME loads Name of Load for that Part Name of Part Type Real <> 0. Real <> 0. Character, C64 Character, C64
Load Set ID. Selected by Case Control LOAD command Integer > 0
LOADCLID Define Solution Combination Using Part Load Set ID 2 LID S1 S2 Etc. S LID1 PARTNAME1 (1:64) LID2 PARTNAME2(1:64) 3 4 5 6 7 8 9 10
Main Index
Where: Field LID S Si LIDi PARTNAMEi Table 1-4 1 LOADC-SUB Description Load Set ID. Selected by Case Control LOAD command Overall scale factor (Similar to LOAD Bulk Data) Scale factor applied to Load id loads Load ID specified during GENERATE by LOAD or CLOAD Case Control Directive Name of Part Type Integer > 0 Real <> 0. Real <> 0. Integer > 0 Character, C64
LOADCSUB Define Solution Load Combination Using Subcase Number 2 LID S1 S2 Etc. 3 S SUB! PARTNAME1 (1:64) SUB2 PARTNAME2(1:64) 4 5 6 7 8 9 10
Where:
Field LID S Si SUBi PARTNAMEi Description Load Set ID. Selected by Case Control LOAD command Overall scale factor (Similar to LOAD Bulk Data) Scale factor applied to SUBCASE loads Subcase Number specified during GENERATE or COMBINE run Name of Part Type Integer > 0 Real <> 0. Real <> 0. Integer > 0 Character, C64
Once again, if Classic IFP is used, PARTNAME cannot contain embedded blanks.
Example of the DTI, COMMAND for the SOLVE static step:
dti,command,0,9,endrec dti command 1partname 1section3endrec dti command 2partname 2section2endrec dti command 3partname 3section1endrec dti,command,4,solve,solpart,1,endrec dti,command,5,solve,solution,statics,endrec
Main Index
Chapter 1: Introduction 15
The static solution step
dti,command,6,reco1,partname,1,endrec dti,command,7,reco2,partname,2,endrec dti,command,8,reco3,partname,3,endrec DTI,COMMAND,9,OUTPUT,SUMMARY,endrec First, note that the PARTNAMES must start with record 1 and be contiguous. In this case, the solution Part is SECTION3. We select the static solution (for internal PAA processing). The RECOi (where I is an index) commands are instructions to prepare the information needed to generate the information needed to perform data recovery on the associated Parts (SECTION1, SECTION2, and SECTION3). It does not instruct the program to perform data recovery (this is done in the RECOVER step). However, as mentioned earlier, data recovery is available for the solution Part during the SOLVE run. The data required for data recovery may be EXPORTed after this run is complete. Each part used in the solution may have data recovery performed independently of all other Parts. This is ideal for a large system model, where a number of different groups (or subcontractors) are involved.
Main Index
FMS and executive control section for a real modes SOLVE run
Assign MASTER=solution_modes.MASTER $ pick a name you like Assign solpart=solution_part.MASTER $ database containing Solution Part Dblocate logical=solpart, datablk=* SOL SLVMODES
The database for the desired Part/Assembly must be attached (the recommended method is to use the FMS, similar to the above). The real eigenvalue solution for PAA is SLVMODES.
dti,command,0,9,endrec
Main Index
Chapter 1: Introduction 17
Solution for the real modes of an Assembly/Part
dti command 1partname 1section3endrec dti command 2partname 2section2endrec dti command 3partname 3section1endrec dti,command,4,solve,solpart,1,endrec dti,command,5,solve,solution,modes,endrec dti,command,6,reco1,partname,1,endrec dti,command,7,reco2,partname,2,endrec dti,command,8,reco3,partname,3,endrec DTI,COMMAND,9,OUTPUT,SUMMARY,endrec This is similar to the DTI,COMMAND used for the static SOLVE step, except for the SOLUTION is now MODES. Like in the previous static example, the DTI,COMMAND,RECOi lines request that the program write the information that will be required to perform data recovery on the 3 Parts (SECTION1, SECTION2, and SECTION3) on the database. After this run completes, the individual data can be EXPORTed for these Parts and sent to the people who developed the Parts for data recovery. Note that (except for the person performing data recovery on the solution part) none of the suppliers needs the solution Part data or even the process tree.
Main Index
Data Recovery
Data recovery is done as a separate run (it is recommended, but not required, that a separate data recovery run be performed for each Part). There is only one solution (RECOVER) used to perform data recovery. The DTI,COMMAND, and the solution data itself determine the type of data recovery performed. One or more Parts may be processed in a RECOVER run (once again, it is recommended to perform data recovery on a single part in each RECOVER run). An important part of the input is the qualifiers (SPC,MPC, METHOD, and so on). These must match those which were set when the Part was created. Any existing solution may be used for data recovery
dti,command,0,7,endrec dti command 1partname 1section1endrec dti command 2partname 3section3endrec dti,command,3,recover,solution,static,endrec dti,command,4,recover,solpart,3,endrec dti,command,5,recover,reco1,part,1,endrec dti,command,6,recover,caseid,ordinal,endrec DTI,COMMAND,7,OUTPUT,SUMMARY,endrec
Main Index
Chapter 1: Introduction 19
Data Recovery
Once again, the list of PARTNAMEs must occur first (starting with record 1) on the DTI,COMMAND entries. In this case, we are working with parts section1 and section3. Record 3 is used to instruct the program that it is to perform data recovery for a static solution. If this were normal modes, the word static would be replaced with the word modes on this record. The next record (4) tells the program that the Solution Part is Part 3 (section3). This is how the program determines which solution to use. The following record (5) instructs the program to perform data recovery on Part 1 (section1) in this run. Once again, (although it is not required) it is recommended that a separate RECOVER run be performed for each Part Record 6 is the recommended order for the data recovery. Record 7 is optional, requesting an echo of how the DTI,COMMAND is interpreted by the program.
Main Index
Exporting a Part
There are two ways to EXPORT Part data. One is a separate PAA solution for EXPORTing Part data, the other is to use DBUNLOAD. The PAA solution allows you to EXPORT selected data in either a binary or a machine-independent file. The format of the EXPORT file is identical to OUTPUT2, but the EXPORT process is different than OUTPUT2. There is a sister solution, IMPORT, that can read in the information and store it on a database. DBUNLOAD is a standard MSC.Nastran feature and can be used at any time to unload and load a database or subset of the database.
1. SECRET (default) = export only the matrices and information necessary to include this Part in an Assembly. 2. SEMI = almost SECRET in addition to SECRET, export GEOM1 and GEOM2 (necessary to display the Part, but no property or loading information is included) 3. SOLUTION = exports the datablocks (SOLN and UAPART) necessary to perform data recovery on a Part after a solution is done. 4. DATABLK = select the datablocks being EXPORTed a separate line using this option may be used in a single EXPORT for each datablock to be EXPORTed)
Main Index
Chapter 1: Introduction 21
Exporting a Part
5. RECOVER = EXPORT solution data for the Part (needs SOLPART defined) The FILE commands determine the file (OUTPUT2) that will be used, the initial file position (like the OUTPUT2 DMAP position parameter) and the form (BINARY for now) Data for more than one Part can be EXPORTed in a single run if desired.
Main Index
DTI,COMMAND,0,1 DTI,COMMAND,1,IMPORT,UNIT,17,ENDREC (points to the ASSIGN statement) The only requirement in DTI,COMMAND for IMPORT is to specify the UNIT containing the datablocks to be IMPORTed. Currently IMPORT reads all datablocks from the file for the requested Part(s) and writes them into the database. The FILE commands determine the file (INPUTT2) that will be used, the initial file position (like the OUTPUT2 DMAP position parameter) and the form (BINARY for now).
Main Index
Chapter 1: Introduction 23
Deleting a part or a data for a part
The above would delete all datablocks associated with PART01, PART02, and PART10X from the current database.
Main Index
Main Index
Chapter 1: Introduction 25
Rapid Simulation-based Prototyping
For this example, a simple cantilever beam model, modeled using BAR elements is used. Both statics and normal modes are solved. The model is divided into 3 Parts, Section1, Section2, and Section3. Section3 will be an Assembly and will be the Solution Part. The process tree is a simple single-level tree.
Main Index
In order to prepare the model for solution, three runs are required, GENERATE is used for Parts 1 and 2, and COMBINE is used for Part 3. Although it is not necessary to perform a reduction, we will perform a reduction at each step
Main Index
Chapter 1: Introduction 27
Rapid Simulation-based Prototyping
Section 1 has boundary points 1 and 3, section 2 has boundary point 6.. Note: GRID 1 is to be constrained for our cantilever. This could be done in Section1 or Section3. For this example, the constraint will be applied in Section 3. Section3 contains GRID points 1, 3, 4, 5, and 6. GRID point 1 in Section3 is there simply to show that we can connect Section1 at GRIDs 1 and 3, then constrain GRID 3 in Section3.
Although not shown in the model of Section3, Section1 and Section2 are included in it, as it is an Assembly. Input files for this example are: Run01_section1_generate.dat - GENERATE section1 Run02_section2_generate.dat GENERATE section2 Run03_section3_combine.dat use COMBINE to create Assembly section3 Run04_solve_statics.dat static solution of Assembly (section3) Run05_recover_static1.dat statics data recovery on section1 Run06_recover_static2.dat statics data recovery on section2 Run07_solve_modes.dat solve for modes of Assembly (section3) Run08_recover_modes1.dat normal modes data recovery on section1 Run09_recover_modes2.dat normal modes data recovery on section2
Generate Section1
We have the following input file to GENERATE Section 1. The FMS section assigns the database files . Note: PAA runs should always be done with SCR=NO. assign master='run01_section1.MASTER', delete assign dball ='run01_section1.DBALL', delete SOL generate cend title = cantilever beam demonstration problem subtitle = run 1 - generate part 1 disp(plot) = all stress(plot) = all subcase 1 loadname = gravity x load = 1 subcase 2 loadname = gravity y load = 2 begin bulk $ Keep GRIDs 1 and 3 - 1= to be constrained $, 3 = attachment point aset1,123456,1,3 $ $ perform component modal synthesis $ param,methcmrs,1
Main Index
eigrl,1,,,10 param,autoqset,yes $ dti,command,0,8 dti command 1 partname 1section1endrec dti,command,2,generate,part,1,endrec dti,command,3,generate,matrix,all,endrec dti,command,4,generate,store,all,endrec dti,command,5,reduce,partname,1,endrec dti,command,6,reduce,transmat,make,otm,endrec dti,command,7,reduce,otm,all,endrec DTI,COMMAND,8,OUTPUT,SUMMARY,endrec $ param,grdpnt,0 $ grav,1,,386.0886,1., grav,2,,386.0886,0.,1. $ grid,1,,0.,0.,0. grid,2,,10.,0.,0. grid,3,,20.,0.,0. $ cbar,1,1,1,2,0.,1.,0. cbar,2,1,2,3,0.,1.,0. $ pbar,1,1,1.,11.,12.,1. mat1,1,10.+6,,.3,.1 param,wtmass,.00259 ENDDATA In order to GENERATE a Part, the GENERATE solution is selected. In the case control it is recommended that all loadings that might be applied on the Part must be defined in the GENERATE run for efficiency. Note the LOADNAME command - this allows you to associate a name with each SUBCASE. Later, these names may be used to define loading combinations. The model of the Part is in the bulk data. Once again with all loadings that might be applied on the Part. The DTI,COMMAND entries are required to tell the program what is to be done in this run. In this case, we are going to generate and reduce Section1. Also, OTM have been requested. When OTM are requested, the case control must contain the all output requests that might be made using the OTM. OTM are currently available for displacements, element stresses, element forces, and SPC forces. In this model, OTM for displacement and stress output have been requested. The plot option requests that they be calculated, but not printed in the f06 file. Reduction is optional in the GENERATE run. If reduction is to be done, then ALL boundary dof must be listed on ASET/ASET1, BSET/BSET1, and/or CSET/CSET1 entries. The entries selected determine how the boundary dof are treated during component modal synthesis (cms - if requested). If cms is not requested, all of the above entries are treated the same. If cms is desired, then the bulk data must contain PARAM,METHCMRS, an EIGR or EIGRL (referenced by METHCMRS) and a Q-set definition (PARAM,AUTOQSET, YES is the easiest way to do this). For this model, 10 component modes have been requested.
Main Index
Chapter 1: Introduction 29
Rapid Simulation-based Prototyping
Generate Section2
We have the following input file to GENERATE Section2. It is similar to the input to GENERATE Section1. assign master='run02_section2.MASTER', delete assign dball ='run02_section2.DBALL', delete SOL generate cend title = cantilever beam model demonstration problem subtitle = run 2 - generate part 2 disp(plot) = all stress(plot) = all subcase 1 loadname = gravity x load = 1 subcase 2 loadname = gravity y load = 2 begin bulk $ boundary definition aset1,123456,6 $ $ perform component modal synthesis $ param,methcmrs,1 eigr,1,mgiv,,,10 spoint,10001,thru,10010 qset1,0,10001,thru,10010 $ dti,command,0,8 dti command 1 partname 1section2endrec dti,command,2,generate,part,1,endrec dti,command,3,generate,matrix,all,endrec dti,command,4,generate,store,all,endrec dti,command,5,reduce,partname,1,endrec dti,command,6,reduce,transmat,make,otm,endrec dti,command,7,reduce,otm,all,endrec DTI,COMMAND,8,OUTPUT,SUMMARY,endrec $ param,grdpnt,0 grav,1,,386.0886,1., grav,2,,386.0886,0.,1. $ grid,6,,50.,0.,0. grid,7,,60.,0.,0. grid,8,,70.,0.,0. grid,9,,80.,0.,0. $ cbar,6,1,6,7,0.,1.,0. cbar,7,1,7,8,0.,1.,0. cbar,8,1,8,9,0.,1.,0. pbar,1,1,1.,11.,12.,1. mat1,1,10.+6,,.3,.1 param,wtmass,.00259
Main Index
ENDDATA For this Part, GRID 6 is the boundary. Note: It is not required to select all 6 dof on a boundary GRID. However, any dof not selected will not be available for attachment to downstream Parts.
The run uses a manual Q-set definition, rather than the automatic method used in the run that generated Section1. This is not required, however, as we intend to perform RSP on this Part later, it is a good idea to use a manual Q-set definition. RSP requires that the original Part and its replacement MUST have identical boundaries. This means that they must both have the same number of Q-set dof, in addition to the physical boundaries being identical. Note: The same LOADNAMEs and LOAD id's have been used in this run as in the one for Section1. This can make it easier to combine loadings later.
We have the following input file to COMBINE Section1 and Section2 with the physical model for Section3 to create Section3. It is not required to have a physical model for a 'combined Part', but it is allowed. assign master='run03_section3.master', delete assign dball ='run03_section3.dball', delete assign part04 = 'run01_section1.MASTER' assign part06 = 'run02_section2.MASTER' dblocate logical=part04 datablk=* dblocate logical=part06 datablk=* SOL combine cend title = cantilever beam demonstration problem subtitle = run 3 - combine parts 1 and 2 to create part 3 spc = 10 subcase 1 loadname = gravity x load = 1 subcase 2 loadname = gravity y load = 2 begin bulk $ set to request information from the COMBINE step param,printopt,1 $ constrain the model - for this run, put a coincident GRID to $ grid 1 from part 1 - and constrain it spc1,10,123456,1 grid,1,,0.,0.,0. $ boundary definition aset1,123456,3,6
Main Index
Chapter 1: Introduction 31
Rapid Simulation-based Prototyping
$ cms request param,methcmrs,1 eigrl,1,,,1 param,autoqset,yes $ dti,command,0,8,endrec dti command 1partname 1section3endrec dti command 2partname 2section1endrec dti command 3partname 3section2endrec dti,command,4,combine,assembly,1,endrec dti,command,5,combine,comp1,partid,2,endrec dti,command,6,combine,comp2,partid,3,endrec dti,command,7,combine,option,auto,endrec dti,command,8,output,summary,endrec grav,2,,386.0886,0.,1. grav,1,,386.0886,1. grid,3,,20.,0.,0. grid,4,,30.,0.,0. grid,5,,40.,0.,0. grid,6,,50.,0.,0. cbar,3,1,3,4,0.,1.,0. cbar,4,1,4,5,0.,1.,0. cbar,5,1,5,6,0.,1.,0. pbar,1,1,1.,11.,12.,1. mat1,1,10.+6,,.3,.1 param,wtmass,.00259 Once again, for convenience, the same LOADNAMEs and LOAD id's have been used in this run as in the one for Section1 and Section2. The program will automatically connect any GRIDs in the current input with any coincident boundary GRIDs from the upstream Parts. For this Part, GRID 6 is the boundary. Although a reduction is not required, we are performing one for demonstration purposes. CMS has also been requested for 10 modes. Note: If cms were requested without any physical dof in the A-set, you would be creating a modal Part, one that has no physical dof after processing. Modal Parts can be used in both statics and normal modes.
GRID 1 is added to the input for Section3 so that we can apply our constraint on it. Notice that there are no elements connecting to it, rather we will depend on the automatic connection logic to connect it and GRID 3 to Section1 and connect GRID 6 to Section2. PARAM,PRINTOPT,1 is added to request information on how the Parts are being attached in the COMBINE step. During a COMBINE step, the program starts with any GRIDs and SPOINTs in the current input, then internally creates GRIDs and SPOINTs to represent the upstream Part boundaries. The ids for these internally generated GRIDs and SPOINTs start above the highest GRID/SPOINT id in the current input.
Main Index
The DTI,COMMAND entries instruct the program to combine Section1 and Section2 with the physical model to create Section3.
Solve Statics
We have the following input file to perform a static solution on Assembly Part Section3. This uses solution SLVSTAT. assign master='run04_solve.master', delete assign dball ='run04_solve.dball', delete assign part03 = 'run03_section3.master' dblocate logical=part03 datablk=* dbdict select(name,partname,mpc,spc)$ SOL slvstat $ cend title = cantilever demonstration problem subtitle = perform static solution disp = all stress = all spc = 10 $ spc set used in COMBINE run subcase 1 loadname = gravity x load = 1 subcase 2 loadname = gravity y load = 2 begin bulk $ dti,command,0,9,endrec dti command 1partname 1section3endrec dti command 2partname 2section2endrec dti command 3partname 3section1endrec dti,command,4,solve,solpart,1,endrec dti,command,5,solve,solution,static,endrec dti,command,6,solve,reco1,partname,1,endrec dti,command,7,solve,reco2,partname,2,endrec dti,command,8,solve,reco3,partname,3,endrec DTI,COMMAND,9,OUTPUT,SUMMARY,endrec $ enddata This file is called run04_solve_statics.dat Note that the SPC set is identical to that used in the COMBINE run, that crated Section3. Although no new constraints are being applied, the datablocks for Section3 are store with the qualifier SPC=10, so if we wish to use them, we must be careful to match the qualifiers that were used to create them. The case control instructs the program to solve for 2 loading conditions. In this run, we take advantage of having used the same LOAD id in each prior run. A SLVSTAT run will automatically combine ALL loadings with the same LOAD id as that in the current subcase.
Main Index
Chapter 1: Introduction 33
Rapid Simulation-based Prototyping
The LOADNAME commands in this run are not used to determine how to combine the loadings, as there are LOAD commands. If there were no LOAD commands, the program would automatically combine all loads with the LOADNAME in each subcase. The DTI,COMMAND entries request the solution of Section3, and that the boundary solutions be found for all Parts. The SOLVE step automatically performs any requested data recovery on the Solution Part. Data recovery for any other Parts must be done using the RECOVER solution.
Data Recovery for Statics
We have the following input file to perform a data recovery on Section2 using the static solution from the previous run. The solution to perform data recovery is RECOVER. The same solution is used for both statics and normal modes. assign master=run06_recover.master, delete assign dball =run06_recover.dball, delete assign solve = 'run04_solve.master' dblocate logical=solve datablk=* $ SOL recover $ cend title = cantilever beam demonstration problem subtitle = run 6 - statics data recovery on Part 2 $ disp = all stress = all $ subcase 1 loadname = gravity x load = 1 subcase 2 loadname = gravity y load = 2 begin bulk $ dti,command,0,7,endrec dti command 1partname 1section2endrec dti command 2partname 3section3endrec dti,command,3,recover,solution,static,endrec dti,command,4,recover,solpart,3,endrec dti,command,5,recover,reco1,part,1,endrec dti,command,6,recover,caseid,ordinal,endrec DTI,COMMAND,7,OUTPUT,SUMMARY,endrec $ ENDDATA This input file is called run06_recover_static2.dat Note that the SPC set is identical to that used in the GENERATE run, that created Section2. Once again we must be careful to match the qualifiers that were used when the Part was created.
Main Index
The case control instructs the program to perform data recovery for the two subcases. The LOAD and LOADNAME commands are not required, as that information is contained in the boundary solution datablocks. The DTI,COMMAND entries request data recovery for Section2 and state that the solution Part was Section3 (It is necessary to specify the Solution Part, as PAA allows solutions to be performed at any level in the process tree) and the solution type is statics. As the DTI,COMMAND does not request the use of the OTM we created earlier, conventional data recovery will be used.
Solve Modes
We have the following input file to solve Section3 for normal modes. This input file is called run07_solve_modes.dat. assign master='run07_solve.master', delete assign dball ='run07_solve.dball', delete assign part03 = 'run03_section3.master' dblocate logical=part03 datablk=* $ SOL slvmodes diag 8,15,56 $ cend title = cantilever beam demonstration problem subtitle = run 7 - normal modes solution $ disp = all stress = all spc = 10 subcase 1 method = 1 begin bulk $ eigrl,1,,,10 $ dti,command,0,9,endrec dti command 1partname 1section3endrec dti command 2partname 2section2endrec dti command 3partname 3section1endrec dti,command,4,solve,solpart,1,endrec dti,command,5,solve,solution,modes,endrec dti,command,6,solve,reco1,partname,1,endrec dti,command,7,solve,reco2,partname,2,endrec dti,command,8,solve,reco3,partname,3,endrec DTI,COMMAND,9,OUTPUT,SUMMARY,endrec $ ENDDATA Solution SLVMODES is used. Note that, once again, the SPC set is identical to that used in the COMBINE run, that created Section3.
Main Index
Chapter 1: Introduction 35
Rapid Simulation-based Prototyping
The case control instructs the program to use EIGRL 10 to control the eigenvalue solution and calculate stresses and eigenvectors for the Solution Part. The DTI,COMMAND entries tell the program that Section3 is the Solution Part, the solution is normal modes, and boundary solutions should be found for Section1, Section2, and Section3. Data recovery for Section1 and Section2 require using RECOVER (similar to the previous example).
Sample 2 - Performing RSP on the model from sample 1
For this example, we will modify Section2 (and call the new Part 'part2a') of the previous model. The modification consists of adding a single offset GRID point with a concentrated mass. The GRID will be connected by a spring in the Y-direction and an RBAR will connect the other 5 dof to the tip GRID. $ add mass and spring at tip grid,10000,,80.,1.,0. celas2,10001,1.,10000,2,9,2 conm2,10002,10000,,1. rbar,10003,9,10000,123456,,,13456 $ The modifications to the input file for Section2 to create part2a are shown at the right: In addition, the new Part name of 'part2a' is used in the file to identify the new Part. The change modifies the stiffness, mass, and loadings of the Part. Input files for this example are: Run01_section1_generate.dat - GENERATE section1 Run02_section2_generate.dat - GENERATE section2 Run03_section3_combine.dat - use COMBINE to create Assembly section3 Run04_solve_statics.dat - static solution of Assembly (section3) Run05_recover_static1.dat - statics data recovery on section1 Run06_recover_static2.dat - statics data recovery on section2 Run07_solve_modes.dat - solve for modes of Assembly (section3) Run08_recover_modes1.dat - normal modes data recovery on section1 Run09_recover_modes2.dat - normal modes data recovery on section2 Run10_part2a_generate.dat - generate modified section2 = part2a Run11_update_solpart.dat - update Assembly (section3=>part3a) Run12_solve_updated_statics.dat - static solution on updated Assembly(part3a) Run13_recover_updated-static1.dat - statics data recovery on section1 using updated solution
Main Index
Run14_recover_updated_static2.dat - statics data recovery on part2a Run15_solve_update_modes.dat - solve updated Assembly(part3a) for normal modes Run16_recover_updated_modes1.dat - normal modes data recovery on section1 using updated solution Run17_recover_updated_modes2.dat - normal modes data recovery on part2a Runs 1-9 are identical to sample 1.
Generate Part2A
The input file is similar to the file used to generate Section2. The changes are in the Partname, the model input, and the database names. Also, a manual Q-set definition is used to be sure that the boundary has the same number of dof as the original Part. This input file is called run10_part2a_generate.dat Once again, this is a requirement of RSP. The replacement Part must have the same boundary dof as the original Part it is replacing. assign master='run10_part2a.MASTER', delete assign dball ='run10_part2a.DBALL', delete SOL generate cend title = cantilever beam model demonstration problem subtitle = run 10 - generate updated part 2a disp = all stress = all subcase 1 loadname = gravity x load = 1 subcase 2 loadname = gravity y load = 2 begin bulk $ add mass and spring at tip grid,10000,,80.,1.,0. celas2,10001,1.,10000,2,9,2 conm2,10002,10000,,1. rbar,10003,9,10000,123456,,,13456 aset1,123456,6 param,methcmrs,1 eigr,1,mgiv,,,10 spoint,10001,thru,10010 qset1,0,10001,thru,10010 dti,command,0,8 dti command 1 partname 1part2a endrec dti,command,2,generate,part,1,endrec dti,command,3,generate,matrix,all,endrec dti,command,4,generate,store,all,endrec dti,command,5,reduce,partname,1,endrec dti,command,6,reduce,transmat,make,otm,endrec dti,command,7,reduce,otm,all,endrec DTI,COMMAND,8,OUTPUT,SUMMARY,endrec
Main Index
Chapter 1: Introduction 37
Rapid Simulation-based Prototyping
param,grdpnt,0 grav,1,,386.0886,1., grav,2,,386.0886,0.,1. grid,6,,50.,0.,0. grid,7,,60.,0.,0. grid,8,,70.,0.,0. grid,9,,80.,0.,0. cbar,6,1,6,7,0.,1.,0. cbar,7,1,7,8,0.,1.,0. cbar,8,1,8,9,0.,1.,0. pbar,1,1,1.,11.,12.,1. mat1,1,10.+6,,.3,.1 param,wtmass,.00259 ENDDATA
RSP - Update Solution Part
In this run, the original Part (Section2) is replaced by the updated Part (Part2a). PAA modifies the load matrix for the Solution Part (Section3) to include any new/changed loadings and updates the other matrices for the changes in stiffness/ mass/ damping. The input file is called run11_update_solpart.dat. In order to do this, the databases associated with the Solution Part, original Part, and updated Part are attached. In this case, the database from run 3 contains both the original Part and the Solution Part. The database from run 10 contains the updated Part. assign master='run_11_update_solpart.master', delete assign dball ='run_11_update_solpart.dball', delete assign oldsoln='run03_section3.master' dblocate logical=oldsoln, datablk=*, copy assign part2a='run10_part2a.MASTER' dblocate logical=part2a,datablk=*, copy $ sol updtsp $ cend title = cantilever beam demonstration problem subtitle = run 11 update solution part $ spc = 10 subcase 1 loadname = gravity x load = 1 subcase 2 loadname = gravity y load = 2 begin bulk $ dti,command,0,9 dti command 1 partname 1section2endrec dti command 2 partname 2part2a endrec dti command 3 partname 3section3endrec dti command 4 partname 4part3a endrec dti,command,5,updtsp,oldpart,1,endrec dti,command,6,updtsp,newpart,2,endrec
Main Index
dti,command,7,updtsp,oldspart,3,endrec dti,command,8,updtsp,newspart,4,endrec DTI,COMMAND,9,OUTPUT,SUMMARY,endrec $ ENDDATA Solution UPDTSP is used to update the solution Part matrices/tables based on the modifications. A different PARTNAME is used for the updated solution Part, so that the original one is still available (not required, but recommended). In this case, the original solution Part is Section3 and the updated solution Part is Part3a. The case control in this run is used to set qualifiers, so it is best to have it be a copy of the case control from the run that created the solution Part.
RSP - Solve updated model for statics
This run is similar to the run to solve the original solution Part, only the solution Part is now Part3a and Section2 has been replaced by Part2a. For this input file, only the FMS and the Partnames in the DTI,COMMAND have been changed from the original static solution input. assign master='run12_solve.master', delete assign dball ='run12_solve.dball', delete assign part3a = 'run_11_update_solpart.master' dblocate logical=part3a datablk=* SOL slvstat $ cend title = cantilever demonstration problem subtitle = perform static solution disp = all stress = all spc = 10 $ spc set used in COMBINE run subcase 1 loadname = gravity x load = 1 subcase 2 loadname = gravity y load = 2 begin bulk $ dti,command,0,9,endrec dti command 1partname 1part3a endrec dti command 2partname 2part2a endrec dti command 3partname 3section1endrec dti,command,4,solve,solpart,1,endrec dti,command,5,solve,solution,static,endrec dti,command,6,solve,reco1,partname,1,endrec dti,command,7,solve,reco2,partname,2,endrec dti,command,8,solve,reco3,partname,3,endrec DTI,COMMAND,9,OUTPUT,SUMMARY,endrec $ enddata
Main Index
Chapter 1: Introduction 39
Rapid Simulation-based Prototyping
The input to solve for normal modes is changed in a similar manner, as are the input files for data recovery, so they are not shown.
Sample 3 - Demonstrate EXPORT and IMPORT
This sample is simply a modified version of sample 1, with EXPORT and IMPORT implemented during the process to emulate multiple engineers, working on a secret project, where the model data cannot be shared between groups. Now, all runs for section1 are done by one company and will appear in blue in the table below, runs for section2 are done by another company and will appear in orange, while runs for section3 (the Assembly) are done by a third company and will appear in purple. No company will see any model data for any other company's Part. Only the reduced matrices, information needed to connect Parts, and results data are passed between companies. No model data is shared (except for the boundary information). Input files for this example are: Run01_section1_generate.dat - GENERATE section1 Run01a_section1_export.dat - EXPORT section1 Run01b_section1_import.dat - import section1 Run02_section2_generate.dat - GENERATE section2 Run02a_section2_export.dat -EXPORT section2 Run02b_section2_import.dat - import section2 Run03_section3_combine.dat - use COMBINE to create Assembly section3 Run04_solve_statics.dat - static solution of Assembly (section3) Run04a_export_static_solution1.dat - export static solution for section1 Run04b_export_static_solution2.dat - export static solution for section2 Run05a_import_static1.dat - statics data recovery on section1 Run05b_recover_static1.dat - statics data recovery on section1 Run06a_import_static2.dat - statics data recovery on section2 Run06b_recover_static2.dat - statics data recovery on section2 Selected files are described below.
Run01a_section1_export.dat
This file exports the matrices and boundary information for section1 in a machine-independent format. The SECRET option is chosen, that means that only the information needed to connect the Part to an Assembly is transmitted, no model information (elements, materials, ans so on.) is transmitted.
Main Index
This input file is very simple, the FMS is used to attach the database for section1, and dblocate the datablocks in that database. assign section1='run01_section1.MASTER' dblocate logical=section1 $ assign output2=section1.op2, unit=41, formatted, delete $ sol p_export $ cend title = cantilever beam demonstration problem subtitle = run 1a - export part 1 - secret $ begin bulk $ dti,command,0,7 dti command 1 partname 1section1endrec dti,command,2,export,part1,name,1,endrec dti,command,3,export,part1,select,secret,endrec dti,command,4,export,file,unit,41,endrec dti,command,5,export,file,method,ascii,endrec dti,command,6,export,file,position,0,endrec DTI,COMMAND,7,OUTPUT,SUMMARY,endrec $ ENDDATA An FMS ASSIGN statement is used to allocate the file the data will be EXPORTed to. In this case, 'section1.op2' and it will be formatted (machine-independent). The solution is P_EXPORT. The case control has no required commands. In this case, simply a title and subtitle are provided to describe the run. The DTI,COMMAND is used to select the Part to be exported (section1), the UNIT (41) the data will be written to and the data (SECRET) to be EXPORTed.
Run01b_section1_import.dat
This run is used by the system integrator (person with section3) to IMPORT the data for section1. assign master='run01b_import.master', delete assign dball ='run01b_import.dball', delete assign inputt2=section1.op2, unit=41, formatted $ SOL p_import $ cend title = cantilever beam demonstration problem subtitle = run 2b - import secret parts 1 and 2 $ begin bulk $
Main Index
Chapter 1: Introduction 41
Rapid Simulation-based Prototyping
dti,command,0,3 dti,command,1,partname,1,section1,endrec dti,command,2,import,unit,41,endrec dti,command,3,import,oper1,all,partname,1,endrec $ $ ENDDATA The FMS section is used to allocate the database files and attach the file used to EXPORT the data for section1 (section1.op2) as unit 41. The solution is P_IMPORT. There are no required case control commands for IMPORT, however in this case, we have used the title and subtitle to identify the run. The bulk data consists of the DTI,COMMAND, instructing the program to IMPORT the data found in unit 41. All datablocks found on this file will be IMPORTed and stored on the database. Similar runs are done for section2. Run03 is almost identical to the previous versions, only the FMS section is different, attaching the databases created by the IMPORT runs and using DBLOCATE to get the data from them. Run04 is identical to the previous examples Run04a_export_static_solution1.dat This run is used by the system integrator to EXPORT solution data for section1. assign solution='run04_solve.master' dblocate logical=solution datablk=* $ assign output2=part_1_results_ascii.op2, unit=41, formatted, delete $ SOL P_EXPORT $ cend title = cantilever demonstration problem subtitle = export static solution for section1 begin bulk $ $ dti,command,0,10 dti command 1 partname 1section1endrec dti command 2 partname 2section2endrec dti command 3 partname 3section3endrec dti,command,4,export,part1,name,1,endrec dti,command,5,export,part1,solpart,3,endrec dti,command,6,export,part1,select,solution,endrec dti,command,7,export,file,unit,41,endrec dti,command,8,export,file,method,binary,endrec dti,command,9,export,file,position,0,endrec DTI,COMMAND,10,OUTPUT,SUMMARY,endrec
Main Index
$ $ enddata The FMS section is used to attach the database files and allocate the file used to EXPORT the solution data for section1 as unit 41. The solution is P_EXPORT. There are no required case control commands for EXPORT, however in this case, we have used the title and subtitle to identify the run. The bulk data consists of the DTI,COMMAND, instructing the program to EXPORT the solution data for sectiona1. A similar run is done for section2.
Run05a_import_static1.dat
This run is used by the contractor working with section1 to import the solution data. assign master='run05a_import_soln.master', delete assign dball ='run05a_import_soln.dball', delete $ assign inputt2=part_1_results_ascii.op2, unit=41, formatted $ SOL p_import $ cend title = cantilever beam demonstration problem subtitle = run 5a - statics boundary solution for section1 begin bulk $ $ dti,command,0,7 dti command 1 partname 1section1endrec dti command 2 partname 2section3endrec dti,command,3,import,oper1,all,partname,1,endrec dti,command,4,import,oper1,all,solpart,2,endrec dti,command,5,import,unit,41,endrec DTI,COMMAND,6,OUTPUT,SUMMARY,endrec DTI,COMMAND,7,OUTPUT,import,endrec $ $ ENDDATA The FMS section is used to allocate the database files and attach the file used to IMPORT the solution data for section1 as unit 41. The solution is P_IMPORT. Once again, there are no required case control commands for IMPORT, however in this case, we have used the title and subtitle to identify the run.
Main Index
Chapter 1: Introduction 43
Rapid Simulation-based Prototyping
The bulk data consists of the DTI,COMMAND, instructing the program to IMPORT the solution data for section1.
Run05b_recover_static1.dat
This run is used by the contractor working with section1 to perform data recovery. assign master=run05b_recover.master, delete, temp assign dball =run05b_recover.dball, delete, temp $ assign solution = 'run05a_import_soln.master' dblocate logical=solution datablk=* $ assign part01='run01_section1.MASTER' dblocate logical=part01 $ SOL recover $ cend title = cantilever beam demonstration problem subtitle = run 5b - statics data recovery on Part 1 disp = all stress = all $ subcase 1 loadname = gravity x load = 1 subcase 2 loadname = gravity y load = 2 begin bulk $ dti,command,0,7,endrec dti command 1partname 1section1endrec dti command 2partname 3section3endrec dti,command,3,recover,solution,static,endrec dti,command,4,recover,solpart,3,endrec dti,command,5,recover,reco1,part,1,endrec dti,command,6,recover,caseid,ordinal,endrec DTI,COMMAND,7,OUTPUT,SUMMARY,endrec $ ENDDATA The FMS section is used to allocate temporary database files and attach the database created by the IMPORT run and the database used by the GENERATE run for section1. The solution is RECOVER. The Case Control for this run contains the output requests for the solution. If the system integrator has not provided a description of the solutions, printing out the SOLN table from the database provides a solution description. Each record of the SOLN table contains the LOADNAME used in the solution run for the associated SUBCASE, plus information on loads from the current Part (section1) used in this solution and their scale factors.
Main Index
When in doubt, you may use a single SUBCASE with your output requests and the program will use those output requests for all loading conditions. The bulk data consists of the DTI,COMMAND, instructing the program for data recovery - this is identical to run05 in the previous examples. Run06a and run06b are similar runs for section2.
Main Index
Index
MSC Nastran PAA Users Guide
Examples, 25 EXPORT EXPORT selected information for one or more Parts, 20, 21, 22 Exporting a Part, 20
G I
Generate a Part, 4
IMPORT IMPORT data for one or more Parts, 20, 22, 23, 27 Importing a part or data for a part, 22
O R S
Main Index
Main Index