150 views

Uploaded by MSC Nastran Beginner

This document details the newest additions for 2011.

- MSC.Access User's Manual Version 2005.1
- MD Nastran R2.1 Release Guide
- MSC Nastran 2012 DMAP Programmer’s Guide
- MSC Nastran 2007 r1 Release Guide
- MD R2 Nastran Release Guide
- MSC Nastran 2012 Design Sensitivity and Optimization User’s Guide
- MSC Nastran 2012 PAA User’s Guide (Pre-Release)
- METIS - A Software Package for Partitioning Unstructured Graphs, Partitioning Meshes, and Computing Fill-Reducing Orderings of Sparse Matrices Version 4.0
- MSC Nastran 2012 Loads Management User’s Guide (Pre-Release)
- MSC.Nastran 2005 Release Guide
- MSC.Nastran 2001 Numerical Methods User’s Guide
- MSC.Nastran 2004 r3 Release Guide
- MSC Nastran 2012 Installation and Operations Guide
- mdr3_nastran_release_guide
- MSC.Nastran 2001 Release Guide
- MSC.Nastran 2002 Thermal Analysis User’s Guide
- msc_nastran_2012_demo_problems
- MSC.Nastran 2001 Superelement User’s Guide
- MSC Nastran 2012 Explicit Nonlinear (SOL 700) User’s Guide
- MSC Nastran 2010 Release Guide

You are on page 1of 66

Release Guide

Main Index

Worldwide Web

www.mscsoftware.com

Disclaimer

MSC.Software Corporation reserves the right to make changes in specifications and other information contained

in this document without prior notice.

The concepts, methods, and examples presented in this text are for illustrative and educational purposes only,

and are not intended to be exhaustive or to apply to any particular engineering problem or design. MSC.Software

Corporation assumes no liability or responsibility to any person or company for direct or indirect damages resulting

from the use of any information contained herein.

User Documentation: Copyright 2011 MSC.Software Corporation. Printed in U.S.A. All Rights Reserved.

This notice shall be marked on any reproduction of this documentation, in whole or in part. Any reproduction or

distribution of this document, in whole or in part, without the prior written consent of MSC.Software Corporation is

prohibited.

This software may contain certain third-party software that is protected by copyright and licensed from

MSC.Software suppliers. PCGLSS 6.0, Copyright 1992-2005, Computational Applications and System

Integration Inc. All rights reserved. PCGLSS 6.0 is licensed from Computational Applications and System

Integration Inc. METIS is copyrighted by the regents of the University of Minnesota. A copy of the METIS product

documentation is included with this installation. Please see A Fast and High Quality Multilevel Scheme for

Partitioning Irregular Graphs. George Karypis and Vipin Kumar. SIAM Journal on Scientific Computing, Vol. 20,

No. 1, pp. 359-392, 1999.

MSC, MD, Dytran, Marc, MSC Nastran, MD Nastran, Patran, MD Patran, the MSC.Software corporate logo,

OpenFSI and Simulating Reality are trademarks or registered trademarks of the MSC.Software Corporation in the

United States and/or other countries.

NASTRAN is a registered trademark of NASA. LS-DYNA is a trademark or registered trademark of Livermore

Software Technology Corporation. All other trademarks are the property of their respective owners.

Revision 0. April 26, 2011

MDNA:2011:Z:Z:Z:DC-REL

Corporate

MSC.Software Corporation

2 MacArthur Place

Santa Ana, CA 92707

Telephone: (800) 345-2078

FAX: (714) 784-4056

Europe

MSC.Software GmbH

Am Moosfeld 13

81829 Munich

GERMANY

Telephone: (49) (89) 43 19 87 0

Fax: (49) (89) 43 61 71 6

Asia Pacific

MSC.Software Japan Ltd.

Shinjuku First West 8F

23-7 Nishi Shinjuku

1-Chome, Shinjuku-Ku

Tokyo 160-0023, JAPAN

Telephone: 0120-924-832 (toll free,

Japan only)

Mobile phone: 03-6911-1222

Fax: (81) (3)-6911-1201

Main Index

Cont ent s

MD Nastran & MSC Nastran 2011 Release Guide

Table of Contents

Preface to the MD Nastran 2011 Release Guide vi

List of Books vii

Technical Support viii

Internet Resources ix

1 Overview of MD & MSC Nastran 2011

Overview 2

2 Advanced Nonlinear (SOL 400)

Nonlinear Inertia Relief with Contact (SOL 400) 6

3 Numerical Methods and High Performance Computing

ACMS 12

Enhanced Math Kernel Library 15

Automatic SMEM Allocation 18

Thermal Performance Enhancements in SOL 400 21

4 Optimization

External Optimization via OpenMDO

TM

32

User Defined OpenMDO

TM

External Optimizer Service 43

5 Aeroelasticity

Improvements in Splining 48

MD Nastran 2011

Release Guide

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

iv

6 Elements

Rotordynamics Enhancements 54

Main Index

MD Nastran Release Guide Preface

Preface

List of Books

Technical Support

Internet Resources

Main Index

MD Nastran 2011 Release Guide

Preface to the MD Nastran 2011 Release Guide

vi

Preface to the MD Nastran 2011 Release Guide

This Release Guide contains descriptions for the MD Nastran 2011 version, and supersedes the MD

Nastran 2010 Release Guide.

Main Index

vii

Preface

List of Books

Below is a list of some of the Nastran documents. You may find any of these documents from

MSC.Software at www.simcompanion.mscsoftware.com.

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

MD Demonstration Problems

Thermal Analysis

Superelements

Design Sensitivity and Optimization

Implicit Nonlinear (SOL 600)

Explicit Nonlinear (SOL 700)

Aeroelastic Analysis

User Defined Services

EFEA Users Guide

EFEA Tutorial

EBEA Users Guide

Main Index

MD Nastran 2011 Release Guide

Technical Support

viii

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)

Support Online. The Support Center provides technical articles, frequently asked questions and

documentation from a single location.

Main Index

ix

Preface

Internet Resources

MSC.Software (www.mscsoftware.com)

MSC.Software corporate site with information on the latest events, products and services for the

CAD/CAE/CAM marketplace.

Main Index

MD Nastran 2011 Release Guide

Internet Resources

x

Main Index

Chapter 1: Overview of MD & MSC Nastran 2011 MD Nastran & MSC Nastran Release Guide

1

Overview of MD & MSC Nastran

2011

Overview

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Overview

2

Overview

MSC.Software is pleased to introduce you to the exciting new technologies in MD Nastran 2011 & MSC

Nastran 2011, the premier and trusted CAE solution for aerospace, automotive, defense, and

manufacturing industries worldwide. This release includes new features and enhancements in Nonlinear

Inertia Relief with Contact, Numerical Methods and High Performance Computing, Optimization using

OpenMDO, Splining Improvements, and enhancements in Rotordynamics.

IFPStar

Starting with the MD Nastran 2011 and MSC Nastran 2011 releases, IFPStar will be the default input file

processor for Nastran. The IFPStar component provides more accurate verification of input files and their

conformance with the QRG. It also provides enhanced error messages, as well as a complete list of the

bulk data entries used in your model in the input file summary section.

Advanced Nonlinear (SOL 400)

Nonlinear Inertia Relief with Contact (SOL 400) (Ch. 2).

More information can be found in Advanced Nonlinear (SOL 400) (Ch. 2).

Numerical Methods and High Performance Computing

(Performance)

ACMS (Ch. 3)

Enhanced Math Kernel Library (Ch. 3)

Automatic SMEM Allocation (Ch. 3)

Thermal Performance Enhancements in SOL 400 (Ch. 3)

More information can be found in Numerical Methods and High Performance Computing (Ch. 3).

Optimization

External Optimization via OpenMDO

TM

(Ch. 4)

User Defined OpenMDO

TM

External Optimizer Service (Ch. 4)

More information on these optimization enhancements can be found in Optimization (Ch. 4).

Aeroelastic Enhancements

Improvements in Splining (Ch. 5)

More information on these aeroelastic enhancements can be found in Aeroelasticity (Ch. 5).

Main Index

3

CHAPTER 1

Contents

Elements

Rotordynamics Enhancements (Ch. 6).

More information can be found in Elements (Ch. 6).

Future Platform Support

MD Nastran and MSC Nastran will no longer be delivered on the SGI IRIX platform; MSC Nastran 2010

is available on SGI IRIX.

The Linux 32 bit platform will be discontinued starting in the year 2012.

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Overview

4

Main Index

Chapter 2: Advanced Nonlinear (SOL 400) MD Nastran R3 Release Guide

2

Advanced Nonlinear (SOL 400)

Main Index

MD Nastran 2011 Release Guide

Nonlinear Inertia Relief with Contact (SOL 400)

6

Nonlinear Inertia Relief with Contact (SOL 400)

Introduction

Inertia relief is a technique to simulate self-equilibrating quasi dynamic loading in static analyses. It is

