Professional Documents
Culture Documents
1
Release Guide
Main Index
Corporate
Japan
Asia-Pacific
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 2016 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. Additional terms and conditions and/or notices may apply for certain third party software. Such
additional third party software terms and conditions and/or notices may be set forth in documentation and/or at
http://www.mscsoftware.com/thirdpartysoftware (or successor website designated by MSC from time to time).
PCGLSS 8.0, Copyright 1992-2014, Computational Applications and System Integration Inc. All rights reserved.
PCGLSS 8.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. MPICH2 is
developed by Argonne National Laboratory. Copyright + 2002 University of Chicago.
MSC, Dytran, Marc, MSC Nastran, Patran, the MSC Software corporate logo, e-Xstream, Digimat, and Simulating
Reality are trademarks or registered trademarks of the MSC Software Corporation and/or its subsidiaries in the
United States and/or other countries.
NASTRAN is a registered trademark of NASA. LS-DYNA is a trademark or registered trademark of Livermore
Software Technology Corporation. FLEXlm and FlexNet Publisher are trademarks or registered trademarks of
Flexera Software. All other trademarks are the property of their respective owners.
Revision 0. June 14, 2016
NA:V2016.1:Z:Z:Z:DC-REL
Main Index
Contents
MSC Nastran 2016.1 Release Guide
2016Contents
Preface
Preface to the MSC Nastran 2016.1 Release Guide
List of MSC Nastran Books
Technical Support
10
11
Linear Analysis
22
Acoustics
ERP Enhancements
Normal Velocity
32
34
Vibration Intensity
36
37
41
Main Index
43
39
48
Interference Fit
50
52
54
55
3-D Rotordynamics
3-D Rotordynamics in MSC Nastran
57
Optimization
Global Optimization
86
94
46
103
Dynamic Analysis
Generalized Frequency dependency using MSC Nastran/Digimat (2016.1)
114
124
Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200
Parallel Processing Licensing
128
135
137
Main Index
140
106
Contents 5
10
142
11
147
150
152
User Interface
HDF5 Result Database (NH5RDB)
F06Reader Utility
155
193
12
Platform Support
Supported Hardware and Operating Systems
Main Index
205
200
145
Preface
Main Index
Technical Support
9
10
11
Preface 7
Main Index
Guides
Reference Books
Quick Reference Guide
DMAP Programmers Guide
Reference Manual
Users Guides
Getting Started
Linear Static Analysis
Dynamic Analysis
Embedded Fatigue
MSC Nastran Demonstration Problems
Thermal Analysis
Superelements
Design Sensitivity and Optimization
Rotordynamics Users Guide
Implicit Nonlinear (SOL 600)
Explicit Nonlinear (SOL 700)
Aeroelastic Analysis
User Defined Services
Nastran Embedded Fatigue Users Guide
Non Linear User's Guide (SOL 400)
Utilities Guide
Main Index
Preface 9
Technical Support
For technical support phone numbers and contact information, please visit:
http://www.mscsoftware.com/Contents/Services/Technical-Support/Contact-Technical-Support.aspx
Support Center (http://simcompanion.mscsoftware.com)
The SimCompanion link above gives you access to the wealth of resources for MSC Software products. Here you will
find product and support contact information, product documentations, knowledge base articles, product error list,
knowledge base articles and SimAcademy Webinars. It is a searchable database which allows you to find articles
relevant to your inquiry. Valid MSC customer entitlement and login is required to access the database and documents.
It is a single sign-on that gives you access to product documentation for complete list of products from MSC Software,
allows you to manage your support cases, and participate in our discussion forums.
Main Index
Main Index
Preface 11
Desktop
Environment
Browser
Browser Version
Linux (64-bit)
KDE
Konqueror
4.3.4 or higher
Linux (64-bit)
Gnome
Evince
2.28.2 or higher
Microsoft (64-bit)
Windows 7
Adobe Reader
10.1.4 or higher
Note:
Adobe has dropped support for Reader on Linux. The browsers in the above table have been tested and
work with the current version of the MSC Nastran Documentation.
Utilities
The MSC utilities including MultiOpt described in this release guide have been moved from the Installation and
Operators Guide to their own manual labeled MSC Nastran Utilities Guide.
Main Index
Main Index
MSC Software is pleased to introduce you to the exciting new technologies in MSC Nastran 2016 - the premier and
trusted CAE solution for aerospace, automotive, defense, and manufacturing industries worldwide. This release
includes new features and enhancements in Contact, Fatigue, High Performance Computing, Acoustics, Optimization,
and Rotordynamics. This release also changes the default mode in MSC Nastran to i8, or 64-bit integers, instead of the
previous default of i4, or 32-bit integers. The i4 version is packaged separately from the i8 version and has its own
installer on the SDC site.
Linear Analysis
CWELD/CFAST/CSEAM Element Enhancements, 5
MSC Nastran Embedded Fatigue (NEF) Updates, 22
Acoustics
ERP Enhancements, 32
Normal Velocity, 34
Vibration Intensity, 36
ACLOAD and PEM Interpolation Enhancements, 37
Out-of-Core Solver for Large Trim Components of PEM, 39
Rotordynamics
3-D Rotordynamics in MSC Nastran, 57
Optimization
Global Optimization, 86
Multi Model Optimization, 94
Weight as a Function of Material or Property ID, 103
Dynamic Analysis
Generalized Frequency dependency using MSC Nastran/Digimat (2016.1), 106
User Interface
HDF5 Result Database (NH5RDB), 155
F06Reader Utility, 193
Solid Elements Coordinate System Enhancement, 200
Platform Support
Supported Hardware and Operating Systems, 205
Main Index
Main Index
Linear Analysis
22
Benefits
1. The CWELD/CFAST elements provide the same element output formats in both linear and SOL 400 nonlinear
solutions.
2. In the CFAST/CSEAM/CWELD analysis, the auxiliary points generated are in the solution set.
3. The CWELD/CFAST algorithm has been improved to find the Best Possible Projection with zero projection
tolerance improvements.
4. The improved CWELD with options "PARTPAT" and "ELPAT", and CFAST elements do not move GA and
GB if both are supplied by the user, thus maintaining user mesh integrity.
5. The 3x3 mesh limitation has been removed for the CWELD with options "PARTPAT" and "ELPAT" and the
CFAST elements.
6. There are no required changes in the user element input description of the CFAST/CSEAM/CWELD elements.
7. The CFAST/CWELD/CBUSH provides nonlinear force output for SOL 400 "ANALYSIS=NLTRAN".
8. MPC Force output is available for the connector element constraints.
9. Besides global search algorithm control there is now local connector element connectivity control via the new
CONCTL bulk data entry.
10. A brief summary of connector projection results is output in the F06 file for each connector type.
11. A new "SWLDPRM, CSVOUT, UNITNUM" entry will produce a comma separated file useful for reports.
12. The CSEAM and CWELD (not by default) can now contribute mass to the structure.
Feature Description
Details of the improved CWELD/CFAST algorithm are described below.
Formulation Changes
In the new consistent formulation for the CWELD/CFAST elements for linear analysis, RBE3 elements are written
internally, and the auxiliary points are in the solution set and both are identifiable by the SWLDPRM, PRTSW entry.
1. The auxiliary grids generated start with GRID ID 101000001. There are always four auxiliary grids for patch
A and four auxiliary grids for patch B.
2. The RBE3 elements generated start with 100001002. An RBE3 is generated for each auxiliary point for each
patch A and B tying each patch grid to that auxiliary point. There is a RBE3 generated for GA tying GA to its
patch auxiliary points and a RBE3 generated for GB tying GB to its patch auxiliary points.
3. Both linear and nonlinear output is consistent.
Main Index
Linear Analysis 6
CWELD/CFAST/CSEAM Element Enhancements
The new consistent CWELD/CFAST is selected by default. The old CWELD/CFAST can be actuated by using the
"PARAM, OLDWELD, YES" entry.
It has been determined in testing that the above formulation changes produce little or no change in solution results
when comparing the old CWELD/CFAST against the new CWELD/CFAST results.
Main Index
d. Use the new CONCTL Bulk Data entry with "SWLDPRM, MOVGAB, 1" to allow local control of specific
welds to correct the locations of grids GA and GB. (See Connector Control section below for detail.)
CONCTL, 83, , MOVGAB, 1
Where:
SET3, 83, ELEM, 1345, 2678
5. The maximum tolerance for SWLDPRM, PROJTOL has been relaxed.
a. Regardless of the value of SWLDPRM PROJTOL, the algorithm starts by assuming a zero projection
tolerance for the projections of GA/GB for the CWELD option "PARTPAT" or the CFAST option "PROP"
and for GAHi/GBHi for the CWELD options "PARTPAT" and "ELPAT" and any CFAST option.
b. The tolerance is increased by 0.02 until a projection is found or the PROJTOL value is reached.
c. This can be turned off while computing the auxiliary grid projection onto EIDA/EIDB by setting
PROJTOL= - value where 0.0 value 1.0. In this case, the projection calculation starts at tolerance =
|PROJTOL|. For the rest of the projection search, the algorithm reverts back to (a) and (b) above.
6. A brief "Connector Summary" of projection results is always output in the f06 file for each connector type:
FST-ELEM, WLD-PARTPAT, WLD-ELEMID, etc.
CONNECTOR SUMMARY
ELEM TYPE
FST-ELEM
GOOD/BAD
NUMBER
FOUND
MAX TIMES GS
MOVED (GSMOVE) AT
G
B
GH 0.0
26
0
EID
(0.02) 6000000
MAX TIMES GS
MOVED (GSMOVE) AT
EID
MAX TIMES
DIAMETER
REDUCED (NREDIA)
AT EID
0 (
0)
6000000
(4)
6000018
7. For linear connectors, MPCFORCE output is available. In nonlinear SOL 400, the RBE3 elements generated
become Lagrange elements if the default RIGID=LAGRANGE is used and are no longer in the MPC set; hence,
there will be NO MPCFORCE output for RIGID=LAGRANGE.
Warning:
CWELD will not contribute to MASS by default even if its associated MATi entry has a nonzero
density. To react to a nonzero density "SWLDPARM,WMASS,1" is required. If mass is computed,
the PARAM,COUPMASS effects the mass calculation.
8. In the improved CFAST and CWELD, GA and GB are not moved and internal coincident grids are not
generated at a new location; thus, two additional restrictions are required.
a. There can be no user-supplied constraints on GA and GB. A fatal message will be issued if there are any.
b. The CWELD length must be > 10-6. The point to patch option defined by ELEMID or GRIDID will,
however, still create a new GS internally to obtain a minimum required length; i.e., LDMIN length/D
LDMAX. For the point-to-patch connection, GS is used as GB. The algorithm will use the new GS as GB
but keep the user-supplied GS unchanged. Since the point-to-patch is often used to "tack" two shell corners,
the default LDMIN may cause the connector to be unstable. To avoid this, it is recommended that the user
set LDMIN=1.E-6 on the appropriate PWELD entry.
Main Index
Linear Analysis 8
CWELD/CFAST/CSEAM Element Enhancements
9. CFAST and the CWELD with options "PARTPAT" and "ELPAT" with the improved formulation has removed
the restriction that a connector patch cannot span more than three elements. It will now span over a patch of as
many elements that the value of diameter D of the patch encloses and for which projections can be found.
In the following Figure 2-1 (The example for this figure can be found at /tpl/connectr14/cei_103.dat), all
element grids contained in the green circle region of say patch A will be used in a RBE3 connection in addition
to the RBE3 connections generated for the four auxiliary points. The green circle passes through the four
auxiliary points of the patch (The nine digit grid IDs.). The user-specified diameter D on the PWELD and
PFAST entries determine the locations of the four auxiliary points. (The green circle diameter is approximately
1.253D.) The element grids shown outside the green circle belong only to the respective auxiliary points.
For higher-order shell elements CQUAD8 or CTRIA6 with no missing midside nodes, the RBE3 relationships
use only the midside nodes. If one or more midside node is missing (NEVER RECOMMENDED), then the
corner nodes are used.
The diameter D on the PFAST/PWELD entry is used to determine the projection location of these auxiliary
points as well as the stiffness properties of the patch to patch connection.
A single RBE3 then connects the four auxiliary points and the shell grids within the green circle to the connector
grid GA=4000065.
Reminder: The CWELD ELEMID option still only connects by design two elements. The diameter is only used
to compute the beam stiffness.
Figure 2-1
The SWLDPRM, PRTSW entry will list the additional grids located within the green circle under FMESH
SHELL A or B GRIDS where FMESH is the f06 file listing title of the additional shell grids connected in the
RBE3 relationships for Finer MESH.
Main Index
Table 2-1 shows the grids associated with auxiliary grid 101000023 of Figure 2-1 for its RBE3 generation. The
WTi's are weight factors based on patch shape functions. Grids G1, G2, G3 are selected for RBE3 EID
100001026 because they are the shell grids of the triangular element that contains the projected auxiliary point.
EID
GAH3
REFC
Weight
Ci
Gi
100001026
101000023
123
WT1
123
G1=4007883
WT2
123
G2=4007884
WT3
123
G3=4007902
Table 2-2 shows the grids associated with grid GA=4000065 of Figure 2-1 through RBE3=100001022. G5
through Gn are the grids contained within the green circle. Grids G2=4007884, 4007869, 4007815, and
4007830 are NOT included in any of the G5-Gn entries because they are included in their associated auxiliary
point RBE3 elements
100001026 because they are the shell grids of the triangular element that contains the projected auxiliary point.
Table 2-2 All GHAi + Patch A Green Circle Grids for RGE3 100001022
RBE3
EID
GRD_A
REFC
Weight
Ci
Gi
100001022
4000065
123456
WT1
123
GAH1=101000021
WT2
123
GAH2=101000022
WT3
123
GAH3=101000023
WT4
132
GAH4=101000024
1.0
123
G5= 4007885
...
...
...
1.0
123
Gn=last
10. The CWELD/CFAST/CBUSH has the additional enhancement that for nonlinear transient SOL 400 with
"ANALYSIS=NLTRAN" they will request Element FORCE output for the CWELD/CFAST/CBUSH
elements. FORCE=ALL will request force output for all CWELD/CFAST/CBUSH elements. Element FORCE
output in SOL 400 nonlinear transient analysis is unique to CWELD/CFAST/CBUSH elements. Other elements
will not list force output in SOL 400 nonlinear transient. Beware that if in a SOL 400 nonlinear transient, you
have FORCE=ALL and carry this over to say an "ANALYSIS=NLSTAT", you will get Element FORCE of
ALL elements capable of force output, such as CWELD, CFAST, CBEAM, CQUAD4, etc.
11. For user convenience, an additional SWLDPRM command useful for reports creates a comma separated file of
the SWLDPRM, PRTSW, using the command "SWLDPRM, CSVOUT, UNITNUM" where "UNITNUM" is
assigned via the:
ASSIGN USERFILE=myfile.csv, UNIT= UNITNUM , FORM= FORMATTED, DELETE, STATUS=NEW.
(See Table 2-3 Report Format.)
Main Index
Linear Analysis 10
CWELD/CFAST/CSEAM Element Enhancements
Additional Information
1. In SOL 400, for "ANALYSIS=NLSTAT" or "ANALYSIS=NLTRAN", the generated RBE3 constraints
become Lagrange elements and may undergo large rotation. For "ANALYSIS=NLTRAN" with initial
conditions (IC=n) in case control that cause large initial stresses in the structure at time t=0, the case control
entry RIGID needs to have the value "RIGID=LINEAR" to insure convergence.
2. For user desiring to postprocess the CFAST/CSEAM/CWELD connectors with their own methods, the
following is useful:
a. The GEOM2 table contains, after module MODGM2, a record ELCORR that correlates the
CFAST/CSEAM/CWELD and its associated RBE3 elements. Also, this module will, for linear analysis and
for nonlinear SOL 400 analysis run with RIGID=LINEAR, place the internal generated RBE3 into the
GEOM4 table.
b. In SOL 400 with "RIGID=LAGRANGE" (Default), internally generated RBE3 elements go into the
GEOM2 (as do all other user specified rigid elements) not the GEOM4 table.
c. The CWELD/CFAST/CBUSH force output for "ANALYSIS=NLTRAN" in SOL 400 is OP2 file output on
OEFNLXX data block. If SCR=POST is run, then this force data is also written to the data base file
OEFNL3 and op2 file OEFNL.op2 is also written.
3. The DISPLACEMENT (CONNECTOR=) Case Control Command works in the same fashion for both the old
connector formulation and the new connector formulation.
4. Reminder: For the CFAST with option "ELEM" and the CWELD with option "ELPAT," the shell elements
connected on each patch must have same property identification number of PSHELL entry.
5. Reminder: If parameter OSWPPT is used to specify the offset for internally generated grid IDs, its value should
be greater than the maximum identification number of GRID entries to avoid conflict IDs.
Connector Stiffness
Connector contribution to a structural model's overall stiffness is sensitive to the models mesh size and the orientation
of the connector relative to the mesh. Thus, the discretization process itself may cause, for example, a model using a
fine mesh to be stiffer in torsion than a corresponding model using a coarse mesh. Also for production models that
correlate well with test, refining the mesh may cause an inherent overall loss of stiffness due to mesh refinement and
hence loss of correlation.
To allow the user some control over stiffness, the improved connectors (CWELD with ELPAT or PARTPAT or CFAST)
are provided with two options to provide additional connector stiffness. The two options may be used individually or
in combination.
The first stiffening technique is activated by "SWLDPRM, DRATIO, ( 1.0 value 10.0 )" or "CONCTL, SETID,
,DRATIO, ( 1.0 value 10.0 )". For this option the diameter, Dratio, is defined as Dratio = DRATIO * Dconnector. This
results in the diameter of the patch taking a value of D = ( 2 )D ra tio . The default of DRATIO is a value=1.0 which
implies the diameter of the patch is computed in the standard fashion. For the patch to patch connection for the "beam"
properties of the CWELD, the area is still computed as A connecto r = ( D 2 connector 4 ) as defined in the PWELD entry.
Main Index
A disadvantage of this method is that as DRATIO is increased using the global command SWLDPRM, DRATIO,
value; some connector elements may begin to fail because they may no longer be able to find a patch projection.
To overcome this, the "SWLDPRM, NREDIA," can be increased to a value as high as 8 to allow failing welds to halve
their patch diameters up to eight times.
If the "SWLDPRM, NREDIA" is not an approach the user wishes to pursue, then for these failing elements, the bulk
data entry CONCTL, SETID, ,DRATIO, value can be used to define a set for failing connectors and set a value of
DRATIO for these connectors that allows them to find a projection.
The second stiffening algorithm attempts, based on the diameter of the connector, to determine a measure of the mesh
discretization.
This feature is activated by "SWLDPRM, SKIN, 1" or "CONCTL, SETID, ,SKIN, 1". The default is a 0 which implies
no stiffening. There is an associated stiffening factor "SWLDPRM, SCLSKIN" with value = 0.10 as default.
Depending on the complexity of the model and the overall mesh size and the number of connectors within the model
and the diameter of the connectors relative to the mesh, the default value tends to stiffen a structural model from about
0.4% to about 4%. A value of SCLSKIN=10.0 stiffens coarser mesh models by about 10% to 11% and finer mesh
models by about 2% to 6%.
The contribution of the stiffening algorithm to the overall stiffness of the FEM model eventually reaches a limit. For
example, a very large value SCLSKIN=100 increases the stiffness of the models overall by only about 0.1% to 2%
over the stiffness obtained for SCLSKIN=10.
For a correlated structural model evaluated at a specific mesh size, with an aim to refine the mesh for some portion of
this model containing connectors, while leaving other portions containing connectors with an unmodified mesh, it is
recommended that the "SKIN, 1" and "SCLSKIN, real value" be entered on the CONCTL bulk data entry referring to
Main Index
Linear Analysis 12
CWELD/CFAST/CSEAM Element Enhancements
the connectors within the area of the refined mesh. Different refined mesh areas within the structural model can have
different values of SCLSKIN associated to the specific connectors in each refined region.
For postprocessing of the SKIN option, for the affected shell elements, an updated EPT table is available after module
MODGM2. It contains the PSKNSHL record that correlates the property data of the shells involved and a list of shell
elements for each patch modified.
Detailed Projection Algorithm for Best Possible Projection
1. The Enhanced algorithm applies to the following projection calculations:
a. Find projections of GA/GB for the "PARTPAT" format of CWELD and "PROP" format of CFAST.
b. For "ELPAT" format of the CWELD and the "ELEM" format of the CFAST, the user has specified the
specific shell elements and therefore no element search for GA/GB projections is required. Though no
search is required, GA/GB, however, must project onto the user specified EIDA/EIDB.
c. Find projections of the auxiliary grids GAHi/GBHi for the "PARTPAT" and "ELPAT" options on the
CWELD and any CFAST option respectively.
2. The projection algorithm searches for possible projections from shell elements with shell grids that are closest
to GS. The closest grid may connect to several shell elements; hence, more than one shell element may get a
projection from GS for curved patches. The shell elements with projections from GS are collected and the
selection is based on the SHIDA/SHIDB pair with the smallest angle between their normal vectors.
a. The old CWELD/CFAST algorithm used the first shell elements found to get a projection and used
SWLDPRM, GMCHK, 1 and 2 to provide some control. These two options have no effect on the new
formulation.
b. Backward connections sometimes occur if the patch is near the boundary of a structure, and there is a
"vertical" flange associated with the patch elements. In this case, SWLDPRM, GMCHK, 3 may be used to
prevent backward projection. (See Figure 2-2.)
Figure 2-2
3. The minimum angle selected above must be SWLDPRM GSPROJ if GSPROJ 0.0
4. If the user has not specified BOTH GA and GB and the algorithm cannot find a GSPROJ satisfied projection,
then for SWLDPRM GSMOVE entry, the point GS will be moved in an attempt to satisfy the projection
requirement.
Main Index
5. Reminder: If user has specified both GA and GB and CFAST and the CWELD with options "PARTPAT" and
"ELPAT" are used, then GSMOVE will be ignored and the connector will fail to connect if the user has taken
the default "SWLDPRM, NREDIA, 0" for NREDIA. Failed connectors issue USER FATAL MESSAGE 7635.
6. If the GSMOVE specification limit is reached for the CFAST or the CWELD with options "PARTPAT" and
"ELPAT" and SWLDPRM NREDIA 0, then the diameter of the connector will be reduced by half to compute
new locations of auxiliary grids. If necessary this is repeated until the NREDIA specified value is reached.
a. When the NREDIA 0 is initiated, the GS at its current location is used for GSMOVE 0.
b. When the NREDIA 0 is initiated, the GS at its original location is used for the new option GSMOVE < 0.
Connector Control:
To provide the user with better connector control, the following new Bulk Data entry has been introduced:
CONCTL
This entry provides local connector search algorithm control to override SWLDPRM values.
Please see CONCTL (p. 1596) in the MSC Nastran Quick Reference Guide for the complete Bulk Data entry.
Report Format:
Table 2-3
Main Index
Linear Analysis 14
CWELD/CFAST/CSEAM Element Enhancements
CSEAM Element
1. The CSEAM element has been changed so that it now supports geometric nonlinear analysis. The CSEAM
element internally uses the CHEXA element. The old CSEAM formulation did not support large displacement.
2. Both the linear and nonlinear CSEAM now generate internal RBE3 elements rather than internal constraints.
3. The improved CSEAM formulation is selected by default. The old CSEAM formulation is obtained by
PARAM, OLDWELD, YES.
Warning: The old CSEAM formulation did not contribute to MASS. The new CSEAM will contribute to MASS
if it's associated MATi entry has a nonzero density. PARAM,COUPMASS effects the mass calculation.
4. The CSEAM currently continues to have the restriction that it cannot span more than a 3 x3 mesh. Figure 2-3
and Figure 2-4 below review the CSEAM structure.
5. The CSEAM now uses by default 2x2x2 Reduced Shear with Bubble Function. The OLD CSEAM used 2x2x2
Reduced Shear only. The IN field of the PSEAM allows for selection of 2x2x2 Reduced Shear only.
Figure 2-3
Main Index
Figure 2-4
6. The CSEAM entry does not support material nonlinear behavior.
Examples
Test Model 1
Figure 2-5 shows a Hat profile beam that has a dimension of 600 cm long by 100 cm by 100 cm spot welded to a plate
with welds 5mm in diameter. It this case the plate is aligned with the edges of the hat flange. Using a refined mesh one
can obtain accurate details on the stress distribution in the vicinity of the weld. Based upon the mesh size, and the
location of the weld, it may necessary to distribute the load over a 4x4 mesh. This was not achievable in the previous
release because of the 3x3 mesh limitation and a fatal error would have occurred. The von Mises stress for the third
weld from the left end are shown in Figure 2-6.
Main Index
Linear Analysis 16
CWELD/CFAST/CSEAM Element Enhancements
Figure 2-5
Figure 2-6
Test Model 2
The figures below represent a "box" structure of overall physical dimensions of 100cm x 100cm x 100cm. One model
is a coarse mesh model and the other a fine mesh model. The vertical center section has the same mesh in both models.
Both Models have the same number of CWELD elements (Cluster of blue dots in fringe plots) each of D=5.0 cm at
the same spatial locations.
For the coarse mesh the outer horizontal top and bottom panels are 50 cm x 50 cm. The inner horizontal top and bottom
panels are 16 cm x 16 cm. The center vertical partition mesh is 20 cm x 20 cm. The outer vertical side panels have
mesh 50 cm x 50 cm. The inner vertical side panels have a mesh of 20 cm x 20 cm. The mesh of the horizontal offset
panel on the upper right side is 10 cm x 10 cm.
For the fine mesh (shown in Figure 2-8) the inner horizontal top and bottom panels remain a mesh of 16 cm x 16 cm.
The outer horizontal top and bottom panels are meshed using CQUAD8 elements at 4 cm x 4 cm. The center vertical
partition mesh is 20 cm x 20 cm. The outer vertical side panels have mesh 3.4 cm x 3.4 cm. The inner vertical side
panels remain at 20 cm x 20 cm. The mesh of the horizontal offset panel on the upper right side is 10 cm x 10 cm. The
mesh of the horizontal offset panel on the upper right side is ~2.6 cm x ~2.6 cm. As shown in Figure 2-7 all the elements
contained within the green outlined circle are included in a typical patch of this panel.
Main Index
Figure 2-7
Figure 2-7 shows the detail of the fine mesh of the horizontal offset panel.
Figure 2-8
As the model mesh is refined there is a well-known tendency for welded models to exhibit a loss of stiffness due to
model discretization. This is shown if the next two figures. The coarse mesh model has a maximum displacement of
Main Index
Linear Analysis 18
CWELD/CFAST/CSEAM Element Enhancements
5.795 cm where the center vertical partition meets the bottom plate. The fine mesh model has a maximum displacement
at that location of 13.75 cm at the same edge location.
Figure 2-9
Figure 2-10
For design purposes it is desired that the displacement at that location be brought to within 2% of the coarse mesh
model. To achieve this the SWLDPRM entry is modified to use a combination of two stiffening techniques available
with the CWELD element. This is achieved by modifying the entry SWLDPRM as shown highlighted in red. The
DRATIO factor of 5.95 increases the radius of influence of the CWELDs Dpatch = 5.95 Dweld = 29.75 cm. For patch
to patch connection, the user supplied PWELD value of Dweld=5.0 is still used to compute the "beam area and moment
of area properties.
"SWLDPRM, PRTSW, 2, NREDIA, 4, DRATIO, 5.95, SKIN, 1
, SCLSKIN, 0.255"
Main Index
The SKIN parameter initiates a process which measures the discretizing of each CWELD relative to its patch and
computes an estimate of the local increase in patch bending resistance which is then applied to the shell element local
to the patch. For this model, the associated SWLDPRM parameter SCLSKIN is set to a value of 0.255 and is used to
measure the discretization of each patch and compute a "WELD" bending moment of inertia to be applied for the
specific patch.
The figure below shows the displacement pattern for this case. It is observed that the displacement of the fine mesh
model has a maximum displacement of 5.898 cm where the center vertical partition meets the bottom plate which is
within the required 2%.
Figure 2-11
Fine mesh model with DRATIO, 5.95 and SKIN, 1 with SCLSKIN, 0.255
For these models, the von Mises stress, in the area of the vertical partition stayed about the same. In the coarse mesh
model this was the area of maximum stress. In both fine mesh models the area of maximum stress occurred near the
support point of the upper plate furthest from the viewer.
Main Index
Linear Analysis 20
CWELD/CFAST/CSEAM Element Enhancements
(green) is welded to the center sheet with six CWELD elements using the "PARTPAT" option shown as black lines. A
sinusoidal loading is applied to the bracket at the center of the lower-right edge as shown by the red dot in the figure.
Figure 2-12
Bracket Mechanism
The model is run in SOL 400 as "ANALYSIS=NLTRAN" with "PARAM, LGDISP, 1" for geometric nonlinear.
Figure 2-13 shows the displacement and stress at t=0.5 seconds.
Figure 2-13
Main Index
Figure 2-14 shows a slice of the Force and Stress output for CWELD 7006.
Figure 2-14
For further details, see MSC Nastran Demonstration Problems Manual, Chapter 96.
Main Index
Linear Analysis 22
MSC Nastran Embedded Fatigue (NEF) Updates
Default Changes
Please be aware that the default value of the LOC field on the FTGPARM entry has changed to LOC=NODA. In
previous releases, the default was LOC=NODE, meaning that element nodal stresses or strains were used for the
fatigue analysis. Now, the default uses nodal averaged stresses or strains internally via the grid point stress or strain
(GPSTRESS/GPSTRAIN) output request functionality (it is not necessary to include GPSTRESS or GPSTRAIN in
the case control).
Because of this change, input files created for previous versions of MSC Nastran have to be modified if the LOC field
is not provided or the FTGPARM entry is omitted in order for MSC Nastran to continue to calculate the same results.
If not modified, results will differ and possibly be slightly nonconservative in comparison. Since nodal averaged
stresses/strains are determined from the average of all element nodal contributions, the highest stresses/strains
determined for any given node will generally be smaller than the largest element nodal contribution, resulting in less
damage and thus, a longer fatigue life (i.e., nonconservative).
Also, the new RECOVER field on the FTGPARM entry uses CORNER as the default. In previous releases,
LOC=NODE was equivalent to LOC=SGAGE. The specification of the type of stress recover has been separated from
the LOC field into this new RECOVER field. In this release, if RECOVER is not specified, LOC=NODE uses
RECOVER=CORNER. The default stress recover method has been changed to CORNER in this release. Thus, slightly
different stresses may be passed to the fatigue solver than in previous releases depending on the element type used.
This change was made to align with the default recovery method used for the STRESS (or STRAIN) case control
output request.
Main Index
Limitations
Standard S-N and -N analysis using nodal averaged stresses (LOC=NODA) and fatigue analysis of spot or
seam weld cannot be done using the same FID (FATIGUE case control ID). In order to do fatigue analysis of
spot or seam welds and a standard fatigue analysis within the same run, you must set up separate FIDs using a
case control SET entry. Example:
SET 10 = 42, 43
FATIGUE(SET) = 10
In the above example, FID 10 actually refers to SET 10, which contains two FIDs: 42 and 43. FID 42 could be
a standard S-N or -N analysis, and FID 43 could be a fatigue analysis of spot or seam welds.
Limitations
To postprocess results in Patran using the method requires both the model and the results to be imported into
an empty database. This is due to the fact that the shell elements are internally generated by MSC Nastran and
do not exist in the original input file. If Patran contains only the elements of the original input file, which is the
case when importing an imput file, the internally generated elements do not exist in the Patran database, thus
simply attaching the results file will not allow postprocessing on the internally generated elements. A new,
empty database must be opened, and the MASTER/DBALL file attached using the Both (model and results)
option. This ensures the generated elements are available to Patran in its database so result can be plotted.
Main Index
Linear Analysis 24
MSC Nastran Embedded Fatigue (NEF) Updates
LAYER specifies which layer of results from shell element are printed to the f06 file. The default is to output the worst
case layer. Top or bottom can also be specified. Both layers are always output to the results data blocks for
postprocessing purposes.
STROUT is a new parameter for requesting the actual stresses (or strains) used in the fatigue analysis. The stresses
used in the fatigue analysis are specified on the FTGPARM entry and can differ from those that may be requested from
a STRESS, STRAIN, GPSTRESS, and/or GPSTRAIN case control output request. Also, any specific MSC Nastran
input file can request more than one fatigue analysis; each possibly requesting different stress settings. Standard case
control output requests do not allow visualization/printing in this manner.
By default, STROUT is turned off (set to 0). Setting to 1 prints the stresses used in the fatigue analysis from each set
of subcases used in the fatigue analysis. Only the stresses from the entities defined on the FTGDEF entry are output;
those being the same entities for which fatigue damage is calculated. With STROUT=1, the fatigue stresses are also
output to an OESFTG data block that is available for postprocessing. With STROUT=2, no f06 print is generated, but
the output data block is still generated for postprocessing.
Benefits
Output and view the actual stress (or strains) used in the fatigue analysis
Caution: Using this output setting can generate a lot of data. Also, using LOGLVL set to 4, outputs stresses to the
dtout file. This file should only be used for debugging purposes and can be very large, containing much
more than the stresses. It also can adversely affect performance. Please use both with caution.
Example
To demonstrate the influence of the new options, the problem A Multiaxial Assessment (p. 291) in the MSC Nastran
Embedded Fatigue Users Guide is used. The model is the SAE Shaft used to produce a multi-axial state of stress at
the critical location in one of the notches of the shaft using two load cases - bending and torsion. The original model
is made up of mostly solid CHEXA elements.
The graphics below first show the original solid model (no shell elements). Using SRESOLVE=YES, the free faces of
the solid elements are skinned by creating thin shell elements. The resulting surface resolved, 2-D stress state from the
shell elements, is used in the fatigue analysis to compute damage, life, and multi-axial statistics. The model has been
clipped to show the inside of the shaft with the solid elements removed. The example files are located at:
tpl/nef_ug/sae_shaft_resolved.dat
tpl/nef_ug/sae_shaft_skinned.dat.
Figure 2-15
Main Index
Figure 2-16
Figure 2-17
The table below shows results of the model using the different options presented in this section. The analysis has been
done on both the skinned shell and solid elements using all three types of stress requests: element center
(LOC=ELEM), element nodal (LOC=NODE), and nodal averaged (LOC=NODA). Stresses are in MPa and life units
are in repeats of the loading time history (in log units). Only the critical location at surface node 50988 and its
associated elements is reported. The skinned element IDs were set using SYSTEM(183)=1 as they were generated
internally.
Skinned QUAD Elements:
LOC
Elem
Node
Log
Life
Biaxial
Ratio
ELEM
870
2.86
0.138
NODA
50988
2.84
0.129
870
50988
2.82
0.141
872
50988
2.86
0.142
975
50988
2.83
0.141
977
50988
2.85
0.143
NODE
Main Index
xy
yz
zx
7.3439
38.1174
0.0000
0.0082
0.0000
0.0000 Bending
0.0000
0.0000
0.0000
0.1037
0.0000
0.0000 Torsion
36.9281
6.7862
0.0000
0.0000
0.0000
0.0000 Bending
0.0000
0.0000
0.0000
-0.1019
0.0000
0.0000 Torsion
7.4648
38.3918
0.0000
0.0082
0.0000
0.0000 Bending
0.0000
0.0046
0.0000
0.1037
0.0000
0.0000 Torsion
38.2513
7.4225
0.0000
-0.0046
0.0000
0.0000 Bending
0.0075
0.0000
0.0000
-0.1017
0.0000
0.0000 Torsion
7.4649
38.3918
0.0000
-0.0082
0.0000
0.0000 Bending
0.0000
-0.0046
0.0000
0.1037
0.0000
0.0000 Torsion
7.4225
38.2513
0.0000
-0.0045
0.0000
0.0000 Bending
0.0000
-0.0075
0.0000
0.1017
0.0000
0.0000 Torsion
Subcase
Linear Analysis 26
MSC Nastran Embedded Fatigue (NEF) Updates
HEX Elements:
LOC
Elem
Node
Log
Life
Biaxial
Ratio
ELEM
85828
3.68
N/A
NODA
50988
2.91
N/A
85828
50988
2.97
N/A
85830
50988
2.80
N/A
NODE
86335
50988
2.78
N/A
86337
50988
2.79
N/A
xy
yz
zx
Subcase
30.8301
6.4100
3.4829
-0.5621
-0.2695
-6.2777
Bending
0.0000
0.0033
-0.0033
-0.0913
0.0187
0.0080
Torsion
36.2500
7.4320
3.0020
0.0000
0.0000
-6.0050
Bending
0.0000
0.0000
0.0000
-0.1007
0.0152
0.0000
Torsion
37.1466
8.1864
3.8139
-0.6785
-0.3982
-7.6290
Bending
0.0019
0.0046
0.0015
-0.1001
0.0262
0.0009
Torsion
35.2021
8.1837
5.6906
-0.9470
-0.2336
-10.7115 Bending
0.0026
0.0046
0.0014
-0.0979
0.0269
0.0003
Torsion
37.1466
8.1864
3.8139
0.6785
0.3982
-7.6290
Bending
-0.0019
-0.0046
-0.0015
-0.1001
0.0262
-0.0009
Torsion
35.2022
8.1838
5.6906
0.9470
0.2336
-10.7115 Bending
-0.0026
-0.0046
-0.0014
-0.0979
0.0269
-0.0003
Torsion
Results are as expected with the following comments for emphasis on all the above explanations:
1. The HEX element produced a 3-D state of stress at the surface. This means that
It is not possible to determine multi-axial parameters (thus the biaxial ratio is not reported).
The surface normal stress is not zero as this is physically unrealistic. Thus, the stress state at the surface is
suspect using these elements and the resulting fatigue analysis is questionable.
2. The element center results (LOC=ELEM) for the HEX element are the least conservative. This is because the
stress is from the center of the element, interior to the surface. The stresses are less, and thus, the fatigue life is
longer. Since fatigue cracks occur on the surface (generally), it is of little interest to calculate fatigue life interior
to solid elements.
3. The results from all analyses (LOC=ELEM/NODE/NODA) of the skinned shell element will either diverge
away or converge to the same fatigue life based on the mesh refinement. The smaller the elements, the less it
matters which LOC method is used. The more coarse the mesh, the more the results will differ. The mesh of
this model is adequate in that the results are very close together (2.82 vs. 2.84 vs. 2.86); which, when
considering fatigue life, are the same results. The same would be true of the solid element results, except that
there is still the issue of the stress state not being resolved to a surface stress state.
4. The most conservative answers come from using element nodal stresses. This is because the highest calculated
stress is retained and not averaged and/or interpolated. The stress is retained at any particular GRID for every
associated element. So if four elements share the same GRID, then four stresses are reported. Thus, four fatigue
lives are computed. The highest stress is retained and the shortest fatigue life reported.
5. The nodal average method is less conservative than the element nodal method because the stresses are averaged.
If four elements share the same GRID, the stress from each element is averaged to give a single stress value at
the GRID. With only a single value of stress computed at the GRID, only a single fatigue life is reported.
Main Index
6. The element center method gives the least conservative answer for the shell element also because the stress is
reported at the center of the element and interpolated and averaged to that point from the stresses computed at
the integration or gauss points of the element. When there is a large stress gradient across the element, the stress
is going to be much lower than the highest computed stress at any integration or gauss point.
So when should each method be used? Engineering judgement! So for this reason, all methods are available. Nodal
averaged is set to the default for the following reasons:
1. Computational efficiency a single stress value at each GRID produces a single fatigue result
2. More realistic stress it is generally felt that averaging the stresses at a GRID gives a better realistic
representation of the actual stress - obviously only one stress actually exists at any given location
3. Legacy most existing processes adopted by engineers use nodal averaged stresses
User Interface
The functionality is accessed via the FTGPARM entry as shown here with only the new/changed fields
shown/highlighted.
FTGPARM
Fatigue Parameters
ID
TYPE
FACTOR
NTHRD
LOGLVL
LAYER
STROUT
STRESS
or
STRAIN
COMB
CORR
PLAST
LOC
INTERP
RECOVER
NAVG
MTHD
OUTPUT
NORMAL
10
SRESOLVE
See section, Nodal Averaged Stresses, 22, for discussion of the LOC/RECOVER fields and the NAVG line.
See section, Surface Resolved Stresses, 23, for discussion of SRESOLVE.
See section, Fatigue Stress Output, 23, for discussion of LAYER and STROUT.
Example 1:
Shows all default values of the new/modified fields:
FTGPARM
42
STRESS
NAVG
Main Index
NODA
TOPO
0
CORNER
NO
Linear Analysis 28
MSC Nastran Embedded Fatigue (NEF) Updates
Example 2:
This example calls for the usage of nodal-averaged stress to be used in a standard S-N fatigue analysis. All nonspecified
fields take on the defaults.
FTGPARM
42
STRESS
NODA
Example 3:
This example calls for surface resolved strains to be used in a standard e-N fatigue analysis. Notice that nodal averaged
strains are used as the default for the LOC field is NODA but the recovery method is set to StrainGAGE.
FTGPARM
42
EN
STRAIN
SGAGE
YES
Example 4:
This example calls for surface resolved stresses to be used in a standard S-N fatigue analysis using ELEMent center
based stresses. Element NODE can also be used with surface resolution of results. CENTER does not have to be
specified as it is the default for LOC=ELEM.
FTGPARM
42
SN
STRESS
ELEM
CENTER
YES
Example 5:
This example calls for NODAveraged streses and the NAVG line has been included to change the defaults of the grid
point stress calculation to use the GEOMetric method, output results in the element coordinate system (-1), and the
positive fiber direction in the X direction.
FTGPARM
42
EN
STRESS
NAVG
NODA
GEOM
-1
Field Contents
Field
Contents
LAYER
For shell elements, the output results layer to print to the f06 file. Values can be 0=Worst,
1=Top(Z2), 2=Bottom(Z1). (Integer, Default = 0). This is for printed output only. The
analysis produces results for both layers, which are always available through the
MASTER/DBALL, Output2, or other files for graphical postprocessors.
STROUT
Requests output of the actual stresses (or strains) used in standard SN and eN fatigue
analyses. Values can be 0=No Output, 1=Print Output, 2=Plot Output. (Integer, Default
= 0).Printed output is placed in the F06 file and also available in an OESFTG data block
for postprocessing purposes. Plot only places the data in the OESFTG data block.
STRESS or STRAIN
Flag indicating that stress (or strain) is used in the fatigue calculation.
Main Index
Field
Contents
LOC Location to report fatigue lives. Valid values are "NODE", "ELEM" or "NODA", based
on usage of Element Nodal, Element Center, or Nodal Averaged stresses (or strains),
respectively. (Character; Default = NODA). See Remark 1. and 5.
RECOVER Stress or strain recovery method. Valid values are "SGAGE", "CORNER", "BILIN",
"CUBIC" or "CENTER" (Character; Default = CORNER for LOC=NODE or NODA;
Default = CENTER for LOC=ELEM and any other setting is ignored.). See Remark 2.
SRESOLVE Flag for requesting surface resolved stresses from 3-D solid elements to be used in the
fatigue analysis. (Character, YES or NO (Default = NO). See Remark 3.
NAVG
Flag indicating that the parameters that follow are for definition of how nodal average
stress or strain results are determined when LOC=NODA for SN or EN analysis. If this
line is omitted, all defaults are taken for the nodal averaging. See Remark 4.
MTHD Specifies the method to calculate the average grid point stress or strain. TOPO or GEOM
(Default = TOPO)
OUTPUT -1 : Specifies the element coordinate system for output
0 : Specifies the basic coordinate system for output (Default )
CID : Specifies the coordinate system defined on a CORDij bulk data entry for output
NORMAL Specifies the reference direction for positive fiber and shear stress output, but has no
effect when OUTPUT=ELEMENT is specified.
R specifies the radius vector from the origin of reference coordinate system to the grid
point. (Default = R )
X1, X2, or X3 specifies the direction of the normal.
M specifies the reverse of the directions given by R, X1, X2, or X3 and must be specified
as MR, MX1, MX2, or MX3 with no space between the M and the following letter.
Remarks
1. LOC=NODE reports multiple fatigue damage values at each GRID of every contributing element. LOC=ELEM
reports fatigue damage at the element center only. LOC=NODA reports a single fatigue damage at every GRID.
For LOC = NODA, the stresses or strains at the GRIDs from each contributing element are transformed to a
consistent coordinate system and then averaged together for a single stress or strain result at each GRID point
using MSC Nastrans grid point stress/strain functionality.
2. The stresses or strains recovered are based on the same methods as presented in the STRESS or STRAIN output
request; see the STRESS or STRAIN case control entry for details.
3. SRESOLVE is an option to evaluate surface stresses instead of volume stresses. SRESOLVE is applicable for
all three values of LOC (ELEM, NODE or NODA). With SRESOLVE=YES, a reduced set of elements/nodes
is used for the fatigue calculation corresponding to the elements/nodes on the solid element's free surfaces by
skinning them and automatically producing thin shell elements. Thus, interior nodes are omitted and only the
skinned elements extracted from the solid faces are considered in the fatigue analysis. This option is necessary
Main Index
Linear Analysis 30
MSC Nastran Embedded Fatigue (NEF) Updates
when a 2-D state of stress is required at the surface of a 3-D model using CHEXA, CPENTA, and/or CTETRA
elements, such as in the case of a multi-axial assessment or when using the critical plane method. The internal
element IDs generated by this option can be controlled by using MSC Nastran SYSTEM cell 183 (Default is
set to 200000000).
4. These settings correspond to the same settings for grid point stress/strain output. Refer to OUTPUT(POST)
Commands - SURFACE Definition. TOPO (the default option) is the less expensive of the two and appropriate
in the majority of cases. For a model with high stress gradients or where different element types meet, the more
expensive GEOM option could be specified.
5. It is not necessary to specify GPSTRESS or GPSTRAIN in the Case Control to use nodal averaged
stresses/strains in the fatigue analysis. This is done automatically when LOC=NODA.
References
Please see the following for more information and specifically for tutorials on how to setup and run NEF analyses.
FTGPARM (p. 2108) in the MSC Nastran Quick Reference Guide
A Simple S-N Analysis (p. 81) in the MSC Nastran Embedded Fatigue Users Guide
A Simple e-N Analysis (p. 131) in the MSC Nastran Embedded Fatigue Users Guide
A Multiaxial Assessment (p. 291) in the MSC Nastran Embedded Fatigue Users Guide
Main Index
Chapter 3: Acoustics
MSC Nastran 2016.1 Release Guide
Main Index
Acoustics
ERP Enhancements
32
Normal Velocity
Vibration Intensity
34
36
37
39
Acoustics 32
ERP Enhancements
ERP Enhancements
Equivalent Radiated Power (ERP) capability is used to compute radiated acoustic power in the absence of an acoustic
model. For MSC Nastran 2016, ERP support is to extend from QUAD4/QUADR/TRIA3/TRIAR to higher order 2-D
elements (QUAD8/TRIA6) and 3-D structural element types, namely HEXA, PENTA, and TETRA. In addition,
Modal Participation Factor (MPF) for ERP and element ERP will be also included.
Benefits
1. Improve flexibility by allowing greater support of element type for practically any structural or FSI model.
2. With MPF of ERP, modal contribution for a ERP can be shown and studied.
3. With element ERP, the contribution of each element of panel can be shown and studied.
User Interface
Additional subcommand keywords are added to the ERP case control command. The new subcommand keywords are,
MPF, MPFSORT, and ELEMENT, see the ERP (Case) (p. 313) in the MSC Nastran Quick Reference Guide Case
Control command for more information.
Test Cases
Test case: all 3-D elements
3-D-column plot for ERP and MPF of ERP of 3D_erp deck is shown in following plot. The MPF of ERP is plotted at
40Hz increment while ERP (mode 0) is at 4Hz increment.
Main Index
ERP
7.262824E-04
5.803910E-04
5.705192E-04
5.054059E-04
4.616978E-04
4.493040E-04
4.369102E-04
3.796160E-04
1.518448E-04
8.756132E-05
1.278043E-05
FRACTION
1.000000E+00
7.991258E-01
7.855336E-01
6.958806E-01
6.357001E-01
6.186353E-01
6.015707E-01
5.226838E-01
2.090712E-01
1.205610E-01
1.759705E-02
SUBCASE 1000
R A D I A T E D
P O W E R
ERP(dB)
-3.138894E+01
-3.236279E+01
-3.243730E+01
-3.296360E+01
-3.335642E+01
-3.347460E+01
-3.359608E+01
-3.420655E+01
-3.818600E+01
-4.057688E+01
-4.893455E+01
The following test decks are available in the tpl/ae_20160 subdirectory of MSC Nastran installation directory or click
on the filename to download the file.
erphxpta.dat
erpmpf.dat
erpq8t6a.dat
erpq8t6b.dat
erpoptq8.dat
Guidelines
The CSV file has both ERP and MPF of ERP. Element ERP is not written to CSV file.
Only the total ERP is the supported response in optimization, SOL 200.
Main Index
Acoustics 34
Normal Velocity
Normal Velocity
VELOCITY has been part of the standard MSC Nastran output for dynamic analyses and is provided in the output
coordinate system defined on CD field of GRID entries. For acoustic analysis, the velocity normal to the surface is of
great interest to engineers. A new case control NVELOCITY has been implemented in MSC Nastran 2016 to output
the translational velocity normal to the surface. In addition, the unit normal with respect to the basic coordinate system
is also presented.
Benefits
The normal velocity to the exposed structure provides a direct way for engineers to study acoustic radiation from the
structural responses. The output of natural velocity is available in f06, pch, and op2.
User Interface
A new case control command, NVELOCITY (p. 456) in the MSC Nastran Quick Reference Guide. is available.
Test Cases
Test case: car model with mostly 2-D elements
1.000000E+02
GRID ID
508078
508079
508080
508081
508082
Main Index
X-DIR
1.000000E+00
1.000000E+00
1.000000E+00
1.000000E+00
1.000000E+00
V E L O C I T Y
N O R M A L
U N I T
N O R M A L
Y-DIR
Z-DIR
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
0.000000E+00
RESPONSE
REAL
IMAG
-7.605058E-03
2.074260E-03
-6.836083E-03
3.575026E-03
-1.321082E-02
-8.084148E-03
-1.360014E-02
-9.710199E-03
-1.392578E-02
-1.124687E-02
508083
508084
508085
508086
508087
508088
508089
508090
508099
508100
9.949761E-01
9.950486E-01
9.950164E-01
9.950018E-01
9.952213E-01
9.993840E-01
9.950366E-01
9.950239E-01
1.000000E+00
1.000000E+00
-1.001122E-01
-9.938970E-02
-9.971110E-02
-9.985656E-02
7.442458E-02
4.897609E-03
-9.950925E-02
-9.963606E-02
0.000000E+00
0.000000E+00
-1.043587E-04
7.050892E-05
-3.353163E-04
-1.280708E-04
6.321043E-02
3.475112E-02
-1.666756E-04
3.068493E-04
0.000000E+00
0.000000E+00
-8.849321E-03
-8.518406E-03
-1.001583E-02
-1.139307E-02
-1.152199E-02
-8.605826E-03
-8.668123E-03
-8.461581E-03
6.941264E-03
7.193932E-03
1.153978E-02
1.257526E-02
1.001859E-02
7.853719E-03
-1.123693E-02
-1.171262E-02
5.844631E-03
6.424269E-03
9.644912E-03
1.613807E-02
Main Index
Acoustics 36
Vibration Intensity
Vibration Intensity
Vibration Intensity (VI) is a measure of power flow per unit area. VI is computed using two existing MSC Nastran
output responses, namely element force/element stresses and velocities, and is an element level response in basic
coordinate system.
Benefits
The Vibration Intensity provides a way for engineers to show the magnitude and directions of the power flow paths.
User Interface
A new case control command, VINTENSITY (p. 573) in the MSC Nastran Quick Reference Guide, activates this
capability.
Test Cases
1.000000E+00
V I B R A T I O N
I N T E N S I T Y
(HEXA)
X-DIR
Y-DIR
Z-DIR
-5.561653E+02
1.781641E+03
-2.333976E+03
3.323856E+01
2.027404E+03
-4.087672E+03
4.560295E+01
-1.445847E+03
-2.220251E+02
6.580253E+02
2.932301E+02
-1.473891E+04
-3.086950E+02
3.736709E+01
3.997748E+02
-7.216215E+01
1.019957E+02
1.309314E+02
5.099537E+03
-1.698603E+04
-8.200218E+04
7.031117E+02
6.477779E+03
-7.131067E+03
The following test decks are available in the tpl/ae_20160 subdirectory of MSC Nastran installation directory.
vintnst1.dat - 1-D element types
vintnst2.dat - 2-D element types
Main Index
Benefits
ACLOAD Actran can produce load vectors for multiple load cases in a single execution which reduces the Actran
run time. With ACLOAD enhancement, MSC Nastran can selectively incorporate any load case in the Actran
generated file containing multi-loadcases and apply them as dynamic loads.
PEM interpolation provides options for RIM interpolation. Logarithmic interpolation is particular useful when
master frequencies are unevenly spaced; e.g. octave increments.
User Interface
ACLOAD ACLOAD bulk data entry field 7 allows the user to specify the load case sequence number of load vectors
in an input file.
1
ACLOAD
SID
UNIT1
UNIT2
SCLR
SCLI
LSQID
10
RIMINTP
RIMINTP can be used to select the interpolation method for Reduced Impedance Matrix(RIM) for PEM. The input
options for RIMINTP are LINEAR and LOG10. The default is LINEAR.
Test Cases
ACLOAD Following ACLOAD test decks are available in tpl/fsc_2011 subdirectory of MSC Nastran installation
directory
Fsc_07.dat
Fsc_08.dat
Main Index
Acoustics 38
ACLOAD and PEM Interpolation Enhancements
The following fatal message will be issued if LSQID has a value which is greater than load cases available,
*** USER FATAL MESSAGE 7952 (SUBDMAP READAC)
ILLEGAL SIZE OF MATRICES IN UNIT 42. LOAD SEQUENCE 9 IS GREATER THAN AVAILABLE LOAD CASES 4.
USER ACTION: CONFIRM THE FILE FROM ACTRAN.
PEM Interpolation PEM test decks are available in tpl/pem subdirectory of MSC Nastran installation directory
Main Index
ACPEMCP
TID
SGLUED
SCUX
SCUY
4
SSLIDE
SCUZ
5
SOPEN
SCRX
SIMPER
OOC
SCRY
SCRZ
10
SCFP
The value of OOC (field 7 of ACPEMCP), > 1, defines the number of blocks to be used for the Schur complement
evaluation. With OOC=n, the RIM is no longer stored entirely in memory but on the disk and by blocks. Only a fraction
of the RIM corresponding to the block size (number of reduction DOFs divided by n) is stored in memory.
Main Index
Main Index
Advanced Elements
41
Beam Contact
Interference Fit
Contact Separation
48
50
52
54
55
43
46
Advanced Elements
In this release, the enhanced features for SOL 400 using advanced elements include:
Benefits
This release enhances the capabilities of:
1. Superelement analysis with advanced nonlinear elements.
2. Nonlinear restart with advanced nonlinear elements and SPCD.
Superelement and Nonlinear restart used to support MSC Nastran Conventional Elements. But, it will be very
important to keep the consistence on model set up and numerical results for both MSC Nastran conventional elements
and advanced elements to handle more nonlinear problems. It is also providing the convenience for users to make use
of conventional elements and advanced elements in Superelement related analyses and Nonlinear Restart.
Example
Test cases can be found in tpl/ldr3s400/ldr3se01.dat. It is one of the models to test the capabilities of superelement with
advanced elements.
Figure 4-1
Main Index
Model of ldr3se01
Residual
The Yellow Part is the residual.
Four QUAD4 elements are using the advanced shell element definition PSHLN1 ID=20.
Superelement 10
The Grey Part is the superelement 10.
Sixteen QUAD4 elements are using the advanced shell element definition PSHLN1 ID=10
Superelement 30
The Red parts are the superelement 30.
Three QUAD4 elements are referring the advanced shell element definition PSHLN1 ID=30
Six QUAD4 elements are referring the advanced shell element definition PSHLN1 ID=31
Main Index
Summary
Contact analysis is considered to be a nonlinear phenomenon, in which the constraints are based upon the current
deformed state of the contact bodies. In small displacement analysis, when LGDISP is not defined or <= 0, then the
equilibrium is based upon the undeformed configuration. In some cases it has been observed that this leads to
inaccuracies. This will result in the inability to capture rigid body modes. This may occur for assembly modeling
simulations where the contact is effectively rigid or for very small sliding problems.
Benefits
Improved accuracy, reduced oscillation in stresses, and more accurate capture of rigid body modes. This is particularly
important in simulation where Inertia Relief is used because of the rigid body modes. These problems occur in both
the automotive and aerospace industry.
Usage
To activate the contact constraints based upon the undeformed geometry, use the LINCNT parameter in the BCPARA
option; for example:
BCPARA, LINCNT,1
Note that the default is LINCNT is 0; i.e., contact constraints are based upon the deformed configuration.
This parameter should not be used in SOL 400 if LGDISP > 0.
This capability is only available with node-to-segment contact.
Example
Test Model 1
In the first example an L-Connector is in contact with two stacked plates. The simulation is expected to be symmetric
about x=0. When using the default method (contact based upon the deformed solution), the solution was not
symmetric. As shown in Figure 4-2, the results here are now symmetric.
Main Index
Figure 4-2
Model with Small Sliding for Linear Contact (von Mises Stress Distribution)
Test Model 2
In the second example, a large automotive model is investigated using SOL 400. Inertia Relief is used to overcome the
lack of boundary conditions in the Body-in-White simulation. The key thing is that the Inertia Relief is based upon the
undeformed geometry and should be used with the new LINCNT parameter.
Figure 4-3 shows the stress distribution in a key region when using general touching contact analysis, a high stress is
obtained. Figure 4-4 includes the stress results with Linear Contact. By comparing with results between SOL 400
Inertial Relief with new linear contact and SOL 400 Inertial Relief without linear contact, the model using the new
linear contact does not result in the artificial stress concentration.
Figure 4-3
Main Index
Artificial High Stress Region with General Contact and Inertia Relief
Figure 4-4
Main Index
Improved Stress Distribution with Linear Contact (LINCNT) and Inertia Relief
Main Index
Usage
This new procedure is the default in MSC Nastran 2016. To recover the previous procedure, use SYSTEM cell 701.
Example
A test case can be found in etl/err2016/nas18410d.dat. It is one of the models used to verify the improved contact
capabilities with smooth transition of contact stiffness.
Figure 4-5
Model of nas18410d
Without the smooth transition of contact stiffness at sharp corners, one may observe an oscillation of the contact status
which leads to unstable contact analysis. A sharp corner is when the interior angle between exterior contact faces is
less than 60 as shown in Figure 4-5. With this enhancement, the contact analysis is more stable and reliable.
Main Index
Beam Contact
Beam contact behavior is encountered in many engineering applications including the oil industry in drilling
operations, automotive applications including Bowden cables, and biomedical applications such as angioplasty. Beams
are commonly used as support structures of shells in many aerospace and civil engineering applications. This includes
the use of stringers and spars.
In earlier releases, modeling of beam contact was only supported via the node-to-segment contact algorithm. This had
the following disadvantages:
For contact with non-beams (shells, solids, rigid bodies), beam nodes were directly considered for contact
without any provisions made for offsets due to the beam cross section.
For contact with other beams (beam-to-beam contact), an equivalent contact radius was taken into account
The MSC Nastran 2016 release supports beam contact via the segment-to-segment contact algorithm. All the issues
mentioned above are handled through the creation of beam segments which participate in the contact. This is facilitated
by the automatic expansion of beam elements to accurately capture their cross-section geomtery when contacting each
other or rigid bodies or deformable bodies. The expanded representation of the pipe and beam elements takes the
following into account:
All MSC Nastran beam cross sections (circular tubes, regular solid sections, arbitrary solid sections, thin-walled open
sections) are supported when using the PBARL and PBEAML options. By default, all faces on a beam are treated as
patches. For example, a square section would have 4, an I-Beam would have 12, and a solid circular section would
have, by default, 32 patches. Full control over the beam patches to be created is also provided in order to reduce the
computational cost of contact through the use of BCPFLG. Control is also provided for beam ends and beam junctions
using the BCSCAP option. The BCSCAP is used to control the number of patches for circular solid beams and pipes.
Contact penalty stiffness and contact forces are automatically transferred from the segment positions to the beam nodes
via internally generated constraint equations. The option is automatically selected when using geometrically defined
beams and activating the segment-to-segment contact option. Large displacements and rotations may be modeled using
SOL 400, but there are no changes in the geometry of the cross section.
Main Index
See BCPFLG (p. 1352) in the MSC Nastran Quick Reference Guide for more information.
Limitation
The beam contact capability is not available when using arbitrary cross sections using the ARBMODEL option.
Beam-to-Beam segment contact stresses are not available for postprocessing in *.t19 files.
Test Cases
Following test cases are available in tpl/nl400cn
cnbeam4.dat
Main Index
Interference Fit
This feature can be used to simulate situations where bodies in contact initially have large gaps or overlaps
(interference), and the program should remove these gaps or overlaps. In the previous release, MSC Nastran only
supported a small value of interference which was removed in a single increment. The use of a single increment
constrained the usage to very interference distances.
Benefit
Accurate resolution of large initial geometric interference.
Functionality
There are now four new methods available to remove an initial interference between contacting bodies. They are
applicable to both node-to-segment contact and segment-to-segment contact. The methods are:
1. Contact Normal
2. Translation
3. Scaling
4. Automatic
The Contact Normal method is useful for situations with small values of interference to be resolved along the normal
direction of the touched surface. The user can control the number of increments or the amount of time during which
the resolution of interference fit is to be achieved. Methods 2 to 4 are more general and allow larger amounts of overlap
between the touching and touched bodies. The general scheme for these methods is to specify an initial artificial
movement of one of the overlapping bodies such that the overlap is removed. This is followed by a gradual removal
of the artificial movement such that the interference fit is achieved. Except for the Automatic option, the user specifies
this artificial movement for one of the overlapping bodies and a ramp down table which defines the variation of the
artificial movement. For the Automatic option, MSC Nastran computes an initial penetration of a contact body which
is then resolved by specifying a ramp down table. The picture below shows an example with a large overlap, which is
resolved with ten increments. The information about the interference fit is defined in the BCONPRG option.
Test Cases
Following test cases are available in tpl/nl400cn
cnint1.dat
cnint2.dat
Main Index
See BCONPRG (p. 1296) in the MSC Nastran Quick Reference Guide for more information.
For an example of the interference between a connecting rod and a piston, see MSC Nastran Demonstration Problems
Manual, Chapter 98.
Main Index
Benefit
Allows the user to the update thickness of one component without having to readjust coordinate positions.
Accounts for inaccuracies in the CAD modeling or mesh creation.
Usage
The clearance option is invoked by the OGINGP parameter on the BCONPRG option. For contact, one conventionally
defines the error tolerance (ERROR on BCONPRG or BCPARA)) which is used to control when bodies are going to
be in contact and how much penetration is going to be acceptable. This is usually a very small distance. Here, the
clearance is likely to be substantially larger and hence one must give a search distance, known as TOLINGP. This
defaults to 100 times the ERROR distance, but this is likely not to be sufficient. One can also indicate when the
clearance constraint going to be implemented through the use of MGINGP.
The most natural and common is setting MGINGP to zero in which case the clearance is not changed from the distance
between the original coordinate positions of the nodes. This is call the distance D0.
When MGINGP is > 0l, it means the distance between the bodies can shrink (i.e., the bodies can get closer together),
but when the distance reaches D0 MGINGP. The clearance condition is satisfied and this clearance distance (D0
MGINGP ) is preserved.
When MGINGP is < 0, it means that it considers the bodies to be overlapping. So it first tries to separate them by a
distance = |MGINGP|; then it imposes the clearance condition such that the clearance distance is D0 + |MGINGP|.
Note that this option is available for both node-to-segment and segment-to-segment contact for small deformation
simulations. When the rotations are large, the solution is not accurate.
Main Index
Example
The following example shows a shell cylinder with another cylinder of a shorter length. There is a clearance between
the two cylinders including the shell thickness. This clearance is to be maintained. When the inner cylinder is inflated,
then the outer cylinder expands as well with the clearance being maintained.
This capability is available for all geometries, and the initial clearance distance does not need to be uniform. For
example, in the following figure, a rigid body is glued to contact body 1 and is moved in the y-direction. The clearance
between the two bodies remains uniform.
An additional exampled demonstrating the clearance between a bracket and a shell is found in the MSC Nastran
Demonstration Problems Manual, Chapter 97.
Main Index
Contact Separation
In MSC Nastran 2016 the default value of NODSEP of the BCPARA bulk data has been changed from 2 to 5. This
controls the checking for separation after a node contacts and separates during the Newton-Rhapson iteration within
an increment. The value of 2 was felt to be too low to always obtain accurate solutions. It should be noted that by
increasing the value of NODSEP, the number of iterations may increase, resulting in greater computational costs. When
the segment-to-segment procedure is used NODSEP is not used.
Main Index
If a transient analysis is performed, using either both the Case Control, ANALYSIS=RCNT and NLSTEP or
RCPARM, then the following SOLVER types are no longer supported:
TRSPM
ATSSPM
TRQMR
ATSQMR
Main Index
3-D Rotordynamics
Main Index
57
Benefits
Results obtained highlight that the analysis with solid and shell elements capture more flexible modes which cannot
be obtained with 1-D or axisymmetric harmonic elements. Many existing MSC Nastran elements have been enhanced
for rotordynamics, so standard preprocessing and postprocessing tools like Patran and SimXpert can be used. Analysis
in the rotating system is suitable for the study of damages/defect in rotors. Analysis in the fixed system using 3-D
solid/shell elements is suitable when the model has an axisymmetric rotating component.
Also, damping for rotors has been revised to make it consistent for all the three kinds of rotors supported in MSC
Nastran, namely: ROTORG, ROTORAX, and ROTOR. Hybrid damping is now consistently defined for 1-D, 2-D, and
3-D rotors using the new ROTHYBD bulk data entry. For a 3-D rotor defined using solid and shell elements, the effect
of stress stiffening (differential stiffness) can be included in the analysis in the rotating reference frame. This is often
required for large flexible disks and blades. For axisymmetric harmonic rotors, the user interface for attaching a
concentrated mass has been simplified in this release.
The MSC Nastran 2016 release also includes a detailed rotordynamics manual which describes the current
rotordynamics capabilities in MSC Nastran.
Main Index
3-D Rotordynamics 58
3-D Rotordynamics in MSC Nastran
User Interface
New Bulk Data Entry
ROTOR
Specifies list of grids, elements, or properties that comprise the rotor 3-D model.
Format:
1
ROTOR
ROTORID
FRAME
LTYPE
AXIS
ID1
ID2
ID3
etc.
GID1
GID2
etc.
10
ROT
ELEM
10
THRU
12
PROP
THRU
AXIS
101
102
10
Example:
ROTOR
Field
Contents
ROTORID
FRAME
LTYPE
ELEM or PROP or both, indicating whether the specified list references element
IDs or property IDs. (Character; Required; No default)
Note that the order is important. In case both ELEM and PROP are specified,
ELEM should be specified first.
Idi
AXIS
GIDi
IDs of grids comprising the axis of the rotor (Integer > 0; Required; No default)
Remarks:
1. Supported element types for analysis in rotating reference frame:
0-D elements : CONM1, CONM2
1-D elements : CBEAM, CBAR
2-D elements : CQUAD4, CQUAD8, CTRIA3, CTRIA6
3-D elements : CHEXA, CPENTA, CTETRA
Main Index
Main Index
3-D Rotordynamics 60
3-D Rotordynamics in MSC Nastran
ROTHYBD
ROTORID1 HYBDAMP1
ROTORID2
HYBDAMP2
10
Examples:
ROTHYBD
15
ROTHYBD
10
100
20
200
30
300
Field
Contents
ROTORIDi
HYBDAMPi
Remarks:
1. ROTORIDi - HYBDAMPi pair values referencing non-existent rotors are ignored.
2. If there is no HYBDAMP entry defined in the data for a HYBDAMPi specified for a valid ROTORIDi, the
program terminates the execution with an appropriate fatal error.
3. Hybrid damping can result in very densely populated damping matrix causing significant performance penalty.
New PARAM Entry
WHIRLOPT
Default = FWD
Control forward whirl or backward whirl analysis for SYNC option in SOL 107 and SOL 108.
Usage:
PARAM, WHIRLOPT, FWD: For forward whirl analysis
PARAM, WHIRLOPT, BWD: For backward analysis
Main Index
Feature Description
As described in the previous section, a new entry "ROTOR" is introduced for defining components of a 3-D rotor and
for identifying the axis of rotation. Functionality of the rest of the entries used in rotordynamics (RSPINR, RSPINT,
RGYRO) are unchanged.
MSC Nastran elements that are supported in 3-D rotor models for analysis in rotating reference frame are:
1. 0-D elements : CONM1, CONM2
2. 1-D elements : CBEAM, CBAR
3. 2-D elements : CQUAD4, CQUAD8, CTRIA3, CTRIA6 (full 6 nodes are required)
4. 3-D elements : CHEXA, CPENTA, CTETRA
MSC Nastran elements that are supported in 3-D rotor models for analysis in fixed reference frame are:
1. 0-D elements : CONM1, CONM2
2. 1-D elements : CBEAM, CBAR
3. 2-D elements : CQUAD4, CQUAD8 (full 8 nodes are required),CTRIA3, CTRIA6 (full 6 nodes are required)
4. 3-D elements : CHEXA, CPENTA, CTETRA
Solution sequences for which ROTOR entry is supported are listed here:
1. SOL 101, static analysis (RFORCE is supported for fixed reference frame only)
Main Index
3-D Rotordynamics 62
3-D Rotordynamics in MSC Nastran
reference frame.
Unbalanced loads for frequency response and transient analysis.
Static and dynamic reduction for the full rotor model
External superelement analysis
Permanent glued contact usage
Support for composite material
Includes effect of damping
Examples
All the test cases described here can be obtained from "../tpl/3drot" directory.
Test cases for analysis in rotating reference frame
In order to validate this capability, a rotor model is created using solid and shell elements as shown in Figure 5-1.
Main Index
Figure 5-1
Model with Shell and Solid Elements (for Analysis in Rotating System)
For the purpose of comparison, the rotor-disk configuration shown in Figure 5-1 is also modeled using bar elements.
Here, the disk is treated as rigid and modeled using a CONM2 element. Critical frequencies obtained from this bar
model in the fixed system are listed in Table 5-1.
Table 5-1
7.08
10.22
10.74
25.5
Critical frequencies in rotating system are shown in Table 5-2. Backward whirl analysis in synchronous analysis (for
SOL 107 and SOL 108) is triggered by using following PARAM entry:
PARAM WHIRLOPT BWD
Table 5-2
Mode
6.5
6.58
9.19
9.23
10.77
10.74
Second backward
whirl
Main Index
21.88
23.43
3-D Rotordynamics 64
3-D Rotordynamics in MSC Nastran
Results presented in Table 5-1 and Table 5-2 indicate that the analysis in rotating system using models with bar and
solid elements captures the critical frequencies obtained from the analysis in fixed system. Mode shapes corresponding
to first four forward whirling modes obtained for the solid model are shown in Figure 5-2.
Figure 5-2
Model with Shell and Solid Elements (for Analysis in Rotating System)
The output includes mass summaries for each rotor defined. Mass summaries provided by different rotors are listed
below:
a. ROTORG defined using bar elements in fixed system
MASS PROPERTIES OF ROTOR
400
GRID ID
AXIAL MASS
TRANSVERSE MASS
POLAR MOMENT
TRANSVERSE MOMENT
-------------------------------------------------------------------------------------------------ALL
2.29585E+03
2.29585E+03
3.75800E+05
2.26615E+05
400
-------------------------------------------------------------------------------AXIAL MASS
TRANSVERSE MASS
POLAR MOMENT
TRANSVERSE MOMENT
-------------------------------------------------------------------------------2.29585E+03
2.29585E+03
3.75800E+05
2.26615E+05
--------------------------------------------------------------------------------
11
-------------------------------------------------------------------------------AXIAL MASS
TRANSVERSE MASS
POLAR MOMENT
TRANSVERSE MOMENT
-------------------------------------------------------------------------------2.29021E+03
2.29021E+03
0.00000E+00
4.19333E+05
--------------------------------------------------------------------------------
Main Index
Note:
The transverse moment is determined about the origin and the starting point for solid model is not at
the origin.
Input Decks
Rotor model with bar in fixed system (ROTORG): rg107a1.dat
Rotor model with bar in rotating system for forward whirl speed: r3d107e1.dat
Rotor model with bar in rotating system for backward whirl speed: r3d107e2.dat
Campbell diagram for rotor model with solid/shell in rotating system: r3d107f1.dat
Critical frequencies for rotor model with solid/shell in rotating system (forward whirl) : r3d107f2.dat
Critical frequencies for rotor model with solid/shell in rotating system (backward whirl): r3d107f3.dat
Reduction using ASET and QSET Degrees of Freedom
The solid rotor model analyzed earlier and shown in Figure 5-1 is modified here to include springs at the end to
represent symmetric bearings. The following changes were made in the Case Control and Bulk Data sections to create
a dynamically reduced model.
In case control:
METHOD = 3000
In Bulk Data:
EIGRL 3000
PARAM AUTOQSET
ASET1 123456
50
YES
9101 9100
Mode Number
Without Reduction
With Reduction
35.32
NA
31.88
31.88
42.92
42.92
98.52
98.52
101.48
101.48
Main Index
3-D Rotordynamics 66
3-D Rotordynamics in MSC Nastran
Table 5-3
Mode Number
Without Reduction
With Reduction
145.46
145.46
147.51
147.51
171.58
171.58
Figure 5-3
Unbalanced Loads
Frequency response for the tip displacement for different damping options is shown in Figure 5-4. Backward whirl
analysis is triggered by using following PARAM entry:
PARAM
Main Index
WHIRLOPT
BWD
Figure 5-4
Unbalanced Response
Forward whirl analysis shows a peak at the first forward critical frequency while the backward whirl analysis shows a
peak at the second backward critical frequency. The effect of damping depends on the analysis option selected.
Damping is specified in the analysis in the rotating frame using RSPINR entry. Gyroavg = -1 is the fast approach.
Undamped forward whirl: r3d108a1.dat
Damped forward whirl, gyroavg = 0 : r3d108a2.dat
Damped forward whirl, gyroavg = -1: r3d108a3.dat
Undamped backward whirl: r3d108a4.dat
Damped backward whirl, gyroavg = 0 : r3d108a5.dat
Damped backward whirl, gyroavg = -1: r3d108a6.dat
Transient Response
Transient response was performed by applying a time-dependent force at the center of the disk. Analysis was
performed for three different cases:
zero rotor speed (r3d109a1.dat)
nonzero rotor speed (r3d109a2.dat)
nonzero rotor speed with damping (r3d109a3.dat)
The results obtained for variation of load and displacement for a time-dependent force are shown in Figure 5-5. The
results obtained highlight the effect of rotor speed and damping on transient response. Damping is specified in the
analysis in rotating frame using RSPINT entry.
Main Index
3-D Rotordynamics 68
3-D Rotordynamics in MSC Nastran
Applied Load
x 10
0.5
0
-0.5
-1
0
Displacement
0.01
0.005
0.1
0.2
0.3
0.4
0.5
Time (s)
0.6
0.7
0.8
0.9
0.2
0.3
0.4
0.5
Time (s)
0.6
0.7
0.8
0.9
Rotor at 0 RPM
Without Damping
With Damping
0
-0.005
-0.01
0
Figure 5-5
0.1
Transient Response
External Superelements
The stator portion of the model should be defined only in the residual for external superelement analysis in rotating
system.
Here also the model described in Figure 5-1 is modified and spring supports are used at the end. In order to validate
the external superelement capability, the complete rotor is defined in the external superelement for this particular
example and spring supports and rotor usage entries are defined in the assembly run. The results obtained are compared
with single-shot run, see Table 5-4. The external superelement usage for 3-D rotors is the same as that for other rotors
(ROTORAX and ROTORG).
Creation Run: r3d103h1.dat
ROTOR 11
ROT
PROP 1
2
AXIS 900001
Assembly Run: r3d107h2.dat
Single Shot Run: r3d107h3.dat
Main Index
3
900002
Table 5-4
0 RPM
6000 RPM
0 RPM
6000 RPM
1.02
31.88
1.02
31.88
1.02
31.88
1.02
31.88
3.25
42.92
3.25
42.92
3.25
98.52
3.25
98.52
3.62
101.48
3.62
101.48
42.93
145.46
42.93
145.46
78.36
147.51
78.36
147.51
78.36
171.58
78.36
171.58
Permanent Glue
The 3-D rotordynamics capability implemented also supports permanent glued contact for rotor components. The
model used for the analysis is shown in Figure 5-6. The rotor definition does not change due to the presence of
permanent glued contact. The frequencies obtained from complex eigenvalue analysis at different rotation speed
(Table 5-5) show no change in results.
Connected Rotor: r3d107i1.dat
Disconnected rotor with permanent glue: r3d107i2.dat
Figure 5-6
Main Index
3-D Rotordynamics 70
3-D Rotordynamics in MSC Nastran
Table 5-5
Complex Freq (Hz) for Connected Rotor and Disconnected Rotor using Permanent Glue
For Connected Rotor
0 RPM
10000 RPM
0 RPM
10000 RPM
268.5
106.8
268.5
106.8
268.5
425.9
268.5
425.9
776.5
615.4
776.5
615.4
776.5
936.3
776.5
936.3
1006.1
992.0
1006.1
992.0
1297.1
1155.9
1297.1
1155.9
1298.0
1434.7
1298.0
1434.7
1457.9
1449.7
1457.9
1449.7
1885.7
1732.6
1885.7
1732.6
1886.1
2039.0
1886.1
2039.0
Figure 5-7
Main Index
Campbell diagram obtained using solid elements is shown in Figure 5-8. Here, the results obtained are compared with
those obtained using beam element (shown in SOLID lines)
Figure 5-8
The number of elements used in the different finite element models is listed in Table 5-6. Critical frequencies for the
hollow rotor meshed using different kinds of solid elements are shown in Table 5-7. Here it can be seen that the results
for different cases are very close. Variation in results is due to different mesh densities and number of grids per element
used in the analysis.
Table 5-6
Model
Number of Elements
Number of Grids
Beam
10
12
Hex-20
200
1567
Hex-8
1600
3002
Tet-10
8000
15064
Tet-4
600
293
Penta-6
3200
2600
Table 5-7
Critical Frequencies for Hollow Rotor Meshed using Solid Elements (Hz)
Mode
Beam
Hex-20
Hex-8
Tet-10
Tet-4
Penta
75.53
74.86
75.80
75.20
87.42
75.80
76.03
75.35
76.30
75.69
87.76
76.22
Main Index
3-D Rotordynamics 72
3-D Rotordynamics in MSC Nastran
Table 5-7
Critical Frequencies for Hollow Rotor Meshed using Solid Elements (Hz) (continued)
Mode
Beam
Hex-20
Hex-8
Tet-10
Tet-4
Penta
447.7
441.75
446.14
444.03
520.24
447.39
466.71
460.72
465.72
463.13
533.58
463.85
785.9
784.69
784.51
774.69
1143.93
784.89
1164.13
1140.28
1147.68
1146.87
1276.36
1154.87
1263.06
1246.58
1256.69
1254.18
1360.07
1246.32
1267.23
1266.47
1266.29
1266.39
1434.49
1266.72
2092.12
2026.15
2031.23
2038.91
2456.04
2051.63
10
2356.52
2341.17
2351.88
2343.59
2675.34
2320.07
Frequency Response for Rotor Defined using Solid Elements in Fixed System
Input Decks:
r3d108m1.dat : Rotor with 8-noded CHEXA elements, undamped
r3d108m2.dat : Rotor with 8-noded CHEXA elements, damped without circulation
r3d108m3.dat : Rotor with 20-noded CHEXA elements, undamped
r3d108m4.dat : Rotor with 20-noded CHEXA elements, damped without circulation
Frequency response for unbalance loads obtained for the undamped case using SOL 108 analysis is shown in
Figure 5-9. In all the cases, peaks are observed near forward whirl critical speeds, which is around 76 Hz and 460 Hz
(see Table 5-7).
Main Index
Figure 5-9
Structural damping of 0.05 is introduced for the rotor through the RSPINR entry. Frequency response for the damped
cases is shown in Figure 5-10, where consistent results are obtained for the beam and solid rotor. For these analysis,
circulation effects are not included in the analysis (nastran system(695)=2).
Figure 5-10
Main Index
3-D Rotordynamics 74
3-D Rotordynamics in MSC Nastran
Test Decks:
r1d101m1.dat : Beam rotor, static analysis
r1d129m1.dat : Transient response for beam rotor using SOL 129
r1d400m1.dat : Transient response for beam rotor using SOL 400
r3d109m1.dat : Transient response for solid rotor with 8-noded CHEXA elements using SOL 109
r3d129m1.dat : Transient response for solid rotor with 8-noded CHEXA elements using SOL 129
r3d400m1.dat : Transient response for solid rotor with 8-noded CHEXA elements using SOL 400
r3d109m2.dat : Transient response for solid rotor with 20-noded CHEXA elements using SOL 109
r3d129m2.dat : Transient response for solid rotor with 20-noded CHEXA elements using SOL 129
r3d400m2.dat : Transient response for solid rotor with 20-noded CHEXA elements using SOL 400
Transient response to ramp-force for different kinds of rotors is shown in Figure 5-11. Results obtained using SOL 109,
SOL 129, and SOL 400 are close for all the rotors considered.
Figure 5-11
Main Index
Results for critical frequencies for a rotor defined using shell elements are shown in Table 5-8 and compared with those
obtained using a rotor model developed using axisymmetric harmonic elements. Results indicate that the shell model
captures various local deformation modes which could not be captured using an axisymmetric rotor model.
Corresponding Campbell diagram and mode shapes are shown in Figure 5-12 and Figure 5-13.
Table 5-8
CQUAD4
CQUAD8
CTRIA3
CTRIA6
17.50
17.18
17.24
17.28
17.24
17.60
17.30
17.36
17.40
17.36
101.40
99.75
100.01
100.24
100.03
106.10
104.23
104.53
104.72
104.56
108.13
106.74
109.79
106.55
108.29
106.91
109.95
106.70
113.58
112.23
115.59
112.13
114.69
113.40
116.73
113.22
143.42
142.21
146.97
142.37
10
146.69
145.66
150.34
145.59
11
171.89
172.14
171.59
171.63
12
207.95
206.61
214.12
207.18
13
216.33
215.44
222.76
215.43
14
257.00
252.89
253.33
253.99
253.37
15
282.00
276.61
277.18
277.61
277.27
Main Index
3-D Rotordynamics 76
3-D Rotordynamics in MSC Nastran
Figure 5-12
Main Index
Figure 5-13
Main Index
3-D Rotordynamics 78
3-D Rotordynamics in MSC Nastran
The model shown in Figure 5-1 developed using solid and shell elements was analyzed again in the fixed reference
frame. Results for the 3-D rotor are compared with those obtained using 1-D bar elements and a concentrated mass.
Campbell diagram for this case is shown in Figure 5-14, while the corresponding mode shapes are shown in
Figure 5-15.
Figure 5-14
Main Index
Figure 5-15
Effects of stress stiffening are important for 3-D rotors, especially when the model includes large flexible structure
away from the axis of rotating, high rotational speeds and/or large diameter blades. In order to demonstrate its effect,
a hollow shell rotor model (similar to that shown in Figure 5-7) is analyzed in rotating reference frame. Results shown
in Figure 5-16 highlight the increase in stiffness with increase in rotor speed.
Main Index
3-D Rotordynamics 80
3-D Rotordynamics in MSC Nastran
2000
1P
Mode 1
Mode 2
Mode 3
Mode 4
Mode 5
Mode 6
Frequency (Hz)
1500
1000
500
0
0.2
0.4
0.6
0.8
1
1.2
Rotor Speed (RPM)
1.4
1.6
1.8
x 10
Figure 5-16
When the analysis is performed in fixed reference frame, all the three types of rotors supported in MSC Nastran can
be included in a model. For this particular case, the mass summary produced in .f06 file is shown in Figure 5-17.
$ ----- Including 3D rotor --------------------------ROTOR 11
FIX
PROP 101
AXIS 3001 3002
$ ------ Axisymmetric Rotor (ROTORAX) Definition ------ROTORAX,10,PROP,1
ROTORAX,10,GRID,61,62
$ ------ Beam Rotor (RotorG) Defintion ----ROTORG
400 501 THRU 507
Main Index
Figure 5-17
Main Index
3-D Rotordynamics 82
3-D Rotordynamics in MSC Nastran
Example Summary
Summary of all the test decks is provided in Table 5-9 and Table 5-10.
Table 5-9
Name
rg107a1.dat
Rotor model with bar in rotating system for forward whirl speed
r3d107e1.dat
Rotor model with bar in rotating system for backward whirl speed
r3d107e2.dat
r3d107f1.dat
Critical frequencies for rotor model with solid/shell in rotating system (forward whirl)
r3d107f2.dat
Critical frequencies for rotor model with solid/shell in rotating system (backward whirl) r3d107f3.dat
Model without reduction:
r3d107g1.dat
r3d107g2.dat
r3d108a1.dat
r3d108a2.dat
r3d108a3.dat
r3d108a4.dat
r3d108a5.dat
r3d108a6.dat
r3d109a1.dat
Main Index
Table 5-9
Name
r3d109a2.dat
r3d109a3.dat
Creation Run
r3d103h1.dat
Assembly Run
r3d107h2.dat
r3d107h3.dat
Connected Rotor
r3d107i1.dat
r3d107i2.dat
r3d103a1.dat
r3d103a2.dat
raxcnm2b.dat
Table 5-10
Name
r3d107k1.dat
r3d107k2.dat
rotg107.dat
r3d107m1.dat
r3d107m2.dat
r3d107m3.dat
r3d107m4.dat
r3d107m5.dat
r1d108m1.dat
r1d108m2.dat
r3d108m1.dat
r3d108m2.dat
r3d108m3.dat
r3d108m4.dat
r1d101m1.dat
Main Index
3-D Rotordynamics 84
3-D Rotordynamics in MSC Nastran
Table 5-10
Name
r1d129m1.dat
r1d400m1.dat
Transient response for Solid Rotor with 8-noded CHEXA elements using SOL 109
r3d109m1.dat
Transient response for Solid Rotor with 8-noded CHEXA elements using SOL 129
r3d129m1.dat
Transient response for Solid Rotor with 8-noded CHEXA elements using SOL 400
r3d400m1.dat
Transient response for Solid Rotor with 20-noded CHEXA elements using SOL 109
r3d109m2.dat
Transient response for Solid Rotor with 20-noded CHEXA elements using SOL 129
r3d129m2.dat
Transient response for Solid Rotor with 20-noded CHEXA elements using SOL 400
r3d400m2.dat
rax107n1.dat
rax107n2.dat
r3d107n1.dat
r3d107n2.dat
r3d107n3.dat
r3d107n4.dat
r3d107n5.dat
r3d107n6.dat
r3d107n7.dat
r3d107n8.dat
r1d107p1.dat
r3d107p1.dat
Rotor with Shell elements in rotating reference frame with stress stiffness
r3d107q3.dat
Rotor with Shell elements in rotating reference frame without stress stiffness
r3d107q4.dat
r3d107s1.dat
Main Index
Main Index
Optimization
Global Optimization
86
94
103
Optimization 86
Global Optimization
Global Optimization
MSC Nastran has been supporting structural optimization via SOL 200 for many years. The technology built in
SOL 200 uses gradient based optimization algorithms. Many industry optimization applications show that multiple
local minima are often obtained when starting from differing initial starting points. This behavior is particularly evident
in composite and dynamical response optimizations. Users often want to know whether the optimal design is a local
or global optimum. If it is a local, how can they improve the local optimal design with limited computer resources?
Mathematically speaking, it is impossible to find a global optimum unless all the possibilities in the design space are
exhausted. However, numerically, it is desirable to have a practical global optimization procedure to find an
approximate global solution with reasonable computing cost. MSC has developed a multi-start method to solve both
unconstrained and constrained global optimization problems. It has four major aspects:
The global design space is first approximated by a small but intelligent set of points that are derived using
Design of Experiment (DOE) methods, such as orthogonal arrays, fractional or full factorial design
techniques. This important step enables the subsequent local searches to be performed in a well-balanced but
reduced design space.
Heuristic techniques are applied to quickly find the global optimum. The basic rule is to always start a new
local search from the point that has the largest distance from the current best local minimum point. A direct
benefit of this is to minimize the number of repeated visits to the same region of attraction.
A gradient-based optimization tool is used as the local search engine. Specifically, the powerful
More discussion of the method can be found in a paper titled "A Practical Global Optimization Procedure",
AIAA-2003-1671, 2003.
Benefits
The benefit to the user for the automated global optimization (GO) feature is that it combines automatic multi-start
global methods and gradient based local optimization algorithms. The heuristics built into the global search algorithm
allow users to explore better designs with relatively modest computing resources. It is expected that in certain
applications of applying GO will provide surprising variability in the design task and this would provide deeper insight
into the design process. GO can also be utilized to search for a feasible design when a local optimization SOL200 was
unable to find one.
User Input
For GO applications, a standard MSC Nastran SOL 200 data file can be used to explore global optimization.
Invoking MultiOpt
GO and MMO are features in the program MultiOpt. MultiOpt is invoked using the following command line:
MSC20160
Main Index
MultiOpt
Description
OptType
Debug
"No" or "yes" (default = no). If turn on debug="yes", the program produces additional
diagnostic messages.
Job name=deck
Indicates the subsequent data is a job name. deck is the basename of the input data model
(deck.dat or deck.bdf). No default
MEM=m
Indicates the subsequent data is a memory request for this model. Integer = amount of
memory requested (default=1GB)
SMP=n
Indicates the number of processors used to efficiently obtain a solution to the simulation.
The processors used will be on a single machine (default = no use of parallelization on
shared memory tasks).
Scr="s"
Blocking=bopt
Indicates whether jobs run in parallel or serially. Integer bopt =1(default) runs the job
serially while bopt=n enables running n local optimization jobs in parallel.
goparam
Variability
Main Index
Optimization 88
Global Optimization
Option
Description
Maxfea
Indicates the maximum allowable number of finite element analyses. Integer >0
(default=500). This parameter controls the global search process. The procedure
computes the total number of finite element analyses that is the sum of the number of
finite element analyses performed for each local search. When the total number of FE
analyses exceeds mopt, the GO process is terminated with the appropriate message
Nglsmax
Indicates the maximum allowable number of consecutive local searches that do not
produce an improved design. Integer (default=8). This parameter also controls the global
search process. The global search procedure will be terminated when the number of
consecutive local searches that do not produce an improved design exceeds the given
nopt parameter.
Fsave
By default (fsave=0), only the initial local optimization and the global optimization
results are saved. If user want to save intermediate local optimization results that have
feasible designs, fsave can be set to fsave=1
Minmax
User Output
There are four types of outputs from GO.
A single summary output file multiopt.log that records the history of the search process. The local
optimization and final global optimization results can be checked in that file.
fn_go.dat is the global optimization job (fn is the basename of input model) with a sample design that
produces the global optimal solution. The sample design (as a design variable include file) fn_xxxx_desvar.go
is also saved for the global optimization.
fsave="1" can be used to keep all local optimization results with a feasible design. fn_xxxx_desvar.go is a
design variable include file containing DESVAR entries where xxxx is a four digit number indicating a
particular design run. fn_xxxx.f06 is the local optimization result for the run.
Patran (or third party postprocessor) can be used to view the global optimal design and optimization history
GO Example
In order to validate the GO capability, a problem is obtained from the test problem library for Sol 200
(tpl/optim/d200c01.dat). The following figure shows a composite tube clamped at one end and free at the other end.
The tube is built from a composite material with 8 plies. The outer layer pairs are initially at 85 orientations to the
hoop direction while 4 core layers are at 60 orientations. The design task is to find the ply thickness and ply angles to
minimize weight subject to Hill Failure criteria. The ply thickness is the first design variable and the ply angle of the
inner and outer layer pairs and core layers are the remaining design variables . Originally, when the problem was solved
with Sol 200, a local minimum solution was found. After the global optimization procedure is exercised, a global
optimum solution has been found. See the following Result section for the detailed numbers.
Main Index
The MultOpt input XML file can be found in the test problem library (tpl/go_opt/ d200c01.xml) as:
<?xml version="1.0" ?>
<rc OptType="GO" debug="no">
<Job name="d200c01" blocking="2"/>
</rc>
The summary file multiopt.log from this example problem is described below to provide a general discussion of the
various output section in the file. Since the other types of files are basically regular MSC Nastran output file, they are
not discussed here.
Initial Local Search
This section shows the result from the very first local search that is based on the original user input file. First, the header
indicates initial local search. Then, it tabulates three design variables with the starting and final values, bounds, and
labels. Finally, the objective and maximum constraint values are shown. This final design is marked as a feasible
solution because the constraint value is less than the gmax (a parameter defined on DOPTPRM entry and its default is
0.005). The number of FE analyses used in this local search is also given.
************************************************************************************
****
Initial Local Search
****
************************************************************************************
The starting design variables are from your input deck
desvar ID
---------1
2
3
Label
Starting Value
--------- --------------TPLY
1.0000E+00
THETA
1.0000E+00
THETA
1.0000E+00
Final Value
----------5.7385E-02
5.6849E-01
1.6880E-01
Lower Bound
------------1.0000E-03
-1.0588E+00
-1.5000E+00
THIS IS THE FIRST LOCAL SEARCH BASED ON THE USER INPUT FILE
Main Index
Upper Bound
-----------1.0000E+01
1.0588E+00
1.5000E+00
Optimization 90
Global Optimization
OBJECTIVE
=
MAXIMUM CONSTRAINT VALUE =
THE LOCAL SEARCH USED
9.1709E-02,
3.9210E-03 (A FEASIBLE SOLUTION).
17 FE ANALYSES.
Note that the actual ply angles are plus or minus 85.0 times the second design variable and plus or minus 60 times the
second so that the plies can range from minus 90 to plus 90 degrees. Allowing ply angles to vary over such a broad
range is known to result in local minima.
Design Point Table
This section lists the design table (sample points) used for local optimization search if debug=yes is used.
********************
********************
Design table is created using the DOE method. The last run is
added by taking the center values of all design variables
desvar
run
1
run
2
run
3
run
4
run
5
----------- ----------- ----------- ----------- ----------- ----------DV
1
7.500E+00
2.501E+00
7.500E+00
2.501E+00
7.500E+00
DV
2
5.294E-01
5.294E-01
-5.294E-01
-5.294E-01
5.294E-01
DV
3
7.500E-01
7.500E-01
7.500E-01
7.500E-01
-7.500E-01
desvar
run
6
run
7
run
8
run 9
----------- ----------- ----------- ----------- ----------DV
1
2.501E+00
7.500E+00
2.501E+00
5.000E+00
DV
2
5.294E-01
-5.294E-01
-5.294E-01
0.000E+00
DV
3
-7.500E-01 -7.500E-01
-7.500E-01
0.000E+00
Main Index
is possible that a local search may be trapped in the same region of attraction and the final design will be identical to
a previous local minimum. When that happens, the wording in the statement will be different.
************************************************************************************
****
Local Search #
5
****
************************************************************************************
The starting design variables are from run #
desvar ID
---------1
2
3
Label
Starting Value
--------- --------------TPLY
5.0005E+00
THETA
0.0000E+00
THETA
0.0000E+00
Final Value
----------2.1409E-02
-6.2499E-03
-6.2499E-03
Lower Bound
------------1.0000E-03
-1.0588E+00
-1.5000E+00
Upper Bound
-----------1.0000E+01
1.0588E+00
1.5000E+00
RUN
#
____________
0
9*
********************
LOCAL MINIMUM
____________
9.1709E-02
3.4214E-02
*******************************************
END OF GLOBAL OPTIMIZATION SEARCH
******************************************
MultiOpt is successfully complete
######## [END MULTIOPT: 03/04/2015
Main Index
10:53:16] ########
Optimization 92
Global Optimization
Main Index
Serial
License Draw
Multiplication
Factor(*1)
Supported
Yes
1
Yes
1
Parallel
License Draw
Uses BLOCKING=N Multiplication
in XML File
Factor
not achievable (Note 5)
N/A
Yes
(N+1)/2
(Note 2/Note 4)
Master Key
Yes
Yes
MSC One
Yes
1 (Note 3)
Yes
(N+1)/2
(Note 2/Note 4)
(N+1)/2
(Note 4)
Note 1:
For Global Optimization License Draw based upon features requested in single MSC Nastran input file.
Note 2:
For MSC Nastran Embedded Fatigue and Aeroelasticity II, the license draw will be N.
Note 3:
MSC Nastran Embedded Fatigue and Aeroelasticity II cannot be used with MSC One.
Note 4:
If there are insufficient licenses available, the job will terminate; it is recommended to run in Serial mode.
Note 5:
If BLOCKING=2 and NEF and Aeroelasticity II are not used, the job will run with two processors.
Main Index
Optimization 94
Multi Model Optimization
Main Index
Benefits
MMO allows the user to have separate models that differ in their topology or in their analyses but still perform a
combined optimization. The enhanced MMO is able to solve larger problems due to the Mode i8 support. There is no
limit to the number of models that can be included.
User Input
For MMO applications, each of the models has its own data deck that is complete to the extent that it could be run
"stand-alone" in MSC Nastran SOL 200. The following changes need to be made in each of these separate input files
for a MultiOpt submittal:
a. A DESMOD case control command needs to be inserted in each model of the form:
DESMOD = model
Where model is a unique, user specified name of up to eight characters that designates the model
b. The DOPTPRM entry in the separate models control parameters that are used by the optimizer and others
that are used in the iterative process. It is recommended that an identical DOPTPRM be used in each model.
The DOPTPRM in the first model controls what is used by the optimizer; e.g., OPTCOD, while
convergence parameters and DESMAX are controlled by the local DOPTPRM entry.
c. If the objectives are to be combined, the first model must have its DESOBJ request point to a DRESP2 that
contains the structure of the combined objective function. This is expanded upon below.
d. MMO requires an addition xml file that drives the simulation. The format of this xml file is described below.
Invoking MultiOpt
GO and MMO are features in the program MultiOpt. MultiOpt is invoked using the following command line:
MSC20160
MultiOpt
Main Index
Optimization 96
Multi Model Optimization
Description
OptType
Debug
Job name=deck1(
deck2,,deckn)
Indicates the subsequent data is a job name. deck1 is the basename of the
input data model. deck1, deck2, , and deckn are n basename in a multiple
mode optimization problem
coef= c1 (c2,cn)
MEM= m1 (m2,..mn,
mm)
Indicates the subsequent data is a memory request for this model. Memory
for the model m1, m2,, mn, mm = 1GB (default) . mm is the memory for
the merge operation
Scr=s1 (s2, , sn, sm) Option for scratch. scr=yes (default) or no. Scr=yes is recommended
Blocking=b1(b2, b3,
.., bn)
Merge
Remarks
1. MultiOpt supports new IFP and Mode i8 only.
2. MultiOpt input XML file (for example, mygofile.xml and mymmofile.xml) is a standard XML file. Users can
use any XML editor and validator tools to create, validate, and correct.
3. OptType = "MMO" is used to perform multiple model optimization. The merge job in the MultiOpt input XML
file is optional.
4. MMO is terminated when either convergence is achieved or the maximum design cycles are reached for each
separate models.
5. More discussions about the options MEM, SCR and SMP can be found in MSC Nastran Quick Reference
Guide.
Main Index
specified for the first LABL1 should be 1.0 and the subsequent LABLi values should be zero. In this way,
the objective of the first model is simply the first response. (Other LABLi values in the first model are
permitted, but can lead to confusion)
The DRESP2 must have either nmod DRESP1 quantities or nmod DRESP2 quantities. It is not possible to
replaced with the second through nmod responses that are the objectives in the second and subsequent
models.
The coefficients actually used for the models are the Ci data provided in the xml file.
The DEQATN that corresponds to the DRESP2 performs a linear addition of the responses:
COBJ = Ci OBJi
7. MultiOpt users can also use MSC Nastran RC file to set other MSC Nastran keywords except (MEM, SMP,
and SCR) for GO or MMO. See MSC Nastran Quick Reference Guide.
8. Windows users
In order to run the MultiOpt utility, remotebootstrap.exe should be added to Windows Firewall access list.
Otherwise, it will be blocked by it. When MultiOpt is run, users should not disturb the command prompt,
especially when there are a large number of jobs; i.e., more than five. The status of execution should be
monitored from another prompt. Otherwise, the original one may be unresponsive.
9. The folder path cannot contain blank spaces.
User Output
For MMO, the separate models each provide their separate .f06 files and any other outputs that would be expected from
a SOL 200 run. There is also a merge.f06 file produced from the optimization portion of the process and could provide
some insight into how the optimization is progressing and highlight any problems.
Comma Separated Values File
The ASSIGN statement (in File Management) can be used to generate optimization history in Comma Separated
Values (CSV) file (see MSC Nastran 2016 Design Sensitivity and Optimization User's Guide). This is still valid for
GO (local optimization) and MMO (separate models). To produce the merge optimization design history in CSV file,
users must define USERFILE name by the DESMOD model name in Case Control (for example, DESMOD = model
where model must be uppercase)
Main Index
Optimization 98
Multi Model Optimization
Figure 6-1
Fuselage
Param, XYUNIT, 52
The MultiOpt input XML file, myfuselage.xml, for this job is of the form:
<?xml version="1.0" ?>
<rc OptTYpe="MMO" debug="NO">
<Job name="fuselage01"
Main Index
<Job name="fuselage02"
<Job name="fuselage03"
<Job name="fuselage04"
<Job name="fuselage05"
<Job name="fuselage06"
<Job name="fuselage07"
<Job name="fuselage08"
<Job name="fuselage09"
<Job name="fuselage10"
<Job name="fuselage11"
<Job name="fuselage12"
<Job name="fuselage13"
<Job name="fuselage14"
</rc>
After 12 MMO design cycles, a feasible optimum design is achieved and design history plots are shown in Figures 6-2
to 6-4. The plots indicate the necessity of increasing the weight to overcome the initially violated stress constraints.
The weight increases through cycle 5; at this point, the constraints are not violated. The subsequent design cycles
results in a reduction in the weight.
Main Index
Optimization 100
Multi Model Optimization
Figure 6-2
Figure 6-3
Main Index
Figure 6-4
Main Index
Optimization 102
Multi Model Optimization
Parallel
Supported
License Draw
Multiplication
Factor(*1)
Uses BLOCKING=N
in XML File
License Draw
Multiplication
Factor
not achievable
N/A
not achievable
N/A
Yes
(M +1)/2
See Note 2 and 3
Yes
(MF+1)/2
See Note 2 and 3
Master Key
Yes
(MF+1)/2
See Note 2 and 3
Yes
(MF+1)/2
See Note 2 and 3
MSC One
Yes
(MF+1)/2
See Note 2 and 4
Yes
(MF+1)/2
See Note 2 and 4
Note 1:
For Multi Model License Draw based upon features requested in each MSC Nastran input file, for the
case where all jobs require the same features, then it would be (M+1)/2 license draw for one simulation.
If Aeroelasticity II or MSC Nastran Embedded Fatigue is present than M Aeroelasticity II or Fatigue
licenses are drawn.
Note 2:
MF is the accumulated license for all M models for a particular feature. For example, if there are four
models, M=4, if only three use ACMS and one uses exterior acoustics then the license draw for ACMS
=(3+1)/2 and the license draw for exterior acoustics will be (1+1)/2=1. The number of licenses drawn for
base MSC Nastran is (4+1)/2=2.
Note 3:
For MSC Nastran Embedded Fatigue and Aeroelasticity II, the license draw will be MF.
Note 4:
MSC Nastran Embedded Fatigue and Aeroelasticity II cannot be used with MSC One licensing.
Note 5:
Main Index
Main Index
Optimization 104
Weight as a Function of Material or Property ID
Main Index
Dynamic Analysis
Main Index
Benefits
1. Allows users to run models that have frequency dependent material in MSC Nastran direct
frequency SOL108 and modal frequency SOL111. This is especially useful when dealing with
composite materials or short fiber reinforced plastics since they exhibit stiffness and damping
properties which are significantly frequency-dependent over the typical frequency ranges of
interest.
Feature Description
The Digimat module RP will generate for the user defined frequency spectrum, the Digimat material(s)
and the spatial distribution of fiber orientation across the model, the required MSC Nastran MATi and
PCOMP or PSOLID entries.
An AUXMODEL Bulk Data file will be produced for each frequency that redefines all the materials in
the model. The definition of the non-Digimat materials is simply copy-pasted while the stiffness and
damping properties of the MATi entries corresponding to the Digimat material are updated. The Bulk
Data files are of the form BEGIN AUXMODEL = n. Where n is an integer starting with n=1 first the first
frequency, n=2 for the second frequency to n=last frequency in ascending integer order.
Additionally, a parameter PARAM, DFRQDEP, YES will be placed in the main bulk data that will enable
SOL108 or SOL111 to analyze the model under frequency dependency.
Important note: In SOL111 i.e. modal frequency response analyses, the eigenvectors which are used to
decompose the solution are extracted only once, at the beginning of the analysis, using the frequencyindependent properties defined in the bulk data section of the finite element model. The frequency
response itself is however computed with the frequency-dependent properties defined in the different
AUXMODEL sections. This is of course a simplifying assumption but it helps reduce the computational
Main Index
time (since the eigenvectors are extracted only once) and was shown to give good results on typical
industrial problems with viscoelastic Digimat materials.
Inputs
SOL108 or SOL111
SUBCASE i
FREQ=n $ This entry selects the frequency bulk data entry.
If more than one subcase is supplied, they must all select the same
frequency bulk data entry.
BEGIN BULK
PARAM, DFRQDEP, YES
This parameter executes the required portions of SOL108 or SOL111 for
frequency dependent materials.
A frequency Bulk Data entry associated with the frequency dependent
materials. The choice is:
FREQ, n, ,or FREQ1, n, , or FREQ2, n,
Standard MSC Nastran bulk data
BEGIN AUXMODEL = 1
All MATi entries appearing in the bulk data section must be redefined
for the first frequency selected
BEGIN AUXMODEL = 2
All MATi entries appearing in the bulk data section must be redefined
for the second frequency selected
Main Index
Example
Figure 7-1 below shows the front beam of a car roof which will be assumed to be made of a short fiber
reinforced plastic with the spatial distribution of fiber orientation shown to the right.
Figure 7-1
Let us compute the frequency response of that beam over the 10-250 Hz range when clamped on both
ends and subject to a unit point load in the negative z-direction at mid-span, as depicted in the above
Figure. Let us further consider 3 different modelling assumptions:
1. Spatially uniform, frequency-independent material properties corresponding to the behavior of
the material at 10 Hz and to a uniform, random planar distribution of fiber orientation;
2. Spatially uniform, frequency-dependent material properties corresponding to a uniform, random
planar distribution of fiber orientation (with the help of the present feature and Digimat-RP);
3. Spatially varying, frequency-dependent material properties accounting for the spatial distribution
of fiber orientation shown to the right in the above Figure (with the help of the present feature and
Digimat-RP).
Frequency dependent damping may be found in materials that are viscoelastic in nature. For a composite
material, the matrix material can be characterized by the storage and loss modulus as shown below. For
this material the moduli increase rapidly, and then the loss modulus decreases with frequency. This will
result in the effective damping decreasing in frequency. Note that the loss modulus is near the maximum
at 10 Hz.
Main Index
Figure 7-2 below shows the magnitude of the acceleration in the z-direction at the node to which the force
is applied, as a function of frequency, for the 3 different modelling assumptions. It can be observed that:
Three peaks, corresponding to the eigenfrequencies of the system, are observed in the frequency
range of interest;
Except in the 10-50 Hz range, there are large discrepancies between the solutions obtained with
with frequency;
The amplitude of the peaks increases significantly because the material damping decreases
with frequency;
When accounting not only for the frequency-dependence of the properties but also for their
spatial variation due to the underlying fiber orientation (results shown in green confronted with
the results shown in red),
The peaks shift to higher frequencies because the fibers are generally not randomly distributed
but tend instead to align with certain preferential directions which increases the apparent
stiffness of the material in these directions;
Main Index
The amplitude of the peaks either remains the same (for the 1st and 2nd peak) or increases (for
the 3rd peak) depending on the orientation of the loading directions in the corresponding
deformation mode with respect to the fiber directions (damping is a matrix-dominated
property which hence tends to be larger perpendicularly to the fibers).
Figure 7-2
This example therefore shows that it is crucial to take into account the frequency dependence and the
spatial variation of the material properties, by using the MSC Nastran AUXMODEL feature in
conjunction with Digimat-RP, to get accurate frequency response predictions when dealing with
composite materials or short fiber reinforced plastics. More importantly, failure to do so can yield results
which underestimate the actual response of the system which is unsafe from a design point of view.
Input Files
The input file roof_beam_digi.dat for this example is located in tpl/frdepdigi/ and it's include files
roof_beam.bdf and roof_beam_auxmodel.bdf are in /tpl/include directory.
Main Index
b. A negligible stiffness compared to the materials assigned to the elements initially present in
the model, equal to 1E-6 times the damping matrix we want to define for that material
c. A very large GE value of 1E6 (either on the PCOMP or MATi entries) which is going to give
us exactly the damping matrix we want when multiplying the negligible material stiffness
matrix here above
d. The damping matrix issuing from these new elements can therefore be made frequencydependent by changing the stiffness of these new materials (and not the GE value which
remains equal to 1E6) in the auxiliary models
2. A duplicate elements id is created, the user element id will point to one of the material ids in the
first set (i.e. containing the stiffness behavior) and the second element id will point to the material
id in the second set (i.e. containing the damping behavior). No new grid points are created. Note:
Only the first set of elements should be referenced in a BCBODY option.
3. For each frequency, the material data is given in the AUXMODEL of the MSC Nastran bulk data
section.
Main Index
a. Either of FREQ, FREQ1, FREQ2 entries may be used but for each frequency specified on the
FREQi entry the user must supply a BEGIN AUXMODEL=n with all the material definitions
for that frequency. The value n must start with n=1 for the first frequency, n=2 for the second
frequency etc., to n=last_frequency. If there is a mismatch between the number of frequencies
computed on the FREQi entry and the number of AUXMODELs supplied a FATAL message
will be issued
b. The AUXMODELS may only contain material entries and must contain the same material
entries as in the bulk data section. Only the stiffness and the structural damping values (GE
field) of the MAT1, MAT2, MAT8 or MAT9 entries can be different from their values in the
bulk data section. All other fields or material entries must have the same values as in the bulk
data section.
6. Results Processing in SimXpert and Patran
a. PARAM, POST, -1 is required.
b. DISPLACEMENT, FORCE, STRESS, STRAIN items are accessible for display.
c. For composites the PLY stresses are computed by default. PARAM, NOCOMPS, 0 or -1 will
also yield the smeared stress at Z1 and Z2 locations.
d. In SimXpert simply access the OP2 file. For Patran the following is required to see PLY
stresses:
Select Analysis/Action/Read Input File (Note the BEGIN AUXMODEL=1 causes Patran
problems. Put an ENDDATA just above the first BEGIN AUXMODEL before selecting or
Patran will fail.)
Select Input File/Apply
Action/access Results
Object/Attach Output2 (not Read Output2)
Select Results File/Apply
Results/select frequency/select item to plot
Main Index
Main Index
Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200
Benefits
The new ACMS implementation with its better SMP parallelization can be used to reduce the wall clock time when
finding the eigenmodes of a structural mechanical system. This will be especially helpful for users who cannot access
the DMP capability in MSC Nastran due to their inability to control the command line input. It will also help all users
with an overall reduction in wall clock time. Also, the new ability to use ACMS in SOL 400 will reduce the wall clock
time for a new class of problems.
Technical Discussion
In this discussion, we define the following execution phases for modal based analysis in MSC Nastran:
Phase
Description
DMAP ACMS
implementation
New ACMS
implementation
Nastran Phase 1
(no change)
ACMS Phase 1
SubDMAP MDACMS
ACMS1 module
ACMS Phase 2
Global eigenvalue
computation
SubDMAP INVLAN
(no change)
SubDMAP MDQRCVR
ACMS1VR module
Main Index
Phase
Description
DMAP ACMS
implementation
New ACMS
implementation
ACMS Phase 3
SubDMAPs
MDHHRED and
MDHRED
MDHHREDX and
MDHREDX modules
Frequency Response
FRRD1 modujle
(no change)
Other
SDR, etc.
(no change)
Execution time for modal based analysis is typically dominated by "ACMS Phase 1", "ACMS Eigenvector Recovery",
and "ACMS Phase 3" as defined above. The new ACMS implementation is confined to these three phases. The new
implementation improves performance both in raw serial performance and parallel scalability. Note that ACMS Phase
3 does not normally apply to SOL 103 and likewise, ACMS Eigenvector Recovery does not normally apply to SOL
111.
This Technical Discussion is focused primarily on the new implementation of ACMS Phase 1, embodied in the
ACMS1 module. In this module, automatically generated components (or domains, generated by the PRESOL
module) are synthesized producing a global Q-set. This Q-set is sometimes referred to as the set of "sub-structure
modes."
The new ACMS Phase 1 implementation in module ACMS1 includes fundamental changes that enables greater SMP
scalability and better overall performance. For example, the old ACMS implementation requires a full binary tree
limiting the ability to handle parallelism in unbalanced trees. See Figure 8-1.
Figure 8-1
Example of a full binary tree. The old ACMS method requires such a tree in its
implementation.
The new ACMS method relies on a variable depth binary tree that allows for a better decomposition of problems with
severe imbalance.
Main Index
Figure 8-2
Example of a variable depth binary tree. The new ACMS method uses such a tree in its
implementation.
Another major difference between the new implementation and the DMAP version is that the previous method limits
the number of domains in the binary tree, thus limiting parallelism and performance. The new version only limits the
problem size at the leaves of the binary tree and thus can yield many thousands of domains and dozens of levels. This
in turn provides opportunity for better performance via a reduced number of operations, and for better parallel
scalability due to yielding more independent computations.
DMP parallelism can still be used with the new ACMS version but it does not affect the time in the ACMS1 module.
DMP is used in SOL 103 for solving the global eigenmode problem (ACMS Phase 2), and it is used in SOL 111 for
the frequency response problem. Finally, the old ACMS version is still available and will be the default for this release
Inputs
The default approach for finding the eigenmodes of a structural mechanical system in MSC Nastran is determined by
the EIGR or EIGRL bulk data entry. The ACMS method requires the addition of a DOMAINSOLVER command in
the Executive Control Section as follows:
SOL 111
DOMAINSOLVER ACMS
CEND
This command instructs MSC Nastran to use ACMS instead of Lanczos for finding the eigenmodes and to provide
additional output requests. The new method will be employed with the following change to the DOMAINSOLVER
command.
SOL 111
DOMAINSOLVER ACMS (VERSION=NEW)
CEND
There are several additional options with the new ACMS method that can be found in the MSC Nastran Quick
Reference Guide. Of particular note is the specification of TIPSIZE. The default TIPSIZE is 200 but users may want
to also consider a TIPSIZE of 300. The larger TIPSIZE has been helpful for solid-element dominated problems.
SOL 111
DOMAINSOLVER ACMS (VERSION=NEW, TIPSIZE=300)
CEND
Main Index
The tip size affects the total number of automatically generated domains and the required memory in parallel
calculation using a specific number of processors. The larger the tip size, the fewer domains, and the few parallel
processors for a system of a certain physical memory. User Information Message 11709 shows the number of
automatically generated domains:
*** USER INFORMATION MESSAGE 11709 (PREMD2)
NUMBER OF ACMS COMPONENTS = XXXXX
Differences Between the New ACMS Method and the Previous ACMS
Method
Results
The new ACMS implementation may typically produce a smaller number of eigenmodes, compared to the old ACMS
version. This is due to the larger number of automatically generated domains used in the new ACMS approach. Testing
has shown excellent correlation of frequency response curves. Increased accuracy is possible by increasing the value
of UPFACT. UPFACT is the factor applied to the users maximum frequency for eigenvalues. The default value for
UPFACT is 2.0. Use the DOMAINSOLVER Executive System command to change it:
DOMAINSOLVER ACMS (VERSION=NEW, UPFACT=4.0)
Increasing the value of UPFACT may increase analysis time.
Parallel Processing
The new ACMS implementation relies on shared-memory parallelism (SMP) during the modal reduction phase of the
solution in the ACMS1 module. The DMAP ACMS version relied primarily on distributed-memory parallelism
(DMP) to do this work. This is also true for the reduction of loads, damping, and acoustic data in ACMS Phase 3. DMP
is still used for computation of system modes, and during frequency response calculations.
When specifying both DMP and SMP parallelism, the new ACMS method will use all available CPU cores during
modal reduction, for SMP processing. For example, if an analysis is run with new ACMS, and "dmp=N smp=M" is
specified, modal reduction calculations will be carried out using "NxM" number of cores.
Implementation
The previous ACMS approach is implemented primarily as a series of SUBDMAPs. The new ACMS approach
replaces key SUBDMAPs with DMAP modules.
Function
Component modal reduction
Eigenvector recovery
Vector recovery (B damping)
Matrix recovery (K4 damping)
Main Index
ACMS Version=OLD
Subdmap MDACMS
Subdmap MDQRCVR
Subdmap MDHRED
Subdmap MDHHRED
ACMS Version=NEW
Module ACMS1
Module ACMS1VR
Module MDHREDX
Module MDHHREDX
Memory Requirements
Memory requirements are higher for the new ACMS implementation compared to the previous ACMS method.
Models in the 25 to 50 million degrees of freedom range will require 128GB memory or more when run with full
parallel options. Examples are shown below from real customer models.
Guidelines
Memory
The memorymaximum keyword remains the recommended method to specify memory. Using memorymaximum
(which may be abbreviated memorymax) is recommended, since this will also allocate a portion of memory to the MSC
Nastran I/O Buffer Bool.
The following guidelines are both general and conservative:
Model Size
Up to 10 million
10 million to 20 million
20 million 40 million
No. of Threads
1-8
9-16
1-8
9-16
1-8
9-16
Suggested memorymax=
32GB
64GB
64GB
128GB
128GB
200GB
Analysis jobs that fail due to insufficient memory will print System Fatal Message 3008 with an estimate for required
memory.
Parallel
The new ACMS method makes significant use of shared memory parallelism (SMP). Distributed memory parallelism
(DMP) is still required for optimal performance for certain classes of problems, listed here:
Normal modes analysis (SOL 103) requiring a large number of eigenmodes. The broad definition of large is
about 10,000. Analysis of models containing 15,000 to 20,000 eigenmodes (or more) in the frequency range of
interest is becoming more common.
Frequency response analysis (SOL 111) comprised of a large number of forcing frequencies, as well as any of
When DMP is used with new ACMS, the Master DMP process is allocated the majority of the memory requested. By
default, the Master DMP process uses 70% of the specified memory amount, while the Slave DMP processes divide
Main Index
the remaining 30% equally. The percentage of memory allocated to the Master DMP process may be changed with the
dmpmem command line keyword. The default value of dmpmem is 70 (70%).
Limitations
The following analysis types are not yet supported with new ACMS:
External Superelements
A-set Reduction
The following model types may give memory issues with the new ACMS:
Models with large RBE3 elements connecting many viscous dampers
Information Messages
The following are information messages that may be of interest to the user:
Number of ACMS Components: the global problem has been divided into this number of smaller domains:
*** USER INFORMATION MESSAGE 11709 (PREMD2)
NUMBER OF ACMS COMPONENTS = XXXXX
The following messages are printed only if PRINT=YES.
User Information Message 11706 prints preliminary memory information. The first 11706 message lists memory used
to store input data:
*** USER INFORMATION MESSAGE 11706 (ACMS1DR)
TOTAL MEMORY AVAILABLE:
XXXXX
MEMORY TO STORE STIFFNESS MATRIX: XXXXX
MEMORY TO STORE MASS MATRIX:
XXXXX
MEMORY TO STORE LOAD MATRIX:
XXXXX
MEMORY TO STORE TABLE DATA:
XXXXX
MB
MB
MB
MB
MB
The second 11706 message shows how the remaining memory is used. It is divided into two sections: POOL and
STACK:
*** USER INFORMATION MESSAGE 11706 (ACMS1DR)
ACMS1 WORKING MEMORY:
XXXXX MB
SIZE OF DYNAMIC MEMORY POOL:
XXXXX MB
MEMORY RESERVED FOR STACK STORAGE: XXXXX MB
User Information Message 11708 shows the maximum memory used (POOL and STACK) memory for each thread.
For parallel, there will be one message for each thread:
*** USER INFORMATION MESSAGE 11707 (ACMS1PR)
THREAD 1 MAX DYNAMIC MEM = XX MB (DOMAIN Y)
User Information Message 11708 shows the maximum simultaneous memory used across all threads (memory high
water):
*** USER INFORMATION MESSAGE 11708 (ACMS1PR)
Main Index
Test Cases
Test cases were run on a Linux cluster comprised of nodes described below:
OS:
Model:
Nsocket:
Ncore:
Cache:
Ram:
Disk:
17.2 million
2.9 million
Number of 2D elements
32,000
Number of 3D elements
1.5 million
1,900
Number of modes
450
Main Index
11.6 million
1.9 million
Number of 2D elements
1.1 million
Number of 3D elements
367,000
85,000
5,700
120
132
450
Main Index
32.7 million
5.6 million
Number of 2D elements
3.8 million
Number of 3D elements
2.5 million
162,000
12,700
1,600
500
Main Index
Main Index
Benefits
The SMP parallelization can be used to reduce the overall wall clock time used by the NLEMG module. For up to four
threads, we have observed nearly 75% parallel efficiency implying a nearly 3x speed-up in the NLEMG module. For
greater than four threads, the parallel efficiency is lower and is dependent on the particular model.
Technical Discussion
The NLEMG module is one of the most time-consuming modules in SOL 400. In this release, SMP parallelization is
implemented as an alternative to the DMP parallelism. DMP parallelization does not exhibit good performance for
more than 2 MPI processes and requires an additional module DISUTIL for distributed domain data partitioning,
causing extra overhead. SMP, by comparison, shows better scalability up to eight threads and does not require a
communication routine. In case both DMP and SMP flags are specified on the command line, the DMP will override
SMP in NLEMG. The hybrid combination of DMP and SMP may become available in future releases. There are several
cases when SMP parallelization has been disabled or is not used:
Heat transfer and coupled analysis simulations;
Element matrix calculations for MSC Nastran element types;
Models that have contact between Advanced and MSC Nastran element types;
Models that have QUADR/QUAD4 or TRIAR/TRIA3 elements mixed in the same element groups1;
To avoid the problem of contact between Advanced and MSC Nastran elements, please use Advanced elements only
or use MSC Nastran elements only in regions that do contact Advanced elements. If a problem still occurs resulting in
a SYSTEM FATAL MESSAGE, then set sys107=65536+n where SMP=n to turn off the SMP feature for NLEMG but
leave SMP enabled for other features.
Inputs
To specify the SMP value, we recommend to add "smp=n" to the command line where n is the number of threads to
be used in the NLEMG module to reduce wall clock time. This value of SMP will also affect the number of threads
used in the solver whether it be CASI, MSCLDL, or Intel's MKL PARDISO solver. One can also specify the SMP value
in the Nastran Executive System section with the following line:
1
Main Index
NASTRAN SMP=n
This approach is particularly valuable for users who are unable to control the program flow with options on the
command line as it simply updates the run file. It can also be set in the RC file for a system wide setting.
Test Cases
Test cases were run on a Linux machine with two 8-core Intel Xeon processors (2600 MHz). The machine has
128GB memory.
CASE 1: Mixed-Element Model Comparison of MSC Nastran 2014.1 to 2016
Number of DOF
3.9 Million
Number of 2D elements
488,444
Number of 3D elements
216,990
Number of subcases
Number of increments
Figure 8-3
The SMP scalability observed above is derived from the new parallel NLEMG process for element matrix generation
and stress recovery as well as the Intel MKL Pardiso solver. An overall 2x performance improvement is obtained just
with SMP.
Main Index
3.9 Million
Number of 2D elements
555,984
Number of 3D elements
81,738
Number of subcases
Number of increments
71
Figure 8-4
The SMP scalability observed above is obtained from the new parallel NLEMG process for element matrix generation
and stress recovery as well as the Intel MKL Pardiso solver.
Main Index
4.4 Million
Number of 2D elements
124,408
Number of 3D elements
420,024
Number of subcases
Number of increments
Figure 8-5
The SMP scalability observed above is from the new parallel NLEMG process as well as the MSC sparse direct solver,
MSCLDL. NLEMG is a smaller fraction of the overall time due to the higher cost of the matrix solution method in a
solid element model
Figure 8-6
Observed in these results are the 50% parallel efficiency at SMP=8 (gray) as well as the maximum speed-up of 4.25x
at SMP=16 (red).
Main Index
Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200 128
Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200
MSC Nastran performance is dependent on the performance of the linear solver used to solve the underlying equations.
In realistic SOL 101 problems for instance, the elapsed time for a direct solver can be 50% or more of the overall time.
The elapsed time can be reduced by effective use of the parallelism available on today's multi-core computing systems.
In the MSC Nastran 2016 release, we have extended the availability of the Intel MKL Pardiso direct solver to SOL
101, 107, 108, 111, and 200 in order to provide better scalability for the direct solve portion, and thereby lower the
overall elapsed time of these simulations.
Benefits
The Intel MKL Pardiso direct solver can achieve up to 80% reduction in the total elapsed time versus the default MSC
solver. For large problems, the new sparse direct solver has been shown to scale up to 30 cores using an SMP approach.
Technical Discussion
The Intel MKL Pardiso direct solver can be used with in a purely SMP mode, a purely DMP mode, or a combined
DMP-SMP mode, depending on solution sequence. For SOL 101, it must be used in a purely SMP mode. In the SMP
mode, the maximum number of threads used by Intel MKL Pardiso is defined by the value given to SMP on the
command line. For SOL 107, 108, and 111, Pardiso may be used in any of these three modes. In combined DMP-SMP
mode, the frequencies are split among DMP processes, and each DMP process uses the number of threads given to
SMP on the command line. This is the recommended DMP usage, as pure DMP mode is likely to bottleneck in the
direct solve phase.
The Intel MKL Pardiso solver can also be used in SOL 200 where linear statics or direct frequency response are a part
of the optimization process. For the case that there are multiple right-hand sides due to multiple response requirements,
we have observed 5x speed-up over the existing approach. This is a result of the Pardiso parallelization of multiple
right-hand sides.
Note for SOL 107, the Intel MKL Pardiso solver is only available with the Lanczos (CLAN), and that for SOL 108 and
111, it is not compatible with the Krylov method.
The default behavior for the new direct solver is to determine at runtime whether the user has provided enough memory
for the direct solver to run in-core or out-of-core. The out-of-core solver is not a fully out-of-core solution and requires
the original matrix to be stored in memory. The out-of-core approach reduces the memory footprint by storing part of
the largest front during the factorization phase on disk, or in the scratch directory. Typically, the out-of-core solver can
reduce the memory footprint by anywhere from 3-6x as compared to the in-core solver.
Lastly, the new direct solver has a higher memory footprint than the existing direct solver in MSC Nastran. In some
cases, the difference can be a factor of 4-6x in memory needed to avoid spill or to keep the problem in-core.
Inputs
You are required to use the SPARSESOLVER command in the executive section to indicate that the new solver should
be used in the simulation. The following are examples of choosing the new sparse direct solver using the keywords
PRDLDL or PRDLU, with its own default SMP ordering method, PRDSMPMS, which is an OpenMP parallelized
METIS reordering method.
Main Index
Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200
SOL 101
SPARSESOLVER DCMP (FACTMETH=PRDLDL,ORDMETH=PRDSMPMS)
CEND
SOL 107
SPARSESOLVER CEAD (FACTMETH=PRDLDL,ORDMETH=PRDSMPMS)
CEND
SOL 108
SPARSESOLVER FRRD1 (FACTMETH=PRDLU,ORDMETH=PRDSMPMS)
CEND
SOL 111
SPARSESOLVER FRRD1 (FACTMETH=PRDLU,ORDMETH=PRDSMPMS)
CEND
The command line input used to specify the SMP value is the standard input argument detailed below:
~/nast20160 exampleJob.dat smp=m
where m is the number of requested threads.
Outputs
There are no new outputs. However, sys166=2 can be added to the command line or input deck in order to have
additional output from the Pardiso solver sent to the LOG file. This includes number of threads used, size of matrix
solved, and solution times.
Main Index
Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200 130
Test Cases
Most test cases were run on a Linux machine with two 8-core Intel Xeon processors (E5-2679 2.6 GHz). The
machine has 128GB (8x16) DDR3 memory running at 1.6 GHz, and a 4 TB hard disk using SATA 6 GB/s at 5,900
RPM.
CASE 1: SOL 101 Engine Block Model
Number of DOF
14.7 Million
2,456,555
Number of 2D elements
92,820
Number of 3D elements
1,458,800
Figure 8-7
For SOL 101, the overall time is dominated by the matrix solution process thus yielding the excellent scalability.
Main Index
Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200
2.2 Million
2,045,506
Number of 2D elements
2,040,496
Number of 3D elements
100
Figure 8-8
For SOL 107, the time is dominated by the forward-backward solver, instead of the matrix factorization, thus yielding
a reduced scalability. The results, however, do show the overall performance improvement with using Pardiso for SOL
107.
Main Index
Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200 132
5.8 Million
958,943
Number of 2D elements
952,658
Figure 8-9
Main Index
Normalized Total Elapsed Time for SOL 107 Axisymmetric Rotor Model
Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200
8.3 Million
1,377,801
Number of 2D elements
1,376,256
Figure 8-10
Main Index
Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200 134
0.12 Million
41,621
Number of 2D elements
16,384
Number of 3D elements
21,632
Figure 8-11
Main Index
Normalized Total Elapsed Time for SOL 111 Acoustics Shell Model
Main Index
Main Index
137
140
Material Models
While for conventional structural material models, the capabilities of SOL 400 and SOL 600 are similar, advanced
material models that have been incorporated into Marc that are not exposed in SOL 400 or in SOL 600 include:
Marlow simplified rate-independent nonlinear elastic
Bergstrm-Boyce large strain viscoelastic model
Parallel Rheological Framework for large strain elasticity with permanent deformation such as thermal-
plastics
Anisotropic Hypoelastic Material often used for fiber filled rubber or biological materials
Chaboche cyclic plasticity model
Barlat Anisotropic Yield models
Shima powder model
Sandia Exponential Cap model for soil, rocks and concreter
Anand Viscoplastic model for solder analysis
Main Index
Note that SOL 400 directly supports e-Xstream Digimat material library.
Contact Analysis
The contact technology in both SOL 400 and SOL 600 are nearly equivalent with the MSC Nastran 2016 release. SOL
400 exposes the Segment-to-Segment (STS) contact procedure which is advantageous over the older Node-to-Segment
technology. To access this technology in SOL 600, it is necessary to use the work flow discussed above and activate
STS within Mentat. The input changes are too complex to achieve using an editor.
Computational
Previously an advantage of using SOL 600, was that it was computationally more efficient than SOL 400 and had better
utilization of parallelization including Domain Decomposition. The last few years has continued to see advances in
both products, and with the current MSC Nastran 2016 release the differences between the two solution sequences has
been reduced.
Main Index
This is summarized as
SOL 400
SOL 600
No
Yes
Yes (Note 1)
Yes (Note 2)
SMP Solver
Yes (Note 1)
Yes
Yes (Note 1)
No
Note 1:
See Chapter 8.
Note 2:
Run Marc job through command line using the -NTE option.
Fracture Mechanics
Both SOL 400 and SOL 600 support the evaluation of the energy release rate and stress intensity factor using the VCCT
method. Additionally, SOL 600 supports the Lorenzi method based upon the contour integral approach which is often
more accurate. There has been substantial work over the last few years on crack propagation. This is now achievable
in Marc using the Global Adaptive Meshing procedure for planar, shells, and 3-D solids. The previously defined
workflow should be used. It should be noted that the adaptive method result in a change in the number of grids/nodes,
and the results can only be written to a t16/t19 post file.
Multiphysics
Both SOL 400 and SOL 600 allow both uncoupled thermal-stress, though SOL 600 has greater flexibility. SOL 400
has some thermal-mechanical coupled capability that is not available in SOL 600. For general multi-physics, it is
possible to utilize the work flow discussed above and then use Marc to perform multi-physics simulations. This
includes to perform:
Structural
Thermal
Electrostatic
Piezoelectric
Magnetostatic
Current Flow
Induction Heating
Magnetodynamics
Diffusion
Almost all combinations of these basic physics
Main Index
Main Index
10
Main Index
Miscellaneous Update
Example
In Figure 10-1, the dumbbell specimen made by shell elements with MATD115 is subjected to the static loading at the
right tip in the x-direction. The left face is fixed. During the simulation, the loading does not change, but the
displacement increases as shown in Figure 10-2. The example is available in tpl/sol700_2016/mat115.dat.
Figure 10-1
Main Index
Figure 10-2
Main Index
Please check the detail theoretical background in the Remarks of MATD272 (p. 2668) in the MSC Nastran Quick
Reference Guide.
Benefit
Concrete model subjected to impulsive loading in nonlinear explicit analysis
Limitations
Available for the Lagrangian elements
Solid and SPH elements can use the material
EOSMG2 is required
Limitations
Available for the Lagrangian elements
Main Index
Example
The cantilever solid beams are subjected the loading at the right tip and fixed at left face as shown in Figure 10-3. Each
solid element can be replaced by eight SPH particles after it fails. After the cantilever deforms, several elements fail
due to plastic strain failure and are replaced by SPH particles as Figure 10-4. The example is available in
tpl/sol700_2016/sol2sph.dat.
Figure 10-3
Main Index
Cantilever Beam Made by Solid Elements (Two Properties and One Material)
Figure 10-4
Main Index
Cantilever Beam After Deformed (Failed Solid Elements are Replaced by SPH Particles)
Benefit
Users can apply different body forces on different bodies
Limitations
Available for Lagrangian elements only
Figure 10-5
Main Index
Figure 10-6
Main Index
Example
Two cantilever solid beams are made in Figure 10-7. The green one does not have reinforcements while the red one
has reinforcing bar elements at the center of the section. The left sides of both beams are fixed and the same loadings
are applied on the right tips of both beams. Figure 10-8 shows the deformation behavior of both beams. The red beam
which has the reinforcing bars shows stiffer behavior than the green beam. The example is available in
tpl/sol700_2016/laginsol.dat.
Figure 10-7
Main Index
Figure 10-8
Main Index
Miscellaneous Update
D3plot Output File Size Control (DYPARAM,LSDYNA,DATABASE,FORMAT)
Using the DYPARAM,LSDYNA,DATABASE,FORMAT card, the single precision format of d3plot file output can be
generated although the double precision version of SOL700 is used. It reduces the d3plot file size by half. It will be
helpful when the output file size is too large to be handled.
Contact Including Shell Offset (DYPARAM,LSDYNA,SHELL,CNTCO)
The default setting does not consider the shell offset in the contact. However sometimes the shell offset is important
and it must be included in contact. DYPARAM,LSDYNA,SHELL,CNTCO controls including shell offset in the
contact and the offset location of shells.
Volume Input Instead of Mass in CSPH
The mass is one of the most important factors in SPH calculation. Since users assign the mass to each SPH element,
the mass can be different from the mass calculated from the density of material definition. The new capability can
assign volume instead of mass on each SPH element and the mass is automatically calculated from the specified
volume and material density.
Preloading on Bolt/Spring (TID/SCALE Option in PBSPOT)
The initial axial forces on bolts or springs have high effect on the simulation. Specially, when the axial failure criteria
are assigned, the failure points can be different depending on the initial axial forces on bolts or springs. Previous release
has the capability but it is only available in the solid element bolt or beam (ISTRSSS). Now the new capability can
assign the preloading to beam type of bolts and springs. Due to the initialization issue, the loading must be used with
the ramp type table or dynamic relaxation.
Example
In Figure 10-9 two deformable plates are connected through a bolt beam at the center. The initial axial force is given
inside of bolt without any additional loading. Figure 10-10 shows the effective stress contour of plates and the axial
forces of bolt. It is shown that the axial force is stable during the simulation. The example is available in
tpl/sol700_2016/iniaxf.dat.
Main Index
Figure 10-9
Figure 10-10
Main Index
11
Main Index
User Interface
155
F06Reader Utility
193
200
Benefits
The NH5RDB supports wide range of data types and is capable of defining complicated data structures. In the
database, the datasets are stored in a hierarchical structure, making it easy to add, remove, or update dataset in
applications. The database supports high precision, compression, and unlimited amount of data. Its open format and
multiple programming languages support make it ideal for FEA applications.
Technical Discussion
1. Data type schema
The data type schema is used to define database structure and its datasets formats. The database has a tree structure
with its nodes of datasets. Each dataset uses its path in the tree as its identifier and defines a structure data format. The
schema is in XML and has elements like <typedef>, <group> and <dataset>. The following example shows the
definitions of input GRID and HEXA element stress output datasets.
This schema file and an html based document are included in doc directory with name DataType.xml and
DataType.html respectively.
<?xml version="1.0" encoding="utf-8"?>
<crdb schema="0">
<typedefs>
<typedef name="GRID_SS">
<description>Grid strain and stress structure</description>
<field name="GRID" type="integer"/>
<field name="X" type="double"/>
<field name="Y" type="double"/>
<field name="Z" type="double"/>
<field name="TXY" type="double"/>
<field name="TYZ" type="double"/>
<field name="TZX" type="double"/>
Main Index
</typedef>
</typedefs >
<groups>
<group name="NASTRAN">
<group name="INPUT">
<group name="NODE">
<dataset name="GRID" version="1">
<field name="ID" type="integer"/>
<field name="CP" type="integer"/>
<field name="X" type="double" size="3"/>
<field name="CD" type="integer"/>
<field name="PS" type="integer"/>
<field name="SEID" type="integer"/>
<field name="DOMAIN_ID" type="integer"/>
</dataset>
</group>
</group>
<group name="RESULT">
<group name="ELEMENTAL">
<group name="STRESS">
<dataset name="HEXA">
<field name="EID" type="integer"/>
<field name="CID" type="integer"/>
<field name="CTYPE" type="character" size="4"/>
<field name="NODEF" type="integer"/>
<field name="SS" type="GRID_SS" size="9"/>
<field name="DOMAIN_ID" type="integer"/>
</dataset>
</group>
</group>
</group>
</group>
</groups>
</crdb>
Example 1. Data schema
2. MSC Nastran input and output data in NH5RDB
The NH5RDB includes MSC Nastran input and output data. The supported data types are summarized in Table 11-1.
Viewing the schema, you will observe all the data blocks supported.
Table 11-1
Description
Input:
Constraint
Contact
Coordinate system
Main Index
Table 11-1
Description
Design optimization
Element
Load
Material
Matrix
Node
Partition
Property
Table
Output:
Acoustic output
Contact output
Elemental output
Fatigue output
Nodal output
Optimization data
Solution Number
Description
101
Statics
103
Normal modes
105
Buckling
107, 110
Complex eigenvalues
108, 111
Frequency response
109, 112
Transient response
Main Index
Table 11-2
Solution Number
Description
200
Design Optimization
400
Nonlinear analysis
Parameter Name
HDF5
As an alternative way, the system cell 702 can be used for NHRDB generation.
Table 11-4
Main Index
CRDB_IN
Write IFP data blocks in an HDF5 format database. A maximum of five data blocks can be passed in one call.
Format:
CRDB_IN
DB1,DB2,DB3,DB4,DB5//
NDDLNAM1/ DDLNAM2/NDDLNAM3/NDDLNAM4/NDDLNAM5/
SEID/AFPMID/TRIMID/ $
DBi
Parameters:
NDDLNAMi
Char8, default=blank
SEID
Integer, default=0
AFPMID
Integer, default=0
TRIMID
Trim component id
Remarks:
1. The supported input data blocks are GEOM1, GEOM2, GEOM3, GEOM4, EPT, EDT, MPT, DIT, DYNAMIC,
CONTACT, MATPOOL, EDOM, FATIGUE, PVT, CASECC and SPECSEL.
2. The SEID, AFPMID and TRIMID indicate which super element, acoustic field point mesh, or trim component
the data blocks are from.
3. NDDLNAMi must be provided for all data blocks.
Main Index
CRDB_OUT
DB1,DB2,DB3,DB4,DB5//
NDDLNAM1/NDDLNAM2/NDDLNAM3/NDDLNAM4/NDDLNAM5/
SEID/AFPMID/TRIMID/DESCYCLE/$
DBi
Parameters:
NDDLNAMi
Char8, default=blank
SEID
Integer, default=0
AFPMID
Integer, default=0
TRIMID
Trim component id
DESCYCLE
Integer, default=0
Remarks:
1. The supported output data blocks are OUG. OVG, OAG, OES, OEF, OPG, OQG, OEFTG, OEFTGM, OUGFP,
OMPF, OERP, OARPWR, OVGFP, OAPWR2, OAIG, OCOMP, OCOMPM, OMCFRAC, DBCOPT,
NLOUT, OFVCCT and OFCON3D.
2. The SEID, AFPMID, TRIMID and DESCYCLE indicate which super element, acoustic field point mesh, trim
component, and design cycle the data blocks are from.
3. NDDLNAMi must be provided for all data blocks.
6. Python utility module
For users convenience, a Python module is provided for NH5RDB database access. The module uses Pytable packages
and defines functions for data format conversion and derived data calculation. Using these functions, datasets can be
accessed for extraction or conversion into other formats, like text and CSV. Some derived data, such as Von Mises
stress, can also be calculated from element stress dataset.
HDF5 Browser
The test model below shows the usage of HDF5 parameter and structure of NH5RDB database, the database is opened
using the publicly available HDF5 browser HDFView.
Main Index
Main Index
Reference
MSC Nastran Quick Reference Guide
DMAP Programmers Guide
HDF5 Software Documentation
Main Index
Main Index
<group name="RESULT">
<dataset name="DOMAINS">
<field name="ID" type="integer"/>
<field name="SUBCASE" type="integer"/>
<field name="STEP" type="integer"/>
<field name="ANALYSIS" type="integer"/>
<field name="TIME_FREQ_EIGR" type="double"/>
<field name="EIGI" type="double"/>
<field name="MODE" type="integer"/>
<field name="DESIGN_CYCLE" type="integer"/>
<field name="SE" type="integer"/>
<field name="AFPM" type="integer"/>
<field name="TRMC" type="integer"/>
<field name="INSTANCE" type="integer"/>
<field name="MODULE" type="integer"/>
</dataset>
<group name="NODAL">
<dataset name="DISPLACEMENT">
<field name="ID" type="integer"/>
<field name="VALUE" type="double" size="6"/>
<field name="DOMAIN_ID" type="integer"/>
</dataset>
</group>
<group name="ELEMENTAL">
<group name="STRESS">
<dataset name="HEXA">
<field name="EID" type="integer"/>
<field name="CID" type="integer"/>
<field name="CTYPE" type="character" size="4"/>
<field name="NODEF" type="integer"/>
<field name="SS" type="GRID_SS" size="9"/>
<field name="DOMAIN_ID" type="integer"/>
</dataset>
</group>
</group>
</group>
</group>
</groups>
</crdb>
Figure 11-1
Main Index
Data Schema
NH5RDB
The NH5RDB database stores datasets as defined in the schema. To see NH5RDB structure, a NH5RDB database
snapshot is shown in Figure 11-2. The tables show nodal displacement and HEXA element stress datasets.
Figure 11-2
NH5RDB Snapshot
Main Index
Records of a domain index dataset are sorted based on domain ID, and records with the same domain in a result dataset
are sorted based on entity IDs, which are similar to MSC Nastran SORT1 option, the client code can use this feature
to implement binary search algorithm for fast search.
Figure 11-3 shows the displacement and its index datasets. From the index dataset, the displacement data for domain
ID 5 can be found from position 176 and has 44 rows. The reason that there are 44 rows (or the offset is 44) is because
the model had 44 grid points and the Case Control was DISPLACEMENT=ALL.
Figure 11-3
Main Index
This example reads nodal displacement dataset and prints the grid ID and displacements from the second row of the
table.
import tables
import numpy
# Open database file
file = tables.open_file("test.h5")
# Get displacement table
disp = file.root.NASTRAN.RESULT.NODAL.DISPLACEMENT
# Get row number 2 of the table
row = disp[2]
# Print grid id and its displacement
print row['ID'], row['VALUE']
# Close file
file.close()
Figure 11-4
Example 2: Extract nodal displacements at time 3.0 and print in CSV format
This example has two steps, it first gets domain id belongs to time step 3.0, then extracts displacement for this time
step and writes to a CSV file. In the example, the where clause is used to extract data for specified criterion. The time
step and its corresponding displacements are shown in Figure 11-6 and the converted CSV file is shown in Figure 11-7.
import tables as pt
# ------------------------------------------------------------------------# Extract nodal displacements at time = 3.000 and print as CSV
# ------------------------------------------------------------------------# --- open h5 input file
fname = "ldr2s400utp02.h5"
Main Index
h5 = pt.open_file(fname)
# --- step 1: get "domain id" for t = 3.000
# -- path to table with domain ids
tblDOMAINS = h5.root.NASTRAN.RESULT.DOMAINS
# -- where clause
t
= 3.000
tol = 0.005
swhere = "(TIME_FREQ_EIGR > %6.4f)&(TIME_FREQ_EIGR < %6.4f)"%(t-tol, t+tol)
# -- extract domain id
for row in tblDOMAINS.where(swhere) :
did = row["ID"]
break
# --- step 2: extract the nodal displacements
# -- path to table with nodal displacements
tblDISPS
= h5.root.NASTRAN.RESULT.NODAL.DISPLACEMENT
# -- open CSV output file
fp = open("displacements.csv","w")
#
-- where clause
swhere = "DOMAIN_ID == %d"%(did)
# -- loop over table
for row in tblDISPS.where(swhere):
gid = row["ID"]
disp = row["VALUE"]
fp.write("%d,%14.5e,%14.5e,%14.5e,%14.5e,%14.5e,%14.5e\n"%\
(gid,disp[0],disp[1], disp[2], disp[3], disp[4], disp[5]) )
# -- close files
fp.close()
h5.close()
Figure 11-5
Main Index
Figure 11-6
Figure 11-7
Main Index
This example extracts displacements of node number 63 for all time steps, the data is shown in Figure 11-9.
import tables as pt
import numpy as np
# ------------------------------------------------------------------------# Extract time history of translational displacements for node 63
# ------------------------------------------------------------------------# --- open h5 input file
fname = "ldr2s400utp02.h5"
h5 = pt.open_file(fname)
# --- step 1: extract times from domains table
# -- path to table with domain ids
tblDOMAINS = h5.root.NASTRAN.RESULT.DOMAINS
# -- create empty numpy arrays for domain ids and times
ids = np.array([], int)
t
= np.array([], float)
# -- contruct where clause
#
(time steps have domain ids 7 to 88 as found in HDFVIEW)
swhere = "(ID >= 7) & ( ID <= 88)"
# -- loop over domains table
for row in tblDOMAINS.where(swhere):
t
= np.append(t, row["TIME_FREQ_EIGR"])
ids = np.append(ids,row["ID"])
# -- create numpy arrays for results
nt
= t.size
disp = np.zeros((nt,3), float)
# --- step 2: extract the nodal displacements
# -- path to table with nodal displacements
tblDISPS
= h5.root.NASTRAN.RESULT.NODAL.DISPLACEMENT
# -- create where clause for node 63
node = 63
swhere = "(ID == %d) & ( DOMAIN_ID >= 7) & (DOMAIN_ID <= 88)"%( node )
# -- loop over table
i = 0
for row in tblDISPS.where(swhere):
d = row["VALUE"]
disp[i,0] = d[0]
disp[i,1] = d[1]
disp[i,2] = d[2]
i += 1
Main Index
# -- close file
h5.close()
# --- write extracted time history data to output file
# -- open time history output file
fname = "disp_node_%d.csv"%(node)
fp = open(fname,"w")
fp.write(" TIME, XDISP, YDISP, ZDISP\n")
for i in np.arange(nt) :
fp.write("%6.3f,%14.6e,%14.6e,%14.6e\n"%\
(t[i], disp[i,0], disp[i,1], disp[i,2]))
# -- close output file
fp.close()
Figure 11-8
Figure 11-9
The following examples are programs in C language. The HDF5 table APIs are used in these examples. For description
of these APIs, please refer to HDF5 reference manual.
Example 4: Read nodal displacements
This example reads all data in the displacement dataset and prints the translation displacements. The dataset format is
as its schema definition; its C type structure definition is shown in the example and can be found in dataset header file
generated from schema.
Main Index
#include "hdf5.h"
#include "hdf5_hl.h"
#include <cstdlib>
/*
* Read all nodal displacements
*/
void printDisplacement()
{
// displacement dataset name
char* table = "/NASTRAN/RESULT/NODAL/DISPLACEMENT";
// displacement structure
typedef struct {
long long ID;
// grid id
double VALUE[6];
// displacement
long long DOMAIN_ID;// domain id
} Type;
// displacement structure size
size_t ts = sizeof(Type);
// field offset
size_t offset[]
HOFFSET(Type,
HOFFSET(Type,
HOFFSET(Type,
};
= {
ID),
VALUE),
DOMAIN_ID)
Type type;
// field size
size_t size[] = {
sizeof(type.ID),
sizeof(type.VALUE),
sizeof(type.DOMAIN_ID)
};
// open file
hid_t fid = H5Fopen("test.h5", H5F_ACC_RDONLY, H5P_DEFAULT);
if (fid >= 0) {
hsize_t nField, nRecord;
// get field and record number
if (H5TBget_table_info(fid, table, &nField, &nRecord) >= 0) {
if (nRecord > 0) {
// allocate buffer
Type* p = (Type*) malloc(ts * nRecord);
if (p) {
// read displacement dataset
if (H5TBread_table(fid, table, ts, offset, size, p) >= 0) {
// print translation displacement
for (size_t i = 0; i < nRecord; i++) {
printf("GRID %d : %e, %e, %e\n", p[i].ID, p[i].VALUE[0],
p[i].VALUE[1], p[i].VALUE[2]);
}
Main Index
}
free(p);
}
}
}
// close file
H5Fclose(fid);
}
}
Figure 11-10
The above example reads all data in nodal displacement dataset. This example shows reading only specified records
(rows) from a dataset. It will read the first 10 records of displacements.
/*
* Read the first 10 records of nodal displacements
*/
void printDisplacement2()
{
// displacement dataset name
char* table = "/NASTRAN/RESULT/NODAL/DISPLACEMENT";
// displacement structure
typedef struct {
long long ID;
// grid id
double VALUE[6];
// displacement
long long DOMAIN_ID;// domain id
} Type;
// displacement structure size
size_t ts = sizeof(Type);
// field offset
size_t offset[]
HOFFSET(Type,
HOFFSET(Type,
HOFFSET(Type,
};
= {
ID),
VALUE),
DOMAIN_ID)
Type type;
// field size
size_t size[] = {
sizeof(type.ID),
sizeof(type.VALUE),
sizeof(type.DOMAIN_ID)
};
// open file
hid_t fid = H5Fopen("test.h5", H5F_ACC_RDONLY, H5P_DEFAULT);
if (fid >= 0) {
Main Index
Figure 11-11
The above example shows reading records (rows) of dataset. This example will show how to read some fields
(columns) in dataset. It will read data fields from HEXA element stress output. The specified fields are given by their
field names, which are defined in schema.
/*
* Read HEXA element stress data by field name
*/
void printHexaStress()
{
/*
The HEXA stress dataset structure in database
typedef struct {
long long EID;
long long CID;
char CTYPE[4];
long long NODEF;
long long GRID[9];
double X[9];
Main Index
//
//
//
//
//
//
double Y[9];
// Normal Y
double Z[9];
// Normal Z
double TXY[9];
// Shear xy
double TYZ[9];
// Shear yz
double TZX[9];
// Shear zx
long long DOMAIN_ID; // Domain identifier
} Type;
*/
// HEXA stress dataset name
char* table = "/NASTRAN/RESULT/ELEMENTAL/STRESS/HEXA";
// fields to read from HEXA stress
typedef struct {
long long EID;
long long X[9];
long long Y[9];
long long Z[9];
long long TXY[9];
long long TYZ[9];
long long TZX[9];
long long DOMAIN_ID;
} Type;
size_t ts = sizeof(Type);
size_t offset[] = {
HOFFSET(Type, EID),
HOFFSET(Type, X),
HOFFSET(Type, Y),
HOFFSET(Type, Z),
HOFFSET(Type, TXY),
HOFFSET(Type, TYZ),
HOFFSET(Type, TZX),
HOFFSET(Type, DOMAIN_ID)
};
Type type;
size_t size[] = {
sizeof(type.EID),
sizeof(type.X),
sizeof(type.Y),
sizeof(type.Z),
sizeof(type.TXY),
sizeof(type.TYZ),
sizeof(type.TZX),
sizeof(type.DOMAIN_ID)
};
// field names of HEXA stress to read
char* name = "EID,X,Y,Z,TXY,TYZ,TZX,DOMAIN_ID";
hid_t fid = H5Fopen("test.h5", H5F_ACC_RDONLY, H5P_DEFAULT);
if (fid >= 0) {
hsize_t nField, nRecord;
Main Index
Figure 11-12
In addition to names, field index can be used to specify the fields to read. This example uses an index array to specify
the fields.
/*
* Read HEXA element stress data by field index
*/
void printHexaStress2()
{
/*
The HEXA stress dataset structure in database
typedef struct {
long long EID;
// Element identification number
long long CID;
// Stress Coordinate System
char CTYPE[4];
// Coordinate System Type (BCD)
long long NODEF;
// Number of Active Points
long long GRID[9]; // Number of active grids or corner grid ID
double X[9];
// Normal X
double Y[9];
// Normal Y
double Z[9];
// Normal Z
double TXY[9];
// Shear xy
double TYZ[9];
// Shear yz
double TZX[9];
// Shear zx
long long DOMAIN_ID; // Domain identifier
} Type;
*/
Main Index
Main Index
The example writes the nodal displacement, hexahedral element stress, and domain datasets. These datasets use the
same formats as defined in NH5RDB schema and table data is appended row by row. Both Python and C programs are
given below.
# Write displacement, hexa stress and domain datasets in Python
from tables import *
from numpy import *
# Domain structure
class DOMAINS(IsDescription):
ID = Int64Col(pos = 0)
SUBCASE = Int64Col(pos = 1)
STEP = Int64Col(pos = 2)
ANALYSIS = Int64Col(pos = 3)
TIME_FREQ_EIGR = Float64Col(pos = 4)
EIGI = Float64Col(pos = 5)
MODE = Int64Col(pos = 6)
DESIGN_CYCLE = Int64Col(pos = 7)
RANDOM = Int64Col(pos = 8)
SE = Int64Col(pos = 9)
AFPM = Int64Col(pos = 10)
TRMC = Int64Col(pos = 11)
INSTANCE = Int64Col(pos = 12)
MODULE = Int64Col(pos = 13)
# Displacement structure
class DISPLACEMENT(IsDescription):
ID = Int64Col(pos = 0)
VALUE = Float64Col(shape = 6, pos = 1)
DOMAIN_ID = Int64Col(pos = 2)
# Hexa element stress structure
class HEXA(IsDescription):
EID = Int64Col(pos = 0)
CID = Int64Col(pos = 1)
CTYPE = StringCol(4, pos = 2)
NODEF = Int64Col(pos = 3)
Main Index
Main Index
row['NODEF'] = 8
row['GRID'] = array(i * arange(9)) # grid ids including center
row['X'] = array(i * arange(9))
# x normal stress of grids
row['Y'] = array(i * arange(9))
row['Z'] = array(i * arange(9))
row['TXY'] = array(i * arange(9))
# xy shear stress of grids
row['TYZ'] = array(i * arange(9))
row['TZX'] = array(i * arange(9))
row['DOMAIN_ID'] = 1
# domain id
row.append()
hexa.flush()
# Close file
h5.close()
Figure 11-14
Write Nodal Displacement, Hexahedral Element Stress, and Domain Datasets using Python
"ID",
"VALUE",
"DOMAIN_ID"
};
// hexa stress structure
typedef struct {
long long EID;
// Element identification number
long long CID;
// Stress Coordinate System
char CTYPE[4];
// Coordinate System Type (BCD)
long long NODEF;
// Number of Active Points
long long GRID[9];
// Number of active grids or corner grid ID
double X[9];
// Normal X
double Y[9];
// Normal Y
double Z[9];
// Normal Z
double TXY[9];
// Shear xy
double TYZ[9];
// Shear yz
double TZX[9];
// Shear zx
long long DOMAIN_ID; // Domain identifier
} Hexa;
// hexa stress structure size
size_t hx = sizeof(Hexa);
// hexa field offset
size_t hxo[] = {
HOFFSET(Hexa, EID),
HOFFSET(Hexa, CID),
HOFFSET(Hexa, CTYPE),
HOFFSET(Hexa, NODEF),
HOFFSET(Hexa, GRID),
HOFFSET(Hexa, X),
HOFFSET(Hexa, Y),
HOFFSET(Hexa, Z),
HOFFSET(Hexa, TXY),
HOFFSET(Hexa, TYZ),
HOFFSET(Hexa, TZX),
HOFFSET(Hexa, DOMAIN_ID)
};
// hexa stress field size
Hexa hexa;
size_t hxs[] = {
sizeof(hexa.EID),
sizeof(hexa.CID),
sizeof(hexa.CTYPE),
sizeof(hexa.NODEF),
sizeof(hexa.GRID),
sizeof(hexa.X),
sizeof(hexa.Y),
sizeof(hexa.Z),
sizeof(hexa.TXY),
sizeof(hexa.TYZ),
sizeof(hexa.TZX),
Main Index
sizeof(hexa.DOMAIN_ID)
};
// hexa stress field name
const char* hxn[] = {
"EID",
"CID",
"CTYPE",
"NODEF",
"GRID",
"X",
"Y",
"Z",
"TXY",
"TYZ",
"TZX",
"DOMAIN_ID"
};
// domain structure
typedef struct {
long long ID;
long long SUBCASE;
long long STEP;
long long ANALYSIS;
double TIME_FREQ_EIGR;
double EIGI;
//
long long MODE;
long long DESIGN_CYCLE;
long long RANDOM;
long long SE;
long long AFPM;
long long TRMC;
long long INSTANCE;
long long MODULE;
} Domain;
// Domain identifier
// Subcase number
// Step number
// Analysis type
// Time, frequency or real part of eigen value
Imaginary part if eigen value (if applicable)
// Mode number
// Design cycle
// Random code
// Superelement number
// acounstic field point mesh id
// trim component id
// Instance
// Module
Main Index
HOFFSET(Domain, INSTANCE),
HOFFSET(Domain, MODULE)
};
// domain field size
Domain domain;
size_t dms[] = {
sizeof(domain.ID),
sizeof(domain.SUBCASE),
sizeof(domain.STEP),
sizeof(domain.ANALYSIS),
sizeof(domain.TIME_FREQ_EIGR),
sizeof(domain.EIGI),
sizeof(domain.MODE),
sizeof(domain.DESIGN_CYCLE),
sizeof(domain.RANDOM),
sizeof(domain.SE),
sizeof(domain.AFPM),
sizeof(domain.TRMC),
sizeof(domain.INSTANCE),
sizeof(domain.MODULE)
};
// domain field name
const char* dmn[] = {
"ID",
"SUBCASE",
"STEP",
"ANALYSIS",
"TIME_FREQ_EIGR",
"EIGI",
"MODE",
"DESIGN_CYCLE",
"RANDOM",
"SE",
"AFPM",
"TRMC",
"INSTANCE",
"MODULE"
};
// domain field type
hid_t dmt[] = {
H5T_NATIVE_LLONG,
H5T_NATIVE_LLONG,
H5T_NATIVE_LLONG,
H5T_NATIVE_LLONG,
H5T_NATIVE_DOUBLE,
H5T_NATIVE_DOUBLE,
H5T_NATIVE_LLONG,
H5T_NATIVE_LLONG,
H5T_NATIVE_LLONG,
H5T_NATIVE_LLONG,
H5T_NATIVE_LLONG,
Main Index
H5T_NATIVE_LLONG,
H5T_NATIVE_LLONG,
H5T_NATIVE_LLONG
};
// create file
hid_t fid = H5Fcreate("test.h5", H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
if (fid >= 0) {
hid_t lpid = H5Pcreate(H5P_LINK_CREATE);
if (lpid >= 0) {
if (H5Pset_create_intermediate_group(lpid, 1) >= 0) {
// create domain dataset
memset(&domain, 0, dm);
hid_t gid = H5Gcreate2(fid, result, lpid, H5P_DEFAULT, H5P_DEFAULT);
if (gid >= 0) {
if (H5TBmake_table("", gid, dmtable, 14, 0, dm, dmn, dmo, dmt,
chunk, NULL, 1, NULL) >= 0) {
domain.ID = 1;
domain.SUBCASE = 1;
domain.ANALYSIS = 1;
H5TBappend_records(gid, dmtable, 1, dm, dmo, dms, &domain);
}
H5Gclose(gid);
}
// create displacement dataset
gid = H5Gcreate2(fid, nodal, lpid, H5P_DEFAULT, H5P_DEFAULT);
if (gid >= 0) {
hsize_t dim[1] = {6};
hid_t ar = H5Tarray_create2(H5T_NATIVE_DOUBLE, 1, dim);
if (ar >= 0) {
// data types
hid_t dpt[3] = {H5T_NATIVE_LLONG, ar, H5T_NATIVE_LLONG};
if (H5TBmake_table("", gid, dptable, 3, 0, dp, dpn, dpo, dpt,
chunk, NULL, 1, NULL) >= 0) {
// populate displacement
for (int i = 0; i < 10; i++) {
disp.ID = i + 1;
disp.DOMAIN_ID = domain.ID;
for (int j = 0; j < 6; j++) {
disp.VALUE[j] = i * 10 + j;
}
H5TBappend_records(gid, dptable, 1, dp, dpo, dps, &disp);
}
}
H5Tclose(ar);
}
H5Gclose(gid);
}
// create hexa dataset
gid = H5Gcreate2(fid, stress, lpid, H5P_DEFAULT, H5P_DEFAULT);
if (gid >= 0) {
hsize_t dim[1] = {9};
Main Index
Write Nodal Displacement, Hexahedral Element Stress and Domain Datasets using C
Example 9: Query and print result value by user specified domain and entities
This C++ example shows how to search records by a specified domain ID and entity IDs from a result dataset in the
database. This search procedure can be implemented by reading records one by one and checking to see if IDs agree;
however, it is very slow when the dataset becomes huge. To improve performance, the program can first search for
where the domain is located by using domain index dataset, which is prepared when creating NH5RDB database; then
read all the records with the specified domain into memory and find the records with the specified entity IDs. Both
search procedures should use binary search because
1. Domain IDs in index dataset are sorted
2. Within the same domain ID, the entity IDs are also sorted.
Main Index
We have a NH5RDB file shown in Figure 11-16 where the first 10 domains are from nonlinear static analysis. Suppose
we want to query displacement values of grid 25, 31 to 38 in the 4th increment, this increment has domain ID 4. The
procedure is shown in Figure 11-18.
Main Index
Figure 11-16
Main Index
For details to build and run the program, read README.txt in nh5_examples/nh5qry.
Here shows source code of below two functions, check nh5qry.cpp for other details under nh5_examples/nh5qry.
Below is the function to search domain:
//
// Purpose: search the start position and length (number of rows) of a domain
//
in a dataset
//
Input:
//
hid_t file: hdf5 file id
//
const std::string& restype0: result type
//
long long domain_id: domain id to be searched
//
output:
//
long long& pos: the start row position of the domain
//
long long& length: number of rows of the domain
//
return:
//
0: successfull
//
!0: fail
//
int search_domain(hid_t file, const std::string& restype0, long long
domain_id,
// output
long long &pos, long long& length )
{
hid_t index_dset = 0;
std::string fullname;
int err = get_dset(file, restype0, true, index_dset, fullname);
if (err != 0)
return err;
//
// read domain index dataset into memory
//
// get number of rows of domain index dataset
hid_t space_id = H5Dget_space(index_dset);
hsize_t dims_out[4];
int status_n = H5Sget_simple_extent_dims(space_id, dims_out, NULL);
hsize_t total_row = dims_out[0];
// read all rows in one call
std::vector<DomainIndex_T> indics;
err = read_h5(index_dset, 0, total_row, indics);
if (err != 0)
return err;
// binary search the interesting domain, domain dataset is sorted based on
DOMAIN_ID
DomainIndex_T index = { domain_id, 0, 0 };
auto bound = std::lower_bound(indics.begin(), indics.end(), index,
DomainIndex_Cmp());
if (bound != indics.end() && bound->DOMAIN_ID == domain_id)
{
pos = bound->POSITION;
length = bound->LENGTH;
Main Index
return 0;
}
else
{
fprintf(stderr, "No domain %d found in the damain index dataset %s\n",
domain_id, fullname.data());
return -1;
}
}
Figure 11-17
//
template<typename T>
int do_search(hid_t file, long long domain_id, const std::string& restype0,
const std::string& id_str)
{
long long pos, length;
int err = search_domain(file, restype0, domain_id, pos, length);
if(err == 0 && length > 0)
{
hid_t dset = 0;
std::string fullname;
int err = get_dset(file, restype0, false, dset, fullname);
if (err != 0)
return err;
printf("Row range of domain %ld,
pos + 1, pos + length);
std::vector<T> displacements;
print_head(displacements);
//
// read all rows into memory and call binary search algorithm.
// if the number of rows is huge, it is better to implement a binary
// search algorithm to the hdf5 file directory for memory efficiency
//
// std::vector<typename T> displacements;
err = read_h5(dset, pos, length, displacements);
if (err != 0)
{
H5Fclose(file);
return err;
Main Index
}
std::vector<long long> ids = parse_id_string(id_str);
for(auto id_it = ids.begin(); id_it != ids.end(); ++id_it)
{
long long id = *id_it;
// records in a dataset is sorted based on MSC Nastran sort1, binary search
// the interesting ID
T disp0 = { id };
auto bound_rec = std::lower_bound(displacements.begin(),
displacements.end(), disp0, CompareID<T>());
if (bound_rec != displacements.end() && match_id(*bound_rec, id))
{
auto const & disp = *bound_rec;
size_t dist = std::distance(displacements.begin(), bound_rec);
print_row(disp);
}
else
fprintf(stderr, "Cannot find record of id %ld from dataset \n", id);
}
}
return 0;
Figure 11-18
Main Index
try {
ff = FileFormat.getFileFormat(
FileFormat.FILE_TYPE_HDF5).createInstance(file,
FileFormat.READ);
ff.open();
CompoundDS ds = (CompoundDS) ff.get("NASTRAN/RESULT/NODAL/DISPLACEMENT");
List data = (List) ds.getData();
long[] ID = (long[]) data.get(0);
double[]VALUE = (double[]) data.get(1);
long[] DOMAIN_ID = (long[]) data.get(2);
int[] order = ds.getMemberOrders();
for (int i = 0; i < ID.length; i++) {
System.out.println("ID: " + ID[i] + ", Domain: " + DOMAIN_ID[i]);
for (int j = 0; j < order[1]; j++) {
System.out.println("\tValue[" + j + "] = " + VALUE[i * order[1] +
j]);
}
}
} finally {
if (ff != null) {
ff.close();
}
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
try {
NH5RDB h5 = new NH5RDB();
h5.printDisplacement("test.h5");
} catch (Exception e) {
e.printStackTrace();
}
}
}
Figure 11-19
Example Files
DataType.html
DataType.xml
Example 1
Example 2
Example 3
Example 4
Example 5
Example 6
Main Index
Example 7
Example 8a
Example 8b
Example 9
Example 10
Main Index
F06Reader Utility
The F06 Reader is a tool to read MSC Nastran output text files (F06, F04, LOG) and produce a friendlier, modern and
more useful format of important MSC Nastran information.
More comprehensive documentation including updated versions of the tool can be found on SimCompanion document
DOC10731 (https://simcompanion.mscsoftware.com/infocenter/index?page=content&id=DOC10731).
Benefits
The F06Readers primary output is an HTML file with:
A Synopsis of analysis; what Solutions sequence is used, is there contact, are there Super Elements, etc.
Pop-up messages (you can add your own) for specific MSC Nastran options/errors
Links to MSC SimCompanion for FATAL Errors/Warnings
Link to a local Quick Reference Guide
Data (in some cases X-Y plots) which can be copied into reports, spreadsheet, etc.
XY Plots of data are only available through the Windows 7 executable. Most linear and nonlinear reports will include
Maximum Displacement vs Maximum SPCForce. This is retrieved from the F06 and PARAM PRTMAXIM YES
request. If PRTMAXIM is not requested or the data is suppressed from the F06, these plots will not be generated. For
Main Index
linear analysis with a single subcase, the plot is of a single point, not a line. For multiple subcases or a nonlinear
analysis, a curve is generated.
Below is a plot of a SOL 400 analysis from F06 data. The upper plot is load percent vs maximum displacement and
list grid with maximum displacement. Below this are the three iteration error plots; displacement, load and work. If the
job fails to converge it may give some insight as to the problem.
What was the maximum percentage load reached
If displacement is unrealistic and at what grid
Which convergence error criteria was not satisfied
SOL 106 is limited to load percent vs maximum displacement and does not list errors.
For aeroelastic flutter analysis, the F06Reader will display Damping vs Dynamic Pressure. Nearly duplicate curves
will be filtered out and placed on a second plot labelled (Omitted lines). Removing the nearly duplicate curves
highlights the fundamental behavior and makes investigation easier. The logic used to identify the nearly duplicate
curves is heuristic, and may not be acceptable for all application. All of the data is available and can be copied into a
spreadsheet for further investigation.
Main Index
Note that with flutter and duplicate removal logic, the number of plots generated can range from 10 to a 100.
Processing time will take a few minutes to complete, generally less than five.
F06Reader Usage
The F06Reader is only available on Windows 7. If one is executing on Linux then one either need to have your file
system cross-mounted and have write permission or copy your (F06, F04, LOG) files back to your local directory.
There are three methods to invoke / use the F06Reader to improve engineering productivity. For occasional use it is
easiest to use the graphical user interface that is highlighted in the examples in the next section.
For experienced users the F06Reader can be executed from the command line using command line argument.
If a series of simulations are going to be performed, it is often useful to indicate in the system RC or the local RCF that
one wants the F06 reader to be invoked at the end of each MSC Nastran job that is submitted. To achieve this add the
following line in the RC or RCF file.
Post=C:\MSC.Software\MSC_Nastran\ver_num\util_ver\x06Reader.exe
Note this is only achievable when executing MSC Nastran on Windows.
See the SimCompanion document DOC10731, interface Help/F06 Reader Documentation included with executable or
MSC Nastran Installation article for more information.
The HTML files created will be placed in a directory called \fo6_reports\
The F06Reader works in conjunction with your local default browser. For the MSC Nastran 2016 release it has been
tested on the English version of:
Chrome
Firefox
Internet Explorer
Main Index
Limitations
The F06 Reader may not work with older versions of MSC Nastran files and does not support all solution sequences /
options.
Example
The following three images represent major features and benefits for an unsuccessful MSC Nastran job.
In the first image, the upper-left dropdown navigation Table of Contents shows the System/User Messages in red. This
indicates a problem. Additionally, it lists how many Warning and FATALs were reported in this run. In the System,
Users & Fatal Messages table, it lists all MSC Nastran messages with Warnings in blue and FATALs in red. The text
box has a minimum of two lines from the message with additional lines in some cases. See the original F06 file for the
full message, it is hyperlinked at the top of the HTML page.
Two other high value features of the message table are shown in Figure 11-20:
Hovering or clicking on the symbol next to Warnings and FATALs opens the pop-up. This message will
contain a link to MSC SimCompanion and initiate a search with the Warning or FATAL + number. If you are
not familiar with the MSC Nastran error code, this is the first place to search. If nothing relevant is found
contact MSC Support.
The pop-up also contains text for common messages. This may be helpful as-is. The third image below shows
how to link user generated pop-up messages to F06Reader via an XML file. These new messages overwrite
text provided in the executable and overwrites built-in messages.
Main Index
On the first image, next to hyperlinked MSC Nastran files is Data/Time information. The MSC Nastran Data/Time is
found from within the text F06, LOG, F04 files. The File Data/Time is the file time stamp. Comparing these times
indicates if the files were modified after the analysis, indicating that the data has potentially been manipulated, or is a
mix of old and new files.
Main Index
Figure 11-20
Figure 11-21
Link F06Reader to user-created XML file. This can be used to change pop-up messages the user sees
and are permanently stored with the HTML report.
Main Index
Main Index
Benefits
The standard internal coordinate system for the solid elements is based on eigenvalue techniques to insure non bias in
the element formulation and designated as element coordinate system (-1). For irregular shaped elements, this system
is difficult to visualize. An alternative element system has been introduced that provides a better visual understanding
of its orientation and is designated as element system (-2).
The (-2) element system applies to stress and strain output and for anisotropic material specified on the MAT9 material
entry.
Feature Description
For the CHEXA element the (-2) element coordinate system is defined as:
Main Index
For the CTETRA element the (-2) element coordinate system is defined as:
For the CPENTAA element the (-2) element coordinate system is defined as:
Example
The example (tpl/ecs/ECS-2-RG.dat) shows a cylinder with an inner radius of 5 cm and an outer radius of 9 cm. The
cylinder is 5 cm thick. It is simply supported using the three grids shown. It is subject to an internal pressure as shown
by the rings of red dots.
The PSOLD entry is:
PSOLID
Main Index
-2
For this model, the CORDM=-2 is equivalent to the cylindrical coordinate shown in the center of the figure and defined
as:
CORD2C
200
0.
-1.
0.
0.
0.
0.
-1.
0.
0.
Thus for the stress shown below, the element X(-2) axis is radial, the element Y(-2) axis is tangential, and the element
Z(-2) axis is normal to the plane of rotation.
This example also used a MAT9 entry specifying an anisotropic material property. Thus the CORDM=-2 system was
also used in defining the orientation of the material properties.
ELEMENT-ID
1
Main Index
S T R E S S E S
I N
H E X A H E D R O N
S O L I D
CORNER
------CENTER AND CORNER POINT STRESSES--------GRID-ID
NORMAL
SHEAR
PRINCIPAL
-2GRID CS 8 GP
CENTER X -7.536923E+02 XY
8.269787E+00
A
1.600733E+03
Y
1.600670E+03 YZ -7.328754E+00
B -7.537229E+02
Z -3.566650E+00 ZX
1.056068E+00
C -3.598534E+00
36 X -7.460766E+02 XY
1.284230E+02
A
1.786352E+03
Y
1.779788E+03 YZ -9.864753E+00
B -7.526190E+02
Z -6.227168E+00 ZX
4.223301E+00
C -6.249172E+00
41 X -7.473914E+02 XY
1.284230E+02
A
1.424715E+03
Y
1.417116E+03 YZ -3.168922E+00
B -7.550099E+02
Z
2.343537E+00 ZX
4.223301E+00
C
2.363164E+00
16 X -7.607948E+02 XY
1.284230E+02
A
1.428291E+03
Y
1.420666E+03 YZ -4.468450E+00
B -7.857184E+02
Z -5.981386E-01 ZX -1.173036E+02
C
1.670096E+01
11 X -7.619092E+02 XY
1.284230E+02
A
1.790808E+03
Y
1.784180E+03 YZ -1.147237E+01
B -7.858845E+02
Z -9.784829E+00 ZX -1.173036E+02
C
7.561574E+00
6 X -7.593786E+02 XY -1.118834E+02
A
1.789667E+03
Y
1.784598E+03 YZ -1.162533E+01
B -7.825614E+02
Z -1.014606E+01 ZX
1.194157E+02
C
7.967381E+00
7 X -7.581757E+02 XY -1.118834E+02
A
1.427161E+03
Y
1.421350E+03 YZ -4.718880E+00
B -7.820474E+02
Z -1.247328E+00 ZX
1.194157E+02
C
1.681368E+01
2 X -7.484072E+02 XY -1.118834E+02
A
1.423296E+03
Y
1.417524E+03 YZ -3.318358E+00
B -7.541781E+02
Z
2.829675E+00 ZX -2.111166E+00
C
2.829304E+00
1 X -7.474048E+02 XY -1.118834E+02
A
1.785136E+03
Y
1.780138E+03 YZ -9.992974E+00
B -7.523564E+02
Z -5.702890E+00 ZX -2.111166E+00
C -5.748799E+00
E L E M E N T S
( H E X A )
DIR. COSINES
MEAN
-A- -B- -CPRESSURE
LX 0.00 1.00-0.00
LY 1.00-0.00-0.00
LZ-0.00-0.00-1.00
LX 0.05 1.00-0.01
LY 1.00-0.05-0.01
LZ-0.01-0.01-1.00
LX 0.06 1.00-0.01
LY 1.00-0.06-0.00
LZ-0.00-0.01-1.00
LX 0.06 0.99 0.15
LY 1.00-0.06-0.02
LZ-0.01 0.15-0.99
LX 0.05 0.99 0.15
LY 1.00-0.05-0.02
LZ-0.01 0.15-0.99
LX-0.04 0.99-0.15
LY 1.00 0.04-0.02
LZ-0.01-0.15-0.99
LX-0.05 0.99-0.15
LY 1.00 0.05-0.02
LZ-0.01-0.15-0.99
LX-0.05 1.00 0.00
LY 1.00 0.05-0.00
LZ-0.00 0.00-1.00
LX-0.04 1.00 0.00
LY 1.00 0.04-0.01
LZ-0.01 0.00-1.00
VON MISES
-2.811371E+02
2.083270E+03
-3.424948E+02
2.260184E+03
-2.240228E+02
1.916755E+03
-2.197578E+02
1.941430E+03
-3.374952E+02
2.285703E+03
-3.383576E+02
2.282077E+03
-2.206424E+02
1.937506E+03
-2.239823E+02
1.914703E+03
-3.423435E+02
2.258712E+03
Main Index
12
Platform Support
Main Index
205
OS
Hardware
FORTRAN
Version
C Version
Default MPI
Linux (64-bit)
RHEL 6.3
SuSE 11 sp2
Intel EM64T
Intel 15.0
Intel 15.0
Microsoft (64-bit)
Windows 7
Intel EM65T
Intel 15.0
Microsoft VS 2013
C/C++
Microsoft HPC
Pack 2012 R2
Capability Discontinuance
The MSC Nastran 2014.1 release was the last release that supported the MATM option for composite material
behavior. This has been replaced with the MATDIGI option that provides superior technology.
MSC is planning on eliminating support for mode=i4, that is small integer support. Based upon modern computer
hardware it is felt that the mode=i8, large integer support provides significant benefits for running large engineering
simulations.
Main Index