You are on page 1of 216

MSC Nastran 2016.

1
Release Guide

Main Index

Corporate

Europe, Middle East, Africa

MSC Software Corporation


4675 MacArthur Court, Suite 900
Newport Beach, CA 92660
Telephone: (714) 540-8900
Toll Free Number: 1 855 672 7638
Email: americas.contact@mscsoftware.com

MSC Software GmbH


Am Moosfeld 13
81829 Munich, Germany
Telephone: (49) 89 431 98 70
Email: europe@mscsoftware.com

Japan

Asia-Pacific

MSC Software Japan Ltd.


Shinjuku First West 8F
23-7 Nishi Shinjuku
1-Chome, Shinjuku-Ku
Tokyo 160-0023, JAPAN
Telephone: (81) (3)-6911-1200
Email: MSCJ.Market@mscsoftware.com

MSC Software (S) Pte. Ltd.


100 Beach Road
#16-05 Shaw Tower
Singapore 189702
Telephone: 65-6272-0082
Email: APAC.Contact@mscsoftware.com

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

Training and Internet Resources


MSC Nastran Documentation

10
11

Overview of MSC Nastran 2016.1

Linear Analysis

CWELD/CFAST/CSEAM Element Enhancements

MSC Nastran Embedded Fatigue (NEF) Updates

22

Acoustics
ERP Enhancements
Normal Velocity

32
34

Vibration Intensity

36

ACLOAD and PEM Interpolation Enhancements

37

Out-of-Core Solver for Large Trim Components of PEM

Advanced Nonlinear (SOL 400)


Advanced Elements

41

Contact in Small Deformation Simulations

Main Index

43

39

4 MSC Nastran 2016.1 Release Guide

Segment-to-Segment Contact Enhancements


Beam Contact

48

Interference Fit

50

Maintaining Geometric Clearance


Contact Separation

52

54

RC Network Heat Transfer Analysis

55

3-D 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

46

103

Dynamic Analysis
Generalized Frequency dependency using MSC Nastran/Digimat (2016.1)

High Performance Computing


New ACMS with Better SMP Scalability
NLEMG with SMP Parallelization

114

124

Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200
Parallel Processing Licensing

128

135

Implicit Analysis (SOL 600)


SOL 600 Upgrade

137

Known Incompatibility with Previous Versions of MSC Nastran

Main Index

140

106

Contents 5

10

Explicit Analysis (SOL 700)


New Materials and Equation of States

142

Adaptive Solid Elements to SPH Transform (SOL2SPH)


Enhanced Dynamic Relaxation and Body Forces
Reinforcement Inside of Solid Elements
Miscellaneous Update

11

147

150

152

User Interface
HDF5 Result Database (NH5RDB)
F06Reader Utility

155

193

Solid Elements Coordinate System Enhancement

12

Platform Support
Supported Hardware and Operating Systems

Main Index

205

200

145

MSC Nastran Release Guide


Preface

Preface

Main Index

Preface to the MSC Nastran 2016.1 Release Guide

List of MSC Nastran Books

Technical Support

Training and Internet Resources

MSC Nastran Documentation

9
10
11

Preface 7

Preface to the MSC Nastran 2016.1 Release Guide


This Release Guide contains descriptions for the MSC Nastran 2016 and 2016.1 versions, and supersedes the MSC
Nastran 2014.1 Release Guide.

Main Index

8 MSC Nastran Release Guide

List of MSC Nastran Books


Below is a list of some of the MSC Nastran documents. You may find any of these documents from MSC Software at
http://simcompanion.mscsoftware.com/infocenter/index?page=home.
Installation and Release Guides
Installation and Operations Guide
Release Guide

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.

Corrected Defects List


For a list of corrected defects in the MSC Nastran 2016 release, please visit our Simcompanion site and see:
https://simcompanion.mscsoftware.com/infocenter/index?page=content&id=KI8008617

Known Defects List


For a list of known defects in the MSC Nastran 2016 release, please visit our Simcompanion site and see:
https://simcompanion.mscsoftware.com/infocenter/index?page=content&id=KI8008006

Main Index

10 MSC Nastran Release Guide

Training and Internet Resources


MSC Software (www.mscsoftware.com)
The MSC Software corporate site with information on the latest events, products, and services for the CAD/CAE/CAM
marketplace.
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.
http://www.mscsoftware.com/msc-training
The MSC-Training link above will point you to schedule and description of MSC Seminars. Following courses are
recommended for beginning MSC Nastran users.
NAS101A - Linear Static and Normal Modes Analysis using MSC Nastran
This course serves as an introduction to finite element analysis. It includes discussion of basic features available in
MSC Nastran for solving structural engineering problems. In this course, all finite element models will be created and
edited using a text editor, not a graphical pre-processor. Proper data structure of the MSC Nastran input file is covered.
At the conclusion of seminar, the student will be familiar with fundamental usage of MSC Nastran.
NAS101B - Advanced Linear Analysis using MSC Nastran
This course is a continuation of NAS101A - Linear Static and Normal Modes Analysis using MSC Nastran. In this
class, you will learn: Theory of buckling analysis and how to perform a buckling analysis About rigid elements - MPC,
RBAR,RBE2, and RBE3 Modeling with interface element CINTC and connectors Lamination theory and composite
materials MSC Nastran composite theory Failure theories Linear contact and permanent glued contact Different model
checks Modeling tips and tricks
NAS120 - Linear Static Analysis using MSC Nastran and Patran
This seminar introduces basic finite element analysis techniques for linear static, normal modes, and buckling analysis
of structures using MSC Nastran and Patran. MSC Nastran data structure, the element library, modeling practices,
model validation, and guidelines for efficient solutions are discussed and illustrated with examples and workshops.
Patran will be an integral part of the examples and workshops and will be used to generate and verify illustrative MSC
Nastran models, manage analysis submission requests, and visualize results. This seminar provides the foundation
required for intermediate and advanced MSC Nastran applications.

Main Index

Preface 11

MSC Nastran Documentation


For quick access to the full set of MSC Nastran Documentation on Windows, one can:
1. Go to your MSCNastran_Installation_DIR\msc2016\Doc\pdf_nastran\
2. Click on nastran_library.pdf and use the Right Mouse Button to Create Shortcut
3. Move the shortcut to your Windows Desktop

MSC Nastran Documentation Requirements


To view and navigate through the PDF based MSC Nastran Documentation, the following browsers are recommended.
Vendor

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

Chapter 1: Overview of MSC Nastran 2016.1


MSC Nastran 2016.1 Release Guide

Main Index

Overview of MSC Nastran


2016.1

Overview of MSC Nastran 2016.1 2

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

Advanced Nonlinear (SOL 400)


Advanced Elements, 41
Beam Contact, 48
Interference Fit, 50
Maintaining Geometric Clearance, 52

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

High Performance Computing


New ACMS with Better SMP Scalability, 114
NLEMG with SMP Parallelization, 124
Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200, 128
Main Index

3 MSC Nastran 2016.1 Release Guide

Dynamic Analysis
Generalized Frequency dependency using MSC Nastran/Digimat (2016.1), 106

Implicit Analysis (SOL 600)


Workflow for Advanced Analysis, 137
Material Models, 137
Large Displacement/Large Strain Analysis , 138
Contact Analysis, 138
Computational, 138
Fracture Mechanics, 139
Known Incompatibility with Previous Versions of MSC Nastran, 140

Explicit Analysis (SOL 700)


New Materials and Equation of States, 142
Adaptive Solid Elements to SPH Transform (SOL2SPH), 145
Enhanced Dynamic Relaxation and Body Forces, 147
Reinforcement Inside of Solid Elements, 150
Miscellaneous Update, 152

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

MSC Nastran 2016.1 Release Guide


Chapter 2: Linear Analysis

Main Index

Linear Analysis

CWELD/CFAST/CSEAM Element Enhancements

MSC Nastran Embedded Fatigue (NEF) Updates

22

5 MSC Nastran 2016.1 Release Guide

CWELD/CFAST/CSEAM Element Enhancements

CWELD/CFAST/CSEAM Element Enhancements


The CWELD /CFAST elements have been changed so that there is now a consistent formulation between linear and
SOL 400 nonlinear analysis. Additionally, the CSEAM element is now supported in SOL 400 and has a consistent
formulation between linear and SOL 400 nonlinear analysis.

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.

Enhanced Search Algorithm


For the new connector logic, the search algorithm has been enhanced based on user inputs in an attempt to achieve the
best possible connections. The new search tolerance starts with a zero projection tolerance. This may result in changes
from the previous connector results using the old CWELD/CFAST elements.
The list below gives a brief summary of the highlights of the improved CWELD/CFAST algorithm.
1. For the CFAST and the CWELD with options "PARTPAT" and "ELPAT", grids GA and GB internally keep
the user-specified IDs and the user-specified locations. This change was primarily introduced because many
users complained that the location of GA and GB represented their modeling procedures and desired mesh
locations.
2. For the CWELD with ELEMID/GRIDID option, grids GA and GB internally keep the user-specified IDs and
the user-specified locations, but in the case when GA and GB are associated with shell patches, a duplicate
internal grid is generated to avoid singularity of the generated RBE3.
CWELD, 5646, 22, , ELEMID, 3276, 3115
, 2191, 1941
CTRIA3, 2191, 8, 3272, 3276, 3271
Grid 3276 as input from standard mesh modeling procedures will automatically be placed in the independent
degree of freedom set, or may have been placed by the analyst in a SPC or MPC set at generation time. In either
case, the CWELD algorithm must create an internal constraint on this grid using a RBE3 element. This causes
a set conflict which is avoided by generating an internal grid.
3. For two stacked connectors having a common patch with a common grid, the program checks duplicated
GA/GB and only a single RBE3 is generated for the common patch.
CWELD, 11, 100, 9001, PARTPAT, 3001, 3002
CWELD, 12, 100, 9002, PARTPAT, 3002, 3003
4. If the user specifies both grids GA and GB, for the CFAST and the CWELD with options "PARTPAT" and
"ELPAT", the SWLDPRM, GSMOVE entry is nonfunctional.
In the CFAST and the CWELD with options "PARTPAT" and "ELPAT", if the user specifies both GA and GB
they will not be moved. This may cause the CFAST/CWELD search algorithm to fail for some welds that had
passed under the old CWELD/CFAST search algorithm. If this occurs, the user can do one of four things:
a. Determine a better location for GA and GB of the failing welds so that they may project.
b. Remove GA and GB from the CWELD/CFAST entry and replace with a GS entry allowing the
CWELD/CFAST algorithm to move and project and generate internal GA and GB locations.
c. Use "SWLDPRM, MOVGAB, 1" to generate internal GA and GB grids at the corrected locations for all
CWELD/CFAST. The locations of the original user specified GA and GB are unchanged.

Main Index

7 MSC Nastran 2016.1 Release Guide

CWELD/CFAST/CSEAM Element Enhancements

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 ANGLE B/N SHELL


NORMALS
GAB/GH (GSPROJ)
AT
EID

MAX TIMES GS
MOVED (GSMOVE) AT

G
B

GAB 0.0 (20.00) 6000000

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

9 MSC Nastran 2016.1 Release Guide

CWELD/CFAST/CSEAM Element Enhancements

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.

Table 2-1 Auxiliary Grid 101000023 and Associated RBE3 100001026


RBE3

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

11 MSC Nastran 2016.1 Release Guide

CWELD/CFAST/CSEAM Element Enhancements

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

13 MSC Nastran 2016.1 Release Guide

CWELD/CFAST/CSEAM Element Enhancements

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

Parameter SWLDPRM override for CFAST, CSEAM, and


CWELD Connector Elements

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

CSV Report Format

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

15 MSC Nastran 2016.1 Release Guide

CWELD/CFAST/CSEAM Element Enhancements

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

2mm mesh model

Figure 2-6

von Mises stress in the vicinity of the weld

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

17 MSC Nastran 2016.1 Release Guide

CWELD/CFAST/CSEAM Element Enhancements

Figure 2-7

Coarse and fine mesh model

Figure 2-7 shows the detail of the fine mesh of the horizontal offset panel.

Figure 2-8

Fine mesh horizontal offset panel

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

Coarse mesh model displacement

Figure 2-10

Fine mesh model displacement

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

19 MSC Nastran 2016.1 Release Guide

CWELD/CFAST/CSEAM Element Enhancements

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

These problems are found at doc\relnotes\v2016/cei008-weld.dat, doc\relnotes\v2016/cei026-weld.dat and


doc\relnotes\v2016/cei026-weld-DRSKN.dat.
Test Model 3
Figure 2-12 shows a simple bracket mechanism. The center sheet (red) is clamped along the right edge. The bracket