now available in MD Nastran for SOL400 with nonlinear material and contact analysis but under the

restriction of small displacement/rotations (PARAM,LGDISP=-1).

Benefits

The following feature is included in MD Nastran SOL 400.

Support inertial relief capability in SOL 400 with nonlinear material and contact analysis.

Theory

Case Control Parameter IRLOAD=QLIN causes a self-equilibrating quasi dynamic loading to occur.

User Inputs

The Case Control Command, IRLOAD, will activate this capability for SOL 400. It is only available to

SOL 400 and will be ignored in other solution sequences.

Selects nonlinear inertia relief set for SOL 400

Format:

Example:

IRLOAD=QLINEAR

IRLOAD

Nonlinear Inertia Relief Selection (SOL 400 only)

Field Contents

QLINEAR Inertia Load Calculation with small displacement (Quasi-Linear) is activated in SOL

400.

NONE No Inertia Relief (Default)

IRLOAD=

QLINEAR

NONE

)

`

Main Index

7

CHAPTER 2

Advanced Nonlinear (SOL 400)

Remark:

1. This command is active only in SOL 400 and its use requires a set of STATIC supports that

constrain all six rigid body motions.

2. IRLOAD=QLINEAR, which has to be applied above to all SUBCASES, is a global case control

command and activates the inertia load calculations in SOL 400 for all applied static loads. In

nonlinear static analyses (ANALYSIS=NLSTAT), it also activates the inertia relief analysis with

small displacement. When IRLOAD=QLINEAR with large displacement (PARAM,LGDISP -1),

a fatal error message will be issued. Also superelements in conjunction with

IRLOAD=QLINEAR will cause a fatal error.

IRLOAD=NONE (default) deactivates the inertia load calculations.

3. IRLOAD=QLINEAR is ignored by perturbation analyses in SOL 400.

Outputs

Standard Nastran outputs.

Guidelines and Limitations

The guidelines and limitations can be considered in the following two groups:

1. From the general view point of Nonlinear Inertia Relief in SOL 400

a. The current implementation is restricted to the requirement that all six rigid body

motions be constrained. Thus no mechanisms or symmetry boundaries are allowed.

b. This approach is only valid for models whose geometry does not change during loading, such

as SOL 400 with LGDISP=-1 (Default).

c. The Inertia Relief analysis does not support superelements.

d. The rigid body mass matrix must be non-singular. This problem will not occur for regular line,

surface, or solid elements with proper mass density but may occur from CONM2 type inputs

when not all translational DOFs have the corresponding mass.

e. IRLOAD=QLINEAR is a global case control command and activates the inertia load

calculations in SOL 400 for all applied static loads and therefore must occur above the STEP

level.

f. IRLOAD=QLINEAR is ignored by the perturbation analyses in SOL 400.

g. The tradition Parameter, INREL, is ignored in the nonlinear chaining and multi-physics

analyses but supported in the multidiscipline with linear analysis.

2. When Inertia Relief is used with the 3D Contact, the following contact settings are recommended:

a. IGLUE=2 (see BCTABLE in QRG) and NLGLUE=1 (see BCPARA in QRG) general glue

contact for Node-to-Surface contact. These settings are used to avoid the possibility of more

than 6 rigid body modes during the contact analysis. An IGLUE=0 is to be avoided as this has

a greater possibility of causing more than 6 rigid body modes during the contact analysis.

b. JGLUE=1 (see BCTABLE in QRG) allow separation (optional)

c. IBSEP=2 (see BCPARA in QRG) if there are high order elements with separation

Main Index

MD Nastran 2011 Release Guide

Nonlinear Inertia Relief with Contact (SOL 400)

8

d. The Contact discussed here is Node-to-Surface Contact. The Segment-to-Segment Contact

may be supported in the future but it is not is the scope of this project.

e. In addition, when running nonlinear inertia relief with Contact, chattering should be avoided

if possible. Since this is usually a modeling issue the following suggestions are also

recommended

Try ICSEP>0 instead of ICSEP=0 (see BCPARA in QRG)

Adjust BIAS and ERROR (see BCPARA and BCTABLE in QRG)

Try smaller MAXSEP and NODSEP (see BCPARA in QRG)

Fatal error messages will be issued when

1. IRLOAD=QLINEAR is given for some (but not all) SUBCASEs.

2. IRLOAD=QLINEAR is used with large displacement (PARAM,LGDISP -1)

3. IRLOAD is used with superelements.

Example

The following 2 models are identical except that one has inertia relief (IRLOAD=QLIN), af_ir.dat, and

another does not, af_noir.dat.

Figure 2-1 Inertia Relief test model - airfoil with cutout

ID MSC, af_ir

SOL 400

CEND

ANALYSIS = NLSTAT

IRLOAD=QLINEAR $ this card is removed in af_noir.dat

SPC=20

Main Index

9

CHAPTER 2

Advanced Nonlinear (SOL 400)

LOAD = 400

DISP=all

STRESS=all

SPCF=all

BEGIN BULK

$ Determinate-SPC

SPC1 20 2 1

SPC1 20 23 101

SPC1 20 123 104

The results of DISP, LOAD, SPCF are showed in the following figures. Note that there are 15 orders of

magnitude difference on the spcforces between af_ir and af_noir.

Figure 2-2 Displacements af_ir vs. af_noir

Figure 2-3 Loads af_ir vs. af_noir

Main Index

MD Nastran 2011 Release Guide

Nonlinear Inertia Relief with Contact (SOL 400)

10

Figure 2-4 SPCF af_ir vs. af_noir

Main Index

Chapter 3: Numerical Methods and High Performance Computing MD Nastran & MSC Nastran 2011

Release Guide

3

Numerical Methods and High

Performance Computing

ACMS

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

ACMS

12

ACMS

Introduction

Automated Component Modal Synthesis (ACMS) was implemented in Nastran in 2001 using Nastran

Superelements. In 2004, ACMS was made available in the matrix domain. This section describes recent

improvements to the computational performance of ACMS. These improvements apply to the following

modeling scenarios:

Use of structural damping (K4)

Combined use of SPCD enforced motion and frequency dependent analysis

Benefits

Performance improvements range from 25% to a 5X speedup, depending on the analysis scenario.

Technical Discussion

Enhancements were made to detect and exploit modeling practices which lead to a structural damping

specification resulting in a low-rank [K4] matrix. This leads to a faster reduction of [K4] to modal

coordinates with no loss of accuracy. In addition, it can lead to the increased applicability of Nastrans

Fast Frequency Response algorithm (FASTFR). For large frequency ranges that produce a significant

modal dimension, the use of FASTFR dramatically increases the speed of the resulting modal frequency

response analysis.

The interaction between enforced motion DOF specified via SPCD input and frequency dependent

elements was improved by removing redundant operations, resulting in reduced run times required for

these cases. This allows users continued access to the SPCD method of enforced motion, which is more

precise than the old Large Mass method.

Input

There are no input changes associated with these enhancements.

Output

There are no output changes associated with these enhancements.

Guidelines and Limitations

Users should not set PARAM,FASTFR,YES to force fast frequency response. The automatic selection

logic should make the correct choice.

Known Issues in Beta

None.

Main Index

13

CHAPTER 3

Contents

Test Cases

Several large, real world models will be used to demonstrate these performance improvements.

Hardware used in the examples below is 2500MHz Intel Harpertown CPUs, 32GB main memory, Linux

2.6.9-42.ELsmp.

Case 1: example of K4 damping enhancement

SOL: 111

Number of grid points: 1.2 million

G-size DOF: 7.3 million

Number of structure modes: 3600

Number of forcing frequencies: 320

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

ACMS

14

Case 2: example of damping enhancement

SOL: 111

Number of grid points: 1.4 million

G-size DOF: 8.6 million

Number of structure modes: 7200

Number of forcing frequencies: 700

Case 3: SPCD interaction with frequency dependence

SOL: 111

Number of grid points: 680,000

G-size DOF: 5.4 million

Number of forcing frequencies: 500

Main Index

15

CHAPTER 3

Contents

Enhanced Math Kernel Library

Introduction

Nastran employs a highly tuned set of mathematical kernels that provide high performance for

computationally intensive tasks. Most of these kernels consist of multi-threaded matrix algebra

operations especially tuned for Nastran. These kernels are implemented as external objects for ease of

portability, testing and extensibility. In addition, the external implementation allows for easy integration

with vendor-supplied Basic Linear Algebra Subroutine kernels as well (BLAS). The name of this library

is libMSCblas.

MSC has enhanced its application code to take greater advantage of libMSCblas. Additionally, the multi-

threaded Shared Memory Parallel (SMP) scalability has been improved.

Benefits

Performance improvements range from up to 100% for the following tasks:

Lanczos eigensolution

Matrix factorization for symmetric real and complex systems

Mixed mode (real times complex) matrix multiplication

Performance benefits are especially evident for large problems.

Technical Discussion

Computational efficiency has been increased for modern cache based architectures such as X86-64 from

Intel and AMD. Benefits apply equally to the LP64 and ILP64 floating point models (i4 mode and i8

mode).

Input

There are no input changes associated with this enhancement.

Output

There are no output changes associated with this enhancement.

Guidelines and Limitations

Benefits are most pronounced for the X86-64 CPU architecture.

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Enhanced Math Kernel Library

16

Test Cases

Test cases come from customers. The model data may not be transmitted outside MSC.

Hardware used in the examples below is 2500MHz Intel Harpertown CPUs, 32GB main memory, Linux

2.6.9-42.ELsmp.

Case 1: static analysis of large solid model (direct solution)

SOL: 101

G-size DOF: 15 million

Case 2: Lanczos eigensolution (serial)

SOL: 103

G-size DOF: 1.6 million

Number of modes: 1000

Main Index

17

CHAPTER 3

Contents

Product Dependencies

None.

GUI Support

This is not applicable.

Additional Information and References

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Automatic SMEM Allocation

18

Automatic SMEM Allocation

Introduction

Nastran employs a disk resident database to hold temporary information generated during an analysis.

This database consists of blocks which reside in database partitions. The Scratch Memory feature

(SMEM) allocates blocks for the SCRATCH database partition in main memory instead of on the disk to

reduce the amount of I/O, hence reducing the wall time associated with an analysis.

MSC has automated the specification of SMEM to take advantage of large memory computer systems

which are used for single job streaming. Nastran will use all available memory and automatically allocate

memory for SMEM.

Benefits

The amount of memory used for SMEM will be computed automatically. For many analysis jobs, this

will result in a significant reduction in the amount of disk I/O required. This will result in improved

elapsed time performance for the analysis.

Technical Discussion

There is no new functionality introduced. The enhancement is to ease the specification of SMEM for

Nastran. Previous specification rules for SMEM are not changed.

The total amount of memory reserved for Nastran is set by the mem= command line keyword

(MEM). Nastran will divide this area into three memory regions shown below:

By default, the amount of memory reserved for SMEM is just large enough to contain database dictionary

entries. The SMEM region may be increased most conveniently by using the smem= command line

option:

nastran myinput mem=Xgb smem=Ygb

Note that the SMEM region is a subset of the total MEM; that is, X must be greater than Y. For more

information about specifying SMEM, and memory specification in general, please refer to the

smemory entry in Appendix B of the Installation and Operations Guide.

ExecTables

SMEM

MEM

Main Index

19

CHAPTER 3

Contents

The new functionality introduced now is the value of max for the mem= command line option

(i.e. mem=max). When mem=max is specified on the command line, the following operations

take place:

1. The amount of physical memory available on the computer system is determined (physical).

2. The maximum allocatable memory is determined. This is typically 80% of the available memory.

See the memorymax keyword description in the Installation and Operations Guide. The default

value for memorymax is 0.8*physical.

3. The MEM value is set to the value of memorymax.

4. The estimate utility is invoked to provide an estimate of the memory required by Nastran to

perform the analysis. This is called Open Core.

5. SMEM is set to the difference between memorymax and Open Core.

Examples

1. The computer system has 8GB (8000MB) of physical memory and memorymax is the default

value of 0.8. For the following command:

nastran myinput mem=max

Assume that estimate produces an estimate of 1GB (1000MB) for the analysis. Execution

would be equivalent to the following command:

nastran myinput mem=6400mb smem=5400mb

2. The computer system has 96GB (96000MB) of physical memory and memorymax is the default

value of 0.8. For the following command:

nastran myinput mem=max mode=i8

3. Assume that estimate produces an estimate of 1GB (1000MB) for the analysis. Execution would

be equivalent to the following command:

nastran myinput mem=76800mb smem=71800mb mode=i8

Note that mode=i8 is required to access memory greater than 8GB

Input

The value of max is now allowed on the memory specification of the nastran command.

Output

When mem=max is specified, the estimate utility runs automatically. The amount of SMEM to be

used for the analysis is printed as in the following example:

*** USER INFORMATION MESSAGE (pgm: nastran, fn:

estimate_job_requirements)

Estimated smem=192588

Estimated DOF=6012

Estimated memory=6144.0MB

Estimated disk=1.2MB

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Automatic SMEM Allocation

20

Note that the amount of memory devoted to SMEM is printed in the unit of GINO BLOCKs.

Guidelines and Limitations

The mem=max functionality is limited to SOL 101 and SOL 400. If mem=max is specified for a

different solution, a warning message is issued and the run proceeds with mem=estimate.

The mem=max functionality is not operational for Distributed Memory Parallel (DMP) runs.

Note that in order to take advantage of memory above 8GB (8000MB) one must run the ILP64 version

of Nastran by specifying mode=i8 on the command line.

Test Cases

A typical model was used to demonstrate the nonlinear performance.

Case 1: nonlinear static analysis with contact

SOL: 400

Number of grid points: 26,000

Number of cycles: 45

Main Index

21

CHAPTER 3

Contents

Thermal Performance Enhancements in SOL 400

The iterative solver has been shown to be very efficient solving large thermal models with solid

elements. However, the iterative solver was only available in nonlinear steady state thermal analysis

(SOL 153), and not available in transient thermal analysis (SOL 159).

Now the iterative solver is available in SOL 400 with analysis=hstat (nonlinear steady state thermal) and

analysis=htran (nonlinear transient thermal analysis).

The following two examples demonstrate the CPU performance improvements using the iterative solver

running a transient thermal analysis.

Case 1: Disk Brake model

This disk brake model has 644594 CHEXA elements and 642 PENTA elements.

THERMAL BOUNDARY CONDITIONS:

1. We have convection to time-varying ambient temperatures in which the convection coefficient is

function of temperatures

2. We ran the analysis using the NLSTEP with adaptive time steps up to 3000 sec.

This job was run using memory=8GB, and was run on a Linux64 machine:

As we can see, using the iterative solver is about 3.3 times faster.

CPU time

Direct method 6698.5

Iterative solver 2028.4

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Thermal Performance Enhancements in SOL 400

22

Figure 3-1 CPU and wall time comparison

Figure 3-2 Performance gains using iterative solver

Main Index

23

CHAPTER 3

Contents

Figure 3-3 Disk brake transient thermal analysis

Figure 3-4 Disk brake

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Thermal Performance Enhancements in SOL 400

24

Figure 3-5 Temperature versus time plot

Main Index

25

CHAPTER 3

Contents

CASE 2: Spherical cavity inside a chamber:

This second model is electronic components inside a chamber subject to solar heating and view factor

radiation.

Figure 3-6 Model

This job ran using MEM= 1GB

Test deck CPU time Increase in performance

Turn_on_heat1 2547.7

Turn_on_heat1_smatrix 322.7 sec. 8 times speed up in performance

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Thermal Performance Enhancements in SOL 400

26

Figure 3-7 CPU and wall time comparisons

Figure 3-8 Performance gains using iterative solver

Main Index

27

CHAPTER 3

Contents

THERMAL BOUNDARY CONDITIONS:

This model has solar heating on the outside chamber and it has radiation to the sky, and radiation from

the concrete ground. In the interior we have electronic power dissipating energy on the spherical cavity,

and we have all the interior surfaces involved in radiation view factor exchange. Additionally we have

convection cooling on the inside of the enclosure, and thermal contact between non-matching mesh.

Figure 3-9 Chamber temperature

Figure 3-10 Transient thermal run

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Thermal Performance Enhancements in SOL 400

28

Figure 3-11 Sphere cavity

Main Index

29

CHAPTER 3

Contents

How to invoke the iterative solver in SOL 400:

SOL 400

CEND

ECHO = SORT

$! Case Control Section

IC=1

SUBCASE 1

STEP 1

$LBCSET STEP1.1 DefaultLbcSet

$! Step name : Thermal Steady State

ANALYSIS = HTRAN

SPC = 132

DLOAD=200

smethod=matrix

$ LOAD = 133

NLSTEP = 6

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Thermal Performance Enhancements in SOL 400

30

THERMAL(SORT2,PLOT)=ALL

$ SPCFORCES(SORT1,PRINT,REAL)=ALL

$ FLUX(PRINT)=ALL

BEGIN BULK

Selects iterative solver method and parameters.

Format:

Example:

SMETHOD = ELEMENT $ selects element-based iterative solver defaults.

SMETHOD = MATRIX $ selects matrix based iterative solver defaults.

SMETHOD = 1000 $ specifies ID of ITER Bulk Data entry to select

iterative.

Remarks:

1. The matrix-based iterative solver is available in SOLs 101, 106, 108, 111, 153, and 400 and

allows use of all features.

2. The element-based iterative solver is only available in SOLs 101, 200 and 400. SMETHOD must

be placed above all SUBCASEs in this case. It is intended primarily for very large solid element

models and does not handle p-elements. See the ITER Bulk Data entry for a list of restrictions.

3. For SOL 600, the iterative solver is activated using the MARCSOLV PARAM.

For more information on SMETHOD, please see SMETHOD (p. 492) in the MD/MSC Nastran Quick

Reference Guide.

SMETHOD

Iterative Solver Method Selection

Describer Meaning

ELEMENT Selects the element-based iterative solver with default control values.

MATRIX Selects the matrix-based iterative solver with default control values.

n Sets identification of an ITER Bulk Data entry (Integer > 0).

SMETHOD

ELEMENT

n

MATRIX

)

`

