MSC Nastran 2012 Design Sensitivity and Optimization User’s Guide - PDFCOFFEE.COM (2025)

MSC Nastran 2012 Design Sensitivity and Optimization User’s Guide

Main Index

Corporate

Europe

Asia Pacific

MSC.Software Corporation 2 MacArthur Place Santa Ana, CA 92707 Telephone: (800) 345-2078 FAX: (714) 784-4056

MSC.Software GmbH Am Moosfeld 13 81829 Munich GERMANY Telephone: (49) (89) 43 19 87 0 Fax: (49) (89) 43 61 71 6

MSC.Software Japan Ltd. Shinjuku First West 8F 23-7 Nishi Shinjuku 1-Chome, Shinjuku-Ku Tokyo 160-0023, JAPAN Telephone: 0120-924-832 (toll free, Japan only) Mobile phone: 03-6911-1222 Fax: (81) (3)-6911-1201

Worldwide Web www.mscsoftware.com

User Documentation: Copyright  2011 MSC.Software Corporation. Printed in U.S.A. All Rights Reserved. This document, and the software described in it, are furnished under license and may be used or copied only in accordance with the terms of such license. Any reproduction or distribution of this document, in whole or in part, without the prior written authorization of MSC.Software Corporation is strictly prohibited. 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 document are for illustrative and educational purposes only and are not intended to be exhaustive or to apply to any particular engineering problem or design. THIS DOCUMENT IS PROVIDED ON AN “AS-IS” BASIS AND ALL EXPRESS AND IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, ARE DISCLAIMED, EXCEPT TO THE EXTENT THAT SUCH DISCLAIMERS ARE HELD TO BE LEGALLY INVALID. MSC.Software logo, MSC, MSC., MD, Adams, Dytran, Marc, Mentat, and Patran are trademarks or registered trademarks of MSC.Software Corporation or its subsidiaries in the United States and/or other countries. NASTRAN is a registered trademark of NASA. LS-DYNA is a trademark of Livermore Software Technology Corporation. All other trademarks are the property of their respective owners. LAM/MPI Copyright (c) 2001-2004 The Trustees of Indiana University. All rights reserved. Copyright (c) 1998-2001 University of Notre Dame. All rights reserved. Copyright (c) 1994-1998 The Ohio State University. All rights reserved. This product includes software developed at the Ohio Supercomputer Center at The Ohio State University, the University of Notre Dame and the Pervasive Technology Labs at Indiana University with original ideas contributed from Cornell University. For technical information contact Andrew Lumsdaine at the Pervasive Technology Labs at Indiana University. For administrative and license questions contact the Advanced Research and Technology Institute at 1100 Waterway Blvd. Indianapolis, Indiana 46202, phone 317-274-5905, fax 317-274-5902. MPICH Copyright 1993, University of Chicago and Mississippi State University. 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. Use, duplication, or disclosure by the U.S. Government is subject to restrictions as set forth in FAR 12.212 (Commercial Computer Software) and DFARS 227.7202 (Commercial Computer Software and Commercial Computer Software Documentation), as applicable. Revision 0. October 25, 2011 NA*V2012*Z*DSO*Z*DC-USR

Main Index

Contents Design Sensitivity and Optimization User’s Guide

Preface About this Book 2 Organization 3 Developments Introduced Since Version 68 of MSC Nastran List of MSC Nastran Books Technical Support Internet Resources

1

4

8

9 10

Getting Started Introduction 2 What is Design Optimization? 2 What is Design Sensitivity? 2 Why Use Design Sensitivity and Optimization? 3 How Does Design Optimization Differ from Analysis? Numerical Optimization Basics 9 How Much Do I Need to Know About Optimizers? An Illustration 9 Numerically Searching for an Optimum 13

5 9

Structural Optimization 22 Relating the Finite Element Analysis Model to the Design Model 22 Managing the Structural Optimization Task 22 Overview of Approximation Concepts Used in Structural Optimization Summary

26

2 Fundamentals of Design Sensitivity and Optimization in MSC Nastran Overview of Fundamentals Initial Design 29

Main Index

28

23

iv Design Sensitivity and Optimization User’s Guide

Structural Analysis 29 Constraint Screening 30 Sensitivity Analysis 30 Optimizer 30 Approximate Model 30 The Improved Design 30 Converged 31 The Design Model Design Variables Designed Properties Type-1 Properties Type-2 Properties Type-3 Properties Designed Shapes Design Responses Type-1 Responses Type-2 Responses Type-3 Responses

32 32 32 34 37 37 38 38 38 38 39

Multidisciplinary Analysis 42 Response Calculation 43 Mode Tracking 45 Constraint Screening

46

Design Sensitivity Analysis 49 General Considerations 49 Element and Grid Responses 52 Optimization 72 Connection Between the Optimizer and the Approximate Model

72

The Approximate Model 76 Formal Approximations 76 A Simple Linear Design Space 77 Move Limits 79 Design Variable Limits 79 Property Limits 80 Transformation of the Approximate Optimization Task to a Feasible Design 83 Function Evaluation 84 Gradient Evaluation 91 Tests for Convergence 96 Convergence of Design Cycles: Hard and Soft Convergence

Main Index

96

CONTENTS v

Special Topics 104 Discrete Variable Optimization 104 Fully Stressed Design 105 Trust Region 107 Superelement Optimization 113 Automatic External Superelement Optimization (AESO) 116 Randomization of a User’s Input Data File 129 Modified Objective Function 131 Optimization of Nonlinear Structural Responses (Pre-release) 132 Advanced Numerical Techniques in SOL 200 145 Parallel Sensitivities 148 Matrix Domain Automated Component Modal Synthesis (MDACMS) 149 Special Considerations When Designing One-Dimensional Bending Elements 150 MultiOpt 153 ARBITRARY BEAM CROSS SECTION 161

3

Developing the Design Model for Sensitivity and Optimization Overview of Design Modeling

165

Case Control for Design Optimization Defining the Design Variables

166

168

Relating Design Variables to Properties Designating the Design Responses DRESP1 Bulk Data Entries 174 DRESP2 Bulk Data Entries 174 DRESP3 Bulk Data Entries 180 Defining the Objective Function Defining the Constraints

4

182

184

Input Data Optimizers (Licensing)

189

File Management 190 Shape Optimization 190 User Defined Beam Libraries External Responses 191

Main Index

174

190

171

vi Design Sensitivity and Optimization User’s Guide

Executive Control 192 Solution 200 192 Case Control Section 193 Analysis Discipline Definition 193 Design Task Definition 194 Mode Tracking 196 Shape Basis Vector Computation 198 Generation of a New Bulk Data File 198 Bulk Data Entries 199 BNDGRID 199 BEADVAR 200 DCONADD 204 DCONSTR 204 DDVAL 207 DEQATN 208 DESVAR 211 DLINK 213 DOPTPRM 215 DRESP1 215 DRESP2 220 DRESP3 225 DSCREEN 228 DTABLE 230 DTABLE2 231 DVBSHAP 232 DVCREL1 233 DVCREL2 235 DVGRID 237 DVMREL1 238 DVMREL2 240 DVPREL1 242 DVPREL2 244 DVSHAP 246 MODTRAK 247 STOCHAS 248 TOMVAR 249 TOPVAR 251 Parameters Unique to Design Sensitivity and Optimization Design Responses DRESP1 257

Main Index

257

254

CONTENTS vii

Optimization Parameters DOPTPRM 275

275

External Response 285 External Response or Type-3 Response

285

User Interface for Setting Up External Response 288 Creating a DRESP3 entry 288 Write C or Fortran Routines to Calculate Response Based on Template Routines 289 Build External Servers using SCons Tool 294 Creating a CONNECT Command 300 Creating an Evaluator Connection File 301 Submitting a Nastran Job with the gmconn Keyword 301

5

Output Features and Interpretation Output-Controlling Parameters

307

Design Optimization Output 309 DSOUG4 Output 309 Modification of Move Limit Parameters 333 Special Prints for Fully Stressed Design 333 Special Prints for Discrete Variable Optimization Special Prints for Topology Optimization 336

334

Design Sensitivity Output 337 Formatted Design Sensitivity 337 Unformatted Design Sensitivity 342 Design Punch Output 345 Punch Parameters 345 Example for DESPCH 346 Special Punch Considerations for Topology Optimization Special Punch in the Case of Shape Optimization 347 New Bulk Data File 348 Postprocessing Output 351 Comma Separated Values File 351 Output from PARAM POST 352

6

Shape Optimization Introduction

Main Index

358

347

viii Design Sensitivity and Optimization User’s Guide

Basis Vectors in Shape Optimization

359

Relating Design Variables to Shape Changes 364 Use of Patran to generate a Shape Optimization deck

384

Examples 391 Shape Optimization of a Culvert 391 Analytic Boundary Shapes 401

7

Topology, Topometry and Topography Optimization Topology Optimization 420 Introduction 420 Features and Benefits 420 History of Capability 420 Brief Literature Review

422

Bulk Data and Parameters 424 TOPVAR 424 Bulk Data Entry DRESP1 - Response Types FRMASS and COMP 427 Design Optimization Parameters (DOPTPRM) - TCHECK and TDMIN Modeling Guidelines and Limitations Modeling Tips 431 Limitations 433

431

Patran User Interface 434 General Topology Optimization Preprocessing Patran Postprocessing 438 Application Examples 442 Bridge Example 442 MBB Beam with Variations 461 Torsion Beam with Variations 466 Engine Mount 472 Optimization Solution (Patran Tutorial 2) Topology Optimization with Glued Contact Topometry Optimization Introduction 504 Benefits 504 Input 505 Output 507 Guidelines and Limitations

Main Index

504

507

474 497

434

427

CONTENTS ix

Example 1 - Three-bar Truss (tomex1.dat) Input 509 Output 510 Example 2 – Car Model Topometry Design Post-processing Topometry Results 512 Topography (Bead or Stamp) Optimization Introduction 515 Benefits 515 Input 515 Outputs 519 Guidelines and Limitations 519 Example 3 – A Square (togex1.dat) 520 Input 520 Output 521 Postprocessing Topography Results 522

508 511 515

Toptomization 525 Example 1 525 Example 2 530

8

Example Problems Introduction

536

Three-Bar Truss 538 Analysis Model Description Design Model Description

539 539

Vibration of a Cantilevered Beam (Turner's Problem) Analysis Model Description 562 Design Model Description 562 Cantilevered Plate 566 Analysis Model Description Design Model Description

567 567

Stiffened Plate 575 Analysis Model Description Design Model Description

576 579

Dynamic Response Optimization

561

581

Twenty-Five Bar Truss, Superelement and Discrete Variable Optimization 592

Main Index

x Design Sensitivity and Optimization User’s Guide

Analysis Model Description Design Model Description

592 593

Design Optimization with Composite Materials with Fully Stressed Design 600 Acoustic Optimization RMS Response

607

615

Transient Dynamic Optimization

622

External Response to Include Alternative Buckling Response Continuing the Design Process in a Subsequent Job 638 Continuing a Property Optimization Design Task 638 Continuing a Shape Optimization Design Task 641 Restarting from a Previous Analysis 642

A

Nomenclature, Glossary of Terms, and References Nomenclature

648

Glossary of Terms References

B

651

659

Adding Your Own Beam Cross-Section Library Introduction

664

BSCON Subroutine BSBRPD Subroutine

665 667

BSGRQ Subroutine

678

BSBRT Subroutine

679

BSBRID Subroutine

682

BSBRGB Subroutine

688

BSBRCD Subroutine

694

BSMSG Subroutine

700

Linking Your Library to MSC.Nastran

Main Index

701

627

CONTENTS xi

Example of Building and Linking a Beam Server

C

The IPOPT Algorithm IPOPT 704 Introduction 704 Benefits 704 Theory 704

Main Index

702

xii Design Sensitivity and Optimization User’s Guide

Main Index

Preface Design Sensitivity and Optimization User’s Guide

Preface

Main Index

About this Book

2

List of MSC Nastran Books

Technical Support

Internet Resources

9 10

8

2 Design Sensitivity and Optimization User’s Guide About this Book

About this Book MSC Nastran is a general purpose finite element program which solves a wide variety of engineering problems. It is developed, marketed and supported by the MSC.Software Corporation. The MSC Nastran 2012 Design Sensitivity and Optimization User's Guide is intended to explain the capability of MSC Nastran to predict the effect of changes in the structural model on structural responses (sensitivity) and to resize the structure so as to satisfy imposed design conditions while taking a particular response to minimum (or maximum) value (Optimization). As such, it is the User’s Guide for two MSC Nastran modules: Design Optimization and Topology Optimization. The Design Optimization capability performs general tasks while Topology Optimization is a special purpose capability intended to find the optimal distribution of material. Note that sensitivity analysis is available in standard MSC Nastran and does not require additional modules. Guidance is provided in preparing the input and assessing the output. A number of examples are provided to illustrate the use of MSC Nastran Design Sensitivity and Optimization. This guide has been made possible by the work of numerous people at the MSC.Software Corporation. Notably, the Optimization Project within the Nastran Development organization has provided the technical developments of the capability. Members of this group are Dr. Erwin Johnson, Dr. Gee (David) Chou, Dr. Shenghua Zhang, Dr. Xiaoming Yu and Dr. Swaminathan Natarajan. Mr. Mike Reymond has led the development effort associated with the DMAP (Direct Matrix Abstraction Program) used in the implementation of this capability. Dr. Srinivas Kodiyalam provided MSC.Software with his enhanced version of the ADS source code at no cost. This is the fifth edition of this guide. The first was issued in conjunction with Version 67 of MSC Nastran in 1992 and the second was issued in 1994 in conjunction with Version 68. Both of these documents were edited by Dr. Gregory Moore and his contributions are gratefully acknowledged. The organization from these earlier guides, as well as much of the material, has been retained for subsequent editions. The third edition was issued in conjunction with the release of MSC Nastran 2004. The fourth addition corrected errors and omissions in the third edition and added material for the 2005 release of MSC Nastran. These two additions were developed by Dr. Erwin Johnson. This fifth edition adds material for the 2005R2, 2005R3 and 2008R1 releases of MSC Nastran and R1, R2, R2.1 and R3 releases of MD Nastran, updates Patran support for Sol200, presents topics Shape Optimization and External Responses as standalone and removes topics Solution Sequence considered as out of scope.

Main Index

Preface 3 About this Book

Organization The Guide is divided into eight chapters and three appendices. A brief description of each of these is: Chapter 1. Getting Started This chapter provides an overview of design sensitivity and optimization and is presented at an introductory level. This chapter assumes limited knowledge of the field and can be skimmed or skipped altogether by knowledgeable workers in this area. Chapter 2. Fundamentals of Design Sensitivity and Optimization in MSC Nastran This chapter can be regarded as a theoretical overview of the Design Sensitivity and Optimization capability that identifies and describes the concepts that are used. There is minimal reference to the user interface in this chapter. Instead, it provides information on the algorithms used and is intended for the high-end user and for developers. Chapter 3. Developing the Design Model for Sensitivity and Optimization This chapter serves as a bridge between the concepts of Chapter 2 and the input description of Chapter 4. It is intended to provide an overview of the concept of the Design Model as it is implemented in MSC Nastran and provides guidelines for the use of the capabilities. Chapter 4. Input Data This chapter provides explicit descriptions of each of the Case Control Commands, Bulk Data Entries and Parameters that are related to design sensitivity and optimization. Chapter 5. Output Features and Interpretation This chapter provides a description of the output available from running design sensitivity and optimization tasks. In addition to a comprehensive discussion of the output provided in the.f06 output file, there is also mention of the design sensitivity and optimization outputs that are available in the.pch file and that can be used in post-processors, especially Patran. Chapter 6. Shape Optimization This chapter focuses exclusively on shape optimization. The reader can use this as a standalone reference for shape optimization. A discussion of Basis Vectors, various methods available to generate basis vectors, various sections of the input deck unique to shape optimization, example problems and Patran support are the topics that make up this chapter. Chapter 7. Topology, Topometry and Topography Optimization This chapter is intended to provide a complete reference to topology, topometry and topography optimization. It contains the theory, MSC Nastran specific input deck entries, features and guidelines, a complete tutorial to Patran usage for pre- and post-processing and example problems.

Main Index

4 Design Sensitivity and Optimization User’s Guide About this Book

Chapter 8. Example Problems A series of example problems are given to illustrate the capabilities available in MSC Nastran for Design Sensitivity and Optimization. All the example problems are available in the MSC Nastran 2002 TPL (Test Problem Library) with the naming convention DSOUGxx.dat. It is expected that all readers will benefit from reading this chapter and practising the example problems. Studying the effects of variations on the provided input should be particularly beneficial. Appendix A. Nomenclature and Glossary of Terms This appendix provides a quick reference for the nomenclature used in this guide and to some technical terms used throughout. Appendix B. Adding Your Own Beam Cross-section Library Appendix C. The IPOPT Optimizer This appendix provides a brief description of the theory contained in the IPOPT optimization algorithm.

Developments Introduced Since Version 68 of MSC Nastran New versions of MSC Nastran are released periodically. This guide has been prepared with minimal reference to the version number and is consistent with the 2012 Release of MSC Nastran. As mentioned above, the previous version of this guide was released in conjunction with the 2005 Release of MSC Nastran. There have been several significant releases in the meantime and it is felt to be of historical interest to show how each of these releases added to the Design Sensitivity and Optimization capability. It is also of great practical interest to those who are not using the most recent release to see which of the capabilities described in this Guide are not available to them. The major enhancements since Version 68 are identified here. Discussions of each of these topics are included in this Guide. Version 68.2 • Support for inertial relief in a statics analysis • Consideration of differential stiffness effects in buckling sensitivity analysis

Version 69 • Design of the PBARL This was done in conjunction with the introduction of the beam library in the same release. The beam library also allowed for the analysis of PBEAML properties, but their design was deferred until the Version 70.7 release. • Mode tracking • Formatted design sensitivity prints • Support for multiple boundary conditions (normal modes, buckling and flutter) Multiple static

boundary conditions were first supported in Version 68.

Main Index

Preface 5 About this Book

Version 70 • Adjoint sensitivity analysis Version 70.5 • Rigid element sensitivities with shape design changes • Simplified design of beams

There has been an ongoing project to simplify the user requirements and calculations when beams are designed. This has been particularly significant when tapered PBEAMs and PBEAMLs (Version 70.7, et seq.) are designed. Version 70.7 • Design of the PBEAML • Material and connectivity sensitivity • Total weight response

In earlier releases, the weight was computed by multiplying the structural volume by the density of the material. This neglected any non-structural mass and concentrated masses. • Extend the DRESP2

This entailed a number of new features. More significant ones include the ability to include material and connectivity properties and the ability to reference a DRESP2. • Enhanced design data in the punch file • Output of a comma separated values (CSV) file with design data that can be read into a

spreadsheet MSC Nastran 2001 • Complex eigenvalue sensitivity and optimization • Discrete variable optimization • Random response sensitivity and optimization • Fully stressed design

MSC Nastran 2004 • External Response (DRESP3) This is an undocumented feature of the 2001 release. Users should now be able to access this capability with MSC Nastran 2004. • Eigenvector sensitivity and optimization • Subcase dependent frequency excitation sets

Prior to this enhancement, it was necessary to use the same set of excitation frequencies in each frequency response subcase. • DMP and ACMS technology

Main Index

6 Design Sensitivity and Optimization User’s Guide About this Book

• Punch of a complete, unsorted Bulk Data file • Rayleigh Quotient Approximation for eigenvalues/eigenfrequencies • Spanning of subcases and superelements • PSD response sensitivity and optimization • DESVAR Case Control command • Removal of property limit constraints that are redundant with design variable limits

MSC Nastran 2005 • Topology optimization • Composite strength ratio response • Beta and match function for the DRESP2 ADS optimizer • BIGDOT optimizer • Transformation of approximate optimization task for a feasible design

MSC Nastran 2005 R2 • Topology Optimization • BIGDOT Optimizer • Zero Density Material • High’s method for eigenvector sensitivity and optimization

MD Nastran R1 and MSC 2005 R3 • Topology optimization with manufacturability constraints • Revised Optimizer options • Supporting Trust Regions in SOL 200 for Adaptive Move Limits • Support of analysis model value overriding design model value

MD Nastran R2 and MD Nastran R2.1 • Topology optimization enhancements • Automatic External Superlement Optimization

MD Nastran R3 and MSC Nastran 2008 R1 • Enhancements in DRESP3 • Topometry Optimization • Topography Optimization • Permanent glued contact modeling in SOL 200 • Randomization of an Input data file • Random elimination of element types

Main Index

Preface 7 About this Book

• Optimization of nonlinear structural responses (pre-release)

MD Nastran 2010 • Design of Part Superelements • Integer input for DTABLE/DTABLE2 • Invariant DRESP3 gradients • Design of monitor points • Parallel design sensitivities • IPOPT Optimization Algorithm • Optimization of nonlinear response with topology and contact • Multi-Model Optimization - MultiOPT • BIGDOT and DOT are not supplied with MD Nastran 2010. Default Optimizers changed to

MSCADS and IPOPT.

Main Index

8 Design Sensitivity and Optimization User’s Guide List of MSC Nastran Books

List of MSC Nastran 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

Reference Books • Quick Reference Guide • DMAP Programmer’s Guide • Reference Manual

User’s Guides • Getting Started • Linear Static Analysis • Dynamic Analysis • MSC Demonstration Problems • Thermal Analysis • Superelements • Design Sensitivity and Optimization • Implicit Nonlinear (SOL 600) • Explicit Nonlinear (SOL 700) • Aeroelastic Analysis • User Defined Services • EFEA User’s Guide • EFEA Tutorial • EBEA User’s Guide

Main Index

Preface 9 Technical Support

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 (www.simcompanion.mscsoftware.com) Support Online. The Support Center provides technical articles, frequently asked questions and documentation from a single location.

Main Index

10 Design Sensitivity and Optimization User’s Guide Internet Resources

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

Chapter 1: Getting Started Design Sensitivity and Optimization User’s Guide

1

Main Index

Getting Started

Introduction

2

Numerical Optimization Basics

Structural Optimization

Summary

26

22

9

2 Design Sensitivity and Optimization User’s Guide Introduction

Introduction This chapter introduces some of the basic concepts of numerical optimization with an emphasis on the methods used in MSC Nastran. Some of the questions answered in this chapter include: • What is design optimization, and how does it differ from analysis? • What is the relationship between design sensitivity and optimization? • How is an optimization problem formulated? • How does an optimizer search for an optimum? • How does an optimizer communicate with the structural analysis?

What is Design Optimization? Optimization is a broad and active area technology and we need to first focus the discussion on the particular application that is the subject of this User’s Guide. A recent search of an online bookseller for titles that included the word optimization resulted in 1740 matches. The majority of the titles indicated that they dealt with topics related to this guide in that they detailed methods, generally involving a computer solution, which could be used to improve a design or process. It is, however, impractical and unnecessary to try and absorb all this material in order to utilize the methods described here. Instead, we must first restrict ourselves to the optimization of structures that can be analyzed with MSC Nastran. In this context, design optimization refers to the search for a structural design that is, in some sense, optimal, or “the best,” while varying structural parameters. While performing this search, the design is guided to satisfy operating limits that are imposed on the response of the structure and by further limits on the values the structural parameters can assume. This, in a nutshell, represents the design optimization task in MSC Nastran and leads directly to concepts like “objective,” “design variables,” “design constraints,” “side constraints” and “search”, which are covered in this chapter.

What is Design Sensitivity? The design optimization capability in MSC Nastran benefits significantly from being based on a design sensitivity analysis. Design sensitivity analysis computes the rates of change of structural responses with respect to changes in design parameters. These design parameters, or design variables, can be such things as shell thicknesses, beam dimensions, hole radii, material variables and so on. In civil engineering, we may be interested in how changes in the deflection of a bridge span can be affected by changes in the dimensions of the bridge sections. In automotive chassis design, we may want to investigate changes in cabin resonant frequencies given changes in panel thicknesses. These rates of change (what we call “partial derivatives” in the language of calculus) are called design sensitivity coefficients. These sensitivities are computed explicitly in MSC Nastran and are extremely valuable in their own right as they can be used to predict how a design change will affect an important response. When they are applied with an optimizer, they greatly improve the efficiency of the search since the algorithm now not only knows the current state of the design but also has an idea of which way to look for an improved design. MSC, therefore, takes considerable care that the predicted sensitivities are as accurate as possible

Main Index

Chapter 1: Getting Started 3 Introduction

and applies special techniques to insure that they predict accurate response values as the design variables change. The basic design optimization capability in MSC Nastran depends on having design sensitivity information available and optimization cannot be performed without it. It should be noted that this is not true in general and that it is possible to perform design optimization without having design sensitivity information available. It is possible, for example, to infer the affects of design changes by making a series of analyses for different design variable values. There are any number of products available that perform optimization in this way and they have their advantages in certain situations. In particular, design optimization in MSC Nastran is limited to those analyses and design parameters that have been explicitly designated in the design of the capability and that can be accessed by you in the performance of an optimization task. As you will learn from studying this guide, the range of design tasks that MSC Nastran can address is very broad and expands as new versions of the code are released. There will always remain, however, situations that cannot be addressed with MSC Nastran and it is necessary to study this guide to determine if your design task is one that can be treated by the capability. As a final note to motivate the value of sensitivity analysis, it is useful to consider what would occur if you did not have this information available. If the design task was to find the value of a single design variable that provided the best performance, one could conceive that performing analyses with several values of this parameter would provide information that could be displayed as a function of the variable and the optimum design could be visually determined. Now consider the case with two design variables. The number of analyses required is expanded and the plot now becomes three dimensional, but it still should be possible to find an optimum in this fashion. But now consider 10 variables and then one hundred and then one thousand. At some point, the most powerful computer would be overwhelmed by the number of analyses required and in making sense of the analysis results. With sensitivity analyses, it is quite reasonable to pose design tasks in MSC Nastran with a set of design variables that is far beyond that possible without the sensitivity information. Even for a small number of design variables, the presence of design sensitivities makes finding solutions much more efficient than what would be possible without these sensitivities.

Why Use Design Sensitivity and Optimization? Why use design sensitivity and optimization? Perhaps you have been requested to investigate product improvement using optimization, or perhaps you are aware that these tools can be used to create better engineered designs. Design sensitivity and optimization are used when we seek to modify a design whose level of structural complexity exceeds our ability to make appropriate design changes. What is surprising is that an extremely simple design task may easily surpass our decision-making abilities. Experienced designers, those with perhaps decades of experience, are sometimes fantastically adept at poring through mounds of data and coming up with improved designs. Most of us, however, cannot draw upon such intuition and experience. A basic goal of design optimization is to automate the design process by using a rational, mathematical approach to yield improved designs. Ways in which this might be put to use include: 1. Producing more efficient designs having maximum margins of safety. 2. Performing trade-off or feasibility studies. 3. Assisting in design sensitivity studies.

Main Index

4 Design Sensitivity and Optimization User’s Guide Introduction

4. Correlating test data and analysis results (model matching). In addition to providing a complete description of the optimization tools in MSC Nastran, part of the aim of this user’s guide is to suggest various ways in which design sensitivity and optimization might be used. Consider the following examples: Example A A complex spacecraft is in a conceptual design stage. The total weight of the spacecraft cannot exceed 3,000 pounds. The nonstructural equipment including the payload is 2,000 pounds. Static loads are prescribed based on the maximum acceleration at launch. Also, the guidance systems require that the fundamental elastic frequency must be above 12 Hz. It is extremely important to reduce the structural weight since it costs several thousand dollars to place one pound of mass in a low earth orbit. There are three types of proposed designs: truss, frame, and stiffened shell configurations. Currently all of the designs fail to satisfy at least one design requirement and are expected to be overweight. We are to determine which configuration(s) promises the best performance and warrants detailed design study. Also, the payload manager needs to know how much weight could be saved if the frequency requirement were to be relaxed from 12 Hz to 10 Hz. The spacecraft’s structure contains about 150 structural parameters, which we may want to vary simultaneously. Example B One part of a vehicle’s frame structure was found to be overstressed. Unfortunately, it is too expensive to redesign that particular frame component at this stage in the engineering cycle. However, other structural components nearby can be modified without severe cost increases. There are nearly 100 structural design parameters that can be manipulated. The design goal is to reduce the magnitude of the stresses by reducing the internal load to the overstressed member. Example C A frame structure, which supports a set of sensitive instruments, must withstand severe in-service dynamic loads. Modal test results are available from comprehensive tests performed on the prototype structure. We need to create a finite element model for dynamic analysis that is much less detailed than the original model created for stress analysis since the costs of dynamic analysis using a complex model would be prohibitive. We must ensure, however, that the first ten modes obtained from our simplified model are in close agreement with those obtained from the test results. The goal is to determine suitable properties for the lumped quantities in our simplified dynamic model so that the first ten eigenvalues correlate well with the prototype. Example D Your company supplies automotive components and one of your products is a connecting rod that is produced in the millions for a number of vehicles. The design of the component is well understood and has been refined for years based on detailed design loads. It is now decided to see if shape optimization techniques can be applied to produce a design that satisfies the design requirements at a final weight that is less than the current weight. Even a 1-2% improvement will translate into significant cost savings when it is applied across the large production run.

Main Index

Chapter 1: Getting Started 5 Introduction

How Does Design Optimization Differ from Analysis? Although design optimization and analysis can be viewed as complementary, there are some important conceptual differences between the two which must be clear in order to make effective use of both. When we perform an “analysis,” we create a mathematical idealization of some physical system in order to obtain estimates of certain response quantities. The class of responses that we are interested in defines the applicable analysis discipline to be used, while the accuracy of these responses is dependent on the quality of the analysis model and our general knowledge of the true system. Our choice of finite element types, representation of boundary conditions, loads, and definition of the finite element mesh all play critical roles in determining how well our model is able to predict the responses of the physical structure. The goal is to obtain an accurate prediction of the responses which can be expected from the real structure. For example, consider the plate subjected to uniform tensile loads in Figure 1-1. The corresponding analysis model in Figure 1-2 is a discretized finite element representation of idealized geometry, loads, and boundary conditions. y Tx

Tx

R

l Figure 1-1

Main Index

Flat Plate with Hole

x

6 Design Sensitivity and Optimization User’s Guide Introduction

Analysis Model

Design Model

R

Finite element discretization of:

Find R such that:

• Structure (Mesh).

• Weight is minimized.

• Loads.

• Stresses do not exceed allowables.

• Boundary Conditions

(1/4 Plate Representation). Figure 1-2

(R is the design variable, weight is the design objective, and stresses are the design constraints.)

Analysis Versus Design Models

In contrast, a design model is an idealized statement of changes which might be made to the structure to improve its performance or response. In order to accomplish this, we need to define what we mean by an improved design. It may be the minimum weight or maximum stiffness, but whatever our choice is, this constitutes a statement of the design objective. The design may be varied such that certain bounds on responses are not exceeded. Expressions of maximum allowable stresses or minimum permissible frequencies are termed design constraints. And, in our description of how the design might be changed, we use design variables to express what we mean by a suitable variation. Limits on the range of the design variables are called side constraints. By convention, the mathematical region over which our design variables, objective, and constraints are defined is called the design space. Figure 1-2 also shows the design model corresponding to a redesign of the hole radius for weight minimization. It gives allowable structural variations (hole radius) subject to limits on structural responses (stress). Probably the biggest difference between analysis and design is that analysis leads to “the solution” (within the limits of the analysis model), while design optimization leads to “a solution.” In other words, in analysis, we are usually guaranteed a unique solution, while more than one solution may be possible in design optimization. Mathematically, we can say that our design space may contain local minima. This is analogous to the situation in which we may want to find the low point in a valley, yet various low points

Main Index

Chapter 1: Getting Started 7 Introduction

are separated by hills that we cannot see over. Simply finding a low point itself represents an acceptable solution, but there may be more than one such solution. In some instances we may be able to restate the problem and, in effect, shift the locations and contours of the hills to allow more efficient convergence. However, the fact remains that our goal has been stated in the context of design improvement and not in determining a global optimum or a unique solution (as in the case of analysis). One thing the analysis and design models share is that the results are dependent upon the skill and judgment used in their construction. A poorly-meshed finite element model may lead to inaccurate and misleading results. Similarly, an ill-posed design optimization task may produce unexpected or useless results. Since the redesign process is based on analysis results, the results of design optimization are strongly dependent on the integrity of the analysis model. In fact, the optimizer can be expected to exploit inaccuracies in the analysis model in a way that helps it perform the design task. Optimizer Limitations A numerical optimizer seeks to find an improved design by trying to minimize or maximize a specified objective. Throughout this process, it must adhere to the bounds on responses and design variables given in the design model. It does not have the intelligence to modify the objective or relax any of these limits. For example, suppose you asked a friend to find you a nice apartment on his street. Your friend, the optimizer, may have a somewhat different definition of “nice” than you do. His income might be higher than yours, so that the optimal design he proposes may be infeasible in terms of your bank account. Even though he is searching just on his street, the next block may turn out to have an apartment that you consider a better value. The optimizer is not able to go beyond your specifications to search out other possible configurations. The optimization problem statement requires an explicit description of the design objective, as well as bounds which define the region in which it may search. You may ask for a design satisfying a minimum flexibility requirement such as wing tip deflection, but without a weight budget, the design which the optimizer proposes may turn out to be unrealistic. You might get an extremely stiff, 200 ton wing out of this process. You also might have asked for a minimum weight design but allowed for negative physical dimensions. The optimizer may have no trouble minimizing the weight by adding negative mass, but this design may produce a challenge on the factory floor! What Do I Need to Use Design Optimization Effectively? Since design sensitivity and optimization depends on the results of analyses, a reasonable level of skill preparing MSC Nastran analysis models is required. Design optimization in MSC Nastran can combine analysis results from a number of disciplines, including statics, normal modes, buckling, direct and modal frequency, modal transient, acoustic, direct and modal complex eigenanalysis, static aeroelastic response and flutter analysis. In addition, design models can also employ superelements. Proficiency in any or all of these disciplines is useful. The topics covered in this user’s guide are intended to describe design sensitivity and optimization in MSC Nastran. No prior knowledge of structural optimization is required. However, it must be recognized that the discussion of structural optimization contained in this guide is restricted to the features appearing in design sensitivity and optimization in MSC Nastran. This guide attempts to describe all aspects completely so that someone new to the field of design optimization, as well as those with more

Main Index

8 Design Sensitivity and Optimization User’s Guide Introduction

experience, has enough information available to use it wisely and effectively. More information may, at times, be desired on a topic than is available is this guide. In these instances, any one of the excellent references on design optimization listed in the reference section may prove useful. Many, in fact, are authored by distinguished researchers who have made direct contributions to design optimization in MSC Nastran. Probably the most critical requirement in the effective use of design optimization is common sense. Any sufficiently general and powerful tool possesses the capacity for misuse. This is especially true of numerical optimizers. The old adage that engineering is more art than science is probably truer of design optimization than of many other disciplines. As you gain experience with numerical optimization, you will probably discover a few pitfalls that are particular to your fields of application, and in the process you may discover some especially useful and efficient “tricks” for clearly stating your optimization tasks. In any field of application, there is no substitute for a well posed problem. If your design goals are clear, the constraints are meaningful and well-conditioned, and the design variables are chosen carefully to produce useful designs, then success is more certain. The description of methods for accomplishing these goals forms the majority of the material of this guide. The next two sections introduce some of the basic concepts of numerical optimizers and how they are used to solve problems in structural optimization. Followed by a detailed discussion of MSC Nastran design optimization in Fundamentals of Design Sensitivity and Optimization in MSC Nastran and Developing the Design Model for Sensitivity and Optimization.

Main Index

Chapter 1: Getting Started 9 Numerical Optimization Basics

Numerical Optimization Basics This section introduces some of the basics of numerical optimization in an intuitive manner, stressing overall concepts over technical details. Since few universities include design optimization in their curricula, this section may be a useful introduction to numerical optimization for those entirely new to the subject. Once the basics of numerical optimization have been covered, Structural Optimization introduces the extension of these methods to the field of structural design.

How Much Do I Need to Know About Optimizers? Some knowledge of the basic procedures involved in numerical optimizers will aid in understanding why an optimizer does what it does, in interpreting the final results of an optimization run, and in understanding what may have happened if the results are unexpected. As an analogy, it is not necessary to know all of the details of sparse matrix decomposition in order to perform a linear static finite element analysis, but if singularities are present in your model and the decomposition procedure fails, the results are far less mystifying, and a modeling solution to the problem may be much more apparent if you know something of the basics of the solution procedure. Most of the parameters that control the optimizer in MSC Nastran can be changed to improve performance for various classes of problems. Understanding the significance of these choices allows you to take full advantage of the tools at your disposal. Design optimization in structural redesign is actually an application of operations research (a branch of applied mathematics) to problems in engineering design. Generally, these are classes of problems in which the optimum allocation of scarce resources is desired. Operations research is frequently used to solve scheduling problems such as the routing of airplanes among various airport facilities. The allocation of 100 airplanes among 68 airports may not seem to have much to do with engineering design, but the optimization methods employed are similar and can be extended to structural problems. An efficient engineering solution to a design problem involves the optimum allocation of scarce resources. For example, tensile stresses cannot be allowed to assume unlimited values and must be restricted within reasonable limits (the distribution of strain energy density must be made in an optimal manner). Likewise, reducing structural mass leads to a savings of material and possibly maintenance, fuel, or other indirect costs.

An Illustration A useful way of introducing basic optimization concepts is to visualize a “design task” of finding the lowest spot in the immediately surrounding terrain. Suppose we are standing on the side of a hill and would like to find the point of lowest elevation; this is our “objective”. We will quantify the location of any point in terms of coordinates and these are our “design variables.” Suppose, also, that some fences exist which force us to restrict our search to within the region enclosed by these fences. These fences or “constraints” act as bounds in our “design space,” which is the region that defines all of our possible positions on the hill. Only one out of all points on the hill can be considered an optimum, though. For simplicity, we are neglecting the presence of local minima. Finding the lowest point on the hill while staying inside the fences is no real problem. All we really need to do is have a good look about and note, from our perspective, which point on the hill appears to be the

Main Index

10 Design Sensitivity and Optimization User’s Guide Numerical Optimization Basics

lowest. We have scanned the hill, analyzed thousands of possible candidates at a glance, and made an immediate decision. If we were blindfolded, though, our decision-making process would not be as simple, and that is exactly the task a numerical optimizer is faced with. In a computational sense, the elevation of a single point on the hill, or the numerical value of our objective function, must be determined by an analysis which may take considerable effort. Evaluating hundreds or thousands of candidate designs may be prohibitive. We need a systematic method of searching for an optimal design. There are numerous techniques available to solve such a problem, all of which are classified as numerical optimization algorithms. Generally, numerical optimization methods seek to determine a direction of travel or “search direction” that moves us down the hill as quickly as possible, yet allows us to find an optimum that lies within the fences. A sequence of search directions is usually employed during the overall search procedure. In our hill example, we could easily find a search direction, even though blindfolded, by taking small steps from side to side and then forward and back to test for elevation changes. This will allow us to determine which direction will move us down the hill the fastest and, based on this estimate, we can then proceed until we hit a fence or the hill starts to climb up again. What we have done is to find the local value of the “gradient” of our objective function and then used this information to establish a probable direction in which to search for a minimum. Numerical optimization algorithms that rely on gradient information are termed “gradient-based.” Once we have done the best we can possibly do in this direction, we find another search direction, and again proceed as before. We continue to repeat this procedure until we cannot reduce the objective function any further; that is, we have reached a point at which any move will take us up hill (an unconstrained option) or a point where we can move further downhill only by climbing over a fence (a constrained optimum). To quantify the location of a point on the hill, we might use north-south and east-west coordinates corresponding to the elevation at a given point as our design variables. In design optimization terms, this is a two “design variable” space since two coordinate values are required to uniquely specify a point in the design space. Two design variables are the most we can easily visualize. The task becomes understandably more complex when considering that an optimizer may have to deal with hundreds of design variables. In fact, recent topology optimization developments have considered one million design variables. There are three other conditions that may apply to our hill climbing exercise that illustrate two additional concepts. The fences on the hill are properly considered constraints, but we may have been told that under no circumstances can we go north further than a specified amount, even though there is no fence there. This constraint that is imposed directly on the design variable is called a “side constraint.” We might further have the condition that we want the design to lie on some prescribed path or curve drawn on the hillside. This is an equality constraint. Note that if there are as many equality constraints as design variables, a unique solution exists (as long as the equalities are linearly independent). This solution can be found using standard algebraic methods. (A linear finite element analysis belongs to this category of problem.) When the number and type of constraints do not enable a direct, unique solution, the job becomes complicated and numerical optimizers are the best way to attack the problem. Another condition is that we may be restricted to coordinates that are a multiple of 10 (10.,20.,30.....1000.). This is the concept of “discrete design variables” and in MSC Nastran this is handled by first finding the continuous optimum and then stepping over to the closest discrete solution that minimizes the elevation.

Main Index

Chapter 1: Getting Started 11 Numerical Optimization Basics

This illustration is too simple in some ways and we will learn that following the maximum gradient is not always the fastest way to find the bottom of the hill. But we can build on this experience to express the equations which describe the basic optimization problem statement. The Basic Optimization Problem Statement We are now in a position to express our optimization task in a quantitative form. This mathematical expression of the design problem is called the basic optimization problem statement and can be found in many textbooks. Find X to minimize (or maximize) FX

objective

(1-1)

subject to gj  X   0

j = 1  n g

hk  X  = 0 L

U

xi  xi  xi

inequality constraints

(1-2)

equality constraints

(1-3)

k = 1  n h i = 1  n

X =  x 1 x 2  x n 

side constraints

design variables

(1-4) (1-5)

In this notation, items that are in upper case and bold are vectors while members of the vectors are designated using a lower case symbol with a subscript to indicate the member. The objective function is the scalar quantity to be minimized. It is a function of the set of design variables. (Although we stated the problem as a minimization task, we can easily maximize a function by minimizing its negative.) Side constraints are placed on the design variables to limit the region of search, for example, to plate thicknesses that are nonnegative or tubes whose wall thicknesses are less than onetenth of the outer radii. The inequality constraints are expressed in a less than or equal to zero form by convention; that is, a constraint is satisfied if its value is negative. The location of the j-th “fence” lies at g j  X  = 0 . Equality constraints, if present, must be satisfied exactly at the optimal design. The objective and constraint functions may either be linear or nonlinear functions of the design variables. If all of these functions are linear, we may use linear techniques to find an optimal solution if one exists. If just one of these functions is nonlinear, then search algorithms which can deal with this nonlinearity must be used. MSC Nastran includes capabilities for solving both linear and nonlinear optimization problems, with nonlinear problems making up the vast majority of the prescribed tasks. As seen throughout the remainder of this user’s guide, the basic optimization problem statement is used directly in MSC Nastran and influences the nomenclature adopted here. For example, the design objective is defined in the Case Control Section by the DESOBJ command, while the design variables and constraints are defined in the Bulk Data Section using the DESVAR and DCONSTR entries respectively. We will see how these are used in Developing the Design Model for Sensitivity and Optimization.

Main Index

12 Design Sensitivity and Optimization User’s Guide Numerical Optimization Basics

In conjunction with problems in structural optimization, we will discuss design spaces, objectives, constraints, and design variables. It is useful to take a look at a simple problem that is not explicitly related to structural optimization, just to become familiar with these concepts. Example Consider the following optimization problem. Find x 1 and x 2 to minimize the objective F  X  = x1 + x2

(1-6)

subject to the constraints 1 1 g 1  X  = ----- + ----- – 2  0 x1 x2

(1-7)

x 1  0.1 x 2  0.1

(1-8)

The objective and constraint functions are dependent on two design variables x 1 and x 2 . The objective F  X  is linear in the design variables, while the constraint g 1  X  is nonlinear. Figure 1-3 shows the two variable design space, where shading is used to denote regions in which the constraint or side constraints on the design variables are violated. If no constraints are violated, we say the current design is feasible (although it is probably not optimal). A design is infeasible if one or more of the constraints are violated. For example, the point (2,2) is a feasible design, whereas the point (0.05,3) violates not only the inequality constraint but also the lower bound constraint on x 1 .

Main Index

Chapter 1: Getting Started 13 Numerical Optimization Basics

x 1 = 0.1

x2 4

Feasible Region

3 F=4 2 Optimum 3

1 1 0 Figure 1-3

g=0

2 1

2

3

4

x 2 = 0.1

x1

Two-Variable Function Space

The optimal design at (1,1) can be found by inspection. The explicit description of the design problem has allowed a graphical solution in two dimensions. In practice, we usually have more than two design variables and non-explicit constraints and objective function.

Numerically Searching for an Optimum The optimization algorithms in MSC Nastran belong to the family of methods generally referred to as “gradient-based”, since, in addition to function values, they use function gradients to assist in the numerical search for an optimum. (One exception to the gradient based optimizers is the Fully Stressed Design). The numerical search process can be summarized as follows: for a given point in the design space, we determine the gradients of the objective function and constraints and use this information to determine a search direction. We then proceed in this direction for as far as we can go, whereupon we investigate to see if we are at an optimum point. If we are not, we repeat the process until we can make no further improvement in our objective without violating any of the constraints. Essentially, this is the procedure used by the optimizer in MSC Nastran, although the task is complicated by the structural optimization context. Here, we consider each of the aspects of this process in more detail, with an emphasis placed on the intuitive aspects rather than a rigorous mathematical treatment. The first step in a numerical search procedure is to determine the direction to search. The situation may be somewhat complicated if the current design is infeasible (one or more violated constraints) or if one

Main Index

14 Design Sensitivity and Optimization User’s Guide Numerical Optimization Basics

or more constraints are critical. For an infeasible design, we are outside of one of the fences, to use the hill analogy. For a critical design, we are standing right next to a fence. In general, we at least need to know the gradient of our objective function and perhaps some of the constraint functions as well. The process of taking small steps in each of the design variable directions (suppose we are not restricted by the fences for this step) corresponds exactly to the mathematical concept of a first-forward finite difference approximation of a derivative. For a single independent variable the first-forward difference is given by df  x  f  x + x  – f  x  -------------  ---------------------------------------dx x

(1-9)

where the quantity x represents the small step taken in the direction x. For most practical design tasks, we are usually concerned with a vector of design variables. The resultant vector of partial derivatives, or gradient, of the function can be written as     F  X  =     

F -------x 1 · . F -------x n

        

        

F  X + x 1  – F  X  ------------------------------------------------x 1 · . F  X + x n  – F  X  -------------------------------------------------x n

        

(1-10)

where each partial derivative is a single component of the dimensional vector. Physically, the gradient vector points uphill, or in the direction of increasing objective function. If we want to minimize the objective function, we will actually move in a direction opposite to that of the gradient. The steepest descent algorithm searches in the direction defined by the negative of the objective function gradient, or S = – F

(1-11)

since proceeding in this direction reduces the function value most rapidly. S is referred to as the search vector. For now, just note that MSC Nastran uses the steepest descent direction only when none of the constraints are critical or violated and then only as the starting point for other, more efficient search algorithms. The difficulty in practice stems from the fact that, although the direction of steepest descent is usually a very good starting direction, subsequent search directions often fail to improve the objective function significantly. In MSC Nastran we use other, more efficient methods which can be generalized for the cases of active and/or violated constraints. We will briefly introduce these methods later in this section. The next question to consider is: once we have determined a search direction, how can this be used to improve our design? In the hill example, once we found a search direction, we proceeded “downhill” until we bumped into a fence or until we reached the lowest point along our current path. Note that this requires us to take a number of steps in this given direction, which is equivalent to a number of function evaluations in numerical optimization. For a search direction S and a vector of design variables X, the new design at the conclusion of our search in this direction can be written as

Main Index

Chapter 1: Getting Started 15 Numerical Optimization Basics

1

* 1

(1-12)

X = X + S

This relation allows us to update a potentially huge number of design variables by varying the single parameter  . We have been able to reduce the dimensionality from n design variables to a single search parameter  . For this reason, this process is called a one-dimensional search. When we can no longer proceed in this search direction, we have the value of  which represents the move required to reach the best design possible for this particular direction. This value is defined as  * . The new objective and constraints can now be expressed as F

1

1

1

1

(1-13)

= F  X + * S 

gj = gj  X + * S 

j = 1   n g

(1-14)

From this new point in the design space, we can again compute the gradients and establish another search direction based on this information. Again, we will proceed in this new direction until no further improvement can be made, repeating the process, if necessary. At some point we will not be able to establish a search direction which can yield an improved design. We may be at the bottom of the hill, or we may have proceeded as far as possible without crossing over a fence. In the numerical search algorithm, it is necessary to have some formal definition of an optimum. Any trial design can then be measured against this criterion to see if it is met and an optimum has been found. This required definition is provided by the Kuhn-Tucker conditions (see The IPOPT Algorithm), which are physically quite intuitive. Figure 1-4 shows a two design variable space with constraints g 1  X  and g 2  X  and objective function F  X  . The constraint boundaries are those curves for which the constraint values are identically zero. A few contours of constant objective are shown as well; these can be thought of as contour lines drawn along constant elevations of the hill. The optimum point in this example is the point which lies at the intersection of the two constraints. This location is shown as X* .

Main Index

16 Design Sensitivity and Optimization User’s Guide Numerical Optimization Basics

x2

g2  X 

F  X  = constant

F  X* 

g1  X 

X*

x1

g 2  X*  g 1  X* 

Figure 1-4

Kuhn-Tucker Condition at a Constrained Optimum

If we compute the gradients of the objective and the two active constraints at the optimum, we see that they all point off roughly in different directions (remember that function gradients point in the direction of increasing function values). For this situation-a constrained optimum-the Kuhn-Tucker conditions state that the vector sum of the objective and all active constraints must be equal to zero given an appropriate choice of multiplying factors. These factors are called the Lagrange multipliers. (Constraints which are not active at the proposed optimum are not included in the vector summation.) Indeed, Figure 1-5 shows this to be the case where  1 and  2 are the values of the Lagrange multipliers which enable the zero vector sum condition to be met. We could probably convince ourselves that this condition could not be met for any other point in the neighboring design space.

Main Index

Chapter 1: Getting Started 17 Numerical Optimization Basics

F  X* 

g 2  X*   2 g 2  X* 

– F  X* 

Figure 1-5

 1 g 1  X* 

g 1  X* 

Graphical Interpretation of Kuhn-Tucker Conditions

The Kuhn-Tucker conditions are useful even if there are no active constraints at the optimum. In this case, only the objective function gradient is considered, and this is identically equal to zero; i.e., any finite move in any direction will not decrease the objective function. A zero objective function gradient indicates a stationary condition. Not only are the Kuhn-Tucker conditions useful in determining if we have achieved an optimal design; they are also physically intuitive. The optimizer in MSC Nastran tests the Kuhn-Tucker conditions in connection with the search direction determination algorithm. See The IPOPT Algorithm for theoretical details. A Simple Structural Example In this section we covered the basic optimization problem statement, the concept of a design space, gradient-based search techniques, and the meaning of an optimum in terms of satisfying the Kuhn-Tucker conditions. We pause here to take a look at a simple example to help fit these pieces together and to introduce some qualitative aspects of the optimizer used in MSC Nastran. The cantilever beam in Figure 1-6 has a rectangular cross section. Suppose we want to minimize the volume, and thus the weight of the beam, subject to constraints on maximum bending stress and deflection due to the tip loading. In addition, the beam’s cross section must remain below a maximum beam height-to-width ratio to guard against the introduction of twisting modes of failure.

Main Index

18 Design Sensitivity and Optimization User’s Guide Numerical Optimization Basics

P = 2250 N A

Section A-A

H A

B L = 500 cm

Figure 1-6

Cantilever Beam

The optimization problem statement could be written as follows minimize (1-15)

V = BHL

subject 6PL  = Mc -------- = ----------2-  700 I BH 3

3

(1-16)

PL 4PL  = ---------- = -------------  2.54 3 3EI BH

(1-17)

H ----  12 B

(1-18)

1  B  20

(1-19)

20  H  50

(1-20)

Since the objective and constraints are available explicitly, we can graphically display the two-variable design space as shown in Figure 1-7.

Main Index

Chapter 1: Getting Started 19 Numerical Optimization Basics

H/B = 12 65 V = 200000

60

175000 55

150000

100000 125000

Height H (cm)

H = 50

50 Optimum 45  = 2.54

40

75000 50000

 b = 700

35 2.5

3

4

5

6

7

7.5

Width B (cm) Figure 1-7

Cantilever Beam Design Space

In Figure 1-7, note that the optimum lies at the vertex formed by the intersections of the beam bending stress constraint and the constraint on maximum allowable ratio of cross-sectional height to width. This optimum occurs at an objective of approximately 100,000 cm 3 . Let us examine the path which the optimizer might take as it searches for this constrained minimum by referring to Figure 1-8. Assume that we begin with an initial design of H = 44 cm and B = 7 cm. Since none of the constraints are active, the direction of steepest descent is used as an initial search direction, and the optimizer proceeds in this direction until it encounters a constraint boundary. From Figure 1-8 we see that the structural volume cannot be reduced any further in this search direction without violating the maximum allowable tip deflection requirement. The optimizer is now faced with a choice. A finite move in the direction of steepest descent would not be admissible since constraints would then be violated, yet we know that the objective function can still be reduced.

Main Index

20 Design Sensitivity and Optimization User’s Guide Numerical Optimization Basics

H/B = 12

60

55 H = 50 Height H (cm)

50 Optimum 45

X

 = 2.54

40  = 700

35 3

4

5

6

7

Width B (cm)

Figure 1-8

Sequence of Iterations: Modified Method of Feasible Directions

The optimizer in MSC Nastran resolves the situation by choosing a search vector that effectively follows the active constraint boundary in the direction of decreasing objective function. (If the optimizer could not find any direction in which to move, an optimum would be at hand since the Kuhn-Tucker conditions have implicitly been satisfied.) The objective can be reduced further and we observe that by the time two such iterations have been completed, the true optimum has been reached. Note that for both of these iterations, one or more constraints have been slightly violated in the interim. This is a characteristic of the default optimizer used in MSC Nastran, the modified method of feasible directions, which establishes a search direction tangent to the critical constraint(s). If the constraint is nonlinear, a finite move in this direction may lead to a small constraint violation. Thus, continual corrections must be made by stepping back toward the constraint boundary along the current search direction. These corrections are performed as part of the search process, and are qualitatively represented in Figure 1-8 as small steps back to the constraint boundary. If the initial design is infeasible, the optimizer’s first task is to return to the feasible region. Once this has been achieved, the optimizer can then proceed to minimize the objective, if possible. Often simply

Main Index

Chapter 1: Getting Started 21 Numerical Optimization Basics

finding a design in which none of the constraints are violated is an engineering success. If no feasible designs are found, this still provides useful information about the original design formulation, as one or more of our performance criteria may need to be relaxed somewhat if we hope to produce a feasible design. By reexamining our design goals, we may learn something about the problem that was not evident before. A critical but related issue involves the identification of various applicable modes of failure. In developing a set of design criteria, we must ensure that all possible failure modes are adequately addressed by the design specifications. This is true in all aspects of engineering design but is especially so in design optimization. To use the current example, if we did not specify a maximum allowable beam height to width ratio, we might run the risk of introducing twisting or other buckling modes beyond the simple bending stress criteria we had already accounted for. Without this constraint, the optimizer would be able to reduce the structural volume even further (see the design space of Figure 1-7), but would be completely unaware of the introduction of other failure modes possible with narrow beam sections. Consequently, the engineer, not the optimizer, must accept ultimate responsibility for the integrity of the final design. We can also preview a concept that we will deal with in great detail in Fundamentals of Design Sensitivity and Optimization in MSC Nastran; optimizers work best when they are dealing with linear problems. MSC Nastran applies concepts that make the structural response quantities a nearly linear function of the design variables (see The Approximate Model). The constraint contained in Equation (1-18) is highly nonlinear the way it is written and the representation of Figure 1-7 suggests that this can be linearized as H – 12B  0

(1-21)

In practice, this linear specification of the constraint between the two design variables is a much easier constraint to deal with than the non-linear one. In summary, the intent of this example is to help illustrate the concepts presented in this section as well as to give a general idea of the approach used by the modified method of feasible directions. The discussion was simplified by the fact that we had an explicit functional description of the design space beforehand, as well as only two design variables. In any real structural optimization task, each of the data points in the design space can only be determined based on the results of a complete finite element analysis. This may be quite expensive. Also, since a numerical optimizer usually needs a number of these function evaluations throughout the search process, the costs associated with this analysis can quickly become enormous. These factors combined with tens or even hundreds of design variables and thousands of constraints force us to consider methods for efficiently coupling structural analysis routines with numerical optimizers. The field of structural optimization as implemented in MSC Nastran is based on the introduction of approximation concepts, which reduce the need for repeated finite element function evaluations. Approximation concepts are actually quite intuitive and are a topic of the next section.

Main Index

22 Design Sensitivity and Optimization User’s Guide Structural Optimization

Structural Optimization Introduction and Numerical Optimization Basics introduced some examples of ways in which numerical optimization might be used to solve design problems and gave a brief overview of gradient-based numerical optimizers. This final introductory section focuses more closely on how the optimization methods are coupled with a structural analysis in general and with the MSC Nastran product in particular. This is done by first introducing the concepts of design properties and design responses that link the features of MSC Nastran that are familiar to the analyst to the design variables and constraints that are familiar to optimizer. Following paragraphs address the difficulties encountered when trying to make the optimization process feasible for “real-world” design tasks. Optimization tools yield an orderly, rational approach to solving a minimization problem subject to a set of constraints; however, a large number of function evaluations may need to be performed. These function evaluations may be expensive, especially in a finite element structural analysis context. Methods used in MSC Nastran to reduce the number of finite element analyses required are introduced, as are methods for minimizing the effort involved in providing the information required during the optimization.

Relating the Finite Element Analysis Model to the Design Model In analysis, our goal is to construct a mathematical idealization of an actual physical system. We must determine analysis model properties, select appropriate response quantities, and determine a suitable finite element mesh so that the desired responses are computed within an acceptable degree of accuracy. The properties define materials, element thicknesses, element meshes and other quantities needed to perform the analysis. The results of the analyses depend on the type of analysis performed, but include such things as element stresses and modal frequencies. In design modeling, on the other hand, we wish to define how our model can change in pursuit of an improved design along with the criteria which we (or the optimizer) use to judge the effects of these changes. Numerical Optimization Basics has presented the basics of the optimization task and uses words such as objective, constraints and design variables. MSC Nastran links these two models by introducing two intermediate concepts. The first is the designed property and provides a link between the design variable used by the optimizer and the finite element property used in the finite element analysis. The second concept is the design response. A design response is a physically based result that can be used as the design objective or it can be used, with user imposed limits, as a design constraint. The presence of this intermediate layer between the design quantities and the analysis quantities is a key feature of Design Sensitivity and Optimization that adds to the flexibility of the capability. Design properties and design responses are treated in detail in Developing the Design Model for Sensitivity and Optimization.

Managing the Structural Optimization Task Historically, the first attempts at linking structural analysis with numerical optimization were based on a direct coupling or “black box” type of approach as seen in Figure 1-9. Whenever the optimizer needed a function evaluation, the finite element analysis would be invoked to provide the necessary information. One must also remember that these methods were being developed during the infancy of computerized structural analysis when a finite element analysis that we now consider trivial consumed a measurable

Main Index

Chapter 1: Getting Started 23 Structural Optimization

amount of computer resources. Therefore, the sheer number of analyses quickly tended to make this approach useless in all but the smallest of problems. Recall that the numerical optimizer may not only require response derivatives with respect to the design variables, but a number of function evaluations must also be performed during each of the one-dimensional searches. This situation could quite easily lead to hundreds of analyses. MSC Nastran therefore employs concepts that limit the number of required finite element analyses. It is remarked that some commercial structural analysis codes that include an optimization capability still perform their optimization tasks in the “black box” manner of Figure 1-9. Although they benefit from the high performance capabilities of present day computers, they are still limited in the size of the design task (in terms of number of design variables and responses and the cost of finite element analysis) they can address relative to what can be achieved using MSC Nastran.

Finite Element Analysis

Figure 1-9

Numerical Optimization

Early Structural Optimization Attempts

The principal complicating factor in structural optimization is that the response quantities of interest are usually implicit functions of the design variables. For example, a plate element’s stress variation with changing thickness can only be determined in the general case by performing a finite element analysis of the structure. When we consider that the optimizer may be asked to deal with perhaps hundreds of design variables and thousands of constraints, it becomes apparent that we do not have the luxury of invoking a full finite element analysis each time the optimizer proposes an incremental design change. To avoid these difficulties, certain approximations can be implemented to reduce the computational overhead. The remainder of this section will introduce each of these methods, all of which are available in MSC Nastran.

Overview of Approximation Concepts Used in Structural Optimization Approximation concepts are actually nothing more than the computational implementation of methods generally used by experienced design engineers. In many instances, an engineer is handed a stack of analysis data and asked to propose an improved design. This raw data usually contains much more information than is necessary to suggest possible design improvements. The question becomes one of how to reduce the problem sufficiently so that only the most pertinent information is considered in the process of generating a better design. A first step may be to narrow the design task to that of determining the best combination of just a few design variables. There is virtually no way for a designer to consider fifty or one hundred variables

Main Index

24 Design Sensitivity and Optimization User’s Guide Structural Optimization

simultaneously and expect to find a suitable combination from the group. It is much more efficient to link these together if possible. That is, it would be advantageous if all the design variables could be varied in a suitably proportional manner according to changes made to a much smaller set of independent variables. Describing a shape defining polynomial surface in terms of just a few characteristic parameters, or allowing only linear variations of plate element thicknesses, are both examples of types of “design variable linking.” The next step might then be to identify the few constraints that are violated or nearly violated. There may be just a few constraints which are currently guiding the design, such as stress concentrations due to thermal loads, while others, such as the first bending mode, may be nowhere near critical and can be temporarily disregarded. In structural optimization, this is a “constraint deletion” process. Constraint deletion allows the optimizer to consider a reduced set of constraints, simplifying the numerical optimization phase. This also reduces the computational effort associated with determining the required structural response derivatives (sensitivity analysis costs are reduced as well). Once the engineer has determined the constraint set that seems to be driving the design, the next step might be to perform some sort of parametric analysis in order to determine how these constraints vary as the design is modified. The results of just a few analyses might be used to propose a design change based on a compromise among the various trial designs. A parametric study of the problem is carried one step further in structural optimization with formal approximations, or series expansions of response quantities in terms of the design variables. Formal approximations make use of the results of the sensitivity analysis to construct an approximation to the true design space which, although only locally valid, is explicit in the design variables. The resultant explicit representation can then be used by the optimizer whenever function or gradient evaluations are required instead of the costly, implicit finite element structural analysis. This coupling is illustrated in Figure 1-10. The finite element analysis forms the basis for creation of the approximate model which is subsequently used by the optimizer. The approximate model includes the effects of design variable linking, constraint deletion, and formal approximations. Design variable linking is established by the engineer, while constraint deletion and formal approximations are performed automatically in MSC Nastran.

Main Index

Chapter 1: Getting Started 25 Structural Optimization

Design Improvements

Finite Element Analysis

Numerical Optimization

Approximate Design Model

Figure 1-10

Coupling Analysis and Optimization Using Approximations

Once a new design has been proposed by the optimizer (based on the information supplied by the approximate model) the next step would most likely be to perform a detailed analysis of the new configuration to see if it has actually managed to satisfy the various design constraints and reduce the objective function. This reanalysis update of the proposed designs is represented by the upper segment of the loop in Figure 1-10. If a subsequent approximate optimization is deemed necessary, the finite element analysis serves as the new baseline from which to construct another approximate subproblem. This cycle may be repeated as necessary until convergence is achieved. These loops are referred to as design cycles.

Main Index

26 Design Sensitivity and Optimization User’s Guide Summary

Summary By now you should have a fairly good idea of some of the various applications of design optimization as well as some of the numerical optimization capabilities available to assist you in your design tasks. We introduced the basic ideas of numerical optimization and some of the methods that are used to couple it with structural analysis codes. Central to this has been the recognition that it is impractical to directly link numerical optimizers and structural analysis codes to create a structural optimizer, and that some sort of approximations are required. It has also been shown that the set of approximation concepts acts as an interface between the analysis and the optimizer. There is really nothing extraordinary about these approximations since in many ways they are similar to the methods experienced designers already use. Of course, formalizing these methods in structural optimization allows problems of considerably greater size and complexity to be solved than with traditional design methods alone.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran Design Sensitivity and Optimization User’s Guide

2

Main Index

Fundamentals of Design Sensitivity and Optimization in MSC Nastran 

Overview of Fundamentals

The Design Model

Multidisciplinary Analysis

Constraint Screening

Design Sensitivity Analysis

Optimization

The Approximate Model

Tests for Convergence

Special Topics

28

32 42

46 49

72

104

76 96

28 Design Sensitivity and Optimization User’s Guide Overview of Fundamentals

Overview of Fundamentals Chapter 1 presented a Getting Started overview of design optimization in general and introduced a number of concepts that are specific to MSC Nastran’s implementation of Design Sensitivity and Optimization. This chapter goes into greater depth on the MSC Nastran methodology, again in terms of concepts and equations. Mention of user interface features (that is, the case control commands and bulk data entries) is sometimes unavoidable, but the intent is to defer a description of the interface to Developing the Design Model for Sensitivity and Optimization. This chapter has been prepared for several classes of readers: • New users who want to obtain an overview of features of MSC Nastran’s implementation of

Design Sensitivity and Analysis. • More experienced users who will use this chapter as reference material to clarify details of the

features and to gain insight into the algorithms employed. • Support engineers and software developers who need to be able to explain, and possibly extend,

the capability. It is recognized that this covers a broad spectrum of readers and you probably will not read this chapter from beginning to end. Instead, you should skim the material until you find the topic that interests you and return to the chapter as you gain more experience and want to obtain a deeper level understanding. The majority of this chapter can be thought of as a description of the flow chart shown in Figure 2-1, which is itself an expanded version of the sketch of Figure 1-10. The figure shows a design loop with a number of blocks. The blocks, and the section in which they are described, are as follows:

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 29 Overview of Fundamentals

Initial Design

(One time around this loop is referred to as a design cycle or design iteration.) Improved Design

Structural Analysis

Converged

Constraint Screening

N

Sensitivity Analysis

Y

Approximate Model

Optimizer

Stop Many Times

Finite Element Analysis

Figure 2-1

MSC Nastran Implementation of Structural Optimization

Initial Design The initial design is a combination of the analysis model familiar to MSC Nastran users and the design model, which is a unique feature of the Design Sensitivity and Optimization capability. The design model is discussed in The Design Model.

Structural Analysis This is the analysis function that is, again, familiar to the MSC Nastran user. However, for design sensitivity and optimization, it is frequently necessary to perform multiple types of analyses. This reflects the fact that the design responses can be created by a number of analysis types and it is necessary for the

Main Index

30 Design Sensitivity and Optimization User’s Guide Overview of Fundamentals

optimizer to synthesize these results when performing its redesign. Multidisciplinary Analysis discusses this “multidisciplinary” feature.

Constraint Screening This concept was introduced in Structural Optimization and refers to the process that is used to identify those constraints that are likely to drive the redesign process. A detailed discussion on this is presented in Constraint Screening.

Sensitivity Analysis Accurate sensitivity analyses are the hallmark of the MSC Nastran implementation of design sensitivity and optimization. The individual analysis types each have their own techniques for performing sensitivity analysis and these are developed in Design Sensitivity Analysis.

Optimizer MSC Nastran uses a variety of optimization algorithms from the MSCADS suiteof algorithms as well as the IPOPT algorithm. The MSCADS algorithms were adapted from the public domain versions of ADS codes described in Reference 11. An extensive discussion of the theory contained in these algorithms can be found in Reference 13. The IPOPT algorithm is a special purpose optimization algorithm to address design tasks with a large number (> 3000 to 4000) of design variables and has its primary application to topology optimization tasks, but can be applied to the conventional design tasks that are discussed in this document as well. Its access requires a Topology Optimization licence. The IPOPT algorithm is open sourec code available from COIN-OR and maintained by IBM. It implements an interior point line search filter method, as described in Appendix C. The DOT and BIGDOT algorithms from Vanderplaats R&D Inc.are not available in Nastran 2010 and subsequent releases. However, the DOT and BIGDOT algorithms can be found in earlier releases.

Approximate Model Structural Optimization has also introduced this concept that involves the construction of high-quality

approximations to the finite element results so that the number of full scale finite element analyses is kept to a minimum. The Approximate Model documents the approximation concepts used in MSC Nastran.

The Improved Design This is the point at which the finite element model is updated based on the results from the optimizer so that a new finite element analysis can occur. This is a straightforward operation and its discussion is included in the Converged write-up of Tests for Convergence.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 31 Overview of Fundamentals

Converged As Figure 2-1 indicates, Design Optimization is an iterative process and a key part of the implementation is therefore determining when to stop the iterations. Tests for Convergence discusses the many factors that enter into making this decision. The chapter concludes with a section called Special Topics that contains fundamental descriptions of several other topics that are outside those of Figure 2-1. These include: Discrete Variable Optimization An underlying assumption of the Design Sensitivity and Optimization capability of MSC Nastran is that the variations in the design variables are continuous and that therefore the responses and their sensitivities are also continuous. Practical engineering considerations frequently dictate that values of the designed properties be chosen from a discrete set. The first special topic discusses how discrete variables are handled in MSC Nastran as a postprocessing task to the continuous optimization process. Fully Stressed Design Fully Stressed Design is a rapid redesign method that is quite distinct from the mathematical programming techniques that are the main topic of this users guide. The basics of these methods are discussed and it is shown how MSC’s implementation works together with the mathematical programming solution. Topology Optimization Topology optimization is a special version of design optimization that finds an optimal distribution of material, given package space, loads and boundary conditions. Basically, it makes a design variable out of each finite element that can vary from 0 (remove) to 1 (keep) and the algorithm strives to force real design variables to one of these limits. Distributed Memory Parallel Distributed Memory Parallel (DMP) algorithms allow for splitting up a given task to run on multiple processors. This section discusses the DMP options that are available in design optimization. Superelements Superelements provide a powerful analysis tool. Special considerations and limitations when using superelements with design sensitivity and optimization are discussed.

Main Index

32 Design Sensitivity and Optimization User’s Guide The Design Model

The Design Model Numerical Optimization Basics introduced the general concepts of design variables, constraints, objective function, and side constraints. Structural Optimization presented further concepts of designed properties and design responses and indicated that these intermediate quantities are used to fill the gap between standard finite element analysis and optimization procedures. This section of the guide indicates how these concepts are implemented in MSC Nastran.

Design Variables Design Variables are quantities that are known to the optimizer and that can be directly changed to satisfy the optimization statement. In MSC Nastran, the design variables are defined on the DESVAR entry (see Defining the Design Variables and Bulk Data Entries) and can only affect the finite element analysis if they are used with designed properties and/or design responses. It is the user’s responsibility to define the initial values of these design variables and, optionally, upper and lower bounds on the values of these variables. The bounds make up the “side constraints” (See Equation (1-4)) of the optimization problem statement and these bounds can never be exceeded at any time. MSC Nastran distinguishes between dependent and independent design variables. Dependent design variables are linked (see the entry, DLINK) to the independent variables using a relationship of the form ndv i D xj

= c0 +

I

 ci xi

(2-1)

i =1

MSC Nastran also supports the concept of “discrete” design variables wherein the value of the design variable is restricted to a user specified set of real numbers. This topic is discussed in more detail in Discrete Variable Optimization.

Designed Properties Designed properties are quantities that do have a direct bearing on the finite element analysis and include such things as element thicknesses, material properties, mass values, and grid locations. Designed grid locations, which are used in shape optimization, are defined in a way that is distinct from the remaining properties. Therefore, the link between grid locations and design variables is presented separately in Designed Shapes that follows immediately after this discussion which deals with element properties, material properties and connectivity properties. The first order of business is to explicitly define what these properties are. Element properties refer to quantities defined in MSC Nastran using element property bulk data entries (those that begin with the letter ‘P’). Table 2-1 contains a list of the bulk data entries that have element properties that can be designed and identifies which of the fields on the entry can be designed. In general, real numbers that appear on an element property bulk data can be designed.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 33 The Design Model

Table 2-1

Element Properties Available as Designed Properties

Property Entry

Property

PACABS

TESTAR, CUTFR, B, K, M

PACBAR

MBACK, MSEPTM, FRESON, KRESON

PBAR

A, I1, I2, J, NSM, C1, C2, D1, D2, E1, D2, F1, F2, K1, K2, I12

PBARL

DIMi, NSM

PBEAM

(A(i), I1(i), I2(i), I12(i), J(i), NSM(i), C1(i), C2(i), D1(I), D2(i), E1(i), E2(i), F1(i), F2(i), i = A, B, 1 ... 9), K1, K2, S1, S2, (NSI(j), CW(j), M1(j), M2(j), N1(j), N2(j), j = A, B)

PBEAML

(DIMi(j), NSM(j), j = A, B, 1 ... 9)

PBRSECT/PBMSECT

W (Overall Width), H(Overall Height) and T(n) (Thickness)

PBUSH

(Ki, Bi, GEi, i = 1, 6), SA, ST, EA, ET

PBUSH1D

K, C, M, SA, SE (only linear elements are supported for optimization)

PCOMP

Z0, NSM, SB, TREF, GE, Ti, THETAi

PCONEAX

T1, HI, T2, NSM, Z1, Z2, (PHIj; i = 1, 14)

PDAMP

B1, B2, B3, B4

PELAS

K1, GE1, S1, K2, GE2, S2

PGAP

U0, F0, KA, KB, KT, MU1, MU2

PCOMPG

Z0, NSM, SB, TREF, GE, Ti, THETAi

PMASS

M1, M2, M3, M4

PROD

A, J, C, NSM

PSHEAR

T, NSM, F1, F2

PSHELL

T, 12I/T**3, TS/T, NSM, Z1, Z2 (The 12I/T**3 term can be designed but must be referenced by Field ID = 6 rather than by name.)

PTUBE

OD, T, NSM

PVISC

CE1, CR1, CE2, CR2

Table 2-2 contains a list of the bulk data entries for material properties and again identifies which fields on these entries can be designed. Table 2-3 performs the same function for connectivity entries (bulk data entries that begin with the letter ‘C’). It is seen that this enables the support of properties such as beam offset vectors, concentrated mass values, and tapered shell elements.

Main Index

34 Design Sensitivity and Optimization User’s Guide The Design Model

Table 2-2

Material Properties Available as Designed Properties

Material Entry

Material Properties

MAT1

E, G, NU, RHO, A, TREF, GE

MAT2

G11, G12, G13, G22, G23, G33, RHO, A1, A2, A3, TREF, GE

MAT3

EX, ETH, EZ, NUXTH, NUZTH, NUZX, RHO, GZX, AX, ATH, AZ, TREF, GE

MAT8

E1, E2, NU12, G12, G1Z, G2Z, RHO, A1, A2, TREF, Xt, Xc, Yt, Yc, S, GE

MAT9

G11, G12, G13, G14, G15, G16, G22, G23, G24, G25, G26, G33, G34, G35, G36, G44, G45, G46, G55, G56, G66, RHO, A1, A2, A3, A4, A5, A6, TREF, GE

MAT10

BULK, RHO, C, GE

Table 2-3

Connectivity Properties Available as Designed Properties

Connectivity Entries

Connectivity Properties

CBAR

X1, X2, X3, W1A, W2A, W3A, W1B, W2B, W3B

CBEAM

X1, X2, X3, BIT, W1A, W2A, W3A, W1B, W2B, W3B

CBUSH

X1, X2, X3, S, S1, S2, S3

CDAMP2,4

B

CELAS2

K, GE, S

CELAS4

K

CGAP

X1, X2, X3

CMASS2,4

M

CONM1

M11, M21, M22, M31, M32, M33, M41, M42, M43, M44, M51, M52, M53, M54, M55, M61, M62, M63, M64, M65, M66

CONM2

M, X1, X2, X3, I11, I21, I22, I31, I32, I33

CONROD

A, J, C, NSM

CQUAD4,8,R

THETA, ZOFFS, T1, T2, T3, T4

CTRIA3,5,R

THETA, ZOFFS, T1, T2, T3

CTRIAX6

TH

Type-1 Properties Two methods are provided to relate the properties of Table 2-1, Table 2-2, and Table 2-3 to the DESVAR values. The first, which is designated type-1, specifies a linear relationship which can be expressed as pj = co +

 ci xi i

Main Index

(2-2)

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 35 The Design Model

where p j is the j-th property, expressed as a linear combination of n design variables plus an optional constant value. In a typical application, the property is a function of a single design variable, but Equation (2-1) can be used to express a large number of properties in terms of a much small set of design variables. This is shown in the following example. Example Assume the plate thickness distribution of the simple structure shown in Figure 2-2 is to be determined using a combination of constant, linear, and quadratic basis functions as shown in Figure 2-3. The design variables act as multipliers of these basis functions which are, in turn, used to specify the element plate thicknesses. y

x = 0

t1 t2

t 10

x = L

Figure 2-2

Main Index

Plate Thickness Distribution

36 Design Sensitivity and Optimization User’s Guide The Design Model

Fx  L F1

1.0

F2 F3 xL

0.5

1.0

x F 1  --- = 1.0  L x x F 2  --- = c 1  1 – ---  L  L x x 2 F 3  --- = c 1  1 – ---  L  L

Figure 2-3

Basis Functions

The plate thicknesses are to vary in the x-axis direction, but are to remain constant in the y-direction. Evaluating the basis functions for each of these ten thickness stations and writing these design variableto-thickness relations in matrix form, we get                   

t1   t2   t3   t4   t5   = t6   t7   t8   t9  t 10 

1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

1.0 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1

1.0 0.81 064 0.49 0.36 0.25 0.16 0.09 0.04 0.01

   x1     x2     x3   

(2-3)

The thicknesses of the ten element groups are controlled using only three design variables. Each of the matrix columns correspond to constant, linear, and quadratic basis functions, respectively. Relations of this sort are termed reduced basis formulations.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 37 The Design Model

In general, a reduced basis formulation can be expressed as  p  M =  T  MXN  x  N

(2-4)

The most powerful form of Equation (2-4) occurs when the number of rows of  T  is much greater than the number of columns or M » N . Cantilevered Plate presents an example that uses this concept in the design of a cantilevered plate.

Type-2 Properties The second method, designated type-2, utilizes a general equation utility to define the relationship between design variables and designed properties p j = f  X C 

(2-5)

where the j-th property is a function of a collection of design variables and constants as indicated by the bold notation. A simple example of the application of a type-2 relation is in the design of beam cross-sectional properties. For a rectangular cross section, the logical design variables would be the width and height of the beam but MSC Nastran expects cross-sectional properties such as area and moment of inertia. If x1 represents the width and x2 represents the height, these properties can be written using equations A = x1  x2 3

x1  x2 I = -------------------12

(2-6)

It should be noted that the beam library feature of MSC Nastran permits the direct design of the PBARL and PBEAML dimensions. This is a much simpler user interface and is to be preferred if the beam library supports the cross section type of interest.

Type-3 Properties The beam library does introduce a third type of designed property that is somewhat hidden from the user. The user has direct access to the beam dimension in terms of designed properties. The actual beam properties, such as area and moment of inertia, that are used in the development of the element stiffness matrices, are functions of these dimensions. When a beam property is designed indirectly because it is a function of a beam dimension, the designed beam property is referred to as a “spawned” design property. The relation between the spawned property and the design variable can be linear (stress recovery points are typically a linear function of the beam dimensions) or nonlinear (inertia properties are typically a nonlinear function of the beam dimensions). MSC Nastran makes a special effort to determine the nature of this relationship because the sensitivity calculations are much simpler when the relationship is linear. Spawned beam properties that are spawned using nonlinear relations are referred to subsequently as type3 properties.

Main Index

38 Design Sensitivity and Optimization User’s Guide The Design Model

Designed Shapes Shape sensitivity and optimization in MSC Nastran requires the definition of design variables and a relationship between these variables and the allowable shape variations. The shape variations are similar to the basis vectors of the previous section in that a single shape typically affects multiple grid locations. The amount the design variable is changed during optimization results in a corresponding shape change. The allowable shape changes are defined using shape basis vectors. The optimizer then determines how much the structure can change by modifying the design variables. The various methods supported by MSC Nastran for the generation of basis vectors are described in Shape Optimization.

Design Responses Design responses are used in MSC Nastran as the basis for defining the design objective and design constraints. In a manner similar to the designed properties, they are an intermediate layer that serves to connect the MSC Nastran analysis with the Basic Optimization Problem Statement. Designating the Design Responses goes into the specifics of the available response quantities so that this discussion simply introduces the three types of responses.

Type-1 Responses The first type of response is entitled type-1 or first-level responses. These responses are available directly from an MSC Nastran analysis. Structural weight, displacements at grid points, element stresses, and so on, are all examples of type-1 responses. The DRESP1 Bulk Data entry is used to select this type of response and is discussed at length in Bulk Data Entries.

Type-2 Responses The second type is entitled type-2, or second-level responses. This class of responses is also frequently called user-defined since they utilize the equation input feature in MSC Nastran. This response allows the user to develop a response of the form 2

r j = f  X C R1, P, R2, XYZ 

(2-7)

where the X C R1, P R2 and XYZ vectors are design variables, constants, type-1 responses, designed properties, type-2 responses and grid locations, respectively. This is an extremely powerful feature of the MSC Nastran Design Sensitivity and Optimization capability that allows users to synthesize a wide variety of design conditions that are not available from the MSC Nastran analysis directly. Example applications of type-2 responses are to formulate stress failure criteria not available in MSC Nastran, to evaluate local buckling behavior, to develop root mean square responses and, in shape optimization, to impose limits that prevent the geometry from becoming physically meaningless (e.g., to make sure a hole radius does not extend beyond the boundary of the plate it is contained in). The DRESP2 Bulk Data entry is used to develop this type of response.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 39 The Design Model

Type-3 Responses The final type of response is called type-3 or third level responses. This can be regarded as a major extension of the type-2 response that creates a response using a representation similar to that of Equation (2-7) 3

r j = f  X C R1 P R2 XYZ string 

(2-8)

The evaluation of the type-3 response is performed using an API (Application Programming Interface) that invokes a process running externally to MSC Nastran. The additional ‘string’ argument in the type3 formulation permits the passing of general information that can be used to direct the execution of the external process. For example, it could identify an input file needed by the external evaluator or it could be a simple flag that directs the execution of the external evaluator in some way. It is seen that the type3 response provides a completely general way of synthesizing response quantities that can drive the design but which are not MSC Nastran responses and are too complex to be evaluated using the type-2 formulation. Examples are limited only by the imagination and cleverness of the user, and include proprietary buckling criteria, cost models, detailed component analysis and other analyses not performed in MSC Nastran. The DRESP3 Bulk Data entry is used to develop this type of response. A complete description of Type-3 Responses is given in External Response. Design Objective The objective function is a scalar quantity that is either minimized or maximized by the optimizer. The design objective is selected using the DESOBJ (DESign OBJective) Case Control command. This command points to a design response defined on either a DRESP1, DRESP2 or DRESP3 Bulk Data entry which must define a single scalar response. Design Constraints Design constraints are invoked by using the DCONSTR entry to identify a design response (DRESP1, DRESP2 or DRESP3) and to impose limits on the response L

U

rj  rj  X   rj

(2-9)

where r Lj is the lower bound on the j-th response and r Uj is the corresponding upper bound. Unlike the design objective, constraints can be applied to responses that have multiple values. For example, a stress response that invokes a particular property ID will create a separate response value for every finite element that references that property ID. Normalized Constraints

The inequalities of Equation (2-9) are converted to normalized constraints that satisfy the convention of Equation (1-2) in which satisfied constraints are negative

Main Index

40 Design Sensitivity and Optimization User’s Guide The Design Model

L

rj – rj  X  g 2j – 1  X  = ------------------------0 GNORM U

rj  X  – rj -0 g 2j  X  = ------------------------GNORM

(2-10)

where  LALLOW for lower bounds if LALLOW  GSCAL  GNORM =  UALLOW for upper bounds if UALLOW  GSCAL   GSCAL otherwise

(2-11)

where GSCAL is an MSC Nastran parameter with a default of 0.001. The normalized constraints of Equation (2-10) are especially useful since the dependence on the magnitude of the response quantity has been removed. A constraint having a value of +1 represents a 100% violation irrespective of the magnitude of the response or whether it is an upper or lower bound. It will be seen that this normalization enables the constraint screening discussed in Constraint Screening. Since response bounds are used as normalizing factors, it is recommended that the bounds of zero be avoided. To avoid a divide by zero error in the code, the small nonzero number GSCAL is used. This may or may not be acceptable from a design standpoint. For example, consider the synthetic response 1 + 2 -------------------   ma x 2

(2-12)

and assume the response had been formulated using a type-2 response as 1 + 2 ------------------- –  max  0 2

(2-13)

At first glance, this seems acceptable since it is expressed in standard form. However, the upper bound normalization uses GSCAL and the resultant normalized upper-bound constraint then becomes 1 + 2  ------------------ –  max  2  g u = --------------------------------------------  0 GSCAL

(2-14)

To understand why this is not a good formulation, let’s assume  max is 10000. and the  1 + 2   2 responses exceeds this by 1% to equal 10100. With the default value of GSCAL, Equation (2-14) gives a constraint value of 100,000.(!), implying a grossly violated constraint. Further, a small change in the design could result in  1 + 2   2 = 9900 and now the constraint is -100,000. The optimizer will have a difficult time making sense out of these wild gyrations and is likely to become confused. If the constraint is expressed instead as 1 + 2 -------------------   ma x 2

(2-15)

then the limit  max (provided as an upper bound on the DCONSTR entry) is used as the normalizing factor or

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 41 The Design Model

1 +  2  ------------------ –  ma x  2  g u = --------------------------------------------  0  max

(2-16)

now a 1% excedence by  1 + 2   2 of  max results in a constraint value of 0.01 and the optimizer will have a much better chance of doing its job. Equality Constraints in MSC Nastran

Equality constraints can be defined simply by specifying equivalent upper and lower bounds. This will yield a pair of equal and opposite constraints that force the response to be satisfied with equality at the optimum Rj  rj  X   Rj Rj – rj  X  g 2j – 1  X  = ------------------------0 Rj

(2-17)

rj  X  – Rj g 2j  X  = ------------------------0 Rj

In practice, this is not a good idea since the optimizer does not have any special algorithms for dealing with equality constraints so that one of the two relations in Equation (2-17) will always be violated. It is recommended that the equality constraint be replaced with a tolerance by expressing the bounds as R j –  and R j +  on the DCONSTR entry, where  is the allowable tolerance and is perhaps 1% of the target value.

Main Index

42 Design Sensitivity and Optimization User’s Guide Multidisciplinary Analysis

Multidisciplinary Analysis A structural design requires the synthesis of design requirements that can arise from any number of areas, including strength, stiffness, and stability. Historically, this often led to additional design cycles as additional analyses revealed shortcomings in the designs that were based on preliminary analyses with a limited set of requirements. As an example from aircraft design, the term “flutter penalty” was applied to the extra weight that was required in the design to satisfy flutter speed requirements once the initial strength design had been performed. The MSC Nastran implementation of design sensitivity and optimization recognizes this by combining analyses that were previously considered separate, with separate input files and job submittals, into a single job. The responses from these combined analyses can then be included in the optimization step so that all the applicable requirements are considered simultaneously. Table 2-4 indicates the analyses that are available for design sensitivity and optimization and lists some

of the attributes of the analyses. The column of Solution Numbers refers to the number MSC Nastran would use to perform the separate analyses. The Design Optimization Solution Number is 200. Table 2-4

Analysis Disciplines Supported in Multidisciplinary Analysis and Design of SOL 200

Analysis

SOL Numbers

Multiple Subcases

Multiple Boundary Conditions

Statics

101

Y

Y

Normal Modes

103

Y

Y

Buckling

105

Y

Y

Direct Complex Eigenanalysis

107

N

N

Direct Frequency

108

Y

Y

Modal Complex Eigenanalysis

110

N

N

Modal Frequency

111

Y

Y

Modal Transient

112

N

N

Static Aeroelasticity

144

Y

Y

Flutter

145

Y

Y

It is seen that SOL 200 has value simply in the performance of multidisciplinary analysis. In fact, clients have been known to use SOL 200 to submit combined analyses without any design sensitivity or optimization simply because it simplifies the maintenance of input data and provides some performance efficiency (that is, operations are not repeated for the separate analyses). The capabilities (and limitations) of the separate Solution Numbers are incorporated into SOL 200 for the most part. Table 2-4 indicates that many of the analysis types support multiple subcases and/or multiple boundary conditions. Analysis type Buckling requires a Static subcase. Analyses from SOLs 103, 110, 111, 112 and 145 require a normal modes analysis. When a SOL 200 job with multiple subcases is submitted, a determination is

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 43 Multidisciplinary Analysis

made of the number of unique eigenanalyses that are required based on the boundary conditions and the eigenanalysis method selected in the separate subcases. Only the unique analyses are performed with the results shared with the remaining subcases.

Response Calculation Type-1 Responses The type-1 responses are, in most cases, response quantities that are available as part of standard MSC Nastran results processing such as displacements, stresses and eigenvalues. These responses are recovered from standard MSC Nastran tables. Several of the responses are not standard MSC Nastran results and their development requires additional description. Weight Response

This response is calculated using the grid point weight generator that is used to produce the weight and balance information that is printed based on PARAM,GRDPNT. The WEIGHT type-1 response is identified by the selection of the row and column of the 6X6 rigid body mass matrix that is to be used for the response.

Volume Response

This response is calculated by summing the individual volumes of each of the finite elements.

PSD Response

PSD responses are included as available design responses and the development of these responses uses the same theoretical development as that given in the MSC Nastran Advanced Dynamic Analysis User’s Guide. On page 238 of that document, the power spectral density of the an output response quantity is

Sj    =

*

  Hja     Hjb     Sab a

(2-18)

b

where a and b denote two loading conditions (two subcases) and the superscript * indicates the complex conjugate of the response. As an example, with two subcases, a = 1 and b = 2, the spectral density is *

*

S j    = S jf = S 11 H j1 H j1 + S 12 H j1 H j2 *

*

(2-19)

+ S 21 H j2 H j1 + S 22 H j2 H j2

Note:

Main Index

Because the term S 21 = S *12 , the resulting spectral density, S j    is a real number. Individual terms of S j    can be specified as PSD responses.

44 Design Sensitivity and Optimization User’s Guide Multidisciplinary Analysis

RMS Response

uj =

RMS responses are the RMS value, u j , for the response quantity, j . This is theoretically developed as an integral that is implemented in MSC Nastran using a numerical approximation

 S jf df   C f S jf f

(2-20)

f

where, from the trapezoidal integration method, the frequency-dependent coefficients, S jf ,  f = f i  are multiplied by the frequency factors 1 C fi = ---  f i + 1 – f i – 1  2

1iN

1 C f1 = ---  f 2 – f 1  2

i = 1

1 C fN = ---  f N – f N – 1  2

(2-21)

i = N

Type-2 Responses The type-1 responses of the previous paragraphs provide responses that are directly available from MSC Nastran. Type-2 (or synthetic) responses, on the other hand, provide responses that are not directly available form MSC Nastran but can be formulated using a combination of arguments and user-defined equations. A number of predetermined functions are available for this response type. Please see the FUNC character strings table in chapter 4 on page 223 for more information. These eliminate the task of preparing user-defined equations. DRESP2 Bulk Data Entries provides details on constructing these responses. Type-3 Respones This type of response has been provided for situations where the desired design response is beyond what is available using the type-2 response. The type-3 (or external) response applies the same client-server technology that has been used in MSC Nastran for user-supplied beam libraries and for p-element geometry. This enables, for example, the incorporation of proprietary local buckling criteria that are too complex to be developed using a DRESP2. DRESP3 Bulk Data Entries provides detail on constructing these responses. Added Benefit of Synthetic and External Responses

SOL 200 can offer a benefit in the analysis phase that is in addition to the features available in the separate solution numbers. This benefit relates to The Design Model and, in particular, the type-2 and type-3 responses. The results of evaluation of the responses can be reported in the output file and the user could exploit this by developing responses that are in addition to what are available from standard data recovery. As an example, suppose it is desired to assess the buckling behavior of a column that is contained within a large finite element model. One could develop a type-2 response that is some combination of element response, element dimensions, materials, geometry, and restraint conditions.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 45 Multidisciplinary Analysis

Normally, this type of calculation would require some type of postprocessing operation on the part of the user, but this could be automated within SOL 200 to provide this result as part of the standard analysis.

Mode Tracking The selection of a particular eigenvalue from a normal modes analysis as a design response is done by specifying its mode number. The user’s intent when specifying this number may be to design this particular mode number regardless of the physical nature of the original mode shape. However, in many applications, most notably automotive, the intent is to control a particular physical mode; for example, the vibration of the vehicle’s roof. In this case, the user’s intent is actually to design the frequency of the physical mode shape and the mode number could vary due to the redesign. (That is, the example roof mode may be the 10th mode of the initial design, but after a redesign it becomes the 12th.) The eigenvalue analysis of SOL 200, includes a feature to “track” the modes so that the modes are ordered based on their original physical behavior rather than on their frequency order. This is done by constructing cross-orthogonality check between the current design cycle and the previous cycle T

 i M i  i – 1 = t i

(2-22)

where the subscript i denotes the current design cycle, i – 1 the previous, and the prime over  indicates mass-normalized eigenvectors. If there had been no changes in either mode shape, order, or mass of the system, the cross-orthogonality check would yield a diagonal matrix. If the mode shapes change due to a mass and/or stiffness variation, however, their correlation will be less than 1.0. If the mode numbers have changed, dominant offdiagonal terms will be present in t i . Where sufficient correlation exists, the results of this crossorthogonality check can be used as a basis to determine which modes have switched.

Main Index

46 Design Sensitivity and Optimization User’s Guide Constraint Screening

Constraint Screening The concept of constraint screening was introduced in a general way in Structural Optimization. The idea is to limit the constraints that are considered in the redesign to those that are likely to play an active role in the redesign. To motivate the importance of this, consider an example where the user has defined four stress responses (say  x ,  y ,  xy and von Mises) at the top and bottom of each QUAD4 finite element and say the model contains 10000 of these elements. Further, suppose 10 static loads cases represent the design loads for the design task. This rather modest problem statement results in 4 stresses * 2 surfaces * 10000 elements * 10 subcases * 2 constraints (upper and lower bounds) = 1.6 million constraints. Clearly, it is not practical or desirable to consider all of these constraint conditions when performing a design task; hence the use of constraint screening. The Design Model discussed how the normalization of the design constraints has put all the design

conditions on an equal basis regardless of whether the underlying design response is a pressure, displacement, stress or whatever. The screening process is a two stage process that does an initial screening based on a threshold and a second screening based on the region. The threshold screening simply says that it is possible to ignore constraints unless they exceed a specified value. Figure 2-4 illustrates screening based on normalized constraints by representing the current value of each constraint function in a bar chart format. If any constraint exceeds the “truncation threshold” value denoted by TRS, we retain it for the ensuing approximate optimization, while temporarily deleting all others below TRS.

G(X)

X

X XXXX X X X

TRS

-1.0 List of Constraints Figure 2-4

Constraint Deletion

If there are a large number of constraints below this truncation threshold (as is typical in structural optimization), the constraint screening phase will greatly simplify the optimization task. However, the number of constraints can still be further reduced using regionalization. As an example, suppose we have an automobile roof panel, modeled with a number of quadrilateral elements. This panel is to be of constant thickness for manufacturing considerations and is found to be

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 47 Constraint Screening

overstressed in a number of locations. It would not make much sense to retain the stress constraints for every element in the panel since all of these stresses will vary nearly in unison as the panel thickness is varied. Thus, it is probably safe to retain only a few of the largest valued constraints from this “region.” Constraint regionalization is shown in Figure 2-5, which is the same as Figure 2-4, but with the constraints grouped into three regions. For now, we will assume these regions have been established based on some design model characteristics. Of the three regions shown, only two have constraints that are numerically greater than the truncation threshold. These constraints will pass the first screening test. Since the retained constraints within each region are likely to contain redundant information, only the largest constraints from each region are retained. These constraints are denoted by the check marks in the figure. NSTR, which in this example is 2, stands for the maximum number of constraints to be retained per region. G(X)

NSTR = 2 X

XXXXX X X X

TRS

-1.0

Retained Responses Figure 2-5

Region 1

Region 2

Region 3

1

2

Constraint Regionalization

It should be apparent that this screening process could result in a dramatic reduction in the 1.6 million constraints mentioned in the example above; perhaps to as few as 100 retained constraints. This is a much more tractable problem for the optimization algorithm to deal with. There is another more subtle, but equally important, benefit that can be realized from constraint screening. The example given above assumed that 10 load cases were used to develop the constraints. It is quite conceivable that some of these loads are unimportant in terms of producing critical design responses. The entire load case can then be eliminated from consideration in the sensitivity phase of the analysis with a direct effect on the performance of the sensitivity task of Design Sensitivity Analysis. This concept is referred to as “load case deletion” and plays an important role in MSC Nastran design sensitivity and optimization. As a final comment on constraint screening, sometimes it is desirable to retain constraints that would not normally survive the screening process. For example, perhaps only a sensitivity analysis is being performed and it is desired to know the sensitivity of all the responses, regardless of the value of the constraints. In another case, it might happen that a particular constraint is very sensitive and while not critical for a particular design, becomes critical, or even violated after a redesign and then gets deleted

Main Index

48 Design Sensitivity and Optimization User’s Guide Constraint Screening

again after the second redesign. The design could then bounce back and forth between two designs (one with the constraint well satisfied but with a large objective and the second with the constraint violated but with a small objective) and not converge. For these reasons, the threshold parameter TRS and the regionalization parameter NSTR are made accessible to the user and can be adjusted to increase the likelihood that a particular response is retained.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 49 Design Sensitivity Analysis

Design Sensitivity Analysis Design sensitivity analysis, as defined in this document, computes the rates of change of structural response quantities with respect to changes in design variables. Other sensitivities, such as change in a constraint value due to a change in the design variable or change in the response due to a change in a property, can be derived from chain rule operations on the sensitivities featured here. Since these partial derivatives provide the essential gradient information to the optimizer, they are always computed in connection with design optimization. Sensitivity analysis is always performed automatically in MSC Nastran whenever design optimization is requested. There may be times when you want MSC Nastran to compute just the sensitivity coefficients and not perform optimization. You can then use this sensitivity information to perform parametric design studies or to link with your own optimizer. This section presents the theoretical basis for design sensitivity analysis in MSC Nastran. This is a broad subject that is organized by first presenting some general concepts that are applicable to all of the sensitivity analyses. This is followed by a detailed discussion of element and grid responses. Adjoint and direct techniques for sensitivity are detailed and then sensitivity analyses for statics, dynamics and static aeroelasticity are described. This is followed by a discussion of the sensitivity of a number of responses that are global quantities: weight/volume, eigenvalues (normal modes and buckling), complex eigenanalysis, and flutter.

General Considerations A design sensitivity coefficient is defined as the rate of change of a particular response quantity r with respect to a change in a design variable x or  r   x . These coefficients are evaluated at a particular design characterized by the vector of design variables X 0 , giving r  ij = -------j  xi

(2-23) X

where subscripts are used to indicate the i-th design variable and the j-th response. Equation (2-23) is just the slope of the response with respect to x i as is shown in Figure 2-6.

Main Index

50 Design Sensitivity and Optimization User’s Guide Design Sensitivity Analysis

rj  xi 

 ij

xi 0 xi

Figure 2-6

Design Sensitivity Coefficient -- Graphical Interpretation

For Which Responses Are Sensitivities Computed? Sensitivities are computed for all of the responses (types-1, 2, and 3) that are used to define the objective function and retained constraints. Due to the constraint screening described in Constraint Screening, fewer response sensitivities are typically computed than there are responses defined in the design model. Internal Representation of the Sensitivity Coefficients in MSC Nastran For reasons of efficiency as well as accuracy, MSC Nastran uses a slightly different internal representation of the coefficients of Equation (2-23) depending on how the design variables are related to the analysis model properties. The set of independent design variables is taken as the basis for the design sensitivity coefficients when the linear relation between the designed property and design variable is used. This is an efficient choice since a large number of properties may be a function of a much smaller set of design variables.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 51 Design Sensitivity Analysis

For nonlinear relations, the basis for sensitivity analysis is taken to be the set of analysis model properties referenced on all of these second-level property relations. Inside the code, the sensitivities are then first computed as r  ij = --------j  pi

(2-24) X

Choosing properties as the basis greatly improves the accuracy of the approximate responses used in design optimization. Since an explicit relation between the properties and the associated design variables is known, this information can be used to evaluate the properties for a given change in the set of design variables. Computing the sensitivities with respect to the design variables would have linearized this relation, resulting in a less accurate approximation. To summarize, the sensitivity coefficients used internally in MSC Nastran are r -------j x i r --------j p k

i = 1, NDVI

k = 1, NIPR

(2-25)

where NDVI is the number of independent design variables and NIPR is the set of designed properties which are a nonlinear function of the design variables (including the “spawned” designed properties from the beam library). To illustrate the advantage in using a mixed design variable-property basis, consider responses that depend on properties which are linear functions of the design variables. The approximation for a change in the response due to a change in the design variable is r 0 0 r j  X + x 1   r j  X  + --------j x 1

(2-26)

 x 1 X

where the notation  X 0 + x i  is used to indicate that the ith design variable is being perturbed while the remaining variables on the X 0 vector are unchanged. For responses that depend on the properties that are nonlinear functions of the design variables, the approximation can be written as 0

r j  X + x i  = r j  X  +

r j

 -------p k k

  p k  X + x i  – p k  X   X

(2-27)

where the properties at the perturbed design in Equation (2-27) can be evaluated precisely from the input equations.

Main Index

52 Design Sensitivity and Optimization User’s Guide Design Sensitivity Analysis

Finite Difference Methods Finite difference techniques are used in places in MSC Nastran where it is not practical to compute analytical sensitivities. MSC Nastran employs two alternative finite difference schemes in its sensitivity calculation: forward difference and central difference. Conceptually, forward difference techniques determine the slope of a function f  X  at point X 0 by solving 0

0 f  X + x i  – f  X  f  X - = ---------------------------------------------------------------x i x i

(2-28)

while central differencing solves for 0

0 f  X + x i  – f  X – x i  f  X - = ------------------------------------------------------------------------------2x i x i

(2-29)

The forward differencing provides an estimate of the true sensitivity with an error that is on the order of the x step size. Central differencing reduces the expected error to be on the order of x 2 . Central differencing therefore provides a higher quality result but at the added cost of two difference steps rather than one. Sensitivities of type-2 and type-3 responses are always calculated using central differencing techniques to obtain the change in the response due to the change in one of the inputs. Chain rule techniques are employed to obtain the overall sensitivity of one of these responses to the design variable. For example, suppose one has constructed a type-2 response that is a function of a single displacement, stress and design variable r j = r 2  u r  s x t 

(2-30)

Then the sensitivity with respect to the ith design variable is computed using r j x t  r j u r r j  s dr -------j = ------- ------- + -------- -------- + --------- --------dx i x t x i  u r x i  s x i

(2-31)

where the r j  x t r j  u r and r j   s terms are calculated using central differencing techniques and u r  x i and  s  x i terms are derived from the response sensitivity analysis described in the following sections. The x t  x i term is 1.0 for i = t and 0.0 otherwise.

Element and Grid Responses Direct and Adjoint Sensitivity Methods MSC Nastran supports two distinct methods for computing sensitivity coefficients: direct sensitivity and adjoint sensitivity. The difference between the two methods can be motivated by expressing a response as a function of the finite element responses and the design variables r = f  u X 

Main Index

(2-32)

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 53 Design Sensitivity Analysis

The sensitivity of this response with respect to the design variables can be expressed as f u r ------ = ------ -----u x x

(2-33)

The direct method solves for u  x and uses that in a semi-analytic formulation such as that given in Direct Sensitivities of Static Responses to develop the response sensitivity. If the system equation for the finite element analysis can be written in a general form as Su = P

(2-34)

where S is simply K in a statics analysis and is –  2 M + iB + K in a frequency response analysis, then the derivative of Equation (2-34) gives  u   P  S  S   ------  =  -------  – ------  u  x  x   x 

(2-35)

The important point about Equation (2-35) for now is that it requires the solution of ndv  nlc right-hand sides, where NDV = NDVI + NIPR of Equation (2-25) and nlc is the number of retained  u  solution vectors. For statics solutions, this is the number of retained subcases while for a frequency response analysis, it is the number of retained frequencies per subcase summed over the number of subcases. The adjoint method employs a scheme that first solves for adjoint solutions using  f  T  S     =  ------  u 

(2-36)

and then substitutes in Equation (2-33) to give  S T  P r ------ =     ------- – ------  u   x x x  

(2-37)

Where  S  – T  S  =  I  has been used to eliminate the system matrix. Equation (2-36) requires the solution of nresp equations, where nresp is the number of retained responses. There is an important class of problems where the adjoint method had a distinct advantage over the direct method: frequency response optimization. As an example, consider a design model that has 20 design variables and 100 frequency excitation points that results in 150 active responses distributed over the 100 frequencies. (Note that excitation frequencies that do not result in active responses are screened out and do not contribute to the nlc calculation.) In this case, the adjoint method requires 150 solutions while the direct method requires 2000. This indicates that the adjoint method can be expected to require roughly 7.5% of the resources (CPU and disk space) needed by the direct method.

This section continues by discussing the direct sensitivity method with a subsequent discussion of the adjoint method. The adjoint method has been implemented in MSC Nastran for grid responses.

Main Index

54 Design Sensitivity and Optimization User’s Guide Design Sensitivity Analysis

Direct Sensitivities of Static Responses For a given structure with specified geometry, material properties, and boundary conditions, a displacement-based linear static analysis computes the displacement responses due to the applied loads. All other static responses such as stresses and strains are determined from the displacement solution. For an arbitrary response, r, the functional dependency on the displacement is written as, r = r  U X 

(2-38)

For the direct method in MSC Nastran, the sensitivities of these responses with respect to changes in the design variables are approximated using first forward finite differences as 0 0 0 r r r j  X + x i U + U  – r j  X  U  -------j  --------j = --------------------------------------------------------------------------------------x i x i x i

(2-39)

where r j is the j-th design response. It should be noted that Equation (2-39) uses X and x in a generic way to encompass the non-linear properties of Equation (2-25). The steps required to evaluate Equation (2-4) include: 1. The designed properties and/or designed shape basis vectors are perturbed using a finite difference step and perturbed element matrices are developed. 2. Pseudo-loads are constructed from the perturbed loads, the perturbed element matrices and the solution vectors. 3. The perturbed displacements resulting are solved from the pseudo-loads. 4. The perturbed displacements are added to the baseline solution vectors to produce the total U + U solution vectors. 5. Data recovery is applied to these total vectors to obtain the responses when the design quantities have been perturbed. 6. Equation (2-39) is applied to obtain the required sensitivity. Each of these steps is now described in greater detail. Property and/or Shape Basis Vector Perturbation

For property optimization, the size of the move x is given by x i = DELB  x i

(2-40)

or p i = DELB  p i

(2-41)

where DELB is user accessible parameter with a default value of 0.0001. If x i in Equation (2-40) or p i in Equation (2-41) is exactly zero, then the respective move is given by .001. For shape basis vectors, the selection of the step size is more involved because, as the discussion on designed shapes in The Design Model indicates (Equation (2-11)), the magnitude of the change in the grid location is the product of the shape basis vector and the change in the design variable.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 55 Design Sensitivity Analysis

For shape sensitivities, grid coordinates are perturbed a finite amount STPSCL  G  i = -----------------------  T  i Ei

(2-42)

The subscript i in Equation (2-42) characterizes the relation as a variation in shape for the i-th design variable. is the maximum strain energy norm computed using the  T  i basis vector. STPSCL is a user accessible parameter with a default value of 1.0. Ei

The maximum strain energy norm used in Equation (2-42) is computed by first determining the grid “forces” due to a shape basis vector “displacement”  K   T i =  Fs 

(2-43)

Note that the components of T associated with rotational DOFs (degrees-of-freedom) are set to zero so that no forces are generated on these DOFs. The forces can be used to compute a strain energy per grid location as  Fs   T i =  E i

(2-44)

Equation (2-44) is an open product, resulting in a vector of strain energies. Locating the maximum term in the vector and taking its square root yields E i =  max  E  i 

12

(2-45)

We get one such E i for each design variable-shape basis vector pair. This has been found to yield a consistent set of finite difference move parameters for shape sensitivity. Pseudo-Load Vectors

The term Pseudo-Load vectors is used to refer to the terms on the right hand side of Equation (2-35). For static analysis this equation, can be written as K  U  =   P  – ----------- U  K  ------------- ------------x i x i x i

(2-46)

Computationally, Equation (2-46) and Equation (2-34) are identical except that they have different righthand side load vectors, hence the term pseudo-loads. The cost of the displacement sensitivity solution can be reduced if the stiffness matrix, already available in decomposed form as a result of the finite element solution, is reused. This observation is taken advantage of in MSC Nastran. Note that the right-hand side of Equation (2-46) includes the partial derivatives   P   x i and   K   x i . Since these are generally implicit functions of the design variables, these derivatives are approximated using finite differences. The selection of the finite difference method (forward vs. central) is controlled in MSC Nastran by PARAM CDIF. The default is ‘NO’ (forward differencing) for property sensitivity and ‘YES’ (central

Main Index

56 Design Sensitivity and Optimization User’s Guide Design Sensitivity Analysis

differencing) for shape sensitivity. These defaults reflect MSC’s experience that it is generally more difficult to obtain accurate shape sensitivities relative to the property sensitivities. • For forward differencing, 0

 K  X + x i   –  K  X   ---------- K -  u   ----------------------------------------------------------------  u  x i x i   P   P  X + x i   –  P  X   -------------  ------------------------------------------------------------------x i x i

(2-47)

• For central differencing, 0

 K  X + x i   –  K  X –  x i   K ------------  u   ---------------------------------------------------------------------------- u 2x i x i   P   P  X + x i   –  P  X –  x i   -------------  ------------------------------------------------------------------------------x i 2x i

(2-48)

The product of the change in the matrices times the solution vectors is formed directly rather than first forming the difference in the matrices and performing the multiplication by the solution vectors later. This greatly improves the performance and disk space usage in the sensitivity calculation. In most cases, the load vector is invariant with respect to design variable changes. Exceptions are gravity loads that vary with the mass of the structure and thermal loads which are derived from the element properties. MSC Nastran does not account for changes in loading due to changes in shape in its sensitivity calculations so that, for example, a pressure load is assumed to be invariant in the shape sensitivity calculation. The changed load is accounted for when a finite analysis is performed on the redesigned shape. Solution for the Perturbed Displacements

Once the pseudo-loads have been developed, standard MSC Nastran solution techniques can be used to solve for the perturbed u displacements. This entails reduction techniques to bring the loads to the degrees-of-freedom required by the decomposed stiffness matrix and subsequent recovery to bring the u vectors back to the full set of physical degrees-of-freedom. Addition of Perturbed and Baseline Solution Vectors

It needs to be recognized that in general r  u + u   r  u  + r  u 

(2-49)

so that it is necessary to form the  u + u  for the recovery of the perturbed responses. This entails a straightforward addition except that the  u  vector has columns for each design variable for each column in  u  . Therefore it is necessary to precede the addition by an operation which duplicates the  u  vectors to make this matrix conformable with the  u  vectors.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 57 Design Sensitivity Analysis

Data Recovery

Standard MSC Nastran data recovery techniques are applied to extract retained design responses for each of the perturbed design variables. Final Sensitivity Calculations

With the perturbed and baseline responses, it is now possible to apply Equation (2-39) to compute the actual sensitivity of the type-1 one responses with respect to the independent design variables and the nonlinear properties. Inertia Relief Sensitivity Analysis

A special case in static sensitivity analysis occurs when the structure being analyzed is free to move as a rigid body. In this case “inertia relief” techniques are applied, resulting in additional terms in the sensitivity calculations. A complete derivation of the sensitivity calculations for this case is not warranted; however, a sketch of the method, indicating how inertia relief sensitivity analysis is implemented in MSC Nastran, is provided. For static inertia relief analysis, a revised loading is developed using i

L

P = P – MDu·· r

(2-50)

where L =

the applied loading.

D =

a “rigid body mode” matrix that provides accelerations at all grid points due to rigid body accelerations u·· r .

These accelerations can be either specified by the user with a DMIG,UACCEL Bulk Data entry or computed as part of the solution using –1

l

 u·· r  =  M r   P r 

(2-51)

where the mass and loading terms have been reduced to the “SUPORT”ed degrees-of-freedom. The sensitivity of the load is then i L  P  =  P – MDu·· r – MDu·· r – MDu·· r 

(2-52)

is considered invariant in this derivation, indicating that shape changes are not supported. The u·· r term is calculated from a perturbation of Equation (2-51) to give D

–1 L  u·· r  =  M r + M r   P r – M r u·· r 

Note that second order terms, such as MD u·· r , are retained in this special analysis.

Main Index

(2-53)

58 Design Sensitivity and Optimization User’s Guide Design Sensitivity Analysis

Shape Sensitivity with Rigid Elements

Rigid elements provide a convenient way of specifying linear relationships among degrees-of-freedom. This has implications in shape sensitivity analysis since the perturbations in the grid locations produce changes in the linear relationships. Basically, the relationship between dependent (m-set) and independent (n-set) degrees-of-freedom is expressed as (2-54)

 Rm   um  +  Rn   un  = 0

This gives rise to a relationship between dependent and independent degrees-of-freedom of the form (2-55)

 um  =  Gm   un 

where –1

(2-56)

 Gm  = – Rm   Rn 

or (2-57)

 Rm   Gm  = – Rn 

For sensitivity analysis, it is then necessary to develop  G m  from perturbing Equation (2-57)  R m   G m  +  R m   G m  = –  R n 

(2-58)

or –1

 G m  = –  R m    R n  +  R m   G m  

(2-59)

If  R n  + and  R m  + are defined as being finite forward steps for the R n and R m matrices, then Equation (2-57) can be used in Equation (2-59) to give –1

+

+

 G m  = –  R m    R n  +  R m   G m  

(2-60)

The rigid element sensitivity calculation, therefore, entails including this  G m  when computing the pseudo loads. The details of including these terms are not shown here, but differ by analysis type and whether direct or adjoint methods are employed. Static Aeroelastic Sensitivity Analysis

Static Aeroelastic analysis performs a static analysis of a free-flying vehicle immersed in an airflow. This is a separate discipline within MSC Nastran SOL 200 and the available responses are: • Static aeroelastic responses, including not only displacement, stresses, forces, etc., but also trim

variables. This allows the evaluation, for example, the change in the trim angle of attack due to a structural change. • Stability derivative sensitivities. This, for example, allows the determination of the effect that

strengthening a wing spar has on the rolling moment produced by a deflection of the aileron.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 59 Design Sensitivity Analysis

This section contains a brief description of the theory for aeroelastic sensitivity analysis. For both theoretical and design modeling details as well as example problems, see the MSC Nastran Aeroelastic Analysis User’s Guide. The form of the equations is the same as for sensitivity analysis of static responses (2-61)

Ku = P

where, for static aeroelastic analysis, a

K =

a

K ll + K ll

K lr + K lr

T

T

D M ll + M rl D M lr + M rr D

T

a K ll

+

a K rl

D

T

a K lr

0    u =    

+

a K rr

a

M ll D + M lr

K lx

0 mr 0

0 D

T

a K lx

a

+ K rx

ul   un   u·· r   ux 

    P =   Pr   

(2-62)

   0   T + D Pl   Px   Pl

This equation is differentiated with respect to a design variable and solved for the “displacement” sensitivities using a semi analytic approach as has been described in Equation (2-46) for static sensitivity analysis. Static Aeroelastic Sensitivity (see Aeroelastic Design Sensitivities and Optimization in Chapter 2 of the MSC Nastran Aeroelastic Analysis User’s Guide) provides further details of the sensitivity and indicates the special steps that are required to accommodate the mean-axis constraint embedded in Equation (2-62). Also, the stability derivative responses necessitate the generation of additional solution vectors for a unit deflection of the associated aerodynamic variable. Direct Sensitivities for Dynamics Dynamic response sensitivities are computed in Solution 200 in connection with design sensitivity analysis and optimization. The following disciplines are available: • Direct frequency • Modal frequency • Modal transient

All of these disciplines support fluid-structural coupling.

Main Index

60 Design Sensitivity and Optimization User’s Guide Design Sensitivity Analysis

General Considerations

The general methodology employed for dynamic responses are very similar to those just described for static analysis so that this description uses far less detail and the reader is referred to the previous section for a more complete description. The complete stiffness matrix for dynamic response analysis consists of a superposition from damping as well as direct matrix input  K  =  K 1  + ig  K 1  + i  g e  K e  +  K 2 

(2-63)

 K1 

=

structural stiffness

g

=

uniform structural damping coefficient PARAM,G

ge

=

structural damping coefficient, GE, on a MATi entry

 K2 

=

direct matrix input at grids DMIG

The DMIG input of K 2 cannot be designed, nor can PARAM G. The K 1 matrix can be affected by any of the available property or shape design parameters. The g e parameter is accessible to design as one of the material properties shown in Table 2-2. The total damping matrix is the sum of the contributions from viscous elements  B 1  and direct matrix input at the grids  B 2  (2-64)

 B  =  B1  +  B2 

For structural mass, (2-65)

 M  =  M1  +  M2 

The direct matrix inputs for damping  B 2  and mass  M 2  are assumed constant in the sensitivity analysis as is the case with the direct matrix input for stiffness. Direct Frequency Response Sensitivity Analysis

Sensitivities for direct frequency response are obtained by differentiating the governing equation 2

(2-66)

 –   M  + i  B  +  K    U  =  P 

to obtain 2

2

 –   M  + i  B  +  K    U  =  P  –  –   M  + i  B  +  K    U 

(2-67)

where  indicates differentiation with respect to a design variable, or   x i . Equation (2-67) is solved once for each forcing frequency, load condition, and design variable. Although the force derivative term  P  is shown in Equation (2-67) for completeness, this term is assumed to be zero in MSC Nastran. Therefore, if gravity, thermal, or geometry dependent loadings are

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 61 Design Sensitivity Analysis

significant, some error will be introduced into the approximation. This assumption of zero  P  also applies to the modal frequency and modal transient formulations. There is a subtle issue in the data recovery step of the dynamic sensitivity calculation that can be mentioned here. MSC Nastran calculates results in the analysis set and then recovers them to the physical set. One step in this standard recovery is the calculation of the omitted degrees-of-freedom using a relation of the form (2-68)

 uo  =  Go   ua 

(See Equation 3-23 of the MSC Nastran Advanced Dynamic Analysis User’s Guide). This ignores terms that arise from the structure’s mass and the loads applied to the omitted degrees-offreedom that is given in Eq. 3-20 in the MSC Nastran Advanced Dynamic Analysis User’s Guide. –1

o

(2-69)

 u o  =  K oo   P o –  M oa   u a  

In a standard dynamic analysis, user’s are cautioned to not apply loads to omitted degrees-of-freedom and not to omit degrees-of-freedom that have appreciable mass so that the approximation involved in Equation (2-69) can be considered negligible. The omitted degrees-of-freedom are typically nodal rotations that have no load or mass associated with them. However, in a sensitivity analysis,  K   u  terms can easily produce loads on these omitted degrees-of-freedom with the result that the sensitivities of element responses can be in significant error. MSC has provided a remedy in the form of PARAM SENSUOO. The default for this parameter is NO so that the terms of Equation (2-68) are neglected. Setting SENSUOO to YES includes the term. With the de-emphasis on omitted degrees-of-freedom in present day finite element analysis, this is typically not a major issue. Modal Frequency Response Analysis

The governing equations for modal frequency response analysis are obtained from the equations for frequency response by introducing the modal transformation (2-70)

U  

where    is a matrix of eigenvectors, perhaps augmented by residual vectors and    is a vector of modal coordinates. If Equation (2-70) is applied to Equation (2-66) and the result is remultiplied by    T , the following set of equations result 2

T

T

T

T

 –      M     + i     B     +     K         =     P 

(2-71)

MSC Nastran also supports a modal damping term that can be added to the diagonal elements of the modal damping matrix. This terms expressed as bi = gi i mi

(2-72)

where  i is the undamped vibration frequency, m is the generalized mass in the ith mode and g i is a user input value. (See Eq. 2-26 in the MSC Nastran Advanced Dynamic Analysis User’s Guide). It is

Main Index

62 Design Sensitivity and Optimization User’s Guide Design Sensitivity Analysis

recommended that this form of damping be avoided in design sensitivity and optimization. This is because MSC Nastran neglects the sensitivity of this term when performing a sensitivity analysis in a modal frequency response analysis. It has been found that this can result a substantial error in the sensitivity results, particularly when the excitation frequency is near a resonant frequency. It is recommended that the PARAM G form of structural damping be used in place of the modal damping when performing modal frequency response sensitivity analysis. An important assumption that is made is that the normal modes technique used in performing the modal analysis is equally adequate in performing a sensitivity analysis. That is, the basis that is used to span the analysis space that is used to justify a modal analysis in the first place should be just as valid in a sensitivity analysis. The benefit of making this assumption is that it avoids the need for computing the sensitivities of the eigenvectors. Support for this assumption can be obtained from the realization that modal analyses can be performed without any loss of accuracy relative to a direct analysis if a complete set of modes (that is all the modes are extracted from the physical model) is used. Therefore a sensitivity analysis that uses a complete set of modes applied to the pseudo-loads will result in the same sensitivity results as would be obtained using a direct analysis. Another way of stating this is that it assumes that (2-73)

 U        

Applying this to Equation (2-67) yields 2

T

T

T

 –      M     + i     B     +     K         = T

2

(2-74)

     P  –  –   M  + i   B  +  K    U  

With the derivatives of the modal coordinates computed from Equation (2-74), the displacement derivatives are available by direct substitution into Equation (2-73). The data recovery steps of the static sensitivity analysis can then be applied to obtain the sensitivities of the grid and element responses. The above discussion of the assumption that accurate sensitivities can be obtained without including eigenvector sensitivities should be qualified by pointing out that the pseudo-loads generated in a sensitivity analysis are likely to excite the structure in ways that typical structural loads do not (for example, the pseudo-loads are likely to be in the plane of the structure while applied loads are typically transverse to the structure). For this reason, it is recommended that more modes be retained when performing a sensitivity analysis than would be used in frequency response analysis. A rule of thumb is that twice as many modes should be retained to obtain accurate sensitivities as are required to obtain accurate responses. However, this is only a guideline and it is strongly recommended that a convergence study be performed by increasing the number of retained normal modes until the sensitivity values do not change significantly. Modal Transient Response Sensitivities

The governing differential equation for transient dynamic response is  M   U··  +  B   U·  +  K   U  =  P 

(2-75)

The modal transformation is again given by U = 

Main Index

(2-76)

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 63 Design Sensitivity Analysis

Introducing the modal transformation into Equation (2-75) and differentiating with respect to a design variable yields the expression for the modal transient displacement sensitivities T T T ·· ·     M        +     B        +     K        T =      P  –   M   U··  +  B   U·  +  K   U   

(2-77)

As in modal frequency sensitivity analysis, Equation (2-77) makes the assumption that a sufficient number of modes are included such that the relation of Equation (2-73) is a good approximation. Once the solution for the modal coordinates and their time derivatives are available, the displacement derivatives are computed from Equation (2-76). Coupled Fluid-Structure Interaction Sensitivity Coupled fluid-structure analysis is used to solve problems in which the interaction effects between fluid and structure are significant. MSC Nastran uses a fully-coupled formulation for this analysis. Although its principal application is in acoustic problems, it can also be applied to other general problems, such as fluid storage (tank sloshing), or other situations in which an inviscid, irrotational formulation is valid. Refer to the Coupled Fluid-Structure Interaction (p. 752) in the MSC Nastran Reference Manual for details on the analysis formulation. The sensitivity equations for fluid-structure interaction are identical in form to the dynamic response sensitivity equations and can be solved using the existing dynamic response sensitivity solution algorithms. To understand why this is so, the general equations of motion for the fluid-structure system can be written as  M   x··  +  K   x  =  F 

(2-78)

The solution vector  X  consists of both structural displacements  U  and the fluid pressure  P  .   x =  U   P 

(2-79)

The vector of external loads  F  is comprised of both structural as well as fluid forces or    Fs  F =    Ff  

    

(2-80)

The mass matrix in Equation (2-78) is defined as M =

Main Index

 Ms  T

– A   Mf 

(2-81)

64 Design Sensitivity and Optimization User’s Guide Design Sensitivity Analysis

 Ms 

=

structural mass

 Mf 

=

fluid mass (including compressibility effects)

A

=

fluid-structure coupling matrix

The stiffness matrix consists of K =

 Ks   A   Kf 

 Ks 

=

structural stiffness

 Kf 

=

effective fluid stiffness

(2-82)

If the loads in Equation (2-78) are frequency-dependent, a direct formulation can be written just as for the structural case where no fluid effects are present. Differentiating the direct frequency equation yields an expression similar to Equation (2-67), which can be solved by exactly the same methods. In very large problems, it is often desirable to apply the modal decomposition method in order to reduce the cost of the analysis. Modal formulations in coupled fluid-structure analysis are derived from a separate consideration of both fluid and structural components. The structural modes are computed for a structure in a vacuum, that is, in the absence of any fluid effects. The modal transformation for the structural degrees-of-freedom can then be written as  u  =  s   s  T

 ms  =  s   M    s 

(2-83)

T

 ks  =  s   K    s   s 

=

are the modes for structure in a vacuum

The modes for the fluid are computed under the effects of rigid wall boundary conditions, which eliminate the structural coupling effect. The resulting modal transformation for the fluid degrees-offreedom is then  P  =  f   f  T

 mf  =  f   M    f 

(2-84)

T

 kf  =  f   K   f 

where   f  are the modes of the fluid enclosed by a rigid container. After modal reduction for both structural and fluid degrees-of-freedom, the equations of motion can be written as

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 65 Design Sensitivity Analysis

    0  ··       s    Ts F s  k  T + s  s A f   s  =       m ·· T T  f   f T Ff   –  f A  s  f   f  0 kf     ms

(2-85)

This modal transient formation can be differentiated with respect to a design variable to obtain the equations for coupled fluid-structure interaction sensitivity. The form of the equations is similar to Equation (2-77) for modal transient analysis, so it is not repeated here. However, the solution process is identical. If the excitation is frequency-dependent rather than time-dependent, the resultant sensitivity equations assume the form given by Equation (2-74) for structural problems. Due to the similarities of their equations, the solution process is again identical. Adjoint Sensitivity Analysis for Grid Responses As detailed above, the criterion for invoking the adjoint sensitivity method is NRESP  NDV  NLC

(2-86)

The actual selection of the adjoint sensitivity method involves further factors/restrictions: • The adjoint method is only available for statics (not including thermal loads or static

aeroelasticity) and frequency response analyses (both direct and modal). • Only grid responses are supported. SPC Forces are not supported. • The method is not available with p-element models

The limitation to grid responses is motivated by two factors: 1) The development of the f  u vector required in Equation (2-33) is not trivial for certain elements and 2) it is unlikely that a design task that included element responses would pass the criterion of Equation (2-86). The adjoint sensitivity analysis shares the property or shape basic vector perturbation step detailed by Equation (2-40) thru Equation (2-45) with the direct method, but the two methods diverge at that point.

The adjoint method requires solution of the adjoint equation  f  T  S     =  ------  u 

(2-87)

where the   f  u  vectors are established based on the retained grid response(s) and the rows of these vectors are all zeroes except for a 1.0 in the location corresponding to the degree-of-freedom of the active response. The sensitivity can then be developed directly using  r  -  =    T  –  2  M  + i  B  +  K    u   ---- x 

(2-88)

where the terms on the right-hand side are developed using the semi-analytic methods similar to those given in Equation (2-47) and Equation (2-48).

Main Index

66 Design Sensitivity and Optimization User’s Guide Design Sensitivity Analysis

Because many of the steps required in the direct sensitivity analysis are not needed in the adjoint method, this permits additional savings in terms of CPU time and required disk space over and above the savings produced from the fewer number of adjoint loads relative to the number of pseudo-loads. As a final comment on the adjoint sensitivity method, Equation (2-87) is similar to the equation solved in a frequency response analysis. This similarity can be exploited by solving for the adjoint solution vectors of    as part of the analysis. This is particularly useful in a direct frequency response analysis where a considerable portion of the time can be expended in the decomposition of the  S  matrix at each frequency. See the description of PARAM SOLADJC in SOLADJC for details as to when and how the adjoint solution vectors are computed during the frequency response analysis. Weight Sensitivities Weight sensitivities are calculated using matrix  M  and matrix  DR g  . The latter matrix provides the displacement at all the degrees-of-freedom in the model based on a unit displacement at the six degreesof-freedom at the grid identified by PARAM GRDPNT. T

 W  =  DR g   M   DR g 

(2-89)

This is a six by six matrix for each design variable and the appropriate term in the matrix is selected based on the user’s specification of the weight response. Volume Sensitivities Volume sensitivities are computed by computing the volume of all the finite elements for a perturbation in each of the design variables, subtracting out the baseline volume and dividing by the perturbation. 0

V  x + x i  – V  x  V -------- = -------------------------------------------------x i x i

(2-90)

Real Eigenvalue Sensitivities The eigenvalue equation is   K  – n  M    n  = 0

(2-91)

where  n and   n  are the n-th eigenvalue and eigenvector, respectively.  K  is the structural stiffness, and  M  is the structural mass. The governing Equation (2-91) can be differentiated with respect to the i-th design variable x i to yield,   n   n  M    K - –  ------------  M   n    K  –  n  M   --------------- +  ----------n  x -   n  = ------- x x i x i i i

(2-92)

When Equation (2-92) is pre-multiplied   n  T , the   n  T   K  –  n  M   term that then appears at the front of Equation (2-92) is the transpose of Equation (2-91) and therefore zero. Equation (2-92) can then be solved for the eigenvalue derivatives

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 67 Design Sensitivity Analysis

M T K   n   ------------ –  n -------------   n   x  xi   n i --------- = -------------------------------------------------------------------------T x i  n   M   n 

(2-93)

In practice the solution to the above equation is based on a semi analytic approach. The derivatives of the mass and stiffness matrices are approximated using finite differences of the form in Equation (2-47) and Equation (2-48). Equation (2-93) is solved for each retained eigenvalue referenced in the design model and for each design variable. It should be mentioned that this equation is valid only for the case of distinct eigenvalues. Real Eigenvector Sensitivities The eigenvector sensitivity method available in MSC Nastran is based on Nelson’s Method (see Nelson, R. B., in Reference 6.. For the method, Equation (2-92) can be rewritten as   n    M   n K   K  –  n  M   --------------- = –  ------------ –  n ------------- + ---------  M    n   x  x i x i x i i

(2-94)

Equation (2-94) cannot be solved directly for the eigenvector sensitivity because the   K  –  n  M   term

is singular. This requires that the matrix size be reduced by one and the reduction technique differs depending on what method the user has specified for the normalization of the eigenvector. If the NORM=MAX option has been selected, then the maximum term is assumed invariant so that this term can be removed from the system, the reduced system solved, and a zero placed in the location of the maximum term. For NORM=MASS, a substitution is made   n  -  =  V i  + C in   n   ------- x i 

(2-95)

Without loss of generality, one of the terms in V i can be set to 0.0 and this row and column can be partitioned out of the system to produce a reduced system than can be designated with a superscript bar (-)  K    M   n  k  –  i  M   V n  = –  ------------ –  n ------------- + ---------  M    n   x x x   i i i

(2-96)

Equation (2-95) contains a C in term that can be derived from the requirement that the generalized mass

is invariant with respect to the design change  n T T M 2   n   M  --------- +  n --------  n = 0  xi x i

(2-97)

Substituting Equation (2-95) into Equation (2-97) yields T T M 1 C in = – ---  2   n   M   V n  +   n  --------   n   x i 2

Main Index

(2-98)

68 Design Sensitivity and Optimization User’s Guide Design Sensitivity Analysis

The total sensitivity for the NORM=MASS method can now be determined by substituting results from Equation (2-96) and Equation (2-98) into Equation (2-95). It should be noted that NORM=POINT is not supported for eigenvector sensitivity analysis. Buckling Load Factor Sensitivities The derivation of buckling sensitivity is similar to that of eigenvalue sensitivities. The equation for determining of the buckling load factor  is (2-99)

 K   n  + n  Kd   n  = 0

Differentiating this expression and solving for the buckling load factor sensitivities yields   Kd  T K   n   ------------ +  n ---------------   n   x i   n x i --------- = --------------------------------------------------------------------------T x i  n   Kd   n 

(2-100)

As before, this equation is solved semi analytically by approximating the structural property matrix derivatives using finite differences. The approximation of the differential stiffness is worth discussing. This stiffness is a function not only of geometry but of displacement as well (2-101)

 K d  =  K d  X U  

where the displacement is of a particular static analysis that is used in the buckling analysis. In the finite difference approximation,  K d  can be approximated for the perturbed configuration as 0

  K d   K d  X + x i U + U   –  K d  X  U   ---------------  ---------------------------------------------------------------------------------------------------x i x i

(2-102)

MSC Nastran supports two variations for the sensitivity of the differential stiffness, neither of which is exactly of the form given in (2-102). In the first, the differential stiffness matrix is ignored in its entirety. In some situations, this provides an adequate approximation to the buckling sensitivity and certainly requires less computational resources. The second alternative is to include the sensitivity of the differential stiffness using 0

K d  X  U    Kd  0 0 --------------- =  K d  X + x i U   –  K d  X  U   + -----------------------------x i x i

(2-103)

This form relies on the assumption that the differential stiffness matrix is a linear function in the displacements so that 0

 K d  x  U + u   –  K d  x  U     K d  x  U  

(2-104)

Experience has shown that this is a more accurate formulation than using differencing techniques to obtain the effects of the perturbed displacements. The selection of which method is applied in a buckling sensitivity calculation is based on PARAM DSNOKD. The default value for this parameter is 0.0, which

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 69 Design Sensitivity Analysis

neglects the differential stiffness sensitivity. In the case where the analysis is being carried out on a determinant structure, the differential stiffness matrix is invariant with respect to property changes so neglecting this term is appropriate. DSNOKD=1.0 uses the formulation of Equation (2-103) and is recommended when accuracy is important. Complex Eigenvalue Sensitivity Analysis

The basic equation for complex eigenvalue analysis is 2

  M p n +  B p n +  K     n  = 0

(2-105)

and there is an associated left-handed eigenvalue analysis T 2

T

T

  M  pn +  B  pn +  K    n  = 0

(2-106)

where p n ,  n and  n denote the complex eigenvalue and right and left complex eigenvectors, respectively, of the nth mode. Note that the left and right eigenvectors are distinct and share a common eigenvalue, p n which can be defined as (2-107)

p n =  + i

where  and  are the real and imaginary parts of the complex eigenvalue, p n . The structural matrices  K  ,  B  , and  M  include contributions both from structural elements as well as direct input via K2GG, B2GG, M2GG, K2PP, B2PP, and M2PP. Relations used in computing the design sensitivities can be derived by differentiating Equation (2-105) and Equation (2-106) with respect to a design variable. Using  to refer to a perturbation, we obtain, from Equation (2-105), 2

  M + M   p + p  n +  B + B   p + p  n +  K + K      +   n  = 0

(2-108)

Expanding, ignoring higher order terms, and utilizing Equation (2-106) yields the following approximation for the variation in the n-th complex eigenvalue T

2

–   n    M p n +  B p n +  K     n  p n  ------------------------------------------------------------------------------------------------------T   n   2p n  M  +  B     n 

(2-109)

where p n =  + i

(2-110)

and  and  are the real and imaginary variations, respectively, of the complex eigenvalue. Note that the approximation in Equation (2-109) does not require complex eigenvector sensitivities. As the case of modal dynamic analysis of Equation (2-73) and Equation (2-46), the assumption is that enough modes have been retained such that the perturbed subspace can be adequately represented by the original mode set. For this reason, a larger mode set than would normally be required for analysis purposes is recommended for modal complex sensitivity analysis. Because this number is highly problem-

Main Index

70 Design Sensitivity and Optimization User’s Guide Design Sensitivity Analysis

dependent, a logical approach would be to include enough modes until acceptable accuracy convergence is achieved. Flutter Sensitivity Analysis

The eigenvalue problem for flutter adds aerodynamic terms to the derivation given for complex eigenanalysis in the previous section. The flutter equation is given by l

Q hh  1 1 2 R 2 M hh p +  B hh – --- cV --------- p +  K hh – --- V Q hh  u h  = 0   k  4 2 

(2-111)

where the terms in the above equation are defined in the Flutter Solution Techniques in Chapter 2 of the MSC Nastran Aeroelastic Analysis User’s Guide. Flutter sensitivity computes the rates of change of the transient decay rate coefficient  with respect to changes in the design variables.  is defined in connection with the complex eigenvalue p (2-112)

p =    + i  = pR + pI

The sensitivity calculation for  is expressed in terms of the sensitivities of the eigenvalue as p 1 p  ------ = ----  --------R- – -----------I p I x x x

(2-113)

The eigenvalue sensitivity computation is conceptually straightforward and somewhat along the lines of the complex eigenvalue sensitivity given above. The complete derivation can be found in Aeroelastic Design Sensitivities and Optimization in the MSC Nastran Aeroelastic Analysis User’s Guide. PSD Response Sensitivities

The calculation of the sensitivities of the PSD responses of Equation (2-18) is based on sensitivities calculated from a dynamic sensitivity analysis x

S jf =

*

*

  S ab  Hja Hjb + Hja H jb  a

(2-114)

b

where the terms H are sensitivities at a particular degree-of-freedom and frequency. RMS Response Sensitivities

The sensitivity of the RMS quantity u j versus each design variable x is calculated from a numerical integration of the PSD sensitivities of Equation (2-114) and the definition of RMS response given by Equation (2-20) 1 1 u j = ---  ---- 2  u j

Main Index

 C f  S jf  f

(2-115)

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 71 Design Sensitivity Analysis

Sparse Data Recovery in Sensitivity Analysis

A final aspect of sensitivity analysis bears mentioning simply because of the dramatic effect it can have on performance and data storage requirements. As finite element model sizes become even larger, it has become apparent that there is a benefit to be obtained in only computing minimum required values of physical displacements. Data recovery refers to the steps that occur following the solution of equations like Equation (2-34) in physical coordinates or Equation (2-71) in model coordinates. The concept of sparse data recovery will be explained here in the modal context, since it is here that the most dramatic gain can be achieved. The recovery from modal to physical coordinates occurs with the matrix multiply given in Equation (2-70). Sparse data recovery entails limiting the terms in the    matrix to those that are to be used subsequently. In the context of design sensitivity, the total degrees-of-freedom required in a sensitivity analysis are a union of sets defined by • The user output requests. • Those required to evaluate the design responses. • Those touched by the design model and needed either to compute the pseudo-loads or in the sensitivity calculations of Equation (2-88).

In extreme cases, a finite element model may have millions of degrees-of-freedom while only a few hundred need to be recovered. Sparse data recovery is currently employed in three analysis disciplines in SOL 200: 1. Normal Modes 2. Direct Frequency Analysis 3. Modal Frequency Analysis While other disciplines could be added to this list, the three listed above are considered the most important.

Main Index

72 Design Sensitivity and Optimization User’s Guide Optimization

Optimization A variety of optimization algorithms are available for use in SOL 200. This subchapter is limited to a discussion of the interaction between the optimizer and the approximate model and is applicable regardless of the selected optimization algorithm. An overview of the available optimization algorithms is given in Optimizer, 30 while the licensing considerations are discussed in Optimizers (Licensing), 189.

Connection Between the Optimizer and the Approximate Model Figure 2-7 is a flow chart of the approximate optimum design task using the specified optimization algorithm as it is embedded within MSC Nastran. Note that the optimizer is called within a ‘do-while’ loop and that, based on a the INFO parameter, the approximate model discussed in The Approximate Model is used to provide function values or gradient values. The figure shows the possibility of an error being encountered by the optimizer that makes further progress impossible. This is, hopefully, a rare occurrence that is triggered by, for example, attempting an optimization task that is too big or asking the optimizer to overcome a violated constraint for which the gradient is zero. In this latter case, there is no possibility of achieving a feasible design and this usually indicates a user error in specifying the design task.

As seen in Figure 2-7, if INFO=2, a gradient evaluation is required. This is a request for sensitivities of the objectives and all the constraints the optimizer considers active. If INFO is 0 or 1, a function evaluation is required. This is a request for the value of the objective and all of the constraints for the current values of the design variables. INFO=0 indicates that the design task is complete, the ‘do-while’ loop is exited and control is returned to the MSC Nastran system.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 73 Optimization

Initialization

Optimizer (MSCADS, IPOPT)

Fatal Error

Y

STOP

N

INFO=2

Y

Gradient Evaluation

N Function Evaluation Y N INFO=0 Y

Exit

Figure 2-7

Interaction Between the Optimizer and the Approximate Function and Gradient Evaluations

Numerically Identifying the Active and Violated Constraints The optimization algorithm makes a determination as to which of the retained constraints are violated and which are active. The constraints which are neither active nor violated can be ignored in the gradient

Main Index

74 Design Sensitivity and Optimization User’s Guide Optimization

evaluation of Figure 2-7, thereby reducing the amount of computations required, the amount of computer memory required and the size of the mathematical programming task. Figure 2-8 illustrates the concept of active and violated constraints for a single inequality constraint in a simple two-design variable space and Figure 2-9 presents the same information in a plot of a constraint value as a function of a single design variable or search direction. A constraint is considered active if its numerical value exceeds CT. The default value for CT is -0.03, but can be changed by the user. Once a constraint is active, its gradient is included in the search direction computation. An active constraint may subsequently become inactive if its value falls below CT. x2

Feasible Region gj  X   0

Inactive Constraint Active Constraint

Infeasible Region

g j  X  = CT

gj  X   0

gj  X  = 0

Violated Constraint

g j  X  = CTMN

X1 Figure 2-8

Main Index

Active and Violated Constraints

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 75 Optimization

gx

Feasible

Violated

Active gx

CTMIN (0.003) x

Numerical Constraint Boundary

CT (-0.03)

True Constraint Boundary Figure 2-9

CT and CTMIN

The optimizer designates a constraint as violated if its value is greater than CTMIN. The CTMIN default is 0.003 as is seen in Figure 2-9. Thus, some small constraint violation (three-tenths of one percent, by default) is tolerated.

Main Index

76 Design Sensitivity and Optimization User’s Guide The Approximate Model

The Approximate Model MSC 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 and load case deletion have already been described and these approximation concepts all play a role in reducing the cost of the design task. This subsection deals with the concept of the Approximate Model that can be thought of as enabling design optimization as it is performed in MSC Nastran. MSC Nastran uses formal approximations to the finite element analysis and the sensitivity analysis to avoid the high cost associated with repeated finite element analyses during design optimization. As shown in Figure 2-7, 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 retained constraints) and the gradient values (gradient of the objective with respect to the design variables and the gradient of the active constraints with respect to the design variables). This section first introduces the concept of using Taylor Series expansion to approximate the finite element analysis and follows this with a discussion of how move limits are applied to try to restrict the changes in the design model to a region where the approximations are valid. With this background, it is possible to describe the Function Evaluations and Gradient Evaluations of Figure 2-7.

Formal Approximations The approximating functions used in MSC Nastran are based on Taylor series expansions of objective and constraints. For any function f  X  , an infinite series about a known value f  X 0  in terms of the change in an independent variable x can be written as 2

2

df 0 0 f  X + x  = f  X  + -----dx X

d f  x + ------2 dx X

3

3 x d f  --------- + ------3 2! dx X

x  --------- +  3!

(2-116)

In addition to the function value f  X 0  , this series requires that all derivatives at X 0 be known as well. Determining these derivatives may present some difficulty, so the series is often truncated to a given power in x , yielding an approximate representation of the original function. For example, if we only included through the first derivative term in the series, we would obtain a linear approximation df ˜f  X 0 + x  = f  X 0  + ----dx

 x X

(2-117)

Since all terms of power and higher have been omitted, the error in the approximation is on the order of 2

. This situation is shown in Figure 2-10 where the error increases with increasing values of x . Note that the approximation would be exact if the original function were linear. x

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 77 The Approximate Model

f ˜f

fx

f  x + x 

x x

Figure 2-10

x + x

Errors in Approximating Functions

In design optimization, we are concerned not just with a single independent variable but rather with a vector of design variables, X . Under this condition, the approximations for the objective and constraints functions become 0 0 F˜  X + x  = F  X  +  F  0

X

 x

 x

g j  X + x  = g j  X  +  g j 

X

(2-118)

where a gradient term replaces the first derivative term of Equation (2-117).

A Simple Linear Design Space At this point, it is probably worthwhile to take a look at a linearly approximated design space just to gain a qualitative understanding of the nature of the approximation. For this example, we can refer to the A Simple Structural Example. Recall that the design variables for the cantilever beam are the base, B, and height, H, of the beam cross section. If we construct linear approximations to the objective and constraint equations according to Equation (2-118), we have 0 0 0 0 V˜  B + B H + H L  = V  B  H  L  + V ------B 0 0 0 0  ˜  B + B H + H L  =   B  H  L  + ------B 0 0 0 0  ˜  B + B H + H L  =   B  H  L  + ------B

Main Index

B H

B H

B H

V  B + ------H   B + ------H   B + ------H

 H 0 0 B H

 H O 0 B H

 H O 0 B H

(2-119)

78 Design Sensitivity and Optimization User’s Guide The Approximate Model

For an initial design at (B = 6, H = 45), the derivatives in the above equation can be evaluated based on Equation (1-15) through Equation (1-17) to yield 0 0 5 4 3 V˜  B + B H + H L  = 1.35  10 + 2.25  10 B + 3.0  10 H 0 0 ˜  B + B H + H L  = 555.56 – 92.593B – 24.691 H

(2-120)

0 0 ˜  B + B H + H L  = 2.0576 – 0.34294B – 0.13717H

The design space resulting from Equation (2-120) is shown in Figure 2-11, superimposed on the true design space. From the graph, note that the optimum resulting from this linear approximation happens to be at a slightly smaller value than the true objective. The linear approximation has allowed the design to become slightly violated when compared to the true design space. H/B = 12 65 V = 200000

60

175000 55

150000

100000 125000

Height H (cm)

H = 50

50

Optimum

45

X

Approximate Optimum

 = 2.54

40

75000

˜

50000 ˜ b

 b = 700

35 2.5

3

4

5

6

7

7.5

Width B (cm) Figure 2-11

Linearly Approximated Cantilever Beam Design Space

Though not yet an optimal design, the approximate optimum is a useful starting point for the next approximate optimization cycle.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 79 The Approximate Model

Move Limits Since the approximations just discussed are only locally valid, limits are placed on the amount by which the design is allowed to vary during the approximate optimization. In MSC Nastran, move limits are imposed in terms of both allowable changes in design variables and allowable changes in properties.

Design Variable Limits Imposing move limits using design variables is natural since the approximate model is explicit in these quantities. However, move limits on designed properties must also be considered as well since the analysis model is a function of these properties. Moreover, these designed properties may be nonlinear functions of the design variables (Equation (2-5)). A 10% change in a given design variable may equate to a 100% or more change in an analysis model property. Since these large design changes can easily invalidate the approximate model, move limits on properties must also be included. During approximate optimization, each design variable is bounded from above and below by L

U

(2-121)

xi  xi  xi L

=

the lower bound on the i-th design variable

U

=

the upper bound

xi xi

These bounds are determined at the beginning of each design cycle according to L

U

x i = MAX  XLB, x i – MOVE  x i = MIN  XUB, x i + MOVE 

MOVE

=

MAX  DXMIN,  x i  DELXV  

XLB

=

the lower bound on the i-th design variable

XUB

=

the upper bound

(2-122)

The allowable percentage change in the design variable is supplied by DELXV on the DESVAR Bulk Data entry. This value is optional and if not supplied, defaults to DELX, which is provided on the DOPTPRM Bulk Data entry. The DELX default is 0.5 or 50% (0.2 or 20% for topology optimization) change in all design variables. The DXMIN value ensures that the move limits don’t become too restrictive when the design variable value is near zero. The default value for DXMIN is 0.05 (1.0E-5 for topology optimization), but it, too, can be modified using the DOPTPRM entry.

Main Index

80 Design Sensitivity and Optimization User’s Guide The Approximate Model

Property Limits Move limits can be imposed on designed properties as well, but not all properties. Designed Properties has discussed the three types of properties: type-1, type-2, and type-3. As shown there, type-1 properties are linear in terms of the design variables (see Equation (2-2)) pj = co +

 ci xi i

while type-2 enable a nonlinear relationship between design variables and properties (see Equation (2-5)) p j = f  X C 

and type-3 refers to beam properties that are spawned when using the beam library. Move limits are always imposed on type-2 and type-3 properties but they are not imposed on type-1 properties when the property is controlled by a single design variable (2-123)

pj = Co + ci xi

and the user has not imposed bounds on the value of the property. Note:

Beginning with MSC Nastran 2005 r2 move limits are not placed on type-2 and type-3 properties than can change sign. Placing move limits as properties that can be zero has been shown to create problems

Move limits are not imposed in this case since the move limit on the design variable already restricts the change in the property value, i.e., if the DELXV value of (2-122) imposes a 50% change on the i-th design variable of, the p j value can never exceed 50% on a given design cycle. Not imposing limits on these properties simplifies the design optimization task by reducing the number of constraints that have to be considered. For the type-1 properties that are a function of more than one design variable and/or that have user imposed limits and for type-2 or type-3 properties, bounds are imposed from below and above the designed properties by L

U

(2-124)

pj  pj  pj L

=

the lower bound on the j-th property

U

=

the corresponding upper bound

pj pj

These bounds are based on percentage changes in the property value p 0j at the outset of the approximate optimization. These bounds are computed as L

U

p j = MAX  PMIN p j – PMOVE  p j = MIN  PMAX p j + PMOVE 

Main Index

(2-125)

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 81 The Approximate Model

PMOVE

=

PMIN

=

the lower bound on the property

PMAX

=

the upper bound

DELP

=

the maximum allowable percentage change in the property

MAX  DPMIN p j  DELP 

DELP can be defined on the DOPTPRM entry and has a default of 0.2 for a 20% maximum property variation. DPMIN can also be defined on the DOPTPRM entry and has a default value of 0.01. L

U

Figure 2-12 illustrates the situation for a property that is initially close to zero. p j and p j are the move

limits resulting from Equation (2-125). Since these limits are overly restrictive, the limits based on DPMIN, or p Lj and p Uj are used instead. Although not shown in the figure, if PMIN is a numerically greater quantity than p Lj , it becomes the lower bound. Similarly, PMAX will become the upper bound if it is less than p Uj . L

U

pj

pj

pj

L pj

U

pj

1

0 Figure 2-12

Move Limits on Properties

Equation (2-122) and Equation (2-125) effectively form a “box” around the current design. This effect is shown in Figure 2-13 where these move limits are shown for successive design cycles in a two design variable space. For the first cycle, the approximate optimum is found to lie at a corner of the box, where the objective is minimized and there are no active constraints. As a result of the second cycle, one of the constraints is slightly violated due to errors in the approximation. By the third cycle, a near optimal design has been found. Of course, the situation is usually more complex than in this simple design space. The intent of Figure 2-13 is merely to suggest some general features of the overall process.

Main Index

82 Design Sensitivity and Optimization User’s Guide The Approximate Model

x2 0

F  X 

1

2

4

3

Constraint Boundaries x1

Figure 2-13

Sequence of Approximations

Automatic Updates of Move Limits Parameters related to design variables can be changed using the DOPTPRM entry (DELX and DXMIN) and the DESVAR entry (DELXV, XLB, XUB). The designed property limits can be controlled using the DOPTPRM entry (DELP, DPMIN) and the DVPREL1 or DVPREL2 entries (PMIN, PMAX). This set of constants is used to recompute the move limits for each design cycle. At times, the code may automatically adjust these move limits if the design task is performing poorly. The situation might arise as follows: an approximate problem is constructed, from which the optimizer determines a corresponding approximate optimum. Perhaps some of the approximate constraints are critical for this design. The responses are now evaluated by a finite element analysis, and it is determined that rather than just critical, these constraints are actually violated. Errors have thus been detected between the approximate and the true responses. If this error continues from one design cycle to the next, it can be taken as an indication that the move limits are probably too wide. Continued constraint violations have an adverse effect on overall

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 83 The Approximate Model

convergence. The move limit-controlling parameters are updated automatically in MSC Nastran if the following criteria are satisfied: 1. The current design cycle number is greater than or equal to three. 2. There is at least one violated constraint (violated by more than 2%), and the level of constraint violation is increasing. Under these conditions, DELP, DPMIN, DELX, and DXMIN are reduced by one-half of their current values. The reason for the first condition is that frequently the optimizer may violate the constraints somewhat as it makes favorable gains in the objective function in the first few cycles. However, if this condition continues, it may indicate that the problem is becoming ill-conditioned as a result of excessive move limits. A corresponding User Warning Message is printed as notification that this update has occurred (see Modification of Move Limit Parameters). If the job is to be restarted, it is recommended that an updated DOPTPRM entry with the new move limits be included in the restart file. Implementation of Move Limits Move limits on independent design variables are applied directly. Since the optimizer will never propose a value for a design variable outside of its bounds, the lower and upper move limits computed from (2-122) are simply input directly to the optimizer. Move limits that are imposed on properties are implemented as equivalent constraints. For the j-th property in the design model, the equivalent lower and upper bound constraints are given by L

pj – pj  X  g L  X  = -------------------------0 L pj U

pj  X  – pj -0 g U  X  = -------------------------U pj

(2-126)

where the lower and upper bounds p Lj and p Uj are given by Equation (2-125).

Transformation of the Approximate Optimization Task to a Feasible Design This section addresses an optional feature of the approximate optimization task. A general statement can be made that optimization algorithms perform best when the design task does not include violated constraints. In fact, some algorithms will fail if a feasible design does not exist (the algorithms used in MSC Nastran search for the best compromise infeasible design so that the transformation to a feasible design is not a strict requirement). In order to facilitate the use of a general optimization procedure, a simple transformation technique has been developed to ensure that the optimization task always works in the feasible domain.

Main Index

84 Design Sensitivity and Optimization User’s Guide The Approximate Model

The standard optimization task minimizes an objective subject to satisfying a set of constraints. The transformed problem, designated the  Method, involves creating a  design variable that modifies the constraints so that: gj  = gj – 

 j = 1 2 ncon 

and the transforms the objective function so that:  =  +  PENAL  0

where PENAL is the user defined penalty parameter,  0 is the initial objective function and  is initialized to the maximum initial constraint value. (If this maximum value is less than CTMIN, the transformation is not applied.) In this way, the maximum constraint value is never positive while the penalty on the objective acts to force the  value to zero. If there is a feasible design, this technique should lead to it. If there is not, this will result in a compromise design where the maximum constraint violation is minimized.

Function Evaluation The function evaluation proceeds in five steps: 1. The properties are evaluated exactly. 2. Approximate type-1 responses are evaluated. 3. Approximate type-2 responses are evaluated. 4. Approximate type-3 responses are evaluated. 5. The the objective and the constraints are evaluated . Not all these steps need to be present in a particular design task. Each of these steps is now described. Property Evaluation Given the design variable values, the properties can be computed directly and exactly. For type-1 properties that are a linear function of the design variables, the properties are evaluated using a multiply and add operation (see Equation (2-2)). For type-2 properties, equations that contain constants plus design variable values need to be evaluated on an individual basis. If beam library dimensions are being designed, it is necessary to compute the beam properties. Some of these properties are linear in the design variables and can be computed in a fashion similar to the type-1 properties. Others are nonlinear, and it is necessary to call the beam library routines to calculate these properties. Type-1 Response Evaluation Three basic types of approximation are available in the computation of type-1 responses: • Direct variable approximations. • Reciprocal variable approximations • Convex linearization

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 85 The Approximate Model

The method used is based on the user specified parameter APRCOD that is discussed later with the DOPTPRM entry. The formal approximations used in MSC Nastran are based on simple first-order Taylor series expansions. The general form of this expansion for a response is 0

r j  X + x  = r j  X  +

r j

 ----- xi i

(2-127)

 x i X

The required derivative information is available from the design sensitivity analysis as outlined in Design 0 Sensitivity Analysis. Note that the approximate response, r j  x + x  , in Equation (2-127) is linear in the

design variable change x . In some instances, the response actually is a linear function of the design variable and Equation (2-127) provides as exact response value. In general, however, we expect some error when we try to approximate responses that are actually nonlinear in x . Direct Approximations

A direct variable approximation linearizes the function directly in terms of the design variables. For the j-th response, the direct approximation is written as D

r j  X + x  = r j  X  +

r j

 -----x i i

(2-128)

 x i X

where the superscript D indicates a direct approximation. The quantity x represents a total vector move in the design space from the initial design X 0 . The partial derivatives r j  x i are available from the design sensitivity analysis. Reciprocal Approximations

The first-order Taylor series expansions of Equation (2-127) can alternately be expressed in terms of reciprocal variables. This choice turns out to be quite useful for those responses that are inversely proportional to the design variables. This simple idea can be easily shown in the case of the axially loaded rod element of Figure 2-14 where the cross-sectional area A is taken as the design variable. A, E

P L Figure 2-14

Main Index

Axially Loaded Bar Element

86 Design Sensitivity and Optimization User’s Guide The Approximate Model

The axial stress in the bar is equal to P/A, and the displacement is equal to PL/AE. If these responses are used in the design model, linearizing with respect to the quantity 1/A or 1/E will produce approximations which are exact for both the stress and the displacement. (The stress is not a function of E so that while the approximation of stress as a function of E is exact, it is also trivial.) In the general case, of course, these approximations are not exact due to the static indeterminacy of the structure. However, for all element types, the proportionality of the stiffness matrices to the inverse of the sizing quantities forms a reasonable basis for arguing the use of reciprocal approximations. Reciprocal approximations can be derived from linear approximations if we first substitute the intermediate variables y i . For the approximate constraint of (2-128), we get 0

r j  Y + y  = r j  Y  +

r j

 -----y i

(2-129)

y i Y

Setting the intermediate variables to reciprocals of the design variables 1 y i = ---xi

(2-130)

yields R

r j  Y + x  = r j  X  +

r j

 ----- xi i

X

xi 0  -----  x i – x i  xi

(2-131)

where the superscript R indicates a reciprocal approximation. Convex Linearization

This third approximation method is actually applied on the constraints, but is discussed here because it bears directly on the method used in the type-1 response calculation. This method chooses either a direct or reciprocal constraint approximation depending on which one provides the larger estimation of the constraint function. In other words, this method chooses the more conservative of the two approximations. The direct approximation for the j-th constraint is given in Equation (2-128) above while the reciprocal approximation is given in Equation (2-131). Convex linearization is applied on an individual constraint/design variable basis. Thus, a combination of direct and reciprocal approximations may be made for a single constraint. Since both approximations are readily available (both use the same gradient information), the choice of which to use can be made by looking at the sign of the difference between the two for a particular design variable 0 2

 x i – x i  g j D 0 R 0 g j  X +  x  – g j  X + x  = ----------------------- -------xi x i

(2-132) X

Since the squared term in the expression is always positive, the choice depends on the sign of the product:

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 87 The Approximate Model

• If

1 g ---- --------j x i x i X

• If

1 g ---- --------j x i x i X

0

use the direct approximation for g i since it yields a larger (more conservative) estimate of constraint value.

0

use the reciprocal approximation g i since it yields a larger estimate of constraint value.

As stated, convex linearization is only applied to constraints. If the objective function is obtained from a type-1 response and the convex linearization method has been chosen, the objective function is calculated using a direct approximation. Also, if a type-1 response is used in a type-2 or type-3 response, a direct approximation is used for calculating the type-1 response even when convex linearization is used in the calculation of constraints directly based on type-1 response. Special Handling for Eigenvalue/Frequency Response Eigenvalue (and frequency) responses cannot be reliably approximated using the either the direct or the reciprocal approximations. This is because the eigenvalue is sometimes dominated by stiffness terms, which would make it a linear function of a thickness design variable and sometimes by mass terms, which would make it a linear function of the inverse of the design variable. MSC Nastran provides an additional option in the approximation of eigenvalue responses that is given the name Rayleigh Quotient Approximation. In a normal response analysis, the eigenvalue can be expressed using Rayleigh’s quotient T

U  K  = ------------------ = ---T T  M

(2-133)

where U is referred to as the modal strain energy or generalized stiffness and T is referred to as the modal kinetic energy or generalized mass. Taylor series approximation to the modal strain and kinetic energies can be used to construct the eigenvalue approximation. It has been found that reciprocal variables provide a conservative approximation for the strain energies while direct variables are used for the kinetic energies n

˜ = U + T U R 0

K

x 0i

-  x – x 0i  ------   -----xi x i i

(2-134)

i =1 n T T˜ D = T 0 + 

M

-  x – x 0i   ------ xi i

(2-135)

i =1

And, the eigenvalue approximation by the Rayleigh Quotient is ˜ U ˜ RQA = ------R˜T D

(2-136)

This Rayleigh Quotient Approximation is the standard technique used in approximating eigenvalue and normal mode frequency responses. Approximations using direct and reciprocal approximations are also available, as explained in DRESP1.

Main Index

88 Design Sensitivity and Optimization User’s Guide The Approximate Model

Type-2 Response Evaluation Type-2 responses can be functions of design variables, designed properties, type-1 responses, grid locations, and other type-2 responses. The grid may be a function of the design variables, so it is first necessary to calculate the grid locations using Equation (6-6). It is then a straightforward task to assemble the arguments required by a type-2 response and make the evaluation. When a type-2 response is a function of another type-2, it is necessary to perform the evaluations in a precise order so that the response values are available when needed. An interesting special case occurs when all the design constraints and the objective are based on type-2 responses and these responses are not a function of the finite element responses. In this, perhaps academic, scenario the responses can be evaluated exactly and the optimization task is also exact. Therefore, if no move limits are placed on the design variables, the final optimal design can be obtained in a single design cycle. Type-3 Response Evaluation Type-3 evaluations are identical in form to type-2 evaluations with the exception that the type-2 evaluations are performed using the internal MSC Nastran equation evaluator while the type-3 evaluations are performed using the user supplied external program. type-3 responses cannot be a function of type-3 responses, so the recursive step of the type-2 evaluation is not needed. The current release of Nastran addresses the issue that type-3 response and gradient calculation can be expensive by supporting an “invariant gradient” concept. If this method is chosen, the type-3 response quantity is calculated in the same fashion as the type-1 response calculation of Equation (2-128). Objective and Constraint Value Evaluation The objective is one of the type-1, 2, or 3 responses so that it is available immediately once that responses have been evaluated. Constraint evaluations are more involved in that MSC Nastran considers four types of constraints: • Constraints on responses • Constraints on dependent design variables • Constraints on properties • Constraints on beam dimensions

The evaluation of each of these types of constraints is now considered in turn. Constraints on Responses

Once the responses have been evaluated, it is a simple matter to apply Equation (2-10) to compute the constraints. An exception to this is when the convex linearization technique (Convex Linearization) is used. In this case, it is necessary to first determine which approximation concept provides the most conservative constraint value and to then use that method to evaluate the constraint.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 89 The Approximate Model

Constraints on Dependent Design Variables

If there are dependent design variables, the lower and upper bounds on these variables are converted into constraints using DDV

gL

 XLB i – x i   x i  = ---------------------------XLB i

DDV

gu

x i – XUB i  x i  = -----------------------XUB i

(2-137)

where x i is the current value of the ith dependent design variable and XLB i and XUB i are the bounds imposed on this variable. These constraints differ from the side constraints of Equation (1-4) that are applied directly to the independent design variables by the optimizer. Constraints on Properties

Property constraints are computed using the relationships given by Equation (2-126). Constraints on Beam Dimensions

The beam library calculates beam properties based on beam dimensions. It is necessary to prevent combinations of dimensions from taking on values that are physically meaningless. For example, the inner radius of a tube cross section cannot exceed the outer radius. Table 2-5 documents the constraints imposed on the MSC supplied cross-sections. Constraints are satisfied when they are < 0.0. (Refer to the MSC Nastran Quick Reference Guide for the meaning of the dimensions.)

Main Index

90 Design Sensitivity and Optimization User’s Guide The Approximate Model

Table 2-5

Constraints for Beam Library

Section Type

Constraint

TUBE

DIM2 - DIM1

I

DIM4 - DIM2 DIM4 - DIM3 DIM5 +DIM6 - DIM1

CHAN

2 * DIM4 - DIM2 DIM3 - DIM1

T

DIM3 - DIM2 DIM4 - DIM1

BOX

2*DIM4 - DIM1 2*DIM3 - DIM2

CROSS

DIM4 - DIM3

H

DIM4 - DIM3

T1

DIM4 - DIM1

I1

DIM3 - DIM4

CHAN1

DIM3 - DIM4

Z

DIM3 - DIM4

CHAN2

DIM2 - DIM3 2 * DIM1 - DIM4

bordered

DIM4 - DIM1 DIM3 - DIM2

BOX1

DIM4 +DIM3 - DIM2 DIM5 +DIM6 - DIM1

HEXA

2 * DIM1 - DIM2

HAT

2 * DIM2 - DIM1 2 * DIM2 - DIM3

L

DIM3 - DIM2 DIM4 - DIM1

HAT1

DIM3 - DIM1 2* DIM4 - DIM2 2* DIM4 +DIM5 - DMI2

Note that the L cross-section type is only available for the PBEAML.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 91 The Approximate Model

If the user supplies cross-section types that are in addition to the MSC supplied types, constraints can be specified as a part of the specification (see Adding Your Own Beam Cross-Section Library). The constraints are applied once for each designed PBARL while the PBEAML has constraints for each designed section (possible sections are End A, End B and up to nine intermediate stations). The constraints are evaluated exactly as listed in Table 2-5 with no normalization.

Gradient Evaluation The gradient evaluation of Figure 2-7 proceeds in 7 steps: • The gradients of the properties are evaluated. • Gradients of active constraints on type-1 responses are evaluated. • Gradients of active constraints on type-2 responses are evaluated. • Gradients of active constraints on type-3 responses are evaluated. • Gradients of active constraints on dependent design variables are evaluated. • Gradients of active property constraints are evaluated. • Gradients of active beam library constraints are evaluated.

In addition, the gradient of the objective, which is one of the responses is always calculated. Not all these steps need to be present in a particular design task. Optimization has provided a definition of active constraints; basically the concept is that the optimizer selects a reduced set of the retained constraints to deal with when it requires a gradient evaluation. The approximate model takes advantage of this by only computing the gradients of this reduced set. Each of the gradient steps is now described. Gradients of the Properties Gradients of all the properties are computed with respect to the design variables . This computation is a simple matter in the case of type-1 properties since they are a linear function of the design variable (Equation (2-2)) and the gradient is 1

p j --------- = C ji x i

(2-138)

where the superscript 1 denotes a type-1 property. Finite difference techniques are applied for the type-2 properties of Equation (2-5) with properties being perturbed one design variable at a time to provide 2

f  X + X i C  – f  X – x i C  p j --------- = ----------------------------------------------------------------------------x i 2x i

(2-139)

where the X 0 + x i notation is meant to imply that the ith design variable is perturbed while the remaining variables are held at their current values. The gradient of each type-2 property then is a vector with terms for each independent design variable.

Main Index

92 Design Sensitivity and Optimization User’s Guide The Approximate Model

Beam library properties (also called type-3) require chain-rule operation to compute a property derivative of the form 3

p j --------- = x i

ndim

 k= 1

3

p j DIM k ---------------- ----------------DIM k x i

(2-140)

The second term in the chain rule is obtained from a type-1 gradient as given in Equation (2-138). The first term is the sensitivity of the property with respect to the dimension. For section types in MSC Beam Library, this sensitivity is provided analytically based on the equations for the beam properties. For example, the area of a tube cross-section is computed as 2

2

(2-141)

A =   DIM1 – DIM2 

Then A ------------------ = 2DIM1 DIM1

(2-142)

For user supplied cross sections, you have the option of supplying the analytic gradients or specifying that they are to be computed using central differencing techniques much along the lines of Equation (2-139). Gradients of Type-1 Responses and of Active Constraints from Type-1 Responses The gradients of all the type-1 responses are computed with respect to all the design variables in a two step process. In the first step, the direct sensitivities with respect to the design variables and the type-2 and type-3 properties are computed. The second step applies the approximation technique used in the function evaluation to obtain a gradient consistent with the predicted response 1

1

1

r dr j -------- = -------j- + dx i x i

2

1

3

r j p m

r j p k

- --------- +  ---------- --------- -------2 3 p  x 1  p x i k

k

m

(2-143)

m

where the first term on the right is available directly from the sensitivity analysis of Equation (2-23), as are the 1

2

r j  p k

and r 1j  p 3k

terms. The 2

p k  x i

and p 3k  x i

terms are the property gradients just discussed in Equation (2-141) and Equation (2-142), respectively. Given the gradient of the type-1 response, the calculation of the gradient of the constraint based on the response depends on the approximation used in calculating the response. For the direct approximation, the constraint gradient is given by 1

g k 1 dr j -------- = --------------- -------BND k dx i x i

Main Index

(2-144)

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 93 The Approximate Model

where, from Equation (2-10), lower bound constraints have k = 2j – 1 and BND k = – GNORM while upper bound constraints have k = 2j and BND k = GNORM . For the reciprocal approximation, the gradient is 1

2 g k 1 dr j  x i  -------- = -------------- --------  ----0- BND k dx i  x  x i

(2-145)

i

where the k subscript and BND k have the same meaning as given above. If convex linearlization has been selected, the direct gradient of Equation (2-144) is used if the product of x i r j --------------------  0.0 BND k x i

while the reciprocal approximation of Equation (2-145) if this product is less than zero. Gradients of Type-2 Responses and of Active Constraints on Type-2 Responses The gradient of a type-2 response is required when the response is the objective, when the response is constrained directly or when it is used in a type-3 or other type-2 response. The type-2 response can be a function of design variables, designed properties (both type-1 and type-2 properties), design responses (both type-1 and type-2 responses) and/or grid locations. With the exception of the grid locations and the type-2 responses, the gradients of these components have already been discussed. The grid location gradient can be obtained directly from the basis vector relationship of Equation (6-5). For the sake of this discussion, we can rewrite the type-2 response equation of Equation (2-7) into a condensed form of 2

(2-146)

r j = f  ARG 

where ARG can be any argument in the response. A chain rule operation is then applied to obtain the overall gradient 2

dr j -------- =  xi

 k

f  ARG + ARG k  – f  ARG – ARG k  ARG k --------------------------------------------------------------------------------------------------- -----------------x i 2ARG k

(2-147)

The ARG k is a finite difference change in a component and ARG k  x i is the gradient of the component with respect to the design variable and has already been calculated ( ARG k  x i is 1.0 when ARG k is x i . The ARG k term is calculated using  FDCH  ARG k ARG k =   FDCHM

 FDCH  ARG k  FDCHM  otherwise

FDCH and FDCHM are 0.001 and 1.0 –6 , respectively. The gradients of the constraints based on type-2 two responses are simply

Main Index

(2-148)

94 Design Sensitivity and Optimization User’s Guide The Approximate Model

2

g k 1 dr j -------- = -------------- -------BND k dx i dx i

(2-149)

where the k subscript and the BND k value have the same meaning as they do for the type-1 response of Equation (2-144). Gradients of Active Type-3 Responses The gradient of a type-3 response is required when the response is the objective or when the response is constrained and the constraint is active. The type-3 response can be a function of design variables, designed properties (both type-1 and type-2 properties), design responses (both type-1 and type-2 responses) and/or grid locations. The user has a number of options for calculating these gradients and this is governed by the GRDTYP specified in the R3SGRT subroutine introduced in “Creating a DRESP3 Entry”. Options are: 1. GRDTYP=1 - Analytical gradients are supplied by the user. These gradients are a function os the approximate optimization task. 2. GRDTYP=2 - Analytical gradients are supplied by the user. These gradients are taken to be invariant during the approximate optimization task. 3. GRDTYP=3 - Finite difference gradients are computed and they are a function of the approximate optimization task. 4. GRDTYP=4 - Finite difference gradients are computed before the approximate optimization task and are considered invariant during the task. The same chain rule formulation as that given in Equation (2-147) for type-2 gradients is applicable for type-3 gradients when the finite difference methos is applied. If the analytical gradient method is used, the user needs to provide the gradient information via the R3SVALD subroutine. Gradients of the constraints based on type-3 responses follow the method shown in Equation (2-149). Gradients of Active Dependent Design Variables The gradient of an active constraint imposed on the j-th dependent design variable with respect to the ith independent variable is given by combining Equation (2-1) with Equation (2-137) and differentiating to get DDV

dg L –ci ---------------- = -------------dx i XLB DDV

(2-150)

dg u ci ---------------= --------------i XUB

Gradients of Active Property Constraints The gradient of an active constraint imposed on the j-th designed property with respect to the i-th design variable is given by

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 95 The Approximate Model

P dg L – 1 p j  x  - ------------------------ = -------L dx i p j x i P g 1 p j  x  - -----------------------u- = -------L x i p u x i

(2-151)

where the property gradients have been defined in Equation (2-138)., Equation (2-139), and Equation (2-140). Gradients of Active Beam Library Constraints From Table 2-5, it is seen that the gradient of the j-th beam library constraint with respect to the i-th design variable is given by BL  DIM BL g j g ------------ = ----------------- ----------------DIM j x x i

(2-152)

This is a straight-forward calculation. As an example, suppose a CHAN section type is being designed and the DIM4 dimension is defined as being equal to 0.1  x 5 . Then the gradient of the first CHAN constraint of Table 2-5 with respect to x 5 is simply BL

g CH ---------------1 = 2.0  0.1 = 2.0 x 5

Main Index

(2-153)

96 Design Sensitivity and Optimization User’s Guide Tests for Convergence

Tests for Convergence Since structural optimization is an iterative process, numerical criteria must be established to determine when the overall process has converged. There are two levels at which convergence is tested: the first and lower level is at the optimizer level; the second and higher level is with respect to the overall design cycles. This section is concerned with design-cycle level convergence. Convergence at the optimizer level is discussed in The IPOPT Algorithm.

Convergence of Design Cycles: Hard and Soft Convergence Figure 2-1 has indicated that a convergence check is made immediately following the structural analysis.

This is a somewhat simplified representation in that, in reality, two methods are used to test for convergence with respect to overall design cycles. These methods are denoted as soft convergence and hard convergence as shown in the modified version of Figure 2-1 shown in Figure 2-15 which highlights the convergence aspects of the design cycle loop. Soft convergence is based on the results of the approximate optimization, while hard convergence is based on finite element analysis results. Exit

Initial Design

Y N

Soft Convergence

Improved Design

Structural Analysis

Constraint Screening

Y Hard Convergence N Sensitivity Analysis

Exit Approximate Model

Optimizer

Many Times

Finite Element Analysis Figure 2-15

Main Index

The Design Cycle Loop with Emphasis on the Convergence Tests

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 97 Tests for Convergence

Recall that at the outset of each design cycle, a finite element analysis and a sensitivity analysis are performed. The approximate model is then constructed followed by an optimization with respect to this approximation. Once a corresponding approximate optimum is found, the finite element model, in terms of the design properties and grid locations, is updated. The proposed design is submitted for another finite element analysis to compute the updated responses, thus marking the beginning of the next design cycle. Hard convergence compares the results of this most recent finite element analysis with those from the previous design cycle. Since this test compares the exact results (within the limits of the finite element analysis) from two consecutive analyses, the conclusions are said to be based on hard evidence. Since this test is conclusive, this is the default test for determining whether or not to terminate the design-cycle process. Soft convergence compares the design variables and properties output from the approximate optimization with those of the input to the approximate optimization. If these variables/properties have not changed appreciably, another finite element analysis may not be warranted. For example, if a particular analysis model has a high solution cost and the optimizer has not changed the design to any significant degree, it may be permissible to forego the final finite element analysis. The results from the previous analysis are probably of sufficient validity for design purposes; therefore, soft convergence may be a preferable and cost effective exit point. Soft convergence is always tested, but, by default, does not result in program termination. Setting PARAM SOFTEXIT to YES will result in program termination following a determination that soft convergence has been achieved. On the initial cycle of the Design Cycle loop shown in Figure 2-15, the hard convergence test is skipped and program flow proceeds directly to the sensitivity analysis and approximate optimization. Once an approximate optimum is obtained, a soft convergence test is performed to compare this design with the prior design. If soft convergence has not terminated the design process, a finite element evaluation of the new, proposed design is performed followed by constraint evaluation and screening. If the analysis results are not appreciably different from those of the prior cycle, hard convergence is achieved, and the design cycle process is terminated. If the hard convergence criteria are not satisfied, the design cycle process continues. If neither hard nor soft convergence is achieved, the design process will continue until convergence is indicated or until the maximum allowable number of iterations is met. This default maximum number of iterations is 5 but can be changed on the DOPTPRM entry using DESMAX. The following paragraphs discuss soft and hard convergence decision logic. Soft Convergence Decision Logic A schematic of the soft convergence decision logic is shown in Figure 2-16. The result of the test is a true or false value for the logical variable SOFTCV. The design cycle terminates only if SOFTCV is ‘TRUE’ and the parameter SOFTEXIT is ‘YES’.

Main Index

98 Design Sensitivity and Optimization User’s Guide Tests for Convergence

CHGPRP CONVPR

N

Y

CHGDV < CONDV

N

Y

SOFTCV = TRUE

Figure 2-16

SOFTCV = FALSE

Soft Convergence Decision Logic

From Figure 2-16, soft convergence is based solely on the relative changes in the properties and design variables. The definitions of the parameters in the in the figure appear in Table 2-6 along with their default values. These values may be modified using the DOPTPRM entry.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 99 Tests for Convergence

Table 2-6 Internal Variable CHGOBJ

ACHOBJ

Convergence Criteria Parameters (the P and P-1 Superscripts Refer to the Current and Previous Design Cycle) Definition P

Parameters

Default

P – 1

CONV1

0.001 (1.0E-5 for topology optimization)

P – 1

CONV2

1.0E-20

OBJ – OBJ -------------------------------------------------P – 1 OBJ OBJ

P

– OBJ

CHGPRP

 P i P  – P i P – 1   max  ----------------------------------   P –1   1  i  NPROP  Pi

CONVPR

0.001

CHGDV

 x i P  – x i P – 1   max  --------------------------------   P –1   1  i  NDV  xi

CONVDV

0.001 (1.0E-4 for topology optimization)

GMAX

0.005

CONMAX

max  g  x   k k

The assumption can be made that if the changes in the design variables and properties are not appreciable, the objective and the constraints are unchanged and there is nothing to be gained from continuing. Hard Convergence Decision Logic Hard convergence is used to decide whether or not the design cycle process should continue, providing that the maximum allowable number of design cycles (DESMAX) has not yet been reached. The satisfaction of hard convergence is always sufficient to stop the design process.

Main Index

100 Design Sensitivity and Optimization User’s Guide Tests for Convergence

A flowchart of these criteria is shown in Figure 2-17 with the corresponding definitions of the terms appearing previously in Table 2-6. Even though this test may indicate convergence, note that one of three possible conclusions may be reached. CHGOBJ < CONV1 or ACHOBJ < CONV2

N

Y Y

N CONMAX < GMAX

Y

Convergence

Best Compromise, Infeasible Design Found

CHGPRP < CONVPR and CHGDV < CONVDV

N

Continue with Optimization

Non unique If CHGPRP > CONVPR or CHGDV > CONVDV

Figure 2-17

Hard Convergence Decision Logic

The first check is with respect to the relative and absolute changes in the objective function. The reasoning behind the application of an ‘OR’ test is based on a consideration of the objective function magnitude. If the objective is large, such as the weight of a heavy machine part in kilograms, converging to within a plus or minus range of a kilogram is probably quite sufficient. Forcing convergence to within a fraction of a kilogram may be meaningless as well as expensive. On the other hand, there are situations where the objective function is a very small number (e.g., minimization of the difference between

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 101 Tests for Convergence

analysis and test results). For such cases, minimization of the absolute change may be more meaningful than the relative change. If the objective has not changed appreciably in either an absolute or a relative sense, a check is performed to ensure that the maximum constraint value is less than its maximum allowable. If this criterion is satisfied, then hard convergence is achieved. Non-Unique Optima

Even if hard convergence has been achieved, the user should check to see if the relative changes in properties CHGPRP or the relative changes in design variables CHGDV are satisfied. If they are, then the design process has converged to a unique design. If not, a non unique design may have been found. From a design perspective, convergence to a non unique design is extremely useful information. This would indicate that the optimum properties could be modified by the engineer with correspondingly little change in the objective function and/or constraints. (In other words, the optimal design exhibits low sensitivity with respect to changes in the design variables.) A design space of this type is shown in Figure 2-18 where contours of the objective and active constraint boundary have similar curvatures in the region of the optimum. In situations such as these, the design may be modified to take advantage of available sheet metal gauges or tube sizes without violating the active constraint(s) and with correspondingly little change to the optimum objective. Of course, any proposed changes should be subjected to an analysis and the results checked carefully to ensure that other performance constraints are not violated.

Main Index

102 Design Sensitivity and Optimization User’s Guide Tests for Convergence

x2

Non-unique Optimum gx F = 20 F = 15 F = 10

*

Fx 

x1

Figure 2-18

Non-unique Optimum

Compromise Infeasible Design

Returning to the hard convergence decision logic of Figure 2-17, note that the code only checks the relative changes in properties and design variables if the limit on the maximum constraint value is not satisfied. The purpose of this check is to determine whether the design is changing for the case of violated constraints. If the design is still varying, optimization can continue in order to try to overcome the constraint violation(s). However, if the design is not changing, then we are at a point in the design space that represents a best compromise solution among the violated constraints. This situation is shown in Figure 2-19 where the optimal design is that which minimizes the sum of the constraint violation.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 103 Tests for Convergence

x2 g1  X 

g2  X 

*

FX 

x1

Figure 2-19

Design Space, No Feasible Solutions

Given the implications of hard convergence, a careful review of the output is advised in order to determine which convergence conditions have been met. Just because the process has been terminated does not necessarily imply that a unique, feasible design has been found. A discussion of the output from both the soft and hard convergence checks, given in “Design Optimization Output” starting on page 309, is particularly relevant to the stopping criteria in that it contains a list of all the possible messages that can occur at the end of an optimization task.

Main Index

104 Design Sensitivity and Optimization User’s Guide Special Topics

Special Topics This final section deals with special topics that are definitely part of MSC Nastran’s design optmization capability, but do not fit neatly into one of the previous sections.

Discrete Variable Optimization Most optimization algorithms are based on the assumption that the design variables or quantities that are modified in search of an optimal design can vary continuously within a defined range. Such is the case with the gradient-based algorithms that are the focus of this User’s Guide. However, the practicing engineer must choose from discrete values that most closely match the optimal vector of design variables returned by the optimizer. The constraints of mass production usually do not afford the engineer the luxury of specifying a 1.84 mm plate thickness; instead the engineer must make a practical choice from among several of the nearest available gauge sizes. A number of subsequent analyses will often need to be performed to verify that the design goals have been reasonably met and that none of the critical performance constraints have been violated. Discrete variable optimization seeks to avoid such tedium by allowing the engineer to specify a list of available gauges beforehand, leaving the task of selection and validation to the optimizer. Although some theoretical algorithms promise a high degree of precision (such as the Branch and Bound Method), most algorithms are not computationally efficient and therefore, are unsuitable for use with large-scale finite element analysis programs such as MSC Nastran. Instead, four practical and cpuefficient methods have been implemented: 1. Rounding up to the nearest discrete design variable 2. Rounding off to the nearest discrete design variable 3. Conservative Discrete Design (CDD) 4. Design of Experiments (DOE) The first two methods simply automate the simple rounding process a user might employ after a continuous optimization and require no new analyses. For the CDD method, each variable is independently set to the discrete values that bracket the continuous variable result. An approximate analysis is carried out for the discrete variable above the continuous value and one with the discrete variable below the continuous value. The constraint results of these two analyses are compared and the discrete variable is chosen that gives the minimum value for the maximum constraint. This is repeated for each design variable so that 2*nddv (where nddv is the number of design variables that can take on discrete sizes) approximate analyses are carried out for the CDD approach. The DOE method implemented in MSC Nastran makes use of the concept of orthogonal arrays. As with the CDD method, the postprocessing task is limited to searching for designs where only the discrete variable values just above and just below the continuous variable are selected. In this case, however, any combination of discrete variables can be used. This seemingly straightforward task can still be difficult as there are 2 nddv possible vectors that could be analyzed. With a modest 25 variables, 3.35  10 7  2 25  functions evaluations would be required for an exhaustive search. At 10 evaluations per second, this would require over a month of computing and is clearly impractical. The implementation of DOE

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 105 Special Topics

employed in MSC Nastran employs an exhaustive search when nddv is 16 or less. Above this value, an Orthogonal Array concept is employed to select 2 16 candidate arrays that provide a representative sampling of the overall design space. Clearly this is an approximation, but the thinking is that this will provide adequate coverage of the possible discrete solutions that it will not be far off from the “true” optimum that would be obtained from an exhaustive search. Each of these methods is a postprocessing operation of the continuous, optimal design. Moreover, the engineer can specify that such discrete variable postprocessing be applied only to the final design, or to any number of the previous, intermediate designs that lead up to the final design. Useful design information can often be obtained by observing the progression of (hopefully) converging “optimal” discrete values, because any one of the intermediate solutions may actually result in a more usable design than the optimal solution itself. Note that computation of these intermediate discrete solutions has no influence on subsequent designs because the next design cycle is always based on the previous continuous solution and not the discrete solution. Discrete variables can also be mixed with continuous ones, allowing “mixed-discrete” optimization. A typical example is that of combined sizing and shape optimization; gauge sizes must be discrete, while the variables that control shape may vary smoothly and continuously. Furthermore, both mathematical programming (MP) and fully stressed design approaches can be used in conjunction with discrete variable optimization.

Fully Stressed Design Fully Stressed Design (FSD) is a concept that has long been regarded as an automated design algorithm that can quickly produce a design that satisfies key design requirements. Its implementation in MSC Nastran complements the long standing mathematical-programming (MP) approach to automated design that is the focus of this User’s Guide. It utilizes many of the same procedures to produce a “quick-look” design at a small fraction of the computational costs. This efficiency can be exploited by requesting that the redesign take place with literally thousands of independently designed properties, whereas an MP approach is realistically limited to approximately one thousand design variables. The method is particularly useful in the design of aerospace structures where the overriding requirement is that the structural weight be minimized. Although the proposed design that results from the FSD technique may not be usable from a manufacturing standpoint because it has neglected key design considerations, it can be thought of as providing a lower bound estimate on the amount of structural material required to achieve the imposed design conditions. The output of the FSD algorithm can also be used as an excellent starting design for a more general MP design task.

Main Index

106 Design Sensitivity and Optimization User’s Guide Special Topics

The basic resizing concept of FSD can be described as follows new

ti

 old

(2-154)

=   i   all  t i

where t

= designed property

i

= index to indicate which property contains the design parameter and the design response

 ,  all

= actual and allowable response quantities, such as stress

= a real number  0.0    1.0 

And the old and new superscripts refer to before and after the resizing. The implementation of FSD within MSC Nastran is embedded within the SOL 200 Design Optimization. Design variable and constraint conditions are applied using the existing Bulk Data entries and Case Control commands that have been developed for the MP algorithm. Two parameters control the FSD algorithm: FSDALP

Relaxation parameter applied in Fully Stressed Design. (Real, 0.0 < FSDMAX < 1.0, Default = 0.9)

FSDMAX

Specifies the number of Fully Stressed Design Cycles that are to be performed. (Integer, Default = 0)

The FSD algorithm shares much of its user interface and dataflow with the basic design optimization capability. The capabilities available for FSD are a subset of those available for general multidisciplinary optimization and include: 1. FSD is applicable to static aeroelastic analyses. Other analyses can be included in the input and will be evaluated in the analysis associated with the FSD cycles and included the redesign in any subsequent MP design cycles. 2. Multiple subcases and multiple boundary conditions are supported. 3. Composite materials are supported. 4. Allowable limits can be placed on element stress and/or strain. 5. PROD areas and shell thicknesses s (PSHELL, PSHEAR and PCOMP thicknesses) are supported with FSD. 6. For composites, the thicknesses of individual PCOMP layers can be resized using the FSD algorithm. 7. All elements sharing a single property ID are sized to a single value that satisfies all the imposed conditions. Further, if a number of properties are controlled by a single DESVAR, the single DESVAR value will be sized to satisfy all imposed conditions.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 107 Special Topics

8. Minimum and maximum size limits are imposed (e.g., design variable bounds and property limits). The above list implies the following additional limitations: 1. Beam cross-sections are not designed. Ply orientation angle cannot be used as a design variable for FSD. 2. If an element is constrained, but the corresponding property for the element is not resized, the constraint is ignored in the resizing. 3. If a property is designed, but has no imposed constraints, the property value is unchanged by the resizing algorithm. 4. Shape design variables and material and connectivity properties are not supported in FSD. 5. Each designed property can reference only a single design variable. A guideline for the use of the FSD capability is to limit its application to 5-10 design cycles and follow it up, if practical, with MP design cycles. This is performed seamlessly in SOL 200 by the resizing algorithm switching from FSD to MP after FSDMAX design cycles or after the FSD design is considered converged. The MP algorithms have much more generality in application and are also known to be able to achieve a lower weight structure. This is not practical when the FSD design task has thousands of design variables since this is likely to overwhelm the MP algorithm. The default value of 0.9 for FSDALP is usually adequate to achieve quick convergence. Lower values, such as 0.5, can be used to achieve a completely converged solution.

Trust Region Introduction Formal approximate optimization is used in SOL 200 to find a new design without performing expensive and exact finite element analyses (The Approximate Model). However, move limits must be applied to define a restricted region on which an adequate approximate model can be created. Convergence checks are made following each approximate optimization task. Currently, if the approximate optimization comes up with a design that an exact analysis shows is actually worse, it is assumed that the region defined by move limits are too generous and they are reduced. Using Trust Region Concepts, this simple update strategy can be improved in three fundamental ways: 1. A merit function is applied to provide a more quantitative measure of the quality of the approximation. 2. A provision is made to increase the move limits when the approximate optimization results are shown to be of high quality. 3. If the new design is judged to actually be worse, it is discarded and the approximate optimization task is performed again with tighter move limits.

Main Index

108 Design Sensitivity and Optimization User’s Guide Special Topics

Benefits Since the move limits can be either reduced or increased in an adaptive fashion, it is expected that the quality of the approximate model will be enhanced. This should lead to more robust optimization result and faster convergence. In addition, rejecting a bad design should also smooth the design optimization process. Theory Concept of Trust Region

The main idea behind the Trust Region is to first compute a merit function that is a combination of the objective function and the maximum violated constraint value and then form a ratio of the exact reduction in a merit function to the predicted reduction in the merit function. The ratio can be written as follows, assuming a design task is a constrained minimization optimization task: MF p – MF c Ratio = ----------------------------MF p – MF a

where: MF c =  c + PW  maxg c

The current exact merit function

MF p =  p + PW  maxg p

The previous exact merit function

MF a =  a + PW  maxg c

The approximate merit function.

Notice that a merit function is the sum of objective    and the product of penalty weight and the maximum violated constraint (g). Subscripts c, p and a, indicate that the function is evaluated exactly at the current design cycle, evaluated exactly at the previous design cycle and evaluated approximately, respectively. The penalty weight plays an important role in a successful optimization task with Trust Region Method. The magnitude of Ratio varies in the real interval of  –  ,  . The denominator is the predicted reduction in merit function while the numerator is the exact reduction in merit function. Since we consider the case of minimizing the objective, the denominator should always produce a positive number to indicate that the optimizer has done a good job. Different Ratio values can measure the quality of the approximate model. For example, a negative Ratio (likely due to negative numerator) indicates that the approximate model is so bad that the exact merit function is greater than the previous exact. Thus reducing move limits is necessary. On the other hand, Ratio = 1 indicates the approximate model is very good that the predicted reduction is identical to the exact reduction and the move limits can be increased. In general, the following strategies are used to update move limits if:

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 109 Special Topics

1. Ratio <  1 (say 0.01), reject the design, cut the move limits in half and repeat the approximate optimization task. For a minimization task, the reduction in the merit function must be greater than zero. A too small or negative Ratio indicates that the new design proposed by the approximate model either does not reduce the merit function, or the quality of the approximate model is very poor. 2.  1 < Ratio <  2 (say 0.25), accept the design, but cut the move limits in half for the next approximate design task. The ratio in this range indicates that quality of the approximate model is not good enough, or the current move limit is still too large. 3.  2 < RATIO <  3 (say 0.75), accept the design and do not adjust the move limits. 4. Ratio >  3 , accept the design, but increase the move limits by 50%, up to a pre-specified upper value. The ratio approaching to 1 indicates that the approximate model I is accurately predicting the actual behavior. Therefore, the current move limits can be increased. In addition, although Ratio > 1 indicates that the approximate model is not particularly accurate, but it predicts in the right direction so that larger move limits can also be used. Creating the Constrained Merit Function

For the unconstrained minimization tasks, the merit function is simply the objective. For constrained minimization tasks, the second term on the right hand side of the merit function accounts for violated constraints. Since Ratio is computed using three merit functions, according to Ref. 2, the approximate optimization problem should also be solved in the same fashion to minimize the merit function that is formed by the objective and the corresponding 2nd term. A capability to transform an approximate optimization task to a feasible design was implemented in the MSC Nastran 2005 (Transformation of the Approximate Optimization Task to a Feasible Design ) and can be readily used here to satisfy this consistency requirement. Notice that the algorithm of Ref. 3 computes the penalty weight, PW = Penal   o , where  o is the starting objective at the beginning of the approximate optimization job, while here PW is obtained with a single number (See Penalty Weight Section). Penalty Weight

Penalty Weight (PW) is used to form the merit function. The penalty weight plays an important role in a successful optimization task with Trust Region Method. It is problem dependent. The larger it becomes, the more the maximum violated constraint is penalized. There are two ways to define PW: automatic and user specified. For the automatic way, PW = 10 * the initial objective from the initial design cycle. This is the default option. Alternatively, the user can provide his own through a Bulk Data Parameter, MXLAGM1 (See Input Section). Then, PW = 10.* MXLAGM1. Rejecting a Design

If Ratio <  1 , the current design will be rejected. When the flag is set, the subsequent design sensitivity phase will be skipped and the approximate optimization job will be performed based on the previous good design with reduced move limits.

Main Index

110 Design Sensitivity and Optimization User’s Guide Special Topics

Input Parameters related to Trust Region in DOPTPRM entry

TREGION

Flag to invoke Trust Region method. = 0 (Default) Don’t employ trust regions = 1 turn Trust Region on

ETA1 (  1 )

the cutting ratio 1 (Default = 0.01), used by Trust Region Method.

ETA2 (  2 )

the cutting ratio 2 (Default = 0.25), used by Trust Region Method.

ETA3 (  3 )

the cutting ratio 3 (Default = 0.7), used by Trust Region Method.

UPDFAC1

Updating Factor 1 (Default = 2.0), used by Trust Region Method.

UPDFAC2

Updating factor 2 (Default = 0.5), used by Trust Region Method.

DPMAX

Maximum fraction of change on designed property (Default = 0.5) , used by Trust Region Method.

DXMAX

Maximum fraction of change on design variable (Default = 1.0), used by Trust Region Method.

Bulk Data Parameter

PARAM,MXLAGM1,VALUE - Control parameter for Penalty Weight (Real, Default = 0.0). Outputs Special Printout from DOM12

If Trust Region method is invoked, DOM12 prints out additional information message as shown below. This message is printed out once every design cycle. The left column is design cycle number. It prints out Objective, Maximum violated constraint and merit function for exact current, exact previous and approximate. It further prints out Ratio together with numerator, denominator. It also prints out the final Update factor for move limits plus the rejecting status. Finally, it prints out current move limits for property and design variable ply penalty weight.

DCYCL OBJECTIVE 2 PREV 6.893711E+00 CURR 9.935308E+00 APPX 9.935904E+00 MOVEP,MOVP-MIN = MOVEX,MOVX-MIN = NDOFs(NDV-NACS)= PENAL WEIGHT =

MAX-CONS 2.133793E+01 1.392006E+01 1.391907E+01 5.000000E-01 1.000000E+00 0 0.6894E+02

MERIT-FUN 1.477869E+03 9.695438E+02 9.694761E+02 1.000000E-02 5.000000E-02

NUMER 5.0832E+02

DENOM 5.0839E+02

RATIO 9.9987E-01

UPFAC REJ-FLAG TTTT 2.0000E+00 0 TTTT TTTT TTTT TTTT TTTT TTTT TTTT

Marker Indicating a Rejected Design in Design History

A rejected design will be marked by adding symbol ‘R’ to the design cycle number shown in the Summary of Design Cycle History at the end of f06 file. Below is an example that shows design cycle 2

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 111 Special Topics

has been marked with ‘R’. This is because although this design produces a smaller objective but with the violated constraint. So the design is rejected. Design cycle 1 is used as the next starting design point.

*************************************************************** S U M M A R Y O F D E S I G N C Y C L E H I S T O R Y *************************************************************** (HARD CONVERGENCE ACHIEVED) NUMBER OF FINITE ELEMENT ANALYSES COMPLETED NUMBER OF OPTIMIZATIONS W.R.T. APPROXIMATE MODELS

------

------

16 15

OBJECTIVE AND MAXIMUM CONSTRAINT HISTORY --------------------------------------------------------------------------------------------------------OBJECTIVE FROM OBJECTIVE FROM FRACTIONAL ERROR MAXIMUM VALUE CYCLE APPROXIMATE EXACT OF OF NUMBER OPTIMIZATION ANALYSIS APPROXIMATION CONSTRAINT --------------------------------------------------------------------------------------------------------INITIAL 1

6.614414E+02 5.987441E+02

5.987546E+02

1.102773E-01 -1.743120E-05

-4.438843E-04

2R

5.475672E+02

5.475823E+02

-2.764282E-05

2.106060E+00

3

5.626934E+02

5.627052E+02

-2.104267E-05

-3.308058E-04

Guidelines and Limitations 1. All these parameters in the DOPTPRM have their own defaults and are usually adequate. If you want the optimization job to have more aggressive move limit, you may do so by reduce ETA3 and/or increase DPMAX and DXMAX or increase UPDFAC1. Conversely, you may increase ETA3 and/or reduce DPMAX, DXMAX and/or decrease UPDFAC1. 2. A non-zero MXLAGM1 is used to override the default Penalty Weight (PW). This parameter is problem dependent and may require some iteration to come up a good number. When the need arises to specify one, a general rule is to specify a bigger number (say 100. and larger) for the maximum constraint is grossly violated. 3. In some cases, it is possible that activating Trust Region in SOL 200 may produce less

desirable result than a non-Trust Region job. Examples The example (dtrustr2.dat) is a Stiffened Panel constrained optimization job taken from the testing problem library (d200x7.dat). It tries to minimize a weight response while satisfies stress and displacement constraints. The same job was run with and without Trust Region (TR). The Trust Region is invoked by specifying TREGION=1 on the DOPTPRM entry. In addition, the parameter MXLAGM1 is set to 10. Figure 2-20 plots the objective history and DELX history with and without TR. The TR job converges at design cycle 15 (notice that plots count initial design cycle as 1 that is actually zero if counted in the f06) while the non-TR job converges at design cycle 27. Both has same final objective function with maximum feasible constraint at the tolerance of GMAX=0.5%. The fast convergence achieved by the TR job may be explained by the DELX history shown at the bottom of Figure 2-20. The non-trust region job uses a constant move limit (e.g., DELX=0.5) while the DELX in the trust region job is adaptively

Main Index

112 Design Sensitivity and Optimization User’s Guide Special Topics

updated: between design cycles 2 and 6, DELX=1.0 and then reduced below 0.5 between design cycles 8 and 14. Finally, Figure 2-21 plots the maximum constraint values with and without TR. Listing 2-1 lists the summary of the design history.

Figure 2-20

Main Index

Objective History of Example 2: Trust Region vs. Non-Trust Region

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 113 Special Topics

Figure 2-21

Max. Constraint History of Example 2: Trust Region vs. Non-Trust Region

Listing 2-1

Table Summary of Objective and Maximum Constraints

INITIAL

1 2 3 4 5 6 7R 8R 9 10R 11 12 13 14 15

8.610938E+00 6.194046E+00 7.550942E+00 7.982732E+00 7.912356E+00 7.772725E+00 7.562489E+00 7.575960E+00 7.943342E+00 7.829101E+00 7.925030E+00 7.889203E+00 7.907179E+00 7.924466E+00 7.924493E+00

5.784520E+00 8.610291E+00 6.193711E+00 7.550880E+00 7.982616E+00 7.912348E+00 7.772723E+00 7.562516E+00 7.575985E+00 7.943305E+00 7.829069E+00 7.925027E+00 7.889194E+00 7.907176E+00 7.924470E+00 7.924493E+00

7.509516E-05 5.412208E-05 8.146334E-06 1.451547E-05 1.084769E-06 1.840425E-07 -3.657057E-06 -3.398793E-06 4.622315E-06 4.019795E-06 4.211797E-07 1.148394E-06 3.015218E-07 -5.415548E-07 0.000000E+00

1.291873E+00 6.616151E-01 5.258847E-01 2.141915E-01 9.803727E-02 6.846836E-02 5.525844E-02 6.685141E-02 6.633586E-02 1.302273E-02 1.883844E-02 9.176641E-03 8.753594E-03 3.031719E-03 3.125000E-06 -1.562500E-07

Superelement Optimization With few exceptions, design modeling for superelement sensitivity and optimization is a largely transparent operation in Solution 200. That is, design models spanning multiple superelements can be expressed using the same tools and methods for non superelement models discussed in the previous sections. This is a useful tool in any large-scale design task. This section introduces the differences in superelement versus non superelement design modeling. Limitations are summarized at the end of the section.

Main Index

114 Design Sensitivity and Optimization User’s Guide Special Topics

Supported Superelements Primary and image superelements only may be used in connection with the design model. Primary, image as well as external superelements may all be used in the analysis model. The external superelement restriction occurs because external superelements are only known to the code via their structural stiffness, mass, damping, and load matrices. Not having any of the properties or other modeling data on hand prevents referencing any of this data in connection with the design model. Although external superelements may be used in connection with the analysis model, their properties are assumed to be constant with respect to the design model. Design Variables in Superelement Design Modeling You can relate design variables to properties just as in the case with non superelement models by using either linear relationships specified on DVPREL1 Bulk Data entries or user-defined equations on DVPREL2 entries. Design variable-to-property relations may be local to a given superelement or may span superelement boundaries. For example, a design variable may be related to a particular property entry which is, in turn, used in a number of superelements in the model. You can also define design variable-to-grid relationships using DVGRID Bulk Data entries. A given design variable may be related to grid sets that span superelement boundaries. A DVGRID entry may reference both interior and exterior grids of primary superelements. DVGRID entries are the only way to specify shape basis vectors in superelement design models. The other methods-direct input of shapes, geometric boundary shapes, and analytic boundary shapes--are not supported. For secondary superelements, the same property and/or grid variations prescribed on the primary superelement also apply to the corresponding image superelements. All references to external grids of secondary superelements are ignored, however. This stems from the fact that the superelement mapping matrix is used to compute the secondary superelement matrices using the primary superelement. Design Responses in Superelement Design Modeling You can select design responses using DRESP1 and/or DRESP2 Bulk Data entries. A single DRESP1 entry can be used to select a number of design responses by referring to multiple grid locations, property IDs, or elements. The responses identified on a single DRESP1 entry can be from multiple superelements. For weight and volume type responses, the applicable superelement IDs (SEIDi), or ‘ALL’ must be specified. Weight or volume responses can be computed for the entire model or just a subset defined by superelement ID reference. The default is the residual structure, or Superelement 0. By default, only those elements belonging to the residual superelement are included in weight and volume computations. The design responses input to DRESP2 equations can span multiple superelements or load cases. Superelements and Constraint Screening For superelement sensitivity, the constraint screening criteria are applied on an individual superelement basis. That is, if a DRESP1 entry lists several element, grid, or property IDs which span superelement boundaries, the screening criteria will apply individually to all superelements that share responses listed on this DRESP1 entry. If separate sets of constraint screening parameters, TRS (truncation threshold),

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 115 Special Topics

and NSTR (number of retained constraints per region) are required for different superelements, then separate sets of DRESP1 and DCONSTR entries should be used to define superelement-specific response groups. Case Control The simplest way to incorporate superelements is to use the SUPER = ALL command in Case Control. This automatically satisfies a number of design optimization Case Control requirements. You can also use an expanded subcase structure if necessary, with each subcase pertaining to a superelement or group of superelements. If you choose the latter approach there are some additional requirements that must be satisfied: • Each superelement subcase must define an analysis type using the ANALYSIS = command. • For ANALYSIS = MODES, the eigenvalue constraint must be called out from each MODES

subcase using the DESSUB command. • The METHOD command included in the residual subcase must also be used in the upstream

superelement subcases. This requirement also holds for Component Modes Synthesis (CMS) and Generalized Dynamic Reduction (GDR). Limitations The limitations that apply to superelement design modeling are summarized as follows: • The design model may not reference external superelements. External superelements can be part

of the analysis model but are considered invariant with respect to changes in the design model. • Image superelements have the same design variations and design responses as defined on the

referenced primary superelement. The exception is external grids, which are invariant for the image superelements. • Shape basis vectors can only be defined using the DVGRID entry. • Eigenvalue sensitivity is evaluated for the residual superelement. Since the residual contains the

boundary degrees-of-freedom from all superelements, the computed eigenvalue sensitivities pertain to the entire structure. Eigenvalues computed during upstream superelement reduction are not available as design responses. Guyan reduction (the default) is exact for stiffness properties but only approximate for mass. Thus, you may want to consider using advanced reduction methods such as component modes synthesis to improve the sensitivity analysis accuracy. • Synthetic responses defined via DRESP2 and DEQATN entries cannot have arguments that span

superelement boundaries. This restriction is similar to the non superelement case where responses from different subcases may not be arguments to a user-defined equation. • Multiple boundary conditions are not permitted in superelement design modeling. This

restriction stems from a similar restriction in superelement analysis. • The DCONSTR and DSCREEN entries have no provisions for specification of superelement

IDs. If separate response allowables or screening criteria are to be applied, the DRESP1 entries should define responses that do not span superelement boundaries.

Main Index

116 Design Sensitivity and Optimization User’s Guide Special Topics

Automatic External Superelement Optimization (AESO) Introduction The Manual External Superelement Optimization capability (MESO) has been available since the MSC Nastran 2004. In this technique, the user manually partitions the analysis model into two parts: a designed part and a non-designed part. The latter is treated as one external part superelement while the former is defined as a residual structure. A creation run is performed which applies Component Mode Synthesis (CMS) or Static Condensation to the part superelement and stores the resulting boundary matrices in a database or a punch file. The original optimization task is performed on the assembly run that assembles those boundary matrices into the residual model for solving system solutions. The strategy is most efficient when the size of the design model (or residual model) is much smaller than the size of the original analysis model. However, although the feature is efficient in CPU time, since both files of both creation and assembly runs must be created by the user, significant effort in manual partitioning the model might outweigh the performance gain. The AESO capability presented here extends the MESO in an important way: rather than requiring the user to segregate his large model into a designed and non-designed part, the process does this automatically by identifying which parts of the finite element model are affected by the design task. In essence, the new AESO capability provides an efficient and accurate solution in a user friendly way. Benefits Several major benefits are: 1. Removes a tedious and error prone task from the user in preparing the user input data. 2. Does not require the user to be knowledgeable in the specialized area of superelements in general and external superelements in particular. 3. Provides an efficient and accurate approach for large-scale design optimization tasks. 4. Enable the performance of various design studies rapidly once the model has been divided into a designed and non-designed part. Examples of this are the setting up of different design constraints and objective in the studies to gain insight into the design and the available trade-offs or the applying of various frequency excitation loadings in the frequency response analyses. Methodology A complete AESO task involves two separate MSC Nastran job runs: 1) the first run is an AESO creation run (or simply creation run) whose logical flow is described in Figure 2-22 and 2) the second run is an AESO assembly run (or simply assembly run) whose logical flow is described in Figure 2-23. As shown in Figure 2-22, the creation run automatically partitions the original analysis model into the residual (the designed part) and external SE (the non-designed part). This automatic partition procedure will assign the following grid points to the residual: 1. All grid points that belong to a design model consisting of DRESP1, DVGRID, DVPRELi, DVMRELi and DVCRELi entries;

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 117 Special Topics

2. All grid points that are referenced on all static or dynamic loading entries such as DAREA, DPHASE, FORCE, MOMENT, PLOADi, TEMP entries; 3. All grid points for a rigid element that has one or more connecting grid belonging to the residual; 4. Any grid point that is a dependent grid on an MPC entry After the automatic partition procedure, a new user input file is created from the residual (Figure 2-23). Then, the remainder of the creation run is the application of Static Condensation and/or Component Modes Synthesis procedures to produce stiffness, mass, damping boundary matrices. After the creation run is complete, a Nastran database is saved to store the boundary matrices and a .asm file is also created to include superelement boundary connection information. The assembly run is similar to a conventional SOL 200 task as shown in Figure 2-24 by utilizing all three types of data generated from the creation run (Figure 2-23). The original optimization problem is solved by assembling the boundary matrices into the residual for the system solutions.

Initial User Input File Initial User Input File

Residual

Automatic Model Partition External SE

CMS to create boundary matrices

New Input File for Assembly Run

MSC Nastran EXTSE Database

Improved Design

Structural Response Analysis

AESO Creation Run

Figure 2-23 Output of Creation Run and Input of Assembly Run

Optimizer

Sensitivity Analysis

.asm file

Figure 2-22

Approximate Model

Constraint Screening

Finite Element Analysis

Figure 2-24

AESO Assembly Run

Input 1. The two parameters on the DOPTPRM entry for an AESO job: AUTOSE - flag to request an AESO job (integer 0, 1, Default = 0). AUTOSE = 1 activates an AESO creation run. DRATIO - the threshold value that is used to turn off an active AESO job if the ratio of the size of the design model to that of the analysis model is greater than DRATIO (Real > 0.; Default = 0.1).

Main Index

118 Design Sensitivity and Optimization User’s Guide Special Topics

2. An ASSIGN statement with a logical key name ‘AESO’ is placed in the FMS to specify an input file name for the assembly run. To illustrate ideas behind the input and output for an AESO task, a test problem (aeso1.dat) is used here. Figure 2-25 shows a sample model whose upper left portion covering elements 18 to 42 (SE 1) is the nondesigned part while the rest of structure is the residual structure.

The listing below is a condensed version of the creation run file (aeso1.dat) that only shows the required user input to invoke an AESO creation run. The assign aeso='aeso1_2.dat' statement is specified in the FMS section and autose 1 and dratio 0.9 are requested on the DOPTPRM entry. The DRATIO=0.9 here overrides the default.

Figure 2-25

Main Index

A Sample Model

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 119 Special Topics

assign aeso='aeso1_2.dat' SOL 200 CEND desobj(max) = 1 analysis = modes ….. Begin Bulk …… doptprm desmax 10 autose enddata Figure 2-26

1

dratio

0.9

Condensed Version of the Creation Run File, dseoptl.dat

Outputs As shown in Figure 7-4, three types of data generated from the creation run are saved in the working directory: a Nastran database, a .asm file and a new input file for the assembly run (or an assembly file). This section describes each of these items and explains how they are used in the assembly run. In addition, some special print outputs from the creation run are shown that display the model partition information. Nastran Database Files

Two Nastran database files: aeso1.MASTER and aeso1.DBALL are automatically saved when the creation run is submitted with SCR=NO option. Notice the size of the database is much smaller than the regular Nastran database because only boundary matrices are stored. The Master file will be referenced by an ASSIGN statement in the new input file described below.

Main Index

120 Design Sensitivity and Optimization User’s Guide Special Topics

The .asm File

The ‘aeso1.asm’ file that includes the boundary connection information follows. As shown in Figure 2-25, this problem has only two boundary points, 35 and 36 between the residual and the external superelement 1. This file is accessed through an INCLUDE command in the assembly file.

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $ $ ASSEMBLY PUNCH (.ASM) FILE FOR EXTERNAL SUPERELEMENT 1 $ $ THIS FILE CONTAINING BULK DATA ENTRIES PERTAINING TO $ EXTERNAL SUPERELEMENT 1 IS MEANT FOR INCLUSION $ ANYWHERE IN THE MAIN BULK DATA PORTION OF THE ASSEMBLY RUN $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ SEBULK 1EXTERNAL MANUAL $ SECONCT 1 0 5.0E-05 35 35 36 36 $ $ BOUNDARY GRID DATA $ GRID 35 -3.6 6. 0. GRID 36 -2.8 6. 0. $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

New Input File for the Assembly Run

Notice that the name of this file, aeso1_2.dat is specified on the ASSIGN AESO statement in the creation run (Figure 2-26). It is a standard Nastran input file. The AESO specific contents in the Executive Control, Case Control and Bulk Data Sections are listed in Figure 2-27 and are described below.

nastran rseqcont=1 assign se1= './aeso1.MASTER' dblocate datablk(EXTDB) logical=se1, CONVERT(SEID=1) SOL 200 CEND desobj(max) = 1 analysis = modes ……. subcase 10 method = 1 spc = 10 $ begin bulk include './aeso1.asm' ……. doptprm desmax 10 enddata

Figure 2-27

Main Index

}

} }

Highlights of the Assembly Run File, aeso1_2.dat

Executive Control Section

Case Control Section

Bulk Data Section

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 121 Special Topics

1. Executive Control Section The Nastran rseqcont=1 statement instructs the input file processor to ignore all continuation fields. This statement is automatically created in this file regardless of whether the creation run has it or not. The next two statements assign the Nastran Master database file and locate the EXTDB datablock that stores various boundary matrices. Notice that the other statements in Executive Control Section of the creation run are not retained. 2. Case Control Section The whole Case Control section of the creation run is retained in the assembly file. 3. Bulk Data Section This section completely defines the residual structure. The include ‘./aeso1.asm’ command allows the assembly run to access the .asm file created from the creation run. In addition, the autose 1 and dratio 0.9 have been removed from the doptprm entry of the creation run. Special Print Outputs from Creation Run

The following output is taken from the aeso1.f06 file. It displays detailed information about the model partition. You may use Figure 2-25 to help read the printout here. Notice that the Superelement 1 covers the non-designed part while the residual (or Superelement 0) covers the designed part.

Main Index

122 Design Sensitivity and Optimization User’s Guide Special Topics

Listing 2-2

Printout Showing Model Partition of Designed and Non-Designed Parts

BOUNDARY SEQUENCE ASSIGNMENT TABLE BOUNDARY SEQUENCE ID -------------------------- ASSIGNED TO POINT ID (SUPERELEMENT) -------------------------------1B 35 ( 0) 35 ( 1) 2B 36 ( 0) 36 ( 1) SUPERELEMENT 0 LIST OF INTERIOR POINTS ( TOTAL NO. OF INTERIOR POINT = 70 ) INDEX -1-2-3-4-5-6-7-8-9-101 1 2 3 4 5 6 7 8 9 10 11 11 12 13 14 15 16 17 18 19 20 21 21 22 23 24 25 26 27 28 29 30 31 31 32 39 40 41 42 43 44 51 52 41 53 54 55 56 63 64 65 66 67 68 51 75 76 77 78 79 80 87 88 89 90 61 91 92 99 100 101 102 103 104 1B 2B SUPERELEMENT 0 LIST OF ELEMENTS ( TOTAL NO. OF ELEMENTS = 42 ) INDEX -1-2-3-4-5-6-7-8-9-101 1 2 3 4 5 6 7 8 9 10 11 11 12 13 14 15 16 17 43 44 45 21 46 47 48 49 50 51 52 53 54 55 31 56 57 58 59 60 61 62 63 64 65 41 66 67 SUPERELEMENT 1 LIST OF EXTERIOR POINTS ( TOTAL NO. OF EXTERIOR POINT = 2 ) INDEX -1-2-3-4-5-6-7-8-9-101 1B 2B SUPERELEMENT 1 LIST OF INTERIOR POINTS ( TOTAL NO. OF INTERIOR POINT = 34 ) INDEX -1-2-3-4-5-6-7-8-9-101 33 34 37 38 45 46 47 48 49 50 11 57 58 59 60 61 62 69 70 71 72 21 73 74 81 82 83 84 85 86 93 94 31 95 96 97 98 SUPERELEMENT 1 LIST OF ELEMENTS ( TOTAL NO. OF ELEMENTS = 25 ) INDEX -1-2-3-4-5-6-7-8-9-101 18 19 20 21 22 23 24 25 26 27 11 28 29 30 31 32 33 34 35 36 37 21 38 39 40 41 42

Guidelines and Limitations • You may adjust DRATIO to allow an assembly run with larger or smaller residual model. The UIM 7824 provides brief information about the sizes of your analysis model and design model in terms of number of the grid points. *** USER THE THE THE

INFORMATION MESSAGE 7824 (DSGRDM) NUMBER OF GRID POINTS IN THE ANALYSIS MODEL = 104. NUMBER OF GRID POINTS IN THE DESIGN MODEL = 70. DESIGN MODEL COMPRISES 67.3 PERCENT OF THE ANALYSIS MODEL.

• For an AESO job with Analysis=MODES or MFREQ, it is recommended to activate the matrix

domain based decomposition with ‘domainsolver acms(partopt=dof)’ in the Executive Control section to speed up the CMS procedure. • Always specify the ASSIGN AESO=’filename.ext’ statement in the creation run to define the

name of the assembly file. Directly assigning the original job name to filename should be avoided and will cause the assembly run to fail with User Fatal Message 713. A good practice is to add some suffix to the original file name such as myjob_2nd.dat where myjob is the original file name.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 123 Special Topics

*** USER FATAL MESSAGE 732 (OPFUNT) LOGICAL NAMES 'INPUT ' AND 'AESO ' ARE ASSIGNED TO THE SAME PHYSICAL FILE. USER INFORMATION: PHYSICAL FILE NAME 1: ./abc.aeso PHYSICAL FILE NAME 2: ./abc.aeso USER ACTION: CHANGE FILE NAME ON ONE OF THE ASSOCIATED ASSIGN STATEMENTS.

• When submitting the AESO creation run, use SCR=NO option. Otherwise, the Nastran database

will not be retained after the creation run is done. However, it is optional for submitting an assembly run. • After the creation run is complete, check the following user information message in the f06 file

to ensure the job is terminated successfully. ^^^ ^^^ USER INFORMATION MESSAGE 9181 (FEA) ^^^ THE JOB IS TERMINATED FOR AN AUTO EXTERNAL CREATION RUN ^^^

• The assembly input file may be modified to perform various design studies as long as the

changes do not affect the boundary matrices stored in the database. • If the AESO creation run includes a GRAV entry, it will be terminated with the following

message. The same applies to TEMPD entry. They should be removed from the file if they are temporary inactive for the current task. Gravity and TEMPD loads are not supported with AESO since they apply loads to the entire structure and therefore block any partitioning. *** USER FATAL MESSAGE 7699 (DSGRDM) A GRAV Bulk Data entry is specified in an AESO creation run. USER INFORMATION: The AESO run does not support the GRAV entry.

• Duplicate GRID entries are allowed in the .asm file and in the assembly input file. They will be

automatically removed during the assembly run within the location tolerance specified by the TOL field on the SECONCT entry. For the AESO jobs, the default of the location tolerance has been increased to 5.E-5 from the original 1.E-5. However, due to numerical imperfection, this tolerance may need to be adjusted particularly for the cases in which the boundary grid points are defined in one or multi-levels of coordinate systems. • Bulk Data parameter SEMAPPRT can be used to control the printout of the model partition information shown in Listing 2-2. For example, Setting SEMAPPRT to 0 will turn off the

printout.

Main Index

124 Design Sensitivity and Optimization User’s Guide Special Topics

• If the AESO task includes DVGRID entries, make sure that the grid points referenced by

DVGRID entries are inside the residual. Since the grid points on DVGRID entries vary during the design process, including them as part of boundary grid points will invalidate the invariance of those boundary matrices. Currently, the grid points on the DVGRID entries will not be automatically assigned to be inside the residual. ASET and ASET1 entries can be used to create an enclosure or a barrier to ensure the grid points referenced on the DVGRID entries are always placed inside the residual. • Since all the CORD1i entries are automatically converted to CORD2i entries during the AESO

creation run. The DVGRID entry should not reference the grid points that define the CORD1i entry. • The AESO tasks do not support acoustics response.

Miscellaneous Prior to MD R2, SOL 200 supports a limited Part optimization capability while it fully supports the traditional Superelement optimization. Notice that the traditional SE is defined with SESET Bulk Data entry while the Part is defined with Begin Super Bulk Data entry. In addition, the Part may be defined either as External or Internal. The enhancement added in MD R2 provides a robust Part optimization capability as long as the design model is in the residual (or an upstream Part can not be designed or constrained). One example of its application would be: an airplane wing is modeled as an internal Part while the engine is modeled as an external Part. Then these two are attached to the fuselage, a residual that will be designed. The following Table summarizes the features of Superelement Optimization and Part Optimization in SOL 200.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 125 Special Topics

Item 1

Feature Traditional or LIST SE

Support in SOL 200 Yes

Design Model in Upstream SE Internal: design variables and design constraints External: OK to include for analysis; No Design variable and Constraint. DLINK entry to link design variables from single or multiple SEs DRESP2 entry to create synthetic responses with DRESP1 and/or DRESP2 IDs from single SEs (DRESP2 flag OK) DRESP2 entry to create synthetic responses with DRESP1 IDs from multiple SEs (no DRESP2 flag)

2

PART SE via Yes ‘BEGIN SUPER=’

Internal PART SE : design variables and design constraints External PART SE : OK to include for analysis; No Design variable and Constraint. DLINK entry to link design variables from single PART SE SEDLINK to link design variables from multiple PART SEs DRESP2 entry to create synthetic responses with DRESP1 and/or DRESP2 IDs from single PART SE (DRESP2 flag OK) SEDRSP2 entry to create synthetic responses with DRESP1 IDs from multiple SEs (no DRESP2 flag)

1+2

No

No

To illustrate how to create a Part optimization job, the sample model as shown in Figure 2-25 is used here. The top left squared region is modeled as Part 1 (elements 18 to 42) while the top right squared region is modeled as Part 2 (elements 43 to 67). The rest is modeled as a residual (elements 1 to 17). Grid points 1 and 2 are fully constrained. The design task is to maximize the first natural frequency by varying the thickness of elements 1 to 17 within a given range. The following listing is a condensed version of dseopt18.dat that shows three major Bulk Data sections. Its full version can be obtained from the Test Problem Library. The unique feature of a Part optimization

Main Index

126 Design Sensitivity and Optimization User’s Guide Special Topics

job is the multiple Bulk Data sections and how the design model definition is placed. Three sections in this job are: 1. Main section (between Begin Bulk and Begin Super = 1) that defines the residual model. Notice that all the designed entries such as DESVAR, DVPREL1, DRESP1 entries are defined in this section because the design model must be within the residual. 2. Section for Part 1 (between Begin Super = 1 and Begin Super =2). This section defines Part 1 model. 3. Section for Part 2 (between Begin Super = 2 and Enddata). It defines Part 2 model. Notice that the design model must be placed in the main Bulk Data section because the design model is required to be in the residual. The detailed steps to define Parts and residual model are not skipped here.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 127 Special Topics

Main Index

128 Design Sensitivity and Optimization User’s Guide Special Topics

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 129 Special Topics

Randomization of a User’s Input Data File Introduction The stochastic capability in MSC Nastran is the first step towards a complete and automatic selfrandomization of a Finite Element model. The capability currently offers the user the possibility to automatically distribute tolerances and uncertainties with minimum effort. This reduces dramatically the

Main Index

130 Design Sensitivity and Optimization User’s Guide Special Topics

burden on a user wishing to perform large-scale stochastic simulations. In fact, once the stochastic option is triggered, the entire Bulk Data Deck is randomized automatically and without further user intervention. The resulting model, which needs to be incorporated in a Monte Carlo Simulation loop - there are numerous off-the-shelf products which support this capability - possesses unprecedented levels of realism. In order to make full use of this new development, it is necessary to resort to a multi-run environment, which can spawn a certain number of independent MSC Nastran executions, collect the results, and allow the user to perform statistical post-processing. With the self-randomization capability in MSC Nastran, all the user needs to define are the outputs he wishes to monitor, such as stresses, eigen-frequencies, temperatures, displacements, etc. There is no need to define inputs, as these are defined automatically by MSC Nastran. The process is, essentially, error-free. Benefits A basic assumption of MSC Nastran is that the inputs to the analysis are known exactly so that the computed responses are also known exactly. This is, of course, an invalid assumption in that there will always be some uncertainty in the inputs with a corresponding variations in the outputs. The MD R2 release of Nastran provides a way of introducing this uncertainty into the analysis process by automatically randomizing user input real numbers based on the input values and statistical quantities that characterize the variation. Input

The randomization capability is driven by STOCHASTICS case control command. If STOCHASTICS=ALL is used, all real quantities on connectivity (those starting with C), Material and Property entries as well as any loads and SPCD quantities are modified based on a covariance factor of 0.05. A Gaussian distribution is used to randomly select the perturbed quantity with the restriction that the value can be no more that a specified number of standards deviations from the user input mean value. The default number of maximum standard deviations is 3. Alternatively, the STOCHASTICS command can point to a STOCHAS bulk data entry that provides the ability to selectively randomize different types of input quantities using user specified covariance values and number of allowed standard deviations. In this case, only the types of input specified are randomized so that, for example, it is possible to randomize the loads input while leaving the property values unchanged. Output

There is no new output produced by this capability at present. Guidelines and Limitations The randomization algorithm involves using a random number generator, a Gaussian distribution, the prescribed covariance and a mean value based on the user input to come up with a randomized value that is to be used in the analysis. In order to avoid physically meaningless properties, the random value is prescribed to be within m standard deviations of the input value, where m is a user input value with a default value of 3.0.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 131 Special Topics

The product of m * COV should not be greater than 1.0 to eliminate the possibility of the property changing sign. The full benefit of this beta capability requires submitting multiple runs with the same randomization parameters. Each would produce a unique randomization and it is possible to collect the results of each of these analyses and produce statistical information on the variability of the responses. At present, MSC does not have software that performs these functions and it is unlikely that users would carry out this type of multiple run analysis on their own. If the user input property value is 0.0, no randomization occurs. If it is recommended that any property values that are 0.0 (say orientation angle on a PCOMP entry) be set to some non-zero value that is not negligible.

Modified Objective Function Objective Function Modification Frequently, auto and aircraft manufacturers use SOL 200 to design just a tiny portion of the structure. The mass of design portion can be 3 to 4 orders of magnitude smaller than the full structural mass. Modifying the objective function provides a quick way avoid premature convergence. Parameter OBJMOD for DOPTPRM is implemented as a flag for objective function modification. With DOPTPRM,OBJMOD,1, the original objective function value will be reset to 0.0. From the second cycle onward, the objective function value represents the change of objective function with respect to the original design. The default value for OBJMOD is 0, meaning the total objective function value will be used. With DOPTPRM,OBJMOD,1, objective function modification algorithm is activated. A sample of objective function history is shown as follows. The output is available for all optimization jobs.

OBJECTIVE AND MAXIMUM CONSTRAINT HISTORY --------------------------------------------------------------------------------------------------------------OBJECTIVE FROM OBJECTIVE FROM FRACTIONAL ERROR MAXIMUM VALUE CYCLE APPROXIMATE EXACT OF OF NUMBER OPTIMIZATION ANALYSIS APPROXIMATION CONSTRAINT -------------------------------------------------------------------------------------------------------------->>> OBJECTIVES in COLUMN 2/3 ARE INCREMENTAL TO OBJECTIVE OF ORIGINAL DESIGN = 1.0000E+05 > ADD INCREMENTAL OBJECTIVE TO ORIGINAL TO ARRIVE AT REAL OBJECTIVE OF EACH CYCLE > OBJECTIVES in COLUMN 2/3 ARE INCREMENTAL TO OBJECTIVE OF ORIGINAL DESIGN = 1.0000E+05 > ADD INCREMENTAL OBJECTIVE TO ORIGINAL TO ARRIVE AT REAL OBJECTIVE OF EACH CYCLE >’ and ‘1. include '$sdir/deslo_desmod.blk' $ = all design model entries except DESVARs include '$sdir/deslo_desvar.blk' $ = all DESVARs entries include ‘$sdir/deslo_esl’ $ = Equivalent Static Loads Bulk Data entries include ‘$sdir/deslo_model’ $ = the remaining portion of the original bulk data entries All the intermediate files are stored in the same Nastran scratch directory defined by environment variable $sdir. It could be reset on the Nastran command line with sdir=local-path-directory. If SCR option is set to Yes, they will be removed from the directory after the ESLNRO job is complete. If SCR is set to No, they will be saved in the directory. Descriptions of Individual Include Files

Main Index

deslo_nlsub.cas

This file contains the original contents of the Case Control Section used by a SOL 400 run.

deslo_eslsub.cas

This file defines SUBCASES that reference load cases corresponding to the same number of Equivalent Static Loads. It is generated by the SOL 400 run and will be used by a SOL 200 job.

deslo_desmod.blk

This file contains all the design entries except DESVAR entries and is used by both a SOL 200 job and a SOL 400 job.

deslo_desvar.blk

This file contains all the initial DESVAR entries for the initial design cycle. For design cycle > 1, it contains updated DESVAR entries. The file is used by both SOL 200 and SOL 400 runs.

deslo_grid.blk

The file contains all the initial GRID entries at the initial design cycle. For shape optimization it contains the updated GRID entries for design cycle > 1. It is used by both jobs.

deslo_loads.blk

The file contains the loads Bulk Data entries from the original user input file. It is only used by a SOL 400 job.

deslo_esl.blk

The file contains the loads Bulk Data entries for the Equivalent Static Loads. It is generated by a SOL 400 run at every design cycle and is only used by a SOL 200 job.

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 143 Special Topics

deslo_nlmat.blk

The file contains nonlinear analysis specific data such as nonlinear material entries that are supported by this project such as MATEP, MATF, MATS1 and NLPARM and is used only by SOL 400 job.

deslo_model

This file contains the remaining Bulk Data entries after the entries in deslo_grid.blk, deslo_nlmat.blk and deslo_desmod.blk, deslo_desvar, deslo_loads are excluded from the original Bulk Data Section and is used by both jobs.

Guidelines and Limitations • The current release of the ESLNRO capability supports nonlinear analyses with geometry and material nonlinearities but not nonlinear boundary applications such contact problems. It is limited to static analysis with design constraints on displacements and element stresses. Both sizing and shape design variables are supported where sizing design variables are limited to the quantities that can be specified on a DVPRELi entry. Topology, Topometry and Topography are not supported. • To invoke the ESLNRO capability, set NASTRAN ESLOPT = 1 at the top of your input file. • An ESLNRO job requires a single user input file consisting of a regular SOL 400 job and a

design model definition. Various intermediate files are generated from those separate SOL 400 and SOL 200 runs that perform nonlinear analysis and linear response optimization. You can use SDIR= option to redirect these files to your desired location. Use SCR=no if you want to keep them on the disk at the end of the job. • When you start an ESLNRO job, make sure the directory that will store the intermediate files

does not contain any intermediate files from the previous ESLNRO run. • You can specify your own RC file for these internally spawned SOL 200 or SOL 400 jobs using

PARAM,ESLRCF, RC_ File_Name to allocate more memory or for other purposes. • After an ESLNRO job is complete, a complete Bulk Data Section with updated element

properties entry or GRID and DESVAR entries for the last design cycle will be saved in the PCH file. In addition, the history of design objective, maximum constraints and design variables are also saved in the PCH file from which XY-Plots can be generated using spreadsheet program such as Microsoft Excel. • The capability is characterized as “pre-release” or “beta” because it is a new functionality that

requires considerable use and, perhaps, refinement to become a mature production tool. The user community is invited to exercise this capability and provide MSC with feedback as to its performance and usefulness.

Main Index

144 Design Sensitivity and Optimization User’s Guide Special Topics

Examples 10 Bar Truss (test library problem: deslo.dat)

(cross sectional areas) Find: Minimize:

Weight  j  220 MPa

(j = 1,...,10)

 all  100.0mm 2

(both x and y directions of all nodes)

78.5mm  X i  2826.0mm

2

(i = 1,...,10)

This example demonstrates an ESLNRO optimization problem involving both geometric and material nonlinear behavior. The design task is to minimize the structural weight while maintaining nonlinear nodal displacements and element stresses within allowable limits. It is solved using MD Nastran R3. As stated above, SOL 400 and SOL 200 are combined in a single process for nonlinear analysis and linear response optimization. The optimizer in SOL 200 is MSCADS, a modified version of the ADS code (Ref. 1.). The job is terminated due to hard convergence to a feasible design. The following data compare the results between the initial design and the final design. Although both, initial nonlinear displacement and stress constraints are violated, the final design is a feasible design. • Max Deflection:

Optimized: -99.85, Initial -146.76 (lower limit is -100.0)

• Max Axial Stress: Optimized: -218.26, Initial -283.99 (upper limit is 220.00) Figure 2-30 shows the design history where an ESLNRO design cycle represents a nonlinear analysis followed by a linear optimization task. Each linear optimization task typically has its own series of design cycles as in a standard SOL 200 run. The blue line is for weight while the red line is for the maximum constraint. It is seen that a feasible design is attained after 10 design cycles but that the weight continues to decrease so that ultimately 37 design cycles are performed. Even for this small problem, it should be

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 145 Special Topics

obvious that the number of nonlinear analyses required to solve the problem are much fewer than would be required if a response surface method approach had been used.

Figure 2-30

History of 10 Bar Truss Design

Advanced Numerical Techniques in SOL 200 This section deals with some specialized techniques that are available in MSC Nastran for solving large finite element tasks. The application of these techniques in SOL 200 is only involved with the analysis phase with no specific features for design sensitivity and optimization. Two techniques, DMP (distributed memory parallel) and ACMS (automated component modal synthesis) are discussed here briefly to show the impact they can make of optimization tasks. Three distributed memory parallel (DMP) techniques are available for SOL 200: internal parallel for FRRD1 module, frequency domain parallel Lanczos method and degrees-of-freedom (DOF) domain parallel Lanczos method. All computing nodes for a DMP job are turned on only in the analysis phase of the design cycle in SOL 200. During the design sensitivity and optimization phase of a design cycle, the master node is the only active computing node and all other nodes are idle. Note that the Adjoint Sensitivity Analysis for Grid Responses indicates that it is possible to solve for the adjoint solution vectors

during the analysis. In this case, the unavailability of DMP during the sensitivity analysis is less significant.

Main Index

146 Design Sensitivity and Optimization User’s Guide Special Topics

Internal Parallel for FRRD1 Module FRRD1 is the solution generator for frequency response analysis. For each forcing frequency, FRRD1 goes through identical steps to produce solution vector(s). Therefore, the work assigned to each processor is equal to the total number of forcing frequencies (NF) divided by the number of processors (NP). If the results of NF divided by NP is not an integer, one or more processors will need to pick up one extra forcing frequency. Hence, the maximum load unbalance among all processors in “internal parallel for FRRD1 module” is the solution time for one forcing frequency. Although this DMP technique is supported in both direct frequency (DFREQ) and modal frequency (MFREQ), it has the biggest impact for DFREQ jobs. To request NP number of processors for frequency response SOL 200 job, add ‘dmp=NP’ to the job submittal line. Note:

It is possible to select nodes for the DMP job. The defaults for the hosts are machine dependent. See “hosts” in Keywords and Environment Variables (App. C) in the MSC Nastran 2012 Installation and Operations Guide for more details.

As an illustrative example, a vehicle model with a half million DOFs in the analysis set has been exercised using a varying number of processors. The direct frequency analysis has 12 forcing frequencies. A performance study on an IBM SP3 produced the following results. Number of Processors

Total Elapsed Time

Speed-up

Elapsed Time in FRRD1

Overhead for DMP in FRRD1

1

252 min. 9 sec.

1

208 min. 4 sec.

2

139 min. 48 sec.

1.8

105 min. 44 sec.

9 min. 25 sec.

4

101 min. 29 sec.

2.5

67 min. 16 sec.

16 min. 6 sec.

Overhead for DMP in FRRD1 occurs at the beginning and the end of FRRD1. Note that the overhead can be greatly influenced by the workload of the system and network. The overhead is shown here is to indicate that the overhead can become significant and the effectiveness of DMP reduces as the number of processors increases. In this case, the FRRD1 module dominates the overall computing requirements so that there is a significant payoff from running this module in the parallel mode. Frequency Domain Parallel Lanczos Method Frequency domain parallel Lanczos in SOL 200 is available for ANALYSIS= MODES and other analyses that use the modal formulation (ANALYSIS=MFREQ, MTRANS, MCEIG and FLUTTER) . The following Executive Control Statement DOMAINSOLVER MODES (PARTOPT=FREQ) must be added to the beginning of the Executive Control Section.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 147 Special Topics

For example: NASTRAN buffsize=16385 $ domainsolver modes (partopt=freq) $ SOL 200 Furthermore, the number of processors (NP) must be specified using the ‘dmp=NP’ keyword on the submittal line. The Lanczos method must be used. A vehicle model with a half million DOFs in the analysis set is used to indicate of benefits of frequency domain parallel Lanczos. This is an MFREQ job with 12 forcing frequencies. A performance study on an IBM SP3 produced the following results: Number of Processors

Total Elapsed Time

Speed-up

Elapsed Time in READ Module

1

245 min. 27 sec.

1

178 min. 57 sec.

2

217 min. 45 sec.

1.13

133 min. 16 sec.

4

158 min. 43 sec.

1.55

79 min. 35 sec.

In this case, the READ module is less dominant in the overall total job elapsed time, but there is still a significant speedup with more processors. DOF Domain Parallel Lanczos Method The DOF domain parallel Lanczos method is an alternative technique for extracting eigenvalues in parallel mode. SOL 200 also supports this option for ANALYSIS = MODES and other analyses that use the modal formulation (MFREQ, MTRANS, MCEIG, and FLUTTER). The following Executive Control Statement DOMAINSOLVER MODES (PARTOPT=DOF) $ must be added to the beginning of the Executive Control Section. For example: NASTRAN buffsize=16385 $ domainsolver modes (partopt=dof) $ SOL 200 The number of processors (NP) must be specified using the ‘dmp=NP’ keyword on the submittal line. The Lanczos eigenvalue method must be used. A vehicle model with a half million DOFs in the analysis set is again used for this example. This is an MFREQ job and has 12 forcing frequencies. A performance study on an IBM SP3 produced the following results:

Main Index

148 Design Sensitivity and Optimization User’s Guide Special Topics

Number of Processors

Elapsed Time

Speed-up

Elapsed Time in READ Module

1 2

245 min. 27 sec.

1

178 min. 57 sec.

228 min. 42 sec.

1.07

149 min. 40 sec.

4

188 min. 49 sec.

1.30

95 min. 3 sec.

Parallel Sensitivities Introduction Design sensitivity calculations may be performed in a distributed parallel environment in SOL 200 of MSC Nastran. It is a coarse parallel implementation that divides the sensitivity task across a number of processors so that each processes a subset of the total number of design variables. Following the sensitivity analysis and before optimization, the separate sensitivity data are appended into a global sensitivity set. Benefits This feature is aimed at users who are currently spending significant time in the sensitivity phase of an optimization design task. This typically occurs when the problem size (g-size) is large, there are many (perhaps thousands) of design variables and the adjoint method of sensitivity analysis is either unavailable or still time consuming. User Interface Inputs

1. Specify the DOMAINSOLVER Executive Control statement with the new DSA keyword. For example: DOMAINSOLVER DSA Other DOMAINSOLVER options like ACMS, FREQ, and MODES may also be specified or modified along with DSA. For example, DOMAINSOLVER DSA ACMS By default, DOMAINSOLVER options MODES and FREQ are always on with dmp keyword on the Nastran submittal command. 2. Specify the dmp=n keyword on the Nastran submittal command; where n is the number of available processors. Outputs

There are no new outputs. It should be noted that with dmp=n, by default, only the master processor’s output (f04 and f06) is saved. slaveout=yes may be specified on the Nastran submittal command to request the slaves’ output.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 149 Special Topics

Matrix Domain Automated Component Modal Synthesis (MDACMS) MDACMS is an advanced Lanczos solver introduced in MSC Nastran 2005. You can find a detailed discussion in “ACMS Now Available in the Matrix (DOF) Domain” in the MSC Nastran 2005 Release Guide. You can use this feature in a SOL 200 run by specifying the DOMAINSOLVER ACMS (partopt=dof) command. It is available for Analysis=MODES and/or =MFREQ and both serial and parallel processing are supported. A parallel run is activated when DMP = n and n > 1. This feature has been tested with an NVH optimization task with a 4.2M dofs, for an eigenanalysis up to 300 Hz that produced 1960 modes. Three separate runs were performed. The following plot shows that a parallel (4 processor) MDACMS SOL 200 job achieves more than 6 times speedup relative to a Geometric Domain ACMS (GDACMS); DOMAINSOLVER ACMS (partopt = grid) SOL 200 run (reduced time from 37 hours to 6 hours) while the serial MDACMS SOL 200 run reduces to 14 Hrs for a 2.5 times speedup. It was not possible to execute this problem at all without the use of some type of advanced numerical technique.

Main Index

150 Design Sensitivity and Optimization User’s Guide Special Topics

MDACMS vs. GDACMS in SOL200 40

Elapsed Time (Hour)

35 30 25 20 15

37 32

10

14

5

14 6

0 GDACMS One Design Cycle

MDACMS(S)

5

MDACMS(P)

One FE Analysis

Special Considerations When Designing One-Dimensional Bending Elements The seemingly simple BAR and BEAM straight 1-D bending elements in MSC Nastran have some special behaviors that need to be pointed out if they are to be effectively designed. To begin, there are four property types that are associated with these elements: 1. The PBAR defines basic bending properties of a CBAR element. 2. The PBARL defines dimensions of MSC supplied or user-supplied section types for the CBAR element. 3. The PBEAM defines bending properties for a more complete 1-D element in that it allows definition of the shear center, the neutral axis, center of gravity, warping and taper. The PBEAM property entry is referenced by the CBEAM. The taper, in particular, makes the design of the PBEAM somewhat complicated, although MSC has greatly simplified the design model requirements for the PBEAM in recent releases.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 151 Special Topics

4. The PBEAML defines dimension of MSC provided or user-supplied section types for the CBEAM element. The availability of these libraries greatly simplifies the data preparation required from the user. All of the features of the PBEAM, including taper, are available with the PBEAML. For all of the discussion of this section, the design is assumed to be performed using the PNAME option for the fifth field of the DVPREL1 and DVPREL2 entries. The alternative specification of an FID or and EPT location is deemed obsolete. PBAR The design of the PBAR is straightforward. Typically, the user’s design variables are cross-sectional dimensions, necessitating the use of type-2 properties in specifying the properties as a function of the design variables. The following considerations can be mentioned when designing PBARs: • Only use type-2 properties when they are needed. This is because each type-2 property is treated

as an additional design variable in the design sensitivity process (this is discussed in Internal Representation of the Sensitivity Coefficients in MSC Nastran on pp. 53-54). This places a performance and numerical accuracy burden on the sensitivity analysis. • Keep in mind that changing a beam dimension affects not only the standard properties such as

area and moments of inertia, but also the stress recovery locations as well. These latter properties are typically linear in the cross section dimensions and can therefore be designed using the DVPREL1 entry. The generality of the PBAR makes it possible to make assumptions about the relationships among the section properties. One could postulate, for example, a thin-walled beam where, to a first approximation, all the properties are linear in terms of the wall thickness. Alternatively, one could select the area of the beam as the design variable and then specify that the bending moment of inertia is proportional to the square root of the area. PBARL The design of the PBARL is the easiest from the user’s point of view. Typically, the user specifies designed beam dimensions as linear functions of the design variables (nonlinear functions of beam dimensions with respect to the design variables are not permitted) and the rest of the design is performed by the beam library. Adding Your Own Beam Cross-Section Library describes how you can add your own beam cross section types and it provides insight into the operations that must occur to cause a change in the beam dimension to be reflected in the beam properties. Briefly, MSC Nastran determines which properties of the beam cross section are affected by each design variable and constructs what are referred to as “spawned” design properties to be used in the design. These are properties that have not been explicitly designed by the user, but can be inferred from the property/dimension relationship. A determination is made if this property/dimension relationship is linear or nonlinear so as to use the less expensive and more exact linear relationship when it is valid. A drawback of using the PBARL is that it can produce more designed properties than may be necessary for the design task at hand. For example, the torsional stiffness of the BAR may have no effect on the response of the structure and a user might not include its design when a PBAR is used. The PBARL will always design this property if it is affected by a designed dimension. Perhaps a better example of this is

Main Index

152 Design Sensitivity and Optimization User’s Guide Special Topics

that stress recovery locations that are affected by a designed PBARL dimension are always designed while a user may find it necessary only to define one or two of these points. In most cases, the design of these extra properties is not a large concern, but it does become an issue when hundreds of PBARL’s are being designed in a large finite element model. PBEAM The design of the PBEAM is complicated by the possibility that the beam can be tapered. The original requirements for designing the PBEAM were quite involved and non-intuitive, but MSC has simplified these requirements so that the design of constant section PBEAMs follows the same basic procedures as those for the PBAR. Older documentation that refers to the need to, for example, design both ends of a constant section beam is now obsolete and is superseded by this document. When designing a tapered beam property, the station is identified in parenthesis. As examples, specifying A(A) or A on a DVPREL1 or DVPREL2 entry indicates that area of end A of the beam is to be designed, I1(B) indicates that the plane-1 inertia at end B is to be designed while D2(6) indicates that the z-location at the D stress recovery point for the 6th station is being designed. As mentioned, the design of constant section beams is now quite similar to that for the PBAR. It should be kept in mind that the user input for the PBEAM is used to determine whether a beam can be tapered. If only END A data are provided on the PBEAM entry, the beam is regarded as constant section and only END A properties can be designed. Similarly, if END B or other station data are provided on the PBEAM entry, the beam is regarded as tapered and care must be taken to explicitly design each property that is expected to vary. As a final comment, if the PBEAM contains specification of SO and X/XB for END B and other stations but blank fields are used to specify the properties, the beam is still regarded as a constant section. This input can be used when it is desired to obtain stress output for a constant section beam at an intermediate station. PBEAML The design of the PBEAML is much simpler than that of the PBEAM in that it is only necessary to indicate which beam dimensions are to be changed and the beam library performs the remainder of the design task. Adding Your Own Beam Cross-Section Library can provide insight into how this design occurs. As with the PBARL, it should be kept in mind that all the properties that are affected by the designed dimension will be designed as well, regardless for whether the user feels this is important. For example, the DIM3 dimension that specifies the height of an “H” type element affects the C1,D1,E1 and F1 stress data recovery locations in a linear way and the A,I1,I2,J,K1,K2,CWA and CWB in a nonlinear fashion. It is likely that some of these properties are not important in the design or perhaps the stress recovery points are redundant, but they will be designed in any case. Again, this is not a significant issue unless the models are large with many designed PBEAML entries. The PBEAML can be tapered and it is the PBEAML entry that governs whether the beam is permitted to taper. Like the PBEAM entry, if the PBEAML provides data at END B and/or other intermediate stations, it is considered tapered. If there is only END A data, the beam is considered constant section and only END A dimensions can be specified on DVPRELi entries. If the PBEAML is tapered, only dimensions explicitly invoked on DVPRELi entries will be designed. One distinction between the PBEAM and PBEAML is with regard to taper. As mentioned above, the PBEAM is considered a constant section if

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 153 Special Topics

the only inputs at END B and/or intermediate stations are SO and X/XB. For the PBEAML, if any input (including SO and X/XB) is provided at END B or an intermediate station, the beam is considered tapered.

MultiOpt Introduction The MultiOpt (Multiple Model Optimization) program was created in order to combine two or more related optimization tasks into a single combined optimization task. This enables support for the ability to perform design optimization when the design conditions are produced by two or more MSC Nastran design models. The MultiOpt application initiates servers that start the processing of the separate design models up to the point where the optimization is to occur. At this point, a new server is invoked to merge the design information, perform the optimization and partition the results. The servers running the individual models are then 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 Figure 2-31.

Main Index

154 Design Sensitivity and Optimization User’s Guide Special Topics

Initial Design

Model 1

Model 2

Structural Analysis

Structural Analysis Check Convergence

Sensitivity Analysis

Sensitivity Analysis

Merge Approximate Models

Improved Design

Partition Constraints/Responses

Approximate Optimization

Figure 2-31 The boxes ‘Merge Approximate Models’, ‘Approximate Optimization’, and ‘Partition Constraints/Responses’ are driven by a subDMAP that is invoked by a MutiOpt created input deck ‘MERGE.dat’ (i.e, the user does not need to create or even know about this deck). Benefits The ability to merge multiple design models allows the user to have separate models that differ in their topology or in their analyses but still perform a combined optimization. One scenario might be if different variants of an aircraft share a common wing design but have different fuselages (standard and stretch configurations). It would be difficult to design this with the standard version of SOL 200, but it is readily achievable with this capability. Another scenario is one where a detailed model of a component is available and can be used to match analysis data with test results. At the same time, a less detailed model of the same component is included in a global model that is being used to perform optimization with global constraints, such as flutter speed. MultiOpt can be used in this case to perform both optimizations simultaneously and thereby maintain a common design.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 155 Special Topics

Input The process of combining the models and performing the optimization is performed by a MSC.Toolkit application referred to as MultiOpt (Multiple Optimization). The user can combine up to five separate design models using this process. 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: 1. A DESMOD Case Control command (see below) 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 2. 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. 3. 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. Invoking MultiOpt

The most basic way to invoke MultiOpt is using a command line of the following form: MultiOpt nastran n deck1.dat … deckn.dat coef c1 c2 ..cn mem m1 m2..scr=sopt [options] A more flexible form of the input, which supports all of the previous features, and also allows for running jobs in parallel across different machines is: Multiopt file.xml Where file.xml is of the form:

Main Index

156 Design Sensitivity and Optimization User’s Guide Special Topics

where:

Option

Main Index

Description

nastran

A name to invoke the relevant Nastran executable (e.g., /nast/bin/nast2008)

N

Number of models to be merged (1 < n < 6)

Jobname=

For the xml form, indicates the subsequent data is a job name

deck1.dat

Name of the first input data model

deckn.dat

Name of the nth input data model

coef

A flag to indicate the following input is objective weighting coefficients

coef=

For the xml form, indicates the subsequent data is a coefficient for this model

c1

Coefficient that provides the objective weighting for the first model (Default = 1.0)

c2

Coefficient that provides the objective weighting for the second model (Default = 0.0)

Cn

Coefficient that provides the objective weighting for the nth model (Default = 0.0)

Mem

A flag to indicate the following input are memory requests for the individual models. If this flag is not used all models require the same amount of memory.

Mem=

For the xml form, indicates the subsequent data is a memory request for this model

m1

Memory for the first model and also for the merge operation in the basic MultiOpt invoking

m2

Memory for the second model

mn

Memory for the nth model

Mm

Memory for the merge operation

Node=“platform”

For the xml form, indicates the this job is to be run on the indicated computer. Default is to run on the local platform

Blocking=“bopt”

For the xml form, indicates whether that job is to be run in parallel or serially. Blocking =yes (Default) runs the job serially while blocking=no enables running the job in parallel.

Scr=“sopt”

Option for scr=yes or no. Scr=yes is recommended.

args=“value”

Any command line option of the form args=value that is a valid Nastran command line option.

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 157 Special Topics

Note:

The user is required to specifically identify the directory where the executable resides. This would be something like /nast/bin/nast2000t1. This limitation is due to the fact that the MultiOpt has been written using FORTRAN and the utilities required for embedding the Nastran path within the manager have not been identified.

Combining the Objectives

Combining objectives from several models relies on a DRESP2 that has to be constructed with some specific rules: 1. The DRESP2 must have a “DTABLE” with nmod (the number of models) LABLi values. The value specified for the first LABL1 must be 1.0 and the subsequent LABLi values must be zero. In this way, the objective of the first model is simply the first response. 2. 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 DEQATN that corresponds to the DRESP2 performs a linear addition of the responses: COBJ =

 C i  OBJ

Any other form for specifying the combined response will produce unpredictable results. If no combining of objectives is desired, the COEF flag can be omitted from the input or, if COEF is specified, c1 must be 1.0 and c2,c3..cn must be 0.0. Output 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. The toolkit application scrolls .log information to the screen while the process so that no .log files are produced. The process generates a “debug” file named multiopt.log that may be of some benefit in showing the problem when the process breaks down. Example This section provides details on one of these that is both simple and exercises many of the developed features. The example is based on the tpl deck dsoug1.dat and is the classic three bar truss example. The MulitOpt version is located in the ??? directory. The dsoug1.dat example has two subcases. For purposes of this demonstration, the deck has been divided into two separate models, each with a single subcase. The first deck is named cobj and contains the design model as it is in dsoug1 and applies only the second subcase. Also, the DLINK entry has been removed (this was for the purposes of the test and not a requirement). The second deck is called sub2d and applies the first load case and also removes the second DESVAR (and therefore the design of the vertical truss) from the design task. In another difference from the dsoug1.dat deck, the cobj deck has a DESOBJ that points to a DRESP2 that is to be used to combine the two weight objectives from the separate models. (This is a contrived objective that demonstrates how

Main Index

158 Design Sensitivity and Optimization User’s Guide Special Topics

to combine objectives but does not have any physical meaning). The following listing shows portions of the input stream for cobj.dat with the items of interest to this capability highlighted in bold italics. ID MSC, D200X1 $ V68 G_MOORE 24-MAR-1994 TIME 10 $ diag 8,15 $ SOL 200 $ OPTIMIZATION CEND TITLE = SYMMETRIC THREE BAR TRUSS DESIGN OPTIMIZATION D200X1 SUBTITLE = BASELINE - 2 CROSS SECTIONAL AREAS AS DESIGN VARIABLES label = this run only contains the second subcase of test deck d200x1 $ it is run in conjunction with sub2d.dat ECHO = SORT SPC = 100 dsaprt=all DISP(plot) = ALL STRESS(plot) = ALL DESOBJ(MIN) = 200 $ (DESIGN OBJECTIVE = DRESP2 ID) DESMOD=SUB1 DESSUB = 21 $ DEFINE CONSTRAINT SET FOR BOTH SUBCASES ANALYSIS = STATICS SUBCASE 2 LABEL = LOAD CONDITION 2 LOAD = 310 BEGIN BULK $...DESIGN VARIABLE DEFINITION $DESVAR,ID, LABEL, XINIT, XLB, XUB, DELXV(OPTIONAL) DESVAR, 1, A1, 1.0, 0.1, 100.0 DESVAR, 2, A2, 2.0, 0.1, 100.0 DESVAR, 3, A3, 1.0, 0.1, 100.0 $ $...DEFINITION OF DESIGN VARIABLE TO ANALYSIS MODEL PARAMETER RELATIONS $DVPREL1,ID, TYPE, PID, FID, PMIN, PMAX, C0, , $+, DVID1, COEF1, DVID2, COEF2, ... DVPREL1 10 PROD 11 4 0.0 +DP1, 1, 1.0 DVPREL1,20, PROD, 12, 4, , , , , +DP2, 2, 1.0 DVPREL1,30, PROD, 13, 4, , , , , +DP3, 3, 1.0 $...STRUCTURAL RESPONSE IDENTIFICATION $DRESP1,ID, LABEL, RTYPE, PTYPE, REGION, ATTA, ATTB, ATT1, $+, ATT2, ... DRESP1, 20, W , WEIGHT DRESP1, 21, U4, DISP , , , 1, , 4 DRESP1, 22, V4, DISP , , , 2, , 4 DRESP1, 23, S1, STRESS, PROD, , 2, , 11 DRESP1, 24, S2, STRESS, PROD, , 2, , 12 DRESP1, 25, S3, STRESS, PROD, , 2, , 13 dresp2 200 cobj 200 dtable coef1 cdum2 dresp1 20 21 dtable coef1 1.0 cdum2 0.0 deqatn 200 cobj(c1,cdum2,obj1,odum2) = c1 * obj1 + cdum2 * odum2 $ ENDDATA

+ +DP1 +DP2 +DP3 +

The DESVAR/DVPREL1 Bulk Data entries set up design variables for each of the three rod elements in this case. The DESMOD=SUB1 identifies design model as SUB1. The DESOBJ = 200 points to the

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 159 Special Topics

DRESP2 that is shown at the bottom of the extracted data. It is seen that the objective is perceived as being the weighted sum of a DRESP1 that is the weight response plus a DRESP1 that is a displacement response. Since the weighting terms are 1.0 and 0.0, the objective for this model is actually the weight of the model, but this sets up the combined objective for the merged model. The second model is input from the sub2d.dat input and has a different loading condition and a different (i.e., DESMOD=SUB2) DESMOD value and a different design model from COBJ. A portion of this input deck is listed here: TIME 10 $ diag 8,15 $ SOL 200 $ OPTIMIZATION CEND TITLE = SYMMETRIC THREE BAR TRUSS DESIGN OPTIMIZATION D200X1 SUBTITLE = BASELINE - 2 CROSS SECTIONAL AREAS AS DESIGN VARIABLES label = this run contains subcase 1 of d200x1 ECHO = SORT SPC = 100 DISP(plot) = ALL STRESS(plot) = ALL DESOBJ(MIN) = 20 $ (DESIGN OBJECTIVE = DRESP1 ID) DESSUB = 21 $ DEFINE CONSTRAINT SET desmod = SUB2 ANALYSIS = STATICS SUBCASE 1 LABEL = LOAD CONDITION 1 LOAD = 300 BEGIN BULK $ $...DESIGN VARIABLE DEFINITION $DESVAR,ID, LABEL, XINIT, XLB, XUB, DELXV(OPTIONAL) DESVAR, 1, A1, 1.0, 0.1, 100.0 DESVAR, 3, A3, 1.0, 0.1, 100.0 $ $...DEFINITION OF DESIGN VARIABLE TO ANALYSIS MODEL PARAMETER RELATIONS $DVPREL1,ID, TYPE, PID, FID, PMIN, PMAX, C0, , + $+, DVID1, COEF1, DVID2, COEF2, ... DVPREL1 10 PROD 11 4 0.0 +DP1 +DP1, 1, 1.0 DVPREL1,30, PROD, 13, 4, , , , , +DP3 +DP3, 3, 1.0 $ $...STRUCTURAL RESPONSE IDENTIFICATION $DRESP1,ID, LABEL, RTYPE, PTYPE, REGION, ATTA, ATTB, ATT1, + $+, ATT2, ... DRESP1, 20, W , WEIGHT $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ ENDDATA

In this case, only two design variables are defined so that the vertical member of the three bar truss is not being designed. The objective is simply the weight in this case. The command line for submitting this job is of the form: MultiOpt /nast/bin/nast2008 2 cobj sub2d coef 1.0 0.5 scr=yes

Main Index

160 Design Sensitivity and Optimization User’s Guide Special Topics

The coef 1.0 0.5 replaces the DTABLE terms of the cobj.dat shown above so that the combined objective is all of the weight of the first model plus half the weight of the second. Again, this is a contrived objective with no particular physical meaning. Performing this task results in three .f06 files: cobj.f06, sub2d.f06 and merge.f06. The first two contain the results from exercising the individual models and each has a final design optimization history. The final design achieved by this process is not intuitive in that the vertical rod in the cobj model is at its minimum gage and the two angled rods do not have the same value. An inspection of the optimization behavior in the third .f06 file produced by this process, merge.f06, provides assurance that the numbers used in the optimization are correct and that therefore the final result is credible. Guidelines and Limitations It is necessary to impose some ground rules/limitations on the users to insure that the combining of models is well posed. These include: 1. Each model must have a unique DESMOD Case Control command. 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 in that it the separate models must have the same topology. 6. Topology optimization is not supported. 7. It is expected that running multiple models with MultiOpt will consume more cpu time than if the identical task could be carried out within a single model. This is primarily due to the overhead of merging and partitioning data from the separate models and this cost is not expected to be large. 8. Up to five separate models can be merged. 9. If the xml form of the input file is used, the separate jobs can be a. Run on separate platforms b. Have a separate memory request c. Be run serially or in parallel 10. 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. 11. The process has been demonstrated on aix and linux 64 bit machines and Windows.

Main Index

Chapter 2: Fundamentals of Design Sensitivity and Optimization in MSC Nastran 161 Special Topics

Documentation Dependencies Using Multiopt in the MSC Nastran Installation and Operations Guide has information on invoking the MultiOpt Utility. More information on the DESMOD Case Control command can be found in DESMOD (p. 260) in the MSC Nastran Quick Reference Guide.

ARBITRARY BEAM CROSS SECTION Arbitrary beam cross-section, ABCS, capability has been implemented via Bulk Data entries, PBRSECT and PBMSECT. There are three FORMs to describe arbitrary beam cross section with PBMSECT/PBRSECT, namely GS, CP and OP. For design optimization analysis, data items from PBRSECT and PBMSECT entries can be referenced by the design variable property relation entries, DVPREL1/DVPREL2. Data items that can be considered as design variables in the design optimization analysis include: • Overall Width - input W for PNAME field of DVPREL1/2. Overall width is computed as

X1max-X1min. Both X1max and X1min are obtained by examining X1 field of all POINT entries referenced by a PBMSECT/PBRSECT. This data item is available for GS, CP, and OP. • Overall Height - input H for PNAME field of DVPREL1/2. Overall width is computed as

X2max-X2min. Both X2max and X2min are obtained by examining X2 field of all POINT entries referenced by a PBMSECT/PBRSECT. This data item is available for GS, CP, and OP. • Segment Thickness - input T or T(id) for PNAME field of DVPREL1/2. This data item is

available only for CP and OP. Following response types can be utilized for design constraints, • RTYPE=STRESS for regular stress recovery points of BAR and BEAM element, namely C, D,

E and F. Note that the coordinates of the stress recovery points are selected by internal logic which pick POINTs with extreme coordinates. Use item code for CBAR(34) and CBEAM(2). • RTYPE=ABSTRESS for screened BAR/BEAM element stresses. ABSTRESS is computed only

for BAR and BEAM elements referencing PBRSECT and PBMSECT, respectively. Use item code for CBAR(238) and CBEAM(239). Guidelines and limitations: • New PBRSECT, PBMSECT, and POINT entries can be punched after each design cycle. Note that connecting overall-Width and/or overall-Height to design variables has the effect of changing the location of POINTs defining an ABCS, even though POINT itself can't be linked directly to design variable. • FEM is utilized to compute cross sectional properties of ABCS. During internal iterations of

optimizer, FEM solution process is used repeatedly to compute properties of new designs. The cost (CPU time spent) of optimizer for a job with ABCS as design variables can become prohibitively high. To alleviate the cost concern, 'PARAM,DV3PASS' can be utilized to control the frequency of re-evaluation of sensitivity coefficients of ABCS sectional properties. • Current implementation of optimization does not support composite ABCS via

'PARAM,ARBMSTYP,TIMOSHEN(or TIMOFORC)'.

Main Index

162 Design Sensitivity and Optimization User’s Guide Special Topics

Main Index

Chapter 3: Developing the Design Model for Sensitivity and Optimization Design Sensitivity and Optimization User’s Guide

3

Main Index

Developing the Design Model for Sensitivity and Optimization 

Overview of Design Modeling

Case Control for Design Optimization

Defining the Design Variables

Relating Design Variables to Properties

Designating the Design Responses

Defining the Objective Function

Defining the Constraints

184

165 166

168

182

174

171

164 Design Sensitivity and Optimization User’s Guide

The previous chapter provided an in-depth description of how Design Sensitivity and Optimization has been implemented within the MSC Nastran product. A key concept in that description was that of the design model (The Design Model). The design model is simply a formal statement of allowable changes that can be made to a structure during the search for an optimal design. It also places limits on these allowable changes, and defines limits on the structural responses. Constructing the design model requires good engineering judgment if the design results are to be of any practical use. The essential features of the design model are that it must • Define the design variables that may be modified. • Describe the relationship between the design variables and the analysis model properties and/or

grid locations (for shape optimal design). • Identify and/or develop responses that are to be used in the design. • Define the objective function, which provides a scalar measure of design quality. • Place bounds (constraints) limiting the design responses to an acceptable range.

This chapter describes each of these features in greater detail, with reference to the text user interface that is used to define the design model. In connection with this chapter, you will want to refer to Input Data that explains the text interface in detail and Example Problems. The examples in Chapter 7 should all be available on your system. Running some of these in connection with the following discussions is a good way to begin to discover the many design modeling options available to you in MSC Nastran.

Main Index

Chapter 3: Developing the Design Model for Sensitivity and Optimization 165 Overview of Design Modeling

Overview of Design Modeling Given the wide range of problem types that may be addressed using design sensitivity and optimization, the process of generating a design model is hardly a rote or mechanical operation. However, most of the operations are sufficiently similar that one might generate a flowchart outlining the design modeling process as follows: Define the analysis disciplines to be used for Design Optimization (Executive Control: SOL 200; Case Control: ANALYSIS = )

Define the design variables (Bulk Data: DESVAR, DLINK, DDVAL)

Relate the design variables to allowable structural variations: for properties (Bulk Data: DVPREL1, DVPREL2, DVMREL1, DVMREL2, DVCREL1, DVCREL2) for shape (Bulk Data: DVGRID, DVBSHAP, DVSHAP, BNDGRID)

Define the design responses (Bulk Data: DRESP1, DRESP2, DRESP3)

Define the objective (Case Control: DESOBJ) and the constraints (Bulk Data: DCONSTR, DCONADD; Case Control: DESGLB, DESSUB, DRSPAN)

Provide any necessary parameter overrides and constraint values (Bulk Data: DOPTPRM, DSCREEN, DTABLE) Figure 3-1

Design Modeling Process

The following sections discuss each of these items in greater detail.

Main Index

166 Design Sensitivity and Optimization User’s Guide Case Control for Design Optimization

Case Control for Design Optimization Case Control commands in MSC Nastran provide the overall direction for the analysis to be carried out as well as the data recovery operations to be performed. In this context, a powerful feature of design sensitivity and optimization in MSC Nastran is that you can specify that a structure be subjected to a number of different analysis types for a number of various load conditions. The optimizer will consider the results of all of these analyses simultaneously when proposing an improved design. This approach is often described as multidisciplinary design optimization. As an example, you may have a component that is subjected to two static loading conditions. The component must also satisfy requirements on natural frequency bounds as determined from a modal analysis. Further, the structure might also be subjected to transient loading conditions for which peak displacement responses might be of concern. We can quite easily introduce these different analysis types in Solution 200 (the solution sequence for design optimization) with the following Case Control packet: SOL 200 cend spc = 100 DESOBJ(MIN) = 15 ANALYSIS = STATICS subcase 1 DESSUB = 10 displacement = all stress = all load = 1 subcase 2 DESSUB = 20 displacement = all strain(fiber) = all load = 2 subcase 3 ANALYSIS = MODES DESSUB = 30 method = 3 subcase 4 ANALYSIS = MTRAN DESSUB = 40 method = 4 dload = 4 tstep = 10 begin bulk

Note some of the features in this example:

Main Index

SOL 200

This is an Executive command indicating Solution 200, the solution sequence for design sensitivity and optimization, is to be invoked.

ANALYSIS

This Case Control command indicates the analysis discipline to be used for a particular subcase (if appearing above a subcase level, all subsequent subcases assume the same ANALYSIS command until changed). ANALYSIS may assume any of the following values: STATICS

Statics

MODES

Normal Modes

Chapter 3: Developing the Design Model for Sensitivity and Optimization 167 Case Control for Design Optimization

BUCK

Buckling

DCEIG

Direct complex eigenanalysis

DFREQ

Direct Frequency

MCEIG

Modal complex eigneanalysis

MFREQ

Modal Frequency

MTRAN

Modal Transient

SAERO

Steady Aeroelastic

FLUTTER

Flutter

DESOBJ

Selects the design objective from a response defined in Bulk Data with DRESP1, DRESP2 or DRESP3.

DESSUB

Selects constraints to be applied at a particular subcase level from a DCONSTR or DCONADD set defined in Bulk Data.

Case Control Output Requests in Design Optimization In addition to the analysis-related Case Control commands, output requests might also appear, such as: displacement= all strain(fiber)= all In general, case control requests are for data recovery only; and are unnecessary for design optimization. All necessary data recovery is automatically performed based on the design responses identified in the Bulk Data (identifying the responses is discussed in Designating the Design Responses). You do not need to explicitly request this data recovery unless you want to view the results. There are some special cases however that you need to know about where output options do play a role in specifying design responses: • If various output forms are possible (e.g., strain(strcur) or strain(fiber)), design optimization will

use the defaults unless a Case Control request to the contrary is provided. To use the STRAIN example, STRAIN(STRCUR) representation is the default. If STRAIN(FIBER) is provided, data recovery and design optimization responses are both computed using this form. Two other instances like this are the VONMISES vs. MAXS option on the STRESS/STRAIN commands and the (REAL or IMAG) vs. PHASE option of many case control commands in a Dynamic Response analysis. Defaults are listed in the MSC Nastran Quick Reference Guide. • Shape optimization and superelement optimization each have some additional Case Control considerations beyond those related to data recovery. Design Variables in Superelement Design Modeling discusses the Case Control structure for superelement design models. In addition, Example Problems includes examples of both, shape and superelement optimization.

Main Index

168 Design Sensitivity and Optimization User’s Guide Defining the Design Variables

Defining the Design Variables In design optimization, design variables are the quantities that are modified by the optimizer during the search for an improved design. In design sensitivity analysis, rates of change of responses are computed with respect to the design variables. Defining the design variables is part of the design modeling task of the engineer. Once defined, the design variables may be used to • Describe analysis model property variations. • Define shape variations. • Add additional terms to the design task that are not explicitly related to the finite element

analysis. This third category allows you to stretch your imagination when applying Design Optimization in MSC Nastran. The availability of type-2 and type-3 responses allows you to consider design conditions that are not directly related to the finite element analysis. Although you probably do not want to optimize text book mathematical programming tasks using MSC Nastran, it is not outside the range of possibility. On a more realistic note, the example of Acoustic Optimization uses an added design variable in a novel way to minimize the maximum acoustic pressure in the analysis. As the optimizer changes the design variables, it does not “know” it is changing a structural model-it is only performing a mathematical search. It is the design engineer who has defined exactly how the structure will change. For example, a single design variable might have been used to describe a number of bar cross-sectional areas, several plate element thicknesses as well as a fillet radius. As the optimizer changes this single variable, the entire structure changes! Expressing allowable structural variations with an economy of design variables is part of the challenge of design modeling. A Design Variable is defined with a DESVAR Bulk Data entry. From the Bulk Data listings in Input Data, notice that the DESVAR entry provides an ID, an initial value for the variable, bounds (or side constraints), an optional move limit for the approximate optimization and, for discrete variable optimization, a pointer to a list of discrete values the design variable can assume. The bounds limit the region of search with respect to each variable as L

U

(3-1)

xi  xi  xi

The optimizer will never propose a design that violates these bounds. The following DESVAR entries define a pair of variables x 10 and x 11 with initial values of 0.05 and 0.03, respectively. $DESVAR ID LABEL, XINIT, $ DESVAR, 10, AREA1, 0.05, DESVAR, 11, THICK1, 0.03, $

XLB, 0.01, 0.01,

XUB, DELXV, DDVAL 0.1, 0.2 0.08

The label fields are strictly to help you in characterizing the variable and you have complete freedom in the name you specify for the variable. In this case, we can assume these design variables will be used to

Main Index

Chapter 3: Developing the Design Model for Sensitivity and Optimization 169 Defining the Design Variables

define an area and a thickness, although the DESVAR entry does not actually provide these relations (this is up to the DVPREL1 and DVPREL2 entries). Bounds have also been defined as 0.01  x 10  0.1

(3-2)

0.01  x 11  0.08

The DELXV field, which is 0.2 for the AREA1, limits the amount this design variable can change during an optimization cycle by 20%. The THICK1 variable has this field blank so the move limit for this second variable is the value of the DELX parameter you can provide as a default for all of the variables on the DOPTPRM entry. If you don’t specify the DELX parameter either, the default move limit is 40%. There is one more optional field on the DESVAR entry that enables you to perform a discrete optimization task as explained in Special Topics. This is the DDVAL attribute on the DESVAR entry and the integer value points to a DDVAL Bulk Data entry with this ID. The presence of this integer triggers discrete variable optimization that produces a design with design variable values chosen from the discrete set of real numbers given on the DDVAL entry. The entire set of DESVAR entries can be thought of as defining a vector of design variables or X =  x 1 x 2  x n 

T

(3-3)

The quantity n is often referred to as the dimension of the design space. The greater the dimension the more complicated the optimization task. The optimizer’s task is to find the best configuration for these variables. A question that comes up frequently is: How many design variables can MSC Nastran handle in a design task? There is no single answer for this question. The MSC Nastran code is written to avoid fixed limits and the design sensitivity and optimization capability is no exception to this. Further, the answer depends on the computer resources you have available, your tolerance for expending these resources and your time waiting for the results and also on the type of problem you are trying to solve. Given all that, it is still useful to provide a guideline. Problems with up to a thousand design variables are considered routine in MSC Nastran while problems that have several thousand variables can be considered extreme. In cases where the design task is “easy,” (i.e., find the set of design variables that minimizes the weight while satisfying a single displacement limit), it’s possible to consider upwards of 10,000 variables. The above paragraph refers to the MSCADS algorithms that are included as part of the design optimization module. If the design task has several thousand design variables, we recommend that the IPOPT algorithm be used. The main purpose for this IPOPT is to perform topology optimization, however, the IPOPT optimization algorithm can be used for other design tasks with up to one million design variables. Design Variables and the Finite Element Model Recall that the problem we are trying to solve is defined by the basic optimization problem statement of Equation (1-1) through Equation (1-5). Note that the design objective and constraint functions are expressed as functions of design variables. How is this the case in structural optimization?

Main Index

170 Design Sensitivity and Optimization User’s Guide Defining the Design Variables

Assume that we are interested in minimizing the total structural mass for a particular mechanical component. This will be our objective function. We know that the mass is a function of the properties used to describe the component as well as its shape. This can be expressed as M = M  P G 

(3-4)

where the vector P is the collection of properties that describe the model and the vector G is the collection of grid point coordinates. In the next sections, we will show how the properties and shape of the structure can be expressed as functions of design variables or P = PX G = GX

(3-5)

By direct substitution of (3-5) into (3-4), M = M  P  X  G  X  

(3-6)

or simply, M = MX

(3-7)

To summarize, as the optimizer changes the design variables, the analysis model properties and shape will also change as defined by the design model. The modified properties and shape result in changes to the computed responses that we have used to define the objective and constraint functions. Based on the modified objective and constraints, the optimizer can measure the amount of design improvement. Topology Design Variables The discussion in this section has been terms of the DESVAR Bulk Data entry that is used in standard design optimization. For topology optimization, there typically is a design variable for every finite element and it would be impractical to ask the user to define each of these individually. Instead, a TOPVAR Bulk Data entry is used as described in TOPVAR. This entry identifies a property ID that can be associated with many finite elements. In this case, design variables are created internally for each of these elements. The initial values and upper and lower bounds on each of these design variables are obtained from the TOPVAR entry. The density and theYoung’s Modulus of the element are then governed by the relationships shown in Equation (7-1).

Main Index

Chapter 3: Developing the Design Model for Sensitivity and Optimization 171 Relating Design Variables to Properties

Relating Design Variables to Properties For the analysis model to vary as the design variables are changed, its properties and/or its shape must be expressed in terms of the design variables. You need to provide these relations as part of the design model specification. This section discusses analysis model property changes. Relating Design Variables to Shape Changes discusses shape variations. Analysis model properties are defined as those quantities which appear as real numbers on Bulk Data property entries. As discussed in Overview of Fundamentals, three different types of properties are supported for MSC Nastran design sensitivity and optimization: element properties, material properties, and connectivity properties. Element properties are items such as plate thicknesses, area moments of inertia and elastic spring stiffnesses while material properties are, for example, Young’s modulus and Poisson’s ratio. Connectivity properties are on element connectivity entries and include such items as beam offsets and concentrated masses. You can relate design variables to analysis model properties in either of two ways: with linear relations or with MSC Nastran’s equation input capability. A linear relation is described using one of the DVxREL1 (Design Variable-to-Property RELation, type-1) Bulk Data entry, where the x is replaced with a ‘P‘ for element properties, an ‘M’ for material properties and a ‘C‘ for connectivity properties. As a review from The Design Model, linear design variable-to-property relations are of the form pj = Co +

 Ci xi

(3-8)

i

where p j is the j-th property expressed as a linear combination of i design variables. As described as part of the DVPREx1 descriptions (see DVPREL1), a special case is provided for the case when C0 and Ci (i >1) are 0.0 and the user wishes to use the actual property value for C1. In this case, if the term PVAL is used as input for C1, the actual property value is used as the coefficient. An equation, or type-2 relation, is defined using a DVxREL2 Bulk Data entry which references a DEQATN (Design EQuATioN) entry. A property expressed using these relations can be written as p j = f  X C 

(3-9)

where the j-th property is a function of a collection of design variables and constants. The function is defined using a DEQATN Bulk Data entry. The same design variables may appear in either type-1 or type-2 relations. The block diagram of Figure 3-2 may be helpful in understanding the role of the DVPREL1 and DVPREL2 entries in defining

property variations with the DVCREL1, DVMREL1, DVCREL2, and DVMRLE2 entries having a similar structure.

Main Index

172 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Properties

DESVAR

DVPREL1

Analysis Model Properties

DVPREL2

 p1  =  C0  +  C1   x 

Figure 3-2

DTABLE

DEQATN

 p 2  =  f  X C  

Design Variable-to-Property Relations

The DVPREL1 entry defines linear property variations and requires only design variable input. All necessary constants are supplied directly on the entry. On the other hand, the DVPREL2 entry relies on an equation to describe the (generally) nonlinear property variations. This equation may have design variables (DESVAR) as well as table constants (DTABLE) as input. As shown in Figure 3-2, the result is again an analysis model property variation. In design variable-to-property relations, analysis model properties are referenced by property entry, rather than on an element-by-element basis. This relation is shown schematically in Figure 3-3. The property IDs MID1 through MIDm are referenced on the DVMREL1 and DVMREL2 entries. Since each of these property groups may contain a large number of elements (EID1 through EIDn), you can control many elements by using only a small set of DVMREL-type entries. For example, to modify the material density, all that is required is to reference a MAT1 ID on a DVMREL entry. All elements that use that material will then change accordingly.

MATID1

DVMREL1,2

. . .

MATIDm

Figure 3-3

Main Index

Design Model Reference by Property Entry

EID1 EID2 . . .

EIDn

Chapter 3: Developing the Design Model for Sensitivity and Optimization 173 Relating Design Variables to Properties

You must identify a selected property entry item by its name on the property Bulk Data Entry, where the name is given in the description of the entry in the MSC Nastran Quick Reference Guide. For example, the area of a beam on a PBAR has the name A while the thermal expansion coefficient on a MAT1 entry also has the name A. Table 2-1 through Table 2-3 list the available property names. To illustrate both type-1 and type-2 design properties consider the following hypothetical example that calls for designing a plate under the assumption that a change in the thickness of the plate cause a change in a concentrated mass that is used to estimate such things as paint wiring and rivets. Specifically suppose the relation between the mass and stiffness is given as: mass = a 0 + a 1  t 

12

and a 0 and a 1 are 0.1 and 0.5 respectively. The analysis model and the design model can be written as: PSHELL CONM2 $ DESVAR DVPREL1

100 200

10 100 10 DVMREL2 200 DESVAR DTABLE DTABLE A0 DEQATN 40

1 20

0.25 0.35

THICKP 1.0 0.01 10.0 PSHELL 100 T 0.25 CONM2 200 M 10 A0 A1 0.1 A1 0.5 MASS(X,A0,A1) = A0 + A1 * SQRT(X)

It is not necessary to define constants using the DTABLE entry, but this can enhance the readability of the DEQATN when it is used in a large model. Also note that it is not necessary for the value of the designed property be the same as the corresponding analysis value. In the above example, the CONM2 has an M value of 0.35 while the designed M value is 0.1 + .5(1.0)

12

= 0.6

The designed property value always take the precedence over the analysis property. See Special Considerations When Designing One-Dimensional Bending Elements for additional comments on this topic.

Main Index

174 Design Sensitivity and Optimization User’s Guide Designating the Design Responses

Designating the Design Responses Before the objective function and constraints can be defined, the analysis responses on which they depend must be designated. These responses are called design responses and are specified in the design model using DRESP1, DRESP2, and/or DRESP3 Bulk Data entries.

DRESP1 Bulk Data Entries DRESP1 Bulk Data entries define type-1, or first-level responses. These responses are available directly from an MSC Nastran analysis. Structural weight, displacements at grid points, element stresses, and so on, are all examples of type-1 responses. See the DRESP1 Bulk Data entry description for a list of available response types in design optimization. The DRESP1 entries all require input of a response ID, response label, and response type (e.g., WEIGHT) but the remaining data input is response type dependent and this entry is therefore discussed at length in DRESP1.

DRESP2 Bulk Data Entries DRESP2 Bulk Data entries define type-2, or second-level responses. This class of responses is also referred to as “user-defined” or “synthetic” since the DRESP2 utilizes the equation input feature in MSC Nastran in a fashion similar to the of the user defined properties (DVPREL2,DVMREL2 and DVCREL2) discussed in Relating Design Variables to Properties. With the DRESP2 entry and its companion DEQATN entry (Design EQuATioN), responses such as error functions, stress averages, and so on can be defined. First-level responses, design variables, grid coordinate values, table constants, designed properties, and even other second-level responses may all be used as input to these user-defined responses. Figure 3-4 is a diagram of the DRESP1 and DRESP2 data structure.

Main Index

Chapter 3: Developing the Design Model for Sensitivity and Optimization 175 Designating the Design Responses

DESVAR DTABLE DNODE DVPREL1 DVCREL1 DVMREL1 DVPREL2 DVCREL2 DVMREL2

Analysis Results

DEQATN

DRESP1

Figure 3-4

DRESP2

Second-Level Responses

The DRESP2 entry has a number of features you need to understand to make the most effective use of this powerful tool. DRESP2 provides a more in-depth discussion, but it is noted for now that one option available on the DRESP2 entry is to invoke a standard type of operation that does not require a DEQATN. For example, the SSQ option automatically performs a sum of squares operation on the DRESP2 arguments. NTERMS

SSQ =

2

 XITEM  i

i =1

Therefore, you do not need to develop a DEQATN that performs this routine, but potentially lengthy, summation. Other available standard options are discussed in Table 4-4. To illustrate the difference between DRESP1 and DRESP2 entries, suppose we have a case where we want to use the x and y static displacement components at a particular grid point as design responses in our design model. These first-level responses can be identified using two DRESP1 entries as follows: $DRESP1,ID, LABEL, RTYPE, PTYPE, $+, ATT2, ... $ $... X DISPLACEMENT AT GRID 100: DRESP1, 501, UX100, DISP, , $... Y DISPLACEMENT AT GRID 100: DRESP1, 502, UY100, DISP, ,

REGION, ATTA,

ATTB,

ATT1,

,

1,

,

100

,

2,

,

100

+

DRESP1 501 selects the x-component of displacement at Grid 100, and DRESP1 502 selects the corresponding y-component. These displacements may also be used in a synthetic relation. For example,

Main Index

176 Design Sensitivity and Optimization User’s Guide Designating the Design Responses

to express the total x-y plane displacement at Grid 100 as the square root of the sum of displacement squares we could use: $ $... DEFINITION OF EQUATION DEQATN 510 U( UX, UY ) = SQRT( UX**2 + UY**2 ) $ $... SYNTHETIC RESPONSE: DRESP2, 520, U, 510, , , , +, DRESP1, 501, 502 $

,

,

+

The equation data is supplied on the DEQATN entry, while the DRESP2 entry defines the arguments to this equation. In this case the arguments are the two first-level responses DRESP1 501 and 502. DRESP2 520 can now be used as the objective function or invoked by a constraint. A standard function can also be used in this case so that the input would be simply: $... SYNTHETIC RESPONSE DRESP2 520 U RSS DRESP1 501 502

Efficient Definition of Responses Since a large number of responses are often used in design, the DRESP1 entry must be able to efficiently define many responses using few entries. For example, a single DRESP1 entry can identify the zcomponent of displacement at grid points 100, 101, and 102 as follows: $DRESP1,ID, $+, ATT2, $ DRESP1, 100, +, 101,

LABEL, ...

RTYPE,

PTYPE,

REGION, ATTA,

ATTB,

ATT1,

+

UZ, 102

DISP,

,

,

,

100,

+

3,

This list can be extended as necessary to any number of grids. A THRU option is not supported, however. Element-level responses can be selected using either element IDs (much like the list of grids in the previous example), or property IDs. By supplying a property ID on a DRESP1 entry, we identify the element-level response for every element in that property group. For example, the following selects the axial stress response (the axial response is selected using a stress item code as explained in STRESS) for all ROD elements in property groups 150, 160, 170 and 180: $DRESP1,ID, $+, ATT2, $ DRESP1, 250, +, 160,

LABEL, ...

RTYPE,

PTYPE,

SIG1, 170,

STRESS, PROD, 180

REGION, ATTA,

ATTB,

ATT1,

+

,

,

150,

+

2,

This can generate quite a lot of design data. Figure 3-5 is a schematic diagram of this hierarchy. If limits are subsequently placed on these responses using a DCONSTR entry (discussed in Defining the Constraints), the result will be a pair of stress constraints (one for the upper bound and one for the lower

Main Index

Chapter 3: Developing the Design Model for Sensitivity and Optimization 177 Designating the Design Responses

bound) for every element in each of these property groups. When it is further considered that this constraint may be selected by multiple subcases, it is seen that just a pair of entries can possibly define hundreds of stress constraints. EID1 EID2 . . .

PID1

EIDn

PID2 DRESP1

. . PIDm

Figure 3-5

Identification of Element-Level Responses

These efficiencies in design response identification extend to type-2 and type-3 responses as well. For example, consider the following DRESP1 entries that identify major and minor principal stresses at surface z1 for PSHELL group 10: $DRESP1,ID, LABEL, RTYPE, PTYPE, REGION, ATTA, $+, ATT2, ... $ $ Major principal stress at surface z1: DRESP1, 101, SIG1, STRESS, PSHELL, , 7, $ $ Minor principal stress at surface z1: DRESP1, 102, SIG2, STRESS, PSHELL, , 8,

ATTB,

ATT1,

,

10

,

10

+

This pair of entries defines a pair of stresses for every element in this property group. This could easily result in hundreds of design responses. Assume we wanted to write the maximum shearing stress as the average of these responses: $ Input to equation to compute max shears: DRESP2, 201, MAXS, AVG, , , +, DRESP1, 101, 102

,

,

,

+

This single DRESP2 entry defines a maximum shear for every element in the group. Since the underlying first-level responses are element-level, the DRESP2 is as well. A few restrictions apply to the formulation of second and third-level responses:

Main Index

178 Design Sensitivity and Optimization User’s Guide Designating the Design Responses

1. Subcase-dependent responses may only be used in an equation with other responses from the same subcase. This implies that these responses cannot span analysis disciplines. 2. Similarly, responses from separate superelements cannot be combined in an equation. 3. When combining responses of different types (e.g. stress + strain, etc.), the responses must be scalar quantities. That is, the corresponding DRESP1 entries must define a single response only. This implies that for displacements, only a single grid may be listed on the DRESP1 entry; for element-level responses, the ELEM identifier must be used with only a single element ID; and so on. 4. A DRESP2 entry cannot self-reference the same DRESP2. Example Using DRESP1 and DRESP2 Entries Suppose we would like to include Euler buckling constraints in the design model for a simple, pin-ended rod elements. A representative element is shown in Figure 3-6. A, E, I P

x

L 1 Figure 3-6

2

Pin-ended Rod Element

The critical load which induces the first Euler buckling mode is given by 2

 EI P CR = -----------2 L

(3-10)

The design requirements call for the axial load in this ROD element to be greater (i.e., less compressive) than this critical load P CR or P ----------  1 P CR

(3-11)

which can be rewritten as 2

–P L -------------  1 2  EI

(3-12)

Note that the critical load is a function of the area moment of inertia, yet this quantity is not a part of the analysis model specification for the ROD element. (Since the inertia of the ROD is not necessary to compute the axial force, the inertia is not needed to perform the analysis.) If the cross-sectional area of the element is the design variable and a solid circular section is assumed, then

Main Index

Chapter 3: Developing the Design Model for Sensitivity and Optimization 179 Designating the Design Responses

A = r

2

4

2

A r I = --------  I = -----4 4

(3-13)

and from Equation (3-12) – 4 P  L 2 ---------- ---  1 E  A

(3-14)

The buckling constraint is now a function of the cross-sectional area design variable for this ROD element geometry. The following Bulk Data entries illustrate one way in which these relations may be implemented: GRID 1 0. 0. 0. GRID 2 10. 0. 0. CROD 100 200 1 2 PROD 200 201 0.5 $ DESIGN MODEL DESVAR 1 A200 0.5 0.25 0.75 DVPREL1 301 PROD 200 A 1 1.0 DRESP1 410 SA FORCE ELEM 2 100 DRESP2 501 EUL1 600 DESVAR 1 DTABLE L 10.0 E 10.0E7 DRESP1 401 DTABLE L 10. DEQATN 600 EUL1(A,L,E,P) = -4. * P* L**2/(PI(1) * E * A**2) $ note the use of PI function (see DEQATN entry description) DCONSTR 500 501 1.0

The two GRID entries along with the CROD and PROD entries specify ROD Element 100 with a length of 10 units along the x-axis and an initial cross-sectional area of 0.5. The DESVAR entry defines the area design variable with an initial value equal to the initial crosssectional area of the ROD. Lower and upper bounds of 0.25 and 0.75, respectively, are set, representing 50% move limits on the cross-sectional area. Since the constraint on Euler buckling is applied here for just a single element, the ‘ELEM’ identifier is used on the DRESP1 in field 5 along with a ‘100’ in field 9 and a 2 in field 7 to specify that the axial load for Element 100 is to be used in the design model. The force component is selected by reference to the item codes. (See Item Codes in the MSC Nastran Quick Reference Guide.) The DRESP2 entry defines the arguments of the Euler buckling equation DEQATN 600. Note that this information is positional; the values are assigned to the argument list of the equation based on the order of specification in the DRESP2 entry. The order of the DRESP2 continuation lines is not interchangeable, with the order provided by the DRESP2 Bulk Data entry description. This example lends itself to illustrating another feature of the DRESP2 entry: the ability to reference another DRESP2 entry. The example has been presented in terms of a single ROD entry and a single buckling constraint. In reality, it is likely that you will want to impose this type of constraint at many points in the structure and this could be done by duplicating the design model of the bulk data fragment for each constraint. This entails determining the length of each rod and using it in the equation. Since the

Main Index

180 Design Sensitivity and Optimization User’s Guide Designating the Design Responses

form of the length calculation is shared across all the elements, it may be desirable to formulate a DRESP2/DEQATN to just determine the length and to then use this in the buckling constraint. The bulk data fragment given above could then be redone as: grid# 1 grid# 2 CROD 100 PROD 200 $ DESIGN MODEL DESVAR 1 DVPREL1 301 1 DRESP1 410 DRESP2 411 DNODE DEQATN

400

DRESP2

501 DESVAR DTABLE DRESP1 DRESP2 E 600 500

DTABLE DEQATN DCONSTR

200 201

0. 10.

1 0.5

2

0. 0.

0. 0.

A200 0.5 0.25 0.75 PROD 200 A 1.0 SA FORCE ELEM 2 100 LENGTH 400 1 1 1 2 1 3 2 1 2 2 2 3 LENGTH(X1,Y1,Z1,X2,Y2,Z2) = SQRT((X2 - X1)**2 + (Y2 - y1)**2 + (Z2 - Z1)**2 ) EUL1 600 1 E 410 411 1.0E7 EUL1(A,E,P,L) = -4. * P * L**2/(PI(1) * E * A**2) 501 1.0

DRESP3 Bulk Data Entries DRESP3 Bulk Data entries define type-3 or external responses. This bears some similarity to the DRESP2 just described with the important difference that the DRESP3 response is evaluated by invoking an external (to MSC Nastran) process via an application programming interface (API). Therefore, instead of invoking an equation for DRESP2, the DRESP3 entry identifies a GROUP or TYPE for the external response. The arguments for the DRESP3 are similar to DRESP2 so that the data structure diagrammed in Figure 3-4 becomes:

Main Index

Chapter 3: Developing the Design Model for Sensitivity and Optimization 181 Designating the Design Responses

Analysis Results

DRESP1

Figure 3-7

DESVAR DTABLE DNODE DVPREL1 DVCREL1 DVMREL1 DVPREL2 DVCREL2 DVMREL2 DVMREL2 DRESP2 USRDATA

External Server

Third-Level Responses

Note that, unlike the DRESP2, a DRESP3 cannot reference another DRESP3. Also, there is an additional USRDATA argument than can be used to pass character data such as names of data files or options to take within the external server. Since an external response is computed using a user-built server executable, defining an external response requires additional user actions to establish the association between the MSC Nastran program and the response server programs. Five user actions are required in setting up the external response in a design task: 1. Create a DRESP3 entry to define the response. 2. Write Fortran or C routines and build a server executable based on the server template routines. 3. Create a CONNECT entry to define an external response group. 4. Create a evaluator connection file to associate the external response group with the server program. 5. Submit the Nastran job with the gmconn keyword that references to the evaluator connection file. Descriptions of each user actions are given in External Response, with much of the description similar to that found in Building and Using the Sample Programs in Chapter 7 of the MSC Nastran Installation and Operations Guide. An example application is shown in External Response to Include Alternative Buckling Response.

Main Index

182 Design Sensitivity and Optimization User’s Guide Defining the Objective Function

Defining the Objective Function The objective function is a scalar quantity that is either minimized or maximized by the optimizer. You designate the design objective using the DESOBJ (DESign OBJective) Case Control command. This command points to a design response defined on either a DRESP1, DRESP2 or DRESP3 Bulk Data entry which must define a single scalar response only. When formulating the design objective, there are a couple of scaling-related issues that should be kept in mind since they affect overall performance. First, the design problem should be posed so that the objective function has sufficient sensitivity with respect to each of the design variables. This is a relative type of consideration and is somewhat difficult criteria to define in a general sense. However, the idea is as follows: Suppose a weight design objective is on the order of 1,000 kilograms. If a structural element in the model is on the order of 1.0E-2 kg or less and is a function of a single design variable, then varying this quantity by 100% or more does not have any appreciable effect on the overall weight. There are two alternative remedies for this, depending on how other design variables affect the objective. If none of the design variables have a significant effect, you may not have formulated the best objective. In a weight minimization, this can occur because the calculated weight includes all the weight in the structure, including fixed weights that are not functions of the design variables. If these fixed weights dominate the overall weight, you should use a DRESP2 to subtract out this fixed weight so that the objective becomes a stronger function of the design variables. In our example, if 998 of the 1,000 kilograms are fixed, subtracting this number as shown in the following bulk data fragment will result in an objective that the optimizer will have an easier time in modifying. TITLE = FOCUSSED WEIGHT RESPONSE DESOBJ = 100 . . . BEGIN BULK . . DRESP1 10 ENTWGHT WEIGHT DRESP2 100 FWEIGHT 100 DRESP1 10 DEQATN 100 FWEIGHT(ENTWGHT) = ENTWHGT - 998.

The second alternative is to assess whether the design variable has an appreciable effect on the design in any case. If the variable does not affect the weight significantly and it has little effect in satisfying a constraint perhaps it should be removed from the design task or perhaps it can be combined with a number of other variables that are negligible by themselves but become significant when they vary together. Combining design variables makes the optimizer’s task easier and perhaps makes it easier for you to interpret the results as well. In any case, it is always advisable, prior to optimization, to perform a design sensitivity analysis to ensure that the objective function has sufficient sensitivity with respect to the design variables. A related difficulty can occur if you formulate an objective that has zero as its minimum. This can happen when, for example, when you are trying to minimize the error between test results and your finite element analysis using some type of least squares error function. It could be that the optimizer has no trouble in reducing the error from 1000.0 to 0.01 but then bounces around between .01 and .005. The convergence tests of Figure 2-17 would regard this as a very large change and dictate that further design cycles be

Main Index

Chapter 3: Developing the Design Model for Sensitivity and Optimization 183 Defining the Objective Function

made. In fact, this may be an insignificant difference and the extra design cycles are wasted. In this case, it would be helpful to add a constant to the error function at a level that you feel is acceptable. For example, if you think getting to within 0.01 with the error function is a good answer, adding 10.0 to this function will allow the problem to terminate whenever the change in the error is less than .01 (this assumes that the default value of CONV1=0.001 is being used). Alternatively, you could leave the error function unchanged but set the CONV2 parameter to the 0.01 absolute change you regard as indicating a converged solution.

Main Index

184 Design Sensitivity and Optimization User’s Guide Defining the Constraints

Defining the Constraints To define constraints in MSC Nastran, you need to • Identify a first-level response (or group of responses) using a DRESP1 Bulk Data entry, write a

second-level response (or group of second-level responses) using a DRESP2 Bulk Data entry, or develop a third-level response (or group of third-level responses) using your own application program. • If the constraint is to be applied to a DRESP2 quantity that references DRESP1 quantities from

different subcases, the DRSPAN case control is required at the subcase level to identify those responses that span subcases. • Specify the response bounds using a DCONSTR entry. • Optionally collect the DCONSTR entries into a master set using the DCONADD entry. • Select DCONSTR and/or DCONADD entry sets in Case Control using either the DESGLB

command for “global” (e.g., non-subcase dependent) responses or the DESSUB command for subcase-dependent responses. In most cases, the constraints are associated with a particular analysis type and subcase, in which case the DESSUB Case Control command is appropriate. In this regard, you should know that MSC Nastran does not allow you to impose subcase dependent constraints that are on responses that are not consistent with the ANALYSIS being performed in that subcase. For example, it is a User Fatal error if you attempt to constrain a LAMA (buckling) response type in an ANALYSIS = STATICS subcase. The DESGLB request is used in cases where the response is not associated with a subcase. The most obvious example is if you want to constrain a WEIGHT or VOLUME response. If you constrain this response in multiple subcases, you would get duplicate constraints that cause extra work for the optimizer. Instead, it is recommended that you apply this constraint before any subcase using the DESGLB request. Another example where the DESGLB request is appropriate is when you want to specify a relation among the design variables. An example of this given in Equation (1-20) where an aspect ratio limit is imposed on the dimensions of a beam. Since this response is not a function of the finite element analysis, the DESGLB command is used to select this constraint. The DCONADD Bulk Data entry allows you to collect constraints into an overall set that is selected using the DESSUB or the DESGLB Case Control command. An example where this is useful is a static design task that has multiple subcases. It is likely that the strength limits that are imposed on response types such as STRESS, STRAIN, or CFAILURE are applicable in every subcase. At the same time there may be displacement limits that are unique to each subcase. The availability of the DCONADD entry makes it possible to have a single set of DCONSTR entries for the strength limits. These entries are then combined with the displacement limits using the DCONADD entry. The DCONSTR entry bounds are used by MSC Nastran to create a pair of normalized constraints, one for the lower bound and one for the upper bound, as discussed in The Design Model. The DCONSTR entry contains an ID, which is invoked either directly by a DESGLB/DESSUB Case Control command or indirectly through a DCONADD entry. The DCONSTR entry is typically used to provide upper and lower bounds of the constraint, but there are two special features that can be useful in frequency response optimization. The first is that integer IDs

Main Index

Chapter 3: Developing the Design Model for Sensitivity and Optimization 185 Defining the Constraints

can be used in the fields that specify the bounds. The presence of an integer indicates that the bound is specified by a frequency dependent table. This enables specification of bound as a function of frequency. The second feature is that the DCONSTR entry has optional inputs that specify the lowest and highest frequency for which the constraint is to be applied.

Main Index

186 Design Sensitivity and Optimization User’s Guide Defining the Constraints

Main Index

Chapter 4: Input Data Design Sensitivity and Optimization User’s Guide

4

Main Index

Input Data

Optimizers (Licensing)

189

File Management

190

Executive Control

192

Case Control Section

Bulk Data Entries

Parameters Unique to Design Sensitivity and Optimization

Design Responses

Optimization Parameters

External Response

193

199

257

285

275

254

188 Design Sensitivity and Optimization User’s Guide

This chapter begins with a description of licensing options and then describes all Executive Control, File Management, Case Control, Bulk Data, and Parameter requirements for design sensitivity and optimization. These various input formats enable the following: 1. Specification of the applicable analysis discipline(s) 2. Definition of the design model 3. Overriding of the optimizer’s internal parameters 4. Control of the program flow and results output

Main Index

Chapter 4: Input Data 189 Optimizers (Licensing)

Optimizers (Licensing) MSC Nastran provides two optimization options: 1. Design Optimization - Enables both the MSCADS and IPOPT optimizer. 2. MultiOpt Optimization - Enables Multi_Model optimization. The Design Sensitivity capability described in this guide does not require either option. MSCADS is MSC's version of the ADS (Automated Design Synthesis) code, a public domain FORTRAN program developed by a predecessor of the Vanderplaats R&D, Inc under contract to NASA/Langley and the US Navy. IPOPT is an open source code from COIN-OR and maintained by IBM. MSC Nastran selects the optimizer based on logic which estimates which one will provide the better performance. There are two ways to override this default selection. The first is by the OPTCOD parameter (either MSCADS or IPOPT) which can be input on the DOPTPRM entry. The second way is by specifying an executive system parameter as shown in the system cell summary. Table 4-1

System Cell Summary

System Cell Number 413

System Cell Name OPTCOD

Description and Default value Specifies which optimization code is to be used in SOL 200 • 0 Optimizer is selected by the code to achieve the best

performance (default) • 3 MSCADS • 4 IPOPT

Note:

Main Index

If one optimizer is selected with SYSTEM(413), and the other optimizer is selected with the OPTCOD parameter on the DOPTPRM entry, the latter is selected.

190 Design Sensitivity and Optimization User’s Guide File Management

File Management Inputs are required in the File Management Section of the input file only in the special circumstances cited in this section.

Shape Optimization File Management Section statements are required in shape optimization for the direct input of shapes method. This approach DBLOCATEs a set of displacement vector data from a database and uses this data to generate a set of shape basis vectors for design optimization (see Relating Design Variables to Shape Changes). The following statements must be used: The filename file.MASTER is the name of the database for the auxiliary model analysis. assign f1 = ’file.MASTER’ dblocate datablk=(ug/ugd,geom1/geom1d,geom2/geom2d), logical=f1 The filename “file” is arbitrary. The UG, GEOM1, and GEOM2 data blocks must be DBLOCATEd and renamed to UGD, GEOM1D, and GEOM2D, respectively. These new names cannot be changed since the code looks for the data in these locations explicitly. See Shape Optimization of a Culvert for an example using this method.

User Defined Beam Libraries MSC Nastran contains a beam library feature that allows you to input beam dimensions for an array of cross section types, such as ROD, I and T. You can augment or replace MSC’s section types with your own sections using an Application Programming Interface (API) option as outlined in Adding Your Own Beam Cross-Section Library. The dimensions of these user defined cross sections can also be designed. The use of these user defined beam sections is enabled by a CONNECT file management statement that identifies the evaluator. The form of the CONNECT statement is: CONNECT BEAMEVAL group evaluator For example: CONNECT BEAMEVAL MYBEAMS MYEVALS where ‘group’ is the group name for the user supplied beam library and is called out on the PBARL or PBEAML entry and must therefore be eight characters or less. ‘Evaluator’ is the evaluator connection file. Each entry in the file uniquely associates the group name with the server program. You can have multiple connect entries for multiple user defined beam libraries and also for the External Responses discussed next.

Main Index

Chapter 4: Input Data 191 File Management

External Responses As first discussed in The Design Model, the DRESP3 Bulk Data entry allows you to use an Application Programming Interface (API) to compute external responses that beyond those available using the internal DRESP1 and DRESP2 entries. The use of these user defined external responses is enabled by a CONNECT in much the same fashion as for the user defined beam libraries just described. The form of the CONNECT statement in this cases is: CONNECT DRESP3 group evaluator For example: CONNECT DRESP3 MYRESP MYEXT where ‘group’ is the group name for the external response and is called out on the DRESP3 entry and must therefore be eight characters or less. ‘Evaluator’ is the name of the server program and is currently uniquely associated with the group name. You can have multiple connect entries for multiple external response libraries and also for the user defined beam cross sections discussed above.

Main Index

192 Design Sensitivity and Optimization User’s Guide Executive Control

Executive Control Solution 200 In design sensitivity and optimization, the only required Executive Control statement is the SOL statement: SOL 200 This states that subDMAP DESOPT is to be invoked, which is the main subDMAP for design sensitivity and optimization.

Main Index

Chapter 4: Input Data 193 Case Control Section

Case Control Section The additions to the Case Control for design optimization are few and do not require any modification of the Case Control commands already required for analysis. Case Control commands for design sensitivity and optimization are associated with the following four tasks: 1. Analysis discipline definition 2. Design task definition 3. Design response characterization 4. Shape basis vector computation This section discusses each of these tasks individually.

Analysis Discipline Definition Design optimization in MSC Nastran is multidisciplinary: a number of different analyses may be performed in Solution 200, and the results used simultaneously in optimization. The analysis types are defined on a subcase basis using the ANALYSIS Case Control command. It can be set to any of the following values in SOL 200:

ANALYSIS =

STATICS MODES BUCKLING DCEIG DFREQ MCEIG MFREQ MTRANS SAERO FLUTTER

The following are a few Case Control issues to be aware of when using the ANALYSIS command. 1. If ANALYSIS is specified above the subcase level, all subsequent subcases utilize that analysis type until ANALYSIS is redefined in a later subcase. 2. The buckling subcase defined by ANALYSIS = BUCK must also identify a STATICS subcase that supplies the displacement that is used in the global buckling analysis. The STATIC subcase is selected using the STATSUB Case Control command (STATSUB is only used with ANALYSIS = BUCK and is not available for other analysis types). 3. Multiple boundary conditions may be used in Solution 200 for ANALYSIS = STATICS, MODES, BUCKLING, SAERO and FLUTTER.

Main Index

194 Design Sensitivity and Optimization User’s Guide Case Control Section

4. Only a single subcase is supported for ANALYSIS = DCEIG,MCEIG and MTRAN. 5. In general, any number of analysis types can be selected in a single run, but ANALYSIS=DFREQ and MFREQ cannot both be used in the same run. 6. Table 2-4 indicates which disciplines support multiple subcases and boundary conditions.

Design Task Definition The design model definition process in Case Control includes identification of the design objective function and the design constraint sets. Design Objective Identification The design objective is identified in Case Control with the command: min  DESOBJ  = n  max 

where n is the set identification of a design response on either a DRESP1, DRESP2, or DRESP3 Bulk Data entry. This response must be a single, scalar quantity. A DESOBJ command appearing above the subcase level identifies a “global” response. Weight and volume are typical examples of global responses. DESOBJ can also be used at the subcase level if the design goal is to minimize or maximize a subcase-dependent response. A DESOBJ command is required in most cases, but there are certain situations where it is not needed: 1. If only sensitivity results are of interest, a DESOBJ command is not required. 2. If Fully Stressed Design is being used, there is not a requirement for a DESOBJ command. However, it is recommended that the DESOBJ command be used and that it point to a WEIGHT response type so that the weight response will be calculated and reported. Note:

If a DESOBJ request is needed for optimization and is not provided, the error is not detected until optimization is attempted and therefore after an analysis and sensitivity analysis has been performed. This can be an expensive error if these analyses consume significant resources.

Design Constraint Identification Design constraint sets are identified in Case Control by the following commands: DESGLB = n DESSUB = n where n is the set identification number of a DCONSTR or a DCONADD Bulk Data entry. DESGLB is used above the subcase level to define a subcase-independent constraint set. Weight and volume are subcase-independent responses, as are DRESP2 responses that are not functions of DRESP1

Main Index

Chapter 4: Input Data 195 Case Control Section

responses (e.g., DRESP2s that are functions of design variables, table constants, and grid coordinates only). DESSUB defines subcase-dependent constraint sets at the subcase level. A DESSUB command remains in effect until replaced with a new DESSUB in a subsequent subcase. Subcase Spanning Responses A special situation occurs when you wish to combine responses from multiple subcases. For example, you may want to constrain the average displacement across multiple subcases. The constraint is on a global quantity in this case, so that the DESGLB command just discussed is used above the subcase level. It is also necessary to identify the subcase responses that are to be included in the subcase spanning response. This is done with a DRSPAN command: DRSPAN = n The n is the set identification of a previously appearing SET case control command. The DRSPAN request occurs at the subcase level and most appear in every subcase that contains DRESP1 quantities that are to be used in the DRESP2 that spans subcases. Design Variable Set Selection The optional DESVAR Case Control command selects a set of design variables defined by a SET command. If the command is absent, all DESVAR Bulk Data entries will be utilized in the design task. Only one DESVAR Case Control command can appear and it must appear above the subcase level. The basic purpose of the DESVAR command is to address the scenario where the design task started with many design variables, but it is desired to focus on a subset. This could be done by editing the bulk data file to remove the unwanted DESVAR entries, but this is a tedious process that is avoided using the DESVAR case control command. It is still necessary to impose rules on what happens when these unneeded DESVAR’s are reference on other bulk data entries. These rules include: • If a DVxRELy (e.g., DVPREL2) or DLINK entry references DESVARs that are all included in

the set specified in case control, then that property is designed. • If a DVxRELy of DLINK entry references DESVARS that not included in the set specified in

case control, then that property is not designed • If a DVxRELy or DLINK entry references some DESVARs that are all included in the set

specified in case control and some that are not, a User Fatal Message is produced and the run is terminated. • If a DRESP2 or DRESP3 references any DESVARs that are not included in the set specified in

case control, a User Fatal Message is produced and the run is terminated.

Main Index

196 Design Sensitivity and Optimization User’s Guide Case Control Section

The DESVAR command is: Format: DESVAR = n The n is the set identification of a previously appearing SET Case Control command. Design Sensitivity Print The meaning and importance of design sensitivity has been discussed at length in Design Sensitivity Analysis. The design sensitivity data is quite useful in its own right and can be printed using the DSAPRT Case Control command.  FORMATTED    DSAPRT  UNFORMATTED  NOEXPORT   START = i   BY = y   END = k    EXPORT NOPRINT  

=

ALL n NONE

This command supports a number of options, the first of which indicates whether the output is to be formatted. The formatting provides labeling information and is usually the preferred option. The data can be exported to an external file using the EXPORT option. This enables the use of the sensitivity data in another application. The frequency of the output is controlled by three parameters: START, BY, and END. These parameters refer to the design cycle so that START indicates after which design cycle the print is to begin, BY indicates how often it is to be printed between the START and END cycles and END identifies the final cycle. The right-hand side of the command identifies the set of response IDs that are to be printed. The default of ALL prints all the sensitivities. Note:

A response sensitivity is available for printing only if the response has been constrained and then only if the constraint has survived the screening process described in Constraint Screening. The DSCREEN Bulk Data entry described in Bulk Data Entries provides a way of forcing the retention of responses that are of interest.

Mode Tracking A normal modes subcase (ANALYSIS = MODES) can constrain the normal modes eigenvalues or frequencies based on mode number. As the design changes, the order of the modes may change so that the physical nature of the mode being constrained would change as well. As discussed in the Mode Tracking paragraphs of Multidisciplinary Analysis, MSC Nastran can be made to “track” the modes so that the constraint is being applied to the same physical mode as the design changes. This is done using a MODTRAK Case Control command: MODETRAK = n where n invokes the ID of a MODTRAK Bulk Data entry.

Main Index

Chapter 4: Input Data 197 Case Control Section

Residual Vectors The RESVEC Case Control command is used to augment the modes created from a normal modes analysis with additional shapes tailored to the modal analysis task at hand. The addition of these modes can greatly improve the accuracy of the finite element analysis. The RESVEC Case Control command can be used to control the creation of these additional modes and one of the describers of this command is relevant here. ADJLOD/NOADJLOD is an option on the RESVEC command that indicates whether adjoint loads should be used to create residual vectors. These loads are derived from DRESP1 entries that invoke grid responses in a frequency or transient response analysis. The ADJLOD option (the default) creates these residual vectors and is recommended, while use of the NOADJLOD option is available to block the inclusion of adjoint loads in residual vector computations. Design Response Characterization Strictly speaking, Case Control output requests are unnecessary in design sensitivity and optimization. In a number of instances they can, however, be quite useful. Solution 200 builds its own internal Case Control for data recovery based on the list of DRESP1 responses identified in the design model. This provision ensures that all necessary data recovery is always performed for design sensitivity and optimization. However, if you want to view MSC Nastran results, Case Control output requests are necessary. The frequency of this output with respect to design cycle number is controlled by the Bulk Data parameter NASPRT. Case Control output commands are sometimes used to resolve design response ambiguities. For example, element plate stresses can be output using either von Mises or maximum shear. (The ambiguity arises since both share the same item code ID referenced on the DRESP1 entry.) The form identified in Case Control is also used for design sensitivity and optimization. For example, STRESS (VONMISES)

= 15

(von Mises stresses used for analysis and optimization)

STRESS (SHEAR)

= 15

(maximum shear stresses used for analysis and optimization)

If left unspecified, the defaults will be used (which in this case, is the von Mises representation). Note:

The SET number (15 in the example above) has no effect on which responses are used in the design.

Dynamic responses can be computed using either a real/imaginary or a magnitude/phase form. Here again, Case Control can be used to define the output representation. For example,

Main Index

STRESS(IMAG)

= ALL

(real/imaginary form for analysis and optimization)

STRESS(PHASE)

= ALL

(magnitude/phase form for analysis and optimization)

198 Design Sensitivity and Optimization User’s Guide Case Control Section

Shape Basis Vector Computation Additions to Case Control for shape optimization are only necessary when using the Analytic Boundary Shapes method. Relating Design Variables to Shape Changes shows that the Analytic Boundary Shapes approach uses

additional Bulk Data Sections to describe the auxiliary boundary models. Each of these additional sections must have a corresponding Case Control. Each of the Auxiliary Boundary model Case Control Sections are identified by the delimiter AUXCASE The auxiliary boundary model Case Control Sections must follow the Case Control Section for the primary model. Within the auxiliary boundary model Case Control Section, individual auxiliary models are identified using AUXMODEL = n where n is the auxiliary boundary model ID, referenced in the corresponding BEGIN BULK = n Bulk Data Section delimiter. An example using AUXCASE and AUXMODEL is shown in Relating Design Variables to Shape Changes.

Generation of a New Bulk Data File The ECHO Case Control command has an option that is applicable only in design optimization: ECHO = PUNCH(NEWBULK) It is available to provide an unsorted Bulk Data file following a design optimization task that has updated entries replacing the original entries. For example, the input XINIT value on a DESVAR entry is replaced by the final value for this design variable from the design task. Similarly, new thicknesses that are produced will be placed on the updated PSHELL entry. This file is contained in the output .pch file that is produced by MSC Nastran. A complete description of the ECHO Case Control command is available in ECHO in the MSC Nastran Quick Reference Guide. Additional information on the output produced by the NEWBULK option can be found in Special Punch Considerations for Topology Optimization. An innovative use of the NEWBULK parameters is to use it in conjunction with PARAM OPEXIT 1 through 3 to get a new bulk data deck that reflects the changes introduced by the design model.

Main Index

Chapter 4: Input Data 199 Bulk Data Entries

Bulk Data Entries The design model is defined in the Bulk Data Section. This definition includes the design variables, the design variable-to-property relations, shape basis vectors, design constraints, and so on. This section contains a brief listing and description of all the Bulk Data entries related to design sensitivity and optimization. This information is the alphabetical order of the entry name and has been extracted from the complete listings in the The Bulk Data Section (p. 1045) in the MSC Nastran Quick Reference Guide. For each entry in this section, related entries have also been listed with appropriately shaded fields to help clarify the interrelations among the various entries.

BNDGRID Purpose: Specifies a list of grid point identification numbers on design boundaries or surfaces for shape optimization. Entry Description: BNDGRID

Field

C

GP1

GP8

-etc.-

GP2

GP3

GP4

GP5

GP6

GP7

Contents

C

Component number (any unique combination of integers 1 through 6 with no embedded blanks).

GPi

Shape boundary grid pint identification number.

Discussion: Relating Design Variables to Shape Changes identifies four alternative methods for defining shape basis

vectors and two of these methods: Geometric Boundary Shapes and Analytic Boundary Shapes entail first defining the shape basis vector on the boundary. This, in turn, requires the definition of which degrees-of-freedom appear on the boundary. The BNDGRID entry performs this task by selecting a component set and then identifying the associated grid points. Analytic Boundary Shape provides an example that applies the Analytic Boundary Shapes Method and makes use of the BNDGRID entry. Note:

Main Index

Grid coordinates that appear on the BNDGRID entry but that are not affected by the displacement from the auxiliary model are assumed to not change their location during the shape optimization task.

200 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

BEADVAR Topography Design Variable Purpose: Defines design region for topography (bead or stamp) optimization. Entry Description: 1 BEADVAR

2 ID

3 PTYPE

4 PID

"DESVAR "NORM/XD YD "GRID

"NGSET

5

6

7

8

9

MW

MH

ANG

BF

SKIP

ZD

CID

XLB

XUB

DELXV

10

DGSET

Example using NORM: BEADVAR

IO

PSHELL 101

10.0

20.0

70

Example using "DESVAR" and "GRID": BEADVAR

Field

Main Index

10

PPSHLL

101

10.0

DESVAR

2.0

3.0

4.0

GRID

100

20.0

70.0 -1.0

NONE 1.0

Contents

ID

Unique topography design region identification number. (Integer > 0)

PTYPE

Property entry type. Used with PID to identify the element nodes to be designed. (Character: "PSHELL", "PSHEAR", "PCOMP", or "PCOMPG".)

PID

Property entry identifier. See Remark 1. (Integer > 0)

MW

Minimum bead width. This parameter controls the width of the beads. The recommended value is between 1.5 and 2.5 times the average element width. See Remark 2. (Real > 0.0)

MH

Maximum bead height (Real > 0.0). This parameter sets the maximum height of the beads when XUB=1 .0 (as Default). See Remark 2.

ANG

Draw angle in degrees (0.0 < Real < 90.0). This parameter controls the angle of the sides of the beads. The recommended value is between 60 and 75 degrees.

BF

Buffer zone ('yes' or 'no'; Default='yes'). This parameter creates a buffer zone between elements in the topography design region and elements outside the design region when BF='yes'. See Remark 3.

Chapter 4: Input Data 201 Bulk Data Entries

Field

Contents

SKIP

Boundary skip ("bc", "load", "both", or "none"; Default = "both"). This parameter indicates which element nodes are excluded from the design region. "bc" indicates all nodes referenced by "SPC" and "SPC1" are omitted from the design region. "load" indicates all nodes referenced by "FORCE", "FORCE 1 ", "FORCE2", "MOMENT", "MOMENT 1 ", "MOMENT2", and "SPCD" are omitted from the design region. "both" indicates nodes with either "bc" or "load" are omitted from the design region. "none" indicates all nodes associated with elements referencing PID specified in field 4 are in the design region.

“DES VAR”

Indicates that this line defines bead design variables that are automatically generated.

NORM/XD, YD, ZD

Bead vector (draw direction). Norm indicates the shape variables are created in the normal directions to the elements. If XD, YD, and ZD are provided, the shape variables are created in the direction specified by the xyz vector defied by XD/YD/ZD that is given in the basic coordinate system or CID. See Remark 4. (Character or Real, Default = blank = norm).

CID

Coordinate system ID used for specifying draw direction (Blank or Integer > 0; Default = blank = basic coordinate system)

XLB

Lower bound. (Real < XUB or blank; Default = blank=0.0). This ensures the lower bound on grid movement equal to XLB*MH. See Remark 5.

XUB

Upper bound. (Real > XLB or blank; Default = 1.0). This sets the upper bound of the beads equal to XUB*MH. See Remark 5.

DELXV

Fractional change allowed for the design variable during approximate optimization. See Remark 3. (Real > 0.0; Default = 0.2)

“GRID”

"Indicates this line defines what element nodes can be added and/or removed from topography design regions.

NGSET

All grids listed on a Bulk Data entry SET1 = NGSET are removed from topography design regions.

DGSET

All grids listed on a Bulk Data entry SET1 = DGSET are added to topography design regions.

Discussion: 1. Multiple BEADVAR's are allowed in a single file. Combined topometry, topology, topography, sizing, and shape optimization is supported in a single file. The user can provide allowable bead dimensions.

Main Index

202 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

MW

MH ANG

Bead Dimensions Figure 4-1

Bead Dimensions

It is recommended to set buffer zone = yes to maintain a good quality of mesh during topography optimization. Design elements Buffer zone

No buffer zone

Nondesign elements

Nondesign elements

The grids move in the normal direction. All element grids referenced by one BEADVAR entry must follow the right hand rule. Element normal vectors

Optimized

Baseline surface

surface Element Normal

Main Index

Chapter 4: Input Data 203 Bulk Data Entries

User defined draw vector

Baseline surface

Optimized surface

User’s Provided Draw Direction To force the grids to move only in the positive bead vector direction (one side of the surface), use XLB = 0.0. To force the grids to move only in the negative bead vector direction (another side of the surface), use XUB = 0.0. To allow girds to move in both positive and negative bead vector directions, use XLB < 0.0 and XUB > 0.0. For example, Bead Vector Bead Vector

Base Surface

Optimized Surface

(a) XLB = 0.0 and XUB = 1.0

Optimized Surface

(b) XLB = -1.0 and XUB = 0.0 (c) XLB = -1.0 and XUB = 1.0

The jobname.op2 (with setting PARAM, POST, -1) has topography results (shape change) that can be viewed by Patran. The text file jobname.pch also has updated grid coordinates that can be copied to the original file, replace the original grids, and imported to Patran and other postprocessors to view topography optimization results.

Main Index

204 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

DCONADD Purpose: Defines design constraints set as a union of DCONSTR entry sets. Entry Description: DCONADD

DCID

DC1

DC2

Field

DC3

etc.

Contents

DCID

Design constraint set identification number. (Integer > 0)

DCi

DCONSTR entry identification number. (Integer > 0)

Associated Entries: DCONSTR DCID

RID

LALLOW

UALLOW

LOWFQ

HIGHFQ

Discussion: Constraints must be selected in Case Control. The DCONADD entry allows a number of DCONSTR entry sets to be unified into a single set, making their selection in Case Control easier.

DCONSTR Purpose: Places limits on a design response. When selected in Case Control by either DESGLB or DESSUB, the DCONSTR sets define the design constraints. Entry Description: DCONSTR DCID Field

Main Index

RID

LALLOW/ UALLOW/ LOWFQ LID UID

HIGHFQ

Contents

DCID

Design constraint set identification number. (Integer > 0)

RID

DRESPi entry identification number. (Integer > 0)

LALLOW

Lower bound on the response quantity. (Real, Default = -1.0E20)

LID

Set identification of a TABLEDi entry that supplies the lower bound as a function of frequency.

UALLOW

Upper bound on the response quantity. (Real, Default = 1.0E20)

UID

Set identification of a TABLEDi entry that supplies the upper bound as a function of frequency.

Chapter 4: Input Data 205 Bulk Data Entries

LOWFQ

Low end of frequency range in Hertz. (Real > 0.0, Default = 0.0)

HIGHFQ

High end of frequency range in Hertz. (Real > LOWFQ, Default = 1.0E+20)

Associated Entries: The IDs on DRESP1, DRESP2 and DRESP3 are the RIDs called out on the DCONSTR entry. DRESP1 ID

LABEL

ATT2 DRESP2

RTYPE

PTYPE

ATTB

ATT1

-etc.-

ID

LABEL

EQID

REGION

“DESVAR ”

DVID1

DVID2

-etc.-

-

-

-

-

“DRESP1"

NR1

NR2

-etc.-

‘DRESP2”

NRR1

NRR2

-

-

-

DRESP3 ID

REGION ATTA

LABEL

“DESVAR” DVID1

-

GROUP

TYPE

DVID2

-etc.-

-

-

-

-

“DRESP1”

NR1

NR2

-etc.-

“DRESP2”

NRR1

NRR2

-

-

-

REGION

-

The DCONADD entry can be used to form the union of a number of DCONSTR sets. DCONADD

DCID

DC1

DC2

DC3

-etc.-

Discussion: During the optimization process, material may be removed from and/or added to the structure to achieve the optimum objective. As this occurs, the response of the structure to the applied loads changes. Member stresses, joint displacements, natural frequencies, etc., are altered by the changes which the optimizer is making. It is important, then, to place bounds on the structural responses so that the optimized structure responds in a manner that is acceptable to the designer. For example, it is common to place upper and lower bounds on the member stresses so that the maximum allowable stresses are not exceeded. Joint displacement, buckling load factors, and natural frequencies might also be bounded. When a bound is placed on a structural response, this condition is called a constraint. First, second and third-level responses may be constrained. To constrain a given response quantity, a DCONSTR (Design CONSTRaint) entry is used. This entry, in turn, points to a specific response ID identified on a DRESP1, DRESP2 or DRESP3 Bulk Data entry.

Main Index

206 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Note that the DCONSTR entry serves only to place bounds on a response defined elsewhere in the design model data. These bounds are used to construct normalized constraints for use by the optimizer as discussed in Defining the Constraints. The LOWFQ and HIGHFQ fields are only functional for response types with the ‘FR’ prefix, for example FRDISP and excepting RTYPE=FREQ. In these situations the bounds are only applied to the response if the excitation frequency falls with the range of these two frequencies in Hz. LOWFQ and HIGHFQ are ignored for other responses types. The upper and lower bounds can be specified in one of two ways. If real numbers are used in the bound field, these are the bounds. If integers are used, these point to TABLETi entries that enable the input of these bounds as a function of frequency. DCONSTR entry sets (or the DCONADD union of these sets) must be selected in the Case Control Section to complete the constraint definition process. The Case Control command DESGLB is used to identify subcase-independent constraints (global constraints), while the DESSUB Case Control command is used to select subcase-dependent constraint sets. There are two guidelines for the user of the DCONSTR entry that can be noted here. The first is that it is recommended that zero (and near zero) values be avoided when specifying LALLOW and UALLOW. There are two reasons for this. The first is that this causes problem in the normalization as explained in Design Constraints. If the constraint limit really is zero (for example it is desired to restrict the flutter damping to be less than zero), it is recommended that the response be recast using a DRESP2 entry to offset the response by some amount. For example, if a value of 1.0 is added to the flutter damping response, it will now be possible to place an upper bound of 1.0 on the DRESP2 response. The second difficulty with a zero response is that it can lead to unintended consequences in terms of constraint screening. Suppose the response is the von Mises stress and it is desired that these stresses never exceed 30KSI. The UALLOW value is then 30000.0 but it may seem natural to set LALLOW to 0.0. The unintended consequence of this is that this may create a critical constraint when the element is essentially unstressed. The optimizer will try and satisfy this constraint with unpredictable results. In this case, it is recommended that the LALLOW field be left blank so that the default value of -1.0E20 will be used and this will never be a critical constraint. The second guideline is that is recommended that “equality” constraints allow some tolerance as also discussed in Design Constraints. For example, if you are trying to redesign the structure so that the first normal mode is exactly 6.0 Hz., you should specify limits of LALLOW = 5.9 Hz. and UALLOW = 6.1 Hz. so that the optimizer has a chance to satisfy both limits simultaneously. If the limits were both set to 6.0, one or the other constraint would always be violated.

Main Index

Chapter 4: Input Data 207 Bulk Data Entries

DDVAL Purpose: In a discrete optimization task, provide a list of discrete values that a design variable can assume. Entry Description: DDVAL

ID

DDVAL1 DDVAL2 DDVAL3 DDVAL4 DDVAL5 DDVAL6 DDVAL7

DDVAL8 -etc.Field

Contents

ID

Unique discrete value set identification number. (Integer > 0)

DDVALi

Discrete values. (Real)

Associated Entries: The ID on the DDVAL entry is called out the DDVAL field on the DESVAR entry: DESVAR ID

LABEL XINIT

XLB

XUB

DELXV DDVAL

Discussion: The Discrete Variable Optimization capability discussed in Special Topics enables the designation of design variable values from a discrete set of values. This selection is based on the conventional continuous optimization that is the main topic of this User’s Guide and provides a means of performing optimization when the application requires the design variable take on a discrete value (perhaps from available sheet metal thickness or, in a composite design, an integer number of plies). The DDVAL entry provides the allowable set of discrete values and is invoked by one or more design variables. The real numbers can be input in arbitrary order and the THRU and BY features provide convenient way of specifying a series of numbers. If a DESVAR entry does not have a value in the DDVAL field, the design variable is allowed to vary continuously in a discrete variable optimization task. If the range of discrete values for a DESVAR entry do not extend out to the XLB and XUB range specified on the DESVAR entry, the XLB and XUB values are adjusted to extend only over the discrete values. Similarly, a discrete value that is outside the user specified XLB/XUB range will never be selected by the discrete optimization algorithm.

Main Index

208 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

DEQATN Purpose: Defines equations for use in synthetic relations. These equations can be used to define either second-level responses or second-level design variable-to-property relations. Entry Description: DEQATN EQID

EQUATION EQUATION (Cont.)

Field

Contents

EQID

Unique equation identification number. (Integer > 0)

EQUATION Equation(s). (Character) Associated Entries: The equation ID may be referenced in connection with a second-level response on a DRESP2 entry or in the definition of a synthetic property relation on a DVPREL2 entry. DRESP2

ID

LABEL

EQID

REGION

“DESVAR”

DVID1

DVID2

-etc.-

-

-

-

-

“DRESP1"

NR1

NR2

-etc.-

-

-

-

-

DRESP2

NRR1

NRR2

DVPREL2 ID

TYPE

PID

FNAME

PMIN

“DESVAR”

DVID1

DVID2

DVID3

-etc.-

“DTABLE”

LABL1

LABL2

LABL3

-etc.-

PMAX

EQID

Discussion: A unique feature of MSC Nastran design sensitivity and optimization is that it allows you to create new response quantities and nonlinear design variable-to-property relations. This is accomplished by defining equations much like the function definition procedure of many programming languages. The DEQATN entry is used to specify a single equation or a set of nested equations. The syntax of the expressions follows the FORTRAN language standard except that all arguments are assumed to be real numbers (no integers). Intrinsic functions, such as SIN or MAX, may be used. The equation input arguments are formal arguments that are defined at runtime. The DRESP2 entry for responses and the DVCREL2, DVMREL2, DVPREL2 entries for design variable-to-property relations specify the input, or actual, arguments to the appropriate DEQATN entry. A nested form of equation definition may be used. Multiple equations can be specified on a single DEQATN entry with the input to

Main Index

Chapter 4: Input Data 209 Bulk Data Entries

the latter equations based on the results of the previous equations. The return value of the function call is the last equation in the DEQATN entry. The power and versatility of the DEQATN, particularly when used with the DRESP2 entry, has given rise to a number of special requests for this entry to extend the ease-of-use of the DEQATN. The features that have been provided in response to these requests are explicitly pointed out here because they have primary applicability in design sensitivity and optimization. Special Functions The majority of the intrinsic functions used in the DEQATN are those that are available in a programming language such as FORTRAN; e.g., ABS for absolute value and TAN for tangent. However, there are eight functions as shown in Table 4-2 that have been provided, primarily, to give support in dynamic response design and are applicable for any relevant analysis. The SUM,RSS, SSQ and AVG functions provide a shorthand operation for operating on a series of arguments. (Refer to the DRESP2 entry for an alternative means of performing these operation and to the ATTB field of the DRESP1 entry for the frequency response RTYPEs for another simplified way of inputting these operations in special cases.) The use of these operators on the DEQATN is not limited to responses so that you could use the AVG function to find, for example, the average of a set of design variables). The DB,DBA, INVB and INVDBA provide a simplified way of dealing with acoustic responses. Table 4-2

Special DEQATN Functions Format

AVG(  X 1 X 2  X n  )

Description average

Mathematical Expression 1 --n

n

 Xi i= 1

DB(P, PREF)

sound pressure in decibel

P 20.0  log  ----------------  PREF

DBA(P, PREF, F)

sound pressure in decibel (perceived)

P 20.0  log  ---------------- + 10.0  log  Ta1  + 10.0  log  Ta2   PREF

INVDB(DB, PREF)

inverse Db 10

INVDBA(DBA, PREF, F)

inverse Dba 10

RSS  X 1 X 2  S n 

square root of sum of squares

DB  --------  20.0- + logPREF – 10.0  log  Ta1  – 10.0  log  Ta2 -  DBA ------------------------------------------------------------------------------------------------------  20.0 n 2

 Xi i =1

Main Index

210 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Table 4-2

Special DEQATN Functions (continued) Format

Description

SSQ  X 1 X 2  S n 

sum of squares

SUM  X 1 X 2  S n 

summation

Mathematical Expression n 2

 Xi i =1 n

 Xi i =1

X 1 X 2    S n  P

=

structure responses or acoustic pressure

PREF

=

reference pressure

F

=

forcing frequency

DB

=

acoustic pressure in Decibel

DBA

=

perceived acoustic pressure in Decibel

Ta1

=

Ta2

=

K1

=

2.242882e+16

K3

=

1.562339

P1

=

20.598997

P2

=

107.65265

P3

=

737.86223

P4

=

12194.22

4

K3  F ------------------------------------------------------2 2 2 2  F + P2   F + P3  4

K1  F ------------------------------------------------------------2 2 2 2 2 2  F + P1   F + P4 

Implied Forcing Frequency Argument Frequency input to synthetic relations can be supplied in an implicit format that is activated by: 1. Frequency response-type ("FR" or “PSD”) arguments for the DRESP1 IDs invoked by a DRESP2. 2. A DEQATN entry whose input argument list exceeds the number of arguments defined on the referencing DRESP2 entry. The situation is perhaps most easily described by way of an example. Assume a simple average is to be computed based on frequency response-computed displacements that are "normalized" by their respective forcing frequencies. We can then write:

Main Index

Chapter 4: Input Data 211 Bulk Data Entries

$RESP1, ID, LABEL, RTYPE, PTYPE, REGION, ATTA, ATTB, ATT1, + $, ATT2, ... dresp1, 10, fdisp1, frdisp, , , 1, 10., 1001 dresp1, 20, fdisp2, frdisp, , , 1, 20., 1001 $RESP2, ID, LABEL, EQID, REGION, , , , , + $, DRESP1, NR1, NR2, ..., , , , , + dresp2, 30, avgfd, 100, , , , , , + +, dresp1, 10, 20 deqatn 100 avg(d1,d2,f1,f2) = (d1/f1 + d2/f2)*0.5

Normally, the number of input arguments and values specified on the DEQATN/DRESP2 entries must match. The rules, however, are relaxed when frequency response quantities (i.e., those preceded by "FR") are encountered as input to the equation. In such cases, additional arguments can be defined via implicit reference to the list of frequency values appearing on the DRESP1 entries, in the encountered order. In the above example, f1 and f2 are 10. hertz and 20. hertz, respectively. The above capability is particularly useful in the case of frequency definitions via the FREQ3, FREQ4, and FREQ5 entries. Again, a simple example explains this feature. The presence of FREQ3, FREQ4, or FREQ5 entries is assumed in the following example: DRESP1,10,FRGD,FRDISP,,,1,,21 DRESP2,101,DBA,201, ,DTABLE,PREF,,,,,,, ,DRESP1,10 DTABLE,PREF,1.0 DEQATN 201 X(PREF,P,F)=DBA(P,PREF,F)

A DRESP1/DRESP2 pair of responses will be generated for every forcing frequency, the value of which is generally unknown at the outset. Note that the third input to the equation, F, is in excess of the number of arguments defined in the DRESP2 relation. Because a frequency response displacement is referenced, the code will automatically assign its value to be the corresponding forcing frequency.

DESVAR Purpose: Defines the design variables to be used in design sensitivity and optimization. Design sensitivity analysis computes the rates of change of design responses with respect to changes in the design variables. In design optimization, the set of design variables are the quantities modified by the optimizer in the search for an improved design. The optional DESVAR Case Control command can be used to specify the set of DESVAR Bulk Data entries that are to be used in the design task. If the DESVAR Case Control command is absent, all DESVAR Bulk Data entries will be used.

Main Index

212 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Entry Description: DESVAR ID

LABEL

XINIT

XLB

XUB

Field

DELXV

DDVAL

Contents

ID

Unique design variable identification number. (Integer > 0)

LABEL

User-supplied name for printing purposes. (Character)

XINIT

Initial value. (Real, XLB < XINIT < XUB)

XLB

Lower bound. (Real, default = -1.0E+20)

XUB

Upper bound. (Real, default = +1.0E+20)

DELXV

Move limit for the design variable during approximate optimization. (Real > 0.0) ID of a DDVAL entry that provides a set of allowable discrete values. (Blank or integer > 0, Default = blank for continuous design variables.)

DDVAL Associated Entries:

Design variables may be related to properties on DVPREL1, DVCREL1, DVMREL1 or DVPREL2, DVCREL2, DVMREL2 entries, related to changes in shape using DVBSHAP, DVGRID, or DVSHAP entries, linked using DLINK entries or input to user-defined responses on the DRESP2 entry and external responses using the DRESP3 entry. The DVCRELi and DVMCRELi entries are not shown here because of their close similarity with the DVPRELi entries. DVPREL1

DVPREL2

TYPE

PID

DVID1

COEF1

DVID2

ID

TYPE

COEF2

PMIN

PMAX

DVID3

-etc.-

PID

PMIN

“DESVAR” DVID1

DVID2

DVID3

-etc.-

“DTABLE” LABL1

LABL2

LABL3

-etc.-

DVBSHAP DVID

AUXMOD COL1

SF1

DVGRID DVID

GID

CID

COEFF

N1

DVSHAP DVID

COL1

SF1

COL2

SF2

CMULT

IDV1

DLINK

Main Index

ID

ID

DDVID

C0

IDV3

C3

-etc.-

COL2

C0

PMAX

SF2 N2 COL3 C1

EQID

COL3

SF3

N3 SF3 IDV2

C2

Chapter 4: Input Data 213 Bulk Data Entries

DRESP2 ID

LABEL

“DESVAR” DVID1

EQID

REGION

DVID2

-etc.-

-

-

-

-

“DRESP1"

NR1

NR2

-etc.-

-

-

-

-

-

LABEL

GROPU

TYPE

REGION

“DESVAR” DVID1

DVID2

-etc.-

-

-

-

-

“DRESP1”

NR1

NR2

-etc.-

-

-

-

-

USRDATA

GEOMETRY DATA FILE

DRESP3 ID

-

Discussion: In design optimization, structural properties are changed in order to determine the optimal value of the objective function. To accomplish this, the optimizer varies the design variables. Not only must design variables be defined, but they also must be functionally related to analysis model properties and/or changes in structural shapes. Design variables can also be used as design parameters that are unrelated to the structural properties. In this case, they are invoked by DRESP2 or DRESP3 entries. The DESVAR entry is used to define an individual design variable. The DELXV attribute is used to specify the amount a design variable can change during one optimization cycle. This relates to the The Approximate Model and should be used when it appears that the results from the approximate analysis are not closely matched by the subsequent exact analysis. DELXV was provided primarily for shape optimization tasks but is applicable in any context. The DDVAL field enables the Discrete Variable Optimization capability of Special Topics. Design variables may be defined as members of independent and dependent sets using DLINK Bulk Data entries, if desired.

DLINK Purpose: Imposes a linear relationship among the design variables. The set of all DLINK entries partitions the design variables into an independent set and a dependent set. Entry Description: DLINK

Main Index

ID

DDVID

CO

IDV3

C3

-etc.-

CMULT

IDV1

C1

IDV2

C2

214 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Field

Contents

ID

Unique entry identifier. (Integer > 0)

DDVID

Dependent design variable identification number. (Integer > 0)

C0

Constant term. (Real, default = 0.0)

CMULT

Constant multiplier. (Real, default = 1.0)

IDVi

Independent design variable identification number. (Integer > 0)

Ci

Coefficient i (corresponding to IDVi). (Real)

Associated Entries: Design variables are identified in DLINK relations by their IDs (both independent and dependent variables). DESVAR

ID

LABEL XINIT

XLB

XUB

DELXV DDVAL

Discussion: A DLINK entry specifies a design variable relationship of the form: xD = co +

 ci xi i

xD

= dependent design variable

co

= constant

ci

= constant multiplying coefficient

xi

= independent design variables

Design variable linking can be used, for example, to ensure structural symmetry or unify sizing changes across property groups. In this way, you can perform “what-if” studies to see how different modeling assumptions affect the derived design. The efficiency of the design process is usually improved if the number of independent design variables can be kept to a minimum. Placing a design variable in the dependent set using a DLINK entry removes it from the independent set.

Main Index

Chapter 4: Input Data 215 Bulk Data Entries

DOPTPRM Purpose: Overrides default values of parameters used in design optimization. Entry Description: DOPTPRM PARAM1

VAL1

PARAM2 VAL2

PARAM5

VAL5

-etc.-

Field

PARAM3 VAL3

PARAM4 VAL4

Contents

PARAMi

Name of the design optimization parameter. For allowable names, see the DOPTPRM listing in The Bulk Data Section in the MSC Nastran Quick Reference Guide. (Character)

VALi

Value of the parameter. (Real or Integer; see the DOPTPRM listing in The Bulk Data Section in the MSC Nastran Quick Reference Guide.)

Associated Entries: None Discussion: There are numerous parameters that control various aspects of the optimization process itself. While all of these parameters have defaults (the DOPTPRM entry is optional), the defaults may be changed using the DOPTPRM entry. An overview of selected parameters, grouped according to their functionality is presented in Optimization Parameters.

DRESP1 Purpose: Defines direct, or first-level, analysis responses to be used in design sensitivity and optimization. The responses identified here are those which are directly available from the analysis results as opposed to second-level responses which are defined using DRESP2 and DEQATN entries or third-level responses which are defined using DRESP3 and an external response evaluator. Entry Description: DRESP1 ID ATT2

Main Index

LABEL -etc.-

RTYPE

PTYPE

REGION ATTA

ATTB

ATT1

216 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Field

Contents

ID

Unique entry identifier. (Integer > 0)

LABEL

User-defined label. (Character)

RTYPE

Response type. See the DRESP1 listing in The Bulk Data Section (p. 1045) in the MSC Nastran Quick Reference Guide. (Character)

PTYPE

Element flag (PTYPE = “ELEM”) or property entry name. Used with element type responses (stress, strain, force, etc.) to identify the property type, since property entry IDs are not unique across property types. (Character: “ELEM”, “PBAR”, “PSHELL”, etc.)

REGION

Region identifier for constraint screening. (Integer > 0)

ATTA, ATTB, ATTi

Response attributes. (Integer > 0 or Real or blank)

Associated Entries: A response identified on a DRESP1 entry may be used either as a constraint or an objective. For constraints, the response is identified by its ID number on DCONSTR entries. DCONSTR DCID

RID

LALLOW

UALLOW

For the objective, a first-level response must define a single, scalar response (e.g., weight, an eigenvalue, a grid displacement component for a single subcase, and so on). The objective is defined in Case Control with the command   DESOBJ  min  = n  max 

where n is the DRESP1 entry ID. (Note that the n could optionally point to a DRESP2 or DRESP3 ID.) A DRESP1 response can also be used as input to synthetic responses defined on DRESP2 entries or by an external response on a DRESP3. It is referenced by its response ID. DRESP2 ID -

Main Index

LABEL -

EQID

REGION

-

-

“DTABLE” LABL1

LABL2

-etc.-

“DRESP1"

NR1

NR2

-etc.-

-

-

-

-

-

-

Chapter 4: Input Data 217 Bulk Data Entries

DRESP3 ID

LABEL

GROUP

TYPE

“DESVAR” DVID1

DVID2

-etc.-

“DRESP1" NR1

NR2

-etc.-

REGION

If a DRESP1 is to be used on a DRESP2 or DRESP3 that combines responses from two or more subcases, the DRSPAN Case Control command is required at the subcase level to indicate this: DRSPAN = m,n,... where m and n are DRESP1 entry IDs. Discussion: Depending on the particular analysis discipline, responses such as displacements, stresses, eigenvalues, etc., may be computed. The DRESP1 entry is used to identify responses that are to be used in connection with design sensitivity and optimization either as an objective or as a constraint. These responses may also be used as input to compute a second-level, or synthetic, response on a DRESP2 entry or passed to a third-level, or external, response on a DRESP3 entry for application in a user defined response. An internal Case Control for design sensitivity and optimization is built using the set of first-level responses. Selecting design responses using DRESP1 entries also ensures that the appropriate data recovery is performed, regardless of Case Control requests the user may have supplied. Output requests, if desired, still must be specified with the appropriate Case Control commands; however, this is for postprocessing convenience only and is not a requirement for either design sensitivity or optimization. Every DRESP1 entry has a unique ID, a user defined label and a response type. The response type identifies what type of response quantities is of interest. Table 4-3 identifies each of the 40 unique response types, indicates which ANALYSIS discipline (as defined on the ANALYSIS case control command) they are applicable for, the approximation method (direct or inverse) that is used when APRCOD=2 and the default REGION. If a response type is inconsistent with the ANALYSIS command as given in the table for a particular subcase, it is a User Fatal Error and the run is terminated. The REGION attribute on this entry is used in the constraint screening process discussed in Constraint Screening. If this field is left blank, the defaults of Table 4-3 apply. The N/A designations in this table refer to scalar responses where the concept of default REGION is not applicable. If a REGION is set, all responses that share the REGION ID and have the same response type will be grouped together during the screening process.

Main Index

218 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Table 4-3

Main Index

Response Type Options on the DRESP1 Entry

Response Types

Associated ANALYSIS Type

Approximation Technique

Default Region

WEIGHT

Any or None

Direct

N/A

VOLUME

Any or None

Direct

N/A

EIGN

MODES

Rayleigh Quotient

N/A

CEIG

DCEIG or MCEIG

Inverse

N/A

FREQ

MODES

Rayleigh Quotient

N/A

LAMA

BUCK

Direct*

N/A

DISP

STATICS or SAERO

Inverse

DRESP1 ID

STRAIN

STATICS or SAERO

Inverse

Property ID or N/A

ESE

STATICS or SAERO

Inverse

Property ID or N/A

STRESS

STATICS or SAERO

Inverse

Property ID or N/A

FORCE

STATICS or SAERO

Direct

Property ID or N/A

SPCFORCE

STATICS or SAERO

Inverse

DRESP1 ID

CSTRAIN

STATICS or SAERO

Inverse

Property ID or N/A

CSTRESS

STATICS or SAERO

Inverse

Property ID or N/A

CFAILURE

STATICS or SAERO

Inverse

Property ID or N/A

CSTRAT

STATICS or SAERO

Inverse

Property ID or N/A

TOTSE

STATICS or SAERO

Inverse

N/A

GPFORCE

STATICS or SAERO

Inverse

DRESP1 ID

GPFORCP

STATICS or SAERO

Inverse

DRESP1 ID

FRDISP

DFREQ or MFREQ

Inverse

DRESP1 ID

PRES

DFREQ or MFREQ

Inverse

DRESP1 ID

FRVELO

DFREQ or MFREQ

Inverse

DRESP1 ID

FRACCL

DFREQ or MFREQ

Inverse

DRESP1 ID

FRSPCF

DFREQ or MFREQ

Inverse

DRESP1 ID

FRSTRE

DFREQ or MFREQ

Inverse

Property ID or Element ID

FRFORC

DFREQ or MFREQ

Inverse

Property ID or Element ID

PSDDISP

DFREQ or MFREQ

Inverse

DRESP1 ID

PSDVELD

DFREQ or MFREQ

Inverse

DRESP1 ID

PSDACCL

DFREQ or MFREQ

Inverse

DRESP1 ID

RMSDISP

DFREQ or MFREQ

Inverse

N/A

RMSVELO

DFREQ or MFREQ

Inverse

N/A

Chapter 4: Input Data 219 Bulk Data Entries

Table 4-3

Response Type Options on the DRESP1 Entry (continued)

Response Types

Associated ANALYSIS Type

Approximation Technique

RMSACCL

DFREQ or MFREQ

Inverse

N/A

TDISP

MTRAN

Inverse

DRESP1 ID

TVELO

MTRAN

Inverse

DRESP1 ID

TACCL

MTRAN

Inverse

DRESP1 ID

TSPCF

MTRAN

Inverse

DRESP1 ID

TSTRE

MTRAN

Inverse

Property ID or Element ID

TFORC

MTRAN

Inverse

Property ID or Element ID

TRIM

SAERO

Inverse

N/A

STABDER

SAERO

Inverse

N/A

FLUTTER

FLUTTER

Inverse

DRESP1 ID

COMP**

STATICS

Inverse

N/A

FRMASS**

ANY

Direct

N/A

ACPWR

DFREQ or MFREQ

Inverse

DRESP1 ID

ACINTS

DFREQ or MFREQ

Inverse

DRESP1 ID

AFPRES

DFREQ or MFREQ

Inverse

DRESP1 ID

AFINTS

DFREQ or MFREQ

Inverse

DRESP1 ID

AFVELO

DFREQ or MFREQ

Inverse

DRESP1 ID

AFPWR

DFREQ or MFREQ

Inverse

DRESP1 ID

STMONP1

STATICS or SAERO

Inverse

DRESP1 ID

STMONO1

STATICS or SAERO

Inverse

DRESP1 ID

MONPNT3

STATICS or SAERO

Inverse

DRESP1 ID

AEMONP1

SAERO

Inverse

DRESP1 ID

AEMOND1

SAERO

Inverse

DRESP1 ID

Default Region

*Note that the approximation technique for these responses can be charged using the ATTB field on the DRESP1 entry. **COMP and FRMASS are only available for topology optimization. The fact that this single entry supports so many different response types makes this entry rather complex. A complete discussion explaining each of the response types in turn is given in Design Responses.

Main Index

220 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

DRESP2 Purpose: Defines equation responses that are used in the design, either as constraints or as an objective. Format: 1 DRESP2

2

4

5

6

7

8

9

LABEL

EQID or FUNC

REGION METHOD

C1

C2

C3

“DESVAR”

DVID1

DVID2

DVID3

DVID4

DVID5

DVID6

DVID7

DVID8

-etc.LABL3

LABL4

LABL5

LABL6

LABL7

NR3

NR4

NR5

NR6

NR7

C2

G3

C3

DPIP4

DPIP5

DPIP6

DPIP7

DCIC4

DCIC5

DCIC6

DCIC7

DMIM4

DMIM5

DMIM6

DMIM7

DPI2P4

DPI2P5

DPI2P6

DPI2P7

DCI2C4

DCI2C5

DCI2C6

DCI2C7

DMI2M5

DMI2M6 DMI2M7

NRR5

NRR6

“DTABLE” “DRESP1” “DNODE”

LABL1

LABL2

LABL8

-etc.-

NR1

NR2

NR8

-etc.-

G1

C1

G2

G4

C4

etc.

“DVPREL1”

DPIP1

DPIP2

DPIP3

DPIP8

DPIP9

-etc.-

“DVCREL1”

DCIC1

DCIC2

DCIC3

DCIC8

DCIC9

-etc.-

“DVMREL1”

DMIM1

DMIM2

DMIM3

DMIM8

DMIM9

-etc.-

“DVPREL2”

DPI2P1

DPI2P2

DPI2P3

DPI2P8

DPI2P9

-etc.-

DCI2C1

DCI2C2

DCI2C3

DCI2C8

DCI2C9

-etc.-

DMI2M1

DMI2M2

DMI2M3 DMI2M4

DMI2M8

DMI2M9

-etc.-

NRR1

NRR2

NRR3

NRR8

-etc.-

“DVCREL2” “DVMREL2” “DRESP2”

Main Index

3

ID

NRR4

NRR7

10

Chapter 4: Input Data 221 Bulk Data Entries

Example:

DRESP2 1 DESVAR

LBUCK

5

3

101

3

4

5

1

205

209

2

201 DTABLE

PI

YM

L

DRESP1

14

1

4

22

6

33

DNODE

14

1

4

1

22

3

2

1

43

1

101

102

DVCREL1 201

202

DVPREL1

DVMREL1 301 DVPREL2

401

402

DVCREL2 501 DVMREL2 601

602

DRESP2

51

50

603

Field

Contents

ID

Unique identification number. (Integer > 0)

LABEL

User-defined label. (Character)

EQID

DEQATN entry identification number. (Integer > 0)

FUNC

Function to be applied to the arguments. See Remark 8. (Character)

REGION

Region identifier for constraint screening. See Remark 5. (Integer > 0)

METHOD

When used with FUNC = BETA, METHOD = MIN indicates a minimization task while MAX indicates a maximization task. (Default = MIN) When used with FUNCT = MATCH, METHOD = LS indicated a least squares while METHOD = BETA indicated minimization of the maximum difference. (Default = LS)

Main Index

Ci

Constants used when FUNC = BETA or FUNC = MATCH in combination with METHOD = BETA. See Remark 8. (Real, Defaults: C1 = 100., C2 = .005)

“DESVAR”

Flag indicating DESVAR entry identification numbers. (Character)

DVIDi

DESVAR entry identification number. (Integer > 0)

“DTABLE”

Flag indicating that the labels for the constants in a DTABLE entry follow. (Character)

LABLj

Label for a constant in the DTABLE entry. (Character)

“DRESP1"

Flag indicating DRESP1 entry identification numbers. (Character)

NRk

DRESP1 entry identification number. (Integer > 0)

222 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Field

Contents

“DNODE”

Flag indicating grid point and component identification numbers. (Character)

Gm

Identification number for any grid point in the model. (Integer > 0)

Cm

Component number of grid point Gm. (1 < Integer < 3)

DVPREL1

Flag indicating DVPREL1 entry identification number. (Character)

DPIPi

DVPREL1 entry identification number. (Integer > 0)

DVCREL1

Flag indicating DVCREL1 entry identification number. (Character)

DCICi

DVCREL1 entry identification number. (Integer > 0)

DVMREL1

Flag indicating DVPREL2 entry identification number. (Character)

DMIMi

DVMREL1 entry identification number. (Integer > 0)

DVPREL2

Flag indicating DVPREL2 entry identification number. (Character)

DPI2Pi

DVPREL2 entry identification number. (Integer > 0)

DVCREL2

Flag indicating DVCREL2 entry identification number. (Character)

DCI2Ci

DVCREL2 entry identification number. (Integer > 0)

DVMREL2

Flag indicating DVMREL2 entry identification number. (Character)

DMI2Mi

DVMREL2 entry identification number. (Integer > 0)

DRESP2

Flag indicating other DRESP2 entry identification number. (Character)

NRRk

DRESP2 entry identification number. (Integer > 0)

Associated Entries: The DCONSTR entry can be used to place bounds on a DRESP2 response using the DRESP2 entry ID as a reference: DCONSTR DCID

RID

LALLOW UALLOW

A DRESP2 response can also be used as input on another DRESP2 entry or on an external response defined on DRESP3 entries. DRESP2 ID -

Main Index

LABEL

EQID

REGION

-

-

-

“DTABLE” LABL1

LABL2

-etc.-

“DRESP2” NRR1

NRR2

-etc.-

-

-

-

-

-

-

Chapter 4: Input Data 223 Bulk Data Entries

DRESP3 ID

LABEL

“DESVAR” DVID1 -

-

GROUP

TYPE

DVID2

-etc.-

-

-

“DRESP1” NR1

NR2

-etc.-

“DRESP2” NRR1

NRR2

-

REGION

-

-

The DESOBJ Case Control command can also reference the DRESP2 entry ID:   DESOBJ  min  = n  max 

Discussion: It is often desirable to define responses that MSC Nastran does not calculate directly, e.g., local buckling criteria. Typically, the response equation is written on a DEQATN entry. This type of response is referred to as “second-level” as opposed to “first-level” responses which are directly available from the analysis. The DRESP2 entry defines the input, or actual, arguments to these equations. The arguments may be design variables, table constants, first-level structural responses, grid coordinate locations, first and second-level properties and other second level responses. The order of the arguments in the equation is dictated by the order in which they appear on the DRESP2. It is therefore expected that the number of arguments on the DEQATN will equal the number of DRESP2 arguments. The discussion of the DEQATN indicates that the number of DEQATN arguments may exceed those on the DRESP2. In this case, the missing arguments are implied frequencies. The DRESP1 quantities called out on the DRESP2 can belong to separate superelements or subcases. If the DRESP1 quantities are not in the same subcase, it is necessary in Case Control to invoke the DRESP2 above the subcase level and to insert a DRSPAN command in the individual subcases to which the DRESP1 response belongs. DRESP2 quantities called out on a DRESP2 must belong in the same subcase. An alternative to referencing an equation ID is to supply one of the available FUNC character strings: Table 4-4 Function

Main Index

Description

SUM

Sum of the arguments

AVG

Average of the arguments

SSQ

Sum of the squares of the arguments

RSS

Square root of the sum of the squares of the arguments

MAX

The largest value of the argument list

MIN

The smallest value of the argument list

224 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Function

Description

BETA

Minimize the maximum response

MATCH

Match analysis results with user specified value

The meanings of the first six functions is the same as that given for the same functions described in Table 4-2. The arguments used in the equations are all the arguments of the DRESP2 so that, for example, the AVG function can be used to find the average of number of design variable values. The BETA function has been provided to simplify input when the user wishes to minimize the maximum response. The example in Acoustic Optimization discusses this technique and provides input fragments of doing this with and without the FUNC = BETA feature. The DRESP2 with FUNC = BETA is intended to create the following design task Minimize:

F  X  = C1 X

Subject to:

r j – X  g = -------------------  0 C3

where C 1 and C 3 are user input values that have default values of 100. and 10.0. respectively. C 1 is used to scale the objective function and C 3 is used to offset the constraint bound from 0. The  quantity is computed so that the maximum constraint for all the response is equal to another user input value C 2 : g max =  r jmax – X    C 3 = c 2

where g max is the value of the maximum response for the initial design. The default value for C 2 is 0.005, creating a maximum constraint that is just equal to the default value of DOPTPRM parameter GMAX. The METHOD field on DRESP2 can be used in conjunction with FUNC = BETA to designate whether the task is to minimize the maximum response (METH = MIN) or maximize the minimum response (METH = MAX). The MATCH function has been provided to simplify input when the user wishes to match analysis results with given values, such as those obtained in a test. Depending on the value of METHOD, one of two techniques is used to create the match. When FUNC = MATCH and METHOD = LS, a least square approach is used. The technique converts the user input into a response of the following form: m

R mat ch =

J=1

Main Index

T 2

 rj – rj 

-   -------------T r  j

Chapter 4: Input Data 225 Bulk Data Entries

where r j is a response from a DRESP1 and r Tj is a user defined target response. Typically, this response would be designated as the objective function to be minimized but it could also be constrained. When FUNC = BETA and METHOD = BETA, a beta approach is applied to minimize maximum deviation in a way similar to the FUNC = BETA method described above. In this case, the DRESP2 results in a design task to minimize a spawned design variable: F  X  = C1 X

subject to: T

 rj – rj  -  X  – X   ------------------T rj

j = 1 2 m

Because X  can become small, it is necessary to offset the constraint in a fashion similar to the BETA method given above. Define: T

 rj – rj  r j = ------------------T rj

and then determine R 2ma x and R 2mi n ,, the maximum and minimum values of r j2 . The  quantity can then be determined from user specified values of C 2 and C 3 using the following equation: Max  R 2max – R 2min  – X  --------------------------------------------------------------------- = C 2 C3

In this case, the DRESP2 can only be invoked as the objective and cannot be constrained.

DRESP3 Purpose: Defines an external response using user-supplied routines. The response can be used as a constraint or as an objective. Entry Description: 1 DRESP3

Main Index

2

3

4

5

6

ID

LABEL

GROUP

TYPE

REGION

“DESVAR”

DVID1

DVID2

DVID3

DVID4

7

8

DVID5

DVID6

9 DVID7

10

226 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

DVID8 “DTABLE” “DRESP1” “DNODE” “DVPREL1” “DVCREL1” “DVMREL1” “DVPREL2” “DVCREL2” “DVMREL2” “DRESP2” “USRDATA”

-etc.-

LABL1

LABL2

LABL8

-etc.-

LABL3

LABL4

LABL5

LABL6

LABL7

NR3

NR4

NR5

NR6

NR7

C2

G3

C3

DPIP4

DPIP5

DPIP6

DPIP7

DCIC4

DCIC5

DCIC6

DCIC7

DMIM4

DMIM5

DMIM6

DMIM7

DPI2P4

DPI2P5

DPI2P6

DPI2P7

DCI2C4

DCI2C5

DCI2C6

DCI2C7

DMI2M4

DMI2M5

DMI2M6

DMI2M7

NRR4

NRR5

NRR6

NRR7

NR1

NR2

NR8

-etc.-

G1

C1

G2

G4

C4

etc.

DPIP1

DPIP2

DPIP3

DPIP8

DPIP9

-etc.-

DCIC1

DCIC2

DCIC3

DCIC8

DCIC9

-etc.-

DMIM1

DMIM2

DMIM3

DMIM8

DMIM9

-etc.-

DPI2P1

DPI2P2

DPI2P3

DPI2P8

DPI2P9

-etc.-

DCI2C1

DCI2C2

DCI2C3

DCI2C8

DCI2C9

-etc.-

DMI2M1

DMI2M2

DMI2M3

DMI2M8

DMI2M9

-etc.-

NRR1

NRR2

NRR3

NRR8

-etc.-

Character String Data -etc.-

Example:

DRESP3 1 DESVAR

LBUCK

TAILWNG

BUCK

101

3

4

5

1

205

209

2

201 DTABLE

PI

YM

L

DRESP1

14

1

4

22

6

33

DNODE

14

1

4

1

22

3

2

1

43

1

101

102

DVCREL1 201

202

DVPREL1

DVMREL1 301 DVPREL2

401

402

DVCREL2 501 DVMREL2 601

Main Index

602

603

Chapter 4: Input Data 227 Bulk Data Entries

DRESP2

50

USRDATA

1234 Material Constants

51

Field

Main Index

Contents

ID

Unique identification number. (Integer > 0)

LABEL

User-defined label. (Character)

GROUP

Group of external response that this type belongs to. (Character)

TYPE

External response type. (Character)

“DESVAR”

Flag indicating DESVAR entry identification numbers. (Character)

DVIDi

DESVAR entry identification number. (Integer > 0)

“DTABLE”

Flag indicating that the labels for the constants in a DTABLE entry follow. (Character)

LABLj

Label for a constant in the DTABLE entry. (Character)

“DRESP1"

Flag indicating DRESP1 entry identification numbers. (Character)

NRk

DRESP1 entry identification number. (Integer > 0)

“DNODE”

Flag signifying that the following fields are grid points.

Gm

Grid point identification number. (Integer > 0)

Cm

Degree-of-freedom number of grid point GM. (1 < Integer < 3)

DVPREL1

Flag indicating DVPREL1 entry identification number. (Character)

DPIPi

DVPREL1 entry identification number. (Integer > 0)

DVCREL1

Flag indicating DVCREL1 entry identification number. (Character)

DCICi

DVCREL1 entry identification number. (Integer > 0)

DVMREL1

Flag indicating DVPREL2 entry identification number. (Character)

DMIMi

DVMREL1 entry identification number. (Integer > 0)

DVMPREL2

Flag indicating DVPREL2 entry identification number. (Character)

DPI2Pi

DVPREL2 entry identification number. (Integer > 0)

DVCREL2

Flag indicating DVCREL2 entry identification number. (Character)

DCI2Ci

DVCREL2 entry identification number. (Integer > 0)

DVMREL2

Flag indicating DVMREL2 entry identification number. (Character)

DMI2Mi

DVMREL2 entry identification number. (Integer > 0)

DRESP2

Flag indicating other DRESP2 entry identification number. (Character)

NRRk

DRESP2 entry identification number. (Integer > 0)

USRDATA

Flag indicating user input data. (Character)

228 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Associated Entries: The DCONSTR entry can be used to place bounds on a DRESP3 response using the DRESP3 entry ID as a reference: DCONSTR DCID

RID

LALLOW UALLOW

The DESOBJ Case Control command can also reference the DRESP3 entry ID.   DESOBJ  min  = n  max 

Discussion: As discussed in Design Responses, the DRESP3 entry enables the consideration of responses that are not direct MSC Nastran quantities and that cannot be formulated from MSC Nastran quantities through the use of the DRESP2 entry. Instead, the DRESP3 invokes an API (application programming interface) to compute the response using a combination of MSC Nastran supplied data and user supplied data and algorithms. It is seen that the input format for the DRESP3 is very similar to the DRESP2 in that it permits a variety of types of information to be used as arguments. The DRESP3 does not use the DEQATN, so there is no EQID identified. Instead, the GROUP name refers to an FMS CONNECT entry (See File Management) that defines the API evaluator while the TYPE argument identifies the particular response type that is to be used to evaluate the response. Another difference from the DRESP2 is the provision for another type of data designed USRDATA. This character string data provides a convenient way of communicating to the API and can include, for example, a file name that needs to be opened or some special instructions. The server program parses this character string and takes the appropriate action. As with the DRESP2, it is necessary to use the DRSPAN Case Control command when the DRESP1 quantities come from more than one subcase.

DSCREEN Purpose: Defines override information necessary to screen the constraints for temporary deletion. Entry Description: DSCREEN RTYPE Field

Main Index

TRS

NSTR Contents

RTYPE

Response type for which the screening criteria apply. (Character)

TRS

Truncation threshold. (Real; Default = -0.5)

NSTR

Maximum number of constraints to be retained per region per load case. (Integer > 0; Default = 20)

Chapter 4: Input Data 229 Bulk Data Entries

Associated Entries: The regions for constraint screening are automatically established by default. These defaults can be overridden though and new ones can be established by defining new regions on the DRESP1, DRESP2 or DRESP3 entries. DRESP1 ID ATT2 DRESP2 ID

LABEL

RTYPE

PTYPE

REGION ATTA

ATT1

-etc.EQID

REGION

“DESVAR” DVID1

DVID2

-etc.-

“DTABLE” LABL1

LABL2

-etc.-

GROUP

TYPE

“DESVAR” DVID1

DVID2

-etc.-

-

-

-

“DRESP1” NR1

NR2

-etc.-

“DRESP2” NRR1

NRR2

DRESP3 ID

ATTB

LABEL

LABEL -

REGION

Discussion: To reduce the costs associated with the sensitivity analysis and to reduce the size of the optimization problem, many of the noncritical constraints are dynamically deleted during the optimization process. Default values of parameters that control the screening process can be overridden using DSCREEN entries. Since these defaults are often satisfactory, including DSCREEN entries is often unnecessary. One application where it has utility is when you are performing a sensitivity analysis and want to make sure that the sensitivities of all the responses of interest are provided. The TRS value can then be set to a large negative number (say -1000.) and the NSTR value can be set to a number equal to or greater than the number of responses. The RTYPE refers to the RTYPE used on the DRESP1. For the DRESP2’s, the applicable RTYPE is EQUA. For the DRESP3’s, the applicable RTYPE for constraint screening is DRESP3. Constraint screening is performed in two stages. In the first step, deletion, the constraint values that fall below a certain threshold level are deleted from the constraint set. The default threshold level is -0.5, but this can be overridden by specifying a TRS value on the DSCREEN entry. In MSC Nastran, the normalized constraints are considered violated if they are positive quantities. The default TRS states that only those constraints that are within 50% of their critical values are retained. The second step, regionalization, sorts the remaining constraints and retains up to a prescribed maximum per region per load case. The default region specifications are given in Table 4-3 as a function of Response type. NSTR, or the number of constraints to be retained per region, has a default value of 20, which again can be overridden. The NSTR value can not be used for response types WEIGHT, VOLUME, EIGN, and LAMA.

Main Index

230 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

DTABLE Purpose: Defines a table of constants to be used in conjunction with DEQATN equations. Entry Description: DTABLE LABL1

VALU1

LABL2

VALU2

LABL3 VALU3

LABL5

VALU5

LABL6

VALU6

-etc.-

Field

LABL4

VALU4

Contents

LABLi

Label for the constant. (Character)

VALUi

Value of the constant. (Real or Integer)

Associated Entries: DRESP2, DRESP3 and DVPREL2, DVCREL2, DVMREL2 entries list the input arguments to equations that define synthetic response and property relations, respectively. These input arguments may include table constants defined on the DTABLE entry. DRESP2 ID

EQID

REGION

“DESVAR” DVID1

DVID2

-etc.-

“DTABLE” LABL1

LABL2

-etc.-

“DRESP1"

NR1

NR2

-etc.-

-

-

-

-

-

LABEL

GROUP

TYPE

REGION

“DESVAR” DVID1

DVID2

-etc.-

“DTABLE” LABL1

LABL2

-etc.-

-

-

-

DRESP3 ID

DVPREL2

ID

TYPE

-

PID

FID

PMIN

“DESVAR” DVID1

DVID2

DVID3

-etc.-

“DTABLE” LABL1

LABL2

LABL3

-etc.-

DVCREL2 ID

Main Index

LABEL

EID

CPNAME

CPMIN

“DESVAR” DVID1

TYPE

DVID2

DVID3

-etc.-

“DTABLE” LABL1

LABL2

LABL3

-etc.-

PMAX

EQID

CPMAX EQID

Chapter 4: Input Data 231 Bulk Data Entries

DVMREL2 ID

TYPE

MID

MINAME

MPMIN

“DESVAR” DVID1

DVID2

DVID3

-etc.-

“DTABLE” LABL1

LABL2

LABL3

-etc.-

MPMAX EQID

Discussion: Constants used in equations can either be “built into” the DEQATN entry when the equation is defined or passed in as arguments. Building-in the values of constants may be inconvenient and can prevent one equation from easily being used in different contexts. The DTABLE entry allows these constants to be stored in a table and then used in the equations as necessary. On the DTABLE entry, a constant is given a name and a value. When the “DTABLE” argument list is defined on a DVPREL2 or other entry, the constant is referenced by its name. Only one DTABLE entry may appear in the Bulk Data. For PART SE, if LABLi is referenced on SEDRSP2 and/or SEDRSP3, DTABLE entries must be placed in a PART SE where companion design model entries, such as DESVAR, DRESP1 and etc, are available. If the VALUi is an integer, this points to the ID of a TABLEDx Bulk Data entry that lists the constants as a function of frequency or time.

DTABLE2 Purpose Defines real constants from a field of property, material or connections bulk data entries which then can be invoked by a DVxREL2, DRESP2, or DRESP3 entry. Entry Description: 1

2

3

4

5

6

7

8

9

DTABLE2

LABL1

PNAME1

PID1

FNAME1

LABL2

PNAME2

PID2

FNAME2

LABL3

PNAME3

PID3

FNAME3

PTHK10

PSHELLL

10

T

MATIE

MT1

38

E

CBARX1

CBAR

3888

X1

Example: DTABLE2

Main Index

Field

Contents

LABLi

Label for the constant. (Character)

PNAMEi

Property, material or connection bulk data entry name. (Character)

PIDi

ID of PNAMEi entry. (Integer > 0)

FNAMEi

Field name of PNAMEi. (Character)

10

232 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Discussion: LABLi on DTABLE2 and DTABLE must be unique. LABLi on DTABLE2 can be referenced under DTABLE flag of DVxREL2 (where x=P, M or C)/DRESP2/DRESP3. Values for the FNAMEi field of the PNAMEi Bulk Data entry with the ID of PIDi are taken from analysis model before updating of analysis values with the designed value. If the updated value is desired, use the DVxREL2 flag on DRESP2 or DRESP3 entries instead. FNAMEi must be the same as the character string that appears on the PNAMEi Bulk Data entry.

DVBSHAP Purpose: Defines a shape basis vector as a linear combination of analytic boundary shapes solutions and assigns a design variable to the result. Entry Description: DVBSHAP DVID

AUXMOD COL1

SF1

Field

COL2

SF2

COL3

SF3

Contents

DVID

Design variable identification number of a DESVAR entry. (Integer > 0)

AUXMOD

Auxiliary model identification number. (Integer > 0)

Coli

Load sequence identification number from AUXMODEL Case Control command. (Integer > 0)

SFi

Scaling factor for load sequence identification number. (Real; Default = 1.0)

Associated Entries: Design variables must first be defined using DESVAR entries. DESVAR ID

LABEL

XINIT

XLB

XUB

DELXV

Discussion: In shape optimization, shape basis vectors relate the changes in a design variable to changes in grid locations. Analytical Boundary Shapes are calculated in an auxiliary model as described in Relating Design Variables to Shape Changes. The DVBSHAP entry is then used to identify the auxiliary model and then apply scale factors to a series of solution vectors. If multiple DVBSHAP entries share the same design variable ID, the shapes are added.

Main Index

Chapter 4: Input Data 233 Bulk Data Entries

DVCREL1 Purpose: Defines the relation between a connectivity property and design variables. Entry Description: DVCREL1 ID DVID1

TYPE

EID

CFNAME

CPMIN

CPMAX C0

COEF1/ PVAL

DVID2

COEF2

DVID3

COEF3

Field

-etc.-

Contents

ID

Unique identification number. (Integer > 0)

TYPE

Name of an element connectivity entry, such as “CBAR”, “CQUAD”, etc. (Character)

EID

Element Identification number. (Integer > 0)

CPNAME

Name of connectivity property, such as “X1”, “X2”, “X3”, “ZOFFS”, etc. (Character)

CPMIN

Minimum value allowed for this property. If CPNAME references a connectivity property that can only be positive, then the default value of CPMIN is 1.0E-20. Otherwise, it is -1.0E35. (Real)

CPMAX

Maximum value allowed for this property. (Real; Default = 1.0E+20)

C0

Constant term of relation. (Real; Default = 0.0)

DVIDi

DESVAR entry identification number. (Integer > 0)

COEFi

Coefficient of linear relation. (Real)

‘PVAL’

Flag to indicate COEF2 is to be set to the current connectivity property. (Character = PVAL)

Associated Entries: Design variables are referenced on DVCREL1 entries by their DESVAR-defined IDs. DESVAR ID

Main Index

LABEL

XINIT

XLB

XUB

DELXV

234 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

The DVCREL1 can be included in DRESP2 or DRESP3 entries: DRESP2 ID

LABEL

EQID

REGION

“DESVAR”

DVID1

DVID2

-etc.-

-

-

-

-

“DRESP1”

NR1

NR2

-etc.-

-

-

-

-

“DVCREL1”

DCIC1

DCIC2

-etc.-

LABEL

GROUP

TYPE

“DESVAR”

DVID1

DVID2

-etc.-

-

-

-

-

-

-

-

-

-

-

-

-

“DVCREL1”

DCIC1

DCIC2

-etc.-

DRESP3 ID

-

-

REGION

-

-

Discussion: A “connectivity” property is one that has been defined on a Bulk Data entry that begins with the letter “C”. The design of these properties enables you to design things such as beam offsets and concentrated masses. A connectivity property can be expressed as a linear combination of design variables as p1 = c0 + c1 x1 + c2 x2 +  + cn xn

Both independent as well as dependent design variables can appear in this relation (see the DLINK entry). This form is especially useful in the sense that it can be used to express not only a simple one-toone correspondence between a design variable and a property, but more complex reduced basis formulations as well. The CPNAME is a character string that identifies the required property value by using the same name as that given in the MSC Nastran Quick Reference Guide. Table 2-3 of this User’s Guide identifies the properties that are available for design. It is seen that limits can be placed on the property by specifying CPMIN and CPMAX values. This is in addition to the limits that are provided by the XLB/XUB fields on the DESVAR entries. If possible, the limits on the DESVAR entries should be more restrictive than those on the DVCREL1 entries. This is because the optimizer will never allow a design variable limit to be violated, but it may allow a property limit to be violated if this seems to help satisfy some other violated constraint. Violating a connectivity constraint could have disastrous results if it produces an element that is physically meaningless. It is seen that there is a certain ambiguity in the computation of the connectivity property value in that it is the product of the user defined coefficients and the design variable value. A guideline is that the coefficients should be specified in a way that allows the design variable values to be near unity. The optimizer performs best when all the design variables are in the same range and, in particular, when they are all on the order of 1.0.

Main Index

Chapter 4: Input Data 235 Bulk Data Entries

If the term ‘PVAL’ is entered in the COEF1 field, this is a flag that the COEF1 value is to be obtained from the corresponding property on the connectivity entry. This simplifies the process of completing this entry when the desire is to have a one-to-one correspondence between the designed variable and the designed property. The assumption is that the DESVAR entry identified by DVID1 is 1.0.

DVCREL2 Purpose: Defines a connectivity property by reference to an equation defined on a DEQATN entry. Entry Description: DVCREL2 ID

EID

CPNAME

“DESVAR” DVID1

DVID2

-etc.-

“DTABLE” LABl1

LABL2

-etc.-

Field

Main Index

TYPE

CPMIN CPMAX EQID

Contents

ID

Unique identification number. (Integer > 0)

TYPE

Name of an element connectivity entry, such as “CBAR”, “CBEAM”, etc. (Character)

EID

Element Identification number. (Integer > 0)

CPNAME

Connectivity property name, such as “Z1”, “ZOFFS”, etc. (Character)

CPMIN

Minimum value allowed for this property. If CPNAME references a connectivity property that can only be positive, then the default value of CPMIN is 1.0E-20. Otherwise, it is -1.0E35. (Real)

CPMAX

Maximum value allowed for this property. (Real; Default = 1.0E20)

EQID

DEQATN entry identification number. (Integer > 0)

“DESVAR”

DESVAR flag. Indicates that the IDs of DESVAR entries follow. (Character)

DVIDi

DESVAR entry identification number. (Integer > 0)

“DTABLE”

DTABLE flag. Indicates that the IDs for the constants in a DTABLE entry follow. This field may be omitted if there are no constants involved in this relation. (Character)

LABi

Label for constant on the DTABLE entry. (Integer > 0)

236 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Associated Entries: To define a synthetic property relation, the DVCREL2 entry identifies a DEQATN entry and declares the design variable (DESVAR) and any necessary table constant (DTABLE) arguments. DEQATN EQID

EQUATION EQUATION (Cont.)

DESVAR ID

LABEL

XINIT

XLB

XUB

DELXV

DTABLE LABL1

VALU1

LABL2

VALU2

LABL3 VALU3 LABL4 VALU4

LABL5

VALU5

LABL6

VALU6

-etc.-

The DVCREL2 entries can be included in DRESP2 or DRESP3 entries. DRESP2 ID

LABEL

EQID

REGION

“DESVAR”

DVID1

DVID2

-etc.-

-

-

-

-

“DRESP1”

NR1

NR2

-etc.-

-

-

-

-

“DVCREL2”

DCIC1

DCIC2

-etc.-

LABEL

GROUP

TYPE

“DESVAR”

DVID1

DVID2

-etc.-

-

-

-

-

-

-

-

-

-

-

-

-

“DVCREL2”

DCIC1

DCIC2

-etc.-

DRESP3 ID

-

-

REGION

-

-

Discussion: For some applications, the linear design variable-to-property relations provided by the DVCREL1 entry may not be sufficient. In these cases, equations may be defined to relate design variables to properties in a nonlinear fashion. The DVCREL2 entry provides the arguments to an equation defined on a DEQATN entry. These arguments may be design variables defined on DESVAR entries and table constants defined on a DTABLE entry. Every property defined on a DVCREL2 entry becomes an independently varying property internally in MSC Nastran. Design sensitivities are first computed with respect to these independently varying properties, and then the chain rule applied to relate these sensitivities to changes in the design variables. Care should be taken to not use the DVCREL2 entry when the relationship between the design variable and the connectivity property is linear; the DVCREL1 entry should be used in this case. This is because the DVCREL2 entry requires the added design sensitivity calculations and could therefore impact the performance.

Main Index

Chapter 4: Input Data 237 Bulk Data Entries

DVGRID Purpose: Defines design variable-to-grid coordinate relations for shape sensitivity and optimization. Entry Description: DVGRID DVID

GID

CID

COEFF

Field

N1

N2

N3

Contents

DVID

DESVAR entry identification number. (Integer > 0)

GID

Grid point identification number. (Integer > 0)

CID

Coordinate system identification number. (Integer > 0; Default = 0)

COEFF

Multiplier of the vector defined by Ni. (Real; Default = 0.0)

Ni

Components of the vector measured in the coordinate system defined by CID. (Real; at least one Ni  0.0 )

Associated Entries: The DESVAR entry defines a design variable that can be used to describe grid variations as well as other design relations. The GRID entry (not shown) provides the baseline locations for the designed grid. DESVAR ID

LABEL

XINIT

XLB

XUB

DELXV

Discussion: Changes in grid coordinate values are expressed as functions of design variables according to the relation  G i  =

  T  ij  xj j

where changes in the i-th grid point are expressed in terms of changes in the j-th design variable. If the number of design variables is less than the number of grid points, this relation is called a reduced basis formulation. Reduced basis formulations are discussed in Basis Vectors in Shape Optimization. The DVGRID entry defines the particular grid point, design variable, and components of each  T  ij vector. Multiple references to the same grid point and design variable pair result in vectorial addition of the corresponding  T  ij . Other shape basis vector definition methods utilize DVBSHAP and DVSHAP Bulk Data entries.

Main Index

238 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

DVMREL1 Purpose: Defines the relation between a material property and design variables. Entry Description: DVMREL1 ID

TYPE

DVID1 COEF1/ 'PVAL’

MID

MFNAME MPMIN

CMPMAX C0

DVID2

COEF2

COEF3

Field

DVID3

-etc.-

Contents

ID

Unique identification number. (Integer > 0)

TYPE

Name of a material property entry, such as “MAT1”, “MAT2”, etc. (Character)

MID

Material Identification number. (Integer > 0)

MPNAME

Name of material property, such as “E”, “RHO”, etc. (Character)

MPMIN

Minimum value allowed for this property. If MPNAME references a material property that can only be positive, then the default value of MPMIN is 1.0E-20. Otherwise, it is -1.0E35. (Real)

MPMAX

Maximum value allowed for this property. (Real; Default = 1.0E+20)

C0

Constant term of relation. (Real; Default = 0.0)

DVIDi

DESVAR entry identification number. (Integer > 0)

COEFi

Coefficient of linear relation. (Real)

‘PVAL’

Flag to indicate COEF1 is to be set to the current material property. (Character = ‘PVAL’)

Associated Entries: Design variables are referenced on DVMREL1 entries by their DESVAR-defined IDs. DESVAR ID

LABEL

XINIT

XLB

XUB

DELXV

The DVMREL1 can be included in DRESP2 or DRESP3 entries: DRESP2 ID

LABEL

EQID

REGION

“DESVAR”

DVID1

DVID2

-etc.-

-

-

-

-

“DRESP1”

NR1

NR2

-etc.-

-

-

-

-

DMIM2

-etc.-

“DVMREL1” DMIM1

Main Index

-

-

Chapter 4: Input Data 239 Bulk Data Entries

DRESP3 ID

LABEL

GROUP

TYPE

“DESVAR”

DVID1

DVID2

-etc.-

-

-

-

-

DMIM2

-etc.-

“DVMREL1” DMIM1

REGION -

-

Discussion: A material property is a real number that has been defined on a MATi Bulk Data entry. The design of these properties allows you to vary such key parameters as Young’s Modulus and material density. A material property can be expressed as a linear combination of design variables as p1 = c0 + c1 x1 + c2 x2 +  + cn xn

Both independent as well as dependent design variables can appear in this relation (see the DLINK entry). This form can be used to express not only a simple one-to-one correspondence between a design variable and a property, but more complex reduced basis formulations as well. The MPNAME is a character string that identifies the required property value by using the same name as that given in the MSC Nastran Quick Reference Guide. Table 2-2 of this User’s Guide identifies the properties that are available for design. It is seen that limits can be placed on the property by specifying MPMIN and MPMAX values. This is in addition to the limits that are provided by the XLB/XUB fields on the DESVAR entries. If possible, the limits on the DESVAR entries should be more restrictive than those on the DVPREL1 entries. This is because the optimizer will never allow a design variable limit to be violated, but it may allow a property limit to be violated if this seems to help satisfy some other violated constraint. Violating a material property constraint could have disastrous results if it produces a material that is physically meaningless. It is seen that there is a certain ambiguity in the computation of the material property value in that it is the product of the user defined coefficients and the design variable value. A guideline is that the coefficients should be specified in a way that allows the design variable values to be near unity. The optimizer performs best when all the design variables are in the same range and, in particular, when they are all on the order of 1.0. If the term ‘PVAL’ is entered in the COEF1 field, this is a flag that the COEF1 value is to be obtained from the corresponding property on the material entry. This simplifies the process of completing this entry when the desire is to have a one-to-one correspondence between the designed variable and the designed property. The assumption is that the DESVAR entry identified by DVID1 is 1.0.

Main Index

240 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

DVMREL2 Purpose: Defines a connectivity property by reference to an equation defined on a DEQATN entry. Entry Description: DVMREL2 ID

TYPE

EID

MFNAME

“DESVAR” DVID1

DVID2 -etc.-

“DTABLE” LABL1

LABL2 -etc.-

Field

MPMIN

MPMAX EQID

Contents

ID

Unique identification number. (Integer > 0)

TYPE

Name of a material property entry, such as “MAT1”, “MAT2”, etc. (Character)

MID

Material Identification number. (Integer > 0)

MPNAME

Name of material property, such as “E”, “RHO”, etc. (Character)

MPMIN

Minimum value allowed for this property. If MPNAME references a material property that can only be positive, then the default value of MPMIN is 1.0E20. Otherwise, it is -1.0E35. (Real)

MPMAX

Maximum value allowed for this property. (Real; Default = 1.0E+20)

EQID

DEQATN entry identification number. (Integer > 0)

“DESVAR”

DESVAR flag. Indicates that the IDs of DESVAR entries follow. (Character)

DVIDi

DESVAR entry identification number. (Integer > 0)

“DTABLE”

DTABLE flag. Indicates that the IDs for the constants in a DTABLE entry follow. This field may be omitted if there are no constants involved in this relation. (Character)

LABi

Label for a constant on the DTABLE entry. (Integer > 0)

Associated Entries: To define a synthetic property relation, the DVMREL2 entry identifies a DEQATN entry and declares the design variable (DESVAR) and any necessary table constant (DTABLE) arguments. DEQATN EQID

EQUATION EQUATION (Cont.)

DESVAR ID

Main Index

LABEL

XINIT

XLB

XUB

DELXV

Chapter 4: Input Data 241 Bulk Data Entries

DTABLE LABL1

VALU1

LABL2

VALU2

LABL3 VALU3 LABL4 VALU4

LABL5

VALU5

LABL6

VALU6

-etc.-

The DVMREL2 entries can be included in DRESP2 or DRESP3 entries. DRESP2 ID

LABEL

EQID

REGION

“DESVAR”

DVID1

DVID2

-etc.-

-

-

-

-

“DRESP1”

NR1

NR2

-etc.-

-

-

-

-

-

-

“DVMREL2” DMI2M1 DMI2M2 -etc.DRESP3 ID

LABEL

GROUP

TYPE

“DESVAR”

DVID1

DVID2

-etc.-

-

-

-

-

-

-

-

-

REGION

-

-

“DVMREL2” DMI2M1 DMI2M2 -etc.Discussion: For some applications, the linear design variable-to-property relations provided by the DVMREL1 entry may not be sufficient. In these cases, equations may be defined to relate design variables to material properties in a nonlinear fashion. The DVMREL2 entry provides the arguments to an equation defined on a DEQATN entry. These arguments may be design variables defined on DESVAR entries and table constants defined on a DTABLE entry. Every property defined on a DVMREL2 entry becomes an independently varying property internally in MSC Nastran. Design sensitivities are first computed with respect to these independently varying properties, and then the chain rule applied to relate these sensitivities to changes in the design variables. Care should be taken to not use the DVMREL2 entry when the relationship between the design variable and the material property is linear; the DVMREL1 entry should be used in this case. This is because the DVMREL2 entry requires the added design sensitivity calculations and could therefore impact the performance.

Main Index

242 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

DVPREL1 Purpose: Defines the relation between an analysis model property and design variables. Format: 1

2

DVPREL1

3

4

5

6

7

ID

TYPE

PID

PNAME/ PMIN FID

PMAX

DVID1

COEF1/ ‘PVAL’

DVID2

COEF2

DVID3

-etc.-

12

PBAR

612

6

0.2

3.0

4

0.25

20

20.0

5

0.3

8

9

10

C0

Example: DVPREL1

Field

Contents

ID

Unique identification number. (Integer > 0)

TYPE

Name of a property entry, such as “PBAR”, “PBEAM”, etc. (Character)

PID

Property entry identification number. (Integer > 0)

PNAME/FlD

Property name, such as “T”, “A”, or field position of the property entry, or word position in the element property table of the analysis model. (Character or Integer  0)

PMIN

Minimum value allowed for this property. If FID references a stress recovery location, then the default value for PMIN is -1.0 + 35. PMIN must be explicitly set to a negative number for properties that may be less than zero (for example, field ZO on the PCOMP entry). (Real; Default = 1.0E-20)

PMAX

Maximum value allowed for this property. (Real; Default = 1.0E+20)

C0

Constant term of relation. (Real; Default = 0.0)

DVIDi

DESVAR entry identification number. (Integer > 0)

COEFi

Coefficient of linear relation. (Real)

‘PVAL’

Flag to indicate COEF1 is to be set to the current property value (Character = ‘PVAL’)

Associated Entries: Design variables are referenced on DVPREL1 entries by their DESVAR-defined IDs. DESVAR ID

Main Index

LABEL

XINIT

XLB

XUB

DELVXV

Chapter 4: Input Data 243 Bulk Data Entries

The DVPREL1 IDs can be included in DRESP2 or DRESP3 entries: DRESP2 ID

LABEL

EQID

REGION

“DESVAR”

DVID1

DVID2

-etc.-

-

-

-

-

“DRESP1”

NR1

NR2

-etc.-

-

-

-

-

“DVPREL1”

DPIP1

DPIP2

-etc.-

DRESP3 ID

LABEL

GROUP

TYPE

“DESVAR” DVID1

DVID2

-etc.-

-

-

-

-

-

-

“DVPREL1 DPIP1 ”

-

-

DPIP2

-etc.-

-

-

REGION

-

-

Discussion: An analysis model property can be expressed as a linear combination of design variables as p1 = c0 + c1 x1 + c2 x2 +  + cn xn

For type = GPLY on PCOMPG entry Pi = C0 + ...... (This equation is in QRG Remark 8 of DVPREL1 entry) for PNAME=T or THETA, where T0 and THETA0 are value of thickness and theta angle on the original PCOMPG." Both independent as well as dependent design variables can appear in this relation (see the DLINK entry). This form can be used to express not only a simple one-to-one correspondence between a design variable and a property, but more complex reduced basis formulations as well. The PNAME is a character string that identifies the required property value by using the same name as that given in the MSC Nastran Quick Reference Guide. Table 2-1 of this User’s Guide identifies the properties that are available for design. Limits can be placed on the property by specifying PMIN and PMAX values. This is in addition to the limits that are provided by the XLB/XUB fields on the DESVAR entries. If possible, the limits on the DESVAR entries should be more restrictive than those on the DVPREL1 entries. This is because the optimizer will never allow a design variable limit to be violated, but it may allow a property limit to be violated if this seems to help satisfy some other violated constraint. Violating a material property constraint could have disastrous results if it produces a material that is physically meaningless. Note that there is a certain ambiguity in the computation of the property value in that it is the product of the user defined coefficients and the design variable value. A guideline is that the coefficients should be specified in a way that allows the design variable values to be near unity. The optimizer performs best when all the design variables are in the same range and, in particular, when they are all on the order of 1.0.

Main Index

244 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

If the term ‘PVAL’ is entered in the COEF1 field, this is a flag that the COEF1 value is to be obtained from the corresponding property entry. This simplifies the process of completing this entry when the desire is to have a one-to-one correspondence between the designed variable and the designed property. The assumption is that the DESVAR entry identified by DVID1 is 1.0. Guidelines for the PCOMP Entry Table 2-1 indicates that all the real values on the PCOMP entry can be designed. Two of these merit further discussion

The ZO property indicates the offset from the reference plane to the bottom surface. If this is left blank, the value defaults to half the total thickness. It is not necessary to design the ZO quantity if the user input value is blank and the half thickness value is acceptable since the ZO value adjusts to half the total thickness in this case. The ORIENTi field is a difficult property to design since the composite materials vary as the fourth power of the quantity. Suggested guidelines are to: • Limit the allowable movement of the designed orientation to no more than +20o. • Avoid design variable values of 0.0 because it is difficult to move away from this value. It is

better to apply an offset such as  i = – 1 + X i so that an X i of 1.0 gives a zero orientation angle.

DVPREL2 Purpose: Defines a structural property by reference to an equation defined on a DEQATN entry. Entry Description: DVPREL2

Field

Main Index

ID

TYPE

PID

FNAME

“DESVAR” DVID1

DVID2

-etc.-

‘DTABLE”

LABL2

-etc.-

LABL1

PMIN

PMAX

EQID

Contents

ID

Unique identification number. (Integer > 0)

TYPE

Name of a property entry, such as PBAR, PBEAM, etc. (Character)

PID

Property entry identification number. (Integer > 0)

PNAME/FID

Property name, such as “T”, “A”, or field position of the property entry, or word position in the element property table of the analysis model. (Character or Integer  0)

Chapter 4: Input Data 245 Bulk Data Entries

Field

Contents

PMIN

Minimum value allowed for this property. If FID references a stress recovery location field, then the default value for PMIN is -1.0+35. PMIN must be explicitly set to a negative number for properties that may be less than zero (for example, field ZO on the PCOMP entry). (Real; Default = 1.E-20)

PMAX

Maximum value allowed for this property. (Real; Default = 1.0E20)

EQID

DEQATN entry identification number. (Integer > 0)

“DESVAR”

DESVAR flag. Indicates that the IDs of DESVAR entries follow. (Character)

DVIDi

DESVAR entry identification number. (Integer > 0)

“DTABLE”

DTABLE flag. Indicates that the LABLs for the constants in a DTABLE entry follow. This field may be omitted if there are no constants involved in this relation. (Character)

LABLi

Label for a constant on the DTABLE entry. (Integer > 0)

Associated Entries: To define a synthetic property relation, the DVPREL2 entry identifies a DEQATN entry and declares the design variable (DESVAR) and any necessary table constant (DTABLE) arguments. DEQATN EQID

EQUATION EQUATION (Cont.)

DESVAR ID

LABEL

XINIT

XLB

XUB

DELXV

DTABLE LABL1

VALU1

LABL2

VALU2

LABL3 VALU3 LABL4 VALU4

LABL5

VALU5

LABL6

VALU6

-etc.-

The DVPREL2 entries can be included in DRESP2 or DRESP3 entries. DRESP2 ID

EQID

REGION

“DESVAR” DVID1

DVID2

-etc.-

-

-

-

“DRESP1” NR1

NR2

-etc.-

-

-

-

-

DVPREL2

DP2P1

DP2P2

-etc.-

LABEL

GROUP

TYPE

“DESVAR” DVID1

DVID2

-etc.-

-

-

-

-

-

-

-

-

DVPREL2

DP2P1

DP2P2

-etc.-

DRESP3 ID

Main Index

LABEL -

-

-

REGION

-

-

246 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Discussion: For some applications, the linear design variable-to-property relations provided by the DVPREL1 entry may not be sufficient. In these cases, equations may be defined to relate design variables to properties in a nonlinear fashion. The DVPREL2 entry provides the arguments to an equation defined on a DEQATN entry. These arguments may be design variables defined on DESVAR entries and table constants defined on a DTABLE entry. Every property defined on a DVPREL2 entry becomes an independently varying property internally in MSC Nastran. Design sensitivities are first computed with respect to these independently varying properties, and then the chain rule applied to relate these sensitivities to changes in the design variables. Care should be taken to not use the DVPREL2 entry when the relationship between the design variable and the property is linear; the DVPREL1 entry should be used in this case. This is because the DVPREL2 entry requires the added design sensitivity calculations and could therefore impact the performance.

DVSHAP Purpose: Defines a shape basis vector by relating a design variable identification number (DVID) to columns of a displacement matrix. Format: 2

3

DVSHAP DVID

1

COL1

4

SF1

5

COL2

Field

6

SF2

7

COL3

8

9

SF3

Contents

DVID

Design variable identification number on the DESVAR entry. (Integer > 0)

COLi

Column number of the displacement matrix. See Remark 2. (1 < Integer < maximum column number in the displacement matrix.)

SFi

Scaling factor applied to the COLi-th column of the displacement matrix. (Real; Default = 1.0)

Associated Entries: The design variables must first be defined using DESVAR entries. DESVAR ID

LABEL

XINIT

XLB

XUB

DELXV

The displacement vector are DBLOCATE’d using File Management Statements as shown in File Management.

Main Index

10

Chapter 4: Input Data 247 Bulk Data Entries

Discussion: In shape optimization, shape basis vectors relate the changes in a design variable to changes in grid locations. (See basis vectors in shape optimization in Relating Design Variables to Shape Changes.) The DVSHAP entry is applied to solution vectors that are output in a separate analysis. The DVSHAP entry is used to apply scale factors to a series of solution vectors. If multiple DVSHAP entries share the same design variable ID, the shapes are added.

MODTRAK Purpose: Specifies parameters for mode tracking in design optimization (SOL 200). Format: 1

MODTRAK

2

3

SID

LOWRNG

Field

4

5

6

7

8

9

10

HIGHRNG MTFILTER Contents

SID

Sets identification number that is selected in the Case Control Section with the MODTRAK command. (Integer; No Default)

LOWRNG

Lowest mode number in range to search. (Integer > 0, Default = 0. If nonzero, LOWRNG < HIGHRNG.)

HIGHRNG

Highest mode number in range to search. (Integer > 0, Default =number of eigenvalues extracted. If nonzero, LOWRNG< HIGHRNG.)

MTFILTER

Filtering parameter used in mode cross-orthogonality check. (Real, Default = 0.9)

Associated Entries: The MODTRAK entry is invoked by the Case Control command: MODTRAK = n Discussion: The concept of mode tracking is presented in Multidisciplinary Analysis. Mode tracking is available only in normal modes analysis (ANALYSIS = MODES). The MODTRAK Bulk Data entry specifies a range of modes (by sequence number) that are to be tracked and a threshold value MTFILTER that is used to designate whether modes correlate. The default value of 0.9 is applied to normalized results of the triple matrix product of Equation (2-22) and is usually adequate.

Main Index

248 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

STOCHAS Randomization of Modal Parameters Purpose: Specifies statistics used in randomization selected model parameters. Entry Description: 1

2

3

4

5

6

STOCHAS

SID

PENTRY

CDF

CoV

m

MENTRY

CDF

CoV

m

CENTRY

CDF

CoV

m

LOADS

CDF

CoV

m

SPCD

CDF

CoV

m

7

8

9

10

Example 1: (Randomize all element and material properties with the default settings) STOCHAS

100

PENTRY MENTRY

Example 2: (Randomize material properties with CoV = 0.1 and loadings with CoV = 0.3 and default multipliers of standard deviations) STOCHAS

Field

Main Index

200

LOADS

GAUSS

0.3

MENTRY

GAUSS

0.1 Contents

SID

Unique identification number that is selected by the STOCHASTICS Case Control command. (Integer > 0)

"PENTRY"

Flag for randomizing real values on all the element property entries. (Character)

"MENTRY"

Flag for randomizing real values on all the independent material property entries. (Character)

"CENTRY"

Flag for randomizing real values on all the connectivity entries. (Character)

"LOADs"

Flag for randomizing real values on all the load entries. (Character)

"SPCD"

Flag for randomizing real values on all the SPCD entries. (Character)

CDF

Name of a cumulative distribution function. See Remark 2. (Character; Default = GAUSSIANS or blank).

CoV

Coefficient of variance. (Real > 0; Default = 0.05)

m

Number of standard deviations. See Remark 3. (Real > 0; Default = 3.0)

Chapter 4: Input Data 249 Bulk Data Entries

Discussion: 1. At least one flag must exist but they can be placed in any order. 2. Currently, only Gaussian distributions are supported. 3. The range of a random variable is defined as (  – m    + m   ) where  is the mean of the random variable (or the value of one analysis model parameter on a Bulk Data entry),  is the standard deviation that is related to  , CoV by  = CoV   and m is the multiplier of the standard deviations. 4. m  CoV must be < 1.0.

TOMVAR Topometry Design Variable Purpose: Defines a design region for topometry optimization (element-by-element optimization). Entry Description: 1

2

TOMVAR ID

DLINK

3

4

5

6

TYPE

PID

PNAME/ XINIT FID

TID

C0

C1

7

8

XLB

XUB

9

10

DELXV

DDVAL DSVID Example: Design all element's thickness referencing PSHELL ID = 5 with initial design = 10.0 ( input element thickness), lower bound and upper bound . TOMVAR

10

PSHELL 5

T

10.0

Example: Design all element's Young Modulus referred by PSHELL ID = 100 with initial design XINIT = 3.E+5, XLB=1.0, and XUB= 1.0E+6. TOMVAR

Main Index

10

PSHELL 100

E

3.E+5

1.0

1.E+6

250 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Field

Contents

ID

Unique topometry design region identification number. (Integer > 0)

TYPE

Property entry type. Used with PID to identify the elements to be designed. See Remark 2. (Character: “PBAR”, “PSHELL”, ‘PSOLID”, and “PCOMP”, etc.)

PID

Property entry identifier (Integer > 0). This PID must be unique for PIDs referenced by other TOPVAR, DVPREL1, DVPREL2, DVMREL1, and DVMREL2 entries. Topometry, topology, and sizing variables cannot share the same properties. (Integer > 0). Combined topometry, topology, topography, sizing, and shape variables are allowed.

PNAME/FID

Property name or property material name, such as “T”, “A”, “E”, and “GE”, or field position of the property entry or word position in the element property table of the analysis model. Property names that begin with an integer such as 12I/T**3 may only be referenced by field position. See Remark 2. (Character or Integer > 0.)

XINIT

Initial value. (Real or blank, no Default). Typically, XINIT is defined to match the mass target constraint (so the initial design does not have violated constraints) or the analysis model input property value.

XLB

Lower bound. (Real or blank; Default = blank) . The default is XLB=0.5*XINIT.

XUB

Upper bound . (Real or blank; Default = blank). The default is XLB=1.5*XINIT.

DELXV

Fractional change allowed for the design variable during approximate optimization. See Remark 3. (Real > 0.0; Default = 0.5)

DDVAL

Indicates that this line defines discrete TOMVAR variables.

DSVID

DDVAL entry identifier. (Integer > 0)

DLINK

Indicates that this line relates a ply thickness to another ply thickness.

TID

TOMVAR entry identifier. (Integer > 0)

C0

Constant term. (Real; Default = 0.0)

C1

Coefficient term. (Real; no Default)

Remarks: 1. Multiple TOMVAR’s are allowed in a single file. 2. Property name and FID > 0 can be used for element property values just like a Bulk Data entry DVPREL1. Only property name can be used for material property values like DVMREL1. If a property name is shared by both property and material (such as “A” for PROD and MAT1), this name is taken as a material name. The user must provide a FID for property name (FID=4 for PROD). PCOMPG, PBEAML, PBARL, PBMSECT, PBRSECT are not supported. If material property name is selected, PSHELL (with multiple MID inputs) must reference a unique material ID.

Main Index

Chapter 4: Input Data 251 Bulk Data Entries

3. Combined topometry, topography, topology, sizing, and shape optimization is supported in a single file. However, topometry and topology cannot reference the same property ID. It is possible to topometry certain elements while sizing others. It is allowed to simultaneously design the same elements with topometry and desvar (sizing and/or shape) variables but topometry and sizing cannot reference the same property name. 4. Topometry optimization with element response constraints are slow due to many design variables. In this case, fully stressed design (FSD) can be used for certain problems 5. Parameters DESPCH and DESPCH1 specify when the topometry optimized design values are written to the element result history file jobname.des that can be imported to Patran and other post-processor to view topometry optimized results.

TOPVAR Topological Design Variables Purpose: Defines a topology design region for topology optimization. Entry Description: 1

TOPVAR

5

6

ID

2

LABEL PTYPE

3

4

XINIT

XLB

DELXV

7

POWER PID

8

9

“SYM”

CID

MSi

MSi

MSi

CS

NCS

“CAST”

CID

DDi

DIE

ALIGN

“EXT”

CID

EDi

ALIGN

10

“TDMIN” TV Example: 1

TOPVAR

Field

Main Index

2

3

4

5

2

PS1

PSOLID 0.3

SYM

5

XY

ZX

CAST

5

X

2

TDMIN

0.6

6

7

8

9

10

Contents

ID

Unique topology design region identification number. (Integer > 0)

LABEL

User-supplied name for printing purpose. (Character)

PTYPE

Property entry name. Used with PID to identify the elements to be designed. (Character: "PBAR", "PSHELL", 'PSOLID", etc.)

10

252 Design Sensitivity and Optimization User’s Guide Bulk Data Entries

Field

Main Index

Contents

XINIT

Initial value. (Blank or Real, XLB < XINIT < 1.0; Default = Blank). Typically, XINIT is defined to match the mass constraint on DRESP1=FRMASS, so the initial design does not have violated constraints. In this case, the default is set to the constraint value. If the mass (DRESP1=FRMASS or WEIGHT) is the objective, the default is 0.9. The default of XINIT is 0.6 for the other cases.

XLB

Lower bound to prevent the singularity of the stiffness matrix. (Real; Default = 0.001)

DELXV

Fractional change allowed for the design variable during approximate optimization. See Remark 3. (Real > 0.0; Default = 0.2)

POWER

A penalty factor used in the relation between topology design variables and element Young's modulus. (Real > 1.0; Default = 3.0). 2.0 < POWER < 5.0 is recommended.

PID

Property entry identifier. This PID must be unique for PIDs referenced by other TOPVAR, DVPREL1 and DVPREL2 entries. Topology and sizing variables cannot share the same properties. (Integer > 0)

“SYM”

Indicates that this line defines symmetry constraints.

CID

Rectangular coordinate system ID used for specifying manufacturing constraints. See Remark 4. (Blank or Integer > 0; Default = blank)

MSi

Mirror symmetry plane. See Remark 5. & 7. (Character, 'XY', 'YZ', or 'ZX')

CS

Cyclic symmetry axis. (character X, Y, Z). See Remark 12.

NCS

Number of cyclic symmetric segments in 360 degrees (Integer > 0). See Remark 12.

“CAST”

Indicates that this line defines casting constraints (i.e., die draw direction constraints). See Remarks 6., 7., 8., and 11.

DD

Draw Direction. DDi=X, Y, Z or X-, Y-, Z- for a single die option (DIE=1) where X-, Y, Z- indicates the opposite direction of X, Y, and Z respectively. DDi=X, Y, and Z for two die option (DIE =2) (Character)

DIE

Die Options. (Blank or integer 1 or 2; Default = 1) = 1 (or blank). A single die will be used and the die slides in the given draw direction (i.e., material grows from the bottom in the draw direction) = 2. Two dies will be used and the dies split apart along the draw direction (i.e., material grows from the splitting plane in opposite direction along the axis specified by the draw direction DDi. The splitting plane is determined by optimization)

ALIGN

Indicates whether the designed property finite element mesh is precisely aligned with the draw direction or extrusion direction. (Character: “YES” or “NO” or Blank; Default = blank = “NO”) See Remark 11.

“EXT”

Indicates that this line defines extrusion constraints (i.e., enforce constant cross-section) See Remark 6. and 7.

ED

Extrusion direction. (Character, X, Y, or Z)

“TDMIN”

Indicates that this line defines a minimum member size, See Remarks 9. and 10.

TV

Minimum member size. See Remark 7. (Real > 0.0)

Chapter 4: Input Data 253 Bulk Data Entries

Discussion: Topology optimization is a special version of optimization that seeks to find the optimal distribution of material based on some criterion for given space, loads, and boundary conditions. The TOPVAR entry identifies the finite elements that are to participate in the design task. Every element that is a member of the PTYPE/PID pair given of the TOPVAR has its own design variable that drives the Young’s modulus and density of the element. The desired case is that the design variable will be driven to either its upper bound value of 1.0 (retain the element) or its lower bound values close to zero (discard the element). In addition to specifying the PTYPE/PID information, the entry provides an initial value for the variable upper and lower bound , DELXV parameter to specify how rapidly the design variable can change, and POWER parameter that is the exponent used in Equation (7-1) (as given in Topology Optimization). Typically, the default values for these parameters are adequate. The PTYPEs than can be invoked by the TOPVAR include PROD, PBAR, PBARL, PBEND, PBEAM, PBEAML, PSHELL, PSHEAR, PSOLID, and PWELD. All designated element properties must refer to a MAT1 entry; therefore, a PCOMP cannot be designed in topology optimization. The optional continuation lines for this entry permit the specification of manufacturability constraints as defined as given in the Topology Optimization, the same question applies for the citation given in the previous paragraph). Manufacturability constraints are specified in a rectangular (CORD1R and CORD2R) coordinate system and only one system can be specified for a given TOPVAR entry. One, two or three different mirror symmetry planes can present (such as MS1=XY, MS2=YZ, and MS3=ZX). Casting (“CAST”) and Extrusion (“EXT”) manufacturability constraints can be applied to PTYPE=”PSOLID” only. Casting constraints cannot be combined with extrusion constraints for the same TOPVAR entry. Some symmetry constraint types can be combined with casting or extrusion constraints. The referenced coordinate system CID must be the same for the combined constraints. Some possible combinations are: • For “EXT” constraints, possible combinations are (Edi=X, MSi=XY and/or ZX), (EDi=Y,

MSi=YZ and/or XY), (EDi=Z, MSi=ZX and/or YZ), • For “CAST” constraints, possible combinations are (DDi=X or -X, MSi=XY and/or ZX),

(DDi=Y or -Y, MSi=YZ and/or XY), (DDi=Z or -Z, MSi=ZX and/or YZ) For the two dies option (DIE=2), the splitting plane is optimized. For a single die DIE=1, the parting plane is the bottom surface of the designed part in the draw direction. TDMIN is a dimensional quantity with a guideline that it should be set to at least three times a representative element dimension. Without a TDMIN continuation line, the minimum member size constraint is taken from the specification of TDMIN parameter on the DOPTPRM entry. This option is applied on 2 and 3 D elements only. Minimum member size constraints can be used with “SYM”, “CAST”, and “EXT” constraints. For problems with casting constraints, it is recommended to use aligned mesh for topology designed property since smaller tolerance is used if possible. Topology Optimization contains a number of simple Topology Optimization examples that demonstrate

various manufacturability constraints.

Main Index

254 Design Sensitivity and Optimization User’s Guide Parameters Unique to Design Sensitivity and Optimization

Parameters Unique to Design Sensitivity and Optimization MSC Nastran allows you to specify a number of parameters for the input of scalar values and for requesting special features. These are in addition to the optimization control possible with Bulk Data entries such as DOPTPRM and DSCREEN. This section is intended to be a complete quick reference for all such Case Control and Bulk Data parameters that are associated with Design Sensitivity and Optimization. Refer to Parameters (p. 691) in the MSC Nastran Quick Reference Guide for a description of all MSC Nastran parameters. AUTOADJ

CDIF

DESPCH

DESPCH1

DPEPS

Select the adjoint sensitivity analysis. YES

Selection is based on a determination as whether the adjoint or the direct method is most efficient. (Default)

NO

Direct method is used.

Controls the selection of finite difference scheme used in sensitivity analysis. YES

Selects central differences. (Default for shape optimization)

NO

Selects forward differences. (Default for property optimization only)

Controls the frequency of updated DESVAR and GRID Bulk Data entry output to the PUNCH file. N0

Every N-th, as well as final design cycles.

Specifies the amount of data to be written to the .pch file. (Default = 6) N=0

Write no data.

N=+1

Write property entries that are designed.

N=+2

Write all property entries of a given type when one or more property of that type is designed.

N=+4

Write new DESVAR and DRESP1 entries.

N=+n

Write combined quantities from summing values.

Note:

A positive value of N results in large field formats while a negative value gives small field formats.

Controls overriding of the analysis value by the design model. (Default = 1.0E4) If all the differences between the analysis and design model properties are less than DPEPS, the differences are ignored and it is possible to reuse analysis results from a previous run. Setting this parameter to a large value is not recommended since it can result in poor sensitivity values.

Main Index

Chapter 4: Input Data 255 Parameters Unique to Design Sensitivity and Optimization

DSNOKD

1.0

Include differential stiffness.

0.0

Do not include differential stiffness. (Default)

DSZERO

Specifies the minimum absolute value for printout of design sensitivities. (Default = 0.0)

IUNIT

IUNIT specifies the FORTRAN unit number on which the DSCMCOL table and the DSCM2 matrix in SOL 200 will be written. (See the OUTPUT2 and OUTPUT4 module descriptions in the MSC Nastran 2005 r3 DMAP Programmer’s Guide.) (Default = 11)

NASPRT

Controls the frequency of MSC Nastran output.

OPTEXIT

Main Index

Indicates if the differential stiffness effect is to be included in buckling sensitivity analysis.

-1

No output.

Output on initial and final design cycles. (Default)

N

Output every N-th iteration and also prior to exit.

Instructs the program to exit at one of seven predetermined exit points. 0

Do not exit. Proceed with optimization. (Default)

N>0

Exit at one of the locations 1 through 7  1  N  7  .

1

Exit after the initialization of the analysis and design model but before finite element analysis begins.

2

Exit after finite element analysis and initial design response and shape basis vector processing.

3

Exit after design constraint evaluation and screening.

4

Exit after design sensitivity analysis and print the matrix of design sensitivity coefficients (DSCM2). This is equivalent to the DSAPRT (UNFORM,END=SENS) Case Control command.

-4

Exit after design sensitivity analysis and write the data blocks related to sensitivity coefficients (DSCM2 and DSCMCOL) to an external file using the OUTPUT2 and OUTPUT4 modules. This is equivalent to the DSAPRT (NOPRINT,EXPORT END=SENS) Case Control command. See related parameters ITAPE, IUNIT, and OMAXR.

5

Exit after the first approximate optimization of the design model.

6

Exit after the first update of the analysis model based on the first approximate optimization of the design model.

256 Design Sensitivity and Optimization User’s Guide Parameters Unique to Design Sensitivity and Optimization

7

SENSUOO

If set to yes, pseudo-displacements are recovered to the o-set while including the terms of Equation (2-69).

SOFTEXIT

Determines whether to terminate design cycles if soft convergence is indicated.

SOLADJC

NO

Do not stop if soft convergence is indicated. (Default)

YES

Terminate design cycles if soft convergence is achieved.

Indicates if adjoint solution vectors are to be calculated during the analysis. -1

Do not calculate adjoint solution vectors during the analysis.

>0

For ANALYSIS = DFREQ, the adjoint vectors will be calculated during the solution if the conditions given in the full description in Parameters (p. 691) in the MSC Nastran Quick Reference Guide are met. (Default)

TDMIN

Default = 0.0 Topology minimum member diameter in the basic coordinate system. (Real > 0.0, Default = 0.0, i.e., no minimum member size control.) This option is applied on 2D and 3D elements only.

UPDTBSH

Controls the update of the boundary shapes in the analytic boundary shapes method for shape optimization.

XYUNIT

Main Index

Compute and output design sensitivity coefficients at the end of normal program termination: hard convergence, soft convergence, or maximum design cycles. This is equivalent to the DSAPRT (UNFORM,START=LAST) Case Control command. If the final design is a discrete design optimization, no sensitivity is performed and the OPTEXIT=7 request is not honored.

NO

Do not update the boundary shapes. (Default)

YES

Update the boundary shapes.

Note:

Regardless of the value of UPDTBSH, shape basis vectors are still updated for every design cycle (interpolation to the interior grids). UPDTBSH only controls updates on the boundary shapes.

n

Specifies the unit number for storage of design sensitivity data in comma-separated value format.

Chapter 4: Input Data 257 Design Responses

Design Responses DRESP1 This section contains a detailed description of each of the Response Types in the DRESP1 entry. In order to facilitate this discussion, Table 4-5 is duplicated from the Bulk Data entry DRESP1 (p. 1672) in the MSC Nastran Quick Reference Guide. The “Remarks” that are called out in this table are not given explicitly here, but the information is provided in detail in the response type descriptions that follow. Table 4-5

Design Sensitivity Response Attributes Response Attributes

Response Type (RTYPE)

Main Index

ATTA (Integer > 0)

ATTB (Integer > 0 or Real > 0.0)

ATTI (Integer > 0)

WEIGHT

Row Number (1 < Column Number (1 < ROW < 6) See Remark COL < 6) 24.

SEIDi or All or blank. See Remark 12.

VOLUME

Blank

Blank

SEIDi or ALL or blank. See Remark 12.

FRMASS Blank (see Remarks 28 & 29)

Blank

Blank or Property ID (PID).

COMP (see Remark 28)

Blank

Blank

Blank

EIGN

Normal Modes Mode Number. See Remark 33.

Approximation Code. See Remark 19.

Blank

CEIG

Complex Eigenvalue Mode Number. (Integer > 0)

ALPHA or OMEGA (Default = ALPHA)

Blank

FREQ

Normal Modes Mode Number . See Remarks 18. and 33.

Approximation Code. See Remark 19.

Blank

LAMA

Buckling Mode Number

Approximation Code. See Remark 19.

Blank

DISP

Displacement Component

Blank or Mode Number

Grid ID

STRAIN

Strain Item Code

Blank or Mode Number

Property ID (PID) or Element ID (EID)

ESE

Strain Energy Item Blank or Mode Number Code. See Remark 21.

Property ID (PID) or Element ID (EID)

258 Design Sensitivity and Optimization User’s Guide Design Responses

Table 4-5

Design Sensitivity Response Attributes Response Attributes

Response Type (RTYPE)

Main Index

ATTA (Integer > 0)

ATTB (Integer > 0 or Real > 0.0)

ATTI (Integer > 0)

STRESS

Stress Item Code

Blank or Mode Number

Property ID (PID) or Element ID (EID)

FORCE

Force Item Code

Blank or Mode Number

Property ID (PID) or Element ID (EID)

SPCFORCE

SPC Force Component Blank

Grid ID

CSTRAIN

Strain Item Code

LAMINA Number (Integer; Default = 1)

Property ID (PID) or Element ID (EID)

CSTRESS

Stress Item Code

LAMINA Number (Integer; Default = 1)

Property ID (PID) or Element ID (EID)

CFAILURE

Failure Criterion Item Code

LAMINA Number (Integer; Default = 1)

Property ID (PID) or Element ID (EID)

CSTRAT

Composite Stress Ratio Item Code

LAMINA Number (Integer; Default = 1)

Property ID (PID) or Element ID (EID)

TOTSE (Total Strain Energy)

Blank

Blank or Mode Number

SEIDi or All or blank. See Remark 12.

GPFORCE

Grid Point (see Remark 25.)

Blank

Element ID

GPFORCP

Grid Point (see Remark 26)

Blank

Grid ID connected to ATTA grid to specify orientation.

ABSTRESS

Arbitrary Beam Stress Item Code (see Remark 30.)

Blank

Property ID (PID) or Element ID (EID)

FRDISP

Displacement Component

Frequency Value. Grid ID (Blank, Real > 0.0 or Character). See Remarks 15. and 20.

PRES

Acoustic Pressure Component (= 1 or 7)

Grid ID Frequency Value. (Blank, Real > 0.0 or Character). See Remarks 15. and 20.

FRVELO

Velocity Component

Grid ID Frequency Value. (Blank, Real > 0.0 or Character). See Remarks 15. and 20.

Chapter 4: Input Data 259 Design Responses

Table 4-5

Design Sensitivity Response Attributes Response Attributes

Response Type (RTYPE)

Main Index

ATTA (Integer > 0)

ATTB (Integer > 0 or Real > 0.0) Frequency Value. (Blank, Real > 0.0 or Character.). See Remarks 15. and 20.

ATTI (Integer > 0) Grid ID

FRACCL

Acceleration Component

FRSPCF

Grid ID SPC Force Component Frequency Value. (Blank, Real > 0.0 or Character). See Remarks 15. and 20.

FRSTRE

Stress Item Code

Property ID (PID) or Frequency Value. Element ID (EID) (Blank, Real > 0.0 or Character). See Remarks 15. and 20.

FRFORC

Force Item Code

Property ID (PID) or Frequency Value. Element ID (EID) (Blank, Real > 0.0 or Character). See Remarks 15. and 20.

PSDDISP

Displacement Component (see Remarks 27. and 31.)

Grid ID Frequency Value. (Blank, Real > 0.0 or Character). See Remarks 15. and 20.

PSDVELO

Velocity Component (see Remarks 27. and 31.)

Frequency Value (Blank, Grid ID Real > 0.0 or Character). See Remarks 15. and 20.

PSDACCL

Acceleration Component (see Remarks 27. and 31.)

Grid ID Frequency Value. (Blank, Real > 0.0 or Character). See Remarks 15. and 20.

RMSDISP

Displacement Component (see Remark 31.)

RANDPS ID

Grid ID

RMSVELO

Velocity Component (see Remark 31.)

RANDPS ID

Grid ID

RMSACCL

Acceleration Component (see Remark 31.)

RANDPS ID

Grid ID

260 Design Sensitivity and Optimization User’s Guide Design Responses

Table 4-5

Design Sensitivity Response Attributes Response Attributes

Response Type (RTYPE)

Main Index

ATTA (Integer > 0)

ATTB (Integer > 0 or Real > 0.0)

ATTI (Integer > 0)

ACPWR - acoustic power radiated through a panel. (See Remark 34.)

Blank

Frequency value. (Blank Blank for all forcing frequency, Real > 0.0)

ACINTS - acoustic intensity

Blank

Frequency value. (Blank Grid ID of wetted for all forcing frequency, surface. Real > 0.0)

AFPRES - Acoustic Intensity for AFPM. (See Remark 35.)

Acoustic Pressure Component (Integer = 1 or 7)

Frequency value (Blank Grid ID of AFPMID. for all forcing frequency, Real > 0.0)

AFINTS - Acoustic Intensity for AFPM. (See Remark 35.)

Component Code 0 - normal to AFPM, 1 - x-dir 2 - y-dir 3 - z-dir

Frequency value. (Blank Grid ID of AFPMID. for all forcing frequency, Real > 0.0)

AFVLELO - Velocity for AFPM. (See Remark 35.)

Frequency value. (Blank Grid ID of AFPMID. Component Code 11 - Real/Mag in x-dir for all forcing frequency, 12 - Real/Mag in y-dir Real > 0.0) 13 - Real/Mag in z-dir 71 - Img/Ph in x-dir 72 - Img/Ph in y-dir 73 - Img/Ph in z-dir

AFPWR - Acoustic Power for AFPM. (See Remark 35)

Blank

Frequency value. (Blank Blank for all forcing frequency, Real > 0.0)

TDISP

Displacement Component

Time Value. (Blank, Real, or Character). See Remarks 16. and 20.

Grid ID

TVELO

Velocity Component

Time Value. (Blank, Real, or Character). See Remarks 16. and 20.

Grid ID

TACCL

Acceleration Component

Time Value. (Blank, Real, or Character). See Remarks 16. and 20.

Grid ID

TSPCF

SPC Force Component Time Value. (Blank, Real, or Character). See Remarks 16. and 20.

Grid ID

Chapter 4: Input Data 261 Design Responses

Table 4-5

Design Sensitivity Response Attributes Response Attributes

Response Type (RTYPE)

ATTA (Integer > 0)

ATTB (Integer > 0 or Real > 0.0)

ATTI (Integer > 0)

TSTRE

Stress Item Code

Time Value. (Blank, Real, or Character). See Remarks 16. and 20.

Property ID (PID) or Element ID (EID)

TFORC

Force Item Code

Time Value. (Blank, Real, or Character). See Remarks 16. and 20.

Property ID (PID) or Element ID (EID)

STMONP1 Structural MONPNT1

Component (See Remark 36)

Blank

Blank

STMOND1 Structural MONDSP1

Component (See Remark 36)

Blank

Blank

MONPNT3

Component (See Remark 36)

Blank

Blank

AEMONP1 Aerodynamic MONPNT1

Component (See Remark 36)

Blank

Blank

AEMOND1 Aerodynamic MONDSP1

Component (See Remark 36)

Blank

Blank

TRIM

AESTAT or AESURF entry ID

Blank

Blank

STABDER

AESTAT or AESURF entry ID

Restraint Flag. (Integer 0 Component or 1) See Remark 13.

FLUTTER

Blank

Blank

See Remark 14.

WEIGHT

The weight response is computed using the same Grid Point Weight Generator utility that is used when with the PARAM GRDPNT request is used to obtain printed results regarding the weight. This calculation results in a 6x6 mass matrix computed about the grid designated by the GRDPNT or about the origin of the basic coordinate system if the GRDPNT is not defined (or is defined and the grid point does not exist). The particular weight that is to be used in the response is selected with the ATTA field specifying which row of the 6x6 matrix field to select and ATTB field identifying the column. The default values for ATTA and ATTB are 3, resulting in the mass of the structure in the z direction being the default weight response. The associated ANALYSIS Type column of Table 4-3 indicates that this response can be invoked from any ANALYSIS type or above the subcase level before an ANALYSIS type is specified. It is recommended that the response be invoked above the subcase level using the DESOBJ Case Control

Main Index

262 Design Sensitivity and Optimization User’s Guide Design Responses

command if it is the response is the objective and the DESGLB Case Control command if the response is constrained. The response can be for the entire structure or can be for an individual superelement specified in the ATT1 field. If ATT1 is blank, the total weight of the structure is used for the response. If it is zero, the weight of the residual is used. The following bulk data fragment shows how three DRESP1’s with response type WEIGHT can be combined to compute the x and y locations of the center of gravity of a structure. This enables using the center of gravity value as a design constraint or the objective. $ DRESP1 33 WT33 DRESP1 26 W26 DRESP1 34 W34 $ $ THE CENTER OF GRAVITY (CG) $ DRESP2 50 CG-X DRESP1 41 DRESP2 51 CG-Y DRESP1 41 DEQATN 200 F(R1,R2) $ ENDDATA

WEIGHT WEIGHT WEIGHT

3 2 3

3 6 4

200 43 200 42 = R2/R1

A final comment on the WEIGHT response is to reiterate the caution on Defining the Objective Function that, since the WEIGHT response gives the weight of the entire structure, it may be insensitive to design variable changes. Subtracting out the weight of the undesigned structure using a DRESP2 may improve the optimizer performance. VOLUME

The VOLUME response provides the total volume of all of the structural elements in the structure based on the geometry of your model. The response can be for the entire structure or can be for an individual superelement specified in the ATT1 field. If ATT1 is blank, the total weight of the structure is used for the response. If it is zero, the weight of the residual is used. FRMASS

The FRMASS response indicates a target mass fraction that typically is used as a constraint in a topology optimization task; (e.g., minimize the compliance of the structure while limiting the mass to 40% of the mass of the original structure). This response is only available with topology optimization. COMP

The COMP response permits the specification of a compliance value as a design response. Compliance is simply the product of the displacement times the applied load as is typically used as an objective in a topology optimization design task to maximize structural stiffness in a static design problem. This response is only available with topology optimization.

Main Index

Chapter 4: Input Data 263 Design Responses

EIGN

The EIGN response specifies an eigenvalue from a normal modes analysis as the response. The FREQ response is also associated with an eigenvalue, but the FREQ response quantity is in units of Hz. while the EIGN response is applied directly to the eigenvalue. 1 r freq = ------ r eign 2

The ATTB field of this response can be used to select the approximation technique that is applied when APRCOD=2 is used. By default, this approximation is performed using the Rayleigh Quotient approximation of Equation (2-136). If the ATTB is set to 1, the direct method is used to approximate the eigenvalue while ATTB=2 is used to specify the inverse variable approximation The default is felt to be adequate for all cases, with the additional options available for experimentation. CEIG

The CEIG response selects a component of a complex eigenvalue. The application for this response is in areas such as brake squeal or landing gear stability where typically there is a desire to ensure that the real part of the eigenvalue is positive. The ATTB field is used to specify the component by specifying ALPHA (real part) or OMEGA (imaginary part) with ALPHA being the default. If the physical constraint is that the ALPHA value must be greater than zero, it is recommended that a DRESP2 be used to offset the DRESP1 response by some quantity in order to avoid a poorly scaled constraint. FREQ

The FREQ response is similar to the EIGN response and the comments made above for that response apply here as well. Specification of design constraints in Hz is considered as being more intuitive in the typical application. The ATTB options of the EIGN response are applicable here as well and the default Rayleigh Quotient Approximation is again considered best. LAMA

The LAMA response refers to a buckling eigenvalue and indicates what multiple of the applied load in a statics analysis would cause the structure to buckle. Typically then, the response is constrained to be greater than 1.0. The ATTA field specifies the buckling mode of interest and it is recommended that more than one LAMA response be applied to preclude buckling behavior. If only a single LAMA response is constrained, it is likely that the optimization will produce a design where a previously non-critical mode becomes critical. The ATTB field can again be used to specify the approximation technique. In this case, the Rayleigh Quotient does not apply. Instead, ATTB=1 (default) selects the direct method while ATTB=2 select the inverse variable approximation. DISP

The DISP response identifies a displacement in a statics or static aeroelastic analysis. The ATTA field specifies the grid component(s) while the ATTi fields specify the grids at which the response is to be evaluated. The ATTA field can be any combination of the digits 1-6 (e.g., 135) and each digit will result in the recovery of a displacement (e.g., components 1,3 and 5 when ATTA is 135). The ATTB field is used for ANALYSIS = MODES subcases to identify the mode number. ATTB is ignored for

Main Index

264 Design Sensitivity and Optimization User’s Guide Design Responses

ANALYSIS = STATICS. Any number of grids can be specified using the ATTi fields. The grids must exist and there is no support for a THRU option. STRAIN

The STRAIN response invokes a strain response on a finite element. In this case, the ATTA field selects the strain item code and the meaning of the ATTi field is dependent on what has been input in the PTYPE field of the entry. If the PTYPE is “ELEM”, then the ATTi data select the element IDs for the response (MSC Nastran requires that all element IDs be unique across element types so that there is no ambiguity when selecting the element IDs.) If the PTYPE selects a property type, such as PROD or PSHELL, the ATTi field selects property IDs of the type selected with PTYPE. The ATTB field is used for ANALYSIS = MODES subcases to identify the mode number. ATTB is ignored for ANALYSIS = STATICS. Item codes for stress and strain can be found in Item Codes (p. 981) in the MSC Nastran Quick Reference Guide. An example using the CQUAD4 element type with corner stresses is shown in Table 4-6. Table 4-6

Item Code Example for the QUAD4 Element with Linear Output Real Stresses or Strains

Main Index

Complex Stresses or Strains

Element Name (Code)

Item Code

CQUAD4 (33) Linear

2

Z1=Fiber distance 1

2

Z1=Fiber distance 1

31

Normal x at Z1

31

Normal x at Z1

RM

41

Normal y at Z1

41

Normal x at Z1

IP

51

Shear xy at Z1

51

Normal y at Z1

RM

6

Shear angle at Z1

61

Normal y at Z1

IP

7

Major principal at Z1

71

Shear xy at Z1

RM

8

Minor principal at Z1

81

Shear xy at Z1

IP

9

von Mises or maximum shear at Z1

9

Z2=Fiber distance 2

10

Z2=Fiber distance 2

101

Normal x at Z2

RM

111

NormaI x at Z2

111

NormaI x at Z2

IP

121

Normal y at Z2

121

Normal y at Z2

RM

131

Shear xy at Z2

131

Normal y at Z2

IP

14

Shear angle at Z2

14

Shear xy at Z2

RM

15

Major principal at Z2

15

Shear xy at Z2

IP

Item

Item Code

Item

Real/Mag. or Imag./Phase

Chapter 4: Input Data 265 Design Responses

Table 4-6

Item Code Example for the QUAD4 Element with Linear Output (continued) Real Stresses or Strains

Element Name (Code)

Note:

Item Code

Item

16

Minor principal at Z2

17

von Mises or maximum shear at Z2

Complex Stresses or Strains Item Code

Item

Real/Mag. or Imag./Phase

This table is applicable when a STRAIN Case Control command is absent in case control or present with the CENTER (default) option. As an example from the table, it is seen that item code 7 selects the major principal stress at the center Z1 location.

ESE

The ESE response type identifies an element strain energy response. The ATTB field is used for ANALYSIS = MODES subcases to identify the mode number. ATTB is ignored for ANALYSIS = STATICS. The ATTA field selects the element strain energy item code and the ATTi field selects the applicable elements or properties in the same manner as just described for the STRAIN response. The item codes are found in Element Strain Energy Item Codes (p. 1035) in the MSC Nastran Quick Reference Guide. Only item codes 2 and 4 from this table are selectable on a DRESP1 entry and it is noted from the reference that not all element types are supported with item code 4. The sensitivity of the ESE response is not computed for design variables which affect the shape of the model. STRESS

The STRESS response invokes a stress response in an element. The comments for the STRAIN response apply to the STRESS response. FORCE

The FORCE response invokes a force response in an element. The ATTA field in this case points to item codes contained in Element Strain Energy Item Codes (p. 1035) in the MSC Nastran Quick Reference Guide. It is noted from Table 4-5 that the direct form of approximation is used for the response type. In general, the force in a element is a weak function of the model properties making it difficult to satisfy constraints imposed on this response. The ATTB field is used for ANALYSIS = MODES subcases to identify the mode number. ATTB is ignored for ANALYSIS = STATICS. SPCFORCE

The SPCFORCE response invokes a single point constraint response at a designated degree-of-freedom in the model. The ATTA and ATTi field attributes follow the rules of the DISP response. CSTRAIN

The CSTRAIN response invokes a strain response in a finite element whose properties have been provided on a PCOMP entry. The item codes for composite properties differ so you must make sure you

Main Index

266 Design Sensitivity and Optimization User’s Guide Design Responses

are using the correct element code when requesting composite responses. Note that corner stresses are not available for composite elements. Also, composite responses differ from homogeneous element responses in that the von Mises stress/strain is not available. The composite responses are derived on a layer by layer basis and the ATTB field is used to identify which layer is of interest. This number corresponds to the value if i in the Ti input on the PCOMP. If the ATTB field is left blank, the response will be calculated for the first layer. It is noted that it is possible use the PCOMP entry but still request STRAIN/STRESS type responses for the elements by either using PTYPE = PSHELL or by identifying the elements by their ID. CSTRESS

The CSTRESS response type is the composite stress equivalent to the CSTRAIN response for composite strains. The remarks given for the CSTRAIN response type apply equally to the CSTRESS type. CFAILURE

The CFAILURE response type allows the specification of a composite failure criterion in the design of composite structures. The ATTB and ATTi fields for this response are the same as the CSTRAIN or CSTRESS, but the item codes differ in that the failure item codes are provide in Element Force Item Codes (p. 1017) in the MSC Nastran Quick Reference Guide. Only item codes 5 (direct stresses) or 7 (interlaminar shear stress) are supported. Further, the specification of the failure criterion depends on correctly specifying a number of other items in the bulk data file: • The failure theory to be used (e.g., Tsai-Wu) is selected on the FT field of the PCOMP entry. • The allowable bonding shear stress is taken from the SB field on the PCOMP entry. • Stress limits that are used in computing the failure index are taken from the ST,SC and SS fields

on the MATi entry invoked by the PCOMP. CSTRAT

The composite strength ratio response is a recent addition to the composite output available when using MSC Nastran (see Strength Ratio Output for Laminated Composites in Chapter 5 of the MSC Nastran 2004 Release Guide). This is a direct failure indicator and, as such, is an ideal response for the design of composites. Only item codes 5 and 7 from the composite element force item codes are available for this response type. TOTSE

The TOTSE response is a global response quantity in that the entire structure contributes to the total strain energy response due to a static load in an ANALYSIS = STATICS subcase or a normal mode in an ANALYSIS = MODES subcase. The ATTB field is used to identify the mode number in a normal modes analysis. The response can be for the entire structure or can be for an individual superelement specified in the ATT1 field. If ATT1 is blank, the total weight of the structure is used for the response. If it is zero, the weight of the residual is used.

Main Index

Chapter 4: Input Data 267 Design Responses

GPFORCE

The GPFORCE response type allows the specification of a grid point force response in a statics analysis. The ATTA field can be any combination of the digits 1-6 (e.g., 135) and each digit will result in the recovery of a grid point force (e.g., components 1, 3, and 5). Any number of elements can be specified using the ATTi fields. The PTYPE field is used in this case to indicate which grid the grid point force is associated with. For standard data recovery in MSC Nastran, setting NOELOF > 0 allows for a special type of grid point force printout that is along the edges of the elements. This form of grid point force is not supported on the DRESP1 entry. GPFORCP

The GPFORCP response type allows the specification of a grid point force response that is of the form output when the PARAM NOELOP > 1 is used for standard data recovery. In this form, the sum of the grid point forces are computed parallel to the edges of the adjacent elements. The ATTA field identifies the grid point and the ATTi field(s) identify the orientation of the force by specifying the grid ID(s) that is connected to the ATTA grid. FRDISP

The FRDISP response type identifies an displacement in a frequency response analysis at a particular grid point and component. It is therefore similar to the DISP response in statics except that the component specified by ATTA can now range from 1 through 12, where components 7-12 refer to the imaginary part of the response or to the phase angle. It is no longer possible therefore to specify multiple components using the ATTA field. As indicated in the Case Control description of Case Control Section, the selection of whether the REAL/IMAGINARY or MAGNITUDE/PHASE representation is to be used is based on the option selected on the DISPLACEMENT Case Control command. In the absence of this command, the DRESP1 response is based on the default of the REAL/IMAGINARY option. Multiple subcases are supported for frequency response analysis and the set of excitation frequencies, as well as design responses and constraints, can be changed between subcases. The ATTi fields are used to identify the grid points the responses are to be extracted from while the ATTB field has a number of options that need to be covered in detail. If the ATTB field is blank, the response is evaluated at all the excitation frequencies. As indicated on the DCONSTR entry, it is possible to specify a range of frequencies over which the constraint is applied. In this case, the constraints will only be evaluated over a range of the frequencies. If the excitation frequencies are based on FREQ3, FREQ4 and/or FREQ5 Bulk Data entries, the excitation frequencies change as the design changes so that the frequencies at which the DRESP1 responses are evaluated will change as well. If the ATTB field is a real number, the response is calculated at the excitation frequency (in Hz.) that is nearest to that number. ATTB field can also be one of six special character strings that have the following meaning: n

SUM =

 Xi i =1

Main Index

268 Design Sensitivity and Optimization User’s Guide Design Responses

n

AVG =

 Xi  n i=1 n

SSQ =

2

 Xi i =1 n

RSS =

2

 Xi i =1

MAX = Largest value among X i  i=1 to n  MIN = Smallest value among X i  i=1 to n 

The x i is the response at a particular frequency identified by the i subscript and the n is the number of excitation frequencies in the analysis. These special commands provide a convenient alternative to the DRESP2/DEQATN formulation and are similar to the specialized intrinsic functions discussed with the DEQATN and FUNC attribute on the DRESP2 entry. A difference is that the use of the ATTB character string on the DRESP1 applies the function to the particular frequency response results. The FUNC attribute on the DRESP2 entry is more general in that it applies to all the arguments while the special DEQATN functions are even more general because the arguments are explicitly selected. A special situation exists when the result from a DRESP1 that includes character string input in the ATTB field is subsequently used in a DRESP2 entry. The DRESP1 in this case is regarded as a DRESP2 so that the DRESP1 ID should be referenced as a DRESP2 on the subsequent DRESP2. The following bulk data fragment shows how two DRESP1 entries that provide a RSS response at a particular grid can be summed into a single response. FREQ1 100 0.0 1.0 100 $ DRESP1 41O PROVIDES A SUM OF SQUARES OF THE ACCELERATION OF COMPONENT 2 OF GRID 100 $ OVER THE 101 FREQUENCY POINTS FROM 0.0 TO 100. HZ. DRESP1 410 ACEL1 FRACCL 2 SSQ 100 $ DRESP1 420 PERFORMS THE SAME FUNCTION FOR GRID 200 DRESP1 420 ACEL2 FRACCL 2 SSQ 200 $ DRESP2 501 USES THE "DRESP2" FLAG TO SUM THE TWO RESPONSES THAT ARE ACTUALLY DRESP1'S DRESP2 501 SUM DRESP2 410 420

PRES

The PRES response identifies an acoustic pressure that is computed in a frequency response analysis. These pressures are computed for grid points that are in the fluid of the model and output as component 1 of that grid. The ATTA and ATTi fields are similar to the other frequency response types except that the ATTA field should only specify component 1 or 7. The DISP Case Control command selects whether the REAL/IMAGINARY or the MAGNITUDE/PHASE representation of data is used (input on the PRESSURE Case Control command is ignored). The comments regarding the ATTB field for the FRACCL response type apply to the PRES response type as well.

Main Index

Chapter 4: Input Data 269 Design Responses

FRVELO

The FRVELO response identifies a velocity in a frequency response analysis at a particular grid point and component. The comments for the FRACCL response type apply to the FRVELO response type. The VELO Case Control command selects whether the REAL/IMAGINARY or the MAGNITUDE/PHASE representation of data is used. FRACCL

The FRACCL response identifies an acceleration in a frequency response analysis at a particular grid point and component. The comments for the FRDISP response type apply to the FRACCL response type. The ACCL Case Control command selects whether the REAL/IMAGINARY or the MAGNITUDE/PHASE representation of data is used. FRFORC

The FRFORC response identifies an element force in a frequency response analysis. The comments regarding the ATTB field for the FRACCL response type apply to the FRFORC response type as well. The FORCE Case Control command selects whether the REAL/IMAGINARY or the MAGNITUDE/PHASE representation of data is used. The ATTA and ATTi fields are similar to that described for the FORCE response. In selecting items codes from Element Stress (or Strain) Item Codes (p. 983) in the MSC Nastran Quick Reference Guide, make sure that the Complex Element Force columns are used. FRSTRE

The FRSTRE response identifies an element stress in a frequency response analysis. The comments regarding the ATTB field for the FRACCL response type apply to the FRSTRE response type as well. The STRESS Case Control command selects whether the REAL/IMAGINARY or the MAGNITUDE/PHASE representation of data is used. The ATTA and ATTi fields are similar to that described for the STRAIN response. In selecting items codes from Element Stress (or Strain) Item Codes (p. 983) in the MSC Nastran Quick Reference Guide, make sure that the Complex Element STRESS columns are used. FRSPCF

The FRSPCF response identifies an single point constraint force in a frequency response analysis. The comments for the FRACCL response type apply to the FRSPCF response type. The SPCF Case Control command selects whether the REAL/IMAGINARY or the MAGNITUDE/PHASE representation of data is used. A comment on the FRSPCF response is that even though it appears to be a grid response, it is not treated as such in the determination of whether adjoint sensitivity analysis is appropriate (see Design Sensitivity Analysis). This is because the required df/du adjoint load vector of Equation (2-85) is not trivial to construct for single point constraint forces. PSDDISP

The PSDDISP response identifies a power spectral density displacement value that is generated in a frequency response analysis. The form of this response is shown in Equation (2-18). The use of the

Main Index

270 Design Sensitivity and Optimization User’s Guide Design Responses

ATTA, ATTB and ATTi fields are the same as the FROLSP. In this case, the REAL/IMAGINARY form of the data is used to construct the PSD value so the Case Control command does not play a role in selecting the data representation. The PTYPE field identifies the ID of the RANDPS Bulk Data entry that is used to define the input power spectrum. The use of the RANDPS enables this response to span subcases. If a PSDDISP response is being applied with RANDPS Bulk Data entries that include multiple subcases, the DESSUB or DESOBJ request that invokes the PSDDISP response must be in the first subcase used by the RANDPS entry. PSDVELO

The PSDVELO response identifies a Power Spectral Density velocity value that is generated in a frequency response analysis. The comments for the PSDDISP response are applicable with the PSDVELO response as well. PSDACCL

The PSDACCL response identifies a Power Spectral Density acceleration value that is generated in a frequency response analysis. The comments for the PSDDISP response are applicable with the PSDACCL response as well. RMSDISP

The PSDDISP response identifies a power spectral density displacement value that is generated in a frequency response analysis. The form of this response is shown in Equation (2-20). The use of the ATTA, ATTB and ATTi fields are the same as the FRDIST. In this case, the REAL/IMAGINARY form of the data is used to construct the PSD value so the Case Control command does not play a role in selecting the data representation. The ATTB field identifies the ID of the RANDPS Bulk Data entry that is used to define the input power spectrum. The use of the RANDPS enables this response to span subcases. If a RMSDISP response is being applied with RANDPS Bulk Data entries that include multiple subcases, the DESSUB or DESOBJ request that invokes the PSDDISP response must be in the first subcase used by the RANDPS entry. RMSVELO

The RMSVELO response identifies a root mean square velocity value that is generated in a frequency response analysis. The comments for the RMSDISP response are applicable with the RMSVELO response as well. RMSACCL

The RMSACCL response identifies a root mean square acceleration value that is generated in a frequency response analysis. The comments for the RMSDISP response are applicable with the RMSACCL response as well. ACPWR

The ACPWR response identifies the acoustic power radiated through wetted surface and all panels or through a specified panel. The output is requested by Case Control command ACPOWER. The PTYPE should have the panel name for acoustic power through panel. The default PTYPE is blank for total

Main Index

Chapter 4: Input Data 271 Design Responses

acoustic power radiated. ATTA and ATTi fields are blank. Field ATTB should specify forcing frequency. The default is blank for all forcing frequencies. ACINTS

The ACINTS response identifies acoustic intensity normal to wetted surface. The output is requested by Case Control command INTENSITY. The PTYPE and ATTA fields should be left blank. Field ATTB should specify forcing frequency. The default is blank for all forcing frequencies. Field ATTi should contain the Grid ID of wetted surface. AFPRES

The AFPRES response identifies acoustic pressure for Acoustic Field Point Mesh (AFPM). The output is requested by Case Control command ACFPMRESULT. The PTYPE contains the AFPM ID. ATTA field should only specify component 1 or 7. Field ATTB should specify forcing frequency. The default is blank for all forcing frequencies. ATTi field should specify the Grid ID of AFPM. AFINTS

The AFINTS response identifies acoustic intensity for Acoustic Field Point Mesh (AFPM). The output is requested by Case Control command ACFPMRESULT. The PTYPE contains the AFPM ID. ATTA field should specify component code - 0 for normal to AFPM and 1, 2 or 3 for x-, y- or z-directions respectively. Field ATTB should specify forcing frequency. The default is blank for all forcing frequencies. ATTi field should specify the Grid ID of AFPM. AFVELO

The AFVELO response identifies particle velocities for requested Acoustic Field Point Mesh (AFPM) grid points. The output is requested by Case Control command ACFPMRESULT. The PTYPE contains the AFPM ID. ATTA field should specify component code - 11, 12 or 13 for real (magnitude) component of velocity respectively, or 71, 72 or 73 for imaginary (phase) component of velocity respectively. Field ATTB should specify forcing frequency. The default is blank for all forcing frequencies. ATTi field should specify the Grid ID of AFPM. AFPWR

The AFPWR response identifies acoustic power for various frequencies through Acoustic Field Point Mesh (AFPM). The output is requested by Case Control command ACFPMRESULT. The PTYPE contains the AFPM ID. ATTA and ATTi fields are blank. Field ATTB should specify forcing frequency. The default is blank for all forcing frequencies. ATTi field should specify the Grid ID of AFPM. TDISP

The TDISP response identifies a displacement in a transient response analysis at a particular grid point and component. It is therefore similar to the DISP response in statics, including the feature that it possible to specify multiple components using the ATTA field. The ATTi fields are used to identify the grid points the response is to be extracted from while the ATTB field has a number of options that need to be covered in detail. If the ATTB field is blank, the response is evaluated at all the excitation time steps.

Main Index

272 Design Sensitivity and Optimization User’s Guide Design Responses

If the ATTB field is a real number, the response is calculated at the excitation time step that is nearest to that number. ATTB field can also be one of six special character string discussed with the FRACCL response except that now the operations are occurring over multiple time steps instead of multiple frequencies. TVELO

The TVELO response identifies a velocity in a transient response analysis at a particular grid point and component. The comments for the TDISP response type apply to the TVELO response type. TACCL

The TACCL response identifies an acceleration in a transient response analysis at a particular grid point and component. The comments for the TDISP response type apply to the TACCL response type. TSPCF

The TSPCF response identifies an single point constraint force in a transient response analysis at a particular grid point and component. The comments for the TDISP response type apply to the TSPCF response type. TSTRE

The TSTRE response identifies an element stress in a transient response analysis. In this case the ATTA field refers to a real stress item code as given in Element Stress (or Strain) Item Codes (p. 983) in the MSC Nastran Quick Reference Guide. The comments on the ATTB field provided with the TDISP description are applicable to the TSTRE response as well. TFORCE

The TFORCE response identifies an element force in a transient response analysis. In this case the ATTA field refers to a real force item code as given in Element Force Item Codes (p. 1017) in the MSC Nastran Quick Reference Guide. The comments on the ATTB field provided with the TDISP description are applicable to the TFORCE response as well. STMONP1

The STMONP1 response invokes a structural MONPNT1 (as opposed to an aerodynamic MONPNT1). This response is only available in static aeroelastic (ANALYSIS=SAERO) and static (ANALYSIS=STATICS) subcases and not in dynamic or modal subcases. Invoking this response in a statics subcase may not make much sense since loads are typically invariant with respect to the designed properties. The ATTA field specifies the components to be extracted. These can be any subset of the integers 1 through 6 that appear on the monitor quantity with the NAME provided in the PTYPE field. STMOND1

The STMOND1 response invokes a structural MONDSP1 (as opposed to an aerodynamic MONDSP1). This response is only available in static aeroelastic (ANALYSIS=SAERO) and static (ANALYSIS=STATICS) subcases and not in dynamic or modal subcases. The ATTA field specifies the

Main Index

Chapter 4: Input Data 273 Design Responses

components to be extracted. These can be any subset of the integers 1 through 6 that appear on the monitor quantity with the NAME provided in the PTYPE field. This response can be throught of as being an averaged displacement. MONPNT3

The MONPNT3 response invokes a MONPNT3 bulk data entry. This reponse is only available in static aeroelastic (ANALYSIS=SAERO) and static (ANALYSIS=STATICS) subcases and not in dynamic or modal subcases. Invoking this response in a statics subcase may not make much sense since loads are typically invariant with respect to the designed properties. The ATTA field specifies the components to be extracted. These can be any subset of the integers 1 through 6 that appear on the monitor quantity with the NAME provided in the PTYPE field. AEMONP1

The AEMONP1 response invokes an aerodynamic MONPNT1 bulk data entry. This response is only available in static aeroelastic (ANALYSIS=SAERO) subcases. The ATTA field specifies the components to be extracted. These can be any subset of the integers 1 through 6 that appear on the monitor quantity with the NAME provided in the PTYPE field. AEMOND1

The AEMOND1 response invokes an aerodynamic MONDSP1 bulk data entry. This response is only available in static aeroelastic (ANALYSIS=SAERO) subcases. The ATTA field specifies the components to be extracted. These can be any subset of the integers 1 through 6 that appear on the monitor quantity with the NAME provided in the PTYPE field. This response can be thought of as being an averaged displacement. TRIM

The TRIM response identifies a trim variable in a static aeroelastic response analysis. This can be used to impose limits on the values these variables can take on during the analysis. It is only necessary to identify the ID of the AESTAT or AESURF entry that defines the trim variable using the ATTA field. The MSC Nastran User’s Guide for Aeroelastic Analysis, V68 provides further information on this response in Aeroelastic Design Sensitivity and Optimization. STABDER

The STABDER response identifies a stability derivative in a static aeroelastic response analysis. This can be used to impose limits on the values these variables can take on during the analysis. In addition to the AESTAT/AESURF entry in the ATTA field, a single component (1 through 6) is specified using the ATT1 field. The ATTB field is used to specify whether restrained (ATTB=1) or unrestrained (ATTB=0) form of the derivative is to be used. The MSC Nastran User’s Guide for Aeroelastic Analysis, V68 provides further information on this response in Aeroelastic Design Sensitivity and Optimization and examples in Chapter 10 of that guide show how the stability derivative for the roll rate due to the a control surface deflection can be combined with the stability derivative for the roll rate due to roll to provide a measure of the achievable roll rate of the vehicle.

Main Index

274 Design Sensitivity and Optimization User’s Guide Design Responses

FLUTTER

The FLUTTER response identifies a flutter damping value from an aeroelastic flutter analysis. In this case, the ATTi fields are used to uniquely identify the damping values of interest. In this case: • ATT1 identifies a SET1 Bulk Data entry that specifies for which modes the responses are

computed. This allows you to pinpoint the flutter roots of interest and to avoid placing constraints on flutter eigenvalues that are primarily due to rigid body modes and therefore not affected by changes in the structure. • ATT2 identifies an FLFACT entry that specifies the densities at which the flutter responses are

desired. This should be the same set or a subset of the densities used in the flutter analysis that have been selected on the FLUTTER Bulk Data entry. • ATT3 identifies an FLFACT entry that specifies the Mach numbers at which the flutter responses

are desired. This should be the same set or a subset of the Mach numbers used in the flutter analysis that have been selected on the FLUTTER Bulk Data entry. • ATT4 identifies an FLFACT entry that specifies the velocities at which the flutter responses are

desired. Note that only the PK and PKNL methods of flutter analysis are supported for this response. This should be the same set or a subset of the velocities used in the flutter analysis that have been selected on the FLUTTER Bulk Data entry. If the PKNL method has been specified on the FLUTTER Bulk Data entry, it must be specified in the PTYPE field of the DRESP1 entry.

Main Index

Chapter 4: Input Data 275 Optimization Parameters

Optimization Parameters DOPTPRM Purpose: Overrides default values of parameters used in design optimization. Entry Description: DOPTPRM PARAM1

VAL1

PARAM2 VAL2

PARAM5

VAL5

-etc.-

Field

PARAM3 VAL3

PARAM4 VAL4

Contents

PARAMi

Name of the design optimization parameter. For allowable names, see the DOPTPRM listing in The Bulk Data Section (p. 1045) in the MSC Nastran Quick Reference Guide. (Character)

VALi

Value of the parameter. (Real or Integer; see the DOPTPRM listing in The Bulk Data Section (p. 1045) in the MSC Nastran Quick Reference Guide)

Associated Entries: None. Discussion: There are numerous parameters that control various aspects of the optimization process itself. While all of these parameters have defaults (the DOPTPRM entry is optional), the defaults may be changed using the DOPTPRM entry. An overview of selected parameters, grouped according to their functionality is presented in this section. See also The Bulk Data Section (p. 1045) in the MSC Nastran Quick Reference Guide as it contains the complete list of all optimization parameters that may be changed. Choice of Approximation Method (APRCOD) There are three types of approximation methods to choose from: direct linearization, mixed method, and convex linearization (see Function Evaluation). The mixed method is the default. Direct linearization (APRCOD = 1) is based on the simple first-order Taylor series expansion directly in terms of the design variables. The method is often useful for dynamic response optimization, shape optimization, and optimization tasks that use basis vector formulations. The mixed method (APRCOD = 2) uses a combination of direct and reciprocal approximations, depending on the response type being approximated (see Table 4-5). Convex linearization (APRCOD = 3) uses either a direct or reciprocal approximation, depending on which one yields the more conservative approximation. The choice is made on an individual design variable and individual constraint basis.

Main Index

276 Design Sensitivity and Optimization User’s Guide Optimization Parameters

Optimization Method (OPTCOD, METHOD) The OPTCOD parameter permits the specification of the optimization code to be used as shown in Table 4-7. See Optimizers (Licensing), 189. Table 4-7

OPTCOD Options

Name OPTCOD

Description, Type and Default Value OPTCOD (Character; Default = Blank) = Blank

taken from system cell number 413

= “MSCADS”

MSCADS is used

= “IPOPT”

IPOPT is used

The METHOD parameter selects the particular algorithm that is to be used with MSCADS as shown in Table 4-8. The parameter is only relevant for MSCADS. For MSCADS, METHOD’s 1, 2 and 3 refer to the Modified Method of Feasible Directions (MMFD), Sequential Linear Programming (SLP) and Sequential Quadratic Programming (SQP), respectively. Experience has shown that the MMFD algorithm is the most reliable for MSCADS. METHOD=4 is sequential unconstrained minimization technique (SUMT) and is only available with MSCADS. METHOD=ijk is provides access to a suite of MSCADS optimization techniques, with the I specifying the strategy, j the optimizer and k the one-dimensional search method as shown in Table 4-9. No guidelines are provided in the use of these ijk alternatives, they are simply made available for knowledgeable users who are encountering difficulties with one of the basic methods. The default behavior of OPTCOD and METHOD is that the optimizer and METHOD will be automatically selected for better performance based on number of design variables, number of constraints, number of active/violated constraints and computer memory. Table 4-8

METHOD Options

Name METHOD

Main Index

Description, Type and Default Value Optimization method (Integer > 0; Default = 0) 0

Automatic selection for a better performance based on number of design variables, number of constraints, number of active/violated constraints and computer memory.

1

Modified Method of Feasible Directions for MSCADS.

2

Sequential Linear Programming for MSCADS

3

Sequential Quadratic Programming for MSCADS

4

SUMT method for MSCADS

IJK

See Table 4-9

Chapter 4: Input Data 277 Optimization Parameters

Table 4-9

MSCADS Options

MSCADS strategy options (integer 0-9) 0

None - Go directly to the optimizer

1

Sequential unconstrained minimization using the exterior penalty function method

2

Sequential unconstrained minimization using the linear extended interior penalty function method

3

Sequential unconstrained minimization using the quadratic extended interior penalty function method

4

Sequential unconstrained minimization using the cubic extended interior penalty function method

5

Augmented Lagrange multiplier method

6

Sequential linear programming

7

Method of centers

8

Sequential quadratic programming

9

Sequential convex programming

MSCADS optimizer options for J (Integer 1-5) 1

Fletcher-Reeves algorithm for unconstrained minimization

2

Davidson-Fletcher-Powell (DFP) variable metric method for unconstrained minimization

3

Broydon-Fletcher-Goldfarb-Shanno (BFGS) variable metric method for unconstrained minimization

4

Method of feasible directions for constrained minimization

5

Modified method of feasible directions for constrained minimization

MSCADS one-dimensional search options for K (integer 1-8)

Main Index

1

Find the minimum of an unconstrained function using the Golden Section method

2

Find the minimum of an unconstrained function using the Golden Section method followed by polynomial interpolation

3

Find the minimum of an unconstrained function by first finding bounds and then using polynomial interpolation

4

Find the minimum of an unconstrained function by polynomial interpolation/extrapolation without first finding bounds on the solution

278 Design Sensitivity and Optimization User’s Guide Optimization Parameters

Table 4-9

MSCADS Options (continued) 5

Find the minimum of a constrained function using the Golden Section method

6

Find the minimum of a constrained function using the Golden Section method followed by polynomial interpolation

7

Find the minimum of a constrained function by first finding bounds and then using polynomial interpolation

8

Find the minimum of a constrained function by polynomial interpolation/extrapolation without first finding bounds on the solution

Transformation of the Approximate Optimization Task to a Feasible Design (PENAL) The PENAL parameter can be used to transform an infeasible design into a feasible one using the equations i

g j = g j – B  j = 1 2 ncon  

1

=  + B  PENAL   0

where the algorithm initializes B to a value equal to the maximum value of g j (if this is a negative number, the transformation is not required).  0 is the initial value of the objective. This parameter has been shown to be most useful when applied with the ADS algorithms. PENAL=2.0 is recommended. Design Cycle Print Controls (P1, P2, P2CR, P2CDDV, P2CP, P2CC, P2CM, P2CBL, P2CALL, P2RSET) Insight into the progress of the optimization task can be obtained by requesting prints of selected information during the optimization. This can potentially produce an unmanageable amount of data so that a number of DOPTPRM parameters are available for specifying this print. P1 controls the frequency of the output: P1

=0

output for initial and optimal designs (default)

=n

output for every n-th design cycle

P2 provides a “first level” control of which design quantities are printed: P2

Main Index

=0

no output

=1

objective and design variables (default)

=2

designed properties

Chapter 4: Input Data 279 Optimization Parameters

=4

design constraints

=8

design responses

= 16

weight as a function of material ID

The various P2 options can be summed to produce output combinations. For example, P2 = 15 prints out all available design data. The P2 = 16 option is the result of a special request and is not directly related to design. Eight additional parameters control constraint and response prints once these prints have initially been invoked with the P2 parameter. P2CR

Maximum number of Constraints on Responses to be printed

P2CDDV

Maximum number of Constraints on Dependent Design Variables to be printed

P2CP

Maximum number of Constraints on Properties to be printed

P2CC

Maximum number of Constraints on Connectivity properties to be printed

P2CM

Maximum number of Constraints on Material properties to be printed

P2CBL

Maximum number of Constraints on Beam Library dimensions to be printed

P2CALL

Maximum number of Constraints of all categories to be printed

P2RSET

SET1 ID for which a set of Response IDs is defined

P2CALL can be used to provide a default for any or all of the categories. For example, P2CALL = 10 will print up to 10 of each type of constraint. If there are fewer than ten constraints of a give type available, only the available number will be printed. Note that P2CALL applies to each type of constraint individually. No attempt is made to find the most critical constraints across all types and only print out these constraints. The remaining P2Cx parameters allow you to selectively specify the number of constraints printed for that constraint type. If the number specified is fewer than the number available, a sort is performed to find the P2Cx most critical and only these are printed. If the number specified exceeds the number of constraints available, no sorting is performed and all the constraints are printed in the order of increasing internal constraint ID. P2RSET can be utilized to print a selected set of responses. P2RSET refers to a SET1 Bulk Data entry that contains a list of DRESPx IDs that are to be printed. Only retained responses (i.e., those that survived the constraint screening process) are printed. The print of responses can now be affected by three DOPTPRM parameters: P2, P2CR and P2RSET. Figure 4-2 depicts how the three parameters affect the print.

Main Index

280 Design Sensitivity and Optimization User’s Guide Optimization Parameters

N

Y

P2 Set for Response Print

No Response Print Y

Figure 4-2

Y

Y

P2RSET > 0 Print only retained responses associated with printed constraints

P2CR > 0

Print all retained responses in set P2RSET N

P2RSET = -1

Y

N

P2RSET > 0 N All retained responses printed

Flowchart Showing How P2, P2RSET and P2CR Affect the Print of Retained Design Responses

Optimizer Level Print Control (IPRINT) The parameter IPRINT controls the amount of optimizer output. This parameter is normally turned off (default = 0) by users since the optimizer is used in a “black-box” mode. However, sometimes it is useful to follow what is happening within the optimizer itself. The levels of optimizer print are as follows: IPRINT

Optimizer Printout

No output (default)

1

Internal parameters, initial information, and results

2

Same, plus objective function and design variables at each iteration

3

Same, plus constraint values and identification of critical constraints

4

Same, plus gradients

5

Same, plus search direction

6

Same, plus scaling factors and miscellaneous search information

7

Same, plus one-dimensional search information

Note that IPRINT > 3 produces constraint prints. These constraint values are in the internal constraint order, which is associated with the constraint evaluation and is not affected by the print order produced with the P2Cx parameters. The internal constraint ID is still printed when the P2Cx parameters are used, but the constraints are unlikely to be in ascending order of this ID.

Main Index

Chapter 4: Input Data 281 Optimization Parameters

Maximum Number of Mathematical Programming Design Cycles (DESMAX) The optimization process is iterative since the optimizer obtains data about the design space from approximations. The approximate model, constructed based on a detailed finite element analysis, is used by the optimizer to find an approximate optimum. This design is resubmitted for another finite element analysis followed by another approximate optimization. This process is repeated until convergence with respect to these overall design cycles is reached or until the maximum specified number of design cycles (DESMAX) is reached. The default value of DESMAX is five. Usually, good progress toward a optimal design has been made by this point and it’s a good time to review the results. However, more cycles are often necessary and the DESMAX parameter can be adjusted at the user’s discretion. At other times, it is desirable to set DESMAX to one so that you can make sure that everything appears to be in order before committing to a longer run. If the maximum number of design cycles is reached before convergence is achieved, the problem can always be restarted from the last design (see Topology Optimization). Fully Stressed Design (FSDMAX, FSDALP) The Fully Stressed Design (FSD) algorithm discussed in Fully Stressed Design has a design loop that is independent from the mathematical programming loop. The maximum number of FSD design cycles is specified by FSDMAX, which has a default value of 0 (no FSD cycles). Once the FSD cycles have been completed (either from convergence of after FSDMAX design cycles), the algorithm automatically transitions to the mathematical programming algorithm with DESMAX used to control the maximum number of additional cycles that will be made. Setting DESMAX to 0 will prevent any mathematical programming cycles. The FSDALP parameter controls the relaxation factor,  , used in the resizing equation of Equation (2-154). The default value of 0.9 for FSDALP is usually adequate to achieve quick convergence. Lower values, such as 0.5, can be used to achieve a completely converged solution. Move Limits on the Approximate Optimization (DELP, DPMIN, DELX, DXMIN) As the optimizer modifies the design variables, the structure’s properties and/or shape will vary depending on the design model description. As discussed in The Approximate Model, move limits need to be placed on the approximate subproblem for efficiency reasons. These move limits are imposed with respect to analysis model properties as well as design variables. They can be changed from their defaults by modifying DELP and DPMIN for properties, and DELX and DXMIN for design variables. The DELXV attribute on the DESVAR entry allows control in the movement of an individual design variable. A recommendation on DELP is that its value should always be less than 1.0. A value of 1.0 or greater could allow the property to go to zero or even negative, with unpredictable results. Convergence Criteria (CONV1, CONV2, GMAX, CONVDV, CONVPR) The parameters CONV1, CONV2, GMAX, CONVDV, and CONVPR are used to test for overall design cycle convergence. These parameters are used in connection with tests for both hard and soft convergence. Tests for Convergence, describes the types of convergence testing as well as the convergence decision logic.

Main Index

282 Design Sensitivity and Optimization User’s Guide Optimization Parameters

Soft convergence compares the design variables and design properties output from the approximated model optimization with these same values at the beginning of the design cycle. Soft convergence is not sufficient to terminate the design cycle iterations unless the parameter SOFTEXIT is set to YES. NO is the default and it can be changed with a PARAM Bulk Data entry, not with the DOPTPRM entry. Hard convergence testing compares the analysis results of current design cycle with those of the previous cycle. This test is a more conclusive test of convergence since it is based on hard evidence. Hard convergence will always terminate the design cycle process. Convergence at the optimizer level can also be controlled using the DOPTPRM entry. Parameters that can be changed include DABOBJ, DELOBJ, ITMAX, ITRMOP, ITRMST, and JTMAX. Finite Difference Perturbations (DELB, STPCSL) Design sensitivity coefficients are computed in MSC Nastran using a semianalytic approach, as explained in Design Sensitivity Analysis. The value of the property finite difference move parameter DELB of Equation (2-40) and Equation (2-41) can be changed with the DOPTPRM entry although the default value of 1.0E-4 gives good results in most cases. The value of the shape finite difference move parameter STPCSL of Equation (2-42) can also be changed with the DOPTPRM entry. Comparison Between the Design and Analysis Properties (PTOL, PLVIOL) The initial value of an analysis property given on a property Bulk Data entry may not always correspond to the value of the property calculated using the initial values of the design variables. If the relative difference between the properties differs by more than PTOL, the program terminates with an error condition. The default of 1.0E35 implies that nearly all discrepancies are tolerated and the initial analysis property values will be overridden using the design model data. If you want your analysis models and design models to agree, setting PTOL to a value close to zero will terminate the run when the two models differ significantly. A related DOPTPRM parameter is PLVIOL, which can be set to a non-zero integer to allow the run to continue when the initial designed properties violate the limits imposed on the properties by the PMIN and PMAX values on the DVxRELy entries. Allowing these violations is not good practice since it puts a burden on the optimizer to satisfy a violated property constraint that is more properly satisfied when preparing the input. A final comment on analysis versus design property values is that the DPEPS parameter entered with a PARAM entry allows you to specify a difference value that is used to assess whether the analysis properties are close enough to the designed properties that previously computed results using the analysis properties can be used in subsequent sensitivity analysis. The default value of DPEPS = 1.0E-4 allows for only a very small difference so that a new analysis will be performed whenever the design properties differ from the analysis properties. Setting this parameter to a larger value allows greater differences and perhaps avoids a finite element analysis. But it must be realized that the sensitivities, which are computed using the design values, are not fully consistent with the analysis values which have been calculated using the analysis values.

Main Index

Chapter 4: Input Data 283 Optimization Parameters

Discrete Variable Optimization (DISCOD, DISBEG) As discussed in Special Topics, a continuous optimization task can be followed by an essentially postprocessing operation which determines the values of the design variables which provides an optimal design while limiting the design variable values to a discrete set of values specified using the DDVAL entry. Two DOPTPRM parameters (DISCOD and DISBEG) control the discrete variable processing. The DISBEG parameter specifies at which mathematical programming design cycle you want to start performing discrete optimization. The default value of 0 performs discrete optimization only after the continuous optimization process is complete. The DISCOD parameter selects from one of the four discrete optimization alternative methods. DISCOD Value

Discrete Optimization Method

1

Design of Experiments (Default)

2

Conservative Discrete Design

3

Round up to the nearest design variable

4

Round off to the nearest design variable

Turn off discrete variable processing

The DISCOD = 0 option facilitates ignoring DDVAL data on the DESVAR entry when a discrete variable optimization task is not desired. Constraint Normalization (GSCAL) Equation (2-10) indicates how the constraints are normalized and makes reference to a GSCAL parameter. This parameter can be modified from is default value of 0.001 using the DOPTPRM entry. As the discussion following Equation (2-10) indicates, it is not good practice to define constraints in a way that requires the use of GSCAL. Instead, the response should be recast in a form (perhaps through the use of a DRESP2 entry) that avoids the small bounds that invoke the use of GSCAL.

Active and Violated Constraints (CT, CTMIN) The MSCADS optimizer makes a determination of what constraints it should consider when performing its task that is over and above the screening actions discussed in Constraint Screening. DOPTPRM parameter CT is used to define that threshold above which a constraint is considered active while CTMIN is used to identify violated constraints. (See Figure 2-8 and Figure 2-9.) The default values of -0.03 for CT and 0.003 for CTMIN have been found to be adequate in most cases. When it appears that the default value is causing the optimizer to neglect constraints that become critical once the redesign is performed, the CT value can be changed to a value such as -0.1. Topology Optimization Variables (TCHECK and TDMIN) and Special Topology Optimization Settings Topology optimization has two parameters that are unique to it. Parameter TCHECK is used to turn on a filtering parameter that is used to prevent a checkerboard pattern from being produced.

Main Index

284 Design Sensitivity and Optimization User’s Guide Optimization Parameters

The value 1 turns on the filtering algorithm. Use TCHECK=2 to invoke Density Constraint method when the minimum member size is relatively larger. The default value -1 is automatic selection of the filtering algorithm and density constraint and is the recommended option. TCHECK=0 turns off filtering. The second parameter, TDMIN, is used to prevent achieving a final design that is characterized by thin disjoint fibers that are impractical from a manufacturing standpoint. Design variable elements that are within a distance of TDMIN from an element with a design variable close to 1.0 are filtered to ensure they are not small. Note that the value of TDMIN is problem-size dependent but not mesh-size dependent. The default for TDMIN is 0.0 (no filtering). Tuning of the topology optimization algorithm has indicated the following parameters benefit from a different default value than is used in standard design optimization. Table 4-10

Modified DOPTPRM Default for Topology Optimization

Parameter

Topology Default

DESMAX

30 or 60 for Topology with minimum member size

CONVDV

1.0E-4

DELX

0.2

DXMIN

1.0E-5

DOPTPRM parameter P2 also has a different meaning for topology optimization in that design variables are printed only when P2 > 8. This is because topology optimization tasks typically involve thousands of design variables.

Main Index

Chapter 4: Input Data 285 External Response

External Response External Response or Type-3 Response Type-3 responses provide a completely general way of synthesizing responses which are (i) not Nastran responses or Type-1 responses and (ii) too complex to evaluate using synthetic formulations or Type-2 responses. The Type-3 response is regarded as a major extension of the Type-2 response. The representation of Type-3 response is similar to that of Type-2. To illustrate, equations (2-7) and (2-8) from Fundamentals of Design Sensitivity and Optimization in MSC Nastran are reproduced below as equations (4-1) (for Type-2) and (4-2) (for Type-3), respectively: r2 = f(X,C,R1,P,R2,XYZ)

(4-1)

r3 = f(X,C,R1,P,R2,XYZ,string)

(4-2)

However, there are some differences. Two of them can be immediately spotted from a cursory glance at the equations (4-1) and (4-2). While Type-2 responses may be functions of other Type-2 responses (note R2 in the argument list in equation 2-7), Type-3 responses cannot be functions of Type-3 responses. The additional 'string' argument in equation 2-8 permits the passing of user data that can be used to direct the execution of the program calculating the response. A major difference is that while the evaluation of Type-2 response is accomplished by internally solving an explicit equation effected through the DEQATN Bulk Data Entry, the evaluation of the Type-3 response is by an external program with which Nastran communicates through an API (Application Program Interface). This is what gives the Type-3 response an unlimited potential to evaluate responses of any complexity. More importantly, the external program could be proprietary; Nastran only needs to know the value of the response, and not how it is calculated. To illustrate this difference, Figure 3-4 and Figure 3-7 from Developing the Design Model for Sensitivity and Optimization are reproduced as Figure 4-3 and Figure 4-4, respectively. They depict the data structures of DRESP2 and DRESP3 (Bulk Data entries for Type-2 and Type-3 responses, respectively).

Main Index

286 Design Sensitivity and Optimization User’s Guide External Response

Analysis Results

DEQATN

DRESP1 Figure 4-3

DESVAR DTABLE DNODE DVPREL1 DVCREL1 DVMREL1 DVPREL2 DVCREL2 DVMREL2

Second - Level Responses

Analysis Results

DRESP1

Figure 4-4

Main Index

Third-Level Responses

DESVAR DTABLE DNODE DVPREL1 DVCREL1 DVMREL1 DVPREL2 DVCREL2 DVMREL2 DVMREL2 DRESP2 USRDATA

External Server

DRESP2

Chapter 4: Input Data 287 External Response

The first line of the DRESP2 Bulk Data Entry contains field EQID or FUNC for providing the ID of DEQATN entry. DRESP3 Bulk Data Entry does not have this field. Instead, it has fields GROUP and TYPE which identify the group and type for the external response. The client-server technology that has been used in Type-3 response is illustrated in Figure 4-5.

Server 1 In-House Program

MSC.Nastran

Server i

Figure 4-5

Main Index

Server 2

API

The External Response Client-Server Capabilities

i = 110

288 Design Sensitivity and Optimization User’s Guide User Interface for Setting Up External Response

User Interface for Setting Up External Response There are six steps required in setting up the external response in a design task: 1. Create DRESP3 entry to specify the group and type of response 2. Write C or Fortran routines to calculate response based on template routines 3. Build an External server executable using the SCons Tool executable 4. Create an FMS CONNECT entry to define the external response group 5. Create an evaluator connection file to associate the external response group with the server program. 6. Submit the Nastran job with the gmconn keyword that references to the evaluator connection file. These six steps are now explained in detail.

Creating a DRESP3 entry A DRESP3 entry defines an external response calculated using user-supplied routines. The response can be used as constraints or as an objective in a design. A compact form of the DRESP3 entry is given below. See DRESP3 for the detailed description of the Bulk Data Entry.

Main Index

Chapter 4: Input Data 289 User Interface for Setting Up External Response

1

2

3

4

5

6

DRESP3

ID

LABEL

GROUP TYPE

7

8

9

REGION

“DESVAR”

---------------------------List of DESVAR IDs -----------------------------------

“DTABLE”

----------List of LABELs for constants in DTABLE entry-----------------

“DRESP1”

-------------------------List of DRESP1 IDs---------------------------------------

“DNODE”

-----------List of Grid IDs and corresponding degree of freedom--------

“DVPREL1”

----------------------List of DVPREL1 IDs----------------------------------------

“DVCREL1”

----------------------List of DVCREL1 IDs----------------------------------------

“DVMREL1”

----------------------List of DVMREL1 IDs---------------------------------------

“DVPREL2”

----------------------List of DVPREL2 IDs----------------------------------------

“DVCREL2”

--------------------------List of DVCREL2 IDs------------------------------------

“DVMREL2”

--------------------------List of DVMREL2 IDs-----------------------------------

“DRESP2”

--------------------------List of DRESP2 IDs--------------------------------------

“USRDATA”

---------------------------------String-------------------------------------------------

Example

DRESP3

1

MYRESP

MYBUCK

BUCKEJ

DESVAR

1

2

3

DRESP1

10

11

12

USRDATA Constants: 12345.6 789.0 99.0

Write C or Fortran Routines to Calculate Response Based on Template Routines Two subroutines are modified to perform the server task. These subroutines, and any further routines are placed in the src subdirectory described in Step 3 below. The first subroutine is entitled R3SGRT and a simple example is shown in Listing 4-1 below. This sets up the parameters used for the external response. Listing 4-1

R3SGRT Subroutine

SUBROUTINE R3SGRT(GRPID,TYPNAM,nresp, grdtyp, ERROR) C ---------------------------------------------------------------------C C PURPOSE: VERIFY THE EXTERNAL RESPONSE TYPE C C GRPID input integer - Group ID C TYPNAM input character*8 - Name of external response type c nresp outpt integer - number of responses for this dresp3 c grdtyp outpt integer - integer array of length nresp c indicating how gradient are to be c computed c = 1 user to supply analytic gradients c varies during approx. optimization c = 2 user to supply analytic gradients

Main Index

290 Design Sensitivity and Optimization User’s Guide User Interface for Setting Up External Response

c invariant during approx. optimization c = 3 finite difference technique to provide gradients c varies during approx. optimization c = 4 finite difference technique to provide gradients c invariant during approx. optimization c C ERROR input/output integer -error code for the call. C C Method C Match the user input: typnam with the list of available C external response types. If no match is found, set error code. C C Called by C R3CGRT C C NOTE: C The writer of this routine is responsible to specify C NTYPES and R3TYPE. C ---------------------------------------------------------------------C C VARIABLES PASSED IN C INTEGER GRPID, ERROR, nresp integer grdtyp(*) C double precision rgdtyp(*) CHARACTER*8 TYPNAM C C LOCAL VARIABLES C INTEGER NTYPES, BADTYP PARAMETER(NTYPES=6) CHARACTER*8 R3TYPE(NTYPES) C DATA BADTYP/7554/ DATA R3TYPE/'USEVAR1 ','USEVAR10','USEALL', . 'USEMIXVS','FREQMOD ','EULJOH '/

100 200

ERROR = 0 DO 100 ITYPE = 1, NTYPES IF (TYPNAM .EQ. R3TYPE(ITYPE)) THEN nresp = 2 grdtyp(1) = 1 grdtyp(2) = 1 GOTO 200 END IF CONTINUE ERROR = BADTYP CONTINUE RETURN END

The user is required to assign a value to NTYPES in the parameter statement for the number of response types for a given response group and to assign the response type names to the array R3TYPE in the data statement. Further, the user must provide a value to the number of responses NRESP to be calculated for the response type. Finally, the user must indicate how the gradients are to be supplied for each of the response types. In the example shown above, there are two responses for the response type and analytical gradients are to be supplied.

Main Index

Chapter 4: Input Data 291 User Interface for Setting Up External Response

Before listing the R3SVALD routine, a portion of a sample input deck containing the DRESP3 and related entries is given below: DRESP3

32

JOHNSON

TESTGRP

EULJOH

DESVAR 1 DTABLE L

E

SIGMAC

DRESP1

25

DESVAR

1

R

1.0

0.01

DRESP1

25

SIGMA

STRESS

PBAR

Note:

10.0 6

10

DRESP3 has 5 arguments labeled as R, L, E, SIGMAC and S1

Listing 4-2

R3SVALD Subroutine

SUBROUTINE R3SVALD(GRPID,TYPNAM, . NITEMS,ARGLIS, . NSIZE, ARGVAL, . NWRDA8,ARGCHR, . forg,nresp,narg, . DR3VAL,senval, . error) C ---------------------------------------------------------------------C C PURPOSE: COMPUTE THE EXTERNAL RESPONSE C C GRPID INPUT INTEGER - GROUP ID C TYPNAM INPUT CHARACTER*8 - NAME OF EXTERNAL RESPONSE TYPE C NITEMS INPUT INTEGER - DIMENSION OF ARRAY ARGLIS C NSIZE INPUT INTEGER - DIMENSION OF ARRAY ARGVAL C NWRDA8 INPUT INTEGER - DIMENSION OF CHARACTER ARRAY ARGCHR C ARGLIS INPUT INTEGER - ARRAY OF NO. OF ITEMS FOR EACH c ARGUMENT type C ARGVAL INPUT DOUBLE - ARRAY OF ARGUMENT VALUES (except c characters) C ARGCHR INPUT CHARACTER*8 - ARRAY OF CHARACTER VALUES c nresp input integer - number of responses c forg input integer - type of call c = 0 function evaluation c = 1 sensitivity evaluation c narg input integer - number of arguments needing gradients C DR3VAL OUTPUT DOUBLE - VALUE OF THE EXTERNAL RESPONSEs c senval output double - matrix of the sensitivity of the IRth c response to the IARGth argument C ERROR input/output integer -error code for the call. C C Method C A)SET UP VARIOUS PARAMETERS FROM THE ARGUMENT LIST C B)if forg = 0 EVALUATE THE EXTERNAL RESPONSE BASED ON THE c GIVEN TYPNAM C C)else if forg = 1 EVALUATE THE sensitivities of the external c responses to the arguments that can vary for

Main Index

292 Design Sensitivity and Optimization User’s Guide User Interface for Setting Up External Response

c the given typnam C D)RETURN BADTYP ERROR IF TYPNAM IS NOT MATCHED HERE. C C nsize - the number of arguments or values in a dresp3 entry C C NSIZE=NV+NC+NR+NNC+NDVP1+NDVP2+NDVC1+NDVC2+NDVM1+NDVM2+NRR2 c where: c nv = number of desvars nr = number of dtables c nr = number of dresp1s nnc = number of dnode pairs c ndvp1 = number of dvprel1s ndvp2 = number dvprel2s c ndvc1 = number of dvcrel1s ndvc2 = number dvcrel2s c ndvm1 = number of dvmrel1s ndvm2 = number dvmrel2s c nrr2 = number of dresp2s c narg = nsize - nc C C CALLED BY C Various C ---------------------------------------------------------------------C C VARIABLES PASSED IN C CHARACTER*8 TYPNAM, ARGCHR(NWRDA8) integer forg , nresp INTEGER GRPID, NITEMS, NSIZE, ARGLIS(NITEMS), ERROR, NWRDA8 DOUBLE PRECISION ARGVAL(NSIZE), DR3VAL(*), senval(nresp,*) C C C LOCAL VARIABLES C INTEGER BADTYP, idbg DOUBLE PRECISION PI, FAC, FACT, SLNDER DOUBLE PRECISION R,L,E,SIGMA,SIGMAC, RGYRA C DATA BADTYP /7554/, badfg /7555/ C PI = 3.14159 PI2 = PI * PI nresp = 2 C C THE USER-SUPPLIED EQUATION TO DEFINE THE EXTERNAL RESPONSES C SIGMA = DRESP1, R=DESVAR, L, E AND SIGMAC = DTABLE CONSTANTS C C EULER : EULER= -SIGMA * (L/ RGYRA ) **2 / (PI**2 * E) C RGYRA = R / 2.0 C C JOHNSON: JOHNSON = -SIGMA / (SIGMAC * FACTOR ) C FACTOR = 1. - SIGMAC * (L/RGYRA)**2 /(4 * PI**2 * E) ERROR = 0 C C SET UP PARAMETERS FOR VARIOUS ARGUMENT ITEMS C IF (TYPNAM .EQ. 'EULJOH ') THEN c function evaluation R = ARGVAL(1) L = ARGVAL(2) E = ARGVAL(3) SIGMAC = ARGVAL(4) SIGMA = ARGVAL(5) RGYRA = R / 2.0 SLNDER = L / RGYRA

Main Index

Chapter 4: Input Data 293 User Interface for Setting Up External Response

c C C c

20 10 c c c c c c

FACT = PI * SQRT(2.0D0 * E / SIGMAC) FAC = 1.0D0 - SIGMAC * (SLNDER) ** 2 /(4.0D0 * PI2 * E ) if ( forg .eq. 0 ) then function evaluation JOHNSON CRITERION DR3VAL(1) = -SIGMA / (SIGMAC * FAC) EULER CRITERION DR3VAL(2) = -SIGMA * SLNDER**2 / (PI2 * E ) else if ( forg .eq. 1 ) then gradient evaluation do 10 iresp = 1, nresp do 20 iarg = 1, narg senval(iresp,iarg) = 0.0d0 continue continue note that argval(2,3 and 4) are constant and therefore have zero sensitivity dsldr = -slnder / r dfacr = -sigmac * slnder * dsldr / (2.0d0 *pi2 * e) sensitivity of the first response to the first argument senval(1,1 ) = dfacr * sigma / ( sigmac * fac ** 2) sensitivity of the second response to the first argument senval(2,1) = -2.0D0*sigma * slnder * dsldr / 1 (pi2 * e ) sensitivity of the first response to the second argument senval(1,2) = - 1.0d0 / (sigmac * fac) sensitivity of the second response to the second argument senval(2,2) = -slnder**2 / (pi2 * e) else error = badfg endif ELSE ERROR = BADTYP END IF RETURN END

The subroutine gets the values of the response as a function of the five DRESP3 arguments. The user has to supply code for the computation of all DR3VAL(IR) and SENVAL(IR,IARG) for as many response types as defined in R3SGRT. In the sample routine taken above, the coding has been done only for TYPNAM = EULJOH. Note that only variable arguments are counted in IARG for SENVAL. In this case, IARG=1 is R which is ARGVAL(1) and IARG=2 is SIGMA which is ARGVAL(5). ARGVAL(2), ARGVAL(3) and ARGVAL(4) which are constants are not counted in IARG for SENVAL. The same subroutine is used for function evaluation and gradient evaluation. The FORG parameter specifies if this is a function evaluation (FORG=0) or a gradient evaluation (FORG=1).

Main Index

294 Design Sensitivity and Optimization User’s Guide User Interface for Setting Up External Response

Build External Servers using SCons Tool Overview MSC Nastran provides an external server capability (beam library, DRESP3 and Spline servers) to allow clients to create custom applications without modifying the Nastran program. Prior to MSC Nastran 2010, the binary server executables were built using make utilities. With the current release, they are built using SCons tool. SCons is a Software Construction tool. Several benefits of using SCons tools are: 1. Automatically resolves source code dependencies. 2. Easy to build binary programs on different platforms with different operating systems. This is particularly true for building external server programs on Windows. 3. Easy to build new server programs when you add new source code. You can simply drop your source code to the target directory without the need to modify SConscript. 4. Easy to extend the current procedures to support applications that are written in Python scripts as well as in C or Fortran. In this document, building DRESP3 servers is described. However, the discussion directly applies to the other two servers. Data Structure Of External Servers The location of a server directory is in the install_dir/msc20121/nast/ directory. The supported beam library, dresp3 and spline servers are placed in three separate directories: The root directory for beam library server: install_dir/msc20121/nast/beamlib The root directory for DRESP3 server: install_dir/msc20121/nast/dr3 The root directory for Spline server: install_dir/msc20121/nast/spline_server The installation directory for DRESP3 server is shown in the figure below. It is located in install_dir/msc20121/nast/dr3 on UNIX and install_dir\msc20121\nast\dr3 on Windows.

Main Index

Chapter 4: Input Data 295 User Interface for Setting Up External Response

Three SCons configuration files in the root directory are required by the SCons tool. Three subdirectories in the root directory are: include, lib and src. • The include/ directory contains general and operating system defines and defines macro to

facilitate passing character strings between Fortran programs and C programs. • The lib/ directory includes predefined library and object files that are architecture dependent. • The src/ directory includes subdirectories that are created to hold source code for various

sample server programs. For each server program, the Scons tool requires a subdirectory be created in the src directory. It is convenient to use the same program name for the directory name, but it is not required. For example, directory dr3serv is created for the dr3serv program. It contains a SConscript file and three Fortran template routines, r3sgrt, r3svald, r3svals described in Step 2: Write C or Fortran routines. Build a DRESP3 Server Building an external server requires your computer to have Software Development Kit installation (SDK) and the MSC Nastran installation with the external server option. (This is the standard installation and

Main Index

296 Design Sensitivity and Optimization User’s Guide User Interface for Setting Up External Response

should require no action on the user's part). For the purposes of this discussion, it is assumed the name of the program you are building is called dr3serv. In the dr3serv/ subdirectory, you have already modified three Fortran template routines. The binary program is saved as dr3serv on UNIX or dr3serv.exe on Windows. The simplest way to build a server is to enter the command from the root directory, scons dr3serv where dr3serv is the name of the program you are building. By default, the command saves the program in the directory ~dr3/Apps/arch/bin that is architecture dependent. For example, arch=LX8664 indicates Linux 64 bit machine or arch=WIN8664 a Window 64 bit machine. If you do not have the write privilege to the install_dir, you must copy the entire dr3/ directory to another location. Then enter the above command in the root directory to build the server. The next several subsections present more advanced topics to customize your build, such as how to build a server from a subdirectory, how to redirect the output from a build to a new location and how to modify SConscript file for your special applications. For simple DRESP3 applications, this material can be skipped over for now and you can proceed to Creating a CONNECT Command. Build All the Programs in the ~src/ Directory The current MSC supplied src/ directory contains 18 subdirectories or server programs. If you want the entire tree to be built, change to the root directory, (e.g., ~dr3/) and enter the command: scons This will build all the programs in the ~dr3/Apps/arch/bin directory. Build Server Program(s) from a Subdirectory If you want to build all the programs from a subdirectory, enter the following command in a subdirectory, scons -D If you are currently working in the dr3serv source directory and want to build only the dr3erv program from that directory, enter the following command scons -D dr3serv Store Server Program(s) in a Different Location By default, the program is saved in the ~dr3/Apps/ directory. Specifying construction variables, APPS_LOCAL and SCA_OBJECT allows you to redirect the output from the build to another location. For example, you can use this option if you want to work from the system installation directory that you do not have the write access to and store the output in a subdirectory you do have write access to. APPS_LOCAL is used to specify the location of Apps Local directory tree that contains the program(s) you have built and SCA_OBJECT is used to specify the location of the Object directory tree. To learn more about the SCons build environment, consult Chapter 16 of SCA Framework User's Guide. These two variables may be specified in one of two ways:

Main Index

Chapter 4: Input Data 297 User Interface for Setting Up External Response

1. Add an option to the scons command scons dr3serv APPS_LOCAL=/scratch

SCA_OBJECT=/scratch/.obj

or 2. Define construction variables APPS_LOCAL and SCA_OBJECT in the SConopts.user file. The SConopts.user is an optional SCons configuration file that is located in the home directory on your computer. The following shows a sample SConopts.user file: # Sample of SConopts.user file import sys import SCASCons # # Object and Apps directory if SCASCons.MACHINE == 'WINNT': SCA_OBJECT = 'C:/shz/msc2009t0/.obj' APPS_LOCAL = 'C:/shz/msc2009t0' elif (SCASCons.MACHINE).startswith('LX'): SCA_OBJECT = '/scratch/shz/msc2009t0/.obj' APPS_LOCAL = '/scratch/shz/msc2009t0' Build a Server Using Additional Source Files Three Fortran routines, r3sgrt, r3svald and r3svals are template routines that provide a basis for your applications. You can extend them by simply arranging more lines in the template or calling a subroutine from the template. The subroutine may be written in Fortran and/or C. The SCons tool automatically processes all the source files in the directory that holds the SConscript file. So you simply drop the source codes in the directory without the need to modify the SConscript file. After your code modification is complete for building a program called myserver1, you can enter the command from the subdirectory, scons -D myserver1 Modify SConscript File to Build Custom Server Programs If you want to provide a user-supplied name to your program or if you want to build the program by including your own library or object files, you need to modify the SConscript file. The SConscript file is written in Python scripts and is used to set any special construction variables unique to the directory that holds the file. It consists of three parts: Standard and local library imports

This part is required to initialize the SCons construction environment and is placed at the top of the file. import os import time Import("env_base") env = env_base.Copy() Standard ending scripts

They are exclusively reserved at the end of the file and should not be changed:

Main Index

298 Design Sensitivity and Optimization User’s Guide User Interface for Setting Up External Response

retval = env.ProcessDir(env_base) Return('retval') Local customizations.

Contains various construction variables that are used to a. specify different compiler options for different platforms, b. reference predefined global and machine dependent library and object files c. specify the name of the program to built A sample of local customizations from the SConscript file is shown below. The highlighted lines will be further discussed in the following special applications. # Start of local customization # # machine map ... # Global and Local Compiling Options # env.Append(CPPDEFINES=['DRESP3_SERVER', '_MSCUTIL', '_OEM_NASTRAN']) env.Append(MSCFPP_DEFINES = ['_IMPLICITNONE', 'DRESP3_SERVER']) env.Append(CPPPATH=[src_top + os.sep + 'include']) # ... # Set up Local Variables src_top=env.AbsDirPathInSou('#') libdir=src_top + os.sep + 'lib' + os.sep + MscArch + os.sep # Set Up Access to machine dependent Library and Object Files if env['MACHINE'] == 'hpux': env.Append(LIBS=['nsl', 'pthread','c','dld']) elif env['MACHINE'] == 'hpuxipf': env.Append(LIBS=['nsl']) elif env['MACHINE'] == 'solaris': env.Append(LIBS=['aio','rt','sunmath','socket','nsl','intl']) env.Append(LIBS=['Cstd','Crun','malloc','dl','mvec']) elif env['MACHINE'].startswith('WIN'): env.AddLinkLibrary(src_top + '/../../api/' + MscArch + '/xdr') env.Append(LIBS=['netapi32', 'Advapi32', 'ws2_32']) env.AddLinkSource(libdir+'getlserm'+env['OBJSUFFIX']) # Set Up Access to Global Library and Object Files env.AddLinkSource(libdir+'cnxx'+env['OBJSUFFIX']) env.AddLinkSource(libdir+'initgmsrvcmns'+env['OBJSUFFIX']) env.AddLinkSource(libdir+'main'+env['OBJSUFFIX']) env.AddLinkSource(libdir+'semd'+env['OBJSUFFIX']) env.AddLinkLibrary(libdir+'dr3srv') # Specify Name of the Program to be Built and Other Options. env.BuildProgram('dr3serv', aliases=None, tree='apps', fortranmain=False, fortranlibs=True) # End of local customization

Now we are ready to modify the SConscipts file and build servers with special requirements. 1. Build a Server with a User-Supplied Name If you want to create a program with a selected name, follow the steps below and assume the server is called mydr3serv.

Main Index

Chapter 4: Input Data 299 User Interface for Setting Up External Response

a. Create a new subdirectory called mydr3serv (or any other name) in the src/ directory. b. Change to the new directory and create files SConscript, r3sgrt, r3svald, r3svals by copying from an existing directory, say dr3serv/. c. Edit SConscript and locate env.BuildProgram line as highlighted above. The program name given in the env.BuildProgram() must match that of the program you are building. env.BuildProgram('dr3serv', aliases=None, tree='apps', ….)

# before

env.BuildProgram('mydr3serv', aliases=None, tree='apps', ….)

# after

d. Modify the Fortran routines as needed Enter the following command from your working directory, scons -D mydr3serv Or change directory to the root and enter command scons mydr3serv If the command runs successfully, the binary program, mydr3serv should be created. 2. Build a Server Using Additional Library and Object Files You can build a program while including your own library or object files. Assume your server needs one custom library called libmydr3.a and two object files called mydr3obj1.o and mydr3obj2.o on UNIX or mydr3.lib, mydr3obj1.obj and mydr3obj2.obj on Windows. Further assume your new program is called myserver2. Follow the steps below to complete this special task. a. Change to the lib/ directory and place your three library and object files there. b. Create a new directory called myserver2 under ~src/ and change to that directory. c. Copy SConscript file and three Fortran routines from an existing sample directory. d. Edit SConscript file, Locate env.AddLinkLibrary as highlighted in the sample local customization shown above. The existing python script references the existing library, dr3srv stored in ~lib directory. Notice local variable libdir has been defined for the ~dr3/lib/ directory. It also references another local variable, src_top that defines the path of the root directory. Therefore, inserting the following script will allow the SCons tool to including your own library, mydr3 in your server build: Env.AddLinkLibrary(libdir+'mydr3') e. Locate env.AddSource as highlighted above. This python script line is used for each object file in the ~lib directory. In order to include two of your own object files, you need to insert the following lines: env.AddLinkSource(libdir+'mydr3obj1'+env['OBJSUFFIX']) env.AddLinkSource(libdir+'mydr3obj2'+env['OBJSUFFIX']) Notice variable env['OBJSUFFIX'] automatically resolves architecture dependent file extension for an object file: the form of .o on UNIX and the form of .obj on Windows.

Main Index

300 Design Sensitivity and Optimization User’s Guide User Interface for Setting Up External Response

f. To build the server from the subdirectory you are working on, enter the following command scons -D myserver2 3. Special procedure for Window Platforms If you are building a server program on Windows in a non-system installation directory, you must take the following extra steps to avoid reference to a missing xdr library. a. First locate the xdr library file. Assume it has been located at d:\bld\nastran\msc2012\api\win64\xdr.lib". Open the SConscript file in the target subdirectory. b. Define local variable, libdir1 to reference the path holding the xdr library: libdir1='d:' + os.sep + 'bld' + os.sep + 'nastran' + os.sep + 'msc2012' + os.sep + 'api' + os.sep + MscArch + os.sep c. Locate an existing script line, env.AddLinkLibrary(src_top + '/../../api/' + MscArch + '/xdr') and replace it with the new script line: env.AddLinkLibrary(libdir1 + 'xdr'). Useful SCons Build Options There are many options you may specify on a SCons command. Two options described in this documents are: Buildtype and Debugprint. To learn more, consult Chapter 16 of SCA Framework User's Guide. Buildtype

specifies a compiler option for the build. If you like to run a debugger program (assuming it is available from your system) to detect possible coding errors, you need to build your program with a debug compile. This can be achieved by entering the command scons dr3serv debug=yes Debugprint

This option requests the SCons tool to print out build diagnostic messages by adding debugprint=i (i=0 to 3) to the command. The following command with debugprint=3 will print out the full set of diagnostic messages such as source trees scanning, compiling and linking information of each subroutine used in your server program. scons dr3serv debugprint=3

Creating a CONNECT Command The CONNECT command, specified in the File Management System (FMS) section, defines the response group. Multiple CONNECT entries may be used to define multiple groups. This command is discussed in File Management. For continuity, the format is repeated here:

Main Index

Chapter 4: Input Data 301 User Interface for Setting Up External Response

CONNECT

DRESP3

Group_name

Evaluator_name

DRESP3

MYBUCK

EXTRESP

Example CONNECT

Creating an Evaluator Connection File The evaluator connection file defines the association between the response group and the corresponding server program. Format: Evaluator_name, the connection option, the path of the server program Example for evaluator connection file extconnect: EXTRESP,-,/net/harkness/users/shz/dr3srv/dr3serv on UNIX or EXTRESP,-,D:\Scratch\DRESP3\dr3serv.exe on Windows where EXTRESP is the evaluator name, symbol '-' indicates that the pipe option is used for the association (i.e., server executable program resides in the same computer as the Nastran program does). The last term is the path name where the server program, dr3serv resides.

Submitting a Nastran Job with the gmconn Keyword gmconn is the keyword used on the command line to reference the name of the evaluator connection files. The connection file is processed at the Nastran initialization stage to establish a physical link between the Nastran program and the server program(s). Example: mscnast2012 myjob scr=yes gmconn=extconnect

Main Index

302 Design Sensitivity and Optimization User’s Guide User Interface for Setting Up External Response

Summary of User Interface

Main Index

Chapter 4: Input Data 303 User Interface for Setting Up External Response

Guidelines and Limitations It is important to realize that the gradients that are provided are for the responses with respect to the DRESP3 arguments and not (necessarily) the design variables. This takes the burden of performing the chain rule calculations from the user and uses existing Nastran operations to compute terms such as: r dr -------3- = -------3- + dx x

r 3 r i

- ------ ------r i x

Instead, the R3SVALD subroutine provides the  r 3  x and r 3  r i terms and the remaining operations are performed within Nastran. Limitation There is a current limitation that all GRDTYP’s for a particular TYPE must be the same. The GRDTYP’s do not need to all be the same for all the DRESP3’s in an input file. That is, one can specify analytic gradients for one TYPE and finite difference gradients for another type. Useful Feature for the Case of a Large Number of DRESP1 Entries and Few Variables DRESP3’s which have a large number of DRESP1’s and no other types of data have been given a special gradient path. It makes sense to do the finite difference gradient calculation by perturbing all the DRESP1 quantities for a particular design variable and then calling DRESP3 evaluation. In this way, the number of calls to the evaluator is reduced from 2*NRSP1 to 2*NDVI. When NRESP1 >> NDVI, this can provide a major performance improvement.

Main Index

304 Design Sensitivity and Optimization User’s Guide User Interface for Setting Up External Response

Main Index

Chapter 5: Output Features and Interpretation Design Sensitivity and Optimization User’s Guide

5

Main Index

Output Features and Interpretation 

Output-Controlling Parameters

Design Optimization Output

Design Sensitivity Output

Design Punch Output

Postprocessing Output

307 309

337

345 351

306 Design Sensitivity and Optimization User’s Guide

An MSC Nastran run will produce a number of output files and the goal of this chapter is to explain the features of these files that are unique to Design Sensitivity and Optimization. Results shown in the .f06 file are emphasized, but attention is also given to results in the .pch (punch) file, a special “comma separated values” file and in two possible output database files: .op2 and .xdb. Since design optimization is an iterative process, a significant amount of output may be generated depending on the quantity of data requested for each design cycle and the number of cycles performed. There are a few parameters that affect the level of detail and the frequency of output (for design cycledependent data). Although covered elsewhere in this guide, these parameters are summarized in this chapter in Output-Controlling Parameters. This is followed by Design Optimization Output that serves to document the printed output that is unique to design optimization through the use of the output from a design optimization problem (DSOUG4.DAT) in the Test Problem Library (TPL) supplied with your MSC Nastran installation tapes. This example introduces most of the frequently encountered types of design optimization output, within the context of an actual problem. The section also documents prints that occur for some of the specialized features of design optimization, such as Fully Stressed Design. The Design Sensitivity Output is a similar output example for design sensitivity analysis. Punch output is described in Design Punch Output while several postprocessing options are described in Postprocessing Output.

Main Index

Chapter 5: Output Features and Interpretation 307 Output-Controlling Parameters

Output-Controlling Parameters Parameters that affect either the frequency or level of detail of the output are discussed here briefly. Some of them (namely, IPRINT, P1, P2, and P2xxxx) are specified on the DOPTPRM Bulk Data entry described in Bulk Data Entries while the remainder are input using the PARAM Bulk Data entry. More information on many of these same parameters can be obtained from Parameters Unique to Design Sensitivity and Optimization.

Main Index

DESPCH

Controls the frequency updated Bulk Data entry output to the punch file. The default is for the final design cycle only, but can be changed to every n-th design cycle (plus the last) with this parameter.

DESPCH1

Controls the amount and form of updated Bulk Data entry output to the punch file. The amount refers to updated properties, DESVAR, DRESP1 and GRID entries. The sign selects between short and large field formats.

IPRINT

Controls the level of printout available directly from the optimizer. Its value, which may range from 0 to 7, is set on the DOPTPRM entry. An increasing value provides increasing levels of detail. See the Bulk Data entry, DOPTPRM.

NASPRT

Governs the frequency of MSC Nastran analysis results output. Output may be requested for the first and last designs only, the first and every n-th design, or turned off completely with this Bulk Data parameter.

OPTEXIT

When set to a value of 4 or 7, provides output of the unformatted design sensitivity coefficient matrix DSCM2. This Bulk Data parameter may assume any value from 1 to 7 indicating exit at any one of seven predefined locations in the solution sequence. However, only OPTEXIT=4 and 7 generate DSCM2 (design sensitivity coefficient) output. This parameter has been superseded by the DSAPRT Case Control command.

P1

Controls the frequency of design cycle output. By default, initial and final optimization summaries are output but can be changed to every n-th cycle using this parameter.

P2

Controls how much design cycle information is output at the intervals determined by P1.

P2CR

Maximum number of Constraints on Responses to be printed.

P2CDDV

Maximum number of Constraints on Dependent Design Variables to be printed.

P2CP

Maximum number of Constraints on Properties to be printed.

P2CC

Maximum number of Constraints on Connectivity properties to be printed.

P2CM

Maximum number of Constraints on Material properties to be printed.

P2CBL

Maximum number of Constraints on Beam Library dimensions to be printed.

P2CALL

Maximum number of Constraints of all categories to be printed.

308 Design Sensitivity and Optimization User’s Guide Output-Controlling Parameters

Main Index

P2RSET

SET1 ID for which a set of Response IDs is defined.

POST

This Bulk Data parameter is used to identify the data base (.xdb or .op2) to be used for storing pre- and postprocessing data and, in the case of the .op2 file, what postprocessor is to be used. In the context of design optimizaton, PARAM POST-1 is the most useful in that it creates data blocks that can be used to perform xy plotting in Patran as shown in Postprocessing Output.

Chapter 5: Output Features and Interpretation 309 Design Optimization Output

Design Optimization Output This section presents design sensitivity and optimization output in the context of one of the example problems (DSOUG4) from MSC Nastran’s test problem library that is also presented as the Stiffened Plate. This problem is chosen because it contains most of the output commonly encountered in a typical optimization example. The best approach is for the reader to locate this problem in the test problem library and run it on his/her installation. The output from the actual problem can then be referenced while reading this section. The results shown here were generated using MSC Nastran 2004 on an Intel-based PC running Linux. Your output should be quite similar, but there may be slight differences.

DSOUG4 Output Assuming you have run this example on your installation and have the output file available, you will notice the following table appearing shortly after the Bulk Data echo: -----

COMPARISON BETWEEN INPUT PROPERTY VALUES FROM ANALYSIS AND DESIGN MODELS -----

---------------------------------------------------------------------------------------------------------------------------PROPERTY PROPERTY PROPERTY ANALYSIS DESIGN LOWER UPPER DIFFERENCE SPAWNING TYPE ID NAME VALUE VALUE BOUND BOUND FLAG FLAG ---------------------------------------------------------------------------------------------------------------------------PBAR 3 A 9.600000E-01 9.600000E-01 1.000000E-15 1.000000E+20 NONE * PBAR 3 I1 1.207200E+00 1.207200E+00 1.000000E-15 1.000000E+20 NONE * PBAR 3 I2 9.812000E-01 9.812000E-01 1.000000E-15 1.000000E+20 NONE * PBAR 3 J 3.200000E-03 3.200000E-03 1.000000E-15 1.000000E+20 NONE * PBAR 3 C1 1.500000E+00 1.500000E+00 -1.000000E+35 1.000000E+20 NONE * PBAR 3 D1 -1.500000E+00 -1.500000E+00 -1.000000E+35 1.000000E+20 NONE * PBAR 3 E1 -1.500000E+00 -1.500000E+00 -1.000000E+35 1.000000E+20 NONE * PBAR 3 F1 1.500000E+00 1.500000E+00 -1.000000E+35 1.000000E+20 NONE * PBAR 3 K1 5.833333E-01 5.833333E-01 -1.000000E-03 1.000000E+20 NONE * PBAR 3 K2 3.750000E-01 3.750000E-01 -1.000000E-03 1.000000E+20 NONE * PBARL 3 DIM2 1.000000E-01 1.000000E-01 N/A N/A NONE PSHELL 1 T 1.500000E-01 1.500000E-01 1.000000E-02 1.000000E+20 NONE 1. THE DIFFERENCE FLAG IS USED TO CHARACTERIZE DIfFERENCES BETWEEN ANALYSIS AND DESIGN MODEL PROPERTIES: IF THE FLAG IS NONE, THEN THERE IS NO SIGNIFICANT DIFFERENCE BETWEEN THE TWO VALUES. IF THE FLAG IS WARNING, THEN THE USER IS ADVISED THAT DIFFERENCES EXIST AND THE DESIGN MODEL IS BEING USED TO OVERRIDE THE ANALYSIS MODEL. IF THE FLAG IS FATAL, THEN THE DIFFERENCES ARE GREATER THAN 1.00000E+35 AND THE RUN WILL BE TERMINATED. 2. THE SPAWNING FLAG (*) INDICATES THAT THE SPAWNED PROPERTY IS DERIVED EITHER FROM THE BEAM CROSS SECTION LIBRARY OR FROM A PBEAM ENTRY. THE PROPERTY ID FOR THE SPAWNED PROPERTY IS IDENTICAL TO ITS PARENT. -----

-

COMPARISON BETWEEN INPUT CONNECTIVITY PROPERTY VALUES FROM ANALYSIS AND DESIGN MODELS -----

-------------------------------------------------------------------------------------------------------------ELEMENT ELEMENT CONNECTIVITY ANALYSIS DESIGN LOWER UPPER DIFFERENCE TYPE ID NAME VALUE VALUE BOUND BOUND FLAG -------------------------------------------------------------------------------------------------------------CBAR CBAR CBAR CBAR CBAR CBAR CBAR CBAR

31 31 32 32 33 33 34 34

W3A W3B W3A W3B W3A W3B W3A W3B

1.575000E+00 1.575000E+00 1.575000E+00 1.575000E+00 1.575000E+00 1.575000E+00 1.575000E+00 1.575000E+00

1.575000E+00 1.575000E+00 1.575000E+00 1.575000E+00 1.575000E+00 1.575000E+00 1.575000E+00 1.575000E+00

N/A N/A N/A N/A N/A N/A N/A N/A

N/A N/A N/A N/A N/A N/A N/A N/A

NONE NONE NONE NONE NONE NONE NONE NONE

1. THE DIFFERENCE FLAG IS USED TO CHARACTERIZE DIfFERENCES BETWEEN ANALYSIS AND DESIGN MODEL PROPERTIES: IF THE FLAG IS NONE, THEN THERE IS NO SIGNIFICANT DIFFERENCE BETWEEN THE TWO VALUES.

Main Index

310 Design Sensitivity and Optimization User’s Guide Design Optimization Output

IF THE FLAG IS WARNING, THEN THE USER IS ADVISED THAT DIFFERENCES EXIST AND THE DESIGN MODEL IS BEING USED TO OVERRIDE THE ANALYSIS MODEL. IF THE FLAG IS FATAL, THEN THE DIFFERENCES ARE GREATER THAN

1.00000E+35 AND THE RUN WILL BE TERMINATED.

Note that this example has two sets of properties that are being compared: the “properties” that are defined on a property Bulk Data entry and designed using a DVPRELi Bulk Data entry and the “connectivity properties that are defined on connectivity bulk data entries (those that begin with the letter ‘c’) and that are designed using the DVCRELi Bulk Data entries. If there had been designed material properties in the example, this would have caused the print of an additional table that is a “COMPARSION BETWEEN INPUT MATERIAL PROPERTY VALUES FROM ANALYSIS AND DESIGN MODELS.” This comparison data is only printed once, at the beginning of the design task and it cannot be “turned off.” The point of these tables is to allow you to check if the design values in your model are what you expect and to see if they differ from the analysis values. If any of the analysis model properties differ from the design model description, the design model will be used to override the analysis model. This table simply reports on any differences found and provides notification if this override took place. The design value column contains the property values computed from the initial design variable values. In this example, no differences were found for any of the properties defined on property entries or on connectivity properties. Note that the first table lists a series of PBAR properties that have not been explicitly designed in the input file. Instead, the second beam dimension on the PBARL entry (which corresponds to the thickness of a HAT beam cross section) is designed and this causes 10 PBAR properties to change, including four stress recovery points. These derived or “spawned” properties are indicated by an asterisk in the final field of the table. The upper and lower bounds that are printed in these tables correspond to the PMIN and PMAX values provided on the DVPREL1 and DVCREL1 entries. The “spawned” properties have default values applied to these bounds. The DIM2 property of the PBARL and all of the material properties have bounds of “N/A” (not applicable) indicating that no bounds are imposed on these properties that are linear functions of a single design variable. If the DIFFERENCE FLAG has a FATAL value, this indicates that the analysis model and design model differ by such a large degree that the design task will be stopped. This should not happen in normal circumstances, but the discussion of the PTOL parameter in the Comparison Between the Design and Analysis Properties (PTOL, PLVIOL) portion of the DOPTPRM description shows how the allowable difference between the analysis and designed property values can be made arbitrarily small. Once the analysis and design models have been compared, Solution 200 proceeds with an analysis of the model to gather baseline response data. A DMAP information message from subDMAP FEA serves notice that a static analysis has been initiated: ^^^ USER INFORMATION MESSAGE 9051 (FEA) ^^^ STATIC ANALYSIS INITIATED. DESIGN CYCLE NUMBER=

Main Index

1

Chapter 5: Output Features and Interpretation 311 Design Optimization Output

Since this is the first analysis and the parameter NASPRT is at its default value of zero, full data recovery is performed based on Case Control output requests. Since displacements and stresses have been requested, we see the familiar MSC Nastran static analysis output (abbreviated here): LOAD CONDITION 1

SUBCASE 1 D I S P L A C E M E N T

POINT ID. 10000 10001 10002 10003 10004 10100

TYPE G G G G G G

T1 0.0 1.318095E-03 2.886389E-03 5.111539E-03 8.218050E-03 0.0

T2 0.0 -8.015184E-05 -2.524653E-04 -8.099531E-05 1.826257E-03 -3.837221E-04

.. .. .. ..

0.0 0.0 0.0 0.0 0.0 0.0

T3

.. .. .. ..

V E C T O R R1 -1.950617E-02 2.840014E-02 3.445658E-02 2.841208E-02 -1.948978E-02 1.325681E-02

R2 1.827125E-03 2.743307E-05 4.750498E-06 -3.201039E-05 -1.827407E-03 -1.977302E-02

0.0 0.0 0.0 0.0 0.0 0.0

R3

.. .. .. ..

LOAD CONDITION 2

SUBCASE 2

ELEMENT FIBER ID. DISTANCE VON MISES 1 -7.500000E-02 1.987579E+03 7.500000E-02 2.568504E+03 2 -7.500000E-02 1.935900E+03 7.500000E-02 2.216372E+03 3 -7.500000E-02 8.496614E+02 7.500000E-02 1.473673E+03 4 -7.500000E-02 1.824604E+03 7.500000E-02 2.305746E+03

S T R E S S E S I N Q U A D R I L A T E R A L E L E M E N T S ( Q U A D 4 ) STRESSES IN ELEMENT COORD SYSTEM PRINCIPAL STRESSES (ZERO SHEAR) NORMAL-X NORMAL-Y SHEAR-XY ANGLE MAJOR MINOR -1.891894E+03

3.042163E+01

3.228667E+02

80.7160

8.320031E+01

-1.944673E+03

-2.076745E+03

3.314972E+02

-7.038036E+02

-74.8469

5.220972E+02

-2.267345E+03

-2.019023E+03

-2.120160E+02

-1.346214E+02

-85.7627

-2.020418E+02

-2.028997E+03

-1.100828E+03

5.068430E+02

-9.807557E+02

-64.6692

9.710898E+02

-1.565075E+03

-5.511049E+02

-5.202870E+02

-3.804567E+02

-46.1596

-1.549273E+02

-9.164646E+02

-7.571406E+02

-6.938679E+01

-7.407589E+02

-57.4509

4.034217E+02

-1.229949E+03

7.372604E+02

-1.338301E+02

-9.432302E+02

-32.6072

1.340649E+03

-7.372183E+02

-5.660520E+02

6.675811E+01

1.285017E+03

51.9163

1.073750E+03

-1.573044E+03

This is followed by the DMAP information message: ^^^ USER INFORMATION MESSAGE 9052 (FEA) ^^^ STATIC ANALYSIS COMPLETED. DESIGN CYCLE NUMBER=

1

If other analyses are performed (normal modes, dynamic response, etc.), similar DMAP information messages and data recovery output will follow. With the finite element analysis complete, the code performs a hard convergence check when this is the second or greater design cycle. Since this is just the first cycle though, DOM12 (the module that performs the convergence tests) simply reports on the maximum constraint value: THIS IS THE FIRST ANALYSIS - NO CONVERGENCE CHECK ------------------------------------------------------MAXIMUM VALUE OF CONSTRAINTS

:

2.1913E-01

-------------------------------------------------------

Recall that these constraint values refer to the normalized constraints constructed internally in MSC Nastran. Since the maximum constraint value is positive, we can characterize this initial design as infeasible. Furthermore, its value of 0.21914 indicates a constraint violation of around 22%. We will see shortly how to determine which constraint is responsible for this maximum value.

Main Index

312 Design Sensitivity and Optimization User’s Guide Design Optimization Output

The next set of design related prints in the output is controlled by the P1 and P2 parameters just discussed in Output-Controlling Parameters. The example has set P1=1 and P2=15 so that all available design data are printed. An abbreviated version of these prints is presented here interspersed in the text. In this case, the prints follow the initial analysis so there is no redesign information available to print. Instead, initial data, as indicated by the following prints, is presented. ******************************************************************** * * * * * D E S I G N O P T I M I Z A T I O N * * * * * ********************************************************************

*********************************************** * * * I N I T I A L A N A L Y S I S * * * ***********************************************

*******

ANALYSIS RESULTS BASED ON THE INITIAL DESIGN -----

DESIGN OBJECTIVE

*******

-----

---------------------------------------------------------------------------------------------------INTERNAL TYPE MINIMIZE RESPONSE OF OR SUPERELEMENT SUBCASE ID RESPONSE LABEL MAXIMIZE ID ID VALUE ---------------------------------------------------------------------------------------------------1 DRESP1 WEIGHT MINIMIZE 0 0 6.9618E+00 -----

DESIGN VARIABLES

-----

--------------------------------------------------------------------------------------------------------INTERNAL DESVAR LOWER UPPER ID ID LABEL BOUND VALUE BOUND --------------------------------------------------------------------------------------------------------1 1 T-PLATE 1.0000E-03 1.5000E-01 1.0000E+01 2

2

T-BOX

1.0000E-03

1.0000E+00

1.0000E+01

The DESIGN OBJECTIVE print provides attributes of the objective and its initial value. This is followed by a table DESIGN VARIABLES that contains information included on the DESVAR, including the initial values of the design variables. Two IDs are provided each design variable: an internal ID that indicates the position of the design variable in the design task and the user provided DESVAR ID. Dependent design variables that are defined using DLINK entries always follow the independent design variables. The identity of these design variables is useful when attempting to analyze the output from the optimizer algorithm and when interpreting unformatted design sensitivity prints. The designed properties are presented next and it is again seen that a distinction is made in the type of property in that standard properties are presented in a table separate from connectivity properties (and material properties if any are present in the design). Also spawned beam properties are designated as having a SECPRO type of property. The initial value of the property is bracketed by its lower and upper bounds. Again, properties that are a linear function of a single design variable and have no user designed limits do not have bounds.

Main Index

Chapter 5: Output Features and Interpretation 313 Design Optimization Output

-----

DESIGNED PROPERTIES

-----

---------------------------------------------------------------------------------------------------------PROPERTY PROPERTY PROPERTY TYPE OF LOWER UPPER TYPE ID NAME PROPERTY BOUND VALUE BOUND ---------------------------------------------------------------------------------------------------------PSHELL 1 T DVPREL1 1.0000E-02 1.5000E-01 1.0000E+20 PBARL 3 DIM2 DVPREL1 N/A 1.0000E-01 N/A PBAR 3 A SECPRO 1.0000E-15 9.6000E-01 1.0000E+20 PBAR 3 I1 SECPRO 1.0000E-15 1.2072E+00 1.0000E+20 PBAR 3 I2 SECPRO 1.0000E-15 9.8120E-01 1.0000E+20 PBAR 3 J SECPRO 1.0000E-15 3.2000E-03 1.0000E+20 PBAR 3 C1 SECPRO -1.0000E+35 1.5000E+00 1.0000E+20 PBAR 3 D1 SECPRO -1.0000E+35 -1.5000E+00 1.0000E+20 PBAR 3 E1 SECPRO -1.0000E+35 -1.5000E+00 1.0000E+20 PBAR 3 F1 SECPRO -1.0000E+35 1.5000E+00 1.0000E+20 PBAR 3 K1 SECPRO -1.0000E-03 5.8333E-01 1.0000E+20 PBAR 3 K2 SECPRO -1.0000E-03 3.7500E-01 1.0000E+20 -----

DESIGNED CONNECTIVITY PROPERTIES

----

---------------------------------------------------------------------------------------------------------ELEMENT ELEMENT PROPEETY TYPE OF LOWER UPPER TYPE ID NAME PROPERTY BOUND VALUE BOUND ---------------------------------------------------------------------------------------------------------CBAR 31 W3A DVCREL1 N/A 1.5750E+00 N/A CBAR 32 W3A DVCREL1 N/A 1.5750E+00 N/A CBAR 33 W3A DVCREL1 N/A 1.5750E+00 N/A CBAR 34 W3A DVCREL1 N/A 1.5750E+00 N/A CBAR 31 W3B DVCREL1 N/A 1.5750E+00 N/A CBAR 32 W3B DVCREL1 N/A 1.5750E+00 N/A CBAR 33 W3B DVCREL1 N/A 1.5750E+00 N/A CBAR 34 W3B DVCREL1 N/A 1.5750E+00 N/A

The property prints are followed by constraint prints and there can be up to four types of constraints printed. The first table shows the constraints on the design responses. These are the constraints that are imposed on DRESP1/2/3 responses. The constraints each have an internal ID and this is useful in analyzing the detailed optimization prints discussed on page 321. The internal constraint ID is followed by a DCONSTR ID that was used in the definition of the constraint and then has the internal response ID. This internal ID can be used to identify the response that resulted in the constraint, as will be seen in a moment when we discuss how to trace the identity of the response that results in the maximum constraint. The response type (RTYPE on the DRESP1 entry) is then given, as is a flag indicating whether the constraint arose from a lower bound of upper bound limit. The region ID used in the screening process is followed by the subcase ID and finally the constraint value. -----

DESIGN CONSTRAINTS ON RESPONSES

----(MAXIMUM RESPONSE CONSTRAINTS MARKED WITH **)

--------------------------------------------------------------------------------------------------------INTERNAL INTERNAL INTERNAL DCONSTR RESPONSE RESPONSE L/U REGION SUBCASE ID ID ID TYPE FLAG ID ID VALUE --------------------------------------------------------------------------------------------------------1 10 2 STRESS UPPER 2 1 -4.2961E-01 2 10 3 STRESS UPPER 2 1 -3.9654E-01 3 10 4 STRESS UPPER 2 1 -4.2961E-01 4 10 5 STRESS UPPER 2 1 -3.9654E-01 5 10 6 STRESS UPPER 2 1 -4.6636E-01 6 10 7 STRESS UPPER 2 1 -4.5379E-01 7 10 8 STRESS UPPER 2 1 -4.6636E-01 8 10 9 STRESS UPPER 2 1 -4.5379E-01 9 10 11 STRESS UPPER 1 2 -3.8670E-01 10 10 12 STRESS UPPER 1 2 2.1914E-01** 11 10 13 STRESS UPPER 1 2 -3.0252E-01 12 10 14 STRESS UPPER 1 2 7.9566E-02 13 30 10 DISP UPPER 14 2 -3.3261E-01 -----

CONSTRAINTS ON DESIGNED PROPERTIES

-----

------------------------------------------------------------------------------------------------------INTERNAL PROPERTY PROPERTY L/U CYCLE ID ID NAME FLAG LIMIT VALUE ------------------------------------------------------------------------------------------------------14 1 T LOWER 7.5000E-02 -1.0000E+00

Main Index

314 Design Sensitivity and Optimization User’s Guide Design Optimization Output

16 17 18 19 20 21 22 23 24 25 26 28 29 30 31 32 33 34 35 36 37

3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3

A I1 I2 J C1 D1 E1 F1 K1 K2 T A I1 I2 J C1 D1 E1 F1 K1 K2 -----

LOWER LOWER LOWER LOWER LOWER LOWER LOWER LOWER LOWER LOWER UPPER UPPER UPPER UPPER UPPER UPPER UPPER UPPER UPPER UPPER UPPER

4.8000E-01 6.0360E-01 4.9060E-01 1.0000E-15 7.5000E-01 -2.2500E+00 -2.2500E+00 7.5000E-01 2.9167E-01 1.8750E-01 2.2500E-01 1.4400E+00 1.8108E+00 1.4718E+00 1.3200E-02 2.2500E+00 -7.5000E-01 -7.5000E-01 2.2500E+00 8.7500E-01 5.6250E-01

-1.0000E+00 -1.0000E+00 -1.0000E+00 -3.2000E+12 -1.0000E+00 -3.3333E-01 -3.3333E-01 -1.0000E+00 -1.0000E+00 -1.0000E+00 -3.3333E-01 -3.3333E-01 -3.3333E-01 -3.3333E-01 -7.5758E-01 -3.3333E-01 -1.0000E+00 -1.0000E+00 -3.3333E-01 -3.3333E-01 -3.3333E-01

CONSTRAINTS ON DESIGNED BEAM LIBRARY DIMENSIONS

-----

--------------------------------------------------------------------------------------------------------INTERNAL PBARL GROUP TYPE CONSTRAINT ID ID NO. VALUE --------------------------------------------------------------------------------------------------------54 3 MSCBML0 HAT 1 -2.8000E+00 55 3 MSCBML0 HAT 2 -1.8000E+00

The header for the DESIGN CONSTRAINT ON RESPONSES also includes the notation: “MAXIMUM RESPONSE CONSTRAINTS ARE MARKED WITH **”. In this case, we see that the twelfth internal constraint has a value of 0.21913 (the value given from the hard convergence check above) and that the corresponding internal response ID of this maximum constraint is also 12. To see which response this is, we skip ahead to the table on page 315. It is seen that the twelfth internal response is a stress response in a CBAR element 34 and that the stress occurs in the second subcase and is component 7 (the maximum stress at End A of the element). It is also seen that the violated constraint results from the stress being greater than the allowable value of 25,000. Returning to the constraint printout, the next type of constraint that could be printed is those resulting from constraints placed on dependent design variables. In this example, there are no dependent design variables, so there is no print for this type of constraint. There are constraints applied to the properties however and these occur next in the printout. The internal constraint numbering continues from the response constraints and the table then lists the property ID and name, an indication as to whether the constraint comes from a lower or upper bound, the cycle limit and then the constraint value. The cycle limit is the limit placed on the property for the current approximate model and, as explained in the Move Limits, this limit is computed using the current value of the property, and the user applied limits and the DELP and DPMIN parameters. A comparison of the list of constrained properties in this printout with the designed properties of the previous fragment indicates that not all designed properties are constrained. As the Move Limits has indicated, a property is not constrained when 1. it is a linear function of a single design variable, and 2. the user has not imposed any limits on the property. These two criteria are satisfied for the DIM2 PBARL dimension and for all the connectivity properties. The thickness of the PSHELL is a linear function of a single design variable, but it has been limited to be greater than 0.01, hence the move limit constraints. The final constraint type is associated with the beam library. It is seen that there are two of these constraints and that the are applied to the PBARL with PID=3 and that the section type is a HAT.

Main Index

Chapter 5: Output Features and Interpretation 315 Design Optimization Output

Referring to Table 2-5, it is seen that the two constraints are to insure that twice the thickness (DIM2) never exceeds the height (DIM1) of the HAT or the center (DIM3) of the HAT. In this case, the initial thickness is 0.1, the (undesigned) height is 3.0 and the width is 2.0, resulting in constraint values of -2.8 and -1.8, respectively. Note that the maximum constraint that is marked with the ** is only for the constraints that derive from the responses. In this case, this happens to be the maximum response across all response types, but it is possible to have situations where the maximum constraint comes from one of the other constraint types and it will not be flagged. The final P1/P2 associated prints are associated with the responses themselves. Each response type has specialized formats to provide the information and it is not felt to be helpful to describe each of the possible formats. Each of the responses does have an internal ID and we have already seen how this can be used to link the constraints on the responses to the responses themselves. The DRESP1 responses are sorted by superelement, by subcase and by response type. If there there are DRESP2 responses, they follow the DRESP1 responses for a given superelement/subcase and DRESP3 responses follow the DRESP2s. ---------------------------------------------------------------------| R E S P O N S E S IN D E S I G N M O D E L | ---------------------------------------------------------------------(N/A - BOUND NOT ACTIVE OR AVAILABLE) -----

WEIGHT RESPONSE

-----

-----------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ROW COLUMN LOWER UPPER ID ID LABEL ID ID BOUND VALUE BOUND -----------------------------------------------------------------------------------------------------------1 15 W 3 3 N/A 6.9618E+00 N/A I N I T I A L

A N A L Y S I S -----

S U B C A S E =

STRESS RESPONSES

1

-----

----------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ELEMENT VIEW COMPONENT LOWER UPPER ID ID LABEL ID ELM ID NO. BOUND VALUE BOUND ----------------------------------------------------------------------------------------------------------2 3 S13 2 9 N/A 1.4268E+04 2.5000E+04 3 3 S13 3 9 N/A 1.5089E+04 2.5000E+04 4 3 S13 14 9 N/A 1.4268E+04 2.5000E+04 5 3 S13 15 9 N/A 1.5089E+04 2.5000E+04 6 6 S16 2 17 N/A 1.3343E+04 2.5000E+04 7 6 S16 3 17 N/A 1.3658E+04 2.5000E+04 8 6 S16 14 17 N/A 1.3343E+04 2.5000E+04 9 6 S16 15 17 N/A 1.3658E+04 2.5000E+04 I N I T I A L

A N A L Y S I S

-----

S U B C A S E =

DISPLACEMENT RESPONSES

2

-----

-----------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE GRID COMPONENT LOWER UPPER ID ID LABEL ID NO. BOUND VALUE BOUND -----------------------------------------------------------------------------------------------------------10 14 D2 10203 3 N/A 1.9938E-02 3.0000E-02 -----

STRESS RESPONSES

-----

----------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ELEMENT VIEW COMPONENT LOWER UPPER ID ID LABEL ID ELM ID NO. BOUND VALUE BOUND ----------------------------------------------------------------------------------------------------------11 1 SBARA 33 7 N/A 1.5107E+04 2.5000E+04 1 STATIC ANALYSIS OF A STIFFENED PLATE DSOUG4 AUGUST 23, 2001 MSC.NASTRAN 4/ 9/01 PAGE 37 0

SUBCASE 1 I N I T I A L

A N A L Y S I S -----

Main Index

S U B C A S E =

STRESS RESPONSES

-----

2

316 Design Sensitivity and Optimization User’s Guide Design Optimization Output

----------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ELEMENT VIEW COMPONENT LOWER UPPER ID ID LABEL ID ELM ID NO. BOUND VALUE BOUND ----------------------------------------------------------------------------------------------------------12 1 SBARA 34 7 N/A 3.0347E+04 2.5000E+04 13 2 SBARB 32 14 N/A 1.7291E+04 2.5000E+04 14 2 SBARB 33 14 N/A 2.6764E+04 2.5000E+04

After the initial design information has been printed, two messages appear in the output to indicate that a sensitivity analysis has been performed. ^^^ ^^^ ^^^ ^^^

USER INFORMATION MESSAGE 9051 (FEA) STATIC SENSITIVITY ANALYSIS INITIATED. USER INFORMATION MESSAGE 9052 (FEA) STATIC SENSITIVITY ANALYSIS COMPLETED.

DESIGN CYCLE NUMBER=

1

DESIGN CYCLE NUMBER=

1

Unless the DSAPRT Case Control command has been used to requests sensitivities for this design cycle, no prints are produced during the sensitivity calculations. Sensitivity prints are discussed in the next section: Design Sensitivity Output. After the sensitivity analysis has been performed, all of the information necessary to perform an optimization is available. The parameter IPRINT, which can be set using the DOPTPRM entry, controls the amount of diagnostic output from the optimizer. With the default zero value, no output is generated during the numerical optimization phase. In this example, IPRINT has been set to 7. This is the highest available value and has been used here to illustrate the available prints but is generally to be avoided because it produces extensive print information, even for simple examples like the one shown here. An abbreviated form of the output is presented and discussed here. M S C . A D S E N H A N C E D

A D S

P R O G R A M

F O R A U T O M A T E D

D E S I G N

S Y N T H E S I S

MINMAX = -1 : THE OBJECTIVE FUNCTION WILL BE MINIMIZED METHOD = 1 : MODIFIED METHOD OF FEASIBLE DIRECTIONS WILL BE USED

1

ADS CONTROL PARAMETERS ISTRAT = 0 IOPT IGRAD = 1 NDV

= =

SCALAR PROGRAM PARAMETERS REAL PARAMETERS 1) ALAMDZ = 0.00000D+00 2) BETAMC = 0.00000D+00 3) CT = -3.00000D-02 4) CTL = -5.00000D-03 5) CTLMIN = 1.00000D-03 6) CTMIN = 3.00000D-03 7) DABALP = 1.00000D-04 8) DABOBJ = 6.96180D-04 9) DABOBM = 1.39236D-03 10) DABSTR = 6.96180D-04 11) DELALP = 5.00000D-03 12) DELOBJ = 1.00000D-03 13) DELOBM = 1.00000D-03

Main Index

5 2

IONED NCON

20) 21) 22) 23) 24) 25) 26) 27) 28) 29) 30) 31) 32)

EXTRAP FDCH FDCHM GMULTZ PSAIZ RMULT RMVLMZ RP RPMAX RPMULT RPPMIN RPPRIM SCFO

= =

7 24

= = = = = = = = = = = = =

IPRINT =

5.00000D+00 1.00000D-02 1.00000D-03 1.00000D+01 9.50000D-01 5.00000D+00 2.00000D-01 1.00000D+01 1.00000D+10 2.00000D-01 1.00000D-10 1.00000D+02 1.00000D+00

7

Chapter 5: Output Features and Interpretation 317 Design Optimization Output

14) 15) 16) 17) 18) 19)

DELSTR DOBJ1 DOBJ2 DX1 DX2 EPSPEN

= 1.00000D-03 = 1.00000D-01 = 1.39236D+00 = 1.00000D-02 = 2.00000D-01 = -5.00000D-02

INTEGER PARAMETERS 1) ICNDIR = 3 2) ISCAL = 1 3) ITMAX = 100

33) 34) 35) 36) 37) 38)

SCLMIN STOL THETAZ XMULT ZRO PMLT

4) ITRMOP = 5) ITRMST = 6) JONED =

= = = = = =

1.00000D-03 1.00000D-03 1.00000D-01 2.61803D+00 1.00000D-06 1.00000D+01

2 2 7

7) JTMAX = 8) IGRAD = 9) IWRITE =

ARRAY STORAGE REQUIREMENTS DIMENSIONED ARRAY SIZE WK 15573640 IWK 343

20 1 6

REQUIRED SIZE 1269 337

SCALING INFORMATION CALCULATED BY ADS

1

DESIGN VARIABLE SCALE FACTORS 1 6.66667D+00 1.00000D+00

--------------------------------------------------------------------------IOPT = 5; MODIFIED METHOD OF FEASIBLE DIRECTIONS ---------------------------------------------------------------------------- INITIAL DESIGN OBJ = 6.96180D+00 DECISION VARIABLES (X-VECTOR) 1) 1.50000D-01 1.00000D+00 LOWER BOUNDS ON THE DECISION VARIABLES (VLB-VECTOR) 1) 7.50000D-02 5.00000D-01 UPPER BOUNDS ON THE DECISION VARIABLES (VUB-VECTOR) 1) 2.25000D-01 1.50000D+00 CONSTRAINT VALUES (G-VECTOR) 1) -4.31482D-01 -3.97778D-01 6) -4.54095D-01 -4.66885D-01 11) -2.20411D-01 -4.95781D-01 16) -1.00000D+00 -3.22089D+12 21) -3.33333D-01 -7.56379D-01 -- BEGIN ITERATION NUMBER

-4.31482D-01 -4.54095D-01 -1.00000D+00 -3.33333D-01 -2.80000D+00

1

THERE ARE

0 ACTIVE CONSTRAINTS AND

THERE ARE

0 ACTIVE SIDE CONSTRAINTS

0 VIOLATED CONSTRAINTS

GRADIENT OF THE OBJECTIVE FUNCTION (DF-VECTOR) 1) 2.83103D+01 2.66084D+00 SEARCH DIRECTION (S-VECTOR) 1) -6.66667D+00 -6.26589D-01 PROPOSED ALPHA =

1.17721D-01

* * * * * BEGIN ONE-DIMENSIONAL SEARCH * * * * *

Main Index

-3.97778D-01 -1.63915D-01 -1.00000D+00 -3.33333D-01 -1.80000D+00

-4.66885D-01 -4.91237D-01 -1.00000D+00 -3.33333D-01

318 Design Sensitivity and Optimization User’s Guide Design Optimization Output

CONSTRAINED FUNCTION IONED = 7 POLYNOMIAL FIT AFTER GETTING BOUNDS ALPHA = OBJ =

0.00000D+00 6.96180D+00

DECISION VARIABLES (X-VECTOR) 1) 1.50000D-01 1.00000D+00 CONSTRAINT VALUES (G-VECTOR) 1) -4.31482D-01 -3.97778D-01 6) -4.54095D-01 -4.66885D-01 11) -2.20411D-01 -4.95781D-01 16) -1.00000D+00 -3.22089D+12 21) -3.33333D-01 -7.56379D-01

-4.31482D-01 -4.54095D-01 -1.00000D+00 -3.33333D-01 -2.80000D+00

CONTROL PARAMETERS SLOPF, ALPHA, ALPMAX, XMULT, EXTRAP -5.91380D+00 1.17721D-01 7.97971D-01 ZRO, DELALP, DABALP 1.00000D-06 5.00000D-03 1.00000D-04 ISLOPF, ISLOPG 1 1

-3.97778D-01 -1.63915D-01 -1.00000D+00 -3.33333D-01 -1.80000D+00

2.61803D+00

GRADIENTS OF CONSTRAINTS WITH RESPECT TO ALPHA (IGNORE ZERO VALUES) 1) 0.00000D+00 0.00000D+00 0.00000D+00 6) 0.00000D+00 0.00000D+00 0.00000D+00 11) 0.00000D+00 0.00000D+00 0.00000D+00 16) 0.00000D+00 0.00000D+00 0.00000D+00 21) 0.00000D+00 0.00000D+00 0.00000D+00

-4.66885D-01 -4.91237D-01 -1.00000D+00 -3.33333D-01

5.00000D+00

0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00

0.00000D+00 0.00000D+00 0.00000D+00 0.00000D+00

-2.95577D-01 -3.23933D-01 -7.64557D-01 -4.11814D-01 -2.81475D+00

-2.58846D-01 -9.67021D-02 -8.55321D-01 -3.81560D-01 -1.81475D+00

-3.35413D-01 -4.49395D-01 -8.63103D-01 -3.78966D-01

CONSTRAINT VALUES (G-VECTOR) 1) 2.19336D-02 6.59495D-02 6) -1.96106D-02 -2.80466D-02 11) -2.41823D-02 -3.56744D-01 16) -6.36938D-01 -1.69611D+12 21) -4.54354D-01 -8.71710D-01

2.19336D-02 -1.96106D-02 -3.83603D-01 -5.38799D-01 -2.83862D+00

6.59495D-02 4.26284D-02 -6.20265D-01 -4.59912D-01 -1.83862D+00

-2.80466D-02 -3.62535D-01 -6.38113D-01 -4.53962D-01

BRACKETS, XL =

3.08198D-01

FIND BRACKETS ON MINIMUM ALPHA =

1.17721D-01

DECISION VARIABLES (X-VECTOR) 1) 1.32342D-01 9.26237D-01 OBJ =

6.26531D+00

CONSTRAINT VALUES (G-VECTOR) 1) -2.95577D-01 -2.58846D-01 6) -3.23933D-01 -3.35413D-01 11) -1.56682D-01 -4.50712D-01 16) -8.62568D-01 -2.56374D+12 21) -3.79144D-01 -8.06084D-01 ALPHA =

3.08198D-01

DECISION VARIABLES (X-VECTOR) 1) 1.03770D-01 8.06886D-01 OBJ =

ALPHA =

5.13707D+00

0.00000D+00

XU =

2.55115D-01

DECISION VARIABLES (X-VECTOR) 1) 1.11733D-01 8.40148D-01

Main Index

Chapter 5: Output Features and Interpretation 319 Design Optimization Output

OBJ =

5.45166D+00

CONSTRAINT VALUES (G-VECTOR) 1) -8.28248D-02 -4.12423D-02 6) -1.20050D-01 -1.29488D-01 11) -6.56157D-02 -3.86194D-01 16) -7.00227D-01 -1.91390D+12 21) -4.33258D-01 -8.55237D-01

-8.28248D-02 -1.20050D-01 -4.89770D-01 -5.03410D-01 -2.83197D+00

-4.12423D-02 -8.72344D-04 -6.85892D-01 -4.38036D-01 -1.83197D+00

-1.29488D-01 -3.89676D-01 -7.01251D-01 -4.32916D-01

-4.12423D-02 -8.72344D-04 -6.85892D-01 -4.38036D-01 -1.83197D+00

-1.29488D-01 -3.89676D-01 -7.01251D-01 -4.32916D-01

-4.12423D-02 -8.72344D-04 -6.85892D-01 -4.38036D-01 -1.83197D+00

-1.29488D-01 -3.89676D-01 -7.01251D-01 -4.32916D-01

RESULTS OF ONE-DIMENSIONAL SEARCH ALPL = 1.17721D-01 ALPU = 3.08198D-01 ALPHA = 2.55115D-01 OBJ = 5.45166D+00 ALPHA = OBJ =

2.55115D-01 5.45166D+00

DECISION VARIABLES (X-VECTOR) 1) 1.11733D-01 8.40148D-01 CONSTRAINT VALUES (G-VECTOR) 1) -8.28248D-02 -4.12423D-02 6) -1.20050D-01 -1.29488D-01 11) -6.56157D-02 -3.86194D-01 16) -7.00227D-01 -1.91390D+12 21) -4.33258D-01 -8.55237D-01

-8.28248D-02 -1.20050D-01 -4.89770D-01 -5.03410D-01 -2.83197D+00

* * * * * END OF ONE-DIMENSIONAL SEARCH * * * * * CALCULATED ALPHA =

2.55115D-01

OBJECTIVE = 5.45166D+00 DECISION VARIABLES (X-VECTOR) 1) 1.11733D-01 8.40148D-01 CONSTRAINT VALUES (G-VECTOR) 1) -8.28248D-02 -4.12423D-02 6) -1.20050D-01 -1.29488D-01 11) -6.56157D-02 -3.86194D-01 16) -7.00227D-01 -1.91390D+12 21) -4.33258D-01 -8.55237D-01 -- BEGIN ITERATION NUMBER

2

-- BEGIN ITERATION NUMBER

3

-8.28248D-02 -1.20050D-01 -4.89770D-01 -5.03410D-01 -2.83197D+00

THERE ARE 3 ACTIVE CONSTRAINTS AND CONSTRAINT NUMBERS 2 4 9 THERE ARE

0 VIOLATED CONSTRAINTS

0 ACTIVE SIDE CONSTRAINTS

GRADIENT OF THE OBJECTIVE FUNCTION (DF-VECTOR) 1) 2.83103D+01 2.67859D+00 GRADIENT OF CONSTRAINT NUMBER 2 1) -1.32189D+01 -7.86676D-03 GRADIENT OF CONSTRAINT NUMBER 4 1) -1.32189D+01 -7.86676D-03 GRADIENT OF CONSTRAINT NUMBER 9 1) -1.04477D+00 -1.01498D+00 THE GRADIENTS OF FOLLOWING CONSTRAINTS (ID) ARE DEPENDENT 2 4

Main Index

320 Design Sensitivity and Optimization User’s Guide Design Optimization Output

THE FOLLOWING CONSTRAINTS (ID) ARE REMOVED FROM THE ACTIVE SET 4 THE FOLLOWING CONSTRAINTS (ID) ARE RETAINED IN THE ACTIVE SET 2 9 K-T PARAMETERS, BETA =

0.00000D+00

MAX. RESIDUAL =

1.00000D-06

FINAL OPTIMIZATION RESULTS NUMBER OF ITERATIONS =

3

OBJECTIVE = 5.36909D+00 DECISION VARIABLES (X-VECTOR) 1) 1.08524D-01 8.43240D-01 CONSTRAINT VALUES (G-VECTOR) 1) -4.27663D-02 -6.42188D-05 6) -8.14393D-02 -9.05085D-02 11) -6.49452D-02 -3.84988D-01 16) -7.06094D-01 -1.93499D+12 21) -4.31302D-01 -8.53641D-01

-4.27663D-02 -8.14393D-02 -4.46982D-01 -5.17673D-01 -2.83135D+00

-6.42188D-05 -7.28438D-04 -6.91988D-01 -4.36004D-01 -1.83135D+00

CONSTRAINT TOLERANCE, CT = -3.00000D-02

CTL = -5.00000D-03

THERE ARE 3 ACTIVE CONSTRAINTS AND CONSTRAINT NUMBERS 2 4 9

0 VIOLATED CONSTRAINTS

THERE ARE

-9.05085D-02 -3.89359D-01 -7.07102D-01 -4.30966D-01

0 ACTIVE SIDE CONSTRAINTS

TERMINATION CRITERIA MAXIMUM K-T RESIDUAL = 1

1.00000D-06 IS LESS THAN

KUHN-TUCKER PARAMETER, BETA =

1.00000D-03

0.00000D+00 IS LESS THAN

1.00000D-03

---------------------OPTIMIZATION RESULTS ---------------------OBJECTIVE FUNCTION VALUE

5.36909D+00

DESIGN VARIABLES VARIABLE 1 2

LOWER BOUND 7.50000D-02 5.00000D-01

VALUE 1.08524D-01 8.43240D-01

UPPER BOUND 2.25000D-01 1.50000D+00

DESIGN CONSTRAINTS 1) 6) 11) 16) 21)

Main Index

-4.2766D-02 -8.1439D-02 -6.4945D-02 -7.0609D-01 -4.3130D-01

-6.4219D-05 -9.0509D-02 -3.8499D-01 -1.9350D+12 -8.5364D-01

FUNCTION EVALUATIONS =

7

GRADIENT EVALUATIONS =

3

-4.2766D-02 -8.1439D-02 -4.4698D-01 -5.1767D-01 -2.8314D+00

-6.4219D-05 -7.2844D-04 -6.9199D-01 -4.3600D-01 -1.8314D+00

-9.0509D-02 -3.8936D-01 -7.0710D-01 -4.3097D-01

Chapter 5: Output Features and Interpretation 321 Design Optimization Output

****************************************** ***** CPU Statistics for Module DOM9 ***** ****************************************** Pre-processing = 0.000000E+00 seconds Function evaluation = 6.000006E-02 seconds Gradient evaluation = 2.999997E-02 seconds Optimization - MSCADS = 9.999990E-03 seconds post-processing = 9.999990E-03 seconds --------------------------------------------Total = 1.899999E-01 seconds

The above annotated listing provides insight into the types of prints that are available, but the actual prints you will see for the IPRINT parameter will be a function of the level of print requested and the METHOD selected on the DOPTPRM Bulk Data entry. The IPRINT data can be summarized to say that the approximate optimization task has resulted in a design whose objective decreased from 6.9618 to 6.8053 while the maximum constraint values decreased from 0.21914 (violated) to -1.1719E-4 (satisfied). These conclusions can be seen more readily in the summary output for the first design cycle, which is also produced by the P1 = 1, P2 = 15 parameters on the DOPTPRM entry. This is the same type of output as we discussed starting on page 312 except that now we have data available from the input and the output of the approximate optimization problem. The input values are identical to the initial values for the design and the tables of data have the same number of rows so only an abbreviated set of these tables are shown here. This summary begins with the identification of the design cycle number and this is followed by listing of the design objective and the design variables: ******************************************************************** * * * * * D E S I G N O P T I M I Z A T I O N * * * * * ********************************************************************

******************************************* * * * D E S I G N C Y C L E 1 * * * *******************************************

*****

OPTIMIZATION RESULTS BASED ON THE APPROXIMATE MODEL -----

DESIGN OBJECTIVE

*****

-----

------------------------------------------------------------------------------------------------------------------INTERNAL TYPE MINIMIZE RESPONSE OF OR SUPERELEMENT SUBCASE INPUT OUTPUT ID RESPONSE LABEL MAXIMIZE ID ID VALUE VALUE ------------------------------------------------------------------------------------------------------------------1 DRESP1 WEIGHT MINIMIZE 0 0 6.9618E+00 6.8053E+00 -----

DESIGN VARIABLES

-----

------------------------------------------------------------------------------------------------------------------INTERNAL DESVAR LOWER INPUT OUTPUT UPPER ID ID LABEL BOUND VALUE VALUE BOUND -------------------------------------------------------------------------------------------------------------------

Main Index

322 Design Sensitivity and Optimization User’s Guide Design Optimization Output

1 2

1 2

T-PLATE T-BOX

1.0000E-03 1.0000E-03

1.5000E-01 1.0000E+00

1.0839E-01 1.3871E+00

1.0000E+01 1.0000E+01

Note that the first design variable has decreased while the second has increased. The listing of the Designed Properties shows the corresponding changes in the properties and this is particularly useful for the beam properties where the thickness change in the HAT cross-section produces changes in the properties that are not a linear function of the design variable.

Main Index

Chapter 5: Output Features and Interpretation 323 Design Optimization Output

-----

DESIGNED PROPERTIES

-----

-------------------------------------------------------------------------------------------------------------PROPERTY PROPERTY PROPERTY TYPE OF LOWER INPUT OUTPUT UPPER TYPE ID NAME PROPERTY BOUND VALUE VALUE BOUND -------------------------------------------------------------------------------------------------------------PSHELL 1 T DVPREL1 1.0000E-02 1.5000E-01 1.0839E-01 1.0000E+20 PBARL 3 DIM2 DVPREL1 N/A 1.0000E-01 1.3871E-01 N/A PBAR 3 A SECPRO 1.0000E-15 9.6000E-01 1.3209E+00 1.0000E+20 PBAR 3 I1 SECPRO 1.0000E-15 1.2072E+00 1.6249E+00 1.0000E+20 PBAR 3 I2 SECPRO 1.0000E-15 9.8120E-01 1.3231E+00 1.0000E+20 PBAR 3 J SECPRO 1.0000E-15 3.2000E-03 8.4723E-03 1.0000E+20 PBAR 3 C1 SECPRO -1.0000E+35 1.5000E+00 1.5116E+00 1.0000E+20 PBAR 3 D1 SECPRO -1.0000E+35 -1.5000E+00 -1.4884E+00 1.0000E+20 PBAR 3 E1 SECPRO -1.0000E+35 -1.5000E+00 -1.4884E+00 1.0000E+20 PBAR 3 F1 SECPRO -1.0000E+35 1.5000E+00 1.5116E+00 1.0000E+20 PBAR 3 K1 SECPRO -1.0000E-03 5.8333E-01 5.7181E-01 1.0000E+20 PBAR 3 K2 SECPRO -1.0000E-03 3.7500E-01 3.6992E-01 1.0000E+20 -----

DESIGNED CONNECTIVITY PROPERTIES

----

------------------------------------------------------------------------------------------------------------------ELEMENT ELEMENT PROPERTY TYPE OF LOWER INPUT OUTPUT UPPER TYPE ID NAME PROPERTY BOUND VALUE VALUE BOUND ------------------------------------------------------------------------------------------------------------------CBAR 31 W3A DVCREL1 N/A 1.5750E+00 1.5542E+00 N/A CBAR 32 W3A DVCREL1 N/A 1.5750E+00 1.5542E+00 N/A CBAR 33 W3A DVCREL1 N/A 1.5750E+00 1.5542E+00 N/A CBAR 34 W3A DVCREL1 N/A 1.5750E+00 1.5542E+00 N/A CBAR 31 W3B DVCREL1 N/A 1.5750E+00 1.5542E+00 N/A CBAR 32 W3B DVCREL1 N/A 1.5750E+00 1.5542E+00 N/A CBAR 33 W3B DVCREL1 N/A 1.5750E+00 1.5542E+00 N/A CBAR 34 W3B DVCREL1 N/A 1.5750E+00 1.5542E+00 N/A

The listing of Constraints on Responses shows the decrease in the maximum constraint value and that none of the other constraint became violated from the redesign. -----

DESIGN CONSTRAINTS ON RESPONSES

----(MAXIMUM RESPONSE CONSTRAINTS MARKED WITH **)

------------------------------------------------------------------------------------------------------------------INTERNAL INTERNAL INTERNAL DCONSTR RESPONSE RESPONSE L/U REGION SUBCASE INPUT OUTPUT ID ID ID TYPE FLAG ID ID VALUE VALUE -----------------------------------------------------------------------------------------------------------------1 10 2 STRESS UPPER 2 1 -4.2961E-01 -4.5085E-02 2 10 3 STRESS UPPER 2 1 -3.9655E-01 -1.1719E-06** 3 10 4 STRESS UPPER 2 1 -4.2961E-01 -4.5085E-02 4 10 5 STRESS UPPER 2 1 -3.9655E-01 -1.1719E-06** -----

DESIGN CONSTRAINTS ON RESPONSES

-----

(MAXIMUM RESPONSE CONSTRAINTS MARKED WITH **) ------------------------------------------------------------------------------------------------------------------INTERNAL INTERNAL INTERNAL DCONSTR RESPONSE RESPONSE L/U REGION SUBCASE INPUT OUTPUT ID ID ID TYPE FLAG ID ID VALUE VALUE ------------------------------------------------------------------------------------------------------------------5 10 6 STRESS UPPER 2 1 -4.6637E-01 -9.0675E-02 6 10 7 STRESS UPPER 2 1 -4.5380E-01 -8.1157E-02 7 10 8 STRESS UPPER 2 1 -4.6637E-01 -9.0675E-02 8 10 9 STRESS UPPER 2 1 -4.5380E-01 -8.1157E-02 9 10 11 STRESS UPPER 1 2 -3.8672E-01 -4.6563E-01 10 10 12 STRESS UPPER 1 2 2.1913E-01** -2.7305E-03 11 10 13 STRESS UPPER 1 2 -3.0253E-01 -4.2345E-01 12 10 14 STRESS UPPER 1 2 7.9552E-02 -9.5275E-02 13 30 10 DISP UPPER 14 2 -3.3262E-01 -4.4160E-01 ---------------------------------------------------------------------| R E S P O N S E S IN D E S I G N M O D E L | ---------------------------------------------------------------------(N/A - BOUND NOT ACTIVE OR AVAILABLE) -----

WEIGHT RESPONSE

-----

------------------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ROW COLUMN LOWER INPUT OUTPUT UPPER ID ID LABEL ID ID BOUND VALUE VALUE BOUND ------------------------------------------------------------------------------------------------------------------1 15 W 3 3 N/A 6.9618E+00 6.8053E+00 N/A

Main Index

324 Design Sensitivity and Optimization User’s Guide Design Optimization Output

D E S I G N

C Y C L E = -----

1

S U B C A S E =

STRESS RESPONSES

1

-----

------------------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ELEMENT VIEW COMPONENT LOWER INPUT OUTPUT UPPER ID ID LABEL ID ELM ID NO. BOUND VALUE VALUE BOUND ------------------------------------------------------------------------------------------------------------------2 3 S13 2 9 N/A 1.4260E+04 2.3873E+04 2.5000E+04 3 3 S13 3 9 N/A 1.5086E+04 2.5000E+04 2.5000E+04 4 3 S13 14 9 N/A 1.4260E+04 2.3873E+04 2.5000E+04 5 3 S13 15 9 N/A 1.5086E+04 2.5000E+04 2.5000E+04 6 6 S16 2 17 N/A 1.3341E+04 2.2733E+04 2.5000E+04 7 6 S16 3 17 N/A 1.3655E+04 2.2971E+04 2.5000E+04 8 6 S16 14 17 N/A 1.3341E+04 2.2733E+04 2.5000E+04 9 6 S16 15 17 N/A 1.3655E+04 2.2971E+04 2.5000E+04 D E S I G N

C Y C L E =

-----

1

S U B C A S E =

DISPLACEMENT RESPONSES

2

-----

------------------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE GRID COMPONENT LOWER INPUT OUTPUT UPPER ID ID LABEL ID NO. BOUND VALUE VALUE BOUND ------------------------------------------------------------------------------------------------------------------10 14 D2 10203 3 N/A 2.0021E-02 1.6752E-02 3.0000E-02 -----

STRESS RESPONSES

-----

------------------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ELEMENT VIEW COMPONENT LOWER INPUT OUTPUT UPPER ID ID LABEL ID ELM ID NO. BOUND VALUE VALUE BOUND ------------------------------------------------------------------------------------------------------------------11 1 SBARA 33 7 N/A 1.5332E+04 1.3359E+04 2.5000E+04 12 1 SBARA 34 7 N/A 3.0478E+04 2.4932E+04 2.5000E+04 13 2 SBARB 32 14 N/A 1.7437E+04 1.4414E+04 2.5000E+04 14 2 SBARB 33 14 N/A 2.6989E+04 2.2618E+04 2.5000E+04

The listing of the Design Responses also shows the input and output values; note that the responses that initially exceed their bounds on input are now at their limits. It is important to note that the constraints and responses in the preceding output are only approximate, because they are based on the approximate model (see Type-1 Response Evaluation). The optimizer has been able to achieve a reduction in the peak approximate stresses. These and all other necessary structural responses will be updated again on the next design cycle with a full finite element analysis, and the process will be repeated again. The output Design Variable and Designed Property values are exact and are not changed by the finite element analysis. Once the approximate optimization is complete for this cycle, a soft convergence test is performed, and the results are reported in the following table:

Main Index

Chapter 5: Output Features and Interpretation 325 Design Optimization Output

**************************************************************************************** INSPECTION OF CONVERGENCE DATA FOR THE OPTIMAL DESIGN WITH RESPECT TO APPROXIMATE MODELS (SOFT CONVERGENCE DECISION LOGIC)

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

MAXIMUM OF RELATIVE PROP. CHANGES

1.6476E+00 MUST BE LESS THAN

1.0000E-03

--- AND --MAXIMUM OF RELATIVE D.V. CHANGES

3.8715E-01

MUST BE LESS THAN

1.0000E-03

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

It is interesting to note that while the design variables only changed by 39%, there was a 165% change in one of the properties. This again indicates the nonlinear nature of the relationship between beam properties and the design variables and could be an indication that too much change is being allowed in the property values. (The allowable change is controlled, in part, by the DELP parameter which has been set to 0.5 in this case. The property change exceeded the 50% allowable change because the DPMIN parameter came into play to allow more change in the torsional stiffness, J, property that has a small initial value. See Move Limits. Even if soft convergence had been achieved (which it was not), this test will not terminate the design cycles unless the Bulk Data parameter SOFTEXIT had been set to YES (NO is the default). A finite element analysis begins the new design cycle as is apparent from the following DMAP information messages: ^^^ USER INFORMATION MESSAGE 9051 (FEA) ^^^ STATIC ANALYSIS INITIATED. DESIGN CYCLE NUMBER=

2

With two successive finite element analyses available (one from the current design cycle and one from the previous), a hard convergence test can now be performed. Even though convergence has not yet been achieved, the test results are reported nonetheless.

Main Index

326 Design Sensitivity and Optimization User’s Guide Design Optimization Output

CONVERGENCE NOT ACHIEVED YET (HARD CONVERGENCE DECISION LOGIC) ---------------------------------------------------------------------------------------------: 2.2447E-02 MUST BE LESS THAN 1.0000E-03 : 1.5627E-01 MUST BE LESS THAN 1.0000E-20 --- AND --MAXIMUM CONSTRAINT VALUE : 7.2485E-02 MUST BE LESS THAN 5.0000E-03 (CONVERGENCE TO A FEASIBLE DESIGN) --- OR --MAXIMUM OF RELATIVE PROP. CHANGES : 1.6476E+00 MUST BE LESS THAN 1.0000E-03 AND MAXIMUM OF RELATIVE D.V. CHANGES : 3.8715E-01 MUST BE LESS THAN 1.0000E-03 (CONVERGENCE TO A BEST COMPROMISE INFEASIBLE DESIGN) ---------------------------------------------------------------------------------------------OR

RELATIVE CHANGE IN OBJECTIVE ABSOLUTE CHANGE IN OBJECTIVE

Note that convergence has failed on all counts. The objective has changed more than is permitted, the maximum constraint (based on the exact analysis) is violated and the design variables and properties have changed significantly. This is not surprising for the first redesign task. Insight into the validity of the approximate model can be obtained by presenting some of the design optimization results from the second design cycle. ******************************************************************** * * * * * D E S I G N O P T I M I Z A T I O N * * * * * ******************************************************************** ******************************************* * * * D E S I G N C Y C L E 2 * * * ******************************************* *****

OPTIMIZATION RESULTS BASED ON THE APPROXIMATE MODEL -----

DESIGN CONSTRAINTS ON RESPONSES

*****

-----

(MAXIMUM RESPONSE CONSTRAINTS MARKED WITH **) ------------------------------------------------------------------------------------------------------------------INTERNAL INTERNAL INTERNAL DCONSTR RESPONSE RESPONSE L/U REGION SUBCASE INPUT OUTPUT ID ID ID TYPE FLAG ID ID VALUE VALUE ------------------------------------------------------------------------------------------------------------------5 10 7 STRESS UPPER 2 1 7.2485E-02** 2.5982E-03** 6 10 8 STRESS UPPER 2 1 -3.9151E-01 -4.2190E-01 7 10 9 STRESS UPPER 2 1 -4.2905E-01 -4.6044E-01 8 10 10 STRESS UPPER 2 1 -1.6393E-02 -8.4054E-02 9 10 11 STRESS UPPER 2 1 -8.9584E-03 -7.5725E-02 10 10 12 STRESS UPPER 2 1 -3.1821E-01 -3.5271E-01 11 10 13 STRESS UPPER 2 1 -4.6496E-01 -4.9209E-01 12 10 14 STRESS UPPER 2 1 -3.9258E-01 -4.2968E-01 13 10 15 STRESS UPPER 2 1 -4.6496E-01 -4.9209E-01 14 10 16 STRESS UPPER 2 1 -3.9258E-01 -4.2968E-01 15 10 17 STRESS UPPER 2 1 -4.2905E-01 -4.6044E-01 16 10 18 STRESS UPPER 2 1 -1.6393E-02 -8.4054E-02 17 10 19 STRESS UPPER 2 1 -8.9584E-03 -7.5725E-02 18 10 20 STRESS UPPER 2 1 -3.1821E-01 -3.5271E-01 19 20 2 DISP UPPER 13 1 3.3911E-02 -7.5347E-02 20 10 22 STRESS UPPER 1 2 -4.8499E-01 -4.6741E-01 21 10 23 STRESS UPPER 1 2 -4.2154E-02 -1.4844E-06 22 10 24 STRESS UPPER 1 2 -4.4244E-01 -4.1976E-01 23 10 25 STRESS UPPER 1 2 -1.2974E-01 -9.4884E-02 24 30 21 DISP UPPER 14 2 -4.6866E-01 -4.4608E-01 ------------------------------------------------------------------------------------------------------------------

Main Index

Chapter 5: Output Features and Interpretation 327 Design Optimization Output

| R E S P O N S E S IN D E S I G N M O D E L | ---------------------------------------------------------------------(N/A - BOUND NOT ACTIVE OR AVAILABLE) -----

WEIGHT RESPONSE

-----

------------------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ROW COLUMN LOWER INPUT OUTPUT UPPER ID ID LABEL ID ID BOUND VALUE VALUE BOUND ------------------------------------------------------------------------------------------------------------------1 15 W 3 3 N/A 6.8055E+00 6.7267E+00 N/A D E S I G N

C Y C L E =

-----

2

S U B C A S E =

DISPLACEMENT RESPONSES

1

-----

------------------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE GRID COMPONENT LOWER INPUT OUTPUT UPPER ID ID LABEL ID NO. BOUND VALUE VALUE BOUND ------------------------------------------------------------------------------------------------------------------2 13 D1 10302 3 N/A 1.0339E-01 9.2465E-02 1.0000E-01 -----

STRESS RESPONSES

-----

------------------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ELEMENT VIEW COMPONENT LOWER INPUT OUTPUT UPPER ID ID LABEL ID ELM ID NO. BOUND VALUE VALUE BOUND ------------------------------------------------------------------------------------------------------------------3 3 S13 2 9 N/A 2.5650E+04 2.3953E+04 2.5000E+04 4 3 S13 3 9 N/A 2.6812E+04 2.5065E+04 2.5000E+04 5 3 S13 4 9 N/A 1.5212E+04 1.4452E+04 2.5000E+04 6 3 S13 14 9 N/A 2.5650E+04 2.3953E+04 2.5000E+04 7 3 S13 15 9 N/A 2.6812E+04 2.5065E+04 2.5000E+04 8 3 S13 16 9 N/A 1.5212E+04 1.4452E+04 2.5000E+04 9 6 S16 1 17 N/A 1.4274E+04 1.3489E+04 2.5000E+04 10 6 S16 2 17 N/A 2.4590E+04 2.2899E+04 2.5000E+04 11 6 S16 3 17 N/A 2.4776E+04 2.3107E+04 2.5000E+04 12 6 S16 4 17 N/A 1.7045E+04 1.6182E+04 2.5000E+04 13 6 S16 5 17 N/A 1.3376E+04 1.2698E+04 2.5000E+04 14 6 S16 8 17 N/A 1.5186E+04 1.4258E+04 2.5000E+04 15 6 S16 9 17 N/A 1.3376E+04 1.2698E+04 2.5000E+04 16 6 S16 12 17 N/A 1.5186E+04 1.4258E+04 2.5000E+04 17 6 S16 13 17 N/A 1.4274E+04 1.3489E+04 2.5000E+04 18 6 S16 14 17 N/A 2.4590E+04 2.2899E+04 2.5000E+04 19 6 S16 15 17 N/A 2.4776E+04 2.3107E+04 2.5000E+04 20 6 S16 16 17 N/A 1.7045E+04 1.6182E+04 2.5000E+04 0 D E S I G N

C Y C L E =

-----

2

S U B C A S E =

DISPLACEMENT RESPONSES

2

-----

------------------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE GRID COMPONENT LOWER INPUT OUTPUT UPPER ID ID LABEL ID NO. BOUND VALUE VALUE BOUND ------------------------------------------------------------------------------------------------------------------21 14 D2 10203 3 N/A 1.5940E-02 1.6618E-02 3.0000E-02 -----

STRESS RESPONSES

-----

------------------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ELEMENT VIEW COMPONENT LOWER INPUT OUTPUT UPPER ID ID LABEL ID ELM ID NO. BOUND VALUE VALUE BOUND ------------------------------------------------------------------------------------------------------------------22 1 SBARA 33 7 N/A 1.2875E+04 1.3315E+04 2.5000E+04 23 1 SBARA 34 7 N/A 2.3946E+04 2.5000E+04 2.5000E+04 24 2 SBARB 32 14 N/A 1.3939E+04 1.4506E+04 2.5000E+04 25 2 SBARB 33 14 N/A 2.1757E+04 2.2628E+04 2.5000E+04

A review of the DESIGN CONSTRAINTS ON RESPONSES shows a constraint with a positive value when the approximate model results for the first design cycle indicated that all constraints have been satisfied. The maximum constraint violation from the exact analysis is only 7.2% so the approximate values were not that far off. Further comparisons of the RESPONSES IN THE DESIGN MODEL from the two design cycles gives further information on the validity of the approximate model. The output WEIGHT response from the first design cycle 6.8053) is nearly identical with the input for the second design cycle (6.8055). This should not be too surprising since the weight is a linear function of the design variables in this case so there should not be any approximation in this response. The grid and element responses differ and it is seen, in fact, that the set of retained responses differ somewhat for the two design cycles. A response that is retained in both design cycles is the von Mises stress at the top center (item

Main Index

328 Design Sensitivity and Optimization User’s Guide Design Optimization Output

code 9) of CQUAD4 element with ID=15. For the first design cycle, this is the fifth internal response and the output value is 25,000. At the second design cycle, this is the seventh internal response and the input value is 26,812. This is a fairly significant discrepancy, but recall that the thickness of the plate at which the stress is being measured has been changed from 0.15000 to 0.10832. This is an appropriate place to show the use of DOPTPRM parameters that can affect the prints that occur based on the P1 and P2 parameters. For this simple case, the amount of print is modest, but one can imagine larger models could produce an overwhelming amount of printout. Suppose the DOPTPRM entry at the end of Listing 8-8 is replaced with: $ $...Optional override of optimization parameters: $ DOPTPRM IPRINT 7 DESMAX 20 DELP P2 15 P2CR 5 PRSET SET1 10 1 2

0.5 10

P1

1

The P2CR parameter is now requesting that only the five most critical constraints on response quantities are to be printed while the P2RSET = 10 points to a SET1 entry that indicates that only retained responses for DRESP1 IDs 1 and 2 are to be printed. The results from the two parameters are shown: -----

DESIGN CONSTRAINTS ON RESPONSES

-----

(MAXIMUM RESPONSE CONSTRAINTS MARKED WITH **) ------------------------------------------------------------------------------------------------------------------INTERNAL INTERNAL INTERNAL DCONSTR RESPONSE RESPONSE L/U REGION SUBCASE INPUT OUTPUT ID ID ID TYPE FLAG ID ID VALUE VALUE ------------------------------------------------------------------------------------------------------------------2 10 4 STRESS UPPER 2 1 6.9280E-02** 2.3837E-03** 5 10 7 STRESS UPPER 2 1 6.9280E-02** 2.3837E-03** 19 20 2 DISP UPPER 13 1 2.8612E-02 -7.5818E-02 1 10 3 STRESS UPPER 2 1 2.3290E-02 -4.1707E-02 4 10 6 STRESS UPPER 2 1 2.3290E-02 -4.1707E-02 ....... ....... ---------------------------------------------------------------------| R E S P O N S E S IN D E S I G N M O D E L | ---------------------------------------------------------------------(N/A - BOUND NOT ACTIVE OR AVAILABLE) D E S I G N

C Y C L E = -----

2

S U B C A S E =

STRESS RESPONSES

2

-----

------------------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ELEMENT VIEW COMPONENT LOWER INPUT OUTPUT UPPER ID ID LABEL ID ELM ID NO. BOUND VALUE VALUE BOUND ------------------------------------------------------------------------------------------------------------------22 1 SBARA 33 7 N/A 1.2822E+04 1.3198E+04 2.5000E+04 23 1 SBARA 34 7 N/A 2.4068E+04 2.5000E+04 2.5000E+04 24 2 SBARB 32 14 N/A 1.3950E+04 1.4446E+04 2.5000E+04 25 2 SBARB 33 14 N/A 2.1785E+04 2.2547E+04 2.5000E+04

As requested, the five largest response constraints are printed and they have been sorted based on the input (to the approximate optimization task) constraint values with the most critical occurring first. For the design responses, the four retained responses associated with DRESP1 = 1 or 2 are printed. In the case of test problem DSOUG4, the design cycle proceeds for three design cycles when the following soft convergence results are presented:

Main Index

Chapter 5: Output Features and Interpretation 329 Design Optimization Output

**************************************************************************************** INSPECTION OF CONVERGENCE DATA FOR THE OPTIMAL DESIGN WITH RESPECT TO APPROXIMATE MODELS (SOFT CONVERGENCE DECISION LOGIC) **************************************************************************************** MAXIMUM OF RELATIVE PROP. CHANGES 2.1100E-03 MUST BE LESS THAN 1.0000E-03 --- AND --MAXIMUM OF RELATIVE D.V. CHANGES 2.1100E-03 MUST BE LESS THAN 1.0000E-03 ****************************************************************************************

Note that neither of the soft convergence criteria are satisfied in this case. However, the following hard convergence check indicates the problem has converged. ***** NORMAL CONVERGENCE CRITERIA SATISFIED ***** (HARD CONVERGENCE DECISION LOGIC) ************************************************************************************** CONVERGENCE ACHIEVED BASED ON THE FOLLOWING CRITERIA (HARD CONVERGENCE DECISION LOGIC) RELATIVE CHANGE IN OBJECTIVE 9.9732E-04 MUST BE LESS THAN 1.0000E-03 ABSOLUTE CHANGE IN OBJECTIVE 6.7086E-03 MUST BE LESS THAN 1.0000E-20 --- AND --MAXIMUM CONSTRAINT VALUE 1.2891E-05 MUST BE LESS THAN 5.0000E-03 (CONVERGENCE TO A FEASIBLE DESIGN) --- OR --MAXIMUM OF RELATIVE PROP. CHANGES 2.1100E-03 MUST BE LESS THAN 1.0000E-03 AND MAXIMUM OF RELATIVE D.V. CHANGES 2.1100E-03 MUST BE LESS THAN 1.0000E-03 (CONVERGENCE TO A BEST COMPROMISE INFEASIBLE DESIGN) ************************************************************************************** OR

In this case, the relative change in the objective is less than the criterion and the maximum constraint value is also less than the criterion so convergence has been achieved. The absolute change in the objective did not meet the strenuous criterion, but only one of the objective criteria needs to be satisfied. In this case, the changes in the design variables and the designed properties are greater than the criteria, but it was not necessary to invoke these criteria in this case. Following convergence, additional data recovery may occur and final design optimization data, as indicated in the following fragments, are printed as governed by the P2 parameter. In this case, it is necessary to only print the value from the final analysis since that is the only new information that is available (approximate model results have already been printed). ******************************************************************** * * * * * D E S I G N O P T I M I Z A T I O N * * * * * ********************************************************************

******************************************* * * * F I N A L A N A L Y S I S * * * *******************************************

*******

ANALYSIS RESULTS BASED ON THE FINAL DESIGN -----

DESIGN OBJECTIVE

*******

-----

---------------------------------------------------------------------------------------------------INTERNAL TYPE MINIMIZE RESPONSE OF OR SUPERELEMENT SUBCASE ID RESPONSE LABEL MAXIMIZE ID ID VALUE ---------------------------------------------------------------------------------------------------1 DRESP1 WEIGHT MINIMIZE 0 0 6.7333E+00

Main Index

330 Design Sensitivity and Optimization User’s Guide Design Optimization Output

-----

DESIGN VARIABLES

-----

--------------------------------------------------------------------------------------------------------INTERNAL DESVAR LOWER UPPER ID ID LABEL BOUND VALUE BOUND --------------------------------------------------------------------------------------------------------1 1 T-PLATE 1.0000E-03 1.1264E-01 1.0000E+01 2 2 T-BOX 1.0000E-03 1.3136E+00 1.0000E+01 -----

DESIGN CONSTRAINTS ON RESPONSES

----(MAXIMUM RESPONSE CONSTRAINTS MARKED WITH **)

--------------------------------------------------------------------------------------------------------INTERNAL INTERNAL INTERNAL DCONSTR RESPONSE RESPONSE L/U REGION SUBCASE ID ID ID TYPE FLAG ID ID VALUE --------------------------------------------------------------------------------------------------------1 10 3 STRESS UPPER 2 1 -4.4438E-02 2 10 4 STRESS UPPER 2 1 1.2891E-05** 3 10 5 STRESS UPPER 2 1 -4.2312E-01 4 10 6 STRESS UPPER 2 1 -4.4438E-02 5 10 7 STRESS UPPER 2 1 1.2891E-05** 6 10 8 STRESS UPPER 2 1 -4.2312E-01 7 10 9 STRESS UPPER 2 1 -4.6178E-01 8 10 10 STRESS UPPER 2 1 -8.6493E-02 9 10 11 STRESS UPPER 2 1 -7.8124E-02 10 10 12 STRESS UPPER 2 1 -3.5420E-01 11 10 13 STRESS UPPER 2 1 -4.9346E-01 12 10 14 STRESS UPPER 2 1 -4.3102E-01 13 10 15 STRESS UPPER 2 1 -4.9346E-01 14 10 16 STRESS UPPER 2 1 -4.3102E-01 15 10 17 STRESS UPPER 2 1 -4.6178E-01 16 10 18 STRESS UPPER 2 1 -8.6493E-02 17 10 19 STRESS UPPER 2 1 -7.8124E-02 18 10 20 STRESS UPPER 2 1 -3.5420E-01 19 20 2 DISP UPPER 13 1 -7.7224E-02 20 10 22 STRESS UPPER 1 2 -4.6803E-01 21 10 23 STRESS UPPER 1 2 -5.8016E-04 22 10 24 STRESS UPPER 1 2 -4.2017E-01 23 10 25 STRESS UPPER 1 2 -9.5600E-02 24 30 21 DISP UPPER 14 2 -4.4653E-01 ---------------------------------------------------------------------| R E S P O N S E S IN D E S I G N M O D E L | ---------------------------------------------------------------------(N/A - BOUND NOT ACTIVE OR AVAILABLE) -----

WEIGHT RESPONSE

-----

-----------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ROW COLUMN LOWER UPPER ID ID LABEL ID ID BOUND VALUE BOUND -----------------------------------------------------------------------------------------------------------1 15 W 3 3 N/A 6.7333E+00 N/A F I N A L

A N A L Y S I S

-----

S U B C A S E =

DISPLACEMENT RESPONSES

1

-----

-----------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE GRID COMPONENT LOWER UPPER ID ID LABEL ID NO. BOUND VALUE BOUND -----------------------------------------------------------------------------------------------------------2 13 D1 10302 3 N/A 9.2278E-02 1.0000E-01 -----

STRESS RESPONSES

-----

----------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ELEMENT VIEW COMPONENT LOWER UPPER ID ID LABEL ID ELM ID NO. BOUND VALUE BOUND ----------------------------------------------------------------------------------------------------------3 3 S13 2 9 N/A 2.3889E+04 2.5000E+04 4 3 S13 3 9 N/A 2.5000E+04 2.5000E+04 5 3 S13 4 9 N/A 1.4422E+04 2.5000E+04 6 3 S13 14 9 N/A 2.3889E+04 2.5000E+04 7 3 S13 15 9 N/A 2.5000E+04 2.5000E+04 8 3 S13 16 9 N/A 1.4422E+04 2.5000E+04 9 6 S16 1 17 N/A 1.3456E+04 2.5000E+04 10 6 S16 2 17 N/A 2.2838E+04 2.5000E+04 11 6 S16 3 17 N/A 2.3047E+04 2.5000E+04 12 6 S16 4 17 N/A 1.6145E+04 2.5000E+04 13 6 S16 5 17 N/A 1.2663E+04 2.5000E+04 14 6 S16 8 17 N/A 1.4224E+04 2.5000E+04 15 6 S16 9 17 N/A 1.2663E+04 2.5000E+04 16 6 S16 12 17 N/A 1.4224E+04 2.5000E+04 17 6 S16 13 17 N/A 1.3456E+04 2.5000E+04 18 6 S16 14 17 N/A 2.2838E+04 2.5000E+04 19 6 S16 15 17 N/A 2.3047E+04 2.5000E+04

Main Index

Chapter 5: Output Features and Interpretation 331 Design Optimization Output

20

6

S16

16

17

-----

N/A

DISPLACEMENT RESPONSES

1.6145E+04

2.5000E+04

-----

-----------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE GRID COMPONENT LOWER UPPER ID ID LABEL ID NO. BOUND VALUE BOUND -----------------------------------------------------------------------------------------------------------21 14 D2 10203 3 N/A 1.6604E-02 3.0000E-02 -----

STRESS RESPONSES

-----

----------------------------------------------------------------------------------------------------------INTERNAL DRESP1 RESPONSE ELEMENT VIEW COMPONENT LOWER UPPER ID ID LABEL ID ELM ID NO. BOUND VALUE BOUND ----------------------------------------------------------------------------------------------------------22 1 SBARA 33 7 N/A 1.3299E+04 2.5000E+04 23 1 SBARA 34 7 N/A 2.4985E+04 2.5000E+04 24 2 SBARB 32 14 N/A 1.4496E+04 2.5000E+04 25 2 SBARB 33 14 N/A 2.2610E+04 2.5000E+04

After this final design cycle print, the summary of the design cycle history is given: 0

*************************************************************** S U M M A R Y O F D E S I G N C Y C L E H I S T O R Y *************************************************************** (HARD CONVERGENCE ACHIEVED) NUMBER OF FINITE ELEMENT ANALYSES COMPLETED NUMBER OF OPTIMIZATIONS W.R.T. APPROXIMATE MODELS

4 3

OBJECTIVE AND MAXIMUM CONSTRAINT HISTORY ------------------------------------------------------------------------------------------------------OBJECTIVE FROM OBJECTIVE FROM FRACTIONAL ERROR MAXIMUM VALUE CYCLE APPROXIMATE EXACT OF OF NUMBER OPTIMIZATION ANALYSIS APPROXIMATION CONSTRAINT ------------------------------------------------------------------------------------------------------INITIAL

6.961800E+00

2.191328E-01

1

6.805342E+00

6.805526E+00

-2.697548E-05

7.248523E-02

2

6.726673E+00

6.726640E+00

4.962151E-06

3.852422E-03

3 6.733349E+00 6.733348E+00 1.416345E-07 1.289062E-05 ------------------------------------------------------------------------------------------------------1 STATIC ANALYSIS OF A STIFFENED PLATE DSOUG4 JUNE 9, 2003 MSC.NASTRAN 6/ 1/03 PAGE 117 0 DESIGN VARIABLE HISTORY ---------------------------------------------------------------------------------------------------------------INTERNAL | EXTERNAL | | DV. ID. | DV. ID. | LABEL | INITIAL : 1 : 2 : 3 : 4 : 5 : ---------------------------------------------------------------------------------------------------------------1 | 1 | T-PLATE | 1.5000E-01 : 1.0839E-01 : 1.1241E-01 : 1.1264E-01 : 2 | 2 | T-BOX | 1.0000E+00 : 1.3871E+00 : 1.3136E+00 : 1.3136E+00 :

From this summary we see that an optimal design was found after 3 design cycles and 4 finite element analyses (initial analysis plus one from each design cycle.) As was also seen in the hard convergence output, the final design is feasible. The objective function history traces the progress made by the optimizer during successive optimizations with respect to approximate models. The fractional error of approximation is a measure of the error in the approximated objective function versus the true objective. The true objective is computed from the analysis at the beginning of the next design cycle. Here, the error is negligible since the weight objective is a linear function of the design variables. For objectives based on nonlinear structural responses (virtually any response other than weight or volume), the error may be more significant. If these approximation errors are large, tighter move limits may be warranted.

Main Index

332 Design Sensitivity and Optimization User’s Guide Design Optimization Output

Note also that, as a measure of approximation quality, the fractional error of approximation is incomplete at best. Even though the error in the objective function is small, errors in constraints can be much greater. The design variable history as a function of design cycle is listed at the end of the summary. The external design variable ID and the label columns are taken directly from the DESVAR Bulk Data entries. The internal design variable ID column simply refers to the order of internal sort on the design variables. (The internal and external design variable sort may differ if DLINK entries are present. Independent design variables are first sorted in ascending numerical order, followed by the dependent design variables, again in ascending order.) A final message is printed which indicates why the optimization task was stopped. In this case, this message says: *** USER INFORMATION MESSAGE 6464 (DOM12E) RUN TERMINATED DUE TO HARD CONVERGENCE TO AN OPTIMUM AT CYCLE NUMBER =

3.

indicating that the design task was successfully completed. Other possible messages for the end of the optimization task and a brief explanation for each are: • “RUN TERMINATED DUE TO MAXIMUM NUMBER OF DESIGN CYCLES = “

The user prescribed maximum number of design cycles FSDMAX + DESMAX have been carried out without achieving convergence. • “RUN TERMINATED DUE TO PARAMETER OPTEXIT = n“

The OPTEXIT parameter permits exiting the design tasks at a number of points. • “RUN TERMINATED DUE TO SOFT CONVERGENCE AT CYCLE NUMBER =” Parameter

SOFTEXIT has been set to YES and soft convergence was achieved • “RUN TERMINATED DUE TO HARD CONVERGENCE TO A BEST COMPROMISE

INFEASIBLE DESIGN AT CYCLE NUMBER = “ The optimizer could not find a feasible design and it could make no further progress, therefore the run was terminated (see Compromise Infeasible Design.) • “RUN TERMINATED DUE TO CASE CONTROL COMMAND

DSAPRT(END=SENSITIVITY) “ The DSAPRT command has requested a design sensitivity only run. • “RUN TERMINATED DUE TO POOR GEOMETRY OR POOR PROPERTIES. SEE FATAL

MESSAGES PRINTED ABOVE FOR INFORMATION” The redesign has produced a finite element model that violates finite element modeling rules. For example, a mesh has distorted elements or an element property has taken on a value that is not allowed, such as a negative shell thickness. • “RUN TERMINATED DUE TO MODE TRACKING FAILURE. SEE USER FATAL

MESSAGE 6677 (MTFRD) PRINTED ABOVE “ The mode tracking algorithm (see Mode Tracking) was unable to do its job and the run was therefore terminated.

Main Index

Chapter 5: Output Features and Interpretation 333 Design Optimization Output

Modification of Move Limit Parameters As explained in the Automatic Updates of Move Limits, the optimization algorithm sometimes reduces the move limit parameters by a factor of 2.0. When this occurs, a message like the following appears in the .f06 file: ******************************************************** * * * USER WARNING MESSAGE * * * * IF YOU WANT TO CONTINUE THE DESIGN AFTER THIS JOB * * IS COMPLETED, YOU MUST INCLUDE A REVISED DOPTPRM * * BULK DATA ENTRY IN THE BULK DATA SECTION WITH THE * * FOLLOWING ITEMS MODIFIED AS SHOWN: * * * * DELP = 1.0000E-01 * * DPMIN = 5.0000E-03 * * DELX = 5.0000E-01 * * DXMIN = 2.5000E-02 * * * ********************************************************

******************************************************** * * * IF A DELXV IS SPECIFIED ON A DESVAR BULK DATA ENTRY, * * UPDATED DELXV VALUES ARE PRESENT ON THE DESVAR * * ENTRIES CONTAINED IN THE PUNCH FILE. * * * * * * (NOTE: THERE MAY BE MORE THAN ONE MESSAGE LIKE * * THIS. THE LAST ONE IN THIS RUN SHOULD * * BE LOCATED AND USED.) * * * ********************************************************

This message never appeared in the DSOUG4.F06 output discussed in this section, but still requires explanation. It is seen that four move limits have been revised and guidance is provided for continuing the design task in a new run using the final design variable values obtained in the current run. There are several guidelines contained in the above listing. The first is that the new values should be used if the design task is continued. The thinking is that the original move limits were too loose, so the reduced values are preferred. The statement that “YOU MUST INCLUDE A REVISED...” is somewhat misleading in that the new job will run with the original values for the parameters. Changing these limits is really left to the user’s judgement. The second guideline points out that DELXV values included on DESVAR entries in the punch file (see Design Punch Output) reflect the reduction in the individual move limits. It may be that these move limits are now too restrictive and it will be necessary to manually adjust the DELXV values on the DESVAR entries.

Special Prints for Fully Stressed Design Output The output produced by the FSD algorithm is very similar to that just presented for the MP algorithm. One significant difference is in the results that are printed at each design cycle. With MP, these results are printed after an approximate optimization and before a reanalysis has occurred. With FSD, there is no approximate analysis because the optimizer is never called. The output is deferred until a new analysis has been performed. This is indicated in the output by the printing of the following message: *******OPTIMIZATION RESULTS BASED ON AN EXACT ANALYSIS *********

Main Index

334 Design Sensitivity and Optimization User’s Guide Design Optimization Output

instead of the message: *******OPTIMIZATION RESULTS BASED ON THE APPROXIMATE MODEL**** The absence of approximate results also affects the SUMMARY OF THE DESIGN CYCLE HISTORY that occurs at the end of the run. The following printout shows this table resulting from a design task that included five FSD cycles followed by MP cycles to convergence. Note that the number of FSD cycles appears at the top of the table, and that no approximate objective values and therefore no “fractional error” are output for the FSD cycles. *************************************************************** S U M M A R Y O F D E S I G N C Y C L E H I S T O R Y *************************************************************** (HARD CONVERGENCE ACHIEVED) NUMBER OF FINITE ELEMENT ANALYSES COMPLETED 10 NUMBER OF FULLY STRESSED DESIGN CYCLES COMPLETED NUMBER OF OPTIMIZATIONS W.R.T. APPROXIMATE MODELS

5 4

OBJECTIVE AND MAXIMUM CONSTRAINT HISTORY --------------------------------------------------------------------------------------------OBJECTIVE FROM OBJECTIVE FROM FRACTIONAL ERROR MAXIMUM VALUE CYCLE APPROXIMATE EXACT OF OF NUMBER OPTIMIZATION ANALYSIS APPROXIMATION CONSTRAINT --------------------------------------------------------------------------------------------INITIAL

4.828427E+00

-3.234952E-01

1

FSD

2.668171E+00

N/A

4.203515E-02

2

FSD

2.502887E+00

N/A

8.190254E-02

3

FSD

2.541077E+00

N/A

6.268603E-02

4

FSD

2.593662E+00

N/A

4.396826E-02

5

FSD

2.635597E+00

N/A

6

2.709053E+00

2.709045E+00

2.640250E-06

3.502930E-04

7

2.702080E+00

2.702064E+00

6.000030E-06

7.404297E-04

8

2.695884E+00

2.695881E+00

1.061257E-06

2.517090E-03

9

2.694964E+00

2.694966E+00

-7.962130E-07

2.553125E-03

3.135078E-02

Special Prints for Discrete Variable Optimization Output The output produced by the discrete variable processing methods is similar to the continuous optimization results. There is no change for results printed at each continuous optimization design cycle. At each discrete variable processing cycle, the feasibility of a new discrete solution is checked based on both approximate and exact reanalysis, a similar approach to the one taken for continuous variable optimization. The approximate analysis is based on the approximate model and is labeled “Soft Feasible” if all the constraints are satisfied. The results of the exact analysis of the discrete design are labeled “Hard Feasible” if all the constraints are satisfied. “Soft Infeasible” and “Hard Infeasible” indicate that at least one constraint is violated in either the approximate or exact analyses, respectively.

Main Index

Chapter 5: Output Features and Interpretation 335 Design Optimization Output

***** A SOFT FEASIBLE DISCRETE SOLUTION FOUND (SOFT FEASIBILITY DISCRETE SOLUTION CHECK LOGIC) ***** MAXIMUM CONSTRAINT VALUE : -3.6252E-02 MUST BE LESS THAN 5.0000E-03 ************************************************************************************************************* ***** A HARD FEASIBLE DISCRETE SOLUTION FOUND (HARD FEASIBILITY DISCRETE SOLUTION CHECK LOGIC) ***** MAXIMUM CONSTRAINT VALUE : 4.7029E-03 MUST BE LESS THAN 5.0000E-03 ***************************************************************************************************************

At each discrete variable optimization cycle, the design objective, design variables, designed properties, and design constraints are presented after the preceding continuous design cycle. For the discrete cycle, there is no input value since the input values are the output values of the preceding continuous design cycle. Discrete results are indicated by the printing of the following message. (Note that these results are based on a full finite element analysis.) ************************************************************ * * * D I S C R E T E D E S I G N C Y C L E 6D * * * ************************************************************ *****

OPTIMIZATION RESULTS BASED ON AN EXACT ANALYSIS

*****

The existing “SUMMARY OF DESIGN CYCLE HISTORY” is modified to include these new discrete designs. An example of this new output follows. The summary table also shows the number of discrete processing analyses completed and whether a soft or hard feasible discrete solution is obtained. Note that the cycle numbers flagged with a “D” correspond to the discrete results that have been computed based on the preceding continuous design. *************************************************************** S U M M A R Y O F D E S I G N C Y C L E H I S T O R Y *************************************************************** (HARD CONVERGENCE ACHIEVED) (SOFT CONVERGENCE ACHIEVED) ( HARD FEASIBLE DISCRETE SOLUTION OBTAINED) ( SOFT FEASIBLE DISCRETE SOLUTION OBTAINED) NUMBER OF FINITE ELEMENT ANALYSES COMPLETED NUMBER OF OPTIMIZATIONS W.R.T. APPROXIMATE MODELS NUMBER OF DISCRETE PROCESSING ANALYSES COMPLETED

7 6 2

OBJECTIVE AND MAXIMUM CONSTRAINT HISTORY ------------------------------------------------------------------------------------------------------------------CYCLE OBJECTIVE FROM OBJECTIVE FROM FRACTIONAL ERROR MAXIMUM VALUE NUMBER APPROXIMATE EXACT OF OF OPTIMIZATION ANALYSIS APPROXIMATION CONSTRAINT ------------------------------------------------------------------------------------------------------------------INITIAL

4.740178E+02

2.907700E-02

1

3.957753E+02

3.924499E+02

8.473461E-03

7.261696E-04

2

2.943152E+02

2.943384E+02

-7.900563E-05

7.262860E-04

3

1.962019E+02

1.962255E+02

-1.202970E-04

6.985210E-04

4

9.808932E+01

9.811287E+01

-2.400495E-04

6.985210E-04

5

4.883356E+00

4.905637E+00

-4.541855E-03

6.985210E-04

5D

4.93356E+00

5.056371E+00

-4.38652 E-03

9.285210E-04

6

4.905637E+00

4.905637E+00

0.000000E+00

6.985210E-04

6D 4.92156E+00 5.041347E+00 -4.28652 E-03 7.253256E-04 -------------------------------------------------------------------------------------------------------------------

Main Index

336 Design Sensitivity and Optimization User’s Guide Design Optimization Output

DESIGN VARIABLE HISTORY ------------------------------------------------------------------------------------------------------------------INTERNAL | EXTERNAL| DV. ID. | DV.ID. |LABEL | INITIAL : 1 : 2 : 3 : 4 : 5 ------------------------------------------------------------------------------------------------------------------1 | 1 |LAYER1 | 1.0000E+00 : 1.2734E+00 : 1.3084E+00 : 1.2966E+00 : 1.2829E+00 : 1.2671E+00 2 | 2 |E | 1.0000E+00 : 9.9815E-01 : 9.9593E-01 : 9.9645E-01 : 1.0015E+00 : 1.0146E+00 3 | 3 |RHO | 1.0000E+00 : 8.0000E-01 : 6.0000E-01 : 4.0000E-01 : 2.0000E-01 : 2.0000E-01 4 | 4 |NU | 1.0000E+00 : 1.2000E+00 : 1.4400E+00 : 1.7280E+00 : 2.0736E+00 : 2.4883E+00 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------INTERNAL | EXTERNAL | DV. ID. | DV. ID. | LABEL | : 5D 6: 6D : ------------------------------------------------------------------------------------------------------------------1 | 1 | LAYER1 | : 1.2000E+00 : 1.2671E+00 : 1.2000E+00 : 2 | 2 | E | : 1.0000E+00 : 1.0146E-01 : 1.0000E-01 3 | 3 | RHO | : 2.0000E+00 : 1.0000E-01 : 1.0000E-01 : 4 | 4 | NU | : 2.5000E+00 : 1.2886E+00 : 1.5000E+00 : -------------------------------------------------------------------------------------------------------------------

A final message is printed that indicates why the discrete optimization task was terminated. For example, *** USER INFORMATION MESSAGE 6464 (DOM12E) RUN TERMINATED DUE TO HARD CONVERGENCE TO AN OPTIMUM AT CYCLE NUMBER = 15. AND HARD FEASIBLE DISCRETE DESIGN OBTAINED

indicating that the design task was successfully completed due to hard convergence of the corresponding continuous design task and a hard feasible discrete design was found.

Special Prints for Topology Optimization The majority of the prints for topology optimization follow that for standard optimization. An exception is when design variables are to be printed. Even small topology optimization tasks are likely to have thousands of design variables. Therefore, the “Comparison Between Input Property Variables from Analysis and Design Models” print never occurs and the design variable print that normally occurs if P2 = 1 is suppressed unless P2>8. Similarly, the final Design Variable History print does not occur unless P2 > 8 is specified.

Main Index

Chapter 5: Output Features and Interpretation 337 Design Sensitivity Output

Design Sensitivity Output Design Optimization Output has provided an explanation of the output that is produced in an optimization task. It is also possible to obtain output from a sensitivity analysis and that is the topic of this subchapter. Recall from Design Sensitivity Analysis that a sensitivity coefficient is defined as a response rate of change for a corresponding design variable change. (The resultant partial derivative thus gives the slope of the j-th response function for the current design in the i-th design variable dimension.) As has been mentioned several times, sensitivity information is valuable in its own right since it provides a quantitative indication of how much a design response will change due to a change in a design variable.

The primary means of requesting design sensitivity output is with the DSAPRT Case Control command as detailed in the Case Control Section. This command provides tables of data that allow you to easily identify which response and design variable are associated with the sensitivity. This form of data is referred to as “formatted” sensitivities and can be contrasted with “unformatted” sensitivities that simply provide a matrix print of the DSCM2 matrix that contains the sensitivity coefficients as r  DSCM2  i j = -------j x i

(5-1)

where i is the row order and j is the column order. Unformatted sensitivity data prints can be activated by setting the Bulk Data parameter OPTEXIT to 4 or 7, but this capability has been superseded by the DSAPRT command. All the functionality, and much more, of the OPTEXIT parameter is available with the DSAPRT command. Both the formatted and unformatted forms of sensitivity data are presented here because the unformatted form has utility in that it provides a more compact form of the data and it is ideal for those who would like to couple MSC Nastran-computed sensitivities with their own postprocessors and/or optimizers.

Formatted Design Sensitivity Examples of the formatted sensitivity output are presented in the following listings that are based on the DSOUG4 example of Design Optimization Output with the following Case Control command: DSAPRT(START=1,END=LAST)=ALL DSAPRT used to provide formatted sensitivity information for the initial and final design. The first print is for the initial design: **************************************************************************** * * * D E S I G N S E N S I T I V I T Y M A T R I X O U T P U T * * * * * * R E S P O N S E S E N S I T I V I T Y C O E F F I C I E N T S * * * **************************************************************************** ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 15 RESPONSE TYPE= WEIGHT SEID= 0 RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------6.9618E+00 1 T-PLATE 2.8310E+01 2 T-BOX 2.6608E+00 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 14 RESPONSE TYPE= DISP GRID ID= 10203 COMP NO= 3 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT -------------------------------------------------------------------------------------------------------------------

Main Index

338 Design Sensitivity and Optimization User’s Guide Design Sensitivity Output

2

2.0022E-02

1 T-PLATE

-2.3718E-02

2

T-BOX

-1.6799E-02

------------------------------------------------------------------------------------------------------------------DRESP1 ID= 1 RESPONSE TYPE= STRESS ELEM ID= 33 COMP NO= 7 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------2 1.5332E+04 1 T-PLATE -2.2852E+04 2 T-BOX -1.1791E+04 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 1 RESPONSE TYPE= STRESS ELEM ID= 34 COMP NO= 7 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------2 3.0478E+04 1 T-PLATE -2.9687E+04 2 T-BOX -2.5978E+04 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 2 RESPONSE TYPE= STRESS ELEM ID= 32 COMP NO= 14 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------2 1.7437E+04 1 T-PLATE -1.8750E+04 2 T-BOX -1.4722E+04 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 2 RESPONSE TYPE= STRESS ELEM ID= 33 COMP NO= 14 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------2 2.6989E+04 1 T-PLATE -3.1380E+04 2 T-BOX -2.2170E+04 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 3 RESPONSE TYPE= STRESS ELEM ID= 2 COMP NO= 9 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.4260E+04 1 T-PLATE -1.6849E+05 2 T-BOX -3.3482E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 3 RESPONSE TYPE= STRESS ELEM ID= 3 COMP NO= 9 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.5087E+04 1 T-PLATE -1.7292E+05 2 T-BOX -1.5709E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 3 RESPONSE TYPE= STRESS ELEM ID= 14 COMP NO= 9 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.4260E+04 1 T-PLATE -1.6849E+05 2 T-BOX -3.3482E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 3 RESPONSE TYPE= STRESS ELEM ID= 15 COMP NO= 9 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.5087E+04 1 T-PLATE -1.7292E+05 2 T-BOX -1.5709E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 2 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.3341E+04 1 T-PLATE -1.6374E+05 2 T-BOX -1.2157E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 3 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.3655E+04 1 T-PLATE -1.6230E+05 2 T-BOX -1.0364E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 14 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.3341E+04 1 T-PLATE -1.6374E+05 2 T-BOX -1.2157E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 15 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.3655E+04 1 T-PLATE -1.6230E+05 2 T-BOX -1.0364E+02

The order of the data for the formatted prints can differ from that given for the RESPONSES IN THE DESIGN MODEL listing since a different sort is used to organize the data. For formatted sensitivities, the order of the data is:

Main Index

Chapter 5: Output Features and Interpretation 339 Design Sensitivity Output

First by superelement ID , then by Response type, then by External Response ID, then by Grid/Element ID, then by Component, then by Subcase, then by Frequency/Time Step Responses that share the superelement, response type, grid/element ID and component have a single header with the subcase and frequency time/step supplied with the response value. Response ID order corresponds to that given by Table 1 of the DRESP1 Bulk Data entry (see Bulk Data Entries in the MSC Nastran Quick Reference Guide). The example of the listing does not contain any type2 or type 3 responses. If any are present, they are sorted: First by superelement ID, then by External response ID, then by Subcase, then by Frequency/time step The extensive labeling makes the interpretation straightforward, so only a limited amount of explanation is given here. The first response in the table is for RTYPE=WEIGHT. The value of the response is given as 6.9618 and the sensitivity with respect to the first design variable (which has a label T-PLATE) is 28.310. This means that if the value of the first design variable changes by a unit amount, the weight will increase by 28.310. The sensitivity of the weight to the second design variable is 2.6608, indicating that a unit change in this design variable increases the weight by a much smaller amount than the first design variable. If we scan down the table of sensitivity coefficients, we come to a header associated with DRESP1 ID=2, Response Type=Stress, Element ID=33 and Component =14. Note that the response value in this case is 26,764 which is greater than the 25,000 stress allowable that is imposed in this example. In this case, the sensitivity with respect to the first design variable is -31,771. This implies that a change of 0.0555 in this design variable will reduce the stress to the allowable value. Using the weight sensitivity, this corresponds to a weight increase of 1.572. For the second design variable, the stress sensitivity is -21,953, indicating that the design variable would have to change by 0.0763 for a weight increase of only 0.203. This simplified analysis indicates that a good design strategy is to increase the second design variable while decreasing the first. If we look at the results of the first optimization cycle on page 322, it is seen that this is exactly what the optimizer did in this situation, taking the first design variable from 0.15 to 0.1087 and the second from 1.0 to 1.3347. The listing of the design sensitivities for the final design is given below. It is left as an exercise to the reader to use the sensitivities to determine that there is no

Main Index

340 Design Sensitivity and Optimization User’s Guide Design Sensitivity Output

direction that can be found that will decrease the weight while keeping all the constraints within their limits. **************************************************************************** * * * D E S I G N S E N S I T I V I T Y M A T R I X O U T P U T * * * * * * R E S P O N S E S E N S I T I V I T Y C O E F F I C I E N T S * * * **************************************************************************** ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 15 RESPONSE TYPE= WEIGHT SEID= 0 RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------6.7333E+00 1 T-PLATE 2.8302E+01 2 T-BOX 2.6249E+00 1 STATIC ANALYSIS OF A STIFFENED PLATE DSOUG4 FEBRUARY 11, 2003 MSC.NASTRAN 2/10/03 PAGE 121 0 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 13 RESPONSE TYPE= DISP GRID ID= 10302 COMP NO= 3 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 9.2276E-02 1 T-PLATE -2.4314E+00 2 T-BOX -1.1260E-03 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 14 RESPONSE TYPE= DISP GRID ID= 10203 COMP NO= 3 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------2 1.6605E-02 1 T-PLATE -1.8024E-02 2 T-BOX -1.0560E-02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 1 RESPONSE TYPE= STRESS ELEM ID= 33 COMP NO= 7 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------2 1.3300E+04 1 T-PLATE -2.5575E+04 2 T-BOX -7.5762E+03 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 1 RESPONSE TYPE= STRESS ELEM ID= 34 COMP NO= 7 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------2 2.4986E+04 1 T-PLATE -2.0807E+04 2 T-BOX -1.6104E+04 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 2 RESPONSE TYPE= STRESS ELEM ID= 32 COMP NO= 14 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------2 1.4496E+04 1 T-PLATE -1.7772E+04 2 T-BOX -9.0430E+03 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 2 RESPONSE TYPE= STRESS ELEM ID= 33 COMP NO= 14 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------2 2.2611E+04 1 T-PLATE -2.8783E+04 2 T-BOX -1.3908E+04 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 3 RESPONSE TYPE= STRESS ELEM ID= 2 COMP NO= 9 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 2.3889E+04 1 T-PLATE -3.9550E+05 2 T-BOX -3.1901E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 3 RESPONSE TYPE= STRESS ELEM ID= 3 COMP NO= 9 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 2.5000E+04 1 T-PLATE -4.0365E+05 2 T-BOX -9.6785E+01 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 3 RESPONSE TYPE= STRESS ELEM ID= 4 COMP NO= 9 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.4423E+04 1 T-PLATE -1.7590E+05 2 T-BOX -1.5196E+01 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 3 RESPONSE TYPE= STRESS ELEM ID= 14 COMP NO= 9 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 2.3889E+04 1 T-PLATE -3.9550E+05 2 T-BOX -3.1901E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 3 RESPONSE TYPE= STRESS ELEM ID= 15 COMP NO= 9 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 2.5000E+04 1 T-PLATE -4.0365E+05 2 T-BOX -9.6785E+01 -4.8121E+02

Main Index

Chapter 5: Output Features and Interpretation 341 Design Sensitivity Output

------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 2 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------DRESP1 ID= 3 RESPONSE TYPE= STRESS ELEM ID= 16 COMP NO= 9 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.4423E+04 1 T-PLATE -1.7590E+05 2 T-BOX -1.5196E+01 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 1 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.3456E+04 1 T-PLATE -1.8969E+05 2 T-BOX 1 2.2838E+04 1 T-PLATE -3.8908E+05 2 T-BOX -5.6129E+01 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 3 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 2.3047E+04 1 T-PLATE -3.8458E+05 2 T-BOX -8.4729E+01 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 4 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.6146E+04 1 T-PLATE -2.0122E+05 2 T-BOX -3.5959E+01 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 5 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.2663E+04 1 T-PLATE -1.7426E+05 2 T-BOX -9.5901E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 8 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.4224E+04 1 T-PLATE -2.0781E+05 2 T-BOX 3.4494E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 9 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.2663E+04 1 T-PLATE -1.7426E+05 2 T-BOX -9.5901E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 12 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.4224E+04 1 T-PLATE -2.0781E+05 2 T-BOX 3.4494E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 13 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.3456E+04 1 T-PLATE -1.8969E+05 2 T-BOX -4.8121E+02 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 14 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 2.2838E+04 1 T-PLATE -3.8908E+05 2 T-BOX -5.6129E+01 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 15 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 2.3047E+04 1 T-PLATE -3.8458E+05 2 T-BOX -8.4729E+01 ------------------------------------------------------------------------------------------------------------------DRESP1 ID= 6 RESPONSE TYPE= STRESS ELEM ID= 16 COMP NO= 17 SEID= 0 SUBCASE RESP VALUE DESIGN VARIABLE COEFFICIENT DESIGN VARIABLE COEFFICIENT ------------------------------------------------------------------------------------------------------------------1 1.6146E+04 1 T-PLATE -2.0122E+05 2 T-BOX -3.5959E+01

Main Index

342 Design Sensitivity and Optimization User’s Guide Design Sensitivity Output

Unformatted Design Sensitivity Unformatted design sensitivity output consists of two parts: a table listing the column order of the DSCM2 matrix of Equation (5-1), followed by a print of the DSCM2 matrix. The rows of DSCM2 are sorted on ascending independent design variable IDs, given on the DESVAR Bulk Data entries. Row 1 thus corresponds to the independent design variable with the lowest ID, row 2 the independent design variable with the second lowest ID and so on. There are a number of places where this order is specified with the best one perhaps the DESIGN VARIABLE HISTORY summary that was shown at the end of the DSOUG4 Output. DSCM2 column order is given in a correlation table. For OPTEXIT = +4 or 7, the formatted table contents are printed in the output file. This output indicates the particular column and response correlation in the DSCM2 matrix. For OPTEXIT = -4, this correlation information is output as the DSCMCOL table. See the MSC Nastran 2005 r3 DMAP Programmer’s Guide for details. Design Sensitivity Output Example This example is taken from the Test Problem Library, problem number D200X5. Modified by the addition of PARAM,OPTEXIT,4 to the Bulk Data Section. Thus, only sensitivity analysis and not optimization will be performed. D200X5 contains eleven design variables: three independent and eight dependent. The independent design variables are used as multipliers of basis functions, which have been implemented using DLINK entries. The problem includes weight, displacement, and stress responses, with two separate loading conditions. In short, enough of the basic components are present to give a fairly complete description of the output format in design sensitivity analysis.

Main Index

Chapter 5: Output Features and Interpretation 343 Design Sensitivity Output

The following is an abbreviated listing of the DSCM2 matrix output: MATRIX DSCM2 (GINO NAME 101 ) IS A REAL 61 COLUMN X 3 ROW RECTANG MATRIX. 0COLUMN 1 ROWS 1 THRU 3 -------------------------------------------------ROW 1) 4.0000E+01 2.2500E+01 1.5938E+01 0COLUMN 2 ROWS 1 THRU 3 -------------------------------------------------ROW u z 29 r 1) 3.2871E+01 1.9345E+01 1.3255E+01 -------3- =  --------------- 0COLUMN 3 ROWS 1 THRU 3 ------------------------------------------------- x 3  SUBCASE1  x 3 ROW 1) 3.2871E+01 1.9345E+01 1.3255E+01 0COLUMN 4 ROWS 1 THRU 3 -------------------------------------------------ROW 1) 2.5733E+04 2.9702E+04 3.2985E+04 0COLUMN 5 ROWS 1 THRU 3 -------------------------------------------------ROW 1) 2.5733E+04 2.9702E+04 3.2985E+04 0COLUMN 6 ROWS 1 THRU 3 -------------------------------------------------ROW 1) -1.5881E+05 -1.5696E+05 -1.5544E+05 0COLUMN 7 ROWS 1 THRU 3 -------------------------------------------------ROW 1) -1.5881E+05 -1.5696E+05 -1.5544E+05 . . . . . . . . . . . . . . . . 0COLUMN 39 ROWS 1 THRU 3 -------------------------------------------------ROW 1) -2.0435E+05 -2.9491E+04 -5.0688E+03 0COLUMN 40 ROWS 1 THRU 3 -------------------------------------------------ROW 1) 2.1453E+00 1.4776E+00 1.1223E+00 0COLUMN 41 ROWS 1 THRU 3 -------------------------------------------------ROW 1) 2.1453E+00 1.4776E+00 1.1223E+00 0COLUMN 42 ROWS 1 THRU 3 -------------------------------------------------ROW 1) -1.7913E+04 -1.7736E+04 -1.7589E+04 0COLUMN 43 ROWS 1 THRU 3 -------------------------------------------------ROW 1) -1.7913E+04 -1.7736E+04 -1.7589E+04 0COLUMN 44 ROWS 1 THRU 3 -------------------------------------------------ROW 1) -1.7913E+04 -1.7736E+04 -1.7589E+04 0COLUMN 45 ROWS 1 THRU 3 -------------------------------------------------ROW 1) -1.7913E+04 -1.7736E+04 -1.7589E+04 . . . . . . . . . . . . . . . . 0COLUMN 61 ROWS 1 THRU 3 -------------------------------------------------ROW 1) -2.1265E+04 -1.0639E+04 -5.4152E+03 0THE NUMBER OF NON-ZERO TERMS IN THE DENSEST COLUMN = 3 0THE DENSITY OF THIS MATRIX IS 100.00 PERCENT.  rows  columns

Matrix Dimension

See the following Correlation Table

– zero terms matrix density =  --------------------------------------------------------------------  100 rows  columns

Note that the size of DSCM2 is 3 rows by 61 columns. Each row corresponds to a single independent design variable. Since design variables 9, 10, and 11 are independent, rows 1, 2, and 3 correspond, respectively, to these quantities. Each column corresponds to a particular response; we can note that the sensitivities of 61 responses have been computed. The response order is listed in the correlation table, discussed shortly. Before moving on to the correlation table, we should note that the density of this matrix is 100%, that is, no zero terms are present. We can conclude that every response will undergo some finite change for a change in any of the independent design variables.

Main Index

344 Design Sensitivity and Optimization User’s Guide Design Sensitivity Output

If this density were less than 100%, a closer inspection of the design model formulation might be warranted. A response that is not a function of any of the design variables (hence, a zero sensitivity coefficient), might indicate a design modeling error. Quite often, these types of errors will show up as a null row or column of DSCM2. A null column indicates a response which is not a function of any of the design variables. A null row, on the other hand, indicates that changing a design variable will have no effect whatsoever on any of the design responses. Both of these errors are usually easily addressed, and underscore the significance of using design sensitivities as a method for model checkout. Column order in the design sensitivity coefficient matrix is given by the following abbreviated correlation table: -----

IDENTIFICATION OF COLUMNS IN THE DESIGN SENSITIVITY --------MATRIX THAT ARE ASSOCIATED WITH DRESP1 ENTRIES --------- WEIGHT/VOLUME RESPONSES ---------------------------------------------COLUMN DRESP1 RESPONSE NO. ENTRY ID TYPE -----------------------------------------1 35 WEIGHT ----- STATICS RESPONSES -------------------------------------------------------------------------------------------------------------------COLUMN DRESP1 RESPONSE GRID/ELM COMPONENT SUB PLY NO. ENTRY ID TYPE ID NO. CASE NO. ---------------------------------------------------------------------------------------------------------------2 33 DISP 9 3 1 3 34 DISP 29 3 1 4 1 STRESS 1 7 1 5 1 STRESS 11 7 1 6 2 STRESS 1 9 1 7 2 STRESS 11 9 1 . . . . . . . . . . . . . . . . . . . . . . . . 39 32 STRESS 18 17 1 40 33 DISP 9 3 2 41 34 DISP 29 3 2 42 2 STRESS 1 9 2 43 2 STRESS 11 9 2 44 4 STRESS 1 17 2 45 4 STRESS 11 17 2 . . . . . . . . . . . . . . . . . . . . . . . . 61 20 STRESS 15 17 2

Note that each column is associated with a particular response component for a given subcase. For example, column 3 of DSCM2 contains the sensitivities of the z-component displacement for grid 29, subcase 1. Column 41 contains the sensitivities of the same displacement component for subcase 2. In general, responses are grouped first by superelement, then by subcase, and finally by DRESP1 or DRESP2 order. The responses are sorted by individual response type. This order is given in Table 1 of the DRESP1 Bulk Data entry description (see Bulk Data Entries in the MSC Nastran Quick Reference Guide).

Main Index

Chapter 5: Output Features and Interpretation 345 Design Punch Output

Design Punch Output The term “punch file” refers to a output file whose origins can now be considered to be associated with the infancy of digital computing. This file contains outputs from the MSC Nastran analysis that can be conveniently used as input to another computer analysis. In the early days of computer analysis, these results could be punched onto computer cards so that they could be read in, via a card reader, as input to another analysis. This may seem quaint now that card punches and card readers are obsolete, but the punch file retains considerable utility for postprocessing of MSC Nastran results. The file is particularly useful in the design sensitivity and optimization context because it produces output in the format of the MSC Nastran bulk data entries. This provides a convenient way of capturing the results of the design process and using these results in a subsequent analysis to either punch fragments of the Bulk Data file or to punch a complete new input Bulk Data file. This section provides an overview of the options that are available for punched output.

Punch Parameters As briefly explained in Output-Controlling Parameters, the DESPCH parameter indicates how often design Bulk Data information is printed to the punch file while DESPCH1 specifies both the format of the data (small field versus large field) and what data are to be punched. Typically, the default of DESPCH=0 is adequate since this provides information for the final design cycle and it is typically only these data that are of interest in subsequent analyses. However, setting DESPCH to a positive integer n produces punched output at every nth design cycle and the last design cycle. This could be useful if a review of the design cycle history indicates that an intermediate design actually is better than the final design. DESPCH can also be set to a negative number, in which case no design data is punched. The DESPCH1 parameter controls the format and the amount of data that are punched. Positive values of this parameter produce Bulk Data entries in the “large field” format; i.e. each item in the entry occupies 16 spaces. Data in the large field format can be difficult to interpret visually if you are not used to it, but this may be the only way to obtain sufficient numerical accuracy to make the design results usable. Negative values of DESPCH1 produce results in the standard small field (i.e. 8 spaces) format. The Bulk Data entries that are punched are determined by the absolute value of the DESPCH1 parameter as indicated by Table 5-1. Table 5-1 DESPCH1

Main Index

MEANING

Nothing is punched

1

Designed property entries (e.g., PROD or MAT1) are punched

2

All properties of a given type are punched when one or more of that property type is designed.

4

Updated DESVAR and DRESP1 entries are punched

346 Design Sensitivity and Optimization User’s Guide Design Punch Output

Some comments on this table are: • If any GRID location is being designed, the complete set of GRID points will be punched

whenever DESPCH1 is nonzero • DESPCH1=1 typically produces fewer entries than DESPCH1=2 and is ideal when your bulk

data file has the designed properties in a segregated part of the file. DESPCH1=2 supports the case where the designed properties are sprinkled throughout the input file and it is simpler to globally replace all the properties, even those that have not changed • The DRESP1 punch is for situations where mode tracking has been utilized. The original design

model may be imposing a limit on the 3rd mode, but the redesign has placed this physical mode in the 5th position. The punched DRESP1 will indicate that the 5th mode is to be designed. All DRESP1 entries that are of RTYPE=EIGN or RTYPE=FREQ will be punched in this situation. • Combined quantities can be obtained by summing the three values in the table. For example

DESPCH1=6, which is the default, punches all properties, the DESVARs and any DRESP1 entries. Meaningful combined values are 5 and 6. DESPCH1=6 is the default value.

Example for DESPCH Figure 5-1 is an example of the information found in the .pch based on a DESPCH request when a PCOMP Bulk Data entry has plies that are being designed. The DESIGN CYCLE number is provided in a banner for the file and this is followed by annotations for each type of data that follows. In this case DESVAR entries are provided in the large field format and this is followed by values of the designed PCOMP entry. A feature of PCOMP analysis in MSC Nastran is that the PCOMP data is actually converted to equivalent PSHELL/MAT2 entries. These updated entries are also provided in the .pch file, but are commented out so that the entire file can be included in a bulk data file and there will be no difficulty with duplicate property IDs. In certain applications, it may be desirable to remove the PCOMP data and remove the comments from the PSHELL/MAT2 Bulk Data entries.

Main Index

Chapter 5: Output Features and Interpretation 347 Design Punch Output

$ ************************************************** $ * * $ * DESIGN CYCLE NUMBER = 9 * $ * * $ ************************************************** $ $ $ UPDATED DESIGN MODEL DATA ENTRIES $ DESVAR * 1PLY90 8.22658688E-02 1.99999996E-02+D *D 1V 3.00000000E+02 5.00000000E-01 DESVAR * 2PLYM45 2.85679966E-01 1.99999996E-02+D *D 2V 3.00000000E+02 5.00000000E-01 DESVAR * 3PLY45 1.99999996E-02 1.99999996E-02+D *D 3V 3.00000000E+02 5.00000000E-01 DESVAR * 4PLY0 8.38311464E-02 1.99999996E-02+D *D 4V 3.00000000E+02 5.00000000E-01 $ $ UPDATED ANALYSIS MODEL DATA ENTRIES $ PCOMP* 1 -2.54759588E-03 0.00000000E+00 5.00000000E+03* * HILL 0.00000000E+00 0.00000000E+00 SYM* * 1 4.44235717E-04 9.00000000E+01 YES* * 1 1.54267182E-03 4.50000000E+01 YES* * 1 1.08000000E-04 -4.50000000E+01 YES* * 1 4.52688197E-04 0.00000000E+00 YES $ Spawned PSHELL, MAT2 entries from PCOMP 1 $ PSHELL* 1 100000001 5.09519130E-03 200000001* $ * 1.00000000E+00 300000001 1.00000000E+00 0.00000000E+00* $ * -2.54759588E-03 2.54759565E-03 0 $ MAT2* 100000001 8.43634500E+06 3.43898675E+06 2.56559100E+06* $ * 8.37588350E+06 2.56559075E+06 3.73030525E+06 5.09999990E+00* $ * 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00* $ * 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 $ * 0 $ MAT2* 200000001 4.85598850E+06 3.05657825E+06 2.49240750E+06* $ * 1.27210570E+07 2.49240725E+06 3.34789700E+06 5.09999990E+00* $ * 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00* $ * 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 $ * 0 $ MAT2* 300000001 7.44932688E+05 0.00000000E+00 0.00000000E+00* $ * 9.02194062E+05 0.00000000E+00 0.00000000E+00 5.09999990E+00* $ * 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00* $ * 0.00000000E+00 0.00000000E+00 0.00000000E+00 0.00000000E+00 $ * 0

Figure 5-1

1V 2V 3V 4V

Sample of Punched Output from PARAM DESPCH

Special Punch Considerations for Topology Optimization The DESPCH parameter has a separate function in Topology Optimization. In this case, PARAM DESPCH N writes output to a jobname.des file that lists the element ID and the design variable value for every n-th design cycle. As shown in Postprocessing Output, this file can be brought into Patran for twodimensional problems to show the topology optimization results. Setting DESPCH 0 (default) produces design variable values for the final design cycle only.

Special Punch in the Case of Shape Optimization As described above, if shape optimization is being performed, a complete set of GRID Bulk Data entries will be punched every n-th design cycle where n is set using PARAM DESPCH. A special case occurs when the new mesh has become distorted to the extent that the resulting finite elements cannot be generated. In this case, an invalid mesh message is produced by the EMG modals and, if it has not already been punched, the grid data for the last design whose mesh was valid as punched. This allows the user to start up again from this last valid mesh while perhaps changing some move parameters so that the mesh distortions do not occur.

Main Index

348 Design Sensitivity and Optimization User’s Guide Design Punch Output

New Bulk Data File As indicated in the Case Control Section, the ECHO command can be used to cause the writing of a new Bulk Data file after a design task has been completed. Figure 5-3 displays a portion of the file that is produced if the DSOUG4 example of Design Optimization Output includes the command ECHO = SORT,PUNCH(NEWBULK) A banner indicates the beginning of the updated Bulk Data file. It is apparent that much of the file does not require any change. The first new Bulk Data entries are the CBAR entries that utilize the new beam offset values. Properties and DESVAR entries are also changed, while the responses and constraints do not. It is now very convenient to make additional MSC Nastran runs by including this new Bulk Data file in a new job submittal. The new run may continue the SOL 200 design task or it could perform a completely new type of analysis, such as nonlinear.

Main Index

Chapter 5: Output Features and Interpretation 349 Design Punch Output

$ ************************************************************* $ * * $ * ENTIRE NEW BULK DATA DECK WITH UPDATED ENTRIES INSERTED * $ * * $ ************************************************************* $ BEGIN BULK PARAM POST -1 PARAM NASPRT 1 $ $-----------------------------------------------------------------------$ ANALYSIS MODEL: $-----------------------------------------------------------------------$ GRID 10000 0.0 0.0 0.0 GRID 10001 2.5 0.0 0.0 ...... ...... GRID 10402 5.0 10.0 0.0 GRID 10403 7.5 10.0 0.0 GRID 10404 10.0 10.0 0.0 $ CQUAD4 1 1 10000 10001 10101 10100 CQUAD4 2 1 10001 10002 10102 10101 ...... ...... CQUAD4 15 1 10302 10303 10403 10402 CQUAD4 16 1 10303 10304 10404 10403 $ CBAR* 31 3 10200 10201* * 0.00000000E+00 1.00000000E+00 0.00000000E+00 1* * 0 0 0.00000000E+00 0.00000000E+00* * 1.55632222E+00 0.00000000E+00 0.00000000E+00 1.55632222E+00 CBAR* 32 3 10201 10202* * 0.00000000E+00 1.00000000E+00 0.00000000E+00 1* * 0 0 0.00000000E+00 0.00000000E+00* * 1.55632222E+00 0.00000000E+00 0.00000000E+00 1.55632222E+00 CBAR* 33 3 10202 10203* * 0.00000000E+00 1.00000000E+00 0.00000000E+00 1* * 0 0 0.00000000E+00 0.00000000E+00* * 1.55632222E+00 0.00000000E+00 0.00000000E+00 1.55632222E+00 CBAR* 34 3 10203 10204* * 0.00000000E+00 1.00000000E+00 0.00000000E+00 1* * 0 0 0.00000000E+00 0.00000000E+00* * 1.55632222E+00 0.00000000E+00 0.00000000E+00 1.55632222E+00 $ PSHELL* 1 1 1.12644322E-01 1* * 1.00000000E+00 0 8.33333313E-01 0.00000000E+00* * 0 * * PSHELL* 2 1 2.00000003E-01 1* * 1.00000000E+00 0 8.33333313E-01 0.00000000E+00* * 0 * * PBARL* 3 1 MSCBML0 HAT * * * * 3.00000000E+00 1.31358892E-01 2.00000000E+00 8.99999976E-01* * 0.00000000E+00 $ MAT1 1 1.0E+7 0.33 0.283 $ FORCE 1 10004 2000.0 1.0 0.0 0.0 ...... ...... PARAM AUTOSPC YES $ $-----------------------------------------------------------------------$ DESIGN MODEL: $-----------------------------------------------------------------------$ $...DEFINE THE DESIGN VARIABLES: $ $DESVAR ID LABEL XINIT XLB XUB DELXV DESVAR * 1T-PLATE 1.12644322E-01 1.00000005E-03+D 1V *D 1V 1.00000000E+01 1.00000000E+00 DESVAR * 2T-BOX 1.31358886E+00 1.00000005E-03+D 2V *D 2V 1.00000000E+01 1.00000000E+00

Figure 5-2

Main Index

Punch File Produced Using ECHO=PUNCH(NEWBULK)

350 Design Sensitivity and Optimization User’s Guide Design Punch Output

$ $...RELATE THE DESIGN VARIABLES TO ANALYSIS MODEL PROPERTIES $ (LINEAR RELATIONS SO USE DVPREL1) $ $...EXPRESS SHELL THICKNESSES AS FUNCTIONS OF X1 X2: $DVPREL1 ID TYPE PID FID PMIN PMAX C0 $+ DVIDD1 COEF1 DVID2 COEF2 ... DVPREL1 1 PSHELL 1 T 0.01 +DP1 1 1.0 $ $...EXPRESS BOX THICKNESS AS A FUNCTION OF X2: DVPREL1 3 PBARL 3 DIM2 2 0.1 $. EXPRESS BOX OFFSET LOCATIONS AS A FUNCTION OF PLATE THICKNESS AND $ FIXED BOX DIMENSIONS DVCREL1 10 CBAR 31 W3A 1.5 1 0.5 DVCREL1 20 CBAR 32 W3A 1.5 1 0.5 DRESP1 13 D1 DISP 3 DRESP1 14 D2 DISP 3 DRESP1 15 W WEIGHT $ $...PLACE BOUNDS ON THE RESPONSES: $ $DCONSTR DCID RID LALLOW UALLOW DCONSTR 10 1 -25000. 25000. DCONSTR 10 2 -25000. 25000. DCONSTR 10 3 -25000. 25000. DCONSTR 10 6 -25000. 25000. DCONSTR 20 13 -0.1 0.1 DCONSTR 30 14 -0.03 0.03 $ $DCONADD DCID DC1 DC2 ... $ SUMMED CONSTRAINT SET FOR SUBCASE 1 DCONADD 100 10 20 $ SUMMED CONSTRAINT SET FOR SUBCASE 2 DCONADD 200 10 30 $ $...OPTIONAL OVERRIDE OF OPTIMIZATION PARAMETERS: $ DOPTPRM IPRINT 7 DESMAX 20 DELP 0.5 P1 + P2 15 $ (DELP=0.5 ALLOWS LARGER MOVES THUS OVERCOMING CONSTRAINT $ VIOLATIONS QUICKER) $ ENDDATA

Figure 5-3

Main Index

+ +DP1

10302 10203

1

+

Punch File Produced Using ECHO=PUNCH(NEWBULK)

Chapter 5: Output Features and Interpretation 351 Postprocessing Output

Postprocessing Output This final section in the chapter discusses some of the postprocessing options that are available from SOL 200 analyses. In particular, the ability of Patran to postprocess optimization results is discussed. The immediate discussion is of a file that contains results data in a format that allows in input into a spreadsheet, thereby providing access to the spreadsheet’s plotting capability.

Comma Separated Values File The File Management indicates how a file can be assigned for the special purpose of producing a file that can be read into a spreadsheet utility such as Microsoft Excel. These results can then be manipulated using the spreadsheet utilities and, in particular they can be plotted. The file is designated a Comma Separated Values (or CSV) because the data are delimited by commas so that the spreadsheet can readily understand them. In addition to the ASSIGN statement such as: ASSIGN USERFILE=’DSOUG4.CSV’ , STATUS=NEW, FORM=FORMATTED, UNIT=52 it is necessary to include a PARAM, XYUNIT, 52 in the Bulk Data file. The DSAPRT command is required to produce formatted sensitivity data. Design cycle history data, including the objective, maximum constraint and design variable values are all available in this file. Figure 5-4 shows four plots that can be derived from the CSV file that is produced when the DSOUG4 file of the Stiffened Plate is used. The first three plots show: 1. The sensitivity of the weight as a function of the two design variables 2. The sensitivity of the stress as a function of the two design variables 3. The ratio of the stress sensitivities to the weight sensitivities for the same two design variables. This third chart is derived in Microsoft Excel by dividing the data of the second chart by that of the first. This then shows in pictures the point made in words on page 339: the most effective way to achieve the desired stress limit is to reduce the first design variable while increasing the second. The fourth chart in Figure 5-4 depicts the values of the design variables as a function of the design cycle. Similar plots could be produced for the objective and the maximum constraint value.

Main Index

352 Design Sensitivity and Optimization User’s Guide Postprocessing Output

Figure 5-4

Plots Produced from a Comma Separated Values File

Output from PARAM POST This section discusses the postprocessing support that is available in Patran for optimization results from MSC Nastran. There are two alternatives for creating output databases for Patran: • PARAM POST 0 in the MSC Nastran bulk data file results in an .xdb file that can be attached in

an Patran session. • PARAM POST -1 results in an .op2 file that is read onto the Patran data base.

Both of these options support display of finite element results as a function of design cycle. (It is necessary to set PARAM NASPRT 1 to have data saved at each design cycle and only data requested in case control is saved.) Therefore, it is possible to graphically depict, for example, the stress patterns or the deformations in the designed structure at each design cycle. The options differ in that the .op2 file contains some datablocks that are that specific to SOL 200. These datablocks are documented in Section 4.4 of the Patran MSC Nastran Preference Guide, Volume 1:

Main Index

Chapter 5: Output Features and Interpretation 353 Postprocessing Output

Structural Analysis, which is available online when running Patran. In particular, a GEOMIN datablock permits the display of shape basis vectors and new shapes as a function of the design cycle. Another datablock named R1TABRG allows the display of which elements and grid responses are retained for the design task (see Constraint Screening). For element responses, elements with retained responses are identified in a on-off manner with retained elements marked in white while the non-retained elements are black. For grid responses, the direction of a marker at the grid point indicates which component of the grid response is retained. The .op2 file also contains information on the design variables, the maximum constraint values and the objective function which are stored as global variables. These data are handled in a special way: when the .op2 file that contains these data is read into the Patran database, three XY plots are generated but not posted: 1. Objective function vs. design cycle 2. Maximum constraint vs. design cycle 3. Design Variable vs. design cycle. Figure 5-5 compares displacement results for the first subcase at the initial and final design cycles for the design task given in Cantilevered Plate. Note the scales on the side of the two plots which indicates that

the maximum displacement has increased from 0.218 to 2.00, which is equal to one of the design limits for this problem. Figure 5-6 shows XY plots that are automatically generated in Patran that show the design objective and the three design variable values as a function of the design cycle.

Main Index

354 Design Sensitivity and Optimization User’s Guide Postprocessing Output

Figure 5-5

Main Index

Displacement Patterns for the Initial and Final Design Object

Chapter 5: Output Features and Interpretation 355 Postprocessing Output

a. Design variables as a function of design cycle

Main Index

356 Design Sensitivity and Optimization User’s Guide Postprocessing Output

b. Design objective as a function of design cycle Figure 5-6

Main Index

Representative XY Plot from Patran

Chapter 6: Shape Optimization Design Sensitivity and Optimization User’s Guide

6

Main Index

Shape Optimization

Introduction

358

Basis Vectors in Shape Optimization

Relating Design Variables to Shape Changes

Examples

391

359 364

358 Design Sensitivity and Optimization User’s Guide Introduction

Introduction Shape sensitivity and optimization in MSC Nastran requires the definition of design variables, allowable shape variations or shape basis vectors and relationship between the design variables and shape basis vectors. A single shape or basis vector typically affects multiple grid locations. The amount the design variable is changed during optimization results in a corresponding shape change. This chapter begins with a discussion of basis vectors. This is followed by a detailed description of tools available in MSC Nastran and Patran for relating design variables to the basis vectors. The final section illustrates these tools, explains the input deck requirements, and describes the special outputs and post processing support with example problems.

Main Index

Chapter 6: Shape Optimization 359 Basis Vectors in Shape Optimization

Basis Vectors in Shape Optimization Shape basis vectors are used in MSC Nastran to characterize the allowable shape changes. The optimizer then determines the best linear combination of these vectors, given the design criteria established by the engineer. The angle bracket redesign of Figure 6-1 can be used to illustrate the concepts of shape basis vectors.

y

1 2 3 4

Figure 6-1

x

Angle Bracket

Suppose the design goal is to vary the lengths of the x- and 7y-axis legs of the bracket while keeping the outer edge straight. The location of grid points 2 and 3 can easily be described in terms of the bracket leg lengths G 1y and G 4x . For simplicity, assuming only four grids along this edge, we can write       

G 2x   G 2y   = G 3x   G 3y 

0 23 0 13

13 0 23 0

  G 1y   G 4x 

    

(6-1)

A more realistic model certainly would include more grid points along this edge in addition to a number of grids in the structure’s interior. Adding these grids would simply add more equations to the set in Equation (6-1), leaving its basic form unchanged. We can write Equation (6-1) in terms of grid variations as       

G 2x   G 2y   = G 3x   G 3y 

0 23 0 13

13 0 23 0

  G 1y   G 4x 

    

The coefficient matrix is unchanged in Equation (6-2) from that of Equation (6-1). Equation (6-2) suggests that a convenient choice of design variables would be

Main Index

(6-2)

360 Design Sensitivity and Optimization User’s Guide Basis Vectors in Shape Optimization

x 1 = G 1y

(6-3)

x 2 = G 4x

or           

G 1y   G 2x   G 2y   = G 3x   G 3y   G 4x 

1 0 23 0 13 0

0 13 0 23 0 1

   x 1     x 2   

(6-4)

Note that Equation (6-4) expresses a vector of grid coordinate changes in terms of a vector of design variable changes. Each column of the matrix on the right-hand side of the equation is called a shape basis vector. Generating the shape basis vectors is one of the design engineer’s primary tasks in shape optimization. If we graph each column of the matrix in Equation (6-4) as a set of grid displacements, we see that column 1 represents a vertical (or y-component) variation in shape, while column 2 represents a horizontal shape variation. (The column order is arbitrary and just depends on the order of the design variables.) Note that both shape basis vectors, as well as any linear combination of them, keep the edge of the bracket as a straight line, consistent with our design goals. y y G 1y G 2y

1 2

1 G 3 y

G 3x

3

3 4

x

[T], Column 1 Figure 6-2

G 2x

2

G 4x

4

x

[T], Column 2

Basis Vectors for the Angle Bracket

Once a shape basis vector description is available, the optimizer can vary the shape of the structure by changing the corresponding design variables. We can generalize the relation given in Equation (6-4) as  G  mx1 =  T  mxn  x  nx1

Main Index

(6-5)

Chapter 6: Shape Optimization 361 Basis Vectors in Shape Optimization

 G  =  G   x  =  x 

i+1

i+1

– G

– x

i

i

and i = design cycle number. As the design variables change, the grid locations are computed as  G  new =  G  o +  T   x new – x o 

(6-6)

Equation (6-5) expresses a vector of grid point changes as a function of changes in design variables. The

linear combination of design variable changes times each shape basis vector results in the total change in shape. Typically, there are more grid points than design variables, or m » n . For this reason, Equation (6-5) is often called a reduced basis formulation. It needs to be reemphasized that the designed shape is the perturbation of the original shape defined by the GRID locations. The perturbation, as expressed in Equation (6-5), is the product of the shape basis vector and the change in the design variable value. This contrasts with Equation (6-5), where the designed property is determined based on the specification of Equation (2-2) or Equation (2-5) and the input property from the analysis model is ignored. Input of Shape Basis Vectors MSC Nastran supports four methods to describe shape basis vectors: 1. Manual grid variation 2. Direct input of shapes 3. Geometric boundary shapes 4. Analytic boundary shapes An overview of these methods is given here and details of the user interface in the next section, Relating Design Variables to Shape Changes. Manual Grid Variation This is the most general, as well as the most tedious, method of generating shape basis vectors. A DVGRID Bulk Data entry defines the direction and magnitude of a grid variation for a given change in a design variable. This relation is shown in Figure 6-3 and Equation (6-7). A single DVGRID entry is required for every design variable-grid pair.

Main Index

362 Design Sensitivity and Optimization User’s Guide Basis Vectors in Shape Optimization

 G  i

z

Z y Y

 G i

x

X Figure 6-3

Grid Point Variation Defined by a DVGRID Entry

    N1   G x       = COEFF   N2  x j  G y         N3  ij  G z   i

(6-7)

Direct Input of Shapes This approach greatly simplifies the process of defining shape basis vectors. With this method, externally-generated vectors are DBLOCATEd and used to define shape basis vectors. These externally generated vectors are solution vectors from an auxiliary model that shares the geometry (grid numbers and locations) with the primary designed model but the boundary conditions and analyses are chosen to produce deformations (or mode shapes) that are candidate shape changes. Relating Design Variables to Shape Changes details the steps required to use this method while Shape Optimization of a Culvert provides an example application of this technique. Geometric Boundary Shapes This method is similar to the Manual Grid Variation method except that the user is required to define the allowable shape variations only on the boundary of the structure. In addition to supplying the DVGRID information on the boundary, it is also necessary to supply BNDGRD Bulk Data entries to define the structure’s boundaries. With this method, the shape basis vectors for the entire structure are automatically generated by the code through a process of interpolation of the boundary shape changes to the interior of the structure. An advantage of this method is that this interpolation is updated on every design cycle, minimizing the problems associated with mesh distortion for large shape changes. Analytic Boundary Shapes This approach extends the geometric boundary shapes method to avoid having to supply DVGRID entries on the boundary. Instead, the designer provides an auxiliary model over the boundaries of the structure that are to be changed. This may be a collection of BAR elements along the edges of a two-

Main Index

Chapter 6: Shape Optimization 363 Basis Vectors in Shape Optimization

dimensional structure or a “skin” of plate elements over a three-dimensional part. We refer to this model over the boundaries as an auxiliary boundary model. The designer then constrains and statically loads the auxiliary model to produce a shape variation over the boundary, which the code then interpolates to the interior of the structure. The result is a shape basis vector for optimization. Unlike the Direct Input of Shapes method, the auxiliary model is included in the same input file as the primary model and the analysis of the auxiliary model feeds the shape design task directly. Relating Design Variables to Shape Changes details the steps required to use this method while Analytic Boundary Shape provides an example application of this technique.

Main Index

364 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

Relating Design Variables to Shape Changes This section enlarges on this earlier discussion by identifying the specific bulk data entries that are used for each of these options. All of the methods, except for manual grid variation, use the concept of auxiliary model in some form. Therefore the auxiliary model concept is first discussed before proceeding to the details of the various methods. Auxiliary Models in Shape Optimization An auxiliary model is an additional finite element model used to generate shape basis vectors. Rather than tediously specifying shape changes on an individual grid-by-grid basis, auxiliary models are a tool that can be used to simplify this process. An auxiliary model usually shares the same geometry, element connectivity, and (possibly) material type as the original structure. However, boundary conditions usually differ. Applying loads to this structure will result in sets of displacement vectors  U  . When we think of the translational displacement components of these vectors as representing individual components of grid motion, we realize that the  U  vectors can quite conveniently be used as basis vectors for shape optimization. For the “direct input of shapes” method, the auxiliary model is exercised in a separate job submittal and the results input into the shape optimization task. For the “geometric boundary shapes” and “analytic boundary shapes” methods, the auxiliary model is integrated with the shape optimization task so that the shape vectors are generated is the same job submittal as is used to perform the optimization task. As a simple example, consider the cantilever structure of Figure 6-4. The analysis model is clamped along the left-hand edge and tip-loaded on the right. Suppose we would like to redesign the shape of the structure by modifying the profile of the lower edge. In order to do so, we can use an auxiliary model to generate a few characteristic profiles and use these as our shape basis vectors.

Main Index

Chapter 6: Shape Optimization 365 Relating Design Variables to Shape Changes

Figure 6-4

Simple 2-D Cantilever

Figure 6-5 shows the corresponding auxiliary model and its boundary conditions, exclusive of the loading. The fixed edges on the left and top sides guarantee that the left-hand support and the horizontal upper edge will not change during shape optimization. The support in the x direction along the right edge allows the depth of the beam to change without changing its length. We can now load the bottom edge in a way to produce a range of “shapes” or basis vectors.

B

A

C

D Figure 6-5

Auxiliary Model for the Simple 2-D Cantilever

To view the basis vector:

Main Index

366 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

a. Import the model, b. Make a load case (displacement and loads) to generate the kind of shape you want c. Select the subcases, d. Analyze and e. View the displacement vectors the subcase (which is the same as viewing the basis vectors, Figure 6-6). This can be done for as many basis vectors as you want

Figure 6-6

Uniform Taper Basis Vector

A more arbitrary shape basis vector could be generated by loading an individual grid along the lower edge. In order to avoid an inflection point in the resulting deflection pattern, it is advisable to add some very stiff beams to the bottom edge of the auxiliary model. The produces a shape as shown in Figure 6-7. A number of these shapes produced by loading other grids along this edge might comprise a useful set of shape basis vectors.

P Figure 6-7

Point-Load Basis Vector

Modeling Methods (Shape Basis Vector Definition) Shape optimization in MSC Nastran assumes the engineer is starting with a reasonably good design but would like to investigate ways in which the shape of the part, or even the entire structure, might be modified in order to better meet the design goals.

Main Index

Chapter 6: Shape Optimization 367 Relating Design Variables to Shape Changes

Although large shape variations can be investigated in MSC Nastran, it is important to note that in a practical design environment, shape changes are often limited by numerous design considerations. Manufacturability of the part, interference from neighboring components of the structure, aesthetics, and so on, often limit the degree to which the structural shape can be modified. Shape optimization in MSC Nastran allows you to investigate these “real world” types of shape variations. It will, for example, let you determine the optimum placement and size of cutouts to lighten a structure. Unfortunately, it cannot tell you how many holes to use or otherwise affect the topology of the model. Four different modeling methods are available in MSC Nastran. The purpose of each method is the same: to define a basis vector (or a set of basis vectors) for shape optimization. The methods differ in terms of their user interfaces and whether or not the basis vectors are automatically updated on each design cycle. The following subsections briefly outline each approach, its strong as well as its possible weak points, and its requirements for use. Manual Grid Variation In this method, DVGRID entries alone are used to describe shape changes. For the simple linear taper of Figure 6-6, the DESVAR/DVGRID data is defined as follows: DESVAR DVGRID DVGRID DVGRID DVGRID DVGRID DVGRID DVGRID DVGRID DVGRID DVGRID DVGRID DVGRID DVGRID DVGRID DVGRID

10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10

LINTABP 11 12 13 15 16 17 19 20 21 23 24 25 27 28 29

1.0

0.01 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0

10. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

0.4 0.2667 0.1333 0.8 0.5333 0.2667 1.2 0.8 0.4 1.6 1.067 0.5333 2.0 1.3333 0.6667

0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0

As mentioned, this represents a significant amount of data that must be generated in some fashion. The benefits, drawbacks and data preparation steps for this method are as follows: Benefits

Since this can be considered the lowest-level approach, its strength lies in its generality. Using DVGRIDs alone, the designer has direct control over every designed grid point in the model (that is, every grid point whose location is to change during shape optimization.) Drawbacks

In all but the simplest of problems, the data input can be formidable without a preprocessor. The resultant basis vectors are treated as constant and not updated with each design cycle, so the risks of mesh distortion are increased.

Main Index

368 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

Data Preparation

1. Define the shape design variables using DESVAR Bulk Data entries. 2. Establish the corresponding grid variations using DVGRID Bulk Data entries, one entry for every design variable-designed grid pair in the model. This entry ties design variable changes to changes in the structure’s shape. 3. Preview the resultant basis vectors and modify if necessary. Direct Input of Shapes This approach greatly simplifies the process of defining shape basis vectors. With this method, externally-generated vectors are DBLOCATEd and used to define shape basis vectors. An auxiliary model analysis provides these externally-generated vectors. These vectors could be the results of a statics analysis, but other real vectors can also be used. For example, you may wish to use normal modes results. There are no DVGRID entries required in this method (although you can still use them to augment the direct input shapes). Instead, the DVSHAP entry is used to relate the DESVAR to the columns of the results from the auxiliary model analysis. The benefits, drawbacks and data preparation steps for this method are: Benefits

Basis vectors for shape optimization can be generated using an external auxiliary model analysis and DBLOCATEd, allowing for easy generation of shape basis vectors. In theory, any method of external generation is possible, as long as the number of degrees-of-freedom in the auxiliary model is the same as in the primary structure (i.e., G-sets must be equivalent). Drawbacks

The process is not fully automatic since an auxiliary model analysis must be performed beforehand, with results saved on the database, and DBLOCATEd for shape optimization. Since the basis vectors are externally generated, they are not updated for each design cycle. This may cause mesh distortion problems for large shape changes. Data Preparation

1. Define an auxiliary model, perform an analysis, and save the results to the database using the SCR=NO option on the NASTRAN job submittal command. This process is the same as a conventional MSC Nastran analysis except that the auxiliary model geometry and boundary conditions have been established with consideration given to the shape redesign goals. 2. DBLOCATE the results for shape optimization using the following FMS section commands (assuming the master file is file1.MASTER): ASSIGN FILE1 = “file1.MASTER” DBLOCATE DATABLK=(UG/UGD,GEOM1/GEOM1D,GEOM2/GEOM2D), LOGICAL=FILE1 Note:

Main Index

The data blocks UG, GEOM1, and GEOM2, are DBLOCATEDd and renamed to UGD, GEOM1D, and GEOM2D, respectively. The data block names UGD, GEOM1D, and GEOM2D cannot be changed.

Chapter 6: Shape Optimization 369 Relating Design Variables to Shape Changes

3. Define shape design variables using DESVAR entries, and correlate these to the DBLOCATEd basis vectors using DVSHAP Bulk Data entries. 4. Preview the resultant shape basis vectors to check for modeling errors. Geometric Boundary Shapes In this method, BNDGRD Bulk Data entries are used to define the structure’s boundaries and DVGRID entries to furnish the shape variations only over these boundaries. The linear taper basis vector of Figure 6-6 can therefore be input using: DESVAR DVGRID DVGRID DVGRID DVGRID DVGRID BNDGRID BNDGRID

Note:

10 10 10 10 10 10 123 9 1

LINTAP 11 15 19 23 27 11 10 28

1.0

15 14 29

0.01 1.0 1.0 1.0 1.0 1.0 19 18 30

10. 0.0 0.0 0.0 0.0 0.0 23 22

0.4 0.8 1.2 1.6 2.0 27 26

0.0 0.0 0.0 0.0 0.0 7 30

8

It is necessary to specify the grid component combinations that are fixed using the BNGRID entry, but it is not necessary to provide a DVGRID entry when the grids are fixed to zero.

It is seen that the input preparation is simplified relative to the manual grid variation input for the same example. The benefits, drawbacks and data preparation for this method are: Benefits

Since grid variations need only be specified over the boundaries, data preparation is greatly simplified. In fact, since DVGRID entries are only written for the boundaries, many real-world problems can be effectively solved without geometry-based preprocessors. Internal computation of the shape basis vectors means that these can be recomputed (updated) for every design cycle, reducing the problems associated with mesh distortion for large shape changes. Drawbacks

Describing grid variations over the boundaries may still require significant DVGRID information, even though orders of magnitude less than the manual grid variation method.

Main Index

370 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

Data Preparation

1. Define the shape design variables using DESVAR Bulk Data entries. 2. Define corresponding shape variations over the structure’s boundaries using DVGRID entries. 3. Define the shape boundary conditions using BNDGRID Bulk Data entries. The BNDGRIDDVGRID entry combination is analogous to the use of SPCDs to impose enforced boundary displacements. The DVGRID entry supplies the enforced variation, much like an SPCD, to the boundary grids specified on the BNDGRID entry (similar to an SPC entry). Analytic Boundary Shape The analytic boundary shapes method can be characterized as being the most sophisticated of the methods and removes the need for DVGRID generation completely. Instead, you must generate an auxiliary model that “clads” the boundary that is to be redesigned. This can be done in a preprocessor, thereby minimizing the manual data preparation. The geometry (that is, GRID locations) is shared between the primary and auxiliary models and it is necessary to include BNGRID entries in the primary model that identify the boundary in the same way as in the geometry boundary shapes method. Analytic Boundary Shapes provides an example that uses this method and you should refer to this to get a clear picture of the requirements for generating the auxiliary models. This method involves separate bulk data for the auxiliary models, with each model denoted by a BEGIN BULK AUXMODEL = n command. Unique loads and boundary conditions are applied to the auxiliary model(s), necessitating separate case control sections for each of the models. The AUXCASE and AUXMODEL Case Control commands are used to select the separate bulk data files. Benefits

The method is very general, and does not require a geometry-based pre- and postprocessor. The user interface is entirely within the MSC Nastran environment. Shape basis vectors are updated on every design cycle, reducing the problems associated with mesh distortion for large shape changes. Any combination of static loading available in MSC Nastran may be used. Point loads (FORCE), enforced displacements (SPCD), thermal loads (TEMP), pressure loads (PLOAD), and so on, may all be used to generate the desired shapes. Drawbacks

Creativity is often required in the selection of loads and boundary conditions for the auxiliary boundary models. This is listed as a drawback because the “creativity” requires that you possess a certain amount of sophistication in model preparation. You may see this as a benefit in that your creativity can be applied to create the most appropriate shape basis vectors! Data Preparation

1. Define auxiliary boundary models using one additional Bulk Data Section for each model. These sections are identified with the command, BEGIN BULK AUXMODEL = n where n is the auxiliary boundary model ID. 2. Select loading and boundary conditions in Case Control using AUXCASE and AUXMODEL = n to define the auxiliary boundary model Case Control Sections.

Main Index

Chapter 6: Shape Optimization 371 Relating Design Variables to Shape Changes

3. Define the shape boundary conditions on the actual structure using BNDGRID Bulk Data entries. In addition to defining the connection points with the auxiliary boundary model, the BNDGRID entries must define those boundaries that are invariant during shape optimization. 4. Define the shape design variables using DESVAR entries, and relate these to the shape basis vectors (which the code will compute) with DVSHAP entries. Example: Shape Basis Vectors This example further illustrates the process of defining shape basis vectors for each of the previously outlined methods, excluding the manual grid variation method for which data preparation can be quite extensive. Since DVGRIDs are used in the geometric boundary shapes method anyway, their use is covered here in connection with that method. Suppose we want to redesign the shape of a hole cutout in a square plate shown in Figure 6-8. This redesign seeks to minimize the weight, subject to constraints on von Mises stresses. However, rather than allow only circular variations, we would like to investigate elliptical shape changes. Since the edge traction force T x is twice T y , one would expect a 2:1 ratio elliptical hole at the optimum, rather than simply a circle. Two design variables will be used-each one representing an axis length.

Main Index

372 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

T y = 1.0E4

Nm

0.15m

0.05m

0.15m Material: aluminum, 7075-T6 sheet E = 7.2E10

Nm

2

 = 0.33  = 2.8E3

Figure 6-8

kg  m

3

Plate Quarter Model

Recall that the equation for an ellipse centered at the origin of the x-y plane is given by 2

2

y x ----- + ----- = 1 b 2 a b

(6-8)

where a and b are the x and y axis intercepts, respectively, of the ellipse. We want the optimizer to vary the shape of the ellipse, so a natural choice is to define two design variables, each representing the changes in a and b . These quantities can be defined as

Main Index

Chapter 6: Shape Optimization 373 Relating Design Variables to Shape Changes

$ define design variables... $DESVAR,ID, LABEL, XINIT, DESVAR, 1, DELA, 1.0, DESVAR, 2, DELB, 1.0,

XLB, XUB, DELXV -20., +20. -20., +20.

These two entries define two design variables: each with initial values of 1.0, lower bounds of -20., and upper bounds of +20. The initial design variable values are somewhat arbitrary as are the lower and upper bounds. Note:

From Equation (6-5) a change in a design variables value causes a change in grid location. The characteristics of the shape changes depend on the shape basis vectors. DESVAR entries 1 and 2 just define the presence of basis vector multipliers that the optimizer is free to vary. The basis vector magnitudes will govern the corresponding magnitude of shape change.

Direct Input of Shapes Direct input of shapes uses an external auxiliary model to generate shape basis vectors. The auxiliary model is used to generate a set of displacement vectors that are then DBLOCATEd and identified as shape basis vectors in the optimization run. All data for the auxiliary model analysis must be provided for by the designer in a prior MSC Nastran run. Figure 6-9 shows the auxiliary model and its boundary conditions. Its geometry and connectivity are the

same as for the primary structure. The material types are also the same, although this need not be the case. Note that the chosen boundary conditions are consistent with our shape redesign goals: outer edges fixed, symmetry along the x and y axes, and a free edge along the hole boundary.

Figure 6-9

Main Index

External Auxiliary Model

374 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

Along the cutout, we will apply two sets of enforced displacements: one an elliptical variation in the a , or x , direction, the other an elliptical variation in the b , or y , direction. We can use a geometry-based preprocessor to give us this data or for simple cases, we can just compute this data by hand. Either way, the following SPCD entries result: $ $ "LOAD" 1: ELLIPTICAL X-COMPONENT VARIATION (10MM MAX. VALUE) SPCD, 101, 1, 1, .01 SPCD, 101, 5, 1, .0098769 SPCD, 101, 6, 1, .0095106 SPCD, 101, 7, 1, .0089101 SPCD, 101, 8, 1, .0080902 SPCD, 101, 9, 1, .0070711 SPCD, 101, 10, 1, .0058779 SPCD, 101, 11, 1, .0045399 SPCD, 101, 12, 1, .0030902 SPCD, 101, 13, 1, .0015644 SPCD, 101, 14, 1, 0.0 SPC1, 102, 123456, 1, 5, 6, 7, 8, +, 10, 11, 12, 13, 14 SPCADD, 103, 101, 102 $ $ $ "LOAD 2": ELLIPTICAL Y-COMPONENT VARIATION (10MM MAX. VALUE) SPCD, 104, 5, 2, .0015644 SPCD, 104, 6, 2, .0030902 SPCD, 104, 7, 2, .0045399 SPCD, 104, 8, 2, .0058779 SPCD, 104, 9, 2, .0070711 SPCD, 104, 10, 2, .0080902 SPCD, 104, 11, 2, .0089101 SPCD, 104, 12, 2, .0095106 SPCD, 104, 13, 2, .0098769 SPCD, 104, 14, 2, .01 SPC1, 105, 123456, 1, 5, 6, 7, 8, +, 10, 11, 12, 13, 14 SPCADD, 106, 104, 105 $

Note:

Main Index

9,

+

9,

+

The SPCD enforced displacement values correspond to an elliptical variation along the hole boundary with a maximum value of 0.01. The result of these load applications are shown in Figure 6-10 and Figure 6-11 (the deformations have been enlarged for clarity). These displacement vectors are used next to generate our shape basis vectors.

Chapter 6: Shape Optimization 375 Relating Design Variables to Shape Changes

Figure 6-10

Main Index

Displacement Vector 1

376 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

Figure 6-11

Displacement Vector 2

In the optimization run, we will DBLOCATE these displacement vectors and use this data to define our shape basis vectors. This data can be DBLOCATEd using the following FMS Section statements: assign f1 = ’plate33_aux.MASTER’ dblocate datablk=(ug/ugd,geom1/geom1d,geom2/geom2d), logical=f1

where plate33_aux.MASTER is the master DBset file corresponding to the auxiliary model analysis results shown in Figure 6-10 and Figure 6-11. Having input this information, we need to identify the design variables that are to act as multipliers of these basis vectors. This is done using the following DVSHAP Bulk Data entries: $DVSHAP,DVID, DVSHAP, 1, DVSHAP, 2,

COL1, 1, 2,

SF1, 1.0 1.0

COL2,

SF2,

...

The first entry defines Design Variable 1 (DVID = 1) as the multiplier of the first DBLOCATEd displacement vector (COL1 = 1) using the factor 1.0 (SF1) as the constant of multiplication. This process defines the first shape basis vector. A similar process on the second DVSHAP entry defines the next shape basis vector.

Main Index

Chapter 6: Shape Optimization 377 Relating Design Variables to Shape Changes

Note that we now have two basis vectors, one for each of the a and b elliptical variations of the hole boundary. As the optimizer changes x1 and x2, the grid locations are varied according to

 G  =

1.0u 1

  x 1 1.0u 2   x 2 

    

(6-9)

where u 1 is the first DBLOCATEd basis vector (note the 1.0 multiplying factor) and u 2 is the second. Geometric Boundary Shapes Rather than externally generating the shape basis vector data as in the previous approach, this method generates the vectors automatically, based on geometric data supplied on the boundaries. All of the data preparation and input appear in the optimization input file; there is no need for a prior auxiliary model analysis. In addition, with this method the shape basis vectors are updated on each design cycle as the shape changes. One problem with basis vectors that are not updated is that they may lead to ill-conditioned meshes for large shape changes. Updating this data on each design cycle minimizes (but not altogether eliminates) this difficulty. The geometric boundary shapes method begins with a definition of allowable variations over the boundaries. These variations can be described with a geometry-based preprocessor, or with Bulk Data alone. Either way, the boundaries are defined using BNDGRID entries, and the variations defined using DVGRID entries. The elliptical variations on the boundaries can be defined as follows:

Main Index

378 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

$ DEFINE DESIGN VARIABLES... DESVAR, 1, DELA, 1.0, -20., +20. DESVAR, 2, DELB, 1.0, -20., +20. $ $ ...AND RELATE THESE TO BOUNDARY VARIATIONS DEFINED USING DVGRIDS: $DVGRID,DVID, GRID, CID, COEFF, N1, N2, N3 $ $ BASIS VECTOR 1: DVGRID, 1, 1, , .01, 1.0, 0.0, 0.0 DVGRID, 1, 5, , .0098769,1.0, 0.0, 0.0 DVGRID, 1, 6, , .0095106,1.0, 0.0, 0.0 DVGRID, 1, 7, , .0089101,1.0, 0.0, 0.0 DVGRID, 1, 8, , .0080902,1.0, 0.0, 0.0 DVGRID, 1, 9, , .0070711,1.0, 0.0, 0.0 DVGRID, 1, 10, , .0058779,1.0, 0.0, 0.0 DVGRID, 1, 11, , .0045399,1.0, 0.0, 0.0 DVGRID, 1, 12, , .0030902,1.0, 0.0, 0.0 DVGRID, 1, 13, , .0015644,1.0, 0.0, 0.0 DVGRID, 1, 14, , .0, 1.0, 0.0, 0.0 $ $ $ BASIS VECTOR 2: DVGRID, 2, 1, , .0, 0.0, 1.0, 0.0 DVGRID, 2, 5, , .0015644,0.0, 1.0, 0.0 DVGRID, 2, 6, , .0030902,0.0, 1.0, 0.0 DVGRID, 2, 7, , .0045399,0.0, 1.0, 0.0 DVGRID, 2, 8, , .0058779,0.0, 1.0, 0.0 DVGRID, 2, 9, , .0070711,0.0, 1.0, 0.0 DVGRID, 2, 10, , .0080902,0.0, 1.0, 0.0 DVGRID, 2, 11, , .0089101,0.0, 1.0, 0.0 DVGRID, 2, 12, , .0095106,0.0, 1.0, 0.0 DVGRID, 2, 13, , .0098769,0.0, 1.0, 0.0 DVGRID, 2, 14, , .01, 0.0, 1.0, 0.0

The first set of DVGRID entries are related to Design Variable 1, DELA. Note that the coefficient magnitudes (COEFF) are the same as the SPCD magnitudes of the previous example. We observe that this set describes an elliptical shape variation in the x-direction (N1 = 1.0, N2 = N3 = 0.0), dependent on changes in Design Variable 1. The second set of DVGRID entries likewise describes an elliptical shape variation in the y-direction, which is dependent on changes in Design Variable 2. BNDGRID entries complete the shape boundary definition process and identify two categories of grid components: 1. Grid components that change according to data supplied on the DVGRID entries. 2. Grid components that remain fixed. The process is similar to the SPC, SPCD combination used to impose enforced displacements in static analysis. The DVGRID entry supplies the grid motion on the boundary, much like an SPCD enforced displacement. The boundary grids are identified using BNDGRID entries, much like an SPC entry that identifies the corresponding grids and their components.

Main Index

Chapter 6: Shape Optimization 379 Relating Design Variables to Shape Changes

$ $ BOUNDARY CONDITIONS FOR SPCD APPLICATION (PROVIDED VIA DVGRIDS) $ OUTER PLATE EDGES... BNDGRID,123456, 2, 15, 16, 17, 18, 3, 19, +, 20, 21, 22, 4 $ Y=0 PLANE... BNDGRID,23456, 23, 24, 25, 26 $ X=0 PLANE... BNDGRID,13456, 99, 100, 101, 102 $ CUTOUT EDGE... BNDGRID,123456, 1, 5, 6, 7, 8, 9, 10, +, 11, 12, 13, 14

+

+

The first BNDGRID entry identifies all grid components along the plate outer edges. Since no DVGRIDs have been furnished for these degrees-of-freedom, their displacements will be fixed to zero. For shape optimization, the plate outer edges will be invariant. The second BNDGRID entry identifies components 2 through 6 for those grids that lie on the x-axis. This allows the x-component to vary during shape optimization, consistent with the elliptical changes made to the cutout. All other components are considered fixed since no enforced shape changes for these degrees-of-freedom have been supplied on DVGRID entries. The third BNDGRID entry furnishes similar information as the previous entry, only with regard to shape changes along the y-axis. The last BNDGRID entry identifies components 1 through 6 for the cutout edge grids. Shape changes are enforced for components 1 and 2 since they have been provided on DVGRID entries. All other components are considered fixed. Note:

The boundary conditions defined by the DVGRID and BNDGRID entries are only used to generate shape basis vectors. They are not used in connection with the primary model analysis.

Once the free, fixed, and enforced portions of the shape changes have been defined, the code interpolates this information to all of the interior degrees-of-freedom. In this case, the resulting shape basis vectors are identical to those shown in Figure 6-10 and Figure 6-11. On subsequent iterations, the shape basis vectors may change slightly because the interpolated solutions over the interior of the structure will change due to the modified geometry. Recomputing the basis vectors at the beginning of each design cycle helps to minimize the problems associated with mesh distortion. Analytic Boundary Shapes This method also uses auxiliary models. Here, however, they are usually defined over the boundaries of the structure, although they can cover the whole structure i required. The so-called auxiliary boundary models can be an edge of BAR elements for a two-dimensional redesign or a skin of shell elements for a general, three-dimensional shape optimization task. Auxiliary boundary models are used to generate shape variations over the boundaries of the structure, providing a shortcut to the geometric boundary shapes method. You can define as many auxiliary boundary models as are necessary using any number and types of applied static loading to produce sets

Main Index

380 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

of desired boundary variations. The code interpolates these boundary changes to the structure’s interior, thus automatically generating the shape basis vectors. Each auxiliary boundary model requires its own Bulk Data Section. Each model can be loaded in any number of subcases to produce more than one shape basis vector per auxiliary boundary model. Load and boundary condition sets are selected using the auxiliary boundary model Case Control Sections. The following Bulk Data section provides the auxiliary boundary model definition for one plate example. This section must appear after the Bulk Data for the primary model.

Main Index

Chapter 6: Shape Optimization 381 Relating Design Variables to Shape Changes

BEGIN BULK AUXMODEL = 1 $ PARAM, PRGPST, NO $ $ auxillary model element definition (geometry from primary structure): $ CBAR, 101, 20, 1, 5, 0., 0., 1. CBAR, 102, 20, 5, 6, 0., 0., 1. CBAR, 103, 20, 6, 7, 0., 0., 1. CBAR, 104, 20, 7, 8, 0., 0., 1. CBAR, 105, 20, 8, 9, 0., 0., 1. CBAR, 106, 20, 9, 10, 0., 0., 1. CBAR, 107, 20, 10, 11, 0., 0., 1. CBAR, 108, 20, 11, 12, 0., 0., 1. CBAR, 109, 20, 12, 13, 0., 0., 1. CBAR, 110, 20, 13, 14, 0., 0., 1. PBAR, 20, 102, 1.0E-3, 1.0E-12,1.0E-12,1.0E-12 MAT1, 102, 7.2+10, , 0.33, 2.8015+3,1.0-2 $ $ boundary condition set I: PLOAD1, 160, 101, FX, FR, 0., 100., 1., 100. PLOAD1, 160, 102, FX, FR, 0., 100., 1., 100. PLOAD1, 160, 103, FX, FR, 0., 100., 1., 100. PLOAD1, 160, 104, FX, FR, 0., 100., 1., 100. PLOAD1, 160, 105, FX, FR, 0., 100., 1., 100. PLOAD1, 160, 106, FX, FR, 0., 100., 1., 100. PLOAD1, 160, 107, FX, FR, 0., 100., 1., 100. PLOAD1, 160, 108, FX, FR, 0., 100., 1., 100. PLOAD1, 160, 109, FX, FR, 0., 100., 1., 100. PLOAD1, 160, 110, FX, FR, 0., 100., 1., 100. $ $ boundary condition set II: PLOAD1, 161, 101, FY, FR, 0., 100., 1., 100. PLOAD1, 161, 102, FY, FR, 0., 100., 1., 100. PLOAD1, 161, 103, FY, FR, 0., 100., 1., 100. PLOAD1, 161, 104, FY, FR, 0., 100., 1., 100. PLOAD1, 161, 105, FY, FR, 0., 100., 1., 100. PLOAD1, 161, 106, FY, FR, 0., 100., 1., 100. PLOAD1, 161, 107, FY, FR, 0., 100., 1., 100. PLOAD1, 161, 108, FY, FR, 0., 100., 1., 100. PLOAD1, 161, 109, FY, FR, 0., 100., 1., 100. PLOAD1, 161, 110, FY, FR, 0., 100., 1., 100. $ $ temperature distribution: TEMP, 162, 1, 1., 5, 1., 6, 1. TEMP, 162, 7, 1., 8, 1., 9, 1. TEMP, 162, 10, 1., 11, 1., 12, 1. TEMP, 162, 13, 1., 14, 1. $ $ spc conditions for both load sets: SPC, 100, 1, 23456, 0.0 SPC, 100, 14, 13456, 0.0 SPC1, 100, 345, 5, 6, 7, 8, 9, 10, + +, 11, 12, 13 $ ENDDATA

A number of interesting things can be seen in this listing. First, the CBAR entries define the auxiliary boundary model elements as a ring of bar elements along the cutout. Note that GRID entries do not appear because grid data is shared with the primary structure, and additional grids need not be defined. (Of course, if extra grids are necessary, they can be added as required. If the location of the hole were to change, one might want to define another grid at the center to use as an attachment point for rigid elements.)

Main Index

382 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

Two sets of loads are applied. One will result in an elliptical-type variation in the x-direction, and the other a similar displacement in the y-direction. Uniform loading with PLOAD1’s and a uniform temperature load have been used to generate these boundary deformations. The loading and boundary condition sets are selected in the auxiliary boundary model Case Control Section, which follows the Case Control for the primary model: $ AUXILIARY MODEL CASE CONTROL: AUXCASE AUXMODEL = 1 SUBCASE 10 SUBTITLE = AUXILIARY MODEL 1, LOAD CASE 10 SPC = 100 LOAD = 160 TEMP(LOAD) = 162 DISPLACEMENT = ALL SUBCASE 20 SUBTITLE = AUXILIARY MODEL 1, LOAD CASE 20 SPC = 100 LOAD = 161 TEMP(LOAD) = 162 DISPLACEMENT = ALL BEGIN BULK

The keyword AUXCASE identifies the beginning of the auxiliary model Case Control Sections. In this example, a single auxiliary boundary model (AUXMODEL = 1) is used to generate two basis vectors in subcases 10 and 20. The resultant boundary displacements are shown in Figure 6-12 and Figure 6-13.

Figure 6-12

Main Index

Boundary Displacement Set 1

Chapter 6: Shape Optimization 383 Relating Design Variables to Shape Changes

Figure 6-13

Boundary Displacement Set 2

Once these boundary displacements have been computed, the code interpolates these displacements to the interior grids. Once again, BNDGRID entries define the degrees-of-freedom along the boundaries that are allowed to change and those degrees-of-freedom that are to remain fixed. $ $ boundary conditions for basis $ outer plate edges... BNDGRID,123456, 2, 15, +, 20, 21, 22, $ x=0 plane... BNDGRID,23456, 23, 24, $ y=0 plane... BNDGRID,13456, 99, 100, $ cutout edge... BNDGRID,123456, 1, 5, +, 11, 12, 13,

vector generation: 16, 4

17,

25,

26

101,

102

6, 14

7,

18,

3,

19,

+

8,

9,

10,

+

You will recognize these as being the same set of boundary conditions as were used in the geometric shapes method. The auxiliary boundary model solutions, combined with the BNDGRID boundary data, supply sufficient information to the code to use in interpolating these shape changes to the interior of the

Main Index

384 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

structure. The result is a family of shape basis vectors. Finally, the designer ties these basis vectors to changes in the set of design variables using the DVBSHAP entries: $DVBSHAP,DVID, DVBSHAP,1, DVBSHAP,2,

AUXMID, COL1, 1, 1, 1, 2,

SF1, 1.0 1.0

...

Each entry associates a Design Variable with a basis vector resulting from a particular auxiliary boundary model (AUXMID). The column number (COL) indicates the auxiliary model displacement solution number. In this example, design variable 1 is the multiplier (with a 1.0 multiple) of the shape basis vector resulting from a solution of auxiliary boundary model 1 (AUXMID = 1). But recall that this model has two subcases: 10 and 20. The COL field on the entry reconciles this. COL1 = 1 implies the first solution from subcase 10. COL1 = 2 implies the second solution from subcase 20. Similarly, design variable 2 is the second basis vector multiplier computed from the second solution (subcase 20) of auxiliary boundary model 1 (AUXMID = 1). The resultant reduced basis formulation could be written as:

 G  =

1.0U AUXMID

= 1 SUBCASE = 10

1.0U

AUXMID = 1 SUBCASE = 20

  x 1   x 2 

    

(6-10)

where each column is a displacement solution of the auxiliary model. Each column is the same size as  G  . The subscripts on displacement solutions indicate the source of the applied boundary displacements. The first shape basis vector is derived from the first auxiliary boundary model subcase, while the second shape basis vector is derived from the second auxiliary model subcase.

Use of Patran to generate a Shape Optimization deck Patran has a Shape Optimization Utility which may be used for generating design variables, basis vectors and DVGRID entries relating the basis vectors to the design variables. This feature is illustrated with the help of an example. Model 1 - Plate with hole This model is of a square plate with a reinforced hole in the middle. We want to vary the radius of the hole and of the stiffened section. Also the thickness of these plates can also be varied. The objective is to minimize mass and there are constraints on stress.

Main Index

Chapter 6: Shape Optimization 385 Relating Design Variables to Shape Changes

Figure 6-14

Plate with Hole

The plate is 10 units square. The starting hole diameter is 4 units with a stiffened area out to 6 units diameter. Procedure

1. Create the model in Patran and create model variables for both pshell thicknesses using the standard Patran tool. a. Go to Tools -> Design Study -> Pre Process

Main Index

386 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

Figure 6-15

Pre-process in Patran

b. Select Action-> Create, Object-> Design Variable, Type-> Property. Select Dimension->2D and Type->Shell. Select desired property from Select Property Set. Set Input Bounds at Lower/Upper and Value. Fill Variable Name, Analysis Model Value, and Lower (L) and Upper (U) bounds for the designed thickness.

Main Index

Chapter 6: Shape Optimization 387 Relating Design Variables to Shape Changes

Figure 6-16

Creating Design Variables

2. Create fields describing the changes in radius. These fields should reduce in magnitude to zero at a radius away from the hole. (creating a zone of influence outside of which grid points are unaffected) Use Field names Inner_D and Outer_D. Each field is a vector PCL field defined using the cylindrical coordinate system 1. These fields must be of type vector to tell Nastran which direction to move the grid points. Only the R component is defined in the field. a. Inner_D=((4-'R)+abs(4-'R))/4 b. Outer_D=((4.5-'R)+abs(4.5-'R))/4

Main Index

388 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

Figure 6-17

Creating Fields

3. Open the Shape utility form. Click Utilities->Analysis->Calculate Shape Basis Vectors

Main Index

Chapter 6: Shape Optimization 389 Relating Design Variables to Shape Changes

Figure 6-18

Shape utility form

a. Select both fields b. Select all grid points other than those on the boundary and add to the select box c. Select "normalize maximum vector" and put 0.5 in the normalized value box to allow 0.5" maximum grid movement. d. Select "offset Desvar ID number" and put 2 in the box e. Select "apply"

Main Index

390 Design Sensitivity and Optimization User’s Guide Relating Design Variables to Shape Changes

Figure 6-19

Basis vector creation

This will create a file called dbname.bv.nn where dbname is the name of your Patran database and nn is a unique number. The file includes all the relevent desvar and dvgrid entries for the shape optimization. There is also a line added in the direct text input for the current job: include 'dbname.bv.nn' This effectively inserts the basis vector into the analysis.

Main Index

Chapter 6: Shape Optimization 391 Examples

Examples Shape Optimization of a Culvert This example considers shape optimization using the direct input of shapes method. In order to use this method, sets of displacement vectors are first generated using a separate auxiliary model analysis. These displacement vectors are then DBLOCATEd in a subsequent design optimization run and used to generate a set of shape basis vectors. The optimizer then seeks to find the best combination of these shape basis vectors. Problem Description Figure 6-20 shows the finite element model of one half of a symmetric culvert structure (symmetry exists

with respect to the y-axis.) The structure is made of steel, and has been modeled using CQUAD4 elements in plane strain. This example has been taken from “Shape Optimal Design Using Isoparametric Elements” (see Reference 1.).

Figure 6-20

Initial Culvert Design

With the bottom surface fixed, pressure loads are applied on the top surface. The design task is to minimize the volume of the structure by changing the shape of the initially circular hole, subject to von Mises stress constraints over the interior. Modeling Considerations The process of shape basis vector generation is closely associated with the nature of the design problem itself. For example, since the goal here is weight minimization, the shape basis vectors must clearly be able to reduce the volume of the structure. Were they to simply redistribute material, the weight would not change and the optimizer would be able to make little progress.

Main Index

392 Design Sensitivity and Optimization User’s Guide Examples

Furthermore, since the redesign is subject to von Mises stresses, we can use the initial stress distribution to help us in the selection of appropriate basis vectors. This is also shown in Figure 6-20. Here we note that the maximum von Mises stresses occur around the lower portion of the circular hole. The stresses are not equally distributed either. This tells us that a circular boundary does not provide the optimal design. Thus, our shape basis vectors must contain other than just radial components. We also need to decide how many design variables (or shape basis vectors) are needed. The decision is not unique because the selection can be affected by experience, various functional and manufacturing requirements, or aesthetic requirements. However, the shape basis vectors should yield as much generality as possible, consistent with our design goals. Creation of Auxiliary Model, and Generation of Basis Vectors The top left frame in Figure 6-21 shows the auxiliary model geometry. Note that it has the same geometry as the primary structure (Figure 6-20), but with different boundary and loading conditions. The input data file for this model is given in Listing 6-1.

Figure 6-21

Auxiliary Model

Outside edges of the culvert are fixed in the auxiliary model to satisfy straight edge requirements. Grid points 1, 2, 3 on the bottom are allowed to move in the x-direction and grid points 13, 20, 27 on the symmetry line can move along the y-direction. Grids 5, 9, 14, 15, and 16 on the hole boundary are allowed to move as well. Along this hole boundary, six CBAR elements have been added to help smooth the applied loading effects. (It is important to allow z-rotations along this boundary.)

Main Index

Chapter 6: Shape Optimization 393 Examples

To generate a set of displacements to be used as basis vectors, we can statically load each grid in a direction normal to the boundary as shown in Figure 6-21. Note from Listing 6-1 that this can be performed in Solution 101 (or in Solution 200, with OPTEXIT = 2). This will result in seven displacement vectors, one corresponding to each load case. Three of these vectors are also shown in Figure 6-21. To view shape basis vectors, import the model and results of external auxiliary model and click Result to obtain the Results form and select the options as shown in Figure 6-22.

Figure 6-22

Visualizing Shape Basis Vector

The first with a load applied at grid 13, the second at grid 16, and the third at grid 1. The database is saved through the use of the SCR=NO or SCR=MINI keyword when submitting the auxiliary model job. Listing 6-1

Auxiliary Model for the DSOUG5 Example (File DSOUG5A)

ID MSC, DSOUG5A $ $ This is the external auxiliary model file for the shape $ optimization of a culvert example. This deck must be $ run first and the results saved to the datbase before the $ culvert example, dsoug5.dat, is run. TIME 10 SOL 101 CEND TITLE=Culvert Example Using External Auxiliary Model

Main Index

DSOUG5

394 Design Sensitivity and Optimization User’s Guide Examples

SUBTITLE=The External Auxiliary Model SPC=25 $ $ seven load cases $ SUBCASE 1 LOAD=100 DISP=ALL SUBCASE 2 LOAD=101 DISP=ALL SUBCASE 3 LOAD=102 DISP=ALL SUBCASE 4 LOAD=103 DISP=ALL SUBCASE 5 LOAD=104 DISP=ALL SUBCASE 6 LOAD=105 DISP=ALL SUBCASE 7 LOAD=106 DISP=ALL BEGIN BULK PARAM,POST,0 param,newseq,-1 $ $ The same GRID and CQUAD4 entries as the primary structure $ GRID, 1,, 3.00000, 0.00000,.00 GRID, 2,, 4.00000, 0.00000,.00 GRID, 3,, 5.00000, 0.00000,.00 ...... ...... (see optimization input files) ...... ...... GRID, 39,, 2.50000, 5.19600,.00 GRID, 40,, 3.00000, 5.19600,.00 CQUAD4, 1,101, 1, 2, 6, 5 CQUAD4, 2,101, 2, 3, 7, 6 CQUAD4, 3,101, 3, 4, 8, 7 ...... ...... (see optimization input files) ...... ...... CQUAD4, 25,101, 30, 31, 38, 37 CQUAD4, 26,101, 31, 32, 39, 38 CQUAD4, 27,101, 32, 33, 40, 39 PSHELL,101,102,.44 MAT1,102,2.+7,,.3 $ $ Additional CBAR elements maintain smoothness of the circular boundary $ CBAR,31,1,13,14,,1.0 CBAR,32,1,14,15,,1.0 CBAR,33,1,15,16,,1.0 CBAR,34,1,16, 9,,1.0 CBAR,35,1, 9, 5,,1.0 CBAR,36,1,5 , 1,,1.0 PBAR 1 102 20.0 1.0 1.0 $ $ Seven load cases $

Main Index

Chapter 6: Shape Optimization 395 Examples

FORCE,100,13,0,1.e5,0.,1.,0. FORCE,101,14,0,1.e5,0.259,.9659 FORCE,102,15,0,1.e5,0.5,0.866,0.0 FORCE,103,16,0,1.e5,1.,1.,0. FORCE,104,9,0,1.e5,0.866,0.5,0.0 FORCE,105,5,0,1.e5,0.9659,0.259 FORCE,106,1,0,1.e5,1.,0.,0. $ $ Boundary conditions satisfy functional and manufacturing requirements $ SPC1,25,345,1,THRU,40 SPC1,25,6,2,THRU,4 SPC1,25,6,6,THRU,8 SPC1,25,6,10,THRU,12 SPC1,25,6,17,THRU,19 SPC1,25,6,20,THRU,26 SPC1,25,6,27,THRU,33 SPC1,25,6,34,THRU,40 SPC1,25,12,33,THRU,40 SPC1,25,12,4,8,12,19,26 SPC1,25,1,13,20,27 SPC1,25,2,1,2,3 ENDDATA

Design Optimization Input In the optimization run, the displacement matrix containing the seven displacement vectors from the Auxiliary Model analysis is retrieved using the DBLOCATE statement. The optimization input file is shown in Listing 6-2. Listing 6-2

Input File for DSOUG5

$ DSOUG5.DAT $ This is the input deck for the shape optimization of a culvert $ example. It DBLOCATE's data from a prior auxiliary model run, $ file DSOUG5A.DAT. That job must be run first and the results $ saved to the database before this one is run. $ $ FMS section for retrieving the auxiliary displacement matrix $ For Linux/Unix platforms, the MASTER file name must be lower case. $ ASSIGN F1_AUX='dsoug5a.MASTER' dblocate datablk=(ug/ugd,geom1/geom1d,geom2/geom2d) , logical=f1_aux ID MSC, DSOUG5 $ SOL 200 $ TIME 100 CEND TITLE=CULVERT EXAMPLE USING EXTERNAL AUXILIARY STRUCTURE DSOUG5 SUBTITLE=THE PRIMARY STRUCTURE ANALYSIS = STATICS SPC=25 LOAD=1 DISP=ALL STRESS=all DESSUB = 10 desobj = 5 BEGIN BULK PARAM,POST,-1 param,cdif,no PARAM,NEWSEQ,-1 GRID, 1,, 3.00000, 0.00000,.00 GRID, 2,, 4.00000, 0.00000,.00 GRID, 3,, 5.00000, 0.00000,.00 GRID, 4,, 6.00000, 0.00000,.00

Main Index

396 Design Sensitivity and Optimization User’s Guide Examples

GRID, 5,, 2.89464, GRID, 6,, 3.79369, GRID, 7,, 4.69274, GRID, 8,, 5.59178, GRID, 9,, 2.60164, GRID, 10,, 3.46229, GRID, 11,, 4.32293, GRID, 12,, 5.18357, GRID, 13,, 0.00000, GRID, 14,, 0.78478, GRID, 15,, 1.49178, GRID, 16,, 2.12100, GRID, 17,, 3.00578, GRID, 18,, 3.89057, GRID, 19,, 4.77535, GRID, 20,, 0.00000, GRID, 21,, 0.68985, GRID, 22,, 1.32785, GRID, 23,, 1.91400, GRID, 24,, 2.67052, GRID, 25,, 3.42704, GRID, 26,, 4.18357, GRID, 27,, 0.00000, GRID, 28,, 0.59493, GRID, 29,, 1.16393, GRID, 30,, 1.70700, GRID, 31,, 2.33526, GRID, 32,, 2.96352, GRID, 33,, 3.59178, GRID, 34,, 0.00000, GRID, 35,, 0.50000, GRID, 36,, 1.00000, GRID, 37,, 1.50000, GRID, 38,, 2.00000, GRID, 39,, 2.50000, GRID, 40,, 3.00000, CQUAD4, 1,101, CQUAD4, 2,101, CQUAD4, 3,101, CQUAD4, 4,101, CQUAD4, 5,101, CQUAD4, 6,101, CQUAD4, 7,101, CQUAD4, 8,101, CQUAD4, 9,101, CQUAD4, 10,101, CQUAD4, 11,101, CQUAD4, 12,101, CQUAD4, 13,101, CQUAD4, 14,101, CQUAD4, 15,101, CQUAD4, 16,101, CQUAD4, 17,101, CQUAD4, 18,101, CQUAD4, 19,101, CQUAD4, 20,101, CQUAD4, 21,101, CQUAD4, 22,101, CQUAD4, 23,101, CQUAD4, 24,101, CQUAD4, 25,101, CQUAD4, 26,101, CQUAD4, 27,101, FORCE 1 34 FORCE 1 35 FORCE 1 36 FORCE 1 37 FORCE 1 38

Main Index

0.78478,.00 0.75885,.00 0.73293,.00 0.70700,.00 1.49178,.00 1.46585,.00 1.43993,.00 1.41400,.00 3.00000,.00 2.89464,.00 2.60164,.00 2.12100,.00 2.12100,.00 2.12100,.00 2.12100,.00 3.73200,.00 3.66176,.00 3.46643,.00 3.14600,.00 3.14600,.00 3.14600,.00 3.14600,.00 4.46400,.00 4.42888,.00 4.33122,.00 4.17100,.00 4.17100,.00 4.17100,.00 4.17100,.00 5.19600,.00 5.19600,.00 5.19600,.00 5.19600,.00 5.19600,.00 5.19600,.00 5.19600,.00 1, 2, 2, 3, 3, 4, 5, 6, 6, 7, 7, 8, 9, 10, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 20, 21, 21, 22, 22, 23, 27, 28, 28, 29, 29, 30, 16, 17, 17, 18, 18, 19, 23, 24, 24, 25, 25, 26, 30, 31, 31, 32, 32, 33, 0 0 0 0 0

6, 7, 8, 10, 11, 12, 17, 18, 19, 21, 22, 23, 28, 29, 30, 35, 36, 37, 24, 25, 26, 31, 32, 33, 38, 39, 40, 1250. 2500. 2500. 2500. 2500.

5 6 7 9 10 11 16 17 18 20 21 22 27 28 29 34 35 36 23 24 25 30 31 32 37 38 39

-1. -1. -1. -1. -1.

Chapter 6: Shape Optimization 397 Examples

FORCE 1 39 0 2500.00 -1. FORCE 1 40 0 1250. -1. PSHELL,101,102,.44 MAT1,102,2.+7,,.3,0.731-3 SPC1,25,3456,1,THRU,40 SPC1,25,12,1,THRU,4 SPC1,25,1,13,20,27,34 $ $ design model $ desvar 1 b1 3. -1.e6 1.e6 .25 desvar 2 b2 3. -1.e6 1.e6 .25 desvar 3 b3 3. -1.e6 1.e6 .25 desvar 4 b4 3. -1.e6 1.e6 .25 desvar 5 b5 3. -1.e6 1.e6 .25 desvar 6 b6 3. -1.e6 1.e6 .25 desvar 7 b7 3. -1.e6 1.e6 .25 $ $ A DVSHAP entry defines a shape basis vector by associating one design $ variable to a dblocated displacement vector. $ dvshap 1 1 66.773 dvshap 2 2 117.35 dvshap 3 3 216.33 dvshap 4 4 443.55 dvshap 5 5 220.89 dvshap 6 6 115.69 dvshap 7 7 65.669 dresp1 5 volume volume dresp1 2 von-mis stress pshell 9 101 DCONSTR 10 2 3.100e4 doptprm DESMAX 25 APRCOD 1 param,nasprt,1 ENDDATA

Since each shape basis vector is defined in terms of a single displacement vector, seven DESVAR and DVSHAP entries are used to define seven shape basis vectors. The seven DVSHAP entry scaling factors have been selected such that the maximum component of each shape basis vector is unity. For example, DVSHAP entry number 1 identifies the first shape basis vector in terms of the first DBLOCATE'd displacement vector (1 in field 3). The 1 in field 2 indicates that design variable number 1 is to be the multiplier of this vector. Furthermore, since the maximum component of this vector is 1.0/66.773 (as determined from a manual inspection of the data), the scaling factor has been given as 66.773, effectively unit normalizing the vector. Each design variable acts as a multiplying coefficient of a shape basis vector. Initial values are somewhat arbitrary and have been selected as 3.0 here. However, when combined with 20% allowable move limits (0.2 in field 7 of the DESVAR entries), it can be seen that part of the reason for the choice is that these initial values provide for reasonable move limits on the initial design. Lower and upper limits of -1.0E6 and +1.0E6 indicate that the design variables are to be considered effectively unbounded during optimization. Figure 6-24 shows a representation of the shapes at the end of design cycles 1, 2, 3 and 5 represented as deformation relative to the original grid.

To post process the shape change at the end of a chosen design cycle, import the model and results of the primary model and click Result to obtain the Results form and select the options as shown in Figure 6-23.

Main Index

398 Design Sensitivity and Optimization User’s Guide Examples

Figure 6-23

Visualizing Shape Change after each Design Cycle

Viewing these in Patran can provide guidance in the qualitative behavior of the shape changes as a function of design cycle.

Main Index

Chapter 6: Shape Optimization 399 Examples

Figure 6-24

Designed Shapes for the Culvert as a Function of Design Cycle

Listing 6-3 shows that the optimization task was completed in five design cycles and that the volume was

decreased from 7.215 to 5.853, a decrease of 18.9% in volume (and weight) while still satisfying the stress limits.

Main Index

400 Design Sensitivity and Optimization User’s Guide Examples

Listing 6-3

Design History Output for DSOUG5

*************************************************************** S U M M A R Y O F D E S I G N C Y C L E H I S T O R Y *************************************************************** (HARD CONVERGENCE ACHIEVED) NUMBER OF FINITE ELEMENT ANALYSES COMPLETED NUMBER OF OPTIMIZATIONS W.R.T. APPROXIMATE MODELS

6 5

OBJECTIVE AND MAXIMUM CONSTRAINT HISTORY --------------------------------------------------------------------------------------------------------------OBJECTIVE FROM OBJECTIVE FROM FRACTIONAL ERROR MAXIMUM VALUE CYCLE APPROXIMATE EXACT OF OF NUMBER OPTIMIZATION ANALYSIS APPROXIMATION CONSTRAINT --------------------------------------------------------------------------------------------------------------INITIAL

7.214704E+00

-1.021607E-01

1

6.714619E+00

6.694779E+00

2.963468E-03

1.423551E-02

2

6.156898E+00

6.163190E+00

-1.020956E-03

-1.690115E-02

3

5.842054E+00

5.839865E+00

3.747831E-04

1.827577E-02

4

5.857889E+00

5.857942E+00

-9.035413E-06

1.642956E-03

5 5.852680E+00 5.852699E+00 -3.258921E-06 2.008821E-03 --------------------------------------------------------------------------------------------------------------1 CULVERT EXAMPLE USING EXTERNAL AUXILIARY STRUCTURE DSOUG5 SEPTEMBER 14, 2001 MSC NASTRAN 4/ 9/01 PAGE 95 THE PRIMARY STRUCTURE 0 DESIGN VARIABLE HISTORY ----------------------------------------------------------------------------------------------------------------INTERNAL|EXTERNAL | | DV. ID. | DV. ID. | LABEL | INITIAL : 1 : 2 : 3 : 4 : 5 : ----------------------------------------------------------------------------------------------------------------1 | 1 | B1 | 3.0000E+00 : 3.7500E+00 : 4.6875E+00 : 4.5473E+00 : 3.7210E+00 : 2.7907E+00 : 2 | 2 | B2 | 3.0000E+00 : 3.7500E+00 : 4.6875E+00 : 4.8695E+00 : 6.0869E+00 : 7.3548E+00 : 3 | 3 | B3 | 3.0000E+00 : 3.7466E+00 : 4.6833E+00 : 5.4171E+00 : 4.7637E+00 : 4.2786E+00 : 4 | 4 | B4 | 3.0000E+00 : 2.9473E+00 : 2.8163E+00 : 3.0271E+00 : 3.0831E+00 : 3.0930E+00 : 5 | 5 | B5 | 3.0000E+00 : 3.7500E+00 : 4.2426E+00 : 3.5757E+00 : 3.6450E+00 : 3.8176E+00 : 6 | 6 | B6 | 3.0000E+00 : 3.7500E+00 : 4.6870E+00 : 5.3197E+00 : 5.2333E+00 : 4.9588E+00 : 7 | 7 | B7 | 3.0000E+00 : 3.7500E+00 : 4.6875E+00 : 5.8594E+00 : 5.7831E+00 : 5.9582E+00 : *** USER INFORMATION MESSAGE 6464 (DOM12E) RUN TERMINATED DUE TO HARD CONVERGENCE TO AN OPTIMUM AT CYCLE NUMBER =

5.

The final shape is plotted in the left half of Figure 6-25 while the final stress contour is plotted in the right half of the same figure.

Main Index

Chapter 6: Shape Optimization 401 Examples

Figure 6-25

Final Culvert Design

Analytic Boundary Shapes This example illustrates the use of the analytic boundary shapes method in shape optimal design. In this method, the entire modeling task can be written using the MSC Nastran input file alone, without the need for a modeling pre- and postprocessor. Analytic Boundary Shapes includes a checklist for setting up the design model using this method. You may want to refer to that section in connection with this example. To use this method, you need to define auxiliary models over the boundaries of the structure. When constrained and loaded, these boundary models produce static deformations that can be used to describe shape variations over the boundaries. The code then interpolates this information to the interior grids, resulting in basis vectors for shape optimization. A static analysis is used for this interpolation. Problem Description Figure 6-26 shows the initial structure. It is a simple cantilever, modeled with eighty solid elements, fixed at the support and tip-loaded at the free end. The design goal is to minimize the structure's weight subject to constraints that the element von Mises stresses must be less than 200. We'll investigate minimizing the weight by tapering the cantilever's shape. The initial stress distribution is shown in

Main Index

402 Design Sensitivity and Optimization User’s Guide Examples

Figure 6-27. The maximum stress is 183. and that there are large regions where the stress is considerably less than the 200. limit.

Figure 6-26

Main Index

Solid Cantilever

Chapter 6: Shape Optimization 403 Examples

Figure 6-27

Solid Cantilever -- Initial Stress Distribution

Since the cantilever is oriented and loaded in an x-z plane, removing material from the upper and lower surfaces is an effective way to reduce the weight, tapering the cantilever from its root to its tip. Basis vectors describing this characteristic shape can be easily generated using the analytic boundary shapes method. In this Boundary Shape Changes Using Auxiliary Boundary Models Figure 6-28 shows the auxiliary boundary models that can be used to generate these shapes. These

disjoint models, one for the upper surface and one for the lower, are built using QUAD4 elements.

Main Index

404 Design Sensitivity and Optimization User’s Guide Examples

Z Y X Figure 6-28

Auxiliary Boundary Models

In the example, a total of six boundary shapes are computed using the auxiliary model: • Unit enforced displacements are imposed at the root and the tip of the top plate, resulting in a

uniform variation along the top surface. • A unit displacement is enforced at the tip of the top plate while the root is constrained in

translation but allowed to rotate about the y-axis. This produces a shape that is linear along the top surface. • An enforced is applied at the tip while the root is fully constrained to produce a cubic

displacement along the top surface. Note that a quadratic displacement could be produced by applying a moment at the tip of the plate. This is left as an exercise for the reader. • The remaining three shapes are produced by imposing similar conditions on the bottom surface

while holding the top surface fixed. Listing 6-4 is an abbreviated input file for the combined analysis and optimization of the primary structure, and the auxiliary boundary model specification. The complete file can be found in the Test Problem Library as DSOUG6.DAT. The primary model definition is for static analysis and is conversional, so its description is omitted here. The design model portion of the primary structure will be described shortly.

Main Index

Chapter 6: Shape Optimization 405 Examples

Listing 6-4

Selected Portions of Input File DSOUG6

ID MSC, DSOUG6 $ TIME 600 $ SOL 200 $ CEND TITLE = CANTILEVERED BEAM - HEXA **** DSOUG6 **** SUBTITLE = SHAPE OPTIMIZATION WITH ANALYTIC BOUNDARY SHAPES DESOBJ = 15 DESSUB = 100 SUBCASE 100 ANALYSIS = STATICS SPC = 1 LOAD = 1 DISPLACEMENT(plot) = ALL stress(plot,corner) = all AUXCASE TITLE = AUXILIARY MODEL 1 AUXMODEL = 1 DISP(plot) = all SUBCASE 200 SPC = 200 LOAD = 220 LABEL = LOWER - CONSTANT SUBCASE 300 SPC = 300 LOAD = 330 LABEL = UPPER - CONSTANT SUBCASE 400 SPC = 400 LOAD = 440 LABEL = LOWER - LINEAR SUBCASE 500 SPC = 500 LOAD = 550 LABEL = UPPER -LINEAR SUBCASE 600 SPC = 600 LOAD = 660 LABEL = LOWER - FLEXIBLE SUBCASE 700 SPC = 700 LOAD = 770 LABEL = UPPER - FLEXIBLE BEGIN BULK $ $-----------------------------------------------------------------------$ ANALYSIS MODEL: $-----------------------------------------------------------------------$ PARAM AUTOSPC YES PARAM POST -1 PARAM GRDPNT 0 PARAM MAXRATIO1.0E+8 $ GRID 1 0 0.0 0.0 0.0 0 GRID 2 0 1.0 0.0 0.0 0 GRID 3 0 2.0 0.0 0.0 0 GRID 4 0 3.000 0.0 0.0 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . GRID 162 0 7.0 2.000 4.000 0 GRID 163 0 8.0 2.000 4.000 0

Main Index

406 Design Sensitivity and Optimization User’s Guide Examples

GRID 164 0 9.000 2.000 4.000 0 GRID 165 0 10.000 2.000 4.000 0 $GRDSET 456 CHEXA 1 1 1 2 13 12 34 35+EA +EA 1 46 45 CHEXA 2 1 2 3 14 13 35 36+EA +EA 2 47 46 ........... ........... ........... CHEXA 80 1 120 121 132 131 153 154+EA +EA 80 165 164 MAT1* 1 2.0680E+05 0.28999999166+MA *MA 1 1.00000000 1.169999996E-05 +MB *MB 1 1500000.00 1500000.00 68000.00 +MC *MC 1 PSOLID 1 1 0 0 0 0 SPC 1 1 123456 0.0 SPC 1 12 123456 0.0 SPC 1 23 123456 0.0 SPC 1 34 123456 0.0 SPC 1 45 123456 0.0 SPC 1 56 123456 0.0 SPC 1 67 123456 0.0 SPC 1 78 123456 0.0 SPC 1 89 123456 0.0 SPC 1 100 123456 0.0 SPC 1 111 123456 0.0 SPC 1 122 123456 0.0 SPC 1 133 123456 0.0 SPC 1 144 123456 0.0 SPC 1 155 123456 0.0 SPC1 1 456 1 THRU 165 FORCE 1 143 0 0.5 0.0 0.0 -50.0 FORCE 1 154 0 1.0 0.0 0.0 -50.0 FORCE 1 165 0 0.5 0.0 0.0 -50.0 $ $-----------------------------------------------------------------------$ DESIGN MODEL: $-----------------------------------------------------------------------$ PARAM,DESPCH,1 PARAM,NASPRT,1 $ $DESVAR,ID, LABEL, XINIT, XLB, XUB, DELXV DESVAR 1 UPPERC 1.0 .00 7.00 0.1 DESVAR 2 LOWERC 1.0 .00 7.00 0.1 DESVAR 3 UPPERL 1.0 .00 7.00 0.1 DESVAR 4 LOWERL 1.0 .00 7.00 0.1 DESVAR 5 UPPERF 1.0 .00 7.00 0.1 DESVAR 6 LOWERF 1.0 .00 7.00 0.1 $ $DVBSHAP,DVID, AUXMID, COL1, SF1, COL2, SF2, ... DVBSHAP 1 1 1 1.0 DVBSHAP 2 1 2 1.0 DVBSHAP 3 1 3 1.0 DVBSHAP 4 1 4 1.0 DVBSHAP 5 1 5 1.0 DVBSHAP 6 1 6 1.0 $ $DLINK, ID, DDVID, CO, CMULT, IDV1, C1, IDV2, C2, + $+, IDV3, C3, ... $LINK 1 2 1.0 1 1.0 $ $ BOUNDARY CONDITIONS FOR SHAPE INTERPOLATIONS: $ $ ---TOP SURFACE: $BNDGRID,C, GP1, GP2, GP3, GP4, GP5, GP6, GP7, +

Main Index

1 2

80 1 1 1

Chapter 6: Shape Optimization 407 Examples

$+, GP8, ... BNDGRID 123 133 THRU 165 $ $ ---BOTTOM SURFACE: BNDGRID 123 1 THRU 33 $ $ ---EXTERIOR SURFACES - INTERPOLATION IN X&Z DIRECTION ONLY: BNDGRID 2 34 35 36 37 38 39 40 41 42 43 44 BNDGRID 2 56 57 58 59 60 61 62 63 64 65 66 BNDGRID 2 67 68 69 70 71 72 73 74 75 76 77 BNDGRID 2 89 90 91 92 93 94 95 96 97 98 99 BNDGRID 2 100 101 102 103 104 105 106 107 108 109 110 BNDGRID 2 122 123 124 125 126 127 128 129 130 131 132 $ $ ---TIP END: BNDGRID 1 44 55 66 77 88 99 110 121 132 $ $ ---FIXED END: BNDGRID 1 34 45 56 67 78 89 100 111 122 $ $ FORMULATE WEIGHT-BASED SYNTHETIC RESPONSE: F = 1.E5*W DRESP1 1 WEIGHT WEIGHT DRESP2 15 WE1000 1 + DRESP1 1 DEQATN 1 F(A)=100000.*A $ $ CONSTRAINTS ON VON MISES STRESSES: DRESP1 2 STRESS STRESS PSOLID 13 1 DRESP1 3 STRESS STRESS PSOLID 34 1 DRESP1 4 STRESS STRESS PSOLID 55 1 DRESP1 5 STRESS STRESS PSOLID 76 1 DRESP1 6 STRESS STRESS PSOLID 97 1 DRESP1 7 STRESS STRESS PSOLID 118 1 DRESP1 8 STRESS STRESS PSOLID 139 1 DRESP1 9 STRESS STRESS PSOLID 160 1 DRESP1 10 STRESS STRESS PSOLID 181 1 DCONSTR 100 2 200. DCONSTR 100 3 200. DCONSTR 100 4 200. DCONSTR 100 5 200. DCONSTR 100 6 200. DCONSTR 100 7 200. DCONSTR 100 8 200. DCONSTR 100 9 200. DCONSTR 100 10 200. $ $ OVERRIDE OF OPTIMIZATION PARAMETERS DOPTPRM DESMAX 20 P1 1 P2 15METHOD3 $ $-----------------------------------------------------------------------$ AUXILIARY BOUNDARY MODEL(S): $-----------------------------------------------------------------------$ BEGIN BULK AUXMODEL=1 PARAM,PRGPST,NO PARAM MAXRATIO1.0E+8 PARAM,AUTOSPC,YES $ $ LOWER SURFACE: CQUAD4 1000 2 1 2 13 12 0.0

Main Index

408 Design Sensitivity and Optimization User’s Guide Examples

CQUAD4 1001 2 2 3 14 13 0.0 CQUAD4 1002 2 3 4 15 14 0.0 CQUAD4 1003 2 4 5 16 15 0.0 CQUAD4 1004 2 5 6 17 16 0.0 CQUAD4 1005 2 6 7 18 17 0.0 CQUAD4 1006 2 7 8 19 18 0.0 CQUAD4 1007 2 8 9 20 19 0.0 CQUAD4 1008 2 9 10 21 20 0.0 CQUAD4 1009 2 10 11 22 21 0.0 CQUAD4 1010 2 12 13 24 23 0.0 CQUAD4 1011 2 13 14 25 24 0.0 CQUAD4 1012 2 14 15 26 25 0.0 CQUAD4 1013 2 15 16 27 26 0.0 CQUAD4 1014 2 16 17 28 27 0.0 CQUAD4 1015 2 17 18 29 28 0.0 CQUAD4 1016 2 18 19 30 29 0.0 CQUAD4 1017 2 19 20 31 30 0.0 CQUAD4 1018 2 20 21 32 31 0.0 CQUAD4 1019 2 21 22 33 32 0.0 $ $ UPPER SURFACE: CQUAD4 950 2 133 144 145 134 0.0 CQUAD4 951 2 134 145 146 135 0.0 CQUAD4 952 2 135 146 147 136 0.0 CQUAD4 953 2 136 147 148 137 0.0 CQUAD4 954 2 137 148 149 138 0.0 CQUAD4 955 2 138 149 150 139 0.0 CQUAD4 956 2 139 150 151 140 0.0 CQUAD4 957 2 140 151 152 141 0.0 CQUAD4 958 2 141 152 153 142 0.0 CQUAD4 959 2 142 153 154 143 0.0 CQUAD4 960 2 144 155 156 145 0.0 CQUAD4 961 2 145 156 157 146 0.0 CQUAD4 962 2 146 157 158 147 0.0 CQUAD4 963 2 147 158 159 148 0.0 CQUAD4 964 2 148 159 160 149 0.0 CQUAD4 965 2 149 160 161 150 0.0 CQUAD4 966 2 150 161 162 151 0.0 CQUAD4 967 2 151 162 163 152 0.0 CQUAD4 968 2 152 163 164 153 0.0 CQUAD4 969 2 153 164 165 154 0.0 $ MAT1 11 2.1E+5 0.8E+5 0.3 0.00 PSHELL 2 11 0.20 11 $ USE ENFORCED DISPLACEMENTS TO CREATE A UNIFORM TRANSLATION ON THE $ LOWER SURFACE SPC1 200 123 1 12 23 SPC1 200 123 11 22 33 SPC1 200 123456 34 THRU 165 SPCD220131.01231.0 SPCD2202331.0 SPCD 220 11 3 1.0 22 3 1.0 SPCD 220 33 3 1.0 $ USE ENFORCED DISPLACEMENTS TO CREATE A UNIFORM TRANSLATION ON THE $ UPPER SURFACE SPC1 300 123 133 144 155 SPC1 300 123 143 154 165 SPC1 300 123456 1 THRU 132 SPCD3301333-1.01443-1.0 SPCD3301553-1.0 SPCD 330 143 3 -1.0 154 3 -1.0 SPCD 330 165 3 -1.0 $ USE ENFORCED DISPLACEMENTS TO CREATE A LINEAR TRANSLATION ON THE $ LOWER SURFACE (FREE UP THE 5 ROTATION AT THE ROOT) SPC1 400 12346 1 12 23 SPC1 400 12 11 22 33 SPC1 400 123456 34 THRU 165 SPCD 440 11 3 1.0 22 3 1.0

Main Index

0.0

Chapter 6: Shape Optimization 409 Examples

SPCD 440 33 3 1.0 SPC1 400 3 11 22 33 $ USE ENFORCED DISPLACEMENTS TO CREATE A LINEAR TRANSLATION ON THE $ UPPER SURFACE (FREE UP THE 5 ROTATION AT THE ROOT) SPC1 500 12346 133 144 155 SPC1 500 12 143 154 165 SPC1 500 123456 1 THRU 132 SPCD 550 143 3 -1.0 154 3 -1.0 SPCD 550 165 3 -1.0 SPC1 500 3 143 154 165 $ USE ENFORCED DISPLACEMENT AT TIP AND RESTRAINED ROOT TO CREATE A $ FLEXIBLE SHAPE ON THE LOWER SURFACE SPC1 600 123456 1 12 23 SPC1 600 12 11 22 33 SPC1 600 123456 34 THRU 165 SPCD 660 11 3 1.0 22 3 1.0 SPCD 660 33 3 1.0 SPC1 600 3 11 22 33 $ USE ENFORCED DISPLACEMENT AT TIP AND RESTRAINED ROOT TO CREATE A $ FLEXIBLE SHAPE ON THE UPPER SURFACT SPC1 700 123456 133 144 155 SPC1 700 12 143 154 165 SPC1 700 123456 1 THRU 132 SPCD 770 143 3 -1.0 154 3 -1.0 SPCD 770 165 3 -1.0 SPC1 700 3 143 154 165 ENDDATA

Turning first to the auxiliary boundary model specification, we see that the boundary model is defined in a special Bulk Data Section, appearing after the Bulk Data for the primary model. The statement, BEGIN BULK AUXMODEL = 1, is used to indicate the beginning of this section. This section essentially defines three components of the model: its connectivity, its loads, and its boundary conditions. This is just like any other MSC Nastran model for static analysis. The auxiliary boundary model connectivity is defined using CQUAD4 elements. The geometry should not be redefined, since the primary model geometry is used. (If necessary, additional grids can be included. For example, an additional grid may be necessary for use as a rigid element connection point. This grid should then appear in this Bulk Data Section.) The structure is constrained using six SPC sets that create the six boundary shapes identified above and use enforced motion (SPCD’s) to supply the load. The first set of the SPC/SPCD conditions is explained here to help understand this concept. First the grids at the root and tip of the lower plate are constrained in the translational degrees of freedom as part of SPC SET 200. All of the remaining grids in the structure that are not on the lower plate are constrained using SPC SET 200 in all six degrees of freedom so that these grid locations will not move. SPCD SET 220 is then used to apply a unit enforced displacement at the root and the tip in the z-direction. Note that the points on the interior of the bottom plate are not constrained and are therefore free to move. In this case the whole plate will move as a rigid body in the z-direction, thereby providing the boundary shape. The Case Control for these models appears after the primary model Case Control, in a section beginning with the label, AUXCASE. Each subcase selects one of the six SPCD-defined loads, using a different boundary condition for each. Static loading is always assumed for these auxiliary model analyses. The results of these six analyses are sets of six displacement vectors can be used to describe the shape changes over the Primary Structure's boundary. However, these boundary displacements must still be interpolated over the structure's interior in order to form shape basis vectors for the entire structure. This is achieved in the primary model section of the Bulk Data.

Main Index

410 Design Sensitivity and Optimization User’s Guide Examples

Shape Changes over the Interior BNDGRID entries provide the boundary conditions for the shape interpolation steps. The relation between BNDGRID entries and the auxiliary boundary model solutions is similar to that of SPC's and SPCD's. The auxiliary boundary model solutions are imposed as enforced displacements on the primary structure. This is like an SPCD. These displacement degrees of freedom must be present on BNDGRID entries, as with SPC entries. Degrees of freedom listed on the BNDGRID entries are either enforced or fixed, depending on whether or not an auxiliary boundary model solution exists for them. All other degrees of freedom are considered "free", and are solved for in the interpolation. The BNDGRID data in this example are seen to be in three sets. The first set is applied to the grids along the top and bottom surface where it is seen that components 1,2 and 3 are identified, which means that these displacements will be determined from the auxiliary model. The second set is applied to grids that are on the side faces of the structure (excluding those at the top and bottom corners). These grids are restrained from moving in the y-direction so that the sides of the structure do not bulge out or contract. These side grids can move in the x and z directions. The third set of grids is made up of points at the root and tip of the structure. Here, the shape is not allowed to move in the x direction, while the x and z directions are left free. Figure 6-29 shows the six deformations that result on the primary model when the displacement from the auxiliary model is applied.

Figure 6-29

Main Index

Shape Basis Vectors Shown as Deformations on the Primary Model

Chapter 6: Shape Optimization 411 Examples

To obtain these shape basis vectors, run the deck with primary and auxiliary model with PARAM, OPTEXIT, 2 and import the model and results into Patran. Then click Results to get the Results form and select the options as shown in Figure 6-30.

Figure 6-30

Visualizing Shape Basis Vectors from static analysis of Auxiliary models

Modeling Summary To summarize, auxiliary boundary models are created using additional Bulk Data Sections, labeled using BEGIN BULK AUXMODEL = n. We can have as many of these sections as necessary to suit our auxiliary boundary model needs. Boundary conditions and loads are applied with AUXCASE-labeled

Main Index

412 Design Sensitivity and Optimization User’s Guide Examples

Case Control Sections. The resultant boundary deformations are then interpolated to the interior of the primary structure using BNDGRID entries to define the boundaries. The resulting total displacement vectors can now be combined in any way to yield basis vectors for shape optimization. Shape Basis Vectors The shape basis vectors are defined using DVBSHAP Bulk Data entries. DVBSHAP entries 1 through 6 relate design variables 1 through 6, respectively, to the six displacement solutions in a one-to-one fashion. Thus, each shape basis vector is simply 1.0 times each of the resultant displacement solutions. Design Task The design task is to modify the shape of the structure to find the minimum weight structure that satisfies the limit that the von Mises cannot exceed 200. It is seen that a DRESP2 is used to magnify the weight by 1.0E5. This DRESP2 is then selected as the objective. This step is not necessary in this case, but it does provide the optimizer with a sizable objective. Nine DRESP1 entries are used to identify von Mises stress responses at each corner, plus the center, of each CHEXA element. An upper bound limit of 200. is applied to these responses using DCONSTR entries. From the DOPTPRM entry, it is seen that the Sequential Quadratic Programming method of optimization is selected using METHOD=3. Optimization Results Listing 6-5 shows the summary of design cycle history from the output file. In thirteen design cycles, the objective has been reduced from 8.0 E+6 to 6.01 E+6. The final shape is shown in Figure 6-33, and the corresponding stress distribution in Figure 6-34 . It is seen that the final design is nearly symmetric and that much of the stress along the top and bottom surfaces is at the limit of 200.

Main Index

Chapter 6: Shape Optimization 413 Examples

Listing 6-5 0

Summary of Design Cycle History for DSOUG6 *************************************************************** S U M M A R Y O F D E S I G N C Y C L E H I S T O R Y ***************************************************************

SUBCASE 100

(HARD CONVERGENCE ACHIEVED) NUMBER OF FINITE ELEMENT ANALYSES COMPLETED NUMBER OF OPTIMIZATIONS W.R.T. APPROXIMATE MODELS

13 12

OBJECTIVE AND MAXIMUM CONSTRAINT HISTORY --------------------------------------------------------------------------------------------------------------OBJECTIVE FROM OBJECTIVE FROM FRACTIONAL ERROR MAXIMUM VALUE CYCLE APPROXIMATE EXACT OF OF NUMBER OPTIMIZATION ANALYSIS APPROXIMATION CONSTRAINT --------------------------------------------------------------------------------------------------------------INITIAL

8.000000E+06

-1.038307E-02

1

7.622278E+06

7.622278E+06

0.000000E+00

4.371643E-05

2

7.254322E+06

7.254322E+06

0.000000E+00

-1.355743E-04

3

6.847802E+06

6.847802E+06

0.000000E+00

-1.314545E-04

4

6.399672E+06

6.399672E+06

0.000000E+00

-1.700592E-04

5

6.285760E+06

6.285760E+06

0.000000E+00

1.011421E-02

6

6.212054E+06

6.212054E+06

0.000000E+00

1.214539E-02

7

6.171776E+06

6.171776E+06

0.000000E+00

8.254166E-03

8

6.119370E+06

6.119370E+06

0.000000E+00

8.320237E-03

9

6.082725E+06

6.082725E+06

0.000000E+00

6.020203E-03

10

6.039925E+06

6.039925E+06

0.000000E+00

6.038284E-03

11

6.008418E+06

6.008418E+06

0.000000E+00

4.509506E-03

12 6.006243E+06 6.006243E+06 0.000000E+00 -3.089905E-05 --------------------------------------------------------------------------------------------------------------1 0

AUXILIARY MODEL 1

FEBRUARY

13, 2003

MSC.NASTRAN

2/12/03 SUBCASE 100

PAGE

336

DESIGN VARIABLE HISTORY -------------------------------------------------------------------------------------------------------------------------------INTERNAL | EXTERNAL | | DV. ID. | DV. ID. | LABEL | INITIAL : 1 : 2 : 3 : 4 : 5 : -------------------------------------------------------------------------------------------------------------------------------1 | 1 | UPPERC | 1.0000E+00 : 1.0070E+00 : 1.0028E+00 : 9.9867E-01 : 9.9434E-01 : 9.8921E-01 : 2 | 2 | LOWERC | 1.0000E+00 : 1.0070E+00 : 1.0028E+00 : 9.9867E-01 : 9.9434E-01 : 9.8921E-01 : 3 | 3 | UPPERL | 1.0000E+00 : 1.1000E+00 : 1.2100E+00 : 1.3310E+00 : 1.4641E+00 : 1.6105E+00 : 4 | 4 | LOWERL | 1.0000E+00 : 1.1000E+00 : 1.2100E+00 : 1.3310E+00 : 1.4641E+00 : 1.6105E+00 : 5 | 5 | UPPERF | 1.0000E+00 : 1.1000E+00 : 1.2100E+00 : 1.3310E+00 : 1.4641E+00 : 1.3989E+00 : 6 | 6 | LOWERF | 1.0000E+00 : 1.1000E+00 : 1.2100E+00 : 1.3310E+00 : 1.4641E+00 : 1.3177E+00 : -------------------------------------------------------------------------------------------------------------------------------INTERNAL | EXTERNAL | | DV. ID. | DV. ID. | LABEL | 6 : 7 : 8 : 9 : 10 : 11 : -------------------------------------------------------------------------------------------------------------------------------1 | 1 | UPPERC | 9.8574E-01 : 9.8194E-01 : 9.7848E-01 : 9.7548E-01 : 9.7295E-01 : 9.7055E-01 : 2 | 2 | LOWERC | 9.8573E-01 : 9.8193E-01 : 9.7846E-01 : 9.7546E-01 : 9.7254E-01 : 9.7019E-01 : 3 | 3 | UPPERL | 1.7423E+00 : 1.8656E+00 : 1.9817E+00 : 2.0808E+00 : 2.1755E+00 : 2.2567E+00 : 4 | 4 | LOWERL | 1.7697E+00 : 1.8848E+00 : 1.9997E+00 : 2.0975E+00 : 2.1899E+00 : 2.2698E+00 : 5 | 5 | UPPERF | 1.2590E+00 : 1.1331E+00 : 1.0198E+00 : 9.1782E-01 : 8.2604E-01 : 7.4344E-01 : 6 | 6 | LOWERF | 1.1859E+00 : 1.0673E+00 : 9.6060E-01 : 8.6454E-01 : 7.7808E-01 : 7.0027E-01 : -------------------------------------------------------------------------------------------------------------------------------INTERNAL | EXTERNAL | | DV. ID. | DV. ID. | LABEL | 12 : 13 : 14 : 15 : 16 : 17 : -------------------------------------------------------------------------------------------------------------------------------1 | 1 | UPPERC | 9.6874E-01 : 2 | 2 | LOWERC | 9.6842E-01 : 3 | 3 | UPPERL | 2.3159E+00 : 4 | 4 | LOWERL | 2.3280E+00 : 5 | 5 | UPPERF | 6.6909E-01 : 6 | 6 | LOWERF | 6.3025E-01 : *** USER INFORMATION MESSAGE 6464 (DOM12E) RUN TERMINATED DUE TO HARD CONVERGENCE TO AN OPTIMUM AT CYCLE NUMBER = 12.

Main Index

414 Design Sensitivity and Optimization User’s Guide Examples

To view the final shape and stress distribution, import the model and results into Patran, click on Results and select the options as given in the Results form in Figure 6-31 and Figure 6-32.

Figure 6-31

Main Index

Viewing the final designed shape

Chapter 6: Shape Optimization 415 Examples

Figure 6-32

Main Index

Visualizing the final stress distribution

416 Design Sensitivity and Optimization User’s Guide Examples

Figure 6-33

Main Index

Solid Cantilever -- Final Shape

Chapter 6: Shape Optimization 417 Examples

Figure 6-34

Solid Cantilever -- Final Stress Distribution

Special Punch in the Case of Shape Optimization As described above, if shape optimization is being performed, a complete set of GRID Bulk Data entries will be punched every n-th design cycle where n is set using PARAM DESPCH. A special case occurs when the new mesh has become distorted to the extent that the resulting finite elements cannot be generated. In this case, an invalid mesh message is produced by the EMG modals and, if it has not already been punched, the grid data for the last design whose mesh was valid as punched. This allows the user to start up again from this last valid mesh while perhaps changing some move parameters so that the mesh distortions do not occur.

Main Index

418 Design Sensitivity and Optimization User’s Guide Examples

Main Index

Chapter 7: Topology, Topometry and Topography Optimization Design Sensitivity and Optimization User’s Guide

7

Main Index

Topology, Topometry and Topography Optimization 

Topology Optimization

420

Brief Literature Review

422

Bulk Data and Parameters

Modeling Guidelines and Limitations

Patran User Interface

434

Application Examples

442

Topometry Optimization

Topography (Bead or Stamp) Optimization

Toptomization

525

424 431

504 515

420 Design Sensitivity and Optimization User’s Guide Topology Optimization

Topology Optimization Introduction In contrast to sizing and shape optimization for detail design, the layout and load-path study in the initial, conceptual design stage uses the Topology Optimization function. Topology Optimization can also be used to obtain rib patterns and weld distribution patterns. Topology optimization is good at dealing with global design responses (such as structural compliance, eigenvalue, and displacements) but not local design responses (such element responses, stress and strain). It is recommended that topology optimization is used to generate a conceptual design proposal with emphasis on global design responses, then a sizing and/or shape optimization is performed based on the topology design proposal with emphasis on local design responses.

Features and Benefits A number of features have been incorporated in SOL 200 for Topology Optimization as a continual effort to meet industry demands. The most common difficulties with Topology Optimization have been checkerboard effects, large number of small voids, introduction of large number of smaller members especially with mesh refinement, design proposals difficult to manufacture, and large computational cost with increasing variables. SOL 200 provides answers to each of these difficulties. The default filtering option helps overcome checkerboard effects. The minimum member size constraint offers the user tremendous control over the complexity of the design in terms of quantity of members. A large number of manufacturing constraints are available to ensure manufacturability, such as symmetry constraints including cyclic symmetry, extrusion constraints for uniform thickness along draw direction, single and two die casting constraints for preventing cavities along die movement. Additionally, a number of attractive features are available which increase the flexibility for the designer. Among these include setting multiple mass targets to different subdomains, combined size/shape and topology variables in a single job.

History of Capability New versions of MSC Nastran are released periodically. Since the Version 67 release, there have been eight additional releases and each has had some enhancement in the Design Sensitivity and Optimization capability (SOL 200). Topology Optimization capability along with the BIGDOT optimizer was introduced with the MSC Nastran 2005 R2 release. BIGDOT has been discontinued in the 2010 Release of MSC Nastran and he IPOPT optimizer has been inserted instead. In MSC Nastran 2005 R3 and MSC Nastran R1 releases, manufacturing constraints, such as symmetry constraints, extrusion constraints, casting constraints and minimum member size constraints, were added for the topology optimizer. New features have been added to MSC Nastran R2 release based on feedback from clients. With these enhancements SOL 200 is also able to support combined topology, sizing, and shape optimization, multiple mass reduction targets in a single job, cyclical symmetry constraints, and adjoint design sensitivity analysis for inertia relief in static analyses. A major performance enhancement of

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 421 Topology Optimization

module DOPR1 has been made to speed up minimum member size control and sizing optimization with many thousands, or even millions, of variables.

Main Index

422 Design Sensitivity and Optimization User’s Guide Brief Literature Review

Brief Literature Review The solution to the Topology Optimization problem is ill-posed in the sense that the design tends to a configuration with an unbounded number of microscopic holes rather than a small number of macroscopic holes. This suggests that the design will not generally converge to an optimum as the mesh is refined. There are two alternative ways for generating a well-posed Topology Optimization problem. In a procedure called relaxation (Kohn and Strang [Ref. 30.]) checkerboard designs are accommodated by extending the design space to include materials with periodic, perforated microstructures and then using homogenization theory to compute effective material properties. Alternatively, in a procedure called restriction, the design space is restricted to exclude checkerboard designs by imposing perimeter constraint (Ambrosio and Buttazzo [ Ref.31.]) or mesh independent filtering methods (Sigmund [Ref. 32.]). In the homogenization-based approach, a composite material of a solid material and void is used instead of pure solid material. Example of a composite material is one composed of unit square cells with rectangular holes (Bendsoe and Kikuchi [Ref. 33.]), such that the variables defining the dimensions of the hole can vary between 0 to 1, thus covering the complete range of relative densities from zero (void) to one (solid). The microstructure of the composite can vary from one element in the mesh to the next. This way the Topology Optimization problem is converted from a 1-0 material distribution problem to a sizing problem. The theory of homogenization is used to replace the composite with a kind of equivalent homogeneous material and, in this way, relate the macroscopic material properties of the composite to its microstructure. The existence of a solution is guaranteed in this approach, but the solutions are hazy. The Density Method approach, alternatively called the Power Law approach or Artificial Material approach (Bendsoe [Ref. 34.]), is based on the idea of convexification where an artificial material is used which is homogeneous. The density of the artificial material can vary between 0 and 1. The generalized material parameters are simply taken to be proportional to the relative density. A power law is used to relate the density with the material property.  = x 0

E = E0 x

p

(7-1)

where  0 and E0 are respectively the fully solid density and Young's modulus. A penalty factor p is introduced to enforce the design variable to be close to a 0-1 solution when p>1.0. The penalty factor p usually takes values between 2 and 4. This approach is simple and the optimum design consists of clear solid and void, but there is no suppression of local optima. The homogenization approach has the advantage that the design can form rapidly along the lines of the force transmission path. The advantages of the density method are that it is more general and requires fewer design variables than the homogenization approach. Whatever the approach, once the problem is formulated, an optimization method has to be employed to solve for the optimum design. The common methods are Mathematical Programming methods, Optimality Criteria (OC) methods or Evolutionary Structural Optimization method.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 423 Brief Literature Review

Mathematical Programming methods are general and efficient with provided gradients. Mathematical Programming methods are able to deal with many thousands of design variables and numerous constraints. Optimality Criteria methods are indirect methods of optimization, unlike Mathematical Programming methods, which directly optimize the objective function. OC methods attempt to satisfy a set of criteria related to the behavior of the structure. Starting from a feasible point in the design space and using an iterative scheme based on an OC derived from Kuhn-Tucker conditions, the design variables are updated at each iteration so that the design gradually moves towards the optimum point. Though these methods are efficient for problems with a large number of design variables and few constraints, inclusion of more constraints slows down the process, and for general objective functions they do not work at all. Evolutionary Structural Optimization (Xie and Steven [Ref. 35.]) is based on the intuitive concept that if understressed material is gradually removed from the design domain, an optimal, i.e. least weight topology will be reached. This concept leads to a rejection criteria based on local stress level, where lowly stressed material is assumed to be underutilized and is to be removed. However, in a brief note (Zhou and Rozvany [Ref. 36.]) it has been shown that ESO's rejection criteria may result in a highly non-optimal design. The Density method is used in MSC Nastran for Topology Optimization. As described earlier, the design variables are the normalized material density of each designed element. This approach has fewer design variables compared to the homogenization approach and is more general. The power law penalization on Young's Modulus E is used to achieve a 0-1 density distribution. The original optimization problem is solved by solving a series of explicit approximate problems. Density and Young's Modulus are used as intermediate design variables. Rayleigh Quotients are used as intermediate design responses for eigenvalues. For topology design sensitivity analysis, adjoint method is available to compute efficiently the gradients of the topology objective and constraints with respect to topology design variables. The optimization algorithm used is MSCADS(method=4 SUMT) or IPOPT. All existing analysis types (statics, normal modes, buckling, frequency response, complex eigenvalue, static aeroelasticity, and flutter) are supported.

Main Index

424 Design Sensitivity and Optimization User’s Guide Bulk Data and Parameters

Bulk Data and Parameters TOPVAR Topological Design Variables To select a topologically designable region, the user needs to specify a group of elements. All elements referencing a given property ID are made topologically designable with the Bulk Data entry TOPVAR referencing that property ID. Topology design variables are automatically generated with one design variable per designable element. The manufacturability constraints are then applied on all elements referencing the given property ID. The basic format of TOPVAR is: 1

2

TOPVAR ID

3

4

5

6

7

8

9

LABEL PTYPE

XINIT

XLB

DELXV POWER PID

"SYM"

CID

MSi

MSi

MSi

CS

"CAST"

CID

DDi

DIE

ALIGN

"EXT"

CID

EDi

ALIGN

"TDMIN"

TV

NCS

Example: 1

2

TOPVAR 2

Main Index

4

5

PS1

PSOLID

0.3

5

XY

ZX

CAST

5

X

2

TDMIN

0.6

SYM

Field

3

6

7

8

9

10

Contents

ID

Unique topology design region identification number. (Integer > 0)

LABEL

User-supplied name for printing purpose. (Character)

PTYPE

Property entry name. Used with PID to identify the elements to be designed. (Character: "PBAR", "PSHELL", 'PSOLID", etc.)

XINIT

Initial value. (Blank or Real, XLB < XINIT < 1.0; Default = Blank). Typically, XINIT is defined to match the mass constraint on DRESP1=FRMASS, so the initial design does not have violated constraints. In this case, the default is set to the constraint value. If the mass (DRESP1=FRMASS or WEIGHT) is the objective, the default is 0.9. The default of XINIT is 0.6 for the other cases.

XLB

Lower bound to prevent the singularity of the stiffness matrix. (Real; Default = 0.001)

Chapter 7: Topology, Topometry and Topography Optimization 425 Bulk Data and Parameters

Field

Contents

DELXV

Fractional change allowed for the design variable during approximate optimization. (Real > 0.0; Default = 0.2. See Remark 2.)

POWER

A penalty factor used in the relation between topology design variables and element Young's modulus. (Real > 1.0; Default = 3.0). 2.0 < =POWER 0)

"SYM"

Indicates that this line defines symmetry constraints.

CID

Rectangular coordinate system ID used for specifying manufacturing constraints. See Remarks 4. and 7. (Blank or Integer > 0; Default = blank)

MSi

Mirror symmetry plane. See Remark & . (Character, 'XY', 'YZ', or 'ZX')

CS

Cyclic symmetry axis. (character X, Y, Z). See Remarks 7. and 12.

NCS

Number of cyclic symmetric segments in 360 degrees (Integer > 0). See Remark 12.

"CAST"

Indicates that this line defines casting constraints (i.e. die draw direction constraints). See Remarks 6., 7., 8., and 10.

DD

Draw Direction. DDi=X, Y, Z or X-, Y-, Z- for a single die option (DIE=1) where X-, Y, Z- indicates the opposite direction of X, Y, and Z respectively. DDi=X, Y, and Z for two die option (DIE =2) (Character)

DIE

Die Options. (Blank or integer 1 or 2; Default = 1) = 1 (or blank). A single die will be used and the die slides in the given draw direction (i.e. material grows from the bottom in the draw direction) = 2. Two dies will be used and the dies split apart along the draw direction (i.e., material grows from the splitting plane in opposite direction along the axis specified by the draw direction DDi. The splitting plane is determined by optimization.)

ALIGN

Indicates whether the designed property finite element mesh is precisely aligned with the draw direction or extrusion direction. (Character: “YES” or “NO” or Blank; Default = blank = “NO”) See Remark 11.

"EXT"

Indicates that this line defines extrusion constraints (i.e. enforce constant cross-section) See Remarks 6., 7., 8., and 10.

ED

Extrusion direction. (Character, X, Y, or Z)

"TDMIN"

Indicates that this line defines a minimum member size, See Remarks 9. and 10.

TV

Minimum member size. See Remarks 9. and 10. (Real > 0.0)

Remarks: 1. The topologically designable element properties include PROD, PBAR, PBARL, PBEND, PBEAM, PBEAML, PSHELL, PSHEAR, PSOLID, and PWELD. Multiple TOPVAR's are allowed in a single file. Combined topology, sizing, and shape optimization is supported in a single file. However, TOPVAR cannot be used with DVMREL1 and DVMREL2 entries.

Main Index

426 Design Sensitivity and Optimization User’s Guide Bulk Data and Parameters

2. All designed element properties must refer to a MAT1 entry; therefore, a PCOMP cannot be used as designed property in Topology Optimization. PCOMP's can be used as non-designed properties in a Topology Optimization job. 3. If DELXV is blank, the default is taken from the specification of DELX parameter on the DOPTPRM entry. 4. Only CORD1R and CORD2R can be used as a referenced coordinate system to specify topology manufacturing constraints. Only one reference coordinate system CID is allowed for each TOPVAR entry. 5. One, two or three different mirror symmetry planes can present (such as MS1=XY, MS2=YZ, and MS3=ZX). 6. Casting ("CAST") and Extrusion ("EXT") manufacturability constraints can be applied to PTYPE="PSOLID" only. Casting constraints cannot be combined with extrusion constraints for the same TOPVAR entry. 7. Some symmetry constraint types can be combined with casting or extrusion constraints. The referenced coordinate system CID must be the same for the combined constraints. Some possible combinations are: • For "EXT" constraints, possible combinations are (ED=X, MSi=XY, and/or ZX or CS=X),

(ED=Y, MSi=YZ, and/or XY or CS=Y), (ED=Z, MSi=ZX , and/or YZ or CS=Z). • For "CAST" constraints, possible combinations are (DD=X or X-, MSi=XY and/or ZX or

CS=X), (DD=Y or Y-, MSi=YZ and/or XY or CS=Y), (DD=Z or Z-, MSi=ZX and/or YZ or CS=Z). 8. For two dies option (DIE=2), the splitting plane is optimized. For a single die DIE=1, the parting plane is the bottom surface of the designed part in the draw direction. 9. TDMIN is a dimensional quantity with a guideline that it should be set to at least three times a representative element dimension. 10. Without a TDMIN continuation line, the minimum member size constraint is taken from the specification of TDMIN parameter on the DOPTPRM entry. This option is applied on 2 and 3 D elements only. Minimum member size constraints can be used with "SYM", "CAST", and "EXT" constraints. 11. It is recommended to use a smooth top surface in the draw direction for one die casting constraints, and smooth top and bottom surfaces in the draw direction for two die casting constraints. 12. The first symmetry segment starts at the X-axis when CS=Z (at Z-axis when CS = Y, and at the Y-axis when CS = X). One cyclic symmetry can be combined with one mirror symmetry constraint as long as the axis of cyclic symmetry is normal to the plane of mirror symmetry. For example, MSi = YZ and CS = X, MSi = XZ and CS = Y, and MSi = XY and CS = Z. This feature can also be used for < 360 degrees but NCS must be given in 360 degrees.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 427 Bulk Data and Parameters

Bulk Data Entry DRESP1 - Response Types FRMASS and COMP While all DRESP1 response type is available for Topology Optimization, two response types (FRMASS and COMP) are available in RTYPE (field 4) field of Bulk Data Entry DRESP1, exclusively for Topology Optimization. The COMP response permits the specification of a compliance value as a design response. Compliance is simply the product of the displacement times the applied load and is typically used as an objective in a Topology Optimization design task to maximize structural stiffness in a static design problem. The FRMASS response indicates a target mass fraction that typically is used as a constraint in a Topology Optimization task; (e.g., minimize the compliance of the structure while limiting the mass to 40% of the mass of the original structure). It is not associated with a particular analysis type. The COMP and FRMASS response types are provided to facilitate the specification of the classical Topology Optimization task of minimizing the compliance of a loaded structure while limiting the mass to some percentage of the maximum allowable amount. In MSC Nastran's implementation, these responses can be applied generally so that the COMP response could lead to a constraint and the minimization of FRMASS could be an objective. The response attribute table for these two response types is given below: Table 7-1

Responses for Topology Optimization

Response

Response Attributes

Type (RTYPE)

ATTA (Integer>0)

ATTB (Integer >0 or Real >0.0)

COMP (Remark 1)

BLANK

BLANK

FRMASS (Remark 1,2)

BLANK

BLANK

ATT1

BLANK or Property ID

Remarks:

1. RTYPE=COMP (compliance of structures = PTu) and FRMASS (mass fraction of designed elements) entries are used for Topology Optimization or combined topology, sizing/shape optimization. 2. RTYPE=FRMASS is the mass divided by the mass calculated if all topology design variables are 1.0. FRMASS is calculated for topologically designed elements only. FRMASS = 1.0 if all topology design variables are 1.0. ATTi=Blank is for total mass fraction. ATTi=PID is the mass fraction for topological designed property PID.

Design Optimization Parameters (DOPTPRM) - TCHECK and TDMIN Two design optimization parameters TCHECK and TDMIN are available on the DOPTPRM Bulk Data entry for overriding default values of parameters used exclusively in Topology Optimization. Parameter TCHECK is used to turn on a filtering parameter that is used to prevent a checkerboard pattern from

Main Index

428 Design Sensitivity and Optimization User’s Guide Bulk Data and Parameters

being produced. The default value of 1 turns on the filtering and is recommended. TCHECK=0 turns off filtering. The other parameter, TDMIN, is used to achieve mesh independent solutions and control the size of members in the topology optimized design; that is, to prevent achieving a final design that is characterized by thin disjoint fibers that are impractical from a manufacturing standpoint. Design variable elements that are within a distance of TDMIN from an element with a design variable close to 1.0 are filtered to ensure they are not small. Note that the value of TDMIN is problem-size dependent but not mesh-size dependent. The default for TDMIN is 0.0 (no filtering).The descriptions of these parameters are given in Table 7-2. Table 7-2

DOPTPRM Design Optimization Parameters

Name

Description, type, and Default value

TCHECK Topology Filtering options (integer 1) -1 Automatic selection of filter or density constraint (Default) 1 Filtering algorithm is on for Topology Optimization 2 Density Constraint method is On 0 No filtering algorithm TDMIN

Topology minimum member diameter (real >=0.0) in the basic coordinate system. Default =0.0 (i.e., no minimum member size control). It is recommended at least three times a representative element dimension. This option is applied on 2 and 3 D elements only.

In addition, a number of existing DOPTPRM parameters have different default values for Topology Optimization as opposed to Sizing/Shape optimization, as shown in Table 7-3. For combined sizing/shape and Topology Optimization problems, the default values for Topology Optimization are imposed. Table 7-3

Default Values for DOPTPRM Design Optimization Parameters

Parameter

Sizing/Shape

Topology

DESMAX

5

30or 60 with minimum member size

DELX

0.5

0.2

DXMIN

0.05

1.0E-5

As a final comment on DOPTPRM parameters described in the previous section, the definition of the P2 parameter that controls the amount of print that occurs at design cycles specified by P1 has a different meaning in a Topology Optimization context. For sizing and shape optimization, design variables are printed for value of P2 = 1 (or if 1 is included in the sum of the options, that is, 3, 5, 7, 9, 11, 13 and 15). Since a Topology Optimization task can easily result in thousands of design variables, this would not be a viable option for most problems. Instead, design variable prints are turned off unless a P2 value greater than 8 (that is 9, 11, 13 or 15) is specified. Also the "Comparison between Input Property Variables from Analysis and Design Models" print never occurs in Topology Optimization.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 429 Bulk Data and Parameters

Output for Topology Optimization Output for the two responses, compliance and fractional mass, and topology design variables are shown in Figure 7-1. Also in this figure, the design variable history shows the external element ID associated with the internal design variable ID

Figure 7-1

Output in jobname.f06

Special Punch Considerations for Topology Optimization MSC Nastran topology optimization generates an element density distribution file jobname.des for all design cycles as a Patran element result format that is able to support postprocessors other than Patran:

Main Index

430 Design Sensitivity and Optimization User’s Guide Bulk Data and Parameters

For sizing and shape optimization, the DESPCH parameter specifies when the optimized Bulk Data entries are written to the PUNCH file. In Topology Optimization, DESPCH is used to specify when the topology optimized element density values are written to the topology element density history file jobname.des. This file can be directly read into Patran to display and animate the Topology Optimization results. Figure 7-1 shows the format of an element density history file. DESPCH < 0 Never DESPCH = 0 at the last design cycle only (default) DESPCH > 0 at every design cycle that is a multiple of DESPCH and the last design cycle. For example, if n=2 and the maximum number of design cycles is 5 (DESMAX=5 on the DOPTPRM entry), then, topology element density at design cycle 2, 4, and 5 are written in the punch file. DESPCH1 >= 0 (default=0), write all topology designed and non-designed element density values to the topology element density history file jobname.des. DESPCH1 < 0, write all topological designed element density values to the topology element density history file jobname.des.

Figure 7-2

Main Index

Element Density History File jobname.des

Chapter 7: Topology, Topometry and Topography Optimization 431 Modeling Guidelines and Limitations

Modeling Guidelines and Limitations The quality of the results of a Topology Optimization task is a strong function of how the problem is posed in MSC Nastran. This section contains a number of tips that have been developed based on extensive testing of the capabilities:

Modeling Tips 1. A DRESP1=COMP is introduced to define the compliance of structures for Topology Optimization. The response is usually used as an objective to maximize structural stiffness in static analysis problems. 2. A DRESP1=FRMASS is introduced to define the mass fraction of topology designed elements. For Topology Optimization tasks DRESP1=FRMASS response is recommended to define a mass reduction target in a design constraint. 3. While FRMASS is calculated for topological designed properties only, RTYPE=WEIGHT computes total weight including all designed and non-designed parts. For combined topology and sizing/shape optimization problems, it is recommended that RTYPE=FRMASS is used for topological designed property mass reduction constraints and RTYPE=WEIGHT is used for total mass reduction constraints. 4. The POWER field on the TOPVAR entry has a large influence on the solution of Topology Optimization problems. A lower POWER (less than 2.0) often produces a solution that contains large "grey" areas (area with intermediate densities 0.3 - 0.7). A higher value (greater than 5.0) produces more distinct black and white (solid and void) designs. However, near singularities often occur when a high POWER is selected. 5. A parameter TCHECK on DOPTPRM is used to turn on/off the checkerboard free algorithm. This default normally results in a better design for general finite element mesh. However, if higher order elements and/or a coarser mesh are used, turning off the filtering algorithm may produce a better result. For minimum member size control the density constraint method is very efficient, especially when the mesh is fine and the predefined minimum member size is relatively large. This method also helps to get a checkerboard free solution. It is activated by TCHECK=2. 6. The parameter TDMIN is mainly used to control the degree of simplicity in terms of manufacturing considerations. It is common to see some members with smaller size than TDMIN at the final design since the small members have contributions to the objective. Minimum member size is more like quality control than quantity control. It is in general recommended that TDMIN should not be less than the length of 3 elements. 7. It is recommended to use default value of XINIT. 8. Maximum design cycle DESMAX=30 (as default) is often required to produce a reasonable result. More design cycles may be required to achieve a clear 0/1 material distribution, particularly when manufacturability constraints are used. 9. There are many solutions to a Topology Optimization problem, one global and many local optima. It is not unusual to see different solutions to the same problem with the same discretization by using different optimization solvers or the same optimization solver with different starting values of design variables.

Main Index

432 Design Sensitivity and Optimization User’s Guide Modeling Guidelines and Limitations

10. In a multiple subcase problem, a Case Control Command DRSPAN can be used to construct a weighting function via a DRESP2 or DRESP3. For example, in a static and normal mode combined problem, the objective can be defined as obj = weight*()+weight 2*(), where weight1 and weight2 are two weighting factors. c1 is the calculated compliance and 1 is the calculated eigenvalue via DRESP1 definition. c0 and 0 are the initial value of these responses. 11. To obtain a rib pattern by Topology Optimization, a core non-designable shell element thickness must be defined together with two designable element thicknesses above and below the core thickness. That is, add two designable elements for each regular element. 12. If some elements are disconnected on the final topology design proposal, the mass target may be too small to fill the design space. 13. It is recommended that a baseline Topology Optimization job (without any manufacturability constraints) be carried out before a Topology Optimization solution with manufacturability constraints is done. Benefits are: (a) a Topology Optimization without restriction may result in a better design; (b) The design proposal from the no restriction run may give some hints for imposing manufacturability constraints. 14. Topology Optimization with manufacturability constraints often needs more material to fill the design space. Therefore, the design with manufacturability constraints usually requires a relatively bigger mass target (less material savings) than the one without manufacturability constraints. 15. It is recommended to use aligned mesh for casting property due to smaller tolerance used. 16. If multiple mass targets (multiple DRESP1=FRMASS) are used, it is recommended that each TOPVAR's initial value XINIT matches its corresponding mass target. 17. The cyclical symmetry constraints can also be used for rotational parts Design Study -> Preprocess

In the Pre-Process form, select Action: Create; Object: Design Variable; Type: Topology to create TOPVAR.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 435 Patran User Interface

Figure 7-3

Main Index

Patran Pre-process

436 Design Sensitivity and Optimization User’s Guide Patran User Interface

The Manufacturing Constraints can be added by clicking the Define Manufacturing Constraints tab and filling up the form which appears (see Figure 7-3).

Figure 7-4

Creating Topology Variable

In the Pre-Process form, select Action: Create; Object: Objective; Solution: Linear Static; Response: Compliance; Min/Max: Minimize to create Compliance Minimization as the Objective. Then select Action: Create; Object: Constraint; Solution: Global; Response: Fractional Mass to create Constraint on Fractional Mass. The converse can be done for Fractional Mass minimization subject to Compliance constraint.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 437 Patran User Interface

Figure 7-5

Creating Objective and Constraint

Note that when FRMASS (Fractional Mass) constraint is being created, there is provision to select a topologically designable region identified by a Property ID. Many such constraints can be created to allow for separate mass targets on different regions. This is the ATT1 field for RTYPE=FRMASS in the DRESP1 entry. Furthermore, the Lower Bound and Upper Bound boxes correspond to the LALLOW and UALLOW fields of the DCONSTR entry. For other responses, analysis types and combined size and Topology Optimization, the procedure is just the same as for size optimization. For Output Control, click Analysis and in the Analysis form select Action: Optimize; Object: Entire Model; Method: Analysis Deck and click on Optimization Parameters. This opens the Optimization Parameters form, which allows the user to select values for DOPTPRM parameters like P1, P2, and

Main Index

438 Design Sensitivity and Optimization User’s Guide Patran User Interface

DESMAX, and few parameters like CONV1, CONV2, DELP and DELX on clicking the Advanced Optimization Parameters tab.

Figure 7-6

Setting Optimization Parameters

Patran Postprocessing MSC Nastran produces a file with .des extension which contains the resulting optimal element density distribution. This file can be directly read in Patran to display the Topology Optimization results. Patran supports read and display of topology results, the smoothing/ remeshing of a topology design proposal for a new reanalysis and the generation of IGES files for a topology design proposal for CAD systems. From the Main Menu select Tools  Design Study  Postprocess

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 439 Patran User Interface

Then in the Post-Process form select Action: Read Results, then click the Select Results File tab to Browse through the list of available .des files, select the required file and then click Apply.

Figure 7-7

Patran Post-process

Figure 7-8

Reading Density Distribution

To see the results, select Action: Display Results and the required design cycle from Select Result Case list box, input a Threshold limit (density value below which the density will be treated as 0 or void), select the Fringe check box (if density contours are desired). Click Apply.

Main Index

440 Design Sensitivity and Optimization User’s Guide Patran User Interface

Figure 7-9

Main Index

Displaying Density Distribution

Chapter 7: Topology, Topometry and Topography Optimization 441 Patran User Interface

Figure 7-10

Main Index

Density Distribution Plot

442 Design Sensitivity and Optimization User’s Guide Application Examples

Application Examples Bridge Example Summary ATTRIBUTE Title

VALUE Bridge

Topology Optimization Compliance minimization features Mass target Mirror symmetry constraints Geometry

Length = 40 and width = 20 Thickness = 0.1 Material

E = 2.0E+5 Pa, µ=0.3

Analysis

Static analysis

Boundary conditions

Supported on rollers at one point and fixed support at another point

Applied loads

A concentrated force = 10.0 N

Element types

4 node linear QUAD elements

Topology result

Material distribution

Introduction A simply supported bridge example (model shown in Figure 5.1) is used to demonstrate (a) basic MSC Nastran Topology Optimization capabilities without manufacturing constraints (topoug1.dat in TPL)and (b) mirror symmetry constraints (topoug1a.dat in TPL). The structural compliance (i.e., total strain energy) is minimized with a mass target 0.4 (i.e., 60% material savings). The loading and boundary conditions are shown in Figure 7-11. The structure is modeled with 3200 CQUAD4 elements. An additional objective is to give a step-by-step procedure in Patran to (a) import the model data (b) setup a Topology Optimization problem (c) read the topology results (.des) file (d) display the density distribution (e) smooth the boundaries (f) create a surface over the smoothed topology proposal and (g) export the IGES file of the topology proposal.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 443 Application Examples

Figure 7-11

Bridge

Solution Requirements This bridge example is widely used by academic and industrial researchers for Topology Optimization validation. Design Model Description Objective:

Minimize compliance

Topology design region: PSHELL Constraints:

Mass target = 0.4 (i.e., mass savings 60%)

With or without mirror symmetry constraints These solutions demonstrate: • A distinct design can be obtained by MSC Nastran Topology Optimization with checkerboard

free algorithm (as default) • By using symmetry constraints in Topology Optimization, a symmetric design can be obtained

regardless of the boundary conditions or loads. • The smoothed topology proposal can be exported as an IGES file which can be used by any

CAD system.

Main Index

444 Design Sensitivity and Optimization User’s Guide Application Examples

Optimization Solution Basic Compliance Minimization

The input data for this example related to Topology Optimization model is given in Listing 7-1. A Bulk Data entry TOPVAR =1 is used to define a topological design region. XINIT=0.4 on the TOPVAR entry matches the mass target constraint so that the initial design is feasible. The rest of the values on the TOPVAR entry are default values that are recommended for general Topology Optimization applications. Type one design responses DRESP1 = 1 and 2 identify compliance and fractional mass, respectively. DCONSTR= 1 specifies the mass target. DESOBJ=1 in Case Control Command selects DRESP1=1 entry to be used as a design objective (minimization as default) and DESGLB selects the design constraint DCONSTR= 1 to be applied in this Topology Optimization task. Listing 7-1

Input File for Bridge Example

DESOBJ = 1 DESGLB = 1 SUBCASE 1 $ Subcase name : Default SUBTITLE=Default SPC = 2 LOAD = 2 ANALYSIS = STATICS BEGIN BULK DCONSTR 1 2 .4 TOPVAR, 1 , Tshel, Pshell, .4, , , , DRESP1 1 COMPL COMP DRESP1 2 FRMASS FRMASS

1

Figure 7-12 shows the topology optimized result. This optimal design is very clear without any checkerboard effect.

Figure 7-12

Bridge Topology Design

Mirror Symmetric Constraints (Patran Tutorial 1) Since the loads applied on the bridge are not symmetric, the topology optimized design Figure 7-12 is not symmetric about z-x plane. The bridge is employed again to demonstrate the mirror symmetric constraint capability that enforces the design to be symmetric about a given plane. This entire exercise is taken up using Patran.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 445 Application Examples

Step 1: Importing the Bridge Model into Patran a. Create a new database in Patran. Click File  Import b. In the Import form select Object: Model; Source: MSC Nastran Input. c. Select the required data file from the browser. (This file contains the finite element model suitable for a static analysis lacking any topology related input.) d. Click Apply. The Topology Optimization problem will be setup on this base model.

Figure 7-13

Importing Model into Patran

Step 2: Creating a Coordinate Frame for Defining Mirror Plane A new Coordinate frame is created with its origin at the midpoint of the rectangular domain. a. Click Geometry. b. In the Geometry form, select Action: Create; Object: Coord; Method: 3 point; Type: Rectangular c. Enter [20 10 0] for Origin, [20 10 1] for a Point on Axis 3 and [21 10 0] for a Point on Plane 1-3 d. Click Apply. This rectangular coordinate frame will define the mirror plane for the symmetry constraint (see Defining Design Domain and Manufacturing Constraints).

Main Index

446 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-14

Creating Coordinate Frame

Step 3: Creating a Load Case The imported model has the FE entities and force and support entries, so a Load Case has to be created combining the forces and supports. a. Click Load Case. b. In the Load Case form, select Action: Create; Type: Static c. Enter a name for the load case in the Load Case Name box. d. Click the Input Data tab. e. In the Input Data form, click all the entries in the Select Individual Loads/BCs list box. f. Click OK. g. Click Apply.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 447 Application Examples

Figure 7-15

Creating Load Case

Step 4: Initiating Topology Toptomization: a. Click Analysis. b. In the Analysis form, select Action: Toptomize, Object: Entire Model, Method: Analysis Deck (Selecting Method: Full Run allows MSC Nastran to be called through the GUI itself.)

Main Index

448 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-16

Main Index

Initiating Toptomize for Topology Optimization

Chapter 7: Topology, Topometry and Topography Optimization 449 Application Examples

Step 5: Defining Objectives and Constraints a. In the Analysis form, click the Objectives and Constraints tab. In the Objectives and Constraints form, select Type: Topology, Objective Functions: Minimize Compliance, Constraint Target: Mass Fraction. Enter value of Mass Target Constraint as 0.4. Click OK.

Figure 7-17

Creating Objectives and Constraints

Step 6: Defining Design Domain and Manufacturing Constraints a. Click the Design Domain tab. In the Design Domain form, click property name prop1 in Valid Properties then click the Manufacturing Constraints tab. b. In the Manufacturing Constraints form, enter Reference Coordinate Frame as Coord 1 (created in Creating a Coordinate Frame for Defining Mirror Plane). Select the the Symmetric Constraints and Mirror Plane ZX check boxes. Click OK to close the form.

Main Index

450 Design Sensitivity and Optimization User’s Guide Application Examples

c. Click OK to close Design Domain Form.

Figure 7-18

TOPVAR entry

This process results in generation of the TOPVAR entry as shown under: Step 7: Defining Optimization Parameters a. Click the Optimization Control tab. b. Input 0.4 in Initial Design box in the Optimization Control Parameters form. c. Click OK.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 451 Application Examples

Figure 7-19

Main Index

Optimization Parameters

452 Design Sensitivity and Optimization User’s Guide Application Examples

Step 8: Creating and Selecting Subcase for Optimization After the Optimization problem has been setup, the next requirement is the creation and selection of Subcase. a. Click Analysis. b. Select Action: Optimize; Object: Entire Model; Method: Analysis Deck in Analysis form c. Click the Subcase Create tab. d. In the Subcase Create form, select Solution Type: 101 Linear Static e. Select the created Load Case from the Available Subcases list. f. Click Apply, and Cancel. g. Click the Subcase Select tab in the Analysis Form. h. In the Subcase Select form, select the created subcase from Subcases Available. i. Select Solution Type: 101 Linear Static j. Click OK. k. Click Apply in the Analysis form to create the analysis deck for optimization. This completes the Preprocess.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 453 Application Examples

Figure 7-20

Creation and Selection of Subcase

Submit the analysis deck to MSC Nastran. (As indicated in Initiating Topology Toptomization:, this can be done from the GUI itself if Method is Full Run instead of Analysis Deck). The density distribution file (.des) will be created. This can be read by Patran and displayed as a density plot which is the topology design proposed by MSC Nastran. This is achieved by Patran postprocessing and the steps are now described. Step 9: Reading jobname.des file into Patran a. Click ToolsDesign StudyPost Process b. Select Action: Read Results. c. Click the Select Results File tab. d. Select the desired (.des) file through the browser. e. Click Apply.

Main Index

454 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-21

Reading Density Distribution File into Patran

Step 10: Display Fringe Plot a. Select Action: Display Results. b. Select last design cycle in the Select Result Case list. c. Input 0.4 as the Threshold. d. Select the Fringe check box. e. Click Apply.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 455 Application Examples

Figure 7-22

Display of Fringe Plot

Step 11: Smooth Results a. Select Action: FEM Smooth; Method: 2D b. Select Remesh ElType: Quad4 c. Input 0.4 for Threshold. d. Make a window around the full design domain to input Select FEM to smooth. e. Click Apply. A smoothed and remeshed topology design is displayed.

Main Index

456 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-23

Smoothed and Remeshed Topology

Further work with this model requires that new geometry by created in a CAD system. For this purpose the new surfaces appearing in the proposed topology design are to be captured and then the geometric model can be exported as an IGES file. This process is now explained. Step 12: Capturing new Surfaces appearing in the Proposed Topology Design a. Click Geometry. b. In the Geometry form, select Action: Create; Object: Surface; Method: Mesh. c. Make a window around the full design domain to create input for the Element List. d. Click Apply.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 457 Application Examples

Figure 7-24

Creating new Surface

Step 13: Associate remaining Finite Elements in the Model with newly Created Surface a. Click Element. b. In the Element form, select Action: Associate; Object: Element; Method: Surface c. Uncheck Auto Execute. d. Make a window around the full domain to create input for the Element List. e. Click on the newly created surface as input to the Surface List. f. Click Apply. Now the model has all the FE and geometric information and its association.

Main Index

458 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-25

Associating FE with Surface

Step 14: Creation of IGES file a. Click PreferencesGlobal b. Input 0.6 for the Global Tolerance (relax the Global Tolerance). c. Click Apply. d. Click File Export e. In the Export form, select Format: IGES. f. Check Export through Parasolid box. g. Enter a File name. h. Click the IGES Options tab. i. In the form, select Surfaces as the Entity Types. j. Click OK. k. Click Apply.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 459 Application Examples

Figure 7-26

Main Index

Relaxing Global Tolerance

460 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-27

Main Index

Exporting IGES file

Chapter 7: Topology, Topometry and Topography Optimization 461 Application Examples

MBB Beam with Variations Summary ATTRIBUTE Title

VALUE MBB Beam

Topology Optimization Compliance minimization features Mass target Checkerboard free solution Minimum member size control Mirror symmetry constraints Geometry

Length = 6 and width = 2 Thickness = 0.01 Material

E = 2.05E+5 Pa, µ=0.3

Analysis

Static analysis

Boundary conditions

Supported on rollers at one point and fixed support at another point

Applied loads

A concentrated force = 100.0 N

Element types

4 node linear QUAD elements

Topology result

Material distribution

Introduction An MBB beam example (a half model shown in Figure 7-28) is used to demonstrate (a) basic MSC Nastran Topology Optimization capabilities without manufacturing constraints (topex3.dat in TPL), (b) minimum member size control (topex3a.dat in TPL), and (c) mirror symmetry constraints (topex3b.dat in TPL). The structural compliance (i.e., total strain energy) is minimized with a mass target 0.5 (i.e., 50% material savings). The loading and boundary conditions are shown in Figure 7-28. The structure is modeled with 4800 CQUAD4 elements.

Main Index

462 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-28

MBB Beam

Solution Requirements This MBB example is widely used by academic and industrial researchers for Topology Optimization validation. Design Model Description

Objective:

Minimize compliance

Topology design region: PSHELL Constraints:

Mass target = 0.5 (i.e. mass savings 50%)

a. Minimum member size control and/or b. Mirror symmetry constraints These solutions demonstrate: • A distinct design can be obtained by MSC Nastran Topology Optimization with checkerboard

free algorithm (as default) • The minimum member size is mainly used to control the size of members in topology optimal

designs. Preventing thin members enhances the simplicity of the design and hence its manufacturability. Minimum member size is more like quality control than quantity control. • By using symmetry constraints in Topology Optimization, a symmetric design can be obtained

regardless of the boundary conditions or loads. Optimization Solution Basic Compliance Minimization

The input data for this example related to Topology Optimization model is given in Listing 7-2. A Bulk Data entry TOPVAR =1 is used to define a topological design region. XINIT=0.5 on the TOPVAR entry

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 463 Application Examples

matches the mass target constraint so that the initial design is feasible. The rest of the values on the TOPVAR entry are default values that are recommended for general Topology Optimization applications. Type one design responses DRESP1 = 1 and 2 identify compliance and fractional mass respectively. DCONSTR= 1 specifies the mass target. DESOBJ=1 in Case Control Command selects DRESP1=1 entry to be used as a design objective (minimization as default) and DESGLB selects the design constraint DCONSTR= 1 to be applied in this Topology Optimization task. Listing 7-2

Input File for MBB Beam

DESOBJ = 1 DESGLB = 1 SUBCASE 1 $ Subcase name : Default SUBTITLE=Default SPC = 2 LOAD = 2 ANALYSIS = STATICS BEGIN BULK DCONSTR 1 2 .5 TOPVAR, 1 , Tshel, Pshell, , , , , DRESP1 1 COMPL COMP DRESP1 2 FRMASS FRMASS

1

Figure 7-29 shows the topology optimized result that is smoothed and remeshed by using Patran. This optimal design is very clear without any checkerboard effect. It is noticed that there are some small members.

Figure 7-29

MBB Beam Topology Design

Minimum Member Size Control

The MBB beam (shown in Figure 7-28) is used here to demonstrate the minimum member size control capability. The input data for this example related to Topology Optimization with "minimum member size" is given in Listing 7-3. The minimum member size value is defined by the parameter TDMIN = 0.5 on the DOPTPRM entry and corresponds to the length of 10 elements. Listing 7-3

Input File for MBB Beam with Minimum Member Size

DESOBJ = 1 DESGLB = 1

Main Index

464 Design Sensitivity and Optimization User’s Guide Application Examples

SUBCASE 1 $ Subcase name : Default SUBTITLE=Default SPC = 2 LOAD = 2 ANALYSIS = STATICS BEGIN BULK DOPTPRM, TDMIN, 0.5 DCONSTR 1 2 .5 TOPVAR, 1 , Tshel, Pshell, , , , , DRESP1 1 COMPL COMP DRESP1 2 FRMASS FRMASS

1

The Figure 7-30 shows the topology optimized result with "minimum member size" TDMIN=0.5. Compared the design shown in Figure 7-29, this design with "minimum member size" is obviously much simpler and there are no tiny members at all.

Figure 7-30

MBB Beam Topology Design with "Minimum Member Size"

Mirror Symmetric Constraints

Since the loads applied on the MBB beam are not symmetric, the topology optimized designs Figure 7-29 and Figure 7-30 are not symmetric. The MBB beam is employed again to demonstrate the mirror symmetric constraint capability that enforces the design to be symmetric about a given plane. To apply symmetric constraints on designed properties, users need to create a reference coordinate system using a rectangular coordinate system CORD1R or CORD2R. In this example, grid 10001 (location x=3, y=1, and z=0) is defined as the origin. Grid 10002 (x=3, y=1, and z=1) lies on the z-axis, and grid 1003 (x=4, y=1, and z=0) lies in the x-z plane. CORD1R CID=1 defines a reference coordinate system. A continuation line "SYM" enforces the property PSHELL=1 to be symmetric about the planes YZ and ZX in the reference coordinate system CID=1. In addition, a minimum member size TDMIN=0.15 is applied. The input data for this example is given in Listing 7-4. Listing 7-4

Input File for MBB Beam with Mirror Symmetry Constraints

DESOBJ = 1 DESGLB = 1 SUBCASE 1 SUBTITLE=Default SPC = 2 LOAD = 2 ANALYSIS = STATICS BEGIN BULK CORD1R 1 10001 GRID 10001

Main Index

10002 3.

10003 1.

0.0

Chapter 7: Topology, Topometry and Topography Optimization 465 Application Examples

GRID GRID TOPVAR, ,

10002 10003 1 , SYM , , TDMIN, DRESP1 1 DRESP1 2 DCONSTR 1

Tshel, 1 , 0.15 COMPL FRMASS 2

3. 1. 1.0 4. 1. 0.0 Pshell, , , , , 1 YZ , ZX COMP FRMASS

.5

The Figure 7-31 shows the topology optimal result with symmetric constraints and minimum member size.

Figure 7-31

MBB Beam with Symmetric Constraints and Minimum Member Size

Figure above shows density distribution chart with sym= yz and zx, tdmin =0.15 and xinit field blank (Figure 7-31 topex3b.dat).

Main Index

466 Design Sensitivity and Optimization User’s Guide Application Examples

Torsion Beam with Variations Summary ATTRIBUTE Title

VALUE A Torsion Beam

Topology Optimization Compliance minimization features Mass target Casting constraints Extrusion constraints Mirror symmetry constraints Geometry

Length = 16 and width = 4 height = 4 Material

E = 2.1E+5 Pa, µ=0.3, and RHO=1.0

Analysis

Static analysis

Boundary conditions

Fixed support at one end

Applied loads

A pair of twisting forces = 1000.0 N

Element types

8 node HEXA

Topology result

Material distribution

Introduction A torsion beam is used here to demonstrate the extrusion (topex5.dat in TPL), one-die casting (topex5a.dat in TPL) and two-die casting constraints (topex5b.dat in TPL). The Figure 7-32 shows the FEM model of the torsion beam. A pair of twisting forces is applied on one end while the other end is fixed. 2048 CHEXA elements are used for this model. The objective is to minimize the structural compliance with mass target of 0.3 (i.e., 70% material savings).

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 467 Application Examples

Figure 7-32

Torsion Beam

Solution Requirements This torsion beam is utilized to show MSC Nastran Topology Optimization extrusion and casting constraint capabilities. Design Model Description

Objective:

Minimize compliance

Topology design region: PSOLID Constraints:

Mass target = 0.3 (i.e., mass savings 70%)

(a) Extrusion constraints or (b) Casting constraints with one or two dies These solutions demonstrate: • By using extrusion constraints in Topology Optimization, a constant cross-section design along

the given extrusion direction can be obtained regardless of the boundary conditions or loads. • The use of casting constraints can prevent hollow profiles in Topology Optimization so that a die

can slide in a given direction. One or two dies options are available for selection. • Some combined manufacturing constraints are allowed in Topology Optimization to achieve the

design goal.

Main Index

468 Design Sensitivity and Optimization User’s Guide Application Examples

Optimization Solution Extrusion Constraints With One Die

It is often seen that some topology optimized designs contain cavities that are not achievable or require a high cost manufacturing process. For example, the result from the torsion beam without manufacturing constraints is shown in Figure 7-33. Clearly, this topology design proposal is not achievable by casting.

Figure 7-33

Torsion Beam without Manufacturing Constraints

The extrusion constraints enforce a constant cross-section design along the given extrusion direction. The input data related to imposing an extrusion constraint along the z-axis in the basic coordinate system (as the default option) is given in Listing 7-5. Listing 7-5

Input File for Torsion Beam with Extrusion

DESOBJ = 1 DESGLB = 1 SUBCASE 1 SUBTITLE=Default ANALYSIS = STATICS SPC = 2 LOAD = 2 BEGIN BULK DRESP1 2 Frmass FRMASS DRESP1 1 COMPL COMP DCONSTR 1 2 .3 TOPVAR, 1 , TSOLID, PSOLID, .3, , , , , EXT , , Z PSOLID 1 1 0

1

The Figure 7-34 shows the topology optimized result with extrusion constraints. It is obvious that the design has a constant cross-section along the z-axis.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 469 Application Examples

Figure 7-34

Torsion Beam with Extrusion Constraints in Z-Axis

Casting Constraints with One Die A torsion beam (shown in Figure 7-34) is used here to demonstrate the combination of one die casting manufacturability constraints and mirror symmetric constraints. The casting constraints with one die option enforce the material to be added to the region by "filling up" in the given draw direction from the bottom (or, stated another way, that voids extend from the top surface and do not reappear in the die direction). To apply casting constraints and symmetric constraints on designed properties, a reference coordinate system CID=1 is defined by using a rectangular coordinate system CORD1R. A "CAST" continuation line defines casting constraints in the Y direction and one die is a default option. Another "SYM" continuation line defines symmetric constraints about the YZ plane. The input data related to the Topology Optimization model is given in Listing 7-6. Listing 7-6

Input File for Torsion with One Die

DESOBJ = 1 DESGLB = 1 SUBCASE 1 SUBTITLE=Default ANALYSIS = STATICS SPC = 2 LOAD = 2 BEGIN BULK DRESP1 2 Frmass FRMASS DRESP1 1 COMPL COMP DCONSTR 1 2 .3 CORD1R 1 5 167 7 PSOLID 1 1 0 TOPVAR, 1 , TSOLID, PSOLID, , CAST, , SYM,

Main Index

.3, , , 4.0, 1 , Y 1 , YZ, , YES

1

470 Design Sensitivity and Optimization User’s Guide Application Examples

The Figure 7-35 shows the topology optimized result with one die casting constraint. It is observed that the design material is added by "filling up" in the Y direction from the bottom. In addition, the design is symmetric about the YZ plane in the reference coordinate system CID=1.

Figure 7-35

Torsion Beam with One Die Casting Constraints in Y Direction

Casting Constraints with Two Dies A torsion beam (shown in Figure 7-32) is also used here to demonstrate two die casting manufacturability constraints. The input for two die casting constraints is similar to the one die option in Example 5. Here, the difference is that 2 is selected for the DIE field on the TOPVAR entry. The input data related to imposing two die casting constraints is given in Listing 7-7. Listing 7-7

Input File for Torsion with Two Dies

DESOBJ = 1 DESGLB = 1 SUBCASE 1 $ Subcase name : Default SUBTITLE=Default ANALYSIS = STATICS SPC = 2 LOAD = 2 $ Direct Text Input for this Subcase BEGIN BULK DRESP1 2 Frmass FRMASS DRESP1 1 COMPL COMP DCONSTR 1 2 .3 CORD1R 1 5 167 7 PSOLID 1 1 0 TOPVAR,

Main Index

1 , ,

TSOLID, CAST,

PSOLID, 1 ,

.3 Y,

, , 2, YES

, 4.0 ,

1

Chapter 7: Topology, Topometry and Topography Optimization 471 Application Examples

,

SYM ,

1 ,

YZ

The Figure 7-36 shows the topology optimized result with two die casting constraints. It is observed that the design material grows from the splitting plane in opposite directions along the y-axis specified in the reference coordinate system CID=1. The splitting plane is determined by optimization and in this case corresponds to the y-z plane.

Figure 7-36

Main Index

Torsion Beam with Two Die Casting Constraints in Y-Axis

472 Design Sensitivity and Optimization User’s Guide Application Examples

Engine Mount Summary ATTRIBUTE Title

VALUE Engine Mount

Topology Optimization Averaged compliance minimization features Multiple TOPVAR entries Multiple load cases Displacement constraints Geometry

Material

E = 2.05E+5 Pa, µ=0.3

Analysis

Static analysis

Boundary conditions

Fixed at three points

Applied loads

14 load cases (forces)

Element types

HEXA, PENTA, TETRA, and RBE3

Topology result

Material distribution

Introduction The main goal is to minimize the compliance of the engine-front-mount-beam (shown in Figure 7-37) with mass target 0.3 (material savings 70%) and displacements within a range (-0.6, 0.6) at selected 5 grids. The analysis model has 14 load cases. The finite element model is shown in Figure 7-38. There are 62306 HEXA elements, 703 PENTA elements, 31 TETRA elements, and 5 RBE3 elements. (Refer topoug2.dat in TPL).

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 473 Application Examples

Figure 7-37

Front-Mount-Beam

Figure 7-38

Front-Mount-Beam FE Model

The objective of this example is to illustrate the step-by-step procedure to (a) setup a Topology Optimization task with displacement constraints and multiple load cases in Patran using General Topology Optimization interface and (b) use Patran 2006 Insight to get the iso-surfaces. It may be noted that Insight is a Utility which is not available with the regular Patran. An alternative, Iso-surface under Result menu, exists in Patran itself with an interface similar to the Insight interface, and can also be used for creating density iso-surfaces.

Main Index

474 Design Sensitivity and Optimization User’s Guide Application Examples

Solution Requirements Design Model Description Objective: Minimize averaged compliance Topology design region: PSOLID = 1, 2, 3, 8, 9 and 10 Constraints: Mass target = 0.3 (i.e., mass savings 70%) Displacements at grid points 76095, 76096, 76419, 76420, and 76421 for all 14 load cases within the range (-6.0, 6.0) This solution demonstrates: • The averaged compliance can be used for Topology Optimization problems with multiple load

case to achieve an efficient design concept. • Multiple topological design parts are allowed • Displacement constraints can be readily handled in Topology Optimization.

Optimization Solution (Patran Tutorial 2) Topology Optimization Input through Patran Create a new database in Patran and Import the model file as an MSC Nastran input file. Next create 14 Load cases. The latter two steps have already been explained in Patran Tutorial 1. The following table gives the load and displacement sets belonging to each load case. Load Case

Displacement ids

Force ids

1

Displ_spc.1, Displ_spc.1.cid3

Force_force1.cid4, 5, 6, 7, 8, 9

2

Displ_spc.1, Displ_spc.1.cid3

Force_force2.cid4, 5, 6, 7, 8, 9

3

Displ_spc.1, Displ_spc.1.cid3

Force_force3.cid4, 5, 6, 7, 8, 9

4

Displ_spc.1, Displ_spc.1.cid3

Force_force4.cid4, 5, 6, 7, 8, 9

5

Displ_spc.1, Displ_spc.1.cid3

Force_force5.cid4, 5, 6, 7, 8, 9

6

Displ_spc.1, Displ_spc.1.cid3

Force_force6.cid4, 5, 6, 7, 8, 9

7

Displ_spc.1, Displ_spc.1.cid3

Force_force7.cid4, 5, 6, 7, 8, 9

8

Displ_spc.1, Displ_spc.1.cid3

Force_force8.cid4, 5, 6, 7, 8, 9

9

Displ_spc.1, Displ_spc.1.cid3

Force_force9.cid4, 5, 6, 7, 8, 9

10

Displ_spc.1, Displ_spc.1.cid3

Force_force10.cid4, 5, 6, 7, 8, 9

11

Displ_spc.1, Displ_spc.1.cid3

Force_force11.cid4, 5, 6, 7, 8, 9

12

Displ_spc.1, Displ_spc.1.cid3

Force_force12.cid4, 5, 6, 7, 8, 9

13

Displ_spc.1, Displ_spc.1.cid3

Force_force13.cid4, 5, 6, 7, 8, 9

14

Displ_spc.1, Displ_spc.1.cid3

Force_force14.cid4, 5, 6, 7, 8, 9

Step 1: Initiating the General Topology Optimization interface.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 475 Application Examples

This process enables the input of all Topology Optimization parameters for setup of the optimization job. Click on Tools Design Study Pre Process The form that appears enables creation of TOPVAR variables, objective function, constraint functions, constraint sets and a Design Study.

Figure 7-39

General Topology Optimization

Step 2: Creation of initial TOPVAR variable a. Select Action: Create; Object: Design Variable; Type: Topology b. Select Dimension 3-D; Type: Solid c. Select psolid.1 in Select Property Set list. A variable name tv_psolid.1 will automatically appear in the Variable Name box. d. Click Apply.

Main Index

476 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-40

Main Index

Creation of TOPVAR

Chapter 7: Topology, Topometry and Topography Optimization 477 Application Examples

Similarly, create 5 more TOPVAR variables. The table below gives the designable property id for each of the created TOPVAR variables. TOPVAR ID

PSOLID ID

1 (tv_psolid.1) 1 (psolid.1) 2 (tv_psolid.2) 2 (psolid.2) 3 (tv_psolid.3) 3 (psolid.3) 4 (tv_psolid.7) 7 (psolid.7) 6 (tv_psolid.8) 8 (psolid.8) 7 (tv_psolid.9) 9 (psolid.9) Step 3: Creation of Objective The objective is minimization of the average compliance of all the 14 load cases. a. Select Action: Create; Object: Objective; Solution: Global; Response: Average Compliance. b. Select Min/Max: minimize. c. Input the Objective Name (avgcomp). d. Click Apply. Step 4: Creation of Global Constraint a. There is a global constraint of 30% mass fraction. b. Selecting Action: Create; Object: Constraint; Solution: Global; Response: Fractional Mass. c. Input 0.3 as the Upper Bound. d. Input mass as the Constraint Name. e. Click Apply.

Main Index

478 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-41

Main Index

Creating Objective

Chapter 7: Topology, Topometry and Topography Optimization 479 Application Examples

Figure 7-42

Creating Mass Constraint

In addition to the fractional mass global constraint, there are displacement constraints on 5 grid points under each of the 14 load cases. The total number of constraints is 70 grouped into 14 constraint sets of 5 constraints each. Now the steps to create these constraints and constraint sets are explained. Step 5: Creation of Displacement Constraints a. Select Action: Create; Object: Constraint; Solution: Linear Static; Response: Displacement b. Input loadcase1grid1 for Constraint Name. c. Input Node 76095 for Select Node. d. Select -6 for Lower Bound and 6 for Upper Bound. e. Check Magnitude radio button in Displacement Component section.

Main Index

480 Design Sensitivity and Optimization User’s Guide Application Examples

f. Click Apply.

Figure 7-43

Main Index

Creating Displacement Constraint

Chapter 7: Topology, Topometry and Topography Optimization 481 Application Examples

Similarly, create 69 more constraints. The following table gives the load case and grid number for each of the constraints. Each of these displacement responses is constrained to lie between -6 and 6. Load Case

Grid 76095

Grid 76096

Grid 76419

Grid 76420

Grid 76421

1

loadcase1grid1

loadcase1grid2

loadcase1grid3

loadcase1grid4

loadcase1grid5

2

loadcase2grid1

loadcase2grid2

loadcase2grid3

loadcase2grid4

loadcase2grid5

3

loadcase3grid1

loadcase3grid2

loadcase3grid3

loadcase3grid4

loadcase3grid5

4

loadcase4grid1

loadcase4grid2

loadcase4grid3

loadcase4grid4

loadcase4grid5

5

loadcase5grid1

loadcase5grid2

loadcase5grid3

loadcase5grid4

loadcase5grid5

6

loadcase6grid1

loadcase6grid2

loadcase6grid3

loadcase6grid4

loadcase6grid5

7

loadcase7grid1

loadcase7grid2

loadcase7grid3

loadcase7grid4

loadcase7grid5

8

loadcase8grid1

loadcase8grid2

loadcase8grid3

loadcase8grid4

loadcase8grid5

9

loadcase9grid1

loadcase9grid2

loadcase9grid3

loadcase9grid4

loadcase9grid5

10

loadcase10grid1

loadcase10grid2 loadcase10grid3 loadcase10grid4 loadcase10grid3

11

loadcase11grid1

loadcase11grid2 loadcase11grid3

12

loadcase12grid1

loadcase12grid2 loadcase12grid3 loadcase12grid4 loadcase12grid3

13

loadcase13grid1

loadcase13grid2 loadcase13grid3 loadcase13grid4 loadcase13grid3

14

loadcase14grid1

loadcase14grid2 loadcase14grid3 loadcase14grid4 loadcase14grid3

loadcase11grid4

loadcase11grid3

Each row of constraints in the above table is combined into a constraint set. Thus there are 14 constraint sets. It may be noted that in this example the same 5 displacement constraints apply to all the 14 load cases and therefore only 5 constraints would have sufficed. Step 6: Creation of Constraint Sets a. Selecting Action: Create; Object: Constraint, Solution: Linear Static b. Enter a Constraint Set Name. c. Selecting the appropriate constraints from the Constraints to be included list. d. Click Apply.

Main Index

482 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-44

Creation of Constraint Set

Step 7: Creation of Design Study Finally, a Design Study is created by selecting the created Design Variables, Objective, Constraints and Constraint Sets. a. Select Action: Create; Object: Design Study and enter a Design Study Name.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 483 Application Examples

b. One by one, click all the tabs in the Design Study Setup section and select all the listed quantities in the forms (Select Design Variables, Select Objective, Select Constraints and Select Constraint Sets). c. Input 0.3 for the Initial Design Value

Figure 7-45

Creation of Design Study

Step 8: Creation of an Analysis Deck a. Click Analysis. b. In the Analysis form, select Action: Optimize; Object: Entire Model; Method: Analysis Deck. c. Click the Design Study Select tab and select ds1 (name of created design study) from the Existing Design Studies form. d. Click the Global Obj./ Constr. Select tab and select avgcomp in Select an existing Global Objective list and mass in Select Existing Global Constraint(s) list.

Main Index

484 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-46

Creation of Analysis Deck

Step 9: Setting up of Optimization Parameters a. Click the Optimization Parameters tab. b. Select the Print Objective and Design Variables, Print Properties, Print all Constraints and Print all Responses check boxes.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 485 Application Examples

Figure 7-47

Setting up Optimization Parameters

Step 10: Creation and Selection of Subcases Subcases will be created and the appropriate load cases and constraint sets will be associated with the subcases. Then the created subcases will be selected for the current job. a. Click the Subcase tab. b. In the Subcase Create form, select Solution Type: 101 LINEAR STATIC. c. Enter Subcase Name as subcase1. d. Click the Select Constraints/Objective tab. e. In the form, select loadcase1 from the Select Existing Constraint Sets list. f. Click OK. g. Click Apply. Similarly create 13 more subcases by associating the remaining 13 load cases in sequence. h. Click the Subcase Select tab.

Main Index

486 Design Sensitivity and Optimization User’s Guide Application Examples

i. Select Subcases 1 to 14 from the Subcases Available list. j. Click OK. k. Click Apply to generate the Analysis Deck. This ends the Preprocessing section.

Figure 7-48

Creation of Subcases

Now run the deck with MSC Nastran which will generate the (.des) elemental density distribution file.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 487 Application Examples

Creating Iso Surfaces using Patran Insight This section illustrates how to use the Insight tool to create a smooth topology and iso surface(s) for density. As in Patran Tutorial 1, click Tools, Design Study, Post Process and then select Action: Read Results. Then click the Select Results File tab to select the required .des file. Step 1: Setting Insight Preferences for better Visual effect a. Click the Insight button on the toolbar. Click the Preferences menu and select Insight b. In the Insight Preferences form, select Display Method: Shaded; Edge Color: Black, Face Color: Gray; Background Color: White c. Click Apply.

Figure 7-49

Insight Preferences

Step 2: Initiating the Insight Tools for creating Isosurface a. Click Insight. b. In the Insight Tools form, select Action: Create; Tool: Isosurface.

Main Index

488 Design Sensitivity and Optimization User’s Guide Application Examples

c. Select the Result radio button in the Isosurface Value section. d. Click the Results Selection tab. e. In the Results Selection form, select one or more Current Load Case(s). Click the Update Results tab. Following this action, results will be updated into the Isosurface Result list. f. Select Topology Optimization, Element Density Distribution from the Isosurface Results list. g. Click the Result Options tab. h. Select the last load case from the Select Default Load Case list. i. Click the Isovalue Setup tab. j. Input an isovalue directly into the Isovalue box or through the slider bar. k. Click OK to close the Results Selection form. l. Click the Isosurface Attributes tab. m. In the form, select Color: Red, select the Clip in the isosurface box . Select Display: Free Edge and Shaded. n. Click OK. o. Click Apply.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 489 Application Examples

Figure 7-50

Main Index

Creating Isosurface

490 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-51

Main Index

Setting Isovalue

Chapter 7: Topology, Topometry and Topography Optimization 491 Application Examples

Figure 7-52

Isosurface Attributes

The following Isosurface appears on clicking Apply.

Figure 7-53

Main Index

Isosurface

492 Design Sensitivity and Optimization User’s Guide Application Examples

Step 3: Insight Control This enables user to see different isosurfaces dynamically a. Click Insight ControlIsosurface Controls b. Form Action: Immediate c. Slide the Isovalue slider bar to dynamically view the isosurface changes.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 493 Application Examples

Figure 7-54

Main Index

Isosurface Control

494 Design Sensitivity and Optimization User’s Guide Application Examples

Topology Optimization Input Deck for MSC Nastran

The input data related to the Topology Optimization model is given in Listing 7-8. The TOPVAR entries define five topological design parts with XINIT (initial design)=0.3 that matches the mass target so the initial design is feasible (reduce CPU time spent on optimizer). In order for a structural response to be used either as an objective or a constraint, it first must be identified on a DRESPi Bulk Data entry. The DRESP1 entries 200-213, for example, identify the compliance. DRSPAN and SET Case Control Commands are then used to select one compliance DRESP1 entry for each subcase that is used in DRESP2=1000 response. The equation response DRESP2=1000 with the attribute FUNC=AVG spans all subcases to calculate averaged compliance of the structure. A Case Control Command DESOBJ selects DRESP2=1000 to be an objective. DRESP1=500 defines a fractional mass response. This mass target is imposed by the upper bound on the DCONSTR=50 entry. As always, fractional mass constraints should be applied at the global level in a design optimization by using DESGLB. Separate DRESP1 entries 1 -5 identify displacements responses at grid points. There responses are constrained by the bounds set using a corresponding set of DCONSTR entries. Listing 7-8

Input File for Engine Mount

analysis=statics set 1 = 200 set 2 = 201 set 3 = 202 set 4 = 203 set 5 = 204 set 6 = 205 set 7 = 206 set 8 = 207 set 9 = 208 set 10 = 209 set 11 = 210 set 12 = 211 set 13 = 212 set 14 = 213 DESOBJ = 1000 DESGLB = 50 DESSUB = 1 $ Direct Text Input for Global Case Control Data $ $======================================================================$ $====================================================================== SUBCASE 1 LOAD = 1 DRSPAN = 1 SUBCASE 2 LOAD = 2 DRSPAN = 2 SUBCASE 3 LOAD = 3 DRSPAN = 3 SUBCASE 4 LOAD = 4 DRSPAN = 4 SUBCASE 5 LOAD = 5 DRSPAN = 5 SUBCASE 6 LOAD = 6 DRSPAN = 6

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 495 Application Examples

SUBCASE 7 LOAD = 7 DRSPAN = 7 SUBCASE 8 LOAD = 8 DRSPAN = 8 SUBCASE 9 LOAD = 9 DRSPAN = 9 SUBCASE 10 LOAD = 10 DRSPAN = 10 SUBCASE 11 LOAD = 11 DRSPAN = 11 SUBCASE 12 LOAD = 12 DRSPAN = 12 SUBCASE 13 LOAD = 13 DRSPAN = 13 SUBCASE 14 LOAD = 14 DRSPAN = 14 $====================================================================== BEGIN BULK $ $23456781234567812345678123456781234567812345678123456781234567812345678 DCONSTR 1 1 -6. 6.0 DCONSTR 1 2 -6. 6.0 DCONSTR 1 3 -6. 6.0 DCONSTR 1 4 -6. 6.0 DCONSTR 1 5 -6. 6.0 DCONSTR 50 500 .3 TOPVAR, 1 , psolid, Psolid, .3, , , , 1 TOPVAR, 2 , psolid2, Psolid, .3, , , , 2 TOPVAR, 3 , psolid3, Psolid, .3, , , , 3 TOPVAR, 4 , psolid8, Psolid, .3, , , , 8 TOPVAR, 5 , psolid9, Psolid, .3, , , , 9 TOPVAR, 6 , psolid10, Psolid, .3, , , , 10 $234567812345678123456781234567812345678123456781234567812345678 DRESP1 500 w FRMASS DRESP1 1 d disp 123 76095 DRESP1 2 d1 disp 123 76096 DRESP1 3 d2 disp 123 76419 DRESP1 4 d3 disp 123 76420 DRESP1 5 d4 disp 123 76421 $234567812345678123456781234567812345678123456781234567812345678 DRESP1, 200, COMP1, COMP DRESP1, 201, COMP2, COMP DRESP1, 202, COMP3, COMP DRESP1, 203, COMP4, COMP DRESP1, 204, COMP5, COMP DRESP1, 205, COMP6, COMP DRESP1, 206, COMP7, COMP DRESP1, 207, COMP8, COMP DRESP1, 208, COMP9, COMP DRESP1, 209, COMP10, COMP DRESP1, 210, COMP11, COMP DRESP1, 211, COMP12, COMP DRESP1, 212, COMP13, COMP DRESP1, 213, COMP14, COMP $234567812345678123456781234567812345678123456781234567812345678 DRESP2 1000 COMPL AVG DRESP1 200 201 202 203 204 205 206 207 208 209 210 211 212 213

Main Index

496 Design Sensitivity and Optimization User’s Guide Application Examples

A topology result shown in Figure 5.45 is obtained by MSC Nastran. The Topology Optimization design proposal is smoothed by Patran.

Figure 7-55

Main Index

Front-Mount-Beam Topology Optimization Proposal

Chapter 7: Topology, Topometry and Topography Optimization 497 Application Examples

Topology Optimization with Glued Contact Summary ATTRIBUTE Title

VALUE Glued Contact

Topology Optimization features Topology Optimization with glued contact Geometry

Material

E = 2.1 E+11 Pa, µ=0.3, and RHO=7800

Analysis

Statics

Boundary conditions

Fixed at one end

Applied loads

Distributed upward load at lower edge of free end

Element types

CHEXA

Topology result

Material distribution

Introduction There is great interest in Topology Optimization problems on models with glued contact. (Glued contact is a feature introduced in MSC Nastran R2) This problem has two solids glued together along a transverse plane to form a cantilever. The composite cantilever is used to demonstrate Topology Optimization with glued contact. The objective is to minimize the compliance subject to mass constraint of 0.3 (70% weight reduction). The loading and boundary conditions are shown in Figure 7-56. The structure is modeled with 1683 CHEXA elements of PSOLID=1 property and 975 CHEXA elements with PSOLID=1 property. (Refer topoug5.dat in TPL).

Main Index

498 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-56

Composite Cantilever with two solids permanently glued

Solution Requirements Design Model Description

Objective:

Minimize compliance

Topology design region: PSOLID1 and PSOLID2 Constraints:

Mass target = 0.3 (i.e., mass savings 70%)

The solution demonstrates: • Topology Optimization with glued contact

Optimization Solution The input data for this example related to Topology Optimization model is given in Listing 5.11. Two TOPVAR entries are used to define two topological design regions identified by PSOLID=1 and PSOLID=2. XINIT=0.3 on the TOPVAR entries match the mass target constraint so that the initial design is feasible. The rest of the values on the TOPVAR entry are default values that are recommended for general Topology Optimization applications. Type one design responses DRESP1 = 2 and 10 identify fractional mass and compliance respectively. DCONSTR= 1 specifies the mass target. DESOBJ=10 in Case Control Command selects DRESP1=10 entry to be used as a design objective (minimization as default) and DESGLB selects the design constraint DCONSTR= 1 to be applied in this Topology Optimization task. Case Control Command BCONTACT =888 selects the Bulk Data Entry BCTABLE. Value 1 in field 5 of first line in BCTABLE entry indicates that 1 set of slave/master entries is entered. "Slave" indicates

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 499 Application Examples

touching body and "master" indicates touched body. Presence of BCONTACT outside the Subcase and value of 1 in field 8 (IGLUE) of "Slave" line in BCTABLE entry indicate that there is Permanent Glued Contact between the two bodies. The first entries 1001 and 2001 in "Slave" and "Master" lines respectively in BCTABLE entry are referenced by the two BCBODY entries with the corresponding IDs. Field 5 in BCBODY entries contains the IDs of BSURF entries which define the deformable surfaces identified by element IDs. In this problem deformations are small and linear. Listing 7-9

Input File for Glued Contact

DESOBJ = 10 DESGLB = 1 BCONTACT = 888 smethod=element ANALYSIS = STATICS $ Direct Text Input for Global Case Control Data SUBCASE 1 $ Subcase name : Default SUBTITLE=Default SPC = 2 LOAD = 2 DRSPAN = 1 BEGIN BULK $-------2-------3-------4-------5-------6-------7-------8-------9-------0 BCTABLE 888 1 + + SLAVE 1001 0.1 1 + + MASTER 2001 $ ...... $ DCONSTR 1 2 .3 TOPVAR 1 PSOLID PSOLID .3 2 TOPVAR 2 PSOLID PSOLID .3 1 DRESP1 2 FRM FRMASS DRESP1 10 COMP COMP $ Direct Text Input for Bulk Data $ Elements and Element Properties for region : p1 PSOLID 1 1 0 BCBODY 1001 3D DEFORM 3 0 BSURF 3 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 $ ...... BCBODY 2001 3D DEFORM 4 0 BSURF 4 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 $ ......

Main Index

500 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-57 shows the topology optimized result by using Patran.

Figure 7-57

Glued Contact Topology Design

We can also set different fractional mass constraints for the two topological design regions. We will do this using Patran. Step 1: Import the deck (model including contact information) Step 2: Set up deck using Toptomize a. Click Analysis. Select Create: Toptomize, Object: Entire Model, Method: Analysis Deck. b. Click the Objectives and Constraints tab. c. In the Objectives and Constraints form, select Type: Topology, Objective Function: Minimize Compliance and Constraint Target: Mass Fraction.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 501 Application Examples

Figure 7-58

Initiating Toptomize

d. Click the Design Domain tab. e. In the Design Domain form, click p1 and p2 from Valid Properties list . f. Change the fractional mass target of p1 to 0.2 and of p2 to 0.4 on the Design Domain Selected Properties table. g. Click OK. h. Click the Subcase Select tab and select the default subcase. Click OK. i. Click Apply.

Main Index

502 Design Sensitivity and Optimization User’s Guide Application Examples

Figure 7-59

Main Index

Setting multiple mass targets

Chapter 7: Topology, Topometry and Topography Optimization 503 Application Examples

Figure 7-60

Main Index

Selecting Subcase

504 Design Sensitivity and Optimization User’s Guide Topometry Optimization

Topometry Optimization Introduction Topometry optimization is an element-by-element sizing optimization. Unlike conventional sizing optimization where all elements referencing a property entry are grouped as one design variable, each designable element has an independent design variable in topometry optimization. Since element-byelement optimization has many design variables, it may find a better design than conventional sizing optimization. In previous versions of Nastran, the user can use the design variable Bulk Data entry DESVAR and the relation of model property and design variables Bulk Data entry DVxREL1 to support element-by-element sizing optimization. However, with this approach the user must generate a unique property data entry for each element and perhaps prepare thousands of DESVAR and DVPREL1 entries. With the topometry optimization capability released in MSC Nastran R3, the user can utilize a new Bulk Data entry, TOMVAR, to select designable regions (model property or material property identification number), design parameters (such as thickness of PSHELLs, or Young’s Modulus of materials), input initial values, lower and upper bounds to perform element-by-element sizing optimization. The MSC Nastran program internally generates DESVAR and DVPREL1 (and/or DVMREL1) for each designed element. The implementation provides a very simple user interface to do element-by-element sizing design optimization. In addition, topometry optimization supports the fully stressed design algorithm in MSC Nastran. FSD is very efficient for certain problems with many stress constraints. Topometry optimization released in MSC Nastran R3 can be applied to all elements that can be resized through Bulk Data entries DVPREL1 and DVMREL1. Those element types include not only volumebased elements like CQUAD4 but also non-volume elements like CWELD, CBUSH, and CFAST. Topology optimization is another element-by-element optimization technology. However, topology optimization and topometry optimization are fundamentally different. Topology optimization is a “0” or “1” discrete element-by-element optimization methodology. Topology optimization can be used to decide which element should be retained and which element should be discarded from the design space. One the other hand, topometry optimization aims to get a continuous variation of the designed properties. Although topometry optimization is not recommended for topology optimization tasks, it is observed topometry optimization can be used to get “similar topological results” for some cases. It is particularly useful for non-structural elements like CELAS, CFAST, and CBUSH that MSC Nastran topology optimization does not support. In a single optimization problem, it is allowable to resize (or shape, topology) certain properties while topometry optimizing other properties.

Benefits • Topometry optimization is easy-to-use. One TOMVAR Bulk Data entry replaces many

thousands of DESVAR and DVxREL1 entries for large element-by-element design optimization problems. • Topometry optimization is good to identify critical design regions.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 505 Topometry Optimization

• Topometry optimization is good to locate where to add/or remove material to improve structural

performance. • Topometry optimization is good for finding the optimal location of spot welds. In particular,

topometry optimization is very useful for some properties that MSC Nastran topology does not support; for example, PDAMP, PELAS, PMASS, PBUSH, PVISC, PGAP, PACBAR, and PFAST.

Input The TOMVAR Bulk Data entry is used to select a topometry designable region and designed property name. The initial, lower, and upper bound of the designed property value are also specified on the topometry entry. The program automatically generates one design variable DV i for each element referencing a property PID. The relationship between design variables DV i and the element property P i given by P i = DV i

i = 1 ,NE

XLB  DV i  XUB

where P i is the analysis model property value for the ith element. NE is the total number of elements referencing to the property PID. The user must input an initial value (such as the analysis model input property value). The default of lower bound (XLB) on DV i is 0.5  DV i , and default of upper bound on DV i (XUB) is 1.5  DV i . The topometry Bulk Data entry is: Format 1

TOMVAR

2

3

4

5

6

ID

TYPE

PID

PNAME XINIT /FID

DLINK

TID

C0

C1

7

8

XLB

XUB

9

10

DELXV

DDVAL DSVID Example Design all element's thickness referencing PSHELL ID = 5 with initial design = 10.0 ( t 0 = 10.0 input element thickness), lower bound 0.5  t 0 and upper bound 1.5  t 0 . TOMVAR

Main Index

10

PSHELL 5

T

10.0

506 Design Sensitivity and Optimization User’s Guide Topometry Optimization

Example Design all element's Young Modulus referred by PSHELL ID = 100 with initial design XINIT = 3.E+5, XLB=1.0, and XUB= 1.0E+6. TOMVAR 10 Field

PSHELL 100

E

3.E+5

1.E+6

Contents

ID

Unique topometry design region identification number. (Integer > 0)

TYPE

Property entry type. Used with PID to identify the elements to be designed. See Remark 2. (Character: “PBAR”, “PSHELL”, ‘PSOLID”, and “PCOMP”, etc.)

PID

Property entry identifier (Integer > 0). This PID must be unique for PIDs referenced by other TOPVAR, DVPREL1, DVPREL2, DVMREL1, and DVMREL2 entries. Topometry, topology, and sizing variables cannot share the same properties. (Integer > 0). Combined topometry, topology, topography, sizing, and shape variables are allowed.

PNAME/FID

Property name or property material name, such as “T”, “A”, “E”, and “GE”, or field position of the property entry or word position in the element property table of the analysis model. Property names that begin with an integer such as 12I/T**3 may only be referenced by field position. See Remark 2. (Character or Integer > 0.)

XINIT

Initial value. (Real or blank, no Default). Typically, XINIT is defined to match the mass target constraint (so the initial design does not have violated constraints) or the analysis model input property value.

XLB

Lower bound. (Real or blank; Default = blank) . The default is XLB=0.5*XINIT.

XUB

Upper bound . (Real or blank; Default = blank). The default is XLB=1.5*XINIT.

DELXV

Fractional change allowed for the design variable during approximate optimization. See Remark 3. (Real > 0.0; Default = 0.5)

DDVAL

Indicates that this line defines discrete TOMVAR variables.

DSVID

DDVAL entry identifier. (Integer > 0)

DLINK

Indicates that this line relates a ply thickness to another ply thickness.

TID

TOMVAR entry identifier. (Integer > 0)

C0

Constant term. (Real; Default = 0.0)

C1

Coefficient term. (Real; no Default)

Remarks: 1. Multiple TOMVAR’s are allowed in a single file.

Main Index

1.0

Chapter 7: Topology, Topometry and Topography Optimization 507 Topometry Optimization

2. Property name and FID > 0 can be used for element property values just like a Bulk Data entry DVPREL1. Only property name can be used for material property values like DVMREL1. If a property name is shared by both property and material (such as “A” for PROD and MAT1), this name is taken as a material name. The user must provide a FID for property name (FID=4 for PROD). PCOMPG, PBEAML, PBARL, PBMSECT, PBRSECT are not supported. If material property name is selected, PSHELL (with multiple MID inputs) must reference a unique material ID. 3. Combined topometry, topography, topology, sizing, and shape optimization is supported in a single file. However, topometry and topology cannot reference the same property ID. It is possible to topometry certain elements while sizing others. It is allowed to simultaneously design the same elements with topometry and desvar (sizing and/or shape) variables but topometry and sizing cannot reference the same property name. 4. Topometry optimization with element response constraints are slow due to many design variables. In this case, fully stressed design (FSD) can be used for certain problems 5. Parameters DESPCH and DESPCH1 specify when the topometry optimized design values are written to the element result history file jobname.des that can be imported to Patran and other post-processor to view topometry optimized results.

Output A regular SOL 200 summary table is produced. In addition, a Patran element result file jobname.des contains the optimal design values for each element. This Patran element result file can be imported to Patran a third party post-processor to display topometry optimization results. Two parameters DESCPH and DESPCH1 are used to specify in SOL 200 when the optimized topometry results are written to the jobname.des.

DESPCH

DESPCH specifies when the topometry optimized design values are written to the element result history file jobname.des. The Default = 0 writes the last design cycle only. DESPCH < 0 never. DEPSCH1 > 0 at every design cycle that is a multiple of DESPCH and the last design cycle.

DESPCH1

DESPCH1 > 0, write all topometry designed and non-designed element values to the element result history file jobname.des. 1.0 is assigned to the non-designed element value. DESPCH1 < 0, write all topometry designed element values to the element result history file jobname.des.

Guidelines and Limitations • MSCADS, method=4 (SUMT) is recommended for topology, topometry and topography

optimization with many constraints through the optimization control Bulk Data entry DOPTPRM.

Main Index

508 Design Sensitivity and Optimization User’s Guide Topometry Optimization

• Since SOL 200 adjoint design sensitivity analysis method does not support element responses

(such as stress), a direct design sensitivity analysis method is automatically selected for problems with element response constraints. In this case, topometry optimization with element response constraints are slow due to many design variables. Fully stressed design (FSD) can be used for certain problems. • Topology optimization can be used for analysis model properties PDAMP, PELAS, PMASS,

PBUSH, PVISC, PGAP, NSM, NSM1, PACBAR and PFAST. Topology optimization is limited to analysis properties that can reference material property MAT1. • P2 > 13 on DOPTPRM prints design variables in *.f06.

Example 1 - Three-bar Truss (tomex1.dat) A simple sizing optimization example three-bar truss (a TPL file DSOUG1.dat) is used here to demonstrate topometry optimization solved by the fully stressed design algorithm. Figure 7-61 shows the three-bar truss that must be built to withstand two separate loading conditions. The objective is to minimize structural weight and subjected to displacement and stress constraints. The sizing design variables are the cross-sectional areas. The detailed descriptions of analysis model and design optimization model can be seen in Three-Bar Truss.

Figure 7-61

Three Bar Truss

The goal of this example is to show an alternate method of setting design variables by a TOMVAR entry. The objective and constraints are not changed. In conventional sizing optimization, the set of DESVAR

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 509 Topometry Optimization

and DVPREL1 entries define the relations Ai=1.0Xi (i=1, 2, 3) where A is the rod element crosssectional area and X is the design variable. In DSOUG1.dat, we have: $...DESIGN VARIABLE DEFINITION $DESVAR ID LABEL XINIT XLB XUB DELXV(OPTIONAL) DESVAR 1 A1 1.0 0.1 100.0 DESVAR 2 A2 2.0 0.1 100.0 DESVAR 3 A3 1.0 0.1 100.0 $ $...DEFINITION OF DESIGN VARIABLE TO ANALYSIS MODEL PARAMETER $RELATIONS $DVPREL1 ID TYPE PID NAME PMIN PMAX C0 + $+ DVID1 COEF1 DVID2 COEF2 ... DVPREL1 10 PROD 11 A 1 1.0 DVPREL1 20 PROD 12 A 2 1.0 DVPREL1 30 PROD 13 A 3 1.0

In DSOUG1.dat, rod elements 11 and 12 have different property groups. Then, the DLINK entry is used to explicitly link the design variables 1 and 3 together. In this example, we try to do element-by-element optimization. Thus, we take three design variables (rod element cross-sectional areas) as independent variables. The rod elements 1 and 3 have the same property group (PROD=1). TOMVAR entry 1 (Listing 7-10) is used to define two independent design variables with an initial value = 1.0 (and element cross-sectional area = 1.0) for rod element 11 and 13 respectively. This is equivalent to four entries in DSOUG1.dat: DESVAR 1 DESVAR 3 DVPREL1 10 1 DVPREL1 30 3

A1 A3 PROD 1.0 PROD 1.0

1.0 2.0 11

0.1 0.1 A

13

A

100.0 100.0

TOMVAR entry 2 (Listing 7-10) is used to define one independent design variable with an initial value = 2.0 (and element cross-sectional area = 2.0) for rod element 12. This is equivalent to two entries in DSOUG1.dat: DESVAR 2 DVPREL1 20 2

A2 PROD 1.0

2.0 12

0.1 A

100.0

Input The input data for this example is given in Listing 7-10. Listing 7-10

Input File for Example 1

ID MSC TOMEX1 $ TIME 10 $ SOL 200 $ OPTIMIZATION CEND TITLE = THREE BAR TRUSS TOPOMETRY OPTIMIZATION SUBTITLE = 3 CROSS SECTIONAL AREAS AS DESIGN VARIABLES ECHO = SORT SPC = 100 DISP = ALL STRESS = ALL DESOBJ(MIN) = 20 $ (DESIGN OBJECTIVE = DRESP ID) DESSUB = 21 $ DEFINE CONSTRAINT SET FOR BOTH SUBCASES

Main Index

510 Design Sensitivity and Optimization User’s Guide Topometry Optimization

ANALYSIS = STATICS SUBCASE 1 LABEL = LOAD CONDITION 1 LOAD = 300 SUBCASE 2 LABEL = LOAD CONDITION 2 LOAD = 310 BEGIN BULK $ $-----------------------------------------------------------------------$ ANALYSIS MODEL $-----------------------------------------------------------------------$ $ GRID DATA $ 2 3 4 5 6 7 8 9 10 GRID 1 -10.0 0.0 0.0 GRID 2 0.0 0.0 0.0 GRID 3 10.0 0.0 0.0 GRID 4 0.0 -10.0 0.0 $ SUPPORT DATA SPC1 100 123456 1 THRU 3 $ ELEMENT DATA CROD 1 11 1 4 CROD 2 12 2 4 CROD 3 11 3 4 $ PROPERTY DATA PROD 11 1 1.0 PROD 12 1 2.0 MAT1 1 1.0E+7 0.33 0.1 $ EXTERNAL LOADS DATA FORCE 300 4 20000. 0.8 -0.6 FORCE 310 4 20000. -0.8 -0.6 $ $-----------------------------------------------------------------------$ DESIGN MODEL $-----------------------------------------------------------------------$ $...DESIGN TOPOMETRY DESIGN DEFINITION $TOMVAR, ID, PRYPE, PID, PNAME, XINIT, XLB, XUB, DELXV(OPTIONAL) TOMVAR, 1 , PROD, 11, 4 , 1., .1 , 100.0 TOMVAR, 2 , PROD, 12, 4 , 2., .1 , 100.0 $ $...STRUCTURAL RESPONSE IDENTIFICATION $DRESP1 ID LABEL RTYPE PTYPE REGION ATTA ATTB ATT1 + $+ ATT2 ... DRESP1 20 W WEIGHT DRESP1 21 U4 DISP 12 4 DRESP1 23 S1 STRESS PROD 2 11 12 $...CONSTRAINTS $DCONSTR DCID RID LALLOW UALLOW DCONSTR 21 21 -0.20 0.20 DCONSTR 21 23 -15000. 20000. $ $...OPTIMIZATION CONTROL (FULLY STRESSED DESIGN): $ DOPTPRM FSDMAX 20 DESMAX 0 P1 1 P2 15 $ $.......2.......3.......4.......5.......6.......7.......8.......9.......0 ENDDATA

Output A regular SOL 200 output can be found as: ***************************************************************

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 511 Topometry Optimization

S U M M A R Y O F D E S I G N C Y C L E H I S T O R Y *************************************************************** (HARD CONVERGENCE ACHIEVED) NUMBER OF FINITE ELEMENT ANALYSES COMPLETED NUMBER OF FULLY STRESSED DESIGN CYCLES COMPLETED NUMBER OF OPTIMIZATIONS W.R.T. APPROXIMATE MODELS

17 16 0

OBJECTIVE AND MAXIMUM CONSTRAINT HISTORY ----------------------------------------------------------------------------------------------------------OBJECTIVE FROM OBJECTIVE FROM FRACTIONAL ERROR MAXIMUM VALUE CYCLE APPROXIMATE EXACT OF OF NUMBER OPTIMIZATION ANALYSIS APPROXIMATION CONSTRAINT ----------------------------------------------------------------------------------------------------------INITIAL 4.828427E+00 -3.234952E-01 1 FSD 3.862742E+00 N/A -1.543690E-01 2 FSD 3.225798E+00 N/A -7.883203E-03 .... .... .... .... 16 FSD 2.741757E+00 N/A 1.664062E-04 DESIGN VARIABLE HISTORY ---------------------------------------------------------------------------------------------------------INTERNAL| EXTERNAL | DV. ID. | ELEMENT ID | LABEL | INITIAL : 1 : 2 : 3 : 4 : 5 ---------------------------------------------------------------------------------------------------------1 | 1 | TOMVAR | 1.0000E+00 : 8.0000E-01 : 6.8794E-01 : 6.8306E-01 : 6.9978E-01 : 7.2284E-01 2 | 3 | TOMVAR | 1.0000E+00 : 8.0000E-01 : 6.8794E-01 : 6.8306E-01 : 6.9978E-01 : 7.2284E-01 3 | 2 | TOMVAR | 2.0000E+00 : 1.6000E+00 : 1.2800E+00 : 1.0240E+00 : 8.1920E-01 : 6.5536E-01 ----------------------------------------------------------------------------------------------------------

Example 2 – Car Model Topometry Design A real complex example car body is used here to demonstrate topometry optimization for graphical postprocessing. This example also shows that SOL 200 is able to deal with very large optimization problems. The objective is to minimize structural compliance and keep weight unchanged. SOL 200 produces an element thickness distribution file *.des that can be used by Patran or other post-processors to view topometry optimization results.

Figure 7-62

Main Index

Optimal Thickness Distribution of Car Model - Note that this figure is meaningful only when viewed in color.

512 Design Sensitivity and Optimization User’s Guide Topometry Optimization

Post-processing Topometry Results 1. Read in the model through File->Import 2. Click File-> Import and in the Import form select Objects: Results and Format: Patran 2 .els… 3. In the Template for PATRAN 2.5 Import Results form select res_templates in Look in and then topo.res_tmpl from the list. Then click OK. 4. Click cancel to close the Import form

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 513 Topometry Optimization

5. Read jobname.des (in case of plies, the results are jobname.ply000n): Click Tools->Design Study->Post Process and select Action: Read Results, Object: Result Entities, Method: DES and then click Select Result files. After selecting the desired .des or .ply000n file, click OK and then Apply.

6. Click Results and in the Results form select Action:Create, Object:Fringe, the desired design cycle in Select Result Cases, Topology Optimization, Element Density in Select Fringe Result and then click Apply. See image below.

Main Index

514 Design Sensitivity and Optimization User’s Guide Topometry Optimization

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 515 Topography (Bead or Stamp) Optimization

Topography (Bead or Stamp) Optimization Introduction Topography optimization (also called bead or stamp optimization) is used to generate a design proposal for reinforcement bead patterns. In MSC Nastran R3, topography optimization is treated as a special shape optimization and built on SOL 200 shape optimization technology. In topography optimization, finite element grids are moved in as normal vectors to the shell surface or the user's given direction. New algorithms were developed to generate shape design variables and shape basis vectors automatically based on the user's provided bead dimension (minimum bead width, maximum bead height, and draw angle). Since many design variables are generated in the topography optimization, the adjoint design sensitivity analysis method and large scale optimizer play key roles in solving topography optimization problems.

Benefits • Topography optimization is particularly powerful for designing sheet metal parts. • Topography optimization can be used for all SOL 200 analysis types such as statics, normal

modes, buckling, complex eigenvalue, dynamic frequency response, and aeroelastic analyses.

Input The BEADVAR Bulk Data entry is used to define topography design regions. 1

2

3

4

5

6

7

8

9

BEADVAR

ID

PTYPE

PID

MW

MH

ANG

BF

SKIP

YD

ZD

CID

XLB

XUB

DELXV

“DESVAR” NORM/XD “GRID” Field

Main Index

NGSET

10

DGSET Contents

ID

Unique topography design region identification number. (Integer > 0)

PTYPE

Property entry type. Used with PID to identify the element nodes to be designed. (Character: “PSHELL”, “PSHEAR”, “PCOMP”, or “PCOMPG”.)

PID

Property entry identifier. See Remark 1. (Integer > 0)

MW

Minimum bead width. This parameter controls the width of the beads. The recommended value is between 1.5 and 2.5 times the average element width. See Remark 2. (Real > 0.0)

MH

Maximum bead height (Real > 0.0). This parameter sets the maximum height of the beads when XUB=1.0 (as Default). See Remark 2.

516 Design Sensitivity and Optimization User’s Guide Topography (Bead or Stamp) Optimization

Field

Main Index

Contents

ANG

Draw angle in degrees (0.0 < Real < 90.0). This parameter controls the angle of the sides of the beads. The recommended value is between 60 and 75 degrees.

BF

Buffer zone ('yes' or 'no'; Default='yes'). This parameter creates a buffer zone between elements in the topography design region and elements outside the design region when BF='yes'. See Remark 3.

SKIP

Boundary skip (“bc”, “load”, “both”, or “none”; Default = “both”). This parameter indicates which element nodes are excluded from the design region. “bc” indicates all nodes referenced by “SPC” and “SPC1” are omitted from the design region. "load" indicates all nodes referenced by “FORCE”, “FORCE1”, “FORCE2”, “MOMENT”, “MOMENT1”, “MOMENT2”, and “SPCD” are omitted from the design region. “both” indicates nodes with either “bc” or “load” are omitted from the design region. “none” indicates all nodes associated with elements referencing PID specified in field 4 are in the design region.

“DESVAR”

Indicates that this line defines bead design variables that are automatically generated.

NORM/XD, YD, ZD

Bead vector (draw direction). Norm indicates the shape variables are created in the normal directions to the elements. If XD, YD, and ZD are provided, the shape variables are created in the direction specified by the xyz vector defied by XD/YD/ZD that is given in the basic coordinate system or CID. See Remark 4. (Character or Real, Default = blank = norm).

CID

Coordinate system ID used for specifying draw direction (Blank or Integer > 0; Default = blank = basic coordinate system)

XLB

Lower bound. (Real < XUB or blank; Default = blank = 0.0). This ensures the lower bound on grid movement equal to XLB*MH. See Remark 5.

XUB

Upper bound. (Real > XLB or blank; Default = 1.0). This sets the upper bound of the beads equal to XUB*MH. See Remark 5.

DELXV

Fractional change allowed for the design variable during approximate optimization. See Remark 3. (Real > 0.0; Default = 0.2)

“GRID”

Indicates this line defines what element nodes can be added and/or removed from topography design regions.

NGSET

All grids listed on Bulk Data entry SET1 = NGSET are removed from topography design regions.

DGSET

All grids listed on Bulk Data entry SET1 = DGSET are added to topography design regions.

Chapter 7: Topology, Topometry and Topography Optimization 517 Topography (Bead or Stamp) Optimization

Remarks: 1. Multiple BEADVAR’s are allowed in a single file. Combined topometry, topology, topography, sizing, and shape optimization is supported in a single file. 2. The user can provide allowable bead dimensions. MW

MH ANG

Bead Dimensions 3. It is recommended to set buffer zone = yes to maintain a good quality of mesh during topography optimization. Design elements Buffer zone

Nondesign elements

No buffer zone

Nondesign elements

4. The grids moves in the normal direction. All element grids referenced by one BEADVAR entry must follow the right hand rule.

Main Index

518 Design Sensitivity and Optimization User’s Guide Topography (Bead or Stamp) Optimization

Element normal vectors

Optimized

Baseline surface

surface Element Normal

User defined draw vector

Optimized surface

Baseline surface

User’s Provided Draw Direction 5. To force the grids to move only in the positive bead vector direction (one side of the surface), use XLB = 0.0. To force the grids to move only in the negative bead vector direction (another side of the surface), use XUB = 0.0. To allow girds to move in both positive and negative bead vector directions, use XLB < 0.0 and XUB > 0.0. For example,

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 519 Topography (Bead or Stamp) Optimization

Bead Vector Bead Vector

Base Surface

Optimized Surface

(a) XLB = 0.0 and XUB = 1.0

Optimized Surface

(b) XLB = -1.0 and XUB = 0.0 (c) XLB = -1.0 and XUB = 1.0

6. The jobname.op2 has topography results (shape change) that can be viewed in Patran. The text file jobname.pch also has updated grid coordinates that can be copied to replace the grids in the original file, and imported to Patran on other post-processors to view topography optimization results.

Outputs A regular SOL 200 design history summary table is produced. The jobname.op2 (with PARAM,POST,1) and jobname.pch can be imported to Patran and other post-processors to view topography optimization results.

Guidelines and Limitations • MSCADS, method=4 (SUMT) is recommended for many constraint problems through the

optimization control Bulk Data entry DOPTPRM. • Since SOL 200 adjoint design sensitivity analysis method does not support element responses

(such as stress), a direct design sensitivity analysis method is automatically selected for problems with element response constraints. In this case, topography optimization with element response constraints is slow. • Since adjoint design sensitivity analysis does not support rigid body elements (RBE1, RBE2,

RBE3, RROD, RBAR, RTRPLT, RSPLINE), all grids connected to rigid body elements must be fixed in topography optimization for static and dynamic frequency response analyses. • The minimum bead width and maximum bead height have significant effects on optimal designs.

A smaller minimum bead width results in more small beads. • Mesh distortion is a challenge for topography optimization. It is recommended that a relatively

coarse mesh be used for highly curved areas.

Main Index

520 Design Sensitivity and Optimization User’s Guide Topography (Bead or Stamp) Optimization

• P2 > 13 on DOPTPRM prints design variables in *.f06

Example 3 – A Square (togex1.dat) A square model shown in Figure 7-63 is used to demonstrate MSC Nastran R3 topography optimization capabilities. The square is modeled with quadrilateral plate elements (CQUAD4) and is fixed at all four edges. The objective is to maximize the first frequency of the structure with a given bead dimension (minimum bead width = 10.0, maximum bead height = 20.0, draw angle = 70.0).

Figure 7-63

A Square

Input The input data for this example is given in Listing 7-11. The Bulk Data entry 1 defines the topography designable region. It is noticed that element normals are used for bead vectors (draw direction) and all grids associated with the boundary condition are fixed during optimization. PARAM, POST, -1 outputs results for Patran. Listing 7-11

Input File for Example 2

$Topography opt example one SOL 200 CEND TITLE = MSC Nastran job created on 28-Nov-07 ECHO = NONE $ Direct Text Input for Global Case Control Data DESOBJ(MAX) = 1 SUBCASE 1 $ Subcase name : Default SUBTITLE=Default SPC = 2 METHOD = 1 DISPLACEMENT(SORT1,REAL,PLOT)=ALL ANALYSIS=MODES BEGIN BULK EIGRL,1,,,20

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 521 Topography (Bead or Stamp) Optimization

$ Direct Text Input for Bulk Data $ Elements and Element Properties for region : ps1 $ $ BEADVAR, ID, TYPE, PID, MW, MH, ANG, BF, SKIP. $ BEADVAR, 1 , PSHELL, 1, 10., 20.0, 70.0, YES, BOTH DRESP1, 1, MODES, FREQ,,,1 PARAM POST -1

Output Figure 7-64 shows the topography optimized result by using Patran. The first frequency has increased from 0.568HZ at the initial design to 4.78 HZ.

Figure 7-64

Main Index

522 Design Sensitivity and Optimization User’s Guide Topography (Bead or Stamp) Optimization

Postprocessing Topography Results 1. Run the Topography job. Create a new Patran database and read model and results from .op2 file. 2. Click Results-> Action Create, Object Deformation 3. Select the Final Results Case 4. Pick the desired case and Shape Change

Figure 7-65

Selecting Shape Change

5. Modify the Display Attributes by setting deformed color to red, undeformed color to white and scale to True Scale.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 523 Topography (Bead or Stamp) Optimization

Figure 7-66

Setting Display Attributes

6. Result will show the original mesh (white) and optimization results in relief (red).

Main Index

524 Design Sensitivity and Optimization User’s Guide Topography (Bead or Stamp) Optimization

Figure 7-67

Main Index

Optimized bead pattern

Chapter 7: Topology, Topometry and Topography Optimization 525 Toptomization

Toptomization The Toptomize feature of Patran allows for the pre-processing of any Topology, Topometry or Topography job. This section illustrates setting up of Topometry and Topography jobs through examples.

Example 1 A square plate is supported at the four corners and a point load acting normal to the plate is applied at its centre. The bead pattern is to be designed such that the compliance will be minimized subject to a constraint on the volume. Follow the procedure below to pre-process the optimization problem in Patran. (It is assumed that the model, properties and load cases have already been created.) Step 1: Select Toptomize Click Analysis. On the Analysis form, select Action: Toptomize, Object: Entire Model, Method: Analysis Deck.

Main Index

526 Design Sensitivity and Optimization User’s Guide Toptomization

Figure 7-68

Initiating Toptomize for Topography Optimization

Step 2: Select Topography optimization, objective(s) and constraints a. On the Analysis form, click the Objectives and Constraints tab. On the Objectives and Constraints form, select Type: Topography. b. Select Objective Function(s) as Minimize Compliance or Maximize Frequency/Eigenvalue (both can also be selected if required). If Maximize Frequency/Eigenvalue is selected, then the desired mode number for which frequency is to be maximized needs to be entered in Mode Number(s) (comma or space separated). There is also the option for requesting Mode Tracking by checking the Track Modes check box. In this example, Minimize Compliance is selected.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 527 Toptomization

c. Frequency constraint can be set by entering the mode number and corresponding lower bound on frequency (the user can set multiple frequency constraints) in Frequency Constraint Target(s). (Not used in this example). d. Enter constraint on volume or weight in Constraint Target. (Volume is selected and target of 10 is entered in this example) e. Click OK.

Figure 7-69

Creating objective and constraint

Step 3: Enter the fields of BEADVAR entry a. On the Analysis form, click on the Optimization Control tab. b. In the Optimization Control Parameters form, enter Lower Bound, Upper Bound, Minimum Bead Width, Maximum Bead Height and Draw Angle. c. Check the Buffer Zone and allow the default value on SKIP field by selecting Both on the Exclude from Design option. d. The user can also specify the values for maximum number of design cycles (DESMAX), move limit (DELXV) and convergence tolerance (CONV1).

Main Index

528 Design Sensitivity and Optimization User’s Guide Toptomization

Figure 7-70

Creating the BEADVAR entry

Step 4: Select the Properties to be designed and enter the DESVAR and GRID lines of the BEADVAR entry. a. On the Analysis form, click the Design Domain tab. b. In the Design Domain form, click prop1 property in Valid Properties. c. Click the Manufacturing Constraints tab. d. In the Manufacturing Constraints form, select the Normal radio button in Extrusion direction. e. Nodes to be excluded from or included to the design can also be entered in the form.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 529 Toptomization

Figure 7-71

Manufacturing constraints

Step 5: Select the subcases a. On the Analysis form, click on the Subcase Select tab. b. In the Subcase Select form, select Solution Type 101 Linear Static. Select the created subcase from the Subcases Available list. (For composite objective such as sum of average compliance of static subcases and frequency of selected mode number in Step b, Solution Type 103 and available Normal Modes subcase can also be selected.) c. Click OK. d. Click Apply on Analysis form to generate the input deck.

Main Index

530 Design Sensitivity and Optimization User’s Guide Toptomization

Figure 7-72

Selecting subcase

Example 2 The bridge problem is to be designed by continuous variation of shell thickness by using the TOMVAR entry. Follow the procedure below to pre-process the optimization problem in Patran. (It is assumed that the model, properties and load cases have already been created.) Step 1: Select Toptomize as in Step 1of Example 1 above. Step 2: Select Topometry Optimization and enter Objective Function and Constraints a. Click the Objectives and Constraints tab on the Analysis form.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 531 Toptomization

b. In the Objectives and Constraints form, select Type: Topometry. c. Select Minimize Compliance as the Objective Function(s). d. Select Mass Fraction as the Constraint Target and enter the value of the upper bound on fractional mass. (Also available are weight and volume constraints). e. Click OK.

Figure 7-73

Toptomize for topometry optimization

Step 3: Selecting the property to be designed and entering the bounds on it a. On the Analysis form click on the Optimization Control tab. b. In the Optimization Control Parameters form, enter the values of XINIT, XLB, XUB, and DELXV. c. Select the property to be designed, In this example we select the Thickness. d. Click OK.

Main Index

532 Design Sensitivity and Optimization User’s Guide Toptomization

Figure 7-74

Property to Optimize

Step 4: Select the Design Domain a. On the Analysis form click on the Design Domain tab. b. In the Design Domain form, click on the prop1 property in Valid Properties. Then click OK.

Main Index

Chapter 7: Topology, Topometry and Topography Optimization 533 Toptomization

Figure 7-75

Design Domain

Step 5: Select the subcases (same as Step 5: in example 1 above). This creates the deck for topometry optimization.

Main Index

534 Design Sensitivity and Optimization User’s Guide Toptomization

Main Index

Chapter 8: Example Problems Design Sensitivity and Optimization User’s Guide

8

Main Index

Example Problems

Introduction

536

Three-Bar Truss

Vibration of a Cantilevered Beam (Turner's Problem)

Cantilevered Plate

Stiffened Plate

Dynamic Response Optimization

Twenty-Five Bar Truss, Superelement and Discrete Variable Optimization 592

Design Optimization with Composite Materials with Fully Stressed Design 600

Acoustic Optimization

RMS Response

Transient Dynamic Optimization

External Response to Include Alternative Buckling Response

Continuing the Design Process in a Subsequent Job

538 561

566

575 581

607

615 622

638

627

536 Design Sensitivity and Optimization User’s Guide Introduction

Introduction This chapter includes a wide range of examples intended to highlight and illustrate the Design Sensitivity and Optimization features of MSC Nastran. Though by no means exhaustive, these seventeen examples cover most major features including both Property and Shape Optimization, Dynamic Response Optimization, Superelements, Composites, Acoustic Responses, Discrete Variables, Fully Stressed Design, External Responses and Restarts. Aeroelastic Optimization examples are presented in the MSC Nastran Aeroelastic Analysis User’s Guide. Running these examples on your own machine is a good way to familiarize yourself with some of the capabilities in MSC Nastran. The iterative nature of optimization is such that different versions of MSC Nastran and different computer platforms could result in different results from those shown here. It is expected that these differences will be small. All of these files are available in a directory delivered with your system. The install_dir/msc20xx/nast directory on UNIX and install_dir\msc20xx\nast directory on Windows contain these directories, news, documentation, and sample problems for MSC Nastran. (msc20xx represents your version of MSC Nastran - replace the ‘xx’ with your specific version.) instest.dat

nast

tpl

demo

news.txt

misc

del

rfa

sssalter

doc

error.lis

archive

relnotes

linstat

thermal

dynamics

desopt

The installation of MSC Nastran at your site includes the desopt directory, which is shaded in the above figure. It contains all the input files associated with this chapter. If you are unable to find these files, you should contact your System Administrator for assistance. Another good way to learn is by modifying these files. You might try adding Shape variables to a Property Optimization example, adding analysis disciplines, modifying the constraints, and so on. Most of these files are relatively small, and should not incur any great CPU-related costs. In any event, the

Main Index

Chapter 8: Example Problems 537 Introduction

time spent learning with simple examples can more than pay for itself when faced with larger, more complex problems. Note:

Main Index

The results shown in this guide were obtained from MSC Nastran 2001, 2004, and MSC 2010 running on Linux and Windows platforms. Results from running these cases on different platforms or versions of MSC Nastran may result in somewhat different results, but they should be similar.

538 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

Three-Bar Truss A common task in design optimization is to reduce the mass of a structure subjected to several load conditions. Figure 8-1 shows a simple three-bar truss that must be built to withstand two separate loading conditions. Note that these two loads subject the outer truss members to both compressive as well as tensile loads. Due to the loading symmetry, we expect the design to be symmetric as well. As an exercise, we'll show how to enforce this symmetry using design variable linking. Y

10”

10” 2

1

3

X

3 1

A3

A1

10”

2 4

20,000 lbs (Subcase 2)

Figure 8-1

20,000 lbs (Subcase 1)

Three-Bar Truss

An important, but often overlooked consideration is that the optimization capability in MSC Nastran is multidisciplinary. That is, the final optimal design is the result of a simultaneous consideration of all analysis disciplines across all subcases. In this case, the optimal three-bar truss design will satisfy the load requirements for both statics subcases, which is to be expected. (If, for example, a normal modes or buckling subcase were to be added, the resultant design would have to not only satisfy the static strength requirements, but also constraints on eigenvalues. As an exercise you may wish to try adding an eigenvalue constraint.)

Main Index

Chapter 8: Example Problems 539 Three-Bar Truss

Analysis Model Description Three rod (pin-jointed) structure in the x-y plane Symmetric structural configuration with respect to the y axis Two distinct 20,000 lb load conditions Material:

E = 1.0E7 psi Weight density = 0.1 lbs/in3

Design Model Description Objective:

Minimization of structural weight

Design variable:

Cross-sectional areas A1, A2, and A3 Design variable linking such that A3 = A1

Constraints:

Allowable stress:

Tensile 20,000 psi Compressive = -15,000 psi

Displacement:

+ 0.2 at grid 4 in x end of y directions

The input data for this problem is given in Listing 8-1. Grid, element, and load data are assigned based on the data supplied in the figure. The two separate static load cases are defined in Solution 200 Case Control using the parameter ANALYSIS = STATICS. Listing 8-1

Input File for DSOUG1

ID MSC DSOUG1 $ TIME 10 $ SOL 200 $ OPTIMIZATION CEND TITLE = SYMMETRIC THREE BAR TRUSS DESIGN OPTIMIZATION DSOUG1 SUBTITLE = BASELINE - 2 CROSS SECTIONAL AREAS AS DESIGN VARIABLES ECHO = SORT SPC = 100 DISP = ALL STRESS = ALL DESOBJ(MIN) = 20 $ (DESIGN OBJECTIVE = DRESP ID) DESSUB = 21 $ DEFINE CONSTRAINT SET FOR BOTH SUBCASES ANALYSIS = STATICS SUBCASE 1 LABEL = LOAD CONDITION 1 LOAD = 300 SUBCASE 2 LABEL = LOAD CONDITION 2 LOAD = 310 BEGIN BULK $ $-----------------------------------------------------------------------$ ANALYSIS MODEL $-----------------------------------------------------------------------$ $ GRID DATA $ 2 3 4 5 6 7 8 9 10 GRID 1 -10.0 0.0 0.0

Main Index

540 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

GRID 2 0.0 0.0 0.0 GRID 3 10.0 0.0 0.0 GRID 4 0.0 -10.0 0.0 $ SUPPORT DATA SPC1 100 123456 1 THRU 3 $ ELEMENT DATA CROD 1 11 1 4 CROD 2 12 2 4 CROD 3 13 3 4 $ PROPERTY DATA PROD 11 1 1.0 PROD 12 1 2.0 PROD 13 1 1.0 MAT1 1 1.0E+7 0.33 0.1 $ EXTERNAL LOADS DATA FORCE 300 4 20000. 0.8 -0.6 FORCE 310 4 20000. -0.8 -0.6 $ $-----------------------------------------------------------------------$ DESIGN MODEL $-----------------------------------------------------------------------$ $...DESIGN VARIABLE DEFINITION $DESVAR ID LABEL XINIT XLB XUB DELXV(OPTIONAL) DESVAR 1 A1 1.0 0.1 100.0 DESVAR 2 A2 2.0 0.1 100.0 DESVAR 3 A3 1.0 0.1 100.0 $ $...IMPOSE X3=X1 (LEADS TO A3=A1) $DLINK ID DDVID CO CMULT IDV1 C1 IDV2 C2 + $+ IDV3 C3 ... DLINK 1 3 0.0 1.0 1 1.00 $ $...DEFINITION OF DESIGN VARIABLE TO ANALYSIS MODEL PARAMETER RELATIONS $DVPREL1 ID TYPE PID NAME PMIN PMAX C0 + $+ DVID1 COEF1 DVID2 COEF2 ... DVPREL1 10 PROD 11 A 1 1.0 DVPREL1 20 PROD 12 A 2 1.0 DVPREL1 30 PROD 13 A 3 1.0 $ $...STRUCTURAL RESPONSE IDENTIFICATION $DRESP1 ID LABEL RTYPE PTYPE REGION ATTA ATTB ATT1 + $+ ATT2 ... DRESP1 20 W WEIGHT DRESP1 21 U4 DISP 12 4 DRESP1 23 S1 STRESS PROD 2 11 12 13 $...CONSTRAINTS $DCONSTR DCID RID LALLOW UALLOW DCONSTR 21 21 -0.20 0.20 DCONSTR 21 23 -15000. 20000. $ $...OPTIMIZATION CONTROL: $ DOPTPRM DESMAX 10 DELP 0.5 P1 1 P2 15 $ $.......2.......3.......4.......5.......6.......7.......8.......9.......0 ENDDATA

Turning to the design model description, we see three design variables are used to control the individual rod element cross-sectional areas. The set of DESVAR, DVPREL1 entries define the relations: A i = 1.0X i

Main Index

i = 1 2 3

(8-1)

Chapter 8: Example Problems 541 Three-Bar Truss

Note that the initial design variable values are equal to the initial rod cross-sectional areas. With the multiplying coefficients of 1.0 on the DVPREL1 entries, the design model and the initial analysis model properties agree. Thus, no design model override takes place. Since the model is symmetric and the two loading cases act to impose the same critical design loads on each side of the plane of symmetry, we expect the optimizer to yield a symmetric final design with A1 = A3. We may want to enforce some type of symmetry ourselves, perhaps to address ease-of-manufacture concerns. This can be done using the DLINK entry to explicitly link design variables together. Although strictly not necessary, DLINK 1 is used to define the relation X 3 = 1.0X 1

(8-2)

The value of X 3 now depends on X 1 . The optimizer now only needs to consider two independent design variables X 1 and X 2 instead of three. This not only simplifies the problem, but also reduces the cost of the sensitivity analysis. These cost savings can be significant in a larger problem. An alternate method of linking would have been placing rod elements 11 and 13 in the same property group. The DLINK entry would then be unnecessary since a single design variable could control the areas of all elements of the group. You may want to try this formulation yourself to see that the results are indeed identical. Alternatively, you may wish to remove the DLINK entry to assure yourself that MSC Nastran will produce a symmetric design in this case even when the design model allows for X1  X3 . DRESP1 entries define the design responses: displacement and stress responses which are to be constrained and the weight response that is to be used as the objective. Note that the objective and constraints are called out in Case Control. The DESOBJ command points to the weight response defined on DRESP1 20, while the DESSUB command identifies DCONSTR set 21. Since this appears above the subcase level, the constraint bounds will be applied to both subcases. A DOPTPRM entry is used to override some of the default optimization parameters. DESMAX, or the maximum number of design cycles to be performed, has been increased from the default of 5 to 10. (If convergence is indicated, fewer than 10 cycles may be performed.) DELP has also been increased from its default of 0.2 to 0.5. This allows any analysis model parameter to undergo changes of up to 50% on each design cycle. As was discussed in Move Limits, this provides move limits on the approximate model. And finally, IPRINT, P1, and P2 have all been increased from their defaults to allow more diagnostic output. Turning to the results of the optimization, we see from the hard convergence decision logic output that the problem converges to a feasible design since all constraints are satisfied at the optimum. Note that the properties and design variables have still changed appreciably from their values on the previous design cycle. This suggests that we may have some flexibility in choosing final dimensions for our design without greatly affecting the overall weight. The summary of design cycle history and the design variable history tables both indicate that convergence was achieved in six iterations. A total of seven finite element analyses were performed, one for the initial analysis and one in connection with each of the design cycles. Also listed in the summary of design cycle history is the fractional error of approximation in the objective function, which compares the approximate objective function on exit from the optimizer with the true value computed from the

Main Index

542 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

subsequent finite element analysis. This is an indication of the quality of the objective function approximation. Since the weight is linear in the design variables  W = L 1 X 1 + L 2 X 2 + L 3 X 3  , we expect the linearized weight objective to be an exact approximation; this indeed is seen to be the case, except for a small amount of numerical "noise". Caution should be used when interpreting the data appearing the the fractional error of approximation column. One might be tempted to use the fractional error of approximation information as justification for increasing the move limits (DELP and DELX on the DOPTPRM entry, and/or DELXV on the DESVAR entry) in order to achieve convergence earlier. This might not yield the expected results. In this case, the linear objective function was approximated linearly, which is exact. However, the stress constraints in this problem are proportional to the inverse of the cross sectional areas, and are thus nonlinear in the design variables. Too large of a move limit could lead to increased approximation errors. Here, the mixed method of approximation was used, which we know to be pretty good at approximating sizing-type stress constraints. Thus, increasing move limits to 50% is reasonable, as it will probably save us the cost of a few additional finite element analyses. A recommendation would be to stick with the defaults, unless something is known about the problem beforehand that would indicate enhanced efficiency by changing them.

Main Index

Chapter 8: Example Problems 543 Three-Bar Truss

Listing 8-2

Selected Output for DSOUG1

***** NORMAL CONVERGENCE CRITERIA SATISFIED ***** (HARD CONVERGENCE DECISION LOGIC) ************************************************************************************** CONVERGENCE ACHIEVED BASED ON THE FOLLOWING CRITERIA (HARD CONVERGENCE DECISION LOGIC) RELATIVE CHANGE IN OBJECTIVE 9.9111E-04 MUST BE LESS THAN 1.0000E-03 OR ABSOLUTE CHANGE IN OBJECTIVE 2.6741E-03 MUST BE LESS THAN 1.0000E-20 --- AND --MAXIMUM CONSTRAINT VALUE 2.4029E-03 MUST BE LESS THAN 5.0000E-03 (CONVERGENCE TO A FEASIBLE DESIGN) --- OR --MAXIMUM OF RELATIVE PROP. CHANGES 6.1176E-02 MUST BE LESS THAN 1.0000E-03 AND MAXIMUM OF RELATIVE D.V. CHANGES 6.1176E-02 MUST BE LESS THAN 1.0000E-03 (CONVERGENCE TO A BEST COMPROMISE INFEASIBLE DESIGN) ************************************************************************************** *************************************************************** S U M M A R Y O F D E S I G N C Y C L E H I S T O R Y *************************************************************** (HARD CONVERGENCE ACHIEVED) NUMBER OF FINITE ELEMENT ANALYSES COMPLETED 8 NUMBER OF OPTIMIZATIONS W.R.T. APPROXIMATE MODELS 7 OBJECTIVE AND MAXIMUM CONSTRAINT HISTORY --------------------------------------------------------------------------------------------------------------OBJECTIVE FROM OBJECTIVE FROM FRACTIONAL ERROR MAXIMUM VALUE CYCLE APPROXIMATE EXACT OF OF NUMBER OPTIMIZATION ANALYSIS APPROXIMATION CONSTRAINT --------------------------------------------------------------------------------------------------------------INITIAL 4.828427E+00 -3.234952E-01 1 3.012648E+00 3.012949E+00 -9.994284E-05 -5.576856E-03 2 2.822569E+00 2.822634E+00 -2.289048E-05 -1.737715E-02 3 2.735552E+00 2.735578E+00 -9.325558E-06 -3.660352E-03 4 2.711009E+00 2.711009E+00 8.794460E-08 -3.000000E-04 5 2.702893E+00 2.702891E+00 9.702960E-07 1.269531E-05 6 2.698114E+00 2.698095E+00 7.245974E-06 9.239258E-04 7 2.695410E+00 2.695421E+00 -3.891941E-06 2.402930E-03 --------------------------------------------------------------------------------------------------------------1 SYMMETRIC THREE BAR TRUSS DESIGN OPTIMIZATION DSOUG1 SEPTEMBER 7, 2009 MSC NASTRAN 9/ 4/09 PAGE 80 BASELINE - 2 CROSS SECTIONAL AREAS AS DESIGN VARIABLES 0 DESIGN VARIABLE HISTORY ------------------------------------------------------------------------------------------------------------------INTERNAL | EXTERNAL | DV. ID. | DV. ID. | LABEL | INITIAL : 1 : 2 : 3 : 4 : 5 ------------------------------------------------------------------------------------------------------------------1 | 1 | A1 | 1.0000E+00 : 7.1168E-01 : 7.7885E-01 : 7.9878E-01 : 8.1423E-01 : 8.2945E-01 2 | 2 | A2 | 2.0000E+00 : 1.0000E+00 : 6.1972E-01 : 4.7627E-01 : 4.0803E-01 : 3.5686E-01 3 | 3 | A3 | 1.0000E+00 : 7.1168E-01 : 7.7885E-01 : 7.9878E-01 : 8.1423E-01 : 8.2945E-01 ------------------------------------------------------------------------------------------------------------------INTERNAL | EXTERNAL | DV. ID. | DV. ID. | LABEL | 6 : 7 : 8 : 9 : 10 : 11 ------------------------------------------------------------------------------------------------------------------1 | 1 | A1 | 8.3904E-01 : 8.3107E-01 : 2 | 2 | A2 | 3.2493E-01 : 3.4481E-01 : 3 | 3 | A3 | 8.3904E-01 : 8.3107E-01 : *** USER INFORMATION MESSAGE 6464 (DOM12E) RUN TERMINATED DUE TO HARD CONVERGENCE TO AN OPTIMUM AT CYCLE NUMBER =

We will now see how the input deck for this example can be created in Patran.

Main Index

7.

544 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

Step 1: Open the Pre-Process Form a. Click ToolsDesign Study Pre-Process

Figure 8-2

Initiating Pre-process

Step 2: Create Design Variables Since we are designing the area which is a property on the PROD entry, we can create design variables easily by Property. a. On the Pre-Process form, select Action: Create, Object: Design Variable, Type: Property. b. Select Dimension: 1D and Type: Rod.

Main Index

Chapter 8: Example Problems 545 Three-Bar Truss

Figure 8-3

Creating Design Variables

c. Then click the Select Property Set(s) icon and select prod1, click Select Property icon and select Area. d. Select Input Bounds as Lower/Upper and Value and enter the values 0.1 and 100.0 for Lower (L) and Upper (U), respectively. e. Click Apply. f. Similarly create design variables for area of prod2 and prod3.

Main Index

546 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

Figure 8-4

Setting Bounds on Design Variables

Step 3: Create relation between design variables (area of prod3 = area of prod1) a. Select Action: Create, Object: Variable Relation, Type: General (DLINK) b. Enter 0.0 for Constant Term (C0) and 1.0 for Multiplier (CMULT). c. Select prod3_Area in Dependent Design Variable list. d. Click Define Indep Terms and select prod1_Area in Select Design Variable (IDVi) list on the General (DLINK) Independent Terms form. e. Click OK and Apply.

Main Index

Chapter 8: Example Problems 547 Three-Bar Truss

Figure 8-5

Main Index

Creating variable linking: DLINK

548 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

Relation between design variables can also be set very easily, in this case, by selecting Type: Property Relation. Simply select the Dependent Property Set as prod3 and Property Name as Area, and Independent Property Set as prod1 and Property Name as Area. (Note that design variables prod1_Area and prod3_Area need not be defined prior to this step because the two design variables and their relation are automatically created.)

Figure 8-6

Main Index

Creating variable linking: Property relation

Chapter 8: Example Problems 549 Three-Bar Truss

Figure 8-7

Define Property Relation

Step 4: Create Objective a. Select Action: Create, Object: Objective, Solution: Global, Response: Weight and Min/Max: Minimize. b. Enter weight in Objective Name and click Apply.

Main Index

550 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

Figure 8-8

Creating Objective

Step 5: Create Displacement and Stress Constraints a. Select Action: Create, Object: Constraint, Solution: Linear Static, Response: Displacement b. Enter disp_u_4 for Constraint Name, select FEM radio button for Constraint and pick node 4 to Select Node. c. Select TX for Displacement Component (another constraint has to be created for TY because Patran does not allow selection of more than one component) and enter values -0.2 and 0.2 for Lower Bound and Upper Bound respectively. d. Click Apply. e. For the stress constraints, repeat step 1, but select Stress for the Response.

Main Index

Chapter 8: Example Problems 551 Three-Bar Truss

f. Enter sigma_123 for Constraint Name, select P_Set for Constraint Region (by Property) and select all properties in Select Existing Properties list. g. Select Axial for Stress Component and enter values -15000 and 20000 for Lower Bound and Upper Bound, respectively.

Figure 8-9

Creating constraints

We can also add a normal modes constraint. While it is not required for this example, we will take up this step to illustrate how multidisciplinary optimization decks can be set up using Patran. Step 6: Creating normal modes constraint a. Select Action: Create, Object: Constraint, Solution: Normal Modes, Response: Frequency. b. Enter mode1 for Constraint Name, 1 for Frequency Mode Number and 10 for Upper Bound. c. Click Apply.

Main Index

552 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

Figure 8-10

Creating normal modes constraint

Since the stress and displacement constraints will be considered for both the static load cases and normal modes constraint will be considered only for the normal modes subcase, we need to create constraint sets which will be selected for the corresponding subcases. Step 7: Creating the static and modes constraint sets a. Select Action: Create, Object: Constraint Set, Solution: Linear Static. b. Enter staticset in Constraint Set Name, select all the constraints in the Constraints to be Included list (note that only the static case constraints are listed). Click Apply. c. Now change the Solution to Normal Modes, enter modeset in Constraint Set Name, select the constraint mode1 in the Constraints to be Included list. Click Apply.

Main Index

Chapter 8: Example Problems 553 Three-Bar Truss

Figure 8-11

Creating Constraint Sets

Step 8: Create a Design Study a. Select Action: Create, Object: Design Study and enter ds1 for Design Study Name. b. In Design Study Setup, click the Select Design Variables tab. c. Enter Design Values (it is equal to the Analysis Values in this case) and lower bounds as 0.1 and upper bounds as 100 for each of the three design variables in the table. d. Click the Select Objective tab. Click the Select All radio button. Click Close. e. Repeat step 4 for Select Constraint Sets and Select Variable Relations. f. Click Apply.

Main Index

554 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

Figure 8-12

Creating Design Study

Step 9: Creating Subcases and overwriting default Optimization Parameters a. Click Analysis. Select Action: Optimize, Object: Entire Model, Method: Analysis Deck. b. Click the Design Study Select tab and select ds1. c. Click the Global Obj./Constr. Select tab and select weight. d. Click the Optimization Parameters tab. In the Optimization Parameters form, change DESMAX to 10 (default is 5), check Print Objective and Design Variables, Print Properties, Print All Constraints and Print All Responses (this is equivalent to P2 =15 on DOPTPRM entry).

Main Index

Chapter 8: Example Problems 555 Three-Bar Truss

e. Change the value of P1 to 1 (default is 0). f. Click the Advanced Optimization Parameters tab. g. In the Advanced Optimization Parameters form, change the DELP value to 0.5 (default is 0.2). Click OK.

Main Index

556 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

Figure 8-13

Main Index

Setting Optimization Parameters

Chapter 8: Example Problems 557 Three-Bar Truss

Figure 8-14

Setting up objectives and constraints

Now the two static and one normal modes subcases will be created h. Click the Subcase tab. i. In Subcase Create form, select Solution Type: 101 LINEAR STATIC. j. From Available Subcases, select lc1. Click the Constraints/Objective tab. k. In Set Up Constraints/Objective form, select Type: Constraints/Objective. Selct Constraint Sets radio button and select staticset from Select Existing Constraint Sets list. l. Click OK and Apply. m. Similarly create lc2 subcase. n. To create the normal modes subcase, select Solution Type: 103 NORMAL MODES and select modeset from Select Existing Constraint Sets list. o. Click Subcase Parameters tab and fill up the form.

Main Index

558 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

Figure 8-15

Main Index

Subcase Parameters

Chapter 8: Example Problems 559 Three-Bar Truss

Figure 8-16

Selecting Subcases

p. Click Subcase Select tab and select the two static subcases and one modal subcase just created. q. Click Apply to get the SOL 200 deck.

Main Index

560 Design Sensitivity and Optimization User’s Guide Three-Bar Truss

Main Index

Chapter 8: Example Problems 561 Vibration of a Cantilevered Beam (Turner's Problem)

Vibration of a Cantilevered Beam (Turner's Problem) This problem was originally published by M.J. Turner (see Reference 10.). The problem is to design a minimum weight structure while constraining the fundamental natural frequency to be at or above 20 Hz. The beam is symmetric about Z = 0 and made up of a shear web having top and bottom