(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

Displacement and Stress at t=0.5 seconds

21 MSC Nastran 2016.1 Release Guide

CWELD/CFAST/CSEAM Element Enhancements

Figure 2-14 shows a slice of the Force and Stress output for CWELD 7006.

Figure 2-14

Slice of Force & Stress Output

For further details, see MSC Nastran Demonstration Problems Manual, Chapter 96.

Limitations and Guidelines


1. The old CFAST/ CWELD formulation and the new CFAST/CSEAM/CWELD formulation only support
geometric nonlinear in SOL 400. They are not supported in SOL106 or SOL129 as nonlinear elements.
2. The CFAST/CSEAM/CWELD elements do not currently support nonlinear material in SOL 400.
3. The current CFAST/CSEAM/CWELD do not support thermal loading.
From release to release, there are often corrections or improvements or both to the connector search algorithm. These
modifications, in general, have small effects on the local stiffness of the structure. However, they can have an effect
on the force results reported by the CWELD or CFAST elements if the user has selected the default orientation of these
connectors. This is because a slight change in the connector orientation of the connector y- and z-axis causes different
reporting of force output. If the relative orientation of these axes is important, the user is reminded that the CWELD
and CFAST elements allow the user to specify a specific orientation for these axes. Remarks 12 and 16 of the CWELD
and Remark 1 of the PFAST in the MSC Nastran Quick Reference Guide explain user-specified connector orientation.

Main Index

Linear Analysis 22
MSC Nastran Embedded Fatigue (NEF) Updates

MSC Nastran Embedded Fatigue (NEF) Updates


Three major enhancements to NEF are added to SOLs 101, 103, and 112. These include:
Nodal Averaged Stresses, 22
Surface Resolved Stresses, 23
Fatigue Stress Output, 23

Nodal Averaged Stresses


Fatigue analysis can now be performed using nodal averaged stresses or strains. The nodal averaging is done using the
grid point stress methods, identically as if GPSTRESS or GPSTRAIN are requested in the Case Control. This is in
addition to the existing functionality of using element center or element nodal stresses/strains.
Benefits
Fatigue damage calculated from a more realistic quantity
Less calculation points, thus increased computation speed
Greater clarity because only a single fatigue damage result per grid
Postprocessing does not average fatigue life/damage due to multiple values per grid
Less conservatism in the damage prediction

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

23 MSC Nastran 2016.1 Release Guide

MSC Nastran Embedded Fatigue (NEF) Updates

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.

Surface Resolved Stresses


If the SRESOLVE field is set to YES on the FTGPARM entry, then for any specified set of solid elements (CHEXA,
CPENTA, CTETRA) on the FTGDEF entry, the free faces of those solid elements are skinned.
Skinning is the process of creating thin shell elements in the same location as the free faces using the same GRID IDs
as the faces of the solid elements. The fatigue analysis then uses the stresses from these skinned shell elements based
on the LOC field (element center, element nodal, or nodal averaged).
This results in the analysis using a 2-D state of stress instead of the desired 3-D state of stress on the surface of the
model. Since, in reality, the surface normal stress is generally zero (0) unless there is some sort of hydrostatic pressure
or equivalent, and the fact that most fatigue cracks initiate on the surface and not interior to the model.
Benefits
Ensures a 2-D state of stress at the surface
Results in less calculation points, ignoring interior entities
Enables multi-axial assessments and correction on 3-D solid models
Enables use of critical plane stress combination (COMB=CRITICAL) for 3-D solid models

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.

Fatigue Stress Output


New output request parameters are available using the LAYER and STROUT fields. Previously, the LAYER option
was available on the PFTG entry. This has been moved to the FTGPARM entry to be a more global output request
setting.

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

SAE Shaft Modeled with Solid CHEXA & CPENTA Elements

25 MSC Nastran 2016.1 Release Guide

MSC Nastran Embedded Fatigue (NEF) Updates

Figure 2-16

SAE Shaft Skinned Shell Elements with SRESOLVE=YES (Clipped)

Figure 2-17

SAE Shaft Surface Damage on Notched Area Only (Clipped)

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

27 MSC Nastran 2016.1 Release Guide

MSC Nastran Embedded Fatigue (NEF) Updates

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

Defines parameters for a fatigue analysis.


Format
1
FTGPARM

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

29 MSC Nastran 2016.1 Release Guide

MSC Nastran Embedded Fatigue (NEF) Updates

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

ACLOAD and PEM Interpolation Enhancements

Out-of-Core Solver for Large Trim Components of PEM

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

33 MSC Nastran 2016.1 Release Guide


ERP Enhancements

Element ERP Sample Output


For following ERP case control command,
ERP(PRINT,ELEMENT,KEY=FRACTION,FILTER=0.0) = ALL
Sample element ERP output sorted based on FRACTION is shown as follows
ALL IN 1 SUBCASE
0
FIRST SUBCASE (1000)
FREQUENCY =
2.000000E+00
E L E M E N T
E Q U I V A L E N T
ERPPNL NAME:ERPX0
ERP: 4.3623E-03 AREA: 1.0000E+01
ELEM ID
121
331
211
321
311
231
131
111
71111
71112
221

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

Sample NVELOCITY(ERP) output in f06 is shown as follows,


FREQUENCY =

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

35 MSC Nastran 2016.1 Release Guide


Normal Velocity

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

The response output may also be given as magnitude and phase.


3-D Column plot for all ERPPNLs is shown as follows

PANLA is the summation of all the panels.


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.
erpnvel.dat
erpnvel2.dat
erpnvel3.dat

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

Sample of VI output in f06 is shown as follows,


SUBCASE 1
FREQUENCY =
ELEM ID
24
25
26
27
28
29
30
31

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

37 MSC Nastran 2016.1 Release Guide

ACLOAD and PEM Interpolation Enhancements

ACLOAD and PEM Interpolation Enhancements


ACLOAD - ACLOAD is a convenient way to include load vectors produced by Actran as part of the dynamic loading
in frequency response analyses. However, it allows only one load case per input file. MSC Nastran 2016 provides
enhancement to the ACLOAD capability to accept multiple load vectors per input file.
PEM interpolation PEM capability performs linear interpolation for Reduced Impedance Matrices (RIM) of each
trim component. Since RIM may have been generated with logarithmic distribution of master frequencies, it is
advantageous to provide additional interpolation schemes for user to select. Hence, logarithmic interpolation is
implemented to compliment the previously available linear interpolation method.

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

LSQID field has a default value of 1.


PEM interpolation a new parameter is provided for user to select the interpolation method.

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

39 MSC Nastran 2016.1 Release Guide

Out-of-Core Solver for Large Trim Components of PEM

Out-of-Core Solver for Large Trim Components of PEM


The generation of reduced impedance matrix, RIM, for trim components of PEM is subjected to the available memory
limitation. In MSC Nastran 2014, PARAM, PEMNPART,n was implemented to split large trim component into smaller
pieces such that RIM generation was more likely to succeed. However, PARAM,PEMNPART may interrupt energy
flow when splitting the large trim component and causes degradation of accuracy. Therefore, a new out-of-core, OOC,
solver has been implemented in Actran to handle large trim components with limited available memory. MSC Nastran
2016.0 PEM capability can take advantage of the OOC solver in Actran to process large trim components. To activate
OOC solver, OOC field on ACPEMCP is available as user interface
1

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

Chapter 4: Advanced Nonlinear (SOL 400)


MSC Nastran 2016.1 Release Guide

Main Index

Advanced Nonlinear (SOL 400)

Advanced Elements

41

Contact in Small Deformation Simulations

Segment-to-Segment Contact Enhancements

Beam Contact

Interference Fit

Maintaining Geometric Clearance

Contact Separation

RC Network Heat Transfer Analysis

48
50
52

54
55

43
46

41 MSC Nastran 2016.1 Release Guide


Advanced Elements

Advanced Elements
In this release, the enhanced features for SOL 400 using advanced elements include:

Superelement with Advanced Elements


Support in superelement definitions including SESET, SETREE, and its combinations
Support to directly define advanced elements with PSHLN1, PSLDN1, PBEMN1, PSHEARN, and PRODN1.
Support to map Conventional Element to Advanced Element with NLMOPTS,SPROPMAP in superelement.

Nonlinear Restart with Advanced Elements


Support to restart the job from previous subcases and steps.
Support to restart the job form previous results with SPCD.

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

Advanced Nonlinear (SOL 400) 42


Advanced Elements

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

Known Issues In This Release


In this release, MATUDS for user defined service, MATDIGI for composite, and MATG can't obtain the

corresponding stress results when used in superelement.


MTRAN with superelement may provide incorrect results.
Thermal loads should not be applied to the elements condensed out in the superelement.
Superelements are not supported in linear perturbation with SOL 400.

Main Index

43 MSC Nastran 2016.1 Release Guide


Contact in Small Deformation Simulations

Contact in Small Deformation Simulations


The accuracy of performing contact simulations in SOL 101 and SOL 400 has been improved when the small
displacement procedure is used.

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

Advanced Nonlinear (SOL 400) 44


Contact in Small Deformation Simulations

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

45 MSC Nastran 2016.1 Release Guide


Contact in Small Deformation Simulations

Figure 4-4

Main Index

Improved Stress Distribution with Linear Contact (LINCNT) and Inertia Relief

Advanced Nonlinear (SOL 400) 46


Segment-to-Segment Contact Enhancements

Segment-to-Segment Contact Enhancements


This release enhances the capabilities of the current contact analysis in several aspects: accuracy, performance, and
reliability.
Previously, the segment-to-segment procedure required more iterations than the node-to-segment method, which leads
to higher computational costs. There are several reasons for this, and some of the issues have been alleviated in this
release.
1. The segment-to-segment uses a penalty approach to fulfill the no penetration constraint. The penalty can be
defined by user or by the program automatic calculation. With the new default in MSC Nastran 2016, the
consequences are as follows:
a. In the case where a deformable body contacts a rigid body, there is no change in the procedure.
b. In the case of deformable-to-deformable contact where the bodies have the same stiffness, a lower value of
the penalty is used than in previous releases.
c. In the case of deformable-to-deformable contact and the bodies have different stiffness, the penalty is based
upon the lower stiffness.
2. To improve the accuracy and the convergence, MSC Nastran also uses an augmentation method. This
augmentation is activated as soon as and remains active as long as the penetration exceeds a certain value and
the maximum number of iterations has not been reached. Previously, the value was 1/1000 of the characteristic
length. It was found that this value was too small, which led to excessive number of iterations. The default value
has been increased in this release.
3. In the case of friction, there is also a value of the Augmented Lagrange penalty value for sticking. In the past,
this value was a constant for the whole model or at least for each contact pair. In MSC Nastran 2016, the new
procedure results in a value that is dependent on the normal pressure.
Effectively, at low normal stresses this results in the bodies more likely slipping than at high normal stresses.
4. Breaking glue may be applied in segment-to-segment contact. The breaking glue option, which allows the
bodies initially glued together to separate if a stress limit is reached, is now available for segment-to-segment
contact.
5. In this version for segment-to-segment contact, the contact stiffness is varied gradually with the relative
position of the contact surfaces, which may make the contact analysis more smooth and stable. This is
particularly true if there are discontinuities in the slope of element faces, often considered to be sharp corners.
This is demonstrated in the following example.
6. Initial contact status may be output for all the contact analyses including the permanent glued contact, general
glued contact, step glued contact, as well general touching contact.
7. Based on the previous experience and feedbacks, some defaults are changed with consideration of contact,
which make the contact analysis more reliable and stable.
a. Default value of MINITER is changed to 2 in presence of contact.
b. Default value of NODSEP is changed to 5 for all the contact analysis including node-to-segment contact
and segment-to-segment contact.

Main Index

47 MSC Nastran 2016.1 Release Guide

Segment-to-Segment Contact Enhancements

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

Advanced Nonlinear (SOL 400) 48


Beam Contact

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

thereby considering all beams were considered to be circular cross sections.


The algorithm was unable to model internal contact of beams with beams (Tube-in-tube contact)

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:

Current position of the beam based on the beam nodal coordinates.


Cross section of the beam
Orientation of the beam
Offsets at the beam nodes

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

49 MSC Nastran 2016.1 Release Guide


Beam Contact

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

Advanced Nonlinear (SOL 400) 50


Interference Fit

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

51 MSC Nastran 2016.1 Release Guide


Interference Fit

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

Advanced Nonlinear (SOL 400) 52


Maintaining Geometric Clearance

Maintaining Geometric Clearance


The Interference Fit option, which gradually removes a large overlap between contact bodies, can be extended to
support initial gaps or clearance between contact bodies. With this Initial Gap option, the nodes of a touching body are
projected onto the nearest segment of the touched body, resulting in a distance vector at a touching node. This distance
vector is then modified to accommodate the user-specified gap or overlap and used to adjust the surface of the
corresponding contact body without actually repositioning the nodes (as would be done by stress-free initial contact).
During the analysis, the distance vector is continuously updated based on the displacement and the rotation of the
associated node. The information about the initial gap and overlap is defined in the BCONPRG option.

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

53 MSC Nastran 2016.1 Release Guide


Maintaining Geometric Clearance

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

Advanced Nonlinear (SOL 400) 54


Contact Separation

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

55 MSC Nastran 2016.1 Release Guide


RC Network Heat Transfer Analysis

RC Network Heat Transfer Analysis


In the MSC Nastran 2016 release, a few options are no longer supported for heat transfer using the RC Network
approach.
If a steady state analysis is performed, using either both the Case Control, ANALYSIS=RCNS and NLSTEP or
RCPARM, then the following SOLVER types are no longer supported:
SSQMR
SSSPM

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

Chapter 5: 3-D Rotordynamics

MSC Nastran 2016.1 Release Guide

3-D Rotordynamics

Main Index

3-D Rotordynamics in MSC Nastran

57

57 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

3-D Rotordynamics in MSC Nastran


For the past few years, MSC Nastran has supported 1-D rotordynamics using beam/bar elements which is widely used
by turbines, jet engine, and airplane manufacturers. The rotordynamics capability allows the user to perform static
analysis, obtain real and complex eigenvalues, and determine frequency response and transient response. The 1-D
implementation had the limitations that it cannot be used to model complex rotor geometry, and the blades in this
analysis are treated as rigid. In MSC Nastran 2013.1, MSC added 2-D rotordynamics capability which allows the usage
of axisymmetric harmonic elements. This removed some of these issues; however, it is applicable only where the rotor
is axisymmetric.
In order to obtain greater accuracy, use of full 3-D models is required which can be used to perform more detailed
analysis of rotors and their support structure. The 3-D capability allows the user to model discrete blades and
non-symmetric components of rotors and stators. In the current release, both the fixed and rotating reference frame is
supported. (Note that only one reference frame can be selected in a single analysis)
Besides this, several other enhancements have been made in rotordynamic analysis:
a. The user can optionally suppress the effect of the circulation matrix for damping defined in rotors in fixed
reference frame.
b. For 3-D rotors in the rotating reference frame, effects of stress stiffening (differential stiffness) can be
incorporated in the analysis.

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

Rotor Model Definition

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

Identification number of rotor. (Integer > 0).

FRAME

Analysis frame (Char, ROT or FIX, Required, Default: FIX)

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

IDs of elements or properties comprising the rotor. (Integer > 0; Required; No


default)

AXIS

Defines grid points which define the axis of rotation.

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

59 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

2. Supported element types for analysis in fixed reference frame:


0-D elements : CONM1, CONM2
1-D elements : CBEAM, CBAR
2-D elements : CQUAD4, CQUAD8 (full 8 nodes are required), CTRIA6(full 6 nodes required), CTRIA3
3-D elements : CHEXA, CPENTA, CTETRA
3. THRU option is supported in ROTOR entry. Note that the order is important for LTYPE. In case both ELEM
and PROP are specified, ELEM should be specified first.
4. Analysis can be performed using coupled mass or diagonal mass for all the elements.
5. ROTORAX, ROTORG, and ROTORSE should not be used along with ROTOR in ROT frame. They can only
be used with ROTOR in FIX frame. (since ROTORAX, ROTORG, and ROTORSE assume fixed reference
frame.)
6. At least 2 grid points need to be defined on AXIS to complete ROTOR definition; these points may not be part
of rotor.
7. For unbalance loads, the grid point, at which UNBALNC is defined, should be part of ROTOR AXIS list.
8. In order to include CONM1/2 elements as part of a rotor, its element ID should be listed using ELEM in
ROTOR definition.
9. Stator portion of the model should only be defined in residual for external superelement runs in rotating system.

Main Index

3-D Rotordynamics 60
3-D Rotordynamics in MSC Nastran

New Bulk Data Entry

ROTHYBD

Hybrid damping for rotors

Specifies hybrid damping data for rotors.


Format:
1
ROTHYBD

ROTORID1 HYBDAMP1

ROTORID2

HYBDAMP2

10

Examples:
ROTHYBD

15

ROTHYBD

10

100

20

200

30

300

Field

Contents

ROTORIDi

Identification number of rotor. (Integer > 0). See Remarks 1 and 2.

HYBDAMPi

Identification number of a HYBDAMP entry defining hybrid modal damping data.


(Integer > 0). See Remarks 1 and 2.

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

61 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

Modification to an Existing Entry


Modification to MDLPRM
New entry for table (Addition to 8-47 PARAMi Names and Descriptions)
Name
RDBOTH

Description, Type, and Default Values


Parameter to select Rayleigh damping approach as implemented in V2005, Integer. A cumulative
sum can be provided in case multiple features are desired in the analysis.
0

Uses current implementation for Rayleigh Damping as described in RSPINR/RSPINT entry


description (Default)

Switch to V2005 implementation of Rayleigh damping where damping coefficients specified in


the model through "PARAM, ALPHA1" and "PARAM, ALPHA2" are applied to the complete
model and Rayleigh damping specified through "ALPHAR1" and "ALPHAR2" in
RSPINR/RSPINT is set to 0.0.

Ignore circulation effects in rotordynamic analysis.

Include effect of stress stiffening using method = 1 (see RFORCE entry)

Include effect of stress stiffening using method = 2 (see RFORCE entry)

These features can also be accessed using system cell 695.

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

2. SOL 103, real eigenvalue analysis


3. SOL 107, complex eigenvalue analysis
4. SOL 108, frequency response
5. SOL 109, transient response
6. SOL 129, non-linear transient response
7. SOL 200, without sensitivity or optimization of the rotor
8. SOL 400, only for linear analysis with RIGID = LINEAR; no advanced elements are allowed in the rotor
Other features that are supported for 3-D rotors are listed here:
Effect of stress (differential) stiffness for asynchronous analysis in rotating reference frame.
Use of hybrid damping for all the rotors
Option to suppress the effect of the circulation matrix for damping defined on rotors for analysis in fixed

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

63 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

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

Critical Frequencies for Bar Model in Fixed System


Mode

Critical Frequencies (Hz)

First backward whirl

7.08

First forward whirl

10.22

Second forward whirl

10.74

Second backward whirl

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

Critical Frequencies for Bar and Solid Model in Rotating System

Mode

Critical Frequencies (Hz)


3-D model
WHIRLOPT=FWD

First backward whirl

3-D model BWD

Bar Elm FWD

6.5

6.58

First forward whirl

9.19

9.23

Second forward whirl

10.77

10.74

Second backward
whirl

Main Index

21.88

Bar Elm BWD

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

b. ROTOR defined using bar elements in rotating system


MASS PROPERTIES OF ROTOR

400
-------------------------------------------------------------------------------AXIAL MASS
TRANSVERSE MASS
POLAR MOMENT
TRANSVERSE MOMENT
-------------------------------------------------------------------------------2.29585E+03
2.29585E+03
3.75800E+05
2.26615E+05
--------------------------------------------------------------------------------

c. ROTOR defined using solid/shell elements in rotating system


MASS PROPERTIES OF ROTOR

11
-------------------------------------------------------------------------------AXIAL MASS
TRANSVERSE MASS
POLAR MOMENT
TRANSVERSE MOMENT
-------------------------------------------------------------------------------2.29021E+03
2.29021E+03
0.00000E+00
4.19333E+05
--------------------------------------------------------------------------------

Main Index

65 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

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

Model without reduction: r3d107g1.dat


Model with reduction: r3d107g2.dat
The reduced model includes two grid points as part of ASET DOFs and AUTOQSET option for normal modes. Critical
frequencies obtained for the model with and without reduction are listed in Table 5-3. For this model, dynamic
reduction resulted in a 20% reduction in computational time.
Table 5-3

Effect of Dynamic Reduction


Critical Frequencies (Hz)

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

Effect of Dynamic Reduction (continued)


Critical Frequencies (Hz)

Mode Number

Without Reduction

With Reduction

145.46

145.46

147.51

147.51

171.58

171.58

Unbalanced Response (SOL 108)


The frequency response was performed on the solid model by applying an unbalanced load at the center of the disk.
The variation of the unbalanced load with rotational speed (frequency) is shown Figure 5-3.

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

67 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

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

69 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

Table 5-4

Complex Frequencies from SOL 107 Analysis for Rotor in EXTSE


Single Shot (Hz)

0 RPM

EXTSE Assembly (Hz)

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

Rotor Model with Permanent Glue Contact

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

Using Permanent Glue

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

Test Cases for Analysis in Fixed Reference Frame


In order to validate the analysis in fixed reference frame, the hollow rotor model shown in Figure 5-7 is used for the
analysis. This model is meshed using different types of solid and shell elements to validate the implementation.

Figure 5-7

Hollow Rotor Model

Complex Eigenvalue Analysis using Solid Elements


Input Decks:
r3d107k1.dat :With 8-noded CHEXA elements (Campbell Diagram)
r3d107k2.dat :With 20-noded CHEXA elements (Campbell Diagram)
rotg107.dat : Model using beam elements and ROTORG (Synchronous Analysis)
r3d107m1.dat : Model using 8-noded CHEXA elements (Synchronous Analysis)
r3d107m2.dat : Model using 20-noded CHEXA elements (Synchronous Analysis)
r3d107m3.dat : Model using CPENTA elements (Synchronous Analysis)
r3d107m4.dat : Model using 4-noded CTETRA elements (Synchronous Analysis)
r3d107m5.dat : Model using 10-noded CTETRA elements (Synchronous Analysis)

Main Index

71 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

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

Campbell Diagram for Hollow Solid Rotor

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

Finite Element Model Details

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

73 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

Figure 5-9

Frequency Response for Undamped Rotors

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

Amplitude for Damped Case for 3-D Rotor

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

Transient Response for 3-D Rotors using Different Solution Sequences

Rotor with Shell Elements


Test Decks:
r3d107n1.dat : Rotor with CQUAD4 shell elements, Campbell Diagram
r3d107n2.dat : Rotor with CQUAD4 shell elements, Critical Frequencies
r3d107n3.dat : Rotor with 8-noded CQUAD8 shell elements, Campbell Diagram
r3d107n4.dat : Rotor with 8-noded CQUAD8 shell elements, Critical Frequencies
r3d107n5.dat : Rotor with CTRIA6 shell elements, Campbell Diagram
r3d107n6.dat : Rotor with CTRIA6 shell elements, Critical Frequencies

Main Index

75 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

r3d107n7.dat : Rotor with 8-noded CTRIA3 shell elements, Campbell Diagram


r3d107n8.dat : Rotor with 8-noded CTRIA3 shell elements, Critical Frequencies

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

Critical Frequencies for Hollow Rotor Meshed using Shell Elements


Axis

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

Campbell Diagram for Rotor with Shell Elements

77 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

Figure 5-13

Main Index

Modeshapes for Shell Rotor Model

3-D Rotordynamics 78
3-D Rotordynamics in MSC Nastran

3-D Rotor with Both Solid and Shell Elements


Test Decks:
r1d107p1.dat : ROTORG with bar elements, Campbell Diagram
r3d107p1.dat : ROTOR with solid and shell elements, Campbell Diagram

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

Campbell diagram for 3-D rotor with disk

79 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

Figure 5-15

Modeshapes for the Disk-rotor Model

Stress Stiffening for 3-D Rotors


Test Decks:
r3d107q3.dat : Rotor with shell elements in rotating reference frame with stress stiffness
r3d107q4.dat : Rotor with shell elements in rotating reference frame without stress stiffness

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

Solid Line: without stress stiffening


Dotted Lines: with stress stiffening

Figure 5-16

Effect of Stress Stiffness in Rotating Reference Frame

Rotor Model with All Three Rotor Types


Test Deck: r3d107s1.dat : Test deck with ROTORG, ROTORAX, and ROTOR.

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

81 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

Figure 5-17

Mass Summary for Different Types of Rotors

Guidelines and Known Limitations


The main guidelines to be followed while working with 3-D rotors are listed under the Remarks section of the ROTOR
entry.
Theoretical limitations for the analyses that can be performed in rotating system are:
a. Multiple rotors at different speeds are not allowed, all the rotors must have the same speed.
b. The supports attached to the rotor must be axisymmetric.
Theoretical limitations for analyses that can be performed in fixed reference frame are:
a. The rotating component of the model must be axisymmetric.
These checks are not performed in the current implementation, and it is the responsibility of the user to ensure that
these criteria are satisfied to obtain correct results.

Main Index

3-D Rotordynamics 82
3-D Rotordynamics in MSC Nastran

Implementation limitations of the analysis are:


1. For SOL 400, only RIGID = LINEAR option is supported. The default option in SOL 400 is RIGID =
LAGRAN, and it needs to be modified for SOL 400 runs. No advanced elements should be used in the rotor.
2. For SOL 200, optimization is currently not supported for rotors. Users can only use rotordynamics in SOL 200
for analysis purposes.
3. For complex eigenvalue analysis, use of CLAN is recommended. Other options like HESS and IRAM are not
suitable for large problems usually encountered in 3-D rotor models.
4. AUTOSPC is off by default in SOL 400. This may cause models to fail when switching from a linear solution
sequence.
5. In the current version, RFORCE is not implemented in SOL 101 for analysis in rotating reference frame.
6. Only permanent glue option is supported for rotordynamic analysis.

Example Summary
Summary of all the test decks is provided in Table 5-9 and Table 5-10.
Table 5-9

Test Decks for Analysis in Rotating Reference Frame


Description

Name

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
Model without reduction:

r3d107g1.dat

Model with reduction:

r3d107g2.dat

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 Analysis for zero rotor speed

r3d109a1.dat

Main Index

83 MSC Nastran 2016.1 Release Guide


3-D Rotordynamics in MSC Nastran

Table 5-9

Test Decks for Analysis in Rotating Reference Frame (continued)


Description

Name

Transient Analysis for non-zero rotor speed

r3d109a2.dat

Transient Analysis for non-zero rotor speed with damping

r3d109a3.dat

Creation Run

r3d103h1.dat

Assembly Run

r3d107h2.dat

Single Shot Run

r3d107h3.dat

Connected Rotor

r3d107i1.dat

Disconnected rotor with permanent glue

r3d107i2.dat

Model with composite material:

r3d103a1.dat

Model using PSHELL:

r3d103a2.dat

Rotorax with concentrated mass

raxcnm2b.dat

Table 5-10

Summary of Test Decks for Analysis in Fixed Reference Frame


Description

Name

With 8-noded CHEXA elements (Campbell Diagram)

r3d107k1.dat

With 20-noded CHEXA elements (Campbell Diagram)

r3d107k2.dat

Model using beam elements and ROTORG (Synchronous Analysis)

rotg107.dat

Model using 8-noded CHEXA elements (Synchronous Analysis)

r3d107m1.dat

Model using 20-noded CHEXA elements (Synchronous Analysis)

r3d107m2.dat

Model using CPENTA elements (Synchronous Analysis)

r3d107m3.dat

Model using 4-noded CTETRA elements (Synchronous Analysis)

r3d107m4.dat

Model using 10-noded CTETRA elements (Synchronous Analysis)

r3d107m5.dat

Beam Rotor, undamped

r1d108m1.dat

Beam Rotor, damped without circulation

r1d108m2.dat

Rotor with 8-noded CHEXA elements, undamped

r3d108m1.dat

Rotor with 8-noded CHEXA elements, damped without circulation

r3d108m2.dat

Rotor with 8-noded CHEXA elements, undamped

r3d108m3.dat

Rotor with 8-noded CHEXA elements, damped without circulation

r3d108m4.dat

Beam Rotor, static analysis

r1d101m1.dat

Main Index

3-D Rotordynamics 84
3-D Rotordynamics in MSC Nastran

Table 5-10

Summary of Test Decks for Analysis in Fixed Reference Frame (continued)


Description

Name

Transient response for Beam Rotor using SOL 129

r1d129m1.dat

Transient response for Beam Rotor using SOL 400

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

Rotor with Axisymmmetric Harmonic Elements, Campbell Diagram

rax107n1.dat

Rotor with Axisymmmetric Harmonic Elements, Critical Frequencies

rax107n2.dat

Rotor with CQUAD4 Shell Elements, Campbell Diagram

r3d107n1.dat

Rotor with CQUAD4 Shell Elements, Critical Frequencies

r3d107n2.dat

Rotor with 8-noded CQUAD8 Shell Elements, Campbell Diagram

r3d107n3.dat

Rotor with 8-noded CQUAD8 Shell Elements, Critical Frequencies

r3d107n4.dat

Rotor with CTRIA6 shell elements, Campbell Diagram

r3d107n5.dat

Rotor with CTRIA6 shell elements, Critical Frequencies

r3d107n6.dat

Rotor with 8-noded CTRIA3 shell elements, Campbell Diagram

r3d107n7.dat

Rotor with 8-noded CTRIA3 shell elements, Critical Frequencies

r3d107n8.dat

ROTORG with bar Elements, Campbell Diagram

r1d107p1.dat

ROTOR with Solid and Shell elements, Campbell Diagram

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

Test deck with ROTORG, ROTORAX, and ROTOR.

r3d107s1.dat

Main Index

MSC Nastran 2016.1 Release Guide


Chapter 6: Optimization

Main Index

Optimization

Global Optimization

86

Multi Model Optimization

Weight as a Function of Material or Property ID

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

multidisciplinary design optimization capability in MSC Nastran SOL 200 is used


Asymptotically correct condition or a user specified time budget is used to terminate the global search process.

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

mygofile.xml (or mymmofile.xml)

87 MSC Nastran 2016.1 Release Guide


Global Optimization

GO XML File Format


The GO input xml file (mygofile.xml) has this format:
<?xml version="1.0" ?>
<rc OptType="GO" debug="no">
<Job name="deck" MEM="m" SMP="n" SCR="s" blocking="bopt"/>
<goparam variability="gopt" maxfea="mopt" nglsmax="nopt" fsave="fopt"
minmax="mmopt"/>
</rc>
For example,
<?xml version="1.0" ?>
<rc OptType="GO" debug="no">
<Job name="pcomp" mem="2GB" SCR="yes" blocking="3"/>
<goparam variability="uplo" maxfea="100" nglsmax="5" fsave="1"/>
</rc>
where
Option

Description

OptType

OptType="GO" must be used to perform global optimization

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"

Option for scratch. Character = yes (default) or no. Scr=yes is recommended.

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

Indicates the job has user specified GO control parameters (optional)

Variability

Specifies how the global design space is sampled.


=Golden (default) the global design space is sampled at the points determined by
Golden Section Ratios. This parameter is only applicable when the number of design
variables is greater than 2. When NDV <=2, the design space is always sampled at the
lower and upper limits of each design variable.
=Uplo the global design space is evaluated at the lower and upper limits of each design
variable.
Note:

Main Index

User must define proper limits on the DESVAR

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

By default (minmax=0), GO explores global minimum objective. Otherwise,


minmax=1 searches for a global maximum objective.

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

from the best local optimization run.

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

89 MSC Nastran 2016.1 Release Guide


Global Optimization

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.
********************

Table of Design Points

********************

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

Subsequent Local Searches that Produce an Infeasible Solution


This section shows the result from the local search #1. It is actually the second local search if the very initial local
search is included. The statement following the header indicates that design run #7 from the design table is used in this
local search. If a local search produces an infeasible solution, the output section will indicate it accordingly. As shown
here. Basically, the global search procedure simply discards such points and proceeds to another local search based on
the new design run.
************************************************************************************
****
Local Search #
1
****
************************************************************************************
The starting design variables are from run #
7
desvar ID
Label
Starting Value
Final Value
Lower Bound
Upper Bound
---------- --------- -----------------------------------------------1
TPLY
7.5003E+00
2.3414E-02
1.0000E-03
1.0000E+01
2
THETA
-5.2941E-01
-3.6165E-02
-1.0588E+00
1.0588E+00
3
THETA
-7.5000E-01
-6.9144E-02
-1.5000E+00
1.5000E+00
THIS LOCAL SEARCH DOES NOT PRODUCE A UNIQUE LOCAL MINIMUM.
OBJECTIVE
=
3.7419E-02,
MAXIMUM CONSTRAINT VALUE =
8.9975E-03 (AN INFEASIBLE SOLUTION).
THE LOCAL SEARCH USED
21 FE ANALYSES.

Subsequent Local Searches that Produce a Feasible Solution


This section shows the result from the local search #5. The statement following the header indicates that design run #9
from the design table is used in this local search. The starting and final values of three design variables from search
#5are listed under the columns of starting and final value. See the highlighted sentence A FEASIBLE SOLUTION. It

Main Index

91 MSC Nastran 2016.1 Release Guide


Global Optimization

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

THIS LOCAL SEARCH PRODUCE A CURRENT BEST LOCAL MINIMUM


OBJECTIVE
=
3.4214E-02,
MAXIMUM CONSTRAINT VALUE =
2.0041E-03 (A FEASIBLE SOLUTION).
THE LOCAL SEARCH USED
16 FE ANALYSES.

Final Output Section


The final section shows the global solution with the best objective and the maximum constraint value. The user
information message explains how the global search procedure is terminated. In this example case, the job is
terminated when all the design points in the design table are invoked. It also shows the total number of FE analyses
and the number of local searches being used in this job. The history of local minima shown at the end of the section
can be used for an xy-plot to gain the design insight.
0*** USER INFORMATION MESSAGE
RUN TERMINATED DUE TO ALL THE DESIGN POINTS IN THE SAMPLE SPACE ARE INVOKED.
THIS RUN USED
201 FE ANALYSES AND
9 LOCAL SEARCHES.
THE GLOBAL SOLUTION IS: LOCAL OPTIMIZATION RUN #
9
OBJECTIVE
=
3.4214E-02,
MAXIMUM CONSTRAINT VALUE =
2.0041E-03 (A FEASIBLE SOLUTION).
********************

HISTORY OF LOCAL MINIMA

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

Guidelines and Limitations


It is recommended that the associated SOL 200 jobs be run to insure that the models are well posed before launching
GO applications. In addition, here are some ground rules/limitations.
1. It is recommended to use all default values for the first try (SOL200 DOPTPRM default values except
DESMAX, plus GO parameter default values).
2. SCR=yes is recommended since less disk space is required
3. Parallel runs and/or SMP>=2 require more memory. GO may fail due to insufficient memory.
4. The upper- and lower-bounds on design variables (DESVAR) must be defined properly since they are used to
generate sample points. Otherwise, local optimization SOL200 job may fail due to improper sample points.
5. Shape optimization is a challenge for GO since there is a higher chance to have poor mesh due to large shape
changes during a GO search. A good quality of shape vectors and proper upper- and lower-bounds on design
variables are essential for global shape optimization. In addition, (DVGRID) must be defined in the basic
coordinate system.
6. GO does not support TOMVAR, TOPOPT, BEADVAR, and Part Superelement.
7. The folder path cannot contain blank spaces.
8. No design variables are allowed in any include files.
9. Does not support old IFP, supports mode i8 only.
10. To explore more design space, users can use larger NGLSMAX and/or MAXFEA. In addition, users can have
both variability=Golden and UPLO run, or modify design variable limits.
11. It is recommended that you remove old result files in your working directory when starting a new run.
12. Optimization, including Global Optimization is not available with FEA licensing.
13. To support PEM(Poro-Elastic Material), users need to define additional environment variables.
export MSC_ISHELLPATH=install_dir/msc20160/actran/linux64/Actran_16.1.b.92885/bin
export ACTRAN_PATH= install_dir/msc20160/actran/linux64
export ACTRAN_PRODUCTLINE= install_dir /msc20160/actran/linux64/Actran_16.1.b.92885
export ACTRAN_AFFINITY=reset
export ACTRAN_MPI= install_dir /msc20160/actran/linux64/Actran_16.1.b.92885/mpi/intelmpi
For Windows change export to set and linux64 to win64.

Main Index

93 MSC Nastran 2016.1 Release Guide


Global Optimization

Global Optimization Licensing


In the MSC Nastran 2016 Release, the licensing and token draw is given below:

Single Seat License


Multiple Seat License
(same FLexLM server)

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

Multi Model Optimization


Multi Model Optimization (MMO) has been available since the 2010 release of MSC Nastran and you are referred to
the MultiOpt-Global Optimization and Multi Model Optimization (p. 660) in the Design Sensitivity and Optimization
Users Guide for a comprehensive description of this capability. This section provides an overview to reacquaint users
with MMO.
The MMO application starts the processing of the separate design models up to the point where the optimization is to
occur. Then, it merges the design information, performs the optimization and partitions the results. Then the individual
models are resumed in a design loop that is terminated when either convergence is achieved or the maximum design
cycles are reached. A flow chart of this process with two design models is given in the figure below.

Main Index

95 MSC Nastran 2016.1 Release Guide


Multi Model Optimization

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

mygofile.xml (or mymmofile.xml)

MMO XML File Format


The user MMO input xml file (mymmofile.xml) has this format
<?xml version="1.0" ?>
<rc OptTYpe="MMO" debug="yes">
<Job name="deck1" coef="c1" MEM="m1" SMP="n1" SCR="s1" blocking="b1"/>
<Job name="deck2" coef="c2" MEM="m2" SMP="n2" SCR="s2" blocking="b2"/>
. . .
<Job name="deckn" coef="cn" MEM="mn" SMP="nn" SCR="sn" blocking="bn"/>
<Merge MEM="mm" SMP="nm" SCR="sm" />
</rc>
For example,
<?xml version="1.0" ?>
<rc OptTYpe="MMO" debug="yes">
<Job name="pcomp1" coef="1.0" MEM=2GB" SMP="2" SCR="yes" blocking="1"/>
<Job name="pcomp2" coef="1.0" MEM=2GB" SMP="2" SCR="yes" blocking="1"/>
. . .

Main Index

Optimization 96
Multi Model Optimization

<Job name="pcompn" coef="1.0" MEM="2GB" SMP="2" SCR="yes" blocking="1"/>


<Merge MEM="1GB" SMP="2" SCR="yes" />
</rc>
where
Option

Description

OptType

OptType = MMO is used to perform multiple model optimization

Debug

No or yes (default = no). If turn on debug=yes, the program produces


more diagnostic messages

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)