Main Index

Chapter 4: Optimization MD Nastran & MSC Nastran 2011 Release Guide

4

Optimization

TM

TM

External Optimizer Service

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

External Optimization via OpenMDO

TM

32

External Optimization via OpenMDO

TM

Introduction

In MD Nastran, there are two MSC proprietary general purpose optimizers: MSCADS and IPOPT. In the

MD Nastran 2011 release MSC has created a Simulation Component Architecture (SCA) plug-in to allow

users access to other commercially available optimization codes or their own optimization codes. MSC

refers to this SCA plug-in capability as OpenMDO.

Benefits

The OpenMDO interface provides a convenient method to use the power of the MD Nastran Solver, the

MD Nastran design sensitivity calculations, and approximation technology with an alternative optimizer.

This can benefit both commercial users and researchers who may want to use or test their own optimizers.

OpenMDO also provides a method for users to plug-in other commercial optimizers.

MSC has partnered with VR&D (Vanderplaats Research & Development, Inc ) who have agreed to

implement the published OpenMDO APIs. These interfaces are delivered in the form of a library and

SCA catalog entry that enables the communication between MD Nastran and VR&D's DOT/BIGDOT.

Method

OpenMDO is based on the Simulation Component Architecture (SCA) framework (Ref 1). It allows

MD Nastran SOL200 (Optimization Solution) to communicate with an external optimizer code to send

the objective, constraint functions, and their gradients to the optimizer and get a new design from the

optimizer. MD Nastran optimization loop with SCA OpenMDO component as shown in Figure 4-1.

With OpenMDO, SOL200 first calls an OpenMDO memory estimate function in the DOM9 module to

allocate memory and initialize optimizer control parameters, arrays, and work arrays. SOL200 provides

some default values to OpenMDO optimizer control parameters that are discussed below. Then, SOL200

calls the external optimizer. The external optimizer must return information parameter INFO, error

parameter ERROR=IPRM(18), and NGT (number of critical constraints) =IPRM(20) to DOM9 to

perform function or gradient evaluations or terminate. These parameters are discussed as part of the

OpenMDO API section below.

Main Index

33

CHAPTER 4

Contents

Figure 4-1 Flow Chart of MD Nastran with External Optimizers

In DOM9 (Design Optimization Module), the external optimizer is used to solve a SOL200

approximation problem. MD Nastran employs a number of techniques, collectively referred to as

Approximation Concepts, to make design optimization possible for large finite element models. Design

variable linking, reduced basis vectors, constraint screening, load case deletion, and approximate model

are discussed in Ref 2. These approximation concepts all play a role in reducing the computational cost

of the design task. MD Nastran uses formal approximations (such as Taylor Series expansion) to avoid

the high cost associated with repeated finite element analyses during design optimization. As shown in

Figure 4-2, the optimizer interacts with the approximate model when it requires information. Given a set

of design variables, the optimizer needs information on the function values (the value of the objective

and the values of the constraints) and the gradient values (gradient of the objective with respect to the

design variables and the gradient of the active/violated constraints with respect to the design variables).

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

External Optimization via OpenMDO

TM

34

Figure 4-2 Optimizer Role in MD Nastran Optimization

Mathematical Model

A general formulation of structural optimization problems can be stated as follows:

(4-1)

where f is the objective function of design variables X, g

j

is the constraint, and m is the number of

inequality constraints. The design variable X has lower bound X

L

and upper bound X

U

. n is number of

design variables.

It is known that mathematical programming can directly deal with equality constraints. However,

equality constraints are seldom true for engineering design. MD Nastran SOL200 does not directly deal

with equality constraints. Instead, if such equality constraints are needed, it is only necessary to add

additional inequality constraints of the form

minimize f(X) objective

subject to inequality contraints

side constraints

g

j

X ( ) 0 j , s 1 2 ...,m , , =

x

i

L

x

i

x

U

i

i , s s 1 2 ...,n , , =

Main Index

35

CHAPTER 4

Contents

(4-2)

In other words, two equal and opposite inequality constraints will force the function to become an

equality. Therefore, we will consider only inequality constraints in our proposed OpenMDO API.

MD Nastran SOL200 has the design sensitivity analysis capability to calculate the gradients of structural

responses with respect to design variables. OpenMDO API mainly supports gradient based mathematical

programming methods that require the gradients of the objective and constraints with respect to design

variables. OpenMDO API can also be used for non-gradient based mathematical programming methods

where gradients are not used but still computed in SOL200.

OpenMDO API

The Equation (1) form is a standard optimization problem statement. However, it is known that there is

no standard optimization API in industry. Different optimization codes have different calling interfaces.

For example, VR&Ds DOT and BIGDOT have different interfaces. VR&D has a routine called

ALLDOT that supports both DOT and BIGDOT interfaces. Users can call ALLDOT with METHOD =

1, 2, 3 or 4. METHODS 1, 2 and 3 have the same meaning as for DOT. METHOD = 4 will invoke

BIGDOT.

Since DOT/BIGDOT is a major optimizer and widely used in Auto and Aerospace industry, MD Nastran

OpenMDO uses the ALLDOT calling statement as our OpenMDO API with a little modification. Other

third party optimizer vendors and MD Nastran clients can modify their source code to support our

OpenMDO API since OpenMDO API provides necessary and sufficient data for gradient based

optimizers.

The OpenMDO API is defined by :

OpenMDO _Runoptimizer(INFO, METHOD ,IPRINT, NDV, NCON, X, XL, XU ,OBJ, MINMAX, G,

RPRM, IPRM, WK, NRWK, IWK, NRIWK, ROPTION, IOPTION)

All arguments are defined in Table 4-1. Two optimization control parameter arrays IPRM and RPRM are

discussed in the next paragraph. Two others arrays, real ROPTION and integer IOPTION, are optional.

The size of these two arrays is obtained from Open_estimatememeory. The SOL200 DOM9 module is

the calling program for the external optimizers. DOM9 initializes the entire Roption and Ioption

arrays to zero before calling OpenMDO_runoptimizer. Users cannot change those values by

any Nastran bulk data entry, they can only be defined in the external optimizer. The use of these

two arrays is left to the needs of the provider of the external optimization algorithm.

The OpenMDO optimizer must have all the calling arguments described in Table 4-1 even if there are

arguments that are unused.

( )

0 g -

j

s X

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

External Optimization via OpenMDO

TM

36

There are three important parameters: information parameter INFO, optimizer error flag

ERROR=IPRM(18), and the number of critical constraints NGT=IPRM(20) (Array IPRM is described in

Table 4-3). They are used to guide SOL200 DOM9 to respond the optimizer shown in Figure 4-3.

OBJ and array G are used to store the values of the objective and constraints. IWK stores active and

violated constraint ID and WK store the gradients of the objective and active/violated constraints.

Figure 4-3 The Interaction Between SOL200 DOM9 and External Optimizers

Table 4-1 OpenMDO API

Note: The following definitions (Table 4-1-Table 4-4) are from the DOT Users Guide (Ref 5).

Providers of external algorithms are not required to follow all of these definitions

explicitly.

Main Index

37

CHAPTER 4

Contents

Parameter Definition

INFO Information parameter. Before calling OPENMDO the first time, set INFO=0. When control

returns from OPENMDO to the calling program, INFO will normally have a value of 0, 1, or 2

If INFO= 0, the optimization is complete (or terminated with an error message). If INFO= 1,

ask SOL200 to evaluate the objective, OBJ, and constraint functions, G(j), j=1,NCON If

INFO= 2, ask SOL200 to provide gradient information.

NOTE: If IPRM(18)>0 return from OPENMDO, a Fatal Error has occurred

METHOD Optimization method in OpenMDO to be used. OpenMDO can have more than one algorithms

IPRINT Print control parameter.

IPRINT = 0 no output.

IPRINT = 1,2,3,4,5,6,7, various level debug prints required by external optimizers

NDV Number of design variables contained in vector X.

NCON Number of constraint values contained in array G. NCON=0 is allowed.

X(NDV) Vector containing the design variables. On the first call to OPENMDO, this is the user's best

guess of the design. On the final return from OPENMDO (INFO=0 is returned), the vector X

contains the optimum design and vector G contains the corresponding constraint values.

XL(NDV) Array containing lower bounds on the design variables, X. If no lower bounds are imposed on

one or more of the design variables, the corresponding component(s) of XL must be set to a