Indicates the subsequent data is a coefficient for this model. c1 is the


coefficient that provides the objective weighting for the first model
(default=1.0). c2, c2n are coefficients that provide the objective
weighting for the rest models (default=0.0)

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

SMP=n1 (n2, nn,


nm)

Indicates the number of processors used to efficiently obtain a solution to


the simulation (default = no use of parallelization on shared memory tasks).

Scr=s1 (s2, , sn, sm) Option for scratch. scr=yes (default) or no. Scr=yes is recommended
Blocking=b1(b2, b3,
.., bn)

Indicates whether that job is to be run in parallel or serially. The default


runs the job in parallel. To run MMO sequentially, set blocking=0 for
each MMO jobs.

Merge

Indicates a solution for the merge job (optional)

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

97 MSC Nastran 2016.1 Release Guide


Multi Model Optimization

6. MMO combined objective function


COEF = Coefficient that provides the objective weighting for the model (default: =1.0 for the first model and
0.0 for subsequent models). This default means the objective comes from the first model only .When you are
optimizing across several models, the overall objective can simply be the objective of the first model or it can
be a linear combination of the objectives from all the models. If the objective is only from the first model, you
set up the objective in this model in the same way as a standalone SOL 200 optimization task and not apply
any coefficients (coef and ci data in the above options) in the xml file. Combining objectives from several
models relies on a DRESP2 in the first model that has to be constructed with some specific rules:
The DRESP2 must have a "DTABLE" with nmod (the number of models) LABLi values. The value

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

mix DRESP2 and DRESP1 responses in the combined objective.


The second through nmod responses in the combined objective of the first model are dummy and will

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

ASSIGN USERFILE='model.CSV', STATUS=NEW, FORM=FORMATTED, UNIT=52


(It is necessary to include a PARAM, XYUNIT, 52 in the Bulk Data file)
The merge optimization history CSV file is called mymmofile_mmo.csv where mymmofile is the basename of the
MultiOpt input XML file.

MMO Test Case


A simple 3 bar truss (page 671, MSC Nastran Design Sensitivity and Optimization User's Guide, 2016) demonstrates
many of the developed features. It is suggested that you review this material for guidance on how to prepare the input
file to create the combined objective function.
Here, a more complex example is used to show MMO applications (myfuselage.xml in ~tpl/multiopt). This example
considers a scenario where there are 14 different models of airframe fuselage with variation in the rib design and
position shown as follows. The aim is to search for an optimum design thickness of fuselage skin that will satisfy the
von Mises stress constraints for all model variations.

Figure 6-1

Fuselage

The first deck named fuselage01 contains the design model as


Case Control DESMOD=F_SUB1
ASSIGN USERFILE='F_SUB1.csv',status=NEW,FORM=FORMATED, UNIT=52
DESVAR 10 defines fuselage skin thickness as a common design variables for all 14 models
DESVAR 30, 50, 70, and 80 define 4 rib thickness as individual design variables
DESOBJ =35 (DRESP1 35) defines the weight as objective for the merged job
DCONSTR entries defines stress constraints for this model.

Param, XYUNIT, 52

Design optimization results are output to a F.SUB1.csv file.


All other13 models have similar design variables (one common for fuselage skin thickness and other 4 individual rib
thickness), objective and constraints.

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

mem="100Mb" scr="yes" />

99 MSC Nastran 2016.1 Release Guide


Multi Model Optimization

<Job name="fuselage02"

mem="100Mb" scr="yes" />

<Job name="fuselage03"

mem="100Mb" scr="yes" />

<Job name="fuselage04"

mem="100Mb" scr="yes" />

<Job name="fuselage05"

mem="100Mb" scr="yes" />

<Job name="fuselage06"

mem="100Mb" scr="yes" />

<Job name="fuselage07"

mem="100Mb" scr="yes" />

<Job name="fuselage08"

mem="100Mb" scr="yes" />

<Job name="fuselage09"

mem="100Mb" scr="yes" />

<Job name="fuselage10"

mem="100Mb" scr="yes" />

<Job name="fuselage11"

mem="100Mb" scr="yes" />

<Job name="fuselage12"

mem="100Mb" scr="yes" />

<Job name="fuselage13"

mem="100Mb" scr="yes" />

<Job name="fuselage14"

mem="100Mb" scr="yes" />

</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

Design Variable vs Design Cycle

Figure 6-3

Design Objective vs Design Cycle

Main Index

101 MSC Nastran 2016.1 Release Guide


Multi Model Optimization

Figure 6-4

Maximum Constraint vs Design Cycle

Guidelines and Limitations


1. Each model must have a unique DESMOD case control entry.
2. Design variables that are to be shared across models must have the same ID.
3. It is an error to have Design Variables in the separate models that share an ID but have different label,
XLB,XUB , XVAL or DDVAL information.
4. Designed properties are assumed to be unique even when they are not. This is because it is almost impossible
to verify that the design properties are actually identical (e.g., a DVPREL1 that has identical input may actually
be referring to a completely different PSHELL entry in terms of its physical meaning.).
5. Support for shape optimization is minimal; each separate model must have the same topology.
6. The feature that allows the user to define an overall objective that is the weighted sum of individual objective
imposes the additional requirement of defining an objective in the first model that represents the desired final
model, but with dummy coefficients and objectives. This is described in the input section above.
7. MMO does not support TOMVAR, TOPOPT, BEADVAR, Part Superelement, and TREGION=1.
8. The folder path cannot contain blank spaces.
9. It is recommended that you remove old result files in your working directory when starting a new run.
10. Optimization, including Multi-model Optimization is not available with FEA licensing.
11. To support PEM(Poro-Elastic Material), users need to define additional environment variables.
export MSC_ISHELLPATH=install_dir/msc20160/actran/linux64/Actran_16.1.b.92885/bin
export ACTRAN_PATH= install_dir /msc20160/actran/linux64
export ACTRAN_PRODUCTLINE= install_dir /msc20160/actran/linux64/Actran_16.1.b.92885
export ACTRAN_AFFINITY=reset
export ACTRAN_MPI= install_dir /msc20160/actran/linux64/Actran_16.1.b.92885/mpi/intelmpi
For Windows change export to set and linux64 to win64.

Main Index

Optimization 102
Multi Model Optimization

Multi-Model Optimization Licensing


In the MSC Nastran 2016 Release, the licensing and token draw is given below assuming there are M models.
Serial

Single Seat License

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

Multiple Seat License


(same FLexLM server)

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:

If there are insufficient licenses available, the job will terminate.

Main Index

103 MSC Nastran 2016.1 Release Guide

Weight as a Function of Material or Property ID

Weight as a Function of Material or Property ID


The MSC Nastran 2014.1 release added a DRESP1 response with RTYPE=WMPID that allowed the weight of a
specified material ID (or material ID and property ID combination) to be used as a response in a design task. This
response was not available for Topology optimization. This restriction is removed in the MSC Nastran 2016 release.
Other restrictions remain:
The property referenced on the ATTI field cannot also be invoked by a TOMVAR entry.
The WMPID response is supported for topology optimization or for shape sizing optimization, but not for both

topology and shape sizing optimization.

Main Index

Optimization 104
Weight as a Function of Material or Property ID

Main Index

Chapter 7: Dynamic Analysis


MSC Nastran 2016.1 Release Guide

Dynamic Analysis

Main Index

Generalized Frequency dependency using MSC Nastran/Digimat


(2016.1)

Generalized Frequency dependency using MSC Nastran/Digimat (2016.1) 106

Generalized Frequency dependency using MSC


Nastran/Digimat (2016.1)
Introduction
A new capability has been added that allows the stiffness properties and the structural damping
coefficient of MSC Nastran materials (MAT1, MAT2, MAT8 or MAT9) to be frequency dependent in the
SOL108 and SOL111 solution sequences. For each frequency in the user frequency spectrum, all
materials in the finite element model must be redefined (and, hence, can be modified) in a dedicated
auxiliary model with a particular identification number.
This new feature is primarily designed to run in conjunction with e-Xstream Digimat module RP. The
latter makes it possible to replace any MSC Nastran material (MAT1, MAT2, MAT8 or MAT9) with a
multi-phase Digimat material (composite material, short fiber reinforced plastic, etc.) showing
anisotropic stiffness and damping properties which can be spatially-varying and frequency-dependent.

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

107 MSC Nastran 2016.1 Release Guide

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

BEGIN AUXMODEL = last


All MATi entries appearing in the bulk data section must be redefined
for the last frequency selected
ENDDATA

Main Index

Generalized Frequency dependency using MSC Nastran/Digimat (2016.1) 108

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

Front beam of a car roof

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

109 MSC Nastran 2016.1 Release Guide

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

the different modelling assumptions;


When accounting for the frequency-dependence of the properties (results shown in red

confronted with the results shown in blue),


The peaks shift to higher frequencies because the apparent stiffness of the material increases

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

Generalized Frequency dependency using MSC Nastran/Digimat (2016.1) 110

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

Magnitude of the acceleration in the z-direction

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.

Digimat RP-MSC Nastran Workflow


When Digimat RP imports the MSC Nastran BDF several operations are performed by Digimat RP.
1. Two sets of materials are created. The first set of materials will contain the stiffness and mass
characteristics, while the second set of materials will contain the damping characteristics. The
materials in the second set are defined as follows:
a. New materials which have: a negligible mass compared to the materials assigned to the
elements initially present in the model

Main Index

111 MSC Nastran 2016.1 Release Guide

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.

Limitations and Guidelines


1. The parameter PARAM, DFRQDEP, YES must occur in the main bulk data section
2. IF PARAM, DFRQDEP, YES is specified in any other solution sequence than SOL 108 or SOL
111 a user fatal message will occur.
3. The user is referred to the documentation of Digimat-RP to know how to use it in conjunction with
this new MSC Nastran feature.
4. The following further restrictions apply:
a. All Subcases must select the same frequency bulk data entry.
b. Only NEWIFP is supported and therefore SYSTEM (444) =0 is not allowed.
c. PARAM ALPHA2 is not allowed.
d. PARAM SDMAP in SOL108 is not allowed.
e. Axisymmetric harmonic elements are not allowed.
f. K2PP, M2PP, B2PP, K2GG, M2GG, B2GG, P2G matrices are not allowed.
g. In the presence of enforced motion boundary conditions, SPCFORCES and MPCFORCES
control case commands are not allowed as these forces do not account for frequency
dependent materials and is a pre-existing limitation.
h. Restart analyses are not allowed.
i. Rigid elements and MPC relations on frequency dependent grids may lead to incorrect results
and therefore should not be used.
5. The user has the option to use this feature without the Digimat-RP module by generating their own
frequency dependent materials. If this is done the following requirements must be followed:

Main Index

Generalized Frequency dependency using MSC Nastran/Digimat (2016.1) 112

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

7. Expanding Nastran MASTER File size


a. When running large models with many frequency dependent PCOMPS (say 150,000) the
MASTER file can become large and a fatal message issued:
*** USER FATAL MESSAGE 102 (GALLOC)
DBSET MASTER IS FULL AND NEEDS TO BE EXPANDED
If this occurs, simply expand the MASTER file in the standard way. For example in the file
management section above case control add a statement such as
INIT MASTER LOGI = (MASTER (90GB))

Main Index

Chapter 8: High Performance Computing


MSC Nastran 2016.1 Release Guide

Main Index

High Performance Computing

New ACMS with Better SMP Scalability

NLEMG with SMP Parallelization

Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200

Parallel Processing Licensing

New ACMS with Better SMP Scalability 114

New ACMS with Better SMP Scalability


Finding the eigenmodes of a structural mechanical system is fundamental to much of MSC Nastran. It is used in SOL
111 to create and solve the modal frequency response problem or in SOL 112 to create and solve the modal transient
response problem in addition to many other solution sequences like SOL 103, 110, and 200. Users of MSC Nastran
have relied on two approaches in the past for finding the eigenmodes - the Lanczos method and the Automated
Component Modal Reduction (ACMS) method (or its variants). The ACMS method is an approximate method that
for large problems can be orders of magnitude faster than the Lanczos method. The ACMS method in MSC Nastran
has historically obtained parallelism from a combination of distributed memory processing (DMP) and shared memory
processing (SMP). In MSC Nastran 2016.0, we are providing a new implementation of the traditional ACMS method
in order to have much greater parallel scalability using only SMP. Focusing strictly on the eigenmode problem, we
have observed a 40% parallel efficiency at SMP=16 for certain models whereas previously SMP=16 could at best
provide a 20% parallel efficiency. As an additional upgrade to the method, we have also enabled ACMS in SOL 400
for use in linear analysis or perturbation analysis.

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

Job start thru MDACMS


begin

IFP, EMG, EMA, MCE,


etc.

(no change)

ACMS Phase 1

Component modal reduction


to automated Q-set

SubDMAP MDACMS

ACMS1 module

ACMS Phase 2

Global eigenvalue
computation

SubDMAP INVLAN

(no change)

SubDMAP MDQRCVR

ACMS1VR module

ACMS Eigenvector recovery Recovery of A-set


eigenvectors

Main Index

115 MSC Nastran 2016.1 Release Guide


New ACMS with Better SMP Scalability

Phase

Description

DMAP ACMS
implementation

New ACMS
implementation

ACMS Phase 3

Matrix and vector reduction


(K4, Loads, etc.)

SubDMAPs
MDHHRED and
MDHRED

MDHHREDX and
MDHREDX modules

Frequency Response

Modal frequency response


calculations

FRRD1 modujle

(no change)

Other

SDR, etc.

SDR1, SDR2, 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

New ACMS with Better SMP Scalability 116

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

117 MSC Nastran 2016.1 Release Guide


New ACMS with Better SMP Scalability

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

New ACMS with Better SMP Scalability 118

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

the following properties:


Frequency dependent elements and properties
Nonsymmetric dynamic input
Weakly coupled exterior-interior acoustic analysis (ACOWEAK)
Nonuniform structural damping

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

119 MSC Nastran 2016.1 Release Guide


New ACMS with Better SMP Scalability

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)