large negative number, say -1.0E+15

XU(NDV) Array containing upper bounds on the design variables, X. If no upper bounds are imposed on

one or more of the design variables, the corresponding component(s) of XU must be set to a

large positive number, say 1.0 E+15.

OBJ Value of the objective function corresponding to the current values of the design variables

contained in X. On the first call to OPENMDO, OBJ need not be defined. OPENMDO will

return a value of INFO=1 to indicate that the user must evaluate OBJ and call OPENMDO

again. Subsequently, any time a value of INFO=1 is returned from OPENMDO, the objective,

OBJ, must be evaluated for the current design and OPENMDO must be called again. OBJ has

the same meaning as F(X) in the mathematical problem statement given in Equation 1.

MINMAX Integer parameter specifying whether the minimum (MINMAX=0,-1) or maximum

(MINMAX=1) of the objective function is to be found.

G(NCON) Array containing the NCON inequality constraint values corresponding to the current design

contained in X. On the first call to OPENMDO, the constraint values need not be defined.

On return from OPENMDO, if INFO=1, the constraints must be evaluated for the current X and

OPENMDO must be called again. If NCON=0, array G must be dimensioned to 1 or larger, but

no constraint values need to be provided.

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

External Optimization via OpenMDO

TM

38

Table 4-2 Scalar Parameters Stored in RPRM Array

RPRM(20) Array containing the real (floating point numbers) control parameters. SOl200 provides some

default values. Users can use other values than the defaults (Table 4-2).

IPRM(20) Array containing the integer control parameters. As with the RPRM array. SOl200 provides

some default values. Users can use other values than the defaults (Table 4-3).

Note IPRM(18) and IPRM(20) must be returned to SOL200.

WK(NRWK) User provided work array for real (floating point) variables. Array WK is used to store internal

scalar variables and arrays used by OPENMDO. If the user has not provided enough storage,

OPENMDO will print the appropriate message and terminate the optimization.

First NDV elements in WK store gradients of the objective. Next NDV*NGT elements store

the gradients of the critical constraints only (i.e., the first NDV is for the objective, the second

NDV is for the first critical constraint, ). The number of critical constraints NGT is given in

IPRM(20). The critical constraints are identified in the first NGT elements of the IWK array.

NRWK Dimensioned size of work array WK. NRWK should be set quite large, starting at about 1000

for a small problem. If NRWK has been given too small a value, an error message will be

printed and the optimization will be terminated.

IWK(NRIWK) User provided work array for integer (fixed point) variables. Array IWK is used to store

internal scalar variables and arrays used by OPENMDO. If the user has not provided enough

storage, OPENMDO will print the appropriate message and terminate the optimization. The

first NGT elements of IWK store critical constraints

NRIWK Dimensioned size of work array IWK. Increase the size of NRIWK as the problem grows

larger. If NRIWK is too small, an error message will be printed and the optimization will be

terminated.

Roption(sizeRO) Array containing real (floating point numbers) parameter. SOL200 initializes the entire array

to 0.0 before calling OpenMDO methods. Size of the array is from memory estimate.

Ioption(sizeIO) Array containing integer parameters. SOL200 initializes the entire array to zero. Size of the

array is from memory estimate.

Parameter Definition

Location Name Default Value Definition

1 CT -.03 A constraint is active if its numerical value is more

positive than CT. CT is a small negative number.

2 CTMIN 0.003 A constraint is violated if its numerical value is more

positive than CTMIN.

3 DABOBJ MAX[0.0001*ABS(F0),1.

0E-20]

Maximum absolute change in the objective between

ITRMOP consecutive iterations to indicate convergence

in optimization.

Main Index

39

CHAPTER 4

Contents

Table 4-3 Scalar Parameters Stored in IPRM Array

4 DELOBJ 0.001 Maximum relative change in the objective between

ITRMOP consecutive iterations to indicate convergence.

5 DOBJ1 0.1 Relative change in the objective function attempted on the

first optimization iteration. Used to estimate initial move

in the one-dimensional search. Updated as the

optimization progresses.

6 DOBJ2 0.2*ABS(F0) Absolute change in the objective function attempted on

the first optimization iteration.

7 DX1 0.01 Maximum relative change in a design variable attempted

on the first optimization iteration. Used to estimate the

initial move in the one-dimensional search. Updated as the

optimization progresses.

8 DX2 0.2*ABS[X(I)] Maximum absolute change in a design variable attempted

on the first optimization iteration. Used to estimate the

initial move in the one-dimensional search. Updated as the

optimization progresses.

9 NOT Used

Location Name Default Value Definition

Location Name Default Definition

1 IGRAD 1 Specifies the gradients are calculated bySOL200 IGRAD=1

2 ISCAL NDV Design variables are rescaled every ISCAL iterations. Set ISCAL

= -1 to turn off scaling.

3 ITMAX 100 Maximum number of iterations allowed at the optimization level.

4 ITRMOP 2 The number of consecutive iterations for which the absolute or

relative convergence criteria must be met to indicate convergence

at the optimizer level.

5 IWRITE 6 File number for printed output.

6 NGMAX NCON Maximum number of constraints retained for gradient

calculations.

7 IGMAX 0 If IGMAX=0, only gradients of active and violated constraints are

calculated. If IGMAX>0, up to NGMAX gradients are calculated,

including active, violated, and near active constraints.

8 JTMAX 50 Maximum number of iterations allowed for subproblems if

applicable

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

External Optimization via OpenMDO

TM

40

Over-Riding OpenMDO Default Parameters