MAX STACK 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

New ACMS with Better SMP Scalability 120

MAXIMUM DYNAMIC MEMORY USED = XXXXX MB


MAXIMUM STACK MEMORY USED
= XXXXX MB
User Information Message 11701 shows the number of substructure modes (also known as the Q-set).
*** USER INFORMATION MESSAGE 11701 (SUBDMAP MDACMSX)
NUMBER OF SUBSTRUCTURE MODES = XXXXX.

Test Cases
Test cases were run on a Linux cluster comprised of nodes described below:
OS:
Model:
Nsocket:
Ncore:
Cache:
Ram:
Disk:

Red Hat Enterprise Linux Server release 7.1 (Maipo)


Intel(R) Xeon(R) CPU E5-2660 v3 @ 2.60GHz ( Haswell )
2
20 ( 2 X 10 )
25600 KB
256 Gb
2 X 1 Tb disk on software RAID 0

CASE 1: Automotive power train normal modes analysis (SOL 103)


Number of DOF

17.2 million

Number of grid points

2.9 million

Number of 2D elements

32,000

Number of 3D elements

1.5 million

Number of rigid elements

1,900

Number of modes

450

Main Index

121 MSC Nastran 2016.1 Release Guide


New ACMS with Better SMP Scalability

CASE 2: Automotive interior acoustic analysis (SOL 111)


Number of DOF

11.6 million

Number of grid points

1.9 million

Number of 2D elements

1.1 million

Number of 3D elements

367,000

Number of rigid elements

85,000

Number of structure modes

5,700

Number of fluid modes

120

Number of load cases

132

Number of forcing freq

450

Main Index

New ACMS with Better SMP Scalability 122

CASE 3: Large automotive interior acoustic analysis (SOL 111)


Number of DOF

32.7 million

Number of grid points

5.6 million

Number of 2D elements

3.8 million

Number of 3D elements

2.5 million

Number of rigid elements

162,000

Number of structure modes

12,700

Number of fluid modes

1,600

Number of load cases

Number of forcing freq

500

Main Index

123 MSC Nastran 2016.1 Release Guide


New ACMS with Better SMP Scalability

Main Index

NLEMG with SMP Parallelization 124

NLEMG with SMP Parallelization


MSC Nastran SOL 400 performance depends on the performance of its two main components: the sparse direct solver,
which is used for solving the linearized part of the nonlinear problem, and the NLEMG module, which is used to
produce the element stiffness matrices and to do stress recovery. For most models, the wall-clock time spent in the
solver and the NLEMG module is comparable. Together, they can consume 80-90% of the simulation time. The wallclock time can be reduced by taking advantage of parallelism on today's multi-core computing systems. In the 2014
release, a new sparse direct solver was added to MSC Nastran for SOL 400 that showed improved SMP scalability
over the existing sparse direct solver. Now, in the 2016 release, we have added SMP parallelism to the NLEMG
module as well to further improve the overall performance of MSC Nastran for SOL 400.

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

In SOL 400, it is recommended to use CQUAD4 and CTRIA with PSHLN1.

Main Index

125 MSC Nastran 2016.1 Release Guide


NLEMG with SMP Parallelization

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

Comparison of Parallel Performance of Mixed-Element Model

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

NLEMG with SMP Parallelization 126

CASE 2: Shell-Element Model Scalability


Number of DOF

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

Total Time and NLEMG Time based upon Number of Cores

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

127 MSC Nastran 2016.1 Release Guide


NLEMG with SMP Parallelization

CASE 3: Solid-Element Model Scalability


Number of DOF

4.4 Million

Number of 2D elements

124,408

Number of 3D elements

420,024

Number of subcases

Number of increments

Figure 8-5

Total Time and NLEMG Time based upon Number of Cores

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

Parallel Performance of NLEMG for Solid Element Model

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

129 MSC Nastran 2016.1 Release Guide

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

Number of grid points

2,456,555

Number of 2D elements

92,820

Number of 3D elements

1,458,800

Figure 8-7

Normalized Total Elapsed Time of SOL 101 Engine Block Model

For SOL 101, the overall time is dominated by the matrix solution process thus yielding the excellent scalability.

Main Index

131 MSC Nastran 2016.1 Release Guide

Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200

CASE 2: SOL 107 Shell Element Model


Number of DOF

2.2 Million

Number of grid points

2,045,506

Number of 2D elements

2,040,496

Number of 3D elements

100

Figure 8-8

Normalized Total Elapsed Time of SOL 107 Shell Element Model

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

CASE 3: SOL 107 Axisymmetric Rotors Model


Number of DOF

5.8 Million

Number of grid points

958,943

Number of 2D elements

952,658

Figure 8-9

Main Index

Normalized Total Elapsed Time for SOL 107 Axisymmetric Rotor Model

133 MSC Nastran 2016.1 Release Guide

Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200

CASE 4: SOL 108 Shell Element Model


Number of DOF

8.3 Million

Number of grid points

1,377,801

Number of 2D elements

1,376,256

Figure 8-10

Main Index

Normalized Total Elapsed Time for SOL 108 Shell Model

Intel MKL Pardiso for SOL 101, 107, 108, 111, and 200 134

CASE 5: SOL 111 with ACOWEAK


Number of DOF

0.12 Million

Number of grid points

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

135 MSC Nastran 2016.1 Release Guide


Parallel Processing Licensing

Parallel Processing Licensing


MSC Nastran 2016 introduces a new licensing method based upon the actual number of CPU cores being used in the
simulation. This feature is labeled NA_Parallel This replaces the SMP and DMP license features that were labeled
NA_SMP and NA_DMP. This licensing method is applicable to all capabilities activated using the DOMAINSOLVER
option, or the use of SMP= or DMP= including all the new capabilities discussed earlier in this chapter.
These licenses are offered in bundles, contact your account manager for details.
MSC Nastran Desktop only provides licensing to 4 cores.
FEA does not allow any parallel processing.
ACMS is activated using the NA_ACMS feature which is licensed separately.

Main Index

Chapter 9: Implicit Analysis (SOL 600)


MSC Nastran 2016.1 Release Guide

Main Index

Implicit Analysis (SOL 600)

SOL 600 Upgrade

137

Known Incompatibility with Previous Versions of MSC Nastran

140

137 MSC Nastran 2016.1 Release Guide


SOL 600 Upgrade

SOL 600 Upgrade


In the MSC Nastran 2016, the version of Marc that is embedded in SOL 600 has been updated to the Marc 2014.2
release. This means that the technology in SOL 400 and SOL 600 are consistent. The interface in SOL 600 for
transferring data from MSC Nastran to Marc and for postprocessing has not been changed. Hence, while a large amount
of new capabilities are available they are not directly exposed. One will benefit from the improved reliability of the
Marc 2014.2 version over the Marc 2010 version which was the basis of previous SOL 600 releases.
An existing input file MSC Nastran bulk data file will continue to work with the new release. The one exception
involves the 3-D 8-node composite brick element and is discussed below.
SOL 600 provides solutions to fundamental problems in nonlinear analysis including material nonlinearity, geometric
nonlinearity, and contact. SOL 400 and SOL 600 now have virtually the same capabilities for material nonlinear
problems for small and moderate strain levels. As SOL 400 has matured, it may be preferable unless advanced
materials, user subroutines, large strain, or Multiphysics is required. In that case, it is often useful to use SOL 600 as
a mechanism to generate a Marc input file.

Workflow for Advanced Analysis


The typical work flow would be:
1. Execute MSC Nastran SOL 600.
2. Write out Marc input file, using STOP=2.
3. Read Marc input file jid.marc.dat into Mentat.
4. Run Marc directly from Mentat or from the command line.
5. Postprocess the post file t16 or t19 with Mentat or Patran.

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

SOL 600 Upgrade 138

Low tension cracking models


Bonora Metal Continuum Damage Model
Mixture model
Strain Invariant Failure Theory
Frequency Dependent Damping (with and without Payne effect)
Grain size

Note that SOL 400 directly supports e-Xstream Digimat material library.

Large Displacement/Large Strain Analysis


The base technology in SOL 400 and SOL 600 are identical but for very large strain using SOL 600, one has the
possibility to utilize the Marc Local Adaptive and Global Adaptive meshing capability to improve the mesh during the
simulation. This is often important because large strains result in high distortion of the elements which may result in
either loss of accuracy, poor convergence, or an element turning inside out. The last is a fatal error in SOL 400. One
can either manually add the additional options into the SOL 600 input file, or utilize the work flow described above
and activate the capabilities within Mentat. The large strain often occurs when using rubber or foam materials or when
performing manufacturing simulation.
SOL 600 can also be used in post-buckling simulation which may not be achievable with SOL 400.

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

139 MSC Nastran 2016.1 Release Guide


SOL 600 Upgrade

This is summarized as
SOL 400

SOL 600

Effective Domain Decomposition

No

Yes

Element SMP Assembly and Stress Recovery

Yes (Note 1)

Yes (Note 2)

SMP Solver

Yes (Note 1)

Yes

Parallel Eigenvalue (ACMS)

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

Known Incompatibility with Previous Versions of MSC Nastran 140

Known Incompatibility with Previous Versions of


MSC Nastran
The 3-D 8-node composite brick element has changed between the Marc 2010 and Marc 2016 release. In particular the
orientation of the layers must now be specified. In the previous release, this was not necessary as the layers could only
go in one direction. Based upon the translating of the MSC Nastran input file into a Marc input file, when using this
capability one will obtain a Marc Exit 13, and no results will be produced.
This capability may have been triggered in SOL 600 by using either:
MRALIAS, 007149
or both PCOMP and PSOLID having the same PID referenced by a CHEXA.
The work around is to edit the Marc input file created jid.marc.dat, and for the composite brick elements, change the
GEOMETRY option so the third field of the third line is equal to 1.0. This will produce the same results as before.

Main Index

Chapter 10: Explicit Analysis (SOL 700)

10

Main Index

MSC Nastran 2016.1 Release Guide

Explicit Analysis (SOL 700)

New Materials and Equation of States

Adaptive Solid Elements to SPH Transform (SOL2SPH)

Enhanced Dynamic Relaxation and Body Forces

Reinforcement Inside of Solid Elements

Miscellaneous Update

New Materials and Equation of States 142

New Materials and Equation of States


Three new materials and one new equation of states have been added in the MSC Nastran 2016 release.

Unified Creep Model (MATD115)


This is 3-parameter time dependent visco-elastic creep material model. The effective strain considers time effect using
three parameter. Please check the theoretical background of MATD115 (p. 2533) in the MSC Nastran Quick Reference
Guide.
Benefit
Creep capability in nonlinear explicit analysis
Limitations
Available for the Lagrangian elements
Solid, thin shell, thick shell and SPH elements can use the material

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

Dumbbell Specimen Subjected to Static Loading

143 MSC Nastran 2016.1 Release Guide


New Materials and Equation of States

Figure 10-2

Displacement at the Middle of the Specimen

Thermo Elasto-viscous Plastic Creep Model (MATD188)


In this model, creep is described separately from plasticity using Garafalo's steady-state hyperbolic sine creep law or
Norton's power law. Viscous effects of plastic strain rate are considered using the Cowper-Symonds model. Young's
modulus, Poisson's ratio, thermal expansion coefficient, yield stress, material parameters of Cowper-Symonds model
as well as the isotropic and kinematic hardening parameters are all assumed to be temperature dependent. The
application of this include: simulation of solder joints in electronic packaging, modeling of tube brazing process, creep
age forming, etc. Please see MATD188 (p. 2645) in the MSC Nastran Quick Reference Guide.
Benefit
Creep capability in nonlinear explicit analysis
Limitations
Available for the Lagrangian elements
Solid, thin and thick shell elements can use the material

RHT model (MATD272)


Riedel-Hiermaier-Thoma model has the following capabilities associated with brittle material such as concrete.
Pressure hardening
Strain hardening

Main Index

New Materials and Equation of States 144

Strain rate hardening


Third invariant dependence for compressive and tensile meridians
Damage effects (strain softening)
Crack-Softening.

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

Mie-Gruneisen Equation of State Model (EOSMG2)


Mie-Gruneisen Equation of state form with a polynomial Hugoniot curve and a p compaction model. Please see
EOSMG2 (p. 2005) in the MSC Nastran Quick Reference Guide.
Benefit
Concrete model subjected to impulsive loading in nonlinear explicit analysis
p compaction relationship can be used in the concrete material model

Limitations
Available for the Lagrangian elements

Main Index

145 MSC Nastran 2016.1 Release Guide

Adaptive Solid Elements to SPH Transform (SOL2SPH)

Adaptive Solid Elements to SPH Transform (SOL2SPH)


When material starts to fail, the elements may not have enough stiffness and they might deform severely, and the
simulation becomes unstable. To prevent the elements from Hourglassing too much, severely damaged elements are
commonly eliminated from the simulation. So it is not easy to simulate the debris and take care of the effect of the
debris after the elements fails.
The capability of adaptively transforming from solid elements to SPH particles helps users simulate the debris effect.
After failure of solid elements, the solid elements will be eliminated from the simulation and they will be replaced by
SPH particles. The SPH particles will inherit all of the state variables of the failed solid elements, e.g. mass, kinematic
variables, and constitutive properties.
Benefit
Without hourglassing, the effect of debris can be modeled.
Limitations
Available for the Lagrangian solid elements
Users must define the material properties for both solid and SPH properties
Up to 8 SPH particles replace the failed solid elements

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)

Adaptive Solid Elements to SPH Transform (SOL2SPH) 146

Figure 10-4

Main Index

Cantilever Beam After Deformed (Failed Solid Elements are Replaced by SPH Particles)

147 MSC Nastran 2016.1 Release Guide

Enhanced Dynamic Relaxation and Body Forces

Enhanced Dynamic Relaxation and Body Forces


Three new options are added for the dynamic relaxation and body forces.

Dynamic Relaxation on Body Forces (BDYRELX)


Previously dynamic relaxation is only available for the static enforced motion or loading condition. However the
dynamic relaxation capability is also required for the bodies subjected to the static body forces such as gravity,
rotational velocity, etc. (GRAV, RFORCE and BDYFORC). The new BDYRELX entry can apply the dynamic
relaxation for the static body forces. One defines the relaxation as a function of time via TABLED1.
Benefit
Static body forces can be used without having to slowly increase them.
Since the effect of body forces can be applied as an initial condition, other initial conditions such as initial

velocity can be applied at the start of the simulation.


Limitations
Available for the Lagrangian elements

Dynamic Relaxation Output Request (DYPARAM, LSDYNA, BINARY,


D3DRLF)
During the dynamic relaxation phase, the simulation does not often give the correct answer. Using jobname.dytr.d3drlf
files, users can check what happens during the dynamic relaxation phase.
Benefit
Users can check the intermediate dynamic relaxation results.
Limitations
Available for Lagrangian elements only

Various Body Forces on Different Bodies (BDYFORC)


Generally, body forces are identical for the whole model. However, sometimes different body forces need to be applied
on different bodies. The new BDYFORC entry can assign different rotational body forces on different bodies.
Translational acceleration
Rotational velocity or acceleration
Three different types of angular motion
Body force from centrifugal acceleration
Body force from Coriolis-type acceleration,
Body force from rotational acceleration
Main Index

Enhanced Dynamic Relaxation and Body Forces 148

Benefit
Users can apply different body forces on different bodies
Limitations
Available for Lagrangian elements only

Example of Enhanced Dynamic Relaxation and Body Forces