OpenMDO provides a variety of internal parameters (real array RPRM(20) and integer array IPRM(20)

that affect the efficiency and reliability of the optimization process. If each of these parameters can be

used in the external optimizer, the default value is used unless the user overrides the parameter by

Nastran bulk data entry DOPTPRM. For example, METHOD, IPRINT, IGMAX, CT, CTMIN that are

described in MD & MSC Nastran Quick Reference Guide [Ref. 3]. In addition, users can override more

default values of parameters described in Table 4-2 and Table 4-3 that are not documented in the Nastran

Quick Reference Guide, but can be input on the DOPTPRM bulk data entry. These additional parameters

are DABOBJ, DELOBJ, DOBJ1, DOBJ2, DX1, DX2, IPRINT1, IPRINT2, ITMAX, ITRMOP,

ITRMST, JTMAX, JPRINT.

Supplying Gradients

OpenMDO is mainly developed for gradient-based optimizers. Based on NGT and critical constraints ID

(in IWK), DOM9 calculates the gradients of the objective and critical constraints, and stores the gradients

in the real array WK. If the external optimizer does not support the critical (active/violated) constraint

9 ITRMST 2 The number of consecutive iterations for which the absolute or

relative convergence criteria must be met to indicate convergence

in the subproblems if applicable.

10 JPRINT 0 If JPRINT>0, IPRINT is turned on during subproblem. This is for

debugging only.

11 IPRNT1 0 If IPRNT1=1, print scaling factors for the X vector.

12 IPRNT2 0 If IPRNT2=1, print miscellaneous search information.

If IPRNT2=2, turn on print during one-dimensional search

process. This is for debugging only.

13 JWRITE 0 File number to write iteration history information to. This is

useful for using postprocessing programs to plot the iteration

process. This is only used if JWRITE>0.

IERROR = 1 indicates WK or IWK dimension is too small.

IERROR = 2 indicates some XL(I) is greater than XU(I). ERROR

= 3 or 4 indicates that storage for constraint gradients is too small.

IERROR = 5 indicates that a violated constraint has a zero

gradient. Therefore, no feasible design can be found.

19

20 NGT

Location Name Default Definition

Main Index

41

CHAPTER 4

Contents

concept, users can set NGT=NCON, and store all constraints in IWK. Then DOM9 computes the

gradients of objective and all constraints and stores in WK. IWK and WK are discussed in Table 4-1.

Last, but importantly, we need know memory requirements of external optimizers to allocate memory in

DOM9. Before calling OpenMDO_runoptimizer, SOL200 DOM9 calls a memory estimate function to

determine needed array sizes. This routine may request the values of NDV, NCON, MAXINT, XL and

XU and permits calculation of a value for NGMAX, that is

OpenMDO_estimatememory_cpp (NDV, NCON,

* METHOD,NRWKMN,NRWKD,NRWKMX, NRIWK,NSTORE,

* NGMAX, XL, XU, SIZEIO, SIZERO, MAXINT, IERR)

The arguments in OpenMDO_EstimateMemory are described in Table 4-4.

Table 4-4 Memory Estimate Parameters

Parameter Definition

NDV Input: Number of design variables contained in vector X.

NCON Input: Number of constraint values contained in array G. NCON=0 is allowed.

METHOD Input: Optimization method in OpenMDO to be used. OpenMDO can have more than one

algorithms

XL(NDV) Input: Array containing lower bounds on the design variables, X. If no lower bounds are imposed on

one or more of the design variables, the corresponding component(s) of XL must be set to a large

negative number, say -1.0E+15

XU(NDV) Input Array containing upper bounds on the design variables, X. If no upper bounds are imposed

on one or more of the design variables, the corresponding component(s) of XU must be set to a large

positive number, say 1.0 E+15.

NGMAX Input/Output: Maximum number of constraints retained for gradient calculations. SOL200 input

NGMAX=0 that must be reset by external optimizers.

MAXINT Input: Maximum integer number.

NRWKMN Output: Minimum value of NRWK (the number of rows in the WK array, described in Table 4-1). If

the value of NRWK provided to OpenMDO is less than NRWKMN, the optimization will be

terminated with an error message.

NRWKD Output: Desired value of NRWK.

NRWKMX Output: Maximum value of NRWK.

NRIWK Output: The number of rows in the IWK array. If the array size of IWK provided to OpenMDO is

less than NRIWK, the optimization will be terminated

NSTORE Output: Extra computer memory request. Not used in SOL200 and can be set to zero.

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

External Optimization via OpenMDO

TM

42

SIZEIO Output: Desired size of array IOPTION. Must set >=1

SIZERO Output: Desired size of array ROPTION. Must set >=1

IERR Output: >1 the optimization will be terminated.

Parameter Definition

Main Index

43

CHAPTER 4

Contents

User Defined OpenMDO

TM

External Optimizer Service

The OpenMDO API creates an IDL interface file OpenMDO.idl that has two components:

OpenMDO_estimate memory and OpenMDO_run_optimizer. A service definition language file

OpenMDO.sdl, component definition language file OpenMDO.cdl file, and implementation file

OpenMDO.cpp can be found in ../SCA/MDSolver/Util/OpenMDO. All those files, along with the source

structure are included in an MD Nastran delivery. Users need to complete OpenMDO.cpp

implementation for the two methods and use the SDK command scons to build the OpenMDO SCA

component files, including the service catalog file SCAServiceCatalog.xml. Detail instructions can be

found in the MD & MSC Nastran User Defined Services OpenMDO (Ref.4).

Input

For a user to run an optimization SOL200 job using the OpenMDO interface, a SCA service must be

defined in the file management section in the Nastran input file by a CONNECT Service statement. The

connection between the SCA service and SOL200 is done by defining an optimizer code OPTCOD on

DOPTPRM bulk data entry which is tagged with the SCA service identifier in the CONNECT Service

statement. As shown below, an input file Connect Service statement references an external OpenMDO

service called 'ExternalOptimizer.OpenMDO'. The word ALLDOT (Optimizer code in DOPTPRM

and service identifier in CONNECT Service statement) connects SOL200 with

'ExternalOptimizer.OpenMDO' service

File management CONNECT SERVICE ALLDOT ExternalOptimizer.OpenMDO

Executive control

SOL200

END

Case Control

DESOBJ=10

DESSUB=20

SUBCASE1

ABALYSIS=STATICS

.

Bulk data

BEGINBULK

.

DOPTPRMOPTCODALLDOTMETHOD1

.

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

User Defined OpenMDO

TM

External Optimizer Service

44

Output

There are no outputs that are affected by external optimizers with the exception that the external

optimizer can have new output when using the IPRINT>0 parameter on the DOPTPRM entry.

Example

Intermediate Complexity Wing (ICWSE01.dat)

This intermediate complexity wing shown in Figure 4-4 was solved using MSCADS and IOPT in MD

Nastran 2010. In this Section, ALLDOT (DOT and BIGDOT) is used as an external optimizer to solve

this problem.

Figure 4-4 Intermediate Complexity Wing Model

This composite structure is modeled with 62 CQUAD4 elements, 55 CSHEAR elements, 39 CROD

elements, and 39 CONM2 elements. Two static load cases are imposed along with a normal modes

subcase. The objective is to minimize the weight. There are 153 sizing design variables and 414 stress

and failure index constraints and lower and upper bounds on the first fundamental frequency. To use

ALLDOT, a parameter OPTCOD=ALLDOT is added on Bulk Data Entry DOPTPRM such as

CONNECT SERVICE ALLDOT ALLDOT.OpenMDO

...

...

...

DOPTPRM APRCOD 2 DESMAX 30 DELP 0.50 DPMIN 0.001

delx 0.49 p1 1 p2 12 OPTCOD ALLDOT

METHOD 1

MEHTOD=1 is the DOT's MMFD method, METHOD=4 is the BIGDOT algorithm.

Table 4-5 shows the DOT and BIGDOT results for this example and all results are comparable.

Main Index

45

CHAPTER 4

Contents

Table 4-5 Intermediate Complexity Wing Optimization Results

Guidelines and Limitations

The output from external optimizers may not be written to MD Nastran *.f06 file. It is machine

dependent. To enforce the external optimizer output into MD Nastran *.f06 file, users can use a printf06

utility delivered with SDK to replace Fortran Write statements (see detail in User Defined OpenMDO

Ref.4).

GUI Support

There is no GUI support for OpenMDO.

References

1. MD Nastran 2010 - SCA Framework Users Guide (DEV)

2. MD Nastran 2010 Design Sensitivity and Optimization Users Guide, The MSC Software

Corporation, 2010

3. MD Nastran 2011 Quick Reference Guide, The MSC Software Corporation.

4. MD Nastran 2011 User Defined Services

5. DOT Users Guide, Version 5.X, Vanderplaats Research & Development, Inc., 2001. See

page 33.

Initial Value Optimum

DOT

(MMFD)

Optimum

BIGDOT

Optimum

Ipopt

Optimum

MSCADS

(MMFD)

Objective 1.6892+2 1.9893+2 1.9570+2 1.9282+2 1.9624+2

Max Con 5.8425+2 1.4267-03 1.5355-04 5.5370-03 2.7015-03

# Cycles 14 20 20 14

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

User Defined OpenMDO

TM

External Optimizer Service

46

Main Index

Chapter 5: Aeroelasticity MD Nastran & MSc Nastran 2011 Release Guide

5

Aeroelasticity

Improvements in Splining

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Improvements in Splining

48

Improvements in Splining

Introduction

The MD R2 release of Nastran had a number of enhancements in the aeroelastic splining capability.

These included introduction of the METH=RIS (Radial Interpolation Spline) on the SPLINE4 and

SPLINE5 entries and a SPRELAX bulk data entry that enables "relaxation" of the spline behavior of one

spline based on displacements of an adjacent spline. For the MD/MSC Nastran 2011.1 release, these

features are being further enhanced by:

1. Implementation of an automated partitioning concept that breaks a single SPLINE4 using

METH=RIS into a number of smaller splines.

2. The ability to restrict the relaxation to the DISP (displacement) instance of the spline while not

applying it to the FORCE (force) instance.

Benefits

Improved performance for Large Models SPLINE4 entries with METH=RIS

There is a nascent capability within Nastran to apply the aeroelastic capabilities to aerodynamic models

that use CFD techniques. Unlike the panel methods that have been the workhorse of Nastran

aeroelasticity, these CFD models can have thousands and even a million aerodynamic grids. This presents

a challenge to the splining methods that were developed with that thought that no more than several

hundred grids would be splined. Originally, it was believed that the RIS method, which specifies a region

over which the spline is to act would provide satisfactory performance even when the spline itself is over

a wide area. However, the equilibrium equations that underlay the spline techniques force the

participation of all the grids in spline calculations and can result in poor performance. A remedy for this

is to break a single spline into a number of smaller splines using techniques put forth by Prof. Holger

Wendland (Ref. 1)

1. Wendland, Holger, Fast Evaluation of Radial Basis Functions: Methods Based on Partition of

Unity, Contained in: Approximation Theory X: Wavelets, Splines and Applications, Chui,

Schumaker and Stockler (eds), Vanderbilt University Press, Nashville, TN, 2002 (pp. 473-483)

With a smaller set of grids for each spline, the required matrix operations are applied to smaller matrices.

Equally important, the resulting spline matrices are less dense so that subsequent matrix operations (such

as partitioning and multiplies) are faster and require less disk space.

Limitation of Relaxation to the DISP Spline

It can be shown that the relaxation techniques invoked via the SPRELAX bulk data entry cannot be

guaranteed to preserve the moments acting on the model (forces are preserved). The severity of this

shortcoming has not been quantified, but it seems prudent to provide the user with a way of applying the

relaxation to only the DISP spline but not the FORCE spline. The second enhancement does this.

Main Index

49

CHAPTER 5

Contents

User Inputs

The MDLPRM bulk data entry has the following additional parameters:

Outputs

There are no new .f06 outputs as a result of these enhancements. If the RELAXF MDLPRM parameter

is set, the FORCE spline will be affected, resulting in changes in the forces transferred from the aero

model to the structure. For splines applied to many structural grids, the use of the NSGRDS4 MDLPRM

parameter, with or without the accompanying PEXTS4 MDLPRM parameter, will reduce the CPU time

spent in the GI module and in subsequent postprocessing and in the amount of disk space required by the

run without degrading the quality of the results.

Guidelines and Limitations

The performance enhancements are limited to the SPLINE4 with METHOD=RIS. This was done

because the applications which surfaced this performance issues used this option.

The utility of the spline partitioning is limited to large models where a single spline involves thousands

of structural grids. Limited study has been made for the best value of NSGRDS4, with a value of 200

seeming to be a good compromise between specifying a small value that would necessitate many small

splines and could affect the quality of the results and specifying a large value which would result in

minimal improvement in the performance. The PEXTS4=10.0 default is recommended, but

experimentation could be performed to see if a different value provides improved quality in the results.

Note that PEXTS4 is only used in conjunction with NSGRDS4. Further, if NSGRDS4 is greater than the

number of structural grids associated with the spline, no partitioning occurs.

Name Description, Type and Default Values

NSGRDS4 Number of structural grids to be used in dividing a SPLINE4 using the RIS spline

method. The spline will be divided into NGRIDS/NSGRDS4 regions, where

NGRIDS is the number of grids listed on the associated SET1 entry. (Integer > 0,

default=0. If NGRIDS < NSGRDS4, or NSGRDS4 is not specified, no divisions will

occur.)

RELAXF If there are SPRELAX entries, RELAXF=1 will result in the GI module outputting

the GPGK datablock without relaxation while the GDGK datablock will include the

relaxation effects.

=0 (Default) Relaxation is applied to all splines

=1 Relaxation is only applied to the splining of displacements.

PEXTS4 Used in conjunction with NSGRDS4. After partitioning the spline, each of the

smaller splines will be extended by PEXTS4 in each direction (top, bottom, left and

right). The value is expressed in percent so that PEXTS4=10.0 would extend the four

boundaries by 10%. Real (0.0<PEXTS4<100.0, default=10.0)

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Improvements in Splining

50

The RELAXF MDLPRM parameter is provided to allow users to experiment with the relaxation

behavior.

Examples

The primary application of the partitioning concept has been made to a client provided model that is

proprietary. Selected results are presented here:

The model was run using a system MD Nastran 2010.1 and with MD & MSC Nastran 2011.1. The

command line for both runs specified mem=8gb, sscr=300gb and buffsize=65537. CPU and I/O

resources expended for steps in the processing include:

It is seen that there is significant speedup in the actual creation of the splines (GI) but that some of this

speedup is given back in the blending step because of the complexity of now blending blended matrices.

Overall there is a 50% speedup in the creation of the splines and an 80% speedup in the postprocessing

Number of structural grids (GRID entries) 59738

Number of aerodynamic grids (AEGRID entries) 367337

Number of aerodynamic elements (AETRIA3 entries) 732737

Number of SPLINE4 Entries 20

Number of Blends (SPLBLND2 entries) 20

Number of Relax entries (SPRELAX entries) 7

Number of SPLINRB entries 8

Task MD 2010.1 MD 2011.1 Speedup (percent)

I/O

(GBS)

CPU (SECS I/O (GBS) CPU (SECS I/O (%) CPU (%)

Preprocessing up

to GI

0.2 21 0.28 20 -40.00% 4.76%

Create Initial

Splines

417 4642 110 390 73.62% 91.60%

Spline Blending 428 1635 221 2694 48.36% -64.77%

Total Time in GI 845 6277 331 3084 60.83% 50.87%

Postprocessing 1628 6461 277 1270 82.99% 80.34%

Total 2473.2 12759 608.28 4374 75.41% 65.72%

Main Index

51

CHAPTER 5

Contents

operations. This is explained by the fact that the resulting spline matrix is much less dense as shown in

the following table:

By reducing the density of the final spline matrix by 84.5%, there is a corresponding reduction in the

amount of disk space required and in the matrix operations (such as partitioning, transpose and multiply)

that occur subsequent to the GI module. It is to be noted that in a typical scenario, the spline would be

created once in a study and then reused many times for different operations such as splining new mode

sets of creating new loads due to a new CFD analysis.

Three small decks are provided in the tpl to simply show the input of the data:

1. Asm3plt1 - a simple plate model with 121 structural grids and 441 aero grids. A single spline

connects all aero and structural grids. The job is run with NSGRDS4=50 and PEXTS4=20. The

results are essentially identical to plate01 in the test library.

2. Asm3plt4 - The same simple plate model as asm3plt1 but now 4 splines with overlap and

blending connect all aero and structural grids. The job is run with NSGRDS4=20 and no

PEXTS4. The results are essentially identical to plate01 in the test library.

3. Asm3rlxf - A variation of tpl deck wing07 with MDPRM RELAXF set to 1. This results in

separate force and displacement splines. Answers were independently checked to verify that the

force spline that is output is identical to what is produced when separate FORCE and DISP

splines are created and the DISP spline has relaxation applied to it and the FORCE spline does

not.

Parameter MD 2010.1 MD 2011.1 Improvement

Density of the GPGK Matrix 1.08E-02 1.67E-03 84.54%

SCRATCH Disk Space (GB,

Highwater)

278 45.6 83.60%

SCRATCH 300 Space (GB,

Highwater)

169 40.7 75.92%

NSGRDS4 n/a 200

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Improvements in Splining

52

Main Index

Chapter 6: Elements

MD Nastran & MSC Nastran 2011 Release Guide

6

Elements

Rotordynamics Enhancements

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Rotordynamics Enhancements

54

Rotordynamics Enhancements

Starting with MD Nastran 2011, the user is allowed to provide their own SCA-object to calculate the

properties of CBUSH2D elements. In addition, it is possible to use the ROMAC (University of Virginia

ROtating Machinery And Controls laboratory, http://www.virginia.edu/romac/) THPAD routine (which

must be obtained from ROMAC) to calculate the properties of a tilting pad journal bearing.

The user interface for the user-defined properties of a CBUSH2D consists of the associated PBUSH2D

and an ELEMUDS entry, which defines the data which is to be passed to the user routine. In addition, the

sca service must be attached to the run using the CONNECT SERVICE statement.

The format of the ELEMUDS - MD Only (p. 1790) in the MD/MSC Nastran Quick Reference Guide is:

Allows the user to provide element property routines for use with enhanced MD Nastran nonlinear

elements in MD Nastran SOL 400 only.

Format:

Examples:

In FMS Section of MD Nastran input stream:

CONNECT SERVICE ELEMENT SCA.MDSolver.Util.Ums

In Bulk Data:

PID is the property id, PTYPE is the property entry type (in this case, PBUSH2D), GROUP is the service

name, UNAME is the user subroutine name, and DEPEN is the flag which determines whether the

ELEMUDS - MD Only

Element Property User Defined Service or Subroutine

1 2 3 4 5 6 7 8 9 10

ELEMUDS

PID PTYPE GROUP UNAME DEPEN

INT IDATA1 IDATA2 IDATA3 IDATA4 IDATA5 IDATA6 IDATA7

IDATA8 IDATA9 ... ... IDATAn

REAL RDATA1 RDATA2 RDATA3 RDATA4 RDATA5 RDATA6 RDATA7

RDATA8 RDATA9 ... ... RDATAn

CHAR CDATA1 CDATA2 ... ... CDATAn

ELEMUDS

17

PBUSH2D ELEMENT

USELEM

ELEMUDS

17

PBUSH2D ELEMENT

USELEM

REAL .00134 1.467+4 .03

INT 8 3

Main Index

55

CHAPTER 6

Contents

properties are frequency-dependent or not (only available in SOL's 108, 111, 128, and 400 currently). If

the properties are frequency-dependent, then the word FREQ should be entered in the DEPEN field.

An example of the input to use a user-defined property is:

In the above, element 2020 references PBUSH2D,1000. The ELEMUDS entry with the same id (1000)

as the PBUSH2D instructs the program to use the user-provided service TESTC to calculate the element

properties when a CBUSH2D references PBUSH2D 1000, and the properties will be frequency-

dependent.

On the ELEMUDS, the lines which start with INT, REAL, and CHAR are used to provide integer, real,

and character input respectively to the user subroutine. The start of a FORTRAN subroutine to use the

data passed to the user subroutine might be:

Where:

FREQVA - RDATA1 on the first call (nominal value) and the current frequency

value (if the element is frequency dependent)

IARRAY = INT values from the ELEMUDS

RARRAY = real values from the ELEMUDS

CIARRAY = character data from the ELEMUDS

KXX,KYX,KXY,KYY,CXX,CYX,CXY,CYY = coefficients to be passed back from the

user service

LEN_IARRAY, LEN_RARRAY, LEN_CARRAY - length of the associated arrays

ELID - current element id

ERROR_CODE = error code to be returned to Nastran.

SUBROUTINE EXT_CBUSH2D (FREQVA, IARRAY, ARRAY, CIARRAY, KXX, KYX, KYY,

& CXX, CYX, CXY, CYY, LEN_IARRAY, LEN_RARRAY, LEN_CARRAY,

& ELID, ERROR_CODE

Main Index

MD Nastran & MSC Nastran 2011 Release Guide

Rotordynamics Enhancements

56

The user subroutine may write to the f06 file and provides the stiffness and damping coefficients for the

element. NOTE - it is not required that the stiffness and damping coefficients be symmetric, but if they

are not symmetric, the associated matrix may cause runs in solutions which depend on symmetric

element matrices (statics, normal modes, for example) to fail.

If you wish to use the ROMAC THPAD, then the ELEMUDS should have the word "THPAD" in the

UNAME field and you must have the ROMAC THPAD routine attached as a service. In this case, input

for the THPAD routine is provided using the THPAD - MD Only, 3261 bulk data entry with the same ID

as the ELEMUDS and PBUSH2D.

The data on this entry is the data required by the ROMAC THPAD code. The final NCASE lines are

values for each speed which you wish to provide data for. The program will use the first set to calculate

the nominal properties of the element and (if you are using a frequency-dependent element in a solution

which supports it), the program will interpolate between the speed values provided to calculate the values

which will be passed to the THPAD to calculate the frequency-dependent element properties.

Pad Data {

SpeedLoad

Case Data {

Main Index

- MSC.Access User's Manual Version 2005.1Uploaded byMSC Nastran Beginner
- MD Nastran R2.1 Release GuideUploaded byMSC Nastran Beginner
- MSC Nastran 2012 DMAP Programmer’s GuideUploaded byMSC Nastran Beginner
- MSC Nastran 2007 r1 Release GuideUploaded byMSC Nastran Beginner
- MD R2 Nastran Release GuideUploaded byMSC Nastran Beginner
- MSC Nastran 2012 Design Sensitivity and Optimization User’s GuideUploaded byMSC Nastran Beginner
- MSC Nastran 2012 PAA User’s Guide (Pre-Release)Uploaded byMSC Nastran Beginner
- METIS - A Software Package for Partitioning Unstructured Graphs, Partitioning Meshes, and Computing Fill-Reducing Orderings of Sparse Matrices Version 4.0Uploaded byMSC Nastran Beginner
- MSC Nastran 2012 Loads Management User’s Guide (Pre-Release)Uploaded byMSC Nastran Beginner
- MSC.Nastran 2005 Release GuideUploaded byMSC Nastran Beginner
- MSC.Nastran 2001 Numerical Methods User’s GuideUploaded byMSC Nastran Beginner
- MSC.Nastran 2004 r3 Release GuideUploaded byMSC Nastran Beginner
- MSC Nastran 2012 Installation and Operations GuideUploaded byMSC.Software
- mdr3_nastran_release_guideUploaded bycopymaster2000
- MSC.Nastran 2001 Release GuideUploaded byMSC Nastran Beginner
- MSC.Nastran 2002 Thermal Analysis User’s GuideUploaded byMSC Nastran Beginner
- msc_nastran_2012_demo_problemsUploaded bySaad Al Hely
- MSC.Nastran 2001 Superelement User’s GuideUploaded byMSC Nastran Beginner
- MSC Nastran 2012 Explicit Nonlinear (SOL 700) User’s GuideUploaded byMSC Nastran Beginner
- MSC Nastran 2010 Release GuideUploaded byMSC.Software
- Workshop 23Uploaded byVignesh Selvaraj
- MSC Nastran 2012 Dynamic Analysis User’s GuideUploaded byMSC Nastran Beginner
- MSC Nastran Quick Reference Guide MSC Nastran 2012 Quick Reference GuideUploaded byMSC Nastran Beginner
- MD Nastran 2010 Release GuideUploaded byMSC Nastran Beginner
- 2006 Md Nastran Release GuideUploaded byHarsh
- MSC Nastran 2012 Linear Static Analysis User’s GuideUploaded byMSC Nastran Beginner
- Msc Nastran 2012 Release GuideUploaded byMSC.Software
- MSC Nastran 2008 r1 Release GuideUploaded byMSC Nastran Beginner
- MSC Nastran 2012 Implicit Nonlinear (SOL 600) User’s GuideUploaded byMSC Nastran Beginner
- MSC Nastran 2012 User Defined ServicesUploaded byMSC Nastran Beginner

- NX Nastran Theoretical ManualUploaded byMSC Nastran Beginner
- Femap Topology OptimizationUploaded byMSC Nastran Beginner
- Femap v10.3 New Features and Corrections Updates and EnhancementsUploaded byMSC Nastran Beginner
- NX Nastran Numerical Methods User's GuideUploaded byMSC Nastran Beginner
- Other Analysis Program InterfacesUploaded byMSC Nastran Beginner
- NX Nastran Handbook of Nonlinear Analysis (Solutions 106 and 129)Uploaded byMSC Nastran Beginner
- Femap Neutral File FormatUploaded byMSC Nastran Beginner
- Femap CommandsUploaded byMSC Nastran Beginner
- NX Nastran 8 Parallel Processing GuideUploaded byMSC Nastran Beginner
- Welcome to Femap README for Previous VersionsUploaded byMSC Nastran Beginner
- NX Nastran 8 Rotor Dynamics User's GuideUploaded byMSC Nastran Beginner
- Introduction to Nastran Sol 200 Size OptimizationUploaded byMSC Nastran Beginner
- NX Nastran 8 Advanced Nonlinear Theory and Modeling GuideUploaded byMSC Nastran Beginner
- What's New in Femap 10.3Uploaded byMSC Nastran Beginner
- Examples Femap 1031Uploaded byCesar Gonzalez Murillo
- Femap User GuideUploaded byMSC Nastran Beginner
- NX Nastran 8 Element Library ReferenceUploaded byMSC Nastran Beginner
- NX Nastran 8 Superelement User's GuideUploaded byMSC Nastran Beginner
- NX Nastran 8 Getting Started TutorialUploaded byMSC Nastran Beginner
- Femap Installation GuideUploaded byMSC Nastran Beginner
- Femap API ReferenceUploaded byMSC Nastran Beginner
- NX Nastran 8 Thermal Analysis User's GuideUploaded byMSC Nastran Beginner
- NX Nastran 8 User's GuideUploaded byMSC Nastran Beginner
- NX Nastran 8 Installation and Operations GuideUploaded byMSC Nastran Beginner
- NX Nastran 8 Release GuideUploaded byMSC Nastran Beginner
- Femap Getting StartedUploaded byMSC Nastran Beginner
- NX Nastran 8 DMAP Programmer's GuideUploaded byMSC Nastran Beginner
- NX Nastran 8 Aeroelastic Analysis User's GuideUploaded byMSC Nastran Beginner
- VisQ Queue Manager System Guide Version 10.3Uploaded byMSC Nastran Beginner
- NX Nastran 8 Advanced Dynamic Analysis User's GuideUploaded byMSC Nastran Beginner

- AN75705 Getting Started With EZ-USB FX3 (1)Uploaded byjcfermosell
- PI-PCS Interface for SAP R3 4.5Uploaded byRanjan
- Transparent and Constant Secure Service for User Identity Verification Using BiometricsUploaded byMSM
- Java8 TutorialUploaded bymarchanthuan
- Ryanair vs. ExpediaUploaded byGeekWire
- Www.winprog.org ControlsUploaded byTaiwo
- DSpace ManualUploaded byNayeli Moctezuma Moreno
- WinUsb HowToUploaded bybrabandm_187067999
- Notes10 RMIUploaded byVijay Chintapalli
- ReleaseNotes RN v2012SEUploaded byriamchile
- CA210 - EDI Interface.pdfUploaded bySubhendu Sahu
- 2170012_Software Integration Application Notes for Sprint OMA-DM_rev2Uploaded byAntonio Novakovic
- mstrintroUploaded byatilabayat
- ParkIT Programmers ManualUploaded byakkca57
- Spring Framework Reference 4.0Uploaded byjayavardhankoti
- Using Layer 7's API Gateway for vCloud ArchitecturesUploaded byLayer7Tech
- Db en Profinet Device Stack 106528 en 01Uploaded byjurica_2006
- XML-API-6.0Uploaded byNervinderSingh
- Design and Drawing Automation using Solidworks API.pdfUploaded byPutra Mulya
- ABAP4TrainingCourseWeek4Uploaded bylukesh_sap
- gts_110_opsguideUploaded byvid1122
- FT30Uploaded bySer Humano
- r-google-analytics.pdfUploaded byHong Walessuksan
- AdMob API DocumentationUploaded byVinh Le
- Hd 2017Uploaded byion2010
- Py4Inf-13-WebServicesUploaded byRoze
- Removable Storage in VistaUploaded byapi-3854562
- opos-apg110Uploaded byDaniel Bojorge
- RFC Monitoring 1Uploaded bykowan7
- Documenting Software Architecture - Documenting InterfacesUploaded bycvelem