In Figure 10-5, two tires are rotating with different angular velocities which are assigned by BDYFORC. The frictions
are applied between the road and tires and the static loadings are applied at the center of the wheel. The gravity is also
applied to both tires and different initial translational velocities depending on the rotational velocities that are also
added to both tires. Because all loadings are applied at the start of simulation, dynamic relaxation (DYRELAX and
BDYRELX) is applied to reduce the initial oscillation.
The results in Figure 10-6 show the stresses are not oscillating too much at various times.

Figure 10-5

Main Index

Rotation of Two Tires with Different Rotational Speed

149 MSC Nastran 2016.1 Release Guide

Enhanced Dynamic Relaxation and Body Forces

Figure 10-6

Main Index

Stress Contour Results at Time = 0.0, 0.5, 1.0 and 2.0

Reinforcement Inside of Solid Elements 150

Reinforcement Inside of Solid Elements


A new capability exists that allows one to embed an element within another element. In SOL 700, this has been
designed for the insertion of rebar elements into concrete, but it has other applications as well. The LAGINSOL option
in the METHOD field in BCONPRG/BCTABLE is added for the simulation of reinforcements inside of another
element. Beam, shell, and solid elements can be used to model the steel reinforcements on the inside of solid elements.
Benefit
The concrete including reinforcing bars can be simulated.
Limitations
Available for the Lagrangian elements only.
The capability is only available between beam, shell and solid elements inside of solid elements.
Nodes of internal elements must not equivalent to nodes of solid elements.

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

Undeformed Cantilevers Showing Reinforcement in One of Them

151 MSC Nastran 2016.1 Release Guide


Reinforcement Inside of Solid Elements

Figure 10-8

Main Index

Deformed Cantilevers Showing Reinforcement in One of Them

Miscellaneous Update 152

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

153 MSC Nastran 2016.1 Release Guide


Miscellaneous Update

Figure 10-9

Model of Initial Force on Bolt

Figure 10-10

Results of Initial Axial Forces on Bolt

Main Index

Chapter 11: User Interface


MSC Nastran 2016.1 Release Guide

11

Main Index

User Interface

HDF5 Result Database (NH5RDB)

155

F06Reader Utility

Solid Elements Coordinate System Enhancement

193
200

155 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

HDF5 Result Database (NH5RDB)


In this release, a new MSC Nastran database in Hierarchical Data Format (HDF5) is supported. HDF5 is a data model
for storing storing and managing data. The database organizes MSC Nastran input and output data in a hierarchical
structure. MSC Nastran data is stored as dataset in database and can be accessed through standard HDF5 APIs or third
party packages in multiple languages. The main features of NH5RDB include:
1. A data type schema in XML for database structure and datasets formats.
2. All major MSC Nastran input and output data blocks are supported.
3. Support for multiple MSC Nastran solution sequences.
4. Optional output by MDLPRM parameter.
5. Python module with utility functions for data manipulation.
6. Version control of data blocks.
For more information on HDF5, see HDF5 Software Documentation.

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

User Interface 156


HDF5 Result Database (NH5RDB)

</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

NH5RDB Data Categories


Category

Description

Input:

Case control and parameters

Case control option and parameter values

Constraint

Constraint entries like SPC and MPC

Contact

Contact entry like BSURF

Coordinate system

Coordinate system entry like CORD1C

Main Index

157 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

Table 11-1

NH5RDB Data Categories (continued)


Category

Description

Design optimization

Design optimization entry like BEADVAR

Element

Element entries like CHEXA and CQUAD4

Load

Load entries like FORCE and PLOAD4

Material

Materials like MAT1, MAT2 and MAT8

Matrix

Direct matrix input like CONM1

Node

Node entries like GRID and SPOINT

Partition

Define set or list like SET1

Property

Property like PSHELL and PSOLID

Table

Table values in TABLEM1 and TABLEM2

Output:

Acoustic output

Acoustic power, participation factor, etc.

Contact output

Contact force and stress output

Elemental output

Stress, strain, element force, etc.

Fatigue output

Fatigue analysis output

Nodal output

Displacement, velocity, acceleration, etc.

Optimization data

Objective function, constraint, history values, etc.

Special nonlinear format data

NLOUT format data

3. MSC Nastran solution support


In MSC Nastran 2016.0, the solution sequences supported are given in Table 11-2 . The intention is to add additional
key solution sequences in subsequent releases.
Table 11-2

NH5RDB Supported Solutions

Solution Number

Description

101

Statics

103

Normal modes

105

Buckling

107, 110

Complex eigenvalues

108, 111

Frequency response

109, 112

Transient response

Main Index

User Interface 158


HDF5 Result Database (NH5RDB)

Table 11-2

NH5RDB Supported Solutions (continued)

Solution Number

Description

200

Design Optimization

400

Nonlinear analysis

4. NH5RDB optional output by MDLPRM and system cell


The NH5RDB is an optional output. By default, the database will not be generated by MSC Nastran. A new parameter
HDF5 is added in MDLPRM for NH5RDB generation. In BULK data section, setting HDF5 parameter to one in
MDLPRM will ask MSC Nastran to create the database.
Table 11-3

The HDF5 parameter in MDLPRM

Parameter Name

Description, Type, and Default Values

Parameter to create NH5RDB database

HDF5

Create NH5RDB with compression

Create NH5RDB without compression

-1 Do not create NH5RDB(default)


The usage of HDF5 paremeter of MDLPRM in input file is shown as the following:
BEGIN BULK
MDLPRM,HDF5,1

As an alternative way, the system cell 702 can be used for NHRDB generation.
Table 11-4

System cell for NH5RDB

System Cell Name


(Number)
HDF5 (702)

Function and Reference

Control NH5RDB database creation


1

Create NH5RDB database

Do not create NH5RDB database (Default)

The NH5RDB request can be given in command line as the following:


nastran example.dat sys702=1

5. The NH5RDB DMAP modules


There are two DMAP modules to write MSC Nastran input and output data into database for advanced users. The
descriptions of the CRDB_IN and CRDB_OUT modules are as the following:

Main Index

159 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

CRDB_IN

Write IFP data blocks into the NH5RDB database

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/ $

Input Data Blocks:

DBi

Input data blocks, see remark 1 for supported data blocks.

Parameters:

NDDLNAMi

Char8, default=blank

NDDL data block name corresponding to DBi

SEID

Integer, default=0

Super element id of the data block

AFPMID

Integer, default=0

Acoustic field point mesh id

TRIMID

Trim id, default=0

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

User Interface 160


HDF5 Result Database (NH5RDB)

CRDB_OUT Write OFP data blocks into the NH5RDB database


Write OFP data blocks in an HDF5 format database. A maximum of five data blocks can be passed in one call.
Format:

CRDB_OUT

DB1,DB2,DB3,DB4,DB5//
NDDLNAM1/NDDLNAM2/NDDLNAM3/NDDLNAM4/NDDLNAM5/
SEID/AFPMID/TRIMID/DESCYCLE/$

Input Data Blocks:

DBi

OFP data blocks, see remark 1 for supported data blocks.

Parameters:

NDDLNAMi

Char8, default=blank

NDDL data block name corresponding to DBi

SEID

Integer, default=0

Super element id of the data block

AFPMID

Integer, default=0

Acoustic field point mesh id

TRIMID

Trim id, default=0

Trim component id

DESCYCLE

Integer, default=0

Design cycle number in design optimization

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

161 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

Test model file: test.dat


SOL 101
TIME 5
CEND
DISP = ALL
STRESS = ALL
FORCE = ALL
SPC = 1
SUBCASE 1
LOAD = 1
BEGIN BULK
MDLPRM,HDF5,1
GRID,1,,10.
GRID,2,,8.
GRID,3,,6.
GRID,4,,4.
GRID,5,,2.
GRID,6
CBAR,1,1,1,2,,1.
CBAR,2,1,2,3,,1.
CBAR,3,1,3,4,,1.
CBAR,4,1,4,5,,1.
CBAR,5,1,5,6,,1.
PBAR,1,1,4.,1.3333,1.3333,2.2496,,,PBAR1
+BAR1,1.,1.,1.,-1.,-1.,1.,-1.,-1.
MAT1,1,30.E06,,.3
SPC,1,6,123456,0.
FORCE,1,1,,4000.,,-1.
FORCE,1,1,,4000.,-1.
ENDDATA

Main Index

User Interface 162


HDF5 Result Database (NH5RDB)

NH5RDB database file: test.h5

Reference
MSC Nastran Quick Reference Guide
DMAP Programmers Guide
HDF5 Software Documentation

Main Index

163 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

NH5RDB Data Access


The NH5RDB is a Hierarchical Data Format (HDF5) database; it organizes and stores data in groups and datasets. For
MSC Nastran data, the groups and datasets are defined in a schema file. The NH5RDB structure and data objects will
be created from these data definitions in the schema. This document shows how to access data in NH5RDB by the
examples using Python and C languages.
Data Schema
The data schema is an XML file. It has elements to define file structure and storing data format in NH5RDB. Like
folders in a file system, the <group> element specifies which group the underlying datasets belong to. The <dataset>
element defines its storing data format and the <field> element defines each field properties. Below is a snippet of data
schema that defines GRID input entry, nodal displacement and HEXA element stress output. A special note is for
DOMAINS dataset and DOMAIN_ID field in input and output data. NH5RDB will store same type data in one dataset,
for example, all displacement data will be put in the DISPLACEMENT dataset, no matter from which sub case and
time step the displacement is. To distinguish data from different cases, the domain concept is introduced. The
DOMAINS dataset consists of fields like ID, SUBCASE, STEP, etc. The ID field gives a unique number of the domain.
The combination of all other fields makes one domain entry, which indicates the source of data. Correspondingly, a
DOMAIN_ID field is attached to input and output data. This DOMAIN_ID is the ID number in DOMAINS dataset.
From the DOMAIN_ID, the data source information can be obtained. Example below shows how to relate data with
domains.
<?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"/>
</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>

Main Index

User Interface 164


HDF5 Result Database (NH5RDB)

<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

165 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

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

Dataset Domain Index


As explained above about DOMAIN_ID, NH5RDB associates all data with domain ID and put the same type of data
in one dataset. Therefore, a dataset may have data with multiple domain IDs. For a large dataset, one common
operation is to access partial data from interested domain. To improve data retrieval efficiency, NH5RDB will generate
domain ID index for corresponding output datasets. Under the root, an INDEX group will be created for domain index
datasets. Corresponding to each output dataset, a domain index dataset with the same group and dataset name will be
generated in the INDEX group. For example, the nodal displacement dataset is located at
/NASTRAN/RESULT/NODAL/DISPLACEMENT in NH5RDB, its domain index dataset will be created as
/INDEX/NASTRAN/RESULT/NODAL/DISPLACEMENT. All the index datasets have the same format with three
fields DOMAIN_ID, POSITION and LENGTH. The DOMAIN_ID is the domain ID number, the POSITION is the
domain ID start position in corresponding output dataset, and the LENGTH is the number of rows for the domain ID.
From the start position and number of rows, the data for the domain ID can be located and accessed.

Main Index

User Interface 166


HDF5 Result Database (NH5RDB)

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

Domain Index Dataset

167 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

Database Access Examples


The HDF5 is platform independent and provides multiple programming language APIs for data operations. The
examples here are given in Python and C\C++ and Java to show dataset access operations.
The Python examples uses PyTable package for HDF5 file. The PyTable and NumPy packages are required to be
installed with Python. The examples show how easy it is to access datasets in NH5RDB.
Requirements of C and C++ Examples
To build and run C and C++ examples, HDF5 library and a C++ compiler is required. All the examples below are built
with Visual C++ 2013 on Windows and Intel C++ 2015 and HDF5 livrary 1.8.14 or 1.8.15-patch1, a later version of
the C++ compiles and HDF5 library should also work.
Example 1: Read nodal displacements

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 1: Read Nodal Displacement in Python

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

User Interface 168


HDF5 Result Database (NH5RDB)

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

Example 2: Extract Displacement and Convert to CSV Format

169 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

Figure 11-6

Time Step and Displacement Data

Figure 11-7

Converted CSV Data

Main Index

User Interface 170


HDF5 Result Database (NH5RDB)

Example 3: Extract time history of nodal translation displacements

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

171 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

# -- 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

Extract Nodal Displacement at all Time Steps

Figure 11-9

Nodal Displacement at Time Steps

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

User Interface 172


HDF5 Result Database (NH5RDB)

#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

173 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

}
free(p);
}
}
}
// close file
H5Fclose(fid);
}
}

Figure 11-10

Read and Print Nodal Displacements

Example 5: Read records (rows) of nodal displacements

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

User Interface 174


HDF5 Result Database (NH5RDB)

hsize_t nField, nRecord;


// get field and record number
if (H5TBget_table_info(fid, table, &nField, &nRecord) >= 0) {
if (nRecord > 0) {
// set record number to 10
if (nRecord > 10) {
nRecord = 10;
}
// allocate buffer
Type* p = (Type*) malloc(ts * nRecord);
if (p) {
// read the first 10 records
if (H5TBread_records(fid, table, 0, nRecord, 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]);
}
}
free(p);
}
}
}
// close file
H5Fclose(fid);
}
}

Figure 11-11

Read Nodal Displacement Records

Example 6: Read dataset fields (columns) of HEXA element stress by name

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

//
//
//
//
//
//

Element identification number


Stress Coordinate System
Coordinate System Type (BCD)
Number of Active Points
Number of active grids or corner grid ID
Normal X

175 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

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

User Interface 176


HDF5 Result Database (NH5RDB)

if (H5TBget_table_info(fid, table, &nField, &nRecord) >= 0) {


if (nRecord > 0) {
Type* p = (Type*) malloc(ts * nRecord);
if (p) {
// read fields by name
if (H5TBread_fields_name(fid, table, name, 0, nRecord, ts,
offset, size, p) >= 0){
for (size_t i = 0; i < nRecord; i++) {
printf("EID %d : DOMAIN %d\n", p[i].EID, p[i].DOMAIN_ID);
for (int j = 0; j < 9; j++) {
printf("\t%e, %e, %e\n", p[i].X[j], p[i].Y[j], p[i].Z[j]);
}
}
}
free(p);
}
}
}
H5Fclose(fid);
}
}

Figure 11-12

Read HEXA Element Stress Data by Field Name

Example 7: Read data fields (columns) of HEXA element stress by index

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

177 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

// 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 index of HEXA stress to read
int index[] ={0, 5, 6, 7, 8, 9, 10, 11};
int num = sizeof(index) / sizeof(int);
hid_t fid = H5Fopen("test.h5", H5F_ACC_RDONLY, H5P_DEFAULT);
if (fid >= 0) {
hsize_t nField, nRecord;
if (H5TBget_table_info(fid, table, &nField, &nRecord) >= 0) {
if (nRecord > 0) {
Type* p = (Type*) malloc(ts * nRecord);
if (p) {
// read fields by index
if (H5TBread_fields_index(fid, table, num, index, 0, nRecord, ts,
offset, size, p) >= 0){
for (size_t i = 0; i < nRecord; i++) {

Main Index

User Interface 178


HDF5 Result Database (NH5RDB)

printf("EID %d : DOMAIN %d\n", p[i].EID, p[i].DOMAIN_ID);


for (int j = 0; j < 9; j++) {
printf("\t%e, %e, %e\n", p[i].X[j], p[i].Y[j], p[i].Z[j]);
}
}
}
free(p);
}
}
}
H5Fclose(fid);
}
}
Figure 11-13

Read HEXA Element Stress Data by Field Index

Example 8: Write displacement, HEXA element stress and domain datasets

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

179 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

GRID = Int64Col(shape = 9, pos = 4)


X = Float64Col(shape = 9, pos = 5)
Y = Float64Col(shape = 9, pos = 6)
Z = Float64Col(shape = 9, pos = 7)
TXY = Float64Col(shape = 9, pos = 8)
TYZ = Float64Col(shape = 9, pos = 9)
TZX = Float64Col(shape = 9, pos = 10)
DOMAIN_ID = Int64Col(pos = 11)
# Open file
h5 = open_file('test.h5', mode = 'w')
# Create domain table
domain = h5.create_table('/NASTRAN/RESULT', 'DOMAINS',
DOMAINS, createparents = True)
# Set domain values
row = domain.row
for i in xrange(1, 2):
row['ID'] = i
row['SUBCASE'] = 1
row['STEP'] = 0
row['ANALYSIS'] = 1
row['TIME_FREQ_EIGR'] = 0
row['EIGI'] = 0
row['MODE'] = 0
row['RANDOM'] = 0
row['DESIGN_CYCLE'] = 0
row['SE'] = 0
row['AFPM'] = 0
row['TRMC'] = 0
row['INSTANCE'] = 0
row['MODULE'] = 0
row.append()
domain.flush() # Flush table to file
# Create displacement table
displacement = h5.create_table('/NASTRAN/RESULT/NODAL',
'DISPLACEMENT', DISPLACEMENT, createparents = True)
# Populate displacement, the values are for example only.
row = displacement.row
for i in xrange(1, 10):
row['ID'] = i
# grid id
row['VALUE'] = array(i * arange(6)) # 3 translation + 3 rotation
row['DOMAIN_ID'] = 1
# domain id
row.append()
displacement.flush()
# Create hexa element stress table
hexa = h5.create_table('/NASTRAN/RESULT/ELEMENTAL/STRESS',
'HEXA', HEXA, createparents = True)
# Populate hexa stress, the values are for example only.
row = hexa.row
for i in xrange(1, 6):
row['EID'] = i
row['CID'] = 0
row['CTYPE'] = 'GAUS'
# Gauss point

Main Index

User Interface 180


HDF5 Result Database (NH5RDB)

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

// Write displacement, hexa stress and domain datasets in C


void writeStressHexa()
{
char* result = "/NASTRAN/RESULT";
char* nodal = "/NASTRAN/RESULT/NODAL";
char* stress = "/NASTRAN/RESULT/ELEMENTAL/STRESS";
char* dptable = "DISPLACEMENT";
char* hxtable = "HEXA";
char* dmtable = "DOMAINS";
hsize_t chunk = 50;
// displacement structure
typedef struct {
long long ID;
// grid id
double VALUE[6];
// displacement
long long DOMAIN_ID;// domain id
} Displacement;
// displacement structure size
size_t dp = sizeof(Displacement);
// displacement field offset
size_t dpo[] = {
HOFFSET(Displacement, ID),
HOFFSET(Displacement, VALUE),
HOFFSET(Displacement, DOMAIN_ID)
};
// displacement field size
Displacement disp;
size_t dps[] = {
sizeof(disp.ID),
sizeof(disp.VALUE),
sizeof(disp.DOMAIN_ID)
};
// displacement field name
const char* dpn[] = {
Main Index

181 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

"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

User Interface 182


HDF5 Result Database (NH5RDB)

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

// domain structure size


size_t dm = sizeof(Domain);
// domain field offset
size_t dmo[] = {
HOFFSET(Domain, ID),
HOFFSET(Domain, SUBCASE),
HOFFSET(Domain, STEP),
HOFFSET(Domain, ANALYSIS),
HOFFSET(Domain, TIME_FREQ_EIGR),
HOFFSET(Domain, EIGI),
HOFFSET(Domain, MODE),
HOFFSET(Domain, DESIGN_CYCLE),
HOFFSET(Domain, RANDOM),
HOFFSET(Domain, SE),
HOFFSET(Domain, AFPM),
HOFFSET(Domain, TRMC),

Main Index

183 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

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

User Interface 184


HDF5 Result Database (NH5RDB)

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

185 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

hid_t ai = H5Tarray_create2(H5T_NATIVE_LLONG, 1, dim);


hid_t ad = H5Tarray_create2(H5T_NATIVE_DOUBLE, 1, dim);
hid_t ct = H5Tcopy(H5T_C_S1);
if (ai >= 0 && ad >= 0 && ct >= 0 && H5Tset_size(ct, 4) >= 0) {
// data types
hid_t hxt[12] = {H5T_NATIVE_LLONG, H5T_NATIVE_LLONG, ct,
H5T_NATIVE_LLONG, ai, ad, ad, ad, ad, ad, ad, H5T_NATIVE_LLONG};
if (H5TBmake_table("", gid, hxtable, 12, 0, hx, hxn, hxo, hxt,
chunk, NULL, 1, NULL) >= 0) {
for (int i = 0; i < 10; i++) {
memset(&hexa, 0, hx);
hexa.EID = i + 1;
hexa.NODEF = 8;
strncpy(hexa.CTYPE, "GAUS", 4);
hexa.DOMAIN_ID = domain.ID;
for (int j = 1; j < 9; j++) {
hexa.GRID[j] = i * 10 + j;
hexa.X[j] = i * 10 + j;
hexa.Y[j] = i * 20 + j;
hexa.Z[j] = i * 30 + j;
hexa.TXY[j] = i * 10 + j;
hexa.TYZ[j] = i * 20 + j;
hexa.TZX[j] = i * 30 + j;
}
H5TBappend_records(gid, hxtable, 1, hx, hxo, hxs, &hexa);
}
}
}
if (ai >= 0) H5Tclose(ai);
if (ad >= 0) H5Tclose(ad);
if (ct >= 0) H5Tclose(ct);
H5Gclose(gid);
}
}
H5Pclose(lpid);
}
H5Fclose(fid);
}
}
Figure 11-15

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

User Interface 186


HDF5 Result Database (NH5RDB)

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

187 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

Calling search_domain () function to searches for the


record with domain id 4 from domain index dataset
/INDEX/NASTRAN/RESULT/DISPLACEMENT,
this is done by calling binary search function
std::lower_bound().

POSITION 132 and LENGTH 44 are returned from the


search_domain() call, read 44 records from dataset
/NASTRAN/RESULT/NODAL/DISPLACEMENT
started from 132 row(zero based index) into memory,
call std::lower_bound() for each input entity to search
the record, set them back to caller side

Figure 11-16
Main Index

Processing Flow of the Query

User Interface 188


HDF5 Result Database (NH5RDB)

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

189 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

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

Example to Search Domain Index

Below is the function to search records of specified IDs in a domain:


//
// Purpose: search and print out records of specified ids in a domain
// Input:
//
hid_t file: hdf5 file id
//
long long domain_id: domain id to be searched
//
const std::string& restype0: result type
//
DISPLACEMENT, DISPLACEMENT_CPLX, QUAD4, QUAD_CN are valid words
//
const std::string& id_str: a srting to specify ids
//
"1:6 8 10" means 1 through 6, 8 and 10.
// return:
//
0: successful
//
Non 0: fail

//
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);

%ld %ld\n", domain_id,

//
// 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

User Interface 190


HDF5 Result Database (NH5RDB)

}
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

Example to Search and Print Out Records

Example 10: Read nodal displacement dataset in Java


This example demonstrates how to access a dataset in NH5RDB in Java. The Java HDF Object Package, which wraps
HDF Java interfaces in an object model, is used in the program. The package consists of several Java jar files and
shared libraries. It can be obtained from HDF group website.
In the example, the nodal displacement dataset is read in first. Then each field data, including ID, VALUE and
DOMAIN_ID, is obtained and print out to the system output.
/*
* This example uses Java HDF Object Package to access NH5RDB.
*
*/
import ncsa.hdf.object.*;
import java.util.*;
/**
* The NH5RDB class defines methods to access NH5RDB.
*
*/
public class NH5RDB {
/**
* Read nodal displacement dataset and print to system output
*
* @param file the NH5RDB file name
* @throws Exception
*/
public void printDisplacement(String file) throws Exception {
FileFormat ff = null;

Main Index

191 MSC Nastran 2016.1 Release Guide


HDF5 Result Database (NH5RDB)

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 to Read nodal displacement in Java

Example Files
DataType.html
DataType.xml
Example 1
Example 2
Example 3
Example 4
Example 5
Example 6

Main Index

User Interface 192


HDF5 Result Database (NH5RDB)

Example 7
Example 8a
Example 8b
Example 9
Example 10

Main Index

193 MSC Nastran 2016.1 Release Guide


F06Reader Utility

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

User Interface 194


F06Reader Utility

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

195 MSC Nastran 2016.1 Release Guide


F06Reader Utility

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

User Interface 196


F06Reader Utility

RC File Example Usage


Double click on the executable at the following location in the MSC Nastran installation directory to open the GUI:
C:\msc_software_2016\msc2016\win64i8\F06reader.exe

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

197 MSC Nastran 2016.1 Release Guide


F06Reader Utility

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

User Interface 198


F06Reader Utility

Figure 11-20

Mouse Hover or Click on the MSC Nastran Warning or FATAL Message

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

199 MSC Nastran 2016.1 Release Guide


F06Reader Utility

Limitations and Guidelines


The F06 Reader is designed to collect, summarize and display information in other files. It is not designed to retrieve
and perform user defined calculations with the data.
The F06Reader 2016 provided with MSC Nastran 2016 is the first public release of this tool. Reading text file input is
sometimes problematic. Errors in functionality (executable failures) are expected. An F06Reader failure will not affect
MSC Nastran results or generation of files.
The F06 reader may not work with older versions of MSC Nastran and does not support all solution sequences and
options.
If a problem occurs, note the version being used locally and check SimCompanion for updates. If updates do not
resolve the problem check SimCompanion article for whom to contact or contact MSC Support.

Main Index

User Interface 200


Solid Elements Coordinate System Enhancement

Solid Elements Coordinate System Enhancement


The MSC Nastran SOLID elements CHEXA, CTETRA, and CPENTA have an additional element coordinate system
available on the PSOLID entry field 4 CORDM with a value of (-2) specified.

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

201 MSC Nastran 2016.1 Release Guide

Solid Elements Coordinate System Enhancement

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

User Interface 202


Solid Elements Coordinate System Enhancement

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

203 MSC Nastran 2016.1 Release Guide

Solid Elements Coordinate System Enhancement

Limitations and Guidelines


For the CTETRA and CPENTA elements in SOL400 when using enhanced materials or PSLDN1, the coordinate (-2)
is ignored and the basic system is used.
You can only view these results using F06, OP2, or HDF5 file types.

Main Index

MSC Nastran 2016.1 Release Guide


Chapter 12: Platform Support

12

Platform Support

Main Index

Supported Hardware and Operating Systems

205

205 MSC Nastran 2016.1 Release Guide

Supported Hardware and Operating Systems

Supported Hardware and Operating Systems


The MSC Nastran 2016 release is provided and certified on the following hardware/software platforms:
Vendor

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

Intel MPI 5.0

Microsoft (64-bit)

Windows 7

Intel EM65T

Intel 15.0

Microsoft VS 2013
C/C++

Microsoft HPC
Pack 2012 R2

Software Development Kit (SDK)


The MSC Software Development Kit 2016 is required for users who want to customize MSC Nastran 2016 with
features like User Subroutines, User Defined Modules, OpenFSI, and Beam Libraries. The SDK can be downloaded
separately from the "MSC Software Development Kit" product page.

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

You might